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

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

Issue 11023: Begin using the virtual frame for variable proxies and slots. Loading... (Closed) Base URL: http://v8.googlecode.com/svn/branches/experimental/toiger/
Patch Set: '' Created 12 years 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
« no previous file with comments | « src/codegen-ia32.cc ('k') | src/virtual-frame-ia32.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/virtual-frame-ia32.h
===================================================================
--- src/virtual-frame-ia32.h (revision 960)
+++ src/virtual-frame-ia32.h (working copy)
@@ -265,6 +265,11 @@
return Operand(ebp, kLocal0Offset - index * kPointerSize);
}
+ // Push a copy of the value of a local frame slot on top of the frame.
+ void LoadLocalAt(int index) {
+ LoadFrameSlotAt(local0_index() + index);
+ }
+
// Store the top value on the virtual frame into a local frame slot. The
// value is left in place on top of the frame.
void StoreToLocalAt(int index) {
@@ -284,6 +289,11 @@
return Operand(ebp, (1 + parameter_count_ - index) * kPointerSize);
}
+ // Push a copy of the value of a parameter frame slot on top of the frame.
+ void LoadParameterAt(int index) {
+ LoadFrameSlotAt(param0_index() + index);
+ }
+
// Store the top value on the virtual frame into a parameter frame slot.
// The value is left in place on top of the frame.
void StoreToParameterAt(int index) {
@@ -429,13 +439,20 @@
// Spill the element at a particular index---write it to memory if
// necessary, free any associated register, and forget its value if
- // constant. Space should have already been allocated in the actual frame
- // for all the elements below this one (at least).
+ // constant.
void SpillElementAt(int index);
+ // Spill the element at an index without modifying its reference count (if
+ // it was in a register).
+ void RawSpillElementAt(int index);
+
// Sync the range of elements in [begin, end).
void SyncRange(int begin, int end);
+ // Push a copy of a frame slot (typically a local or parameter) on top of
+ // the frame.
+ void LoadFrameSlotAt(int index);
+
// Store the value on top of the frame to a frame slot (typically a local
// or parameter).
void StoreToFrameSlotAt(int index);
« no previous file with comments | « src/codegen-ia32.cc ('k') | src/virtual-frame-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698