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

Unified Diff: runtime/vm/flow_graph_compiler_ia32.cc

Issue 19464002: Replaces Location::ToStackSlotAddress() with Location::ToStackSlotOffset() (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 7 years, 5 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: runtime/vm/flow_graph_compiler_ia32.cc
===================================================================
--- runtime/vm/flow_graph_compiler_ia32.cc (revision 25107)
+++ runtime/vm/flow_graph_compiler_ia32.cc (working copy)
@@ -756,9 +756,10 @@
}
-void FlowGraphCompiler::EmitTrySyncMove(Address dest,
+void FlowGraphCompiler::EmitTrySyncMove(intptr_t dest_offset,
Location loc,
bool* push_emitted) {
+ const Address dest(EBP, dest_offset);
if (loc.IsConstant()) {
if (!*push_emitted) {
__ pushl(EAX);
@@ -802,8 +803,7 @@
for (; i < num_non_copied_params; ++i) {
if ((*idefs)[i]->IsConstant()) continue; // Common constants
Location loc = env->LocationAt(i);
- Address dest(EBP, (param_base - i) * kWordSize);
- EmitTrySyncMove(dest, loc, &push_emitted);
+ EmitTrySyncMove((param_base - i) * kWordSize, loc, &push_emitted);
}
// Process locals. Skip exception_var and stacktrace_var.
@@ -815,8 +815,7 @@
if (i == ex_idx || i == st_idx) continue;
if ((*idefs)[i]->IsConstant()) continue;
Location loc = env->LocationAt(i);
- Address dest(EBP, (local_base - i) * kWordSize);
- EmitTrySyncMove(dest, loc, &push_emitted);
+ EmitTrySyncMove((local_base - i) * kWordSize, loc, &push_emitted);
// Update safepoint bitmap to indicate that the target location
// now contains a pointer.
instr->locs()->stack_bitmap()->Set(i - num_non_copied_params, true);
@@ -1901,6 +1900,17 @@
}
+void ParallelMoveResolver::Exchange(Register reg, intptr_t stack_offset) {
+ UNREACHABLE();
+}
+
+
+void ParallelMoveResolver::Exchange(intptr_t stack_offset1,
+ intptr_t stack_offset2) {
+ UNREACHABLE();
+}
+
+
void ParallelMoveResolver::SpillScratch(Register reg) {
__ pushl(reg);
}

Powered by Google App Engine
This is Rietveld 408576698