| 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);
|
|
|