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_; |