| Index: runtime/vm/flow_graph_compiler_x64.cc
|
| ===================================================================
|
| --- runtime/vm/flow_graph_compiler_x64.cc (revision 27236)
|
| +++ runtime/vm/flow_graph_compiler_x64.cc (working copy)
|
| @@ -1469,34 +1469,6 @@
|
| }
|
|
|
|
|
| -// Implement equality spec: if any of the arguments is null do identity check.
|
| -// Fallthrough calls super equality.
|
| -void FlowGraphCompiler::EmitSuperEqualityCallPrologue(Register result,
|
| - Label* skip_call) {
|
| - const Immediate& raw_null =
|
| - Immediate(reinterpret_cast<intptr_t>(Object::null()));
|
| - Label check_identity, fall_through;
|
| - __ cmpq(Address(RSP, 0 * kWordSize), raw_null);
|
| - __ j(EQUAL, &check_identity, Assembler::kNearJump);
|
| - __ cmpq(Address(RSP, 1 * kWordSize), raw_null);
|
| - __ j(NOT_EQUAL, &fall_through, Assembler::kNearJump);
|
| -
|
| - __ Bind(&check_identity);
|
| - __ popq(result);
|
| - __ cmpq(result, Address(RSP, 0 * kWordSize));
|
| - Label is_false;
|
| - __ j(NOT_EQUAL, &is_false, Assembler::kNearJump);
|
| - __ LoadObject(result, Bool::True());
|
| - __ Drop(1);
|
| - __ jmp(skip_call);
|
| - __ Bind(&is_false);
|
| - __ LoadObject(result, Bool::False());
|
| - __ Drop(1);
|
| - __ jmp(skip_call);
|
| - __ Bind(&fall_through);
|
| -}
|
| -
|
| -
|
| // This function must be in sync with FlowGraphCompiler::RecordSafepoint.
|
| void FlowGraphCompiler::SaveLiveRegisters(LocationSummary* locs) {
|
| // TODO(vegorov): consider saving only caller save (volatile) registers.
|
|
|