Revision f230a1cf deps/v8/src/lithium-allocator.h
deps/v8/src/lithium-allocator.h | ||
---|---|---|
146 | 146 |
|
147 | 147 |
|
148 | 148 |
enum RegisterKind { |
149 |
UNALLOCATED_REGISTERS, |
|
149 | 150 |
GENERAL_REGISTERS, |
150 | 151 |
DOUBLE_REGISTERS |
151 | 152 |
}; |
... | ... | |
290 | 291 |
LOperand* CreateAssignedOperand(Zone* zone); |
291 | 292 |
int assigned_register() const { return assigned_register_; } |
292 | 293 |
int spill_start_index() const { return spill_start_index_; } |
293 |
void set_assigned_register(int reg, |
|
294 |
RegisterKind register_kind, |
|
295 |
Zone* zone); |
|
294 |
void set_assigned_register(int reg, Zone* zone); |
|
296 | 295 |
void MakeSpilled(Zone* zone); |
297 | 296 |
|
298 | 297 |
// Returns use position in this live range that follows both start |
... | ... | |
323 | 322 |
// live range to the result live range. |
324 | 323 |
void SplitAt(LifetimePosition position, LiveRange* result, Zone* zone); |
325 | 324 |
|
326 |
bool IsDouble() const { return is_double_; }
|
|
325 |
RegisterKind Kind() const { return kind_; }
|
|
327 | 326 |
bool HasRegisterAssigned() const { |
328 | 327 |
return assigned_register_ != kInvalidAssignment; |
329 | 328 |
} |
... | ... | |
392 | 391 |
|
393 | 392 |
int id_; |
394 | 393 |
bool spilled_; |
395 |
bool is_double_;
|
|
394 |
RegisterKind kind_;
|
|
396 | 395 |
int assigned_register_; |
397 | 396 |
UseInterval* last_interval_; |
398 | 397 |
UseInterval* first_interval_; |
... | ... | |
406 | 405 |
LOperand* current_hint_operand_; |
407 | 406 |
LOperand* spill_operand_; |
408 | 407 |
int spill_start_index_; |
408 |
|
|
409 |
friend class LAllocator; // Assigns to kind_. |
|
409 | 410 |
}; |
410 | 411 |
|
411 | 412 |
|
... | ... | |
568 | 569 |
HBasicBlock* block, |
569 | 570 |
HBasicBlock* pred); |
570 | 571 |
|
571 |
inline void SetLiveRangeAssignedRegister(LiveRange* range, |
|
572 |
int reg, |
|
573 |
RegisterKind register_kind); |
|
572 |
inline void SetLiveRangeAssignedRegister(LiveRange* range, int reg); |
|
574 | 573 |
|
575 | 574 |
// Return parallel move that should be used to connect ranges split at the |
576 | 575 |
// given position. |
Also available in: Unified diff