| Index: runtime/vm/intermediate_language_ia32.cc
|
| ===================================================================
|
| --- runtime/vm/intermediate_language_ia32.cc (revision 14070)
|
| +++ runtime/vm/intermediate_language_ia32.cc (working copy)
|
| @@ -1992,33 +1992,6 @@
|
| }
|
|
|
|
|
| -LocationSummary* DoubleToDoubleInstr::MakeLocationSummary() const {
|
| - const intptr_t kNumInputs = 1;
|
| - const intptr_t kNumTemps = 1;
|
| - LocationSummary* locs =
|
| - new LocationSummary(kNumInputs, kNumTemps, LocationSummary::kNoCall);
|
| - locs->set_in(0, Location::RequiresRegister());
|
| - locs->set_temp(0, Location::RequiresRegister());
|
| - locs->set_out(Location::SameAsFirstInput());
|
| - return locs;
|
| -}
|
| -
|
| -
|
| -void DoubleToDoubleInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
|
| - Register value = locs()->in(0).reg();
|
| - Register result = locs()->out().reg();
|
| -
|
| - Label* deopt = compiler->AddDeoptStub(instance_call()->deopt_id(),
|
| - kDeoptDoubleToDouble);
|
| - Register temp = locs()->temp(0).reg();
|
| - __ testl(value, Immediate(kSmiTagMask));
|
| - __ j(ZERO, deopt); // Deoptimize if Smi.
|
| - __ CompareClassId(value, kDoubleCid, temp);
|
| - __ j(NOT_EQUAL, deopt); // Deoptimize if not Double.
|
| - ASSERT(value == result);
|
| -}
|
| -
|
| -
|
| LocationSummary* SmiToDoubleInstr::MakeLocationSummary() const {
|
| return MakeCallSummary(); // Calls a stub to allocate result.
|
| }
|
|
|