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