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

Unified Diff: src/jump-target.cc

Issue 53005: Add pointers to a VirtualFrame that keep track of the indexes of register... (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: '' Created 11 years, 9 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
« no previous file with comments | « no previous file | src/virtual-frame.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/jump-target.cc
===================================================================
--- src/jump-target.cc (revision 1589)
+++ src/jump-target.cc (working copy)
@@ -272,11 +272,15 @@
// Set the copied flags in the frame to be exact. This assumes that
// the backing store of copies is always lower in the frame.
+ // Set the register counts and indices.
for (int i = 0; i < length; i++) {
+ FrameElement current = entry_frame_->elements_[i];
entry_frame_->elements_[i].clear_copied();
- if (entry_frame_->elements_[i].is_copy()) {
- int index = entry_frame_->elements_[i].index();
- entry_frame_->elements_[index].set_copied();
+ if (current.is_copy()) {
+ entry_frame_->elements_[current.index()].set_copied();
+ } else if (current.is_register()) {
+ entry_frame_->frame_registers_.Use(current.reg());
+ entry_frame_->register_locations_[current.reg().code()] = i;
}
}
@@ -292,11 +296,6 @@
stack_pointer--;
}
entry_frame_->stack_pointer_ = stack_pointer;
-
- // Unuse the reserved registers---they do not actually appear in
- // the entry frame.
- RegisterAllocator::UnuseReserved(&frame_registers);
- entry_frame_->frame_registers_ = frame_registers;
}
« no previous file with comments | « no previous file | src/virtual-frame.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698