Index: src/virtual-frame-ia32.h |
=================================================================== |
--- src/virtual-frame-ia32.h (revision 1481) |
+++ src/virtual-frame-ia32.h (working copy) |
@@ -80,10 +80,18 @@ |
// emitted. |
void Adjust(int count); |
- // Forget elements from the top of the frame to match an actual frame (eg, |
- // the frame after a runtime call). No code is emitted. |
+ // Forget count elements from the top of the frame all in-memory |
+ // (including synced) and adjust the stack pointer downward, to |
+ // match an external frame effect (examples include a call removing |
+ // its arguments, and exiting a try/catch removing an exception |
+ // handler). No code will be emitted. |
void Forget(int count); |
+ // Forget count elements from the top of the frame without adjusting |
+ // the stack pointer downward. This is used, for example, before |
+ // merging frames at break, continue, and return targets. |
+ void ForgetElements(int count); |
+ |
// Spill all values from the frame to memory. |
void SpillAll(); |
@@ -124,8 +132,7 @@ |
void Enter(); |
void Exit(); |
- // Prepare for returning from the frame by spilling locals and |
- // dropping all non-locals elements in the virtual frame. This |
+ // Prepare for returning from the frame by spilling locals. This |
// avoids generating unnecessary merge code when jumping to the |
// shared return site. Emits code for spills. |
void PrepareForReturn(); |