| Index: src/compiler/frame.h
|
| diff --git a/src/compiler/frame.h b/src/compiler/frame.h
|
| index 416d6eea59fda4d16357062ead22c3058afcef54..ce1ecd061cc5e5e9eb8e4b6802d0ac782c3a442c 100644
|
| --- a/src/compiler/frame.h
|
| +++ b/src/compiler/frame.h
|
| @@ -23,6 +23,7 @@ class Frame : public ZoneObject {
|
| : register_save_area_size_(0),
|
| spill_slot_count_(0),
|
| double_spill_slot_count_(0),
|
| + osr_stack_slot_count_(0),
|
| allocated_registers_(NULL),
|
| allocated_double_registers_(NULL) {}
|
|
|
| @@ -50,6 +51,14 @@ class Frame : public ZoneObject {
|
|
|
| int GetRegisterSaveAreaSize() { return register_save_area_size_; }
|
|
|
| + // OSR stack slots, including locals and expression stack slots.
|
| + void SetOsrStackSlotCount(int slots) {
|
| + DCHECK(slots >= 0);
|
| + osr_stack_slot_count_ = slots;
|
| + }
|
| +
|
| + int GetOsrStackSlotCount() { return osr_stack_slot_count_; }
|
| +
|
| int AllocateSpillSlot(bool is_double) {
|
| // If 32-bit, skip one if the new slot is a double.
|
| if (is_double) {
|
| @@ -72,6 +81,7 @@ class Frame : public ZoneObject {
|
| int register_save_area_size_;
|
| int spill_slot_count_;
|
| int double_spill_slot_count_;
|
| + int osr_stack_slot_count_;
|
| BitVector* allocated_registers_;
|
| BitVector* allocated_double_registers_;
|
|
|
|
|