vendor/v8/src/lithium-allocator.h in mustang-0.0.1 vs vendor/v8/src/lithium-allocator.h in mustang-0.1.0
- old
+ new
@@ -426,28 +426,12 @@
};
class LAllocator BASE_EMBEDDED {
public:
- explicit LAllocator(int first_virtual_register, HGraph* graph)
- : chunk_(NULL),
- live_in_sets_(0),
- live_ranges_(16),
- fixed_live_ranges_(8),
- fixed_double_live_ranges_(8),
- unhandled_live_ranges_(8),
- active_live_ranges_(8),
- inactive_live_ranges_(8),
- reusable_slots_(8),
- next_virtual_register_(first_virtual_register),
- first_artificial_register_(first_virtual_register),
- mode_(NONE),
- num_registers_(-1),
- graph_(graph),
- has_osr_entry_(false) {}
+ LAllocator(int first_virtual_register, HGraph* graph);
- static void Setup();
static void TraceAlloc(const char* msg, ...);
// Lithium translation support.
// Record a use of an input operand in the current instruction.
void RecordUse(HValue* value, LUnallocated* operand);
@@ -466,14 +450,14 @@
static int max_initial_value_ids();
void Allocate(LChunk* chunk);
const ZoneList<LiveRange*>* live_ranges() const { return &live_ranges_; }
- const ZoneList<LiveRange*>* fixed_live_ranges() const {
+ const Vector<LiveRange*>* fixed_live_ranges() const {
return &fixed_live_ranges_;
}
- const ZoneList<LiveRange*>* fixed_double_live_ranges() const {
+ const Vector<LiveRange*>* fixed_double_live_ranges() const {
return &fixed_double_live_ranges_;
}
LChunk* chunk() const { return chunk_; }
HGraph* graph() const { return graph_; }
@@ -614,11 +598,13 @@
// Liveness analysis results.
ZoneList<LiveRange*> live_ranges_;
// Lists of live ranges
- ZoneList<LiveRange*> fixed_live_ranges_;
- ZoneList<LiveRange*> fixed_double_live_ranges_;
+ EmbeddedVector<LiveRange*, Register::kNumAllocatableRegisters>
+ fixed_live_ranges_;
+ EmbeddedVector<LiveRange*, DoubleRegister::kNumAllocatableRegisters>
+ fixed_double_live_ranges_;
ZoneList<LiveRange*> unhandled_live_ranges_;
ZoneList<LiveRange*> active_live_ranges_;
ZoneList<LiveRange*> inactive_live_ranges_;
ZoneList<LiveRange*> reusable_slots_;