Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(176)

Unified Diff: src/virtual-frame-ia32.h

Issue 16567: Enable register allocation for return statements. Make sure to... (Closed) Base URL: http://v8.googlecode.com/svn/branches/experimental/toiger/
Patch Set: '' Created 11 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/virtual-frame-ia32.h
===================================================================
--- src/virtual-frame-ia32.h (revision 1034)
+++ src/virtual-frame-ia32.h (working copy)
@@ -237,6 +237,12 @@
void Enter();
void Exit();
+ // Prepare for returning from the frame by spilling locals and
+ // forgetting about all non-locals elements in the virtual frame.
+ // This avoid generating unnecessary merge code when jumping to the
Kevin Millikin (Chromium) 2009/01/07 10:25:12 avoids
+ // shared return site. Emits code for spills.
+ void PrepareForReturn();
+
// Allocate and initialize the frame-allocated locals. The eax register
// us clobbered.
void AllocateStackSlots(int count);
@@ -495,7 +501,7 @@
// Move frame elements currently in registers or constants, that
// should be in memory in the expected frame, to memory.
- void MergeMoveRegistersToMemory(VirtualFrame *expected);
+ void MergeMoveRegistersToMemory(VirtualFrame* expected);
// Make the register-to-register moves necessary to
// merge this frame with the expected frame.
@@ -504,14 +510,14 @@
// This is because some new memory-to-register moves are
// created in order to break cycles of register moves.
// Used in the implementation of MergeTo().
- void MergeMoveRegistersToRegisters(VirtualFrame *expected);
+ void MergeMoveRegistersToRegisters(VirtualFrame* expected);
// Make the memory-to-register and constant-to-register moves
// needed to make this frame equal the expected frame.
// Called after all register-to-memory and register-to-register
// moves have been made. After this function returns, the frames
// should be equal.
- void MergeMoveMemoryToRegisters(VirtualFrame *expected);
+ void MergeMoveMemoryToRegisters(VirtualFrame* expected);
};

Powered by Google App Engine
This is Rietveld 408576698