| Index: src/virtual-frame-ia32.h
|
| ===================================================================
|
| --- src/virtual-frame-ia32.h (revision 1589)
|
| +++ src/virtual-frame-ia32.h (working copy)
|
| @@ -337,6 +337,10 @@
|
| // used in the frame.
|
| RegisterFile frame_registers_;
|
|
|
| + // The index of the register frame element using each register, or
|
| + // kIllegalIndex if a register is not on the frame.
|
| + int register_locations_[kNumRegisters];
|
| +
|
| // The index of the first parameter. The receiver lies below the first
|
| // parameter.
|
| int param0_index() const { return 1; }
|
| @@ -372,12 +376,13 @@
|
| }
|
|
|
| // Record an occurrence of a register in the virtual frame. This has the
|
| - // effect of incrementing both the register's frame-internal reference
|
| - // count and its external reference count.
|
| - void Use(Register reg);
|
| + // effect of incrementing the register's external reference count and
|
| + // of updating the index of the register's location in the frame.
|
| + void Use(Register reg, int index);
|
|
|
| // Record that a register reference has been dropped from the frame. This
|
| - // decrements both the register's internal and external reference counts.
|
| + // decrements the register's external reference count and invalidates the
|
| + // index of the register's location in the frame.
|
| void Unuse(Register reg);
|
|
|
| // Spill the element at a particular index---write it to memory if
|
|
|