| Index: runtime/vm/intermediate_language_x64.cc
|
| diff --git a/runtime/vm/intermediate_language_x64.cc b/runtime/vm/intermediate_language_x64.cc
|
| index ba50319b5fd7ef0b43a8d69e7c5603b7c255d4e0..2ff995e80f9aafafeb650f1fab12f9e0465765f9 100644
|
| --- a/runtime/vm/intermediate_language_x64.cc
|
| +++ b/runtime/vm/intermediate_language_x64.cc
|
| @@ -32,7 +32,7 @@ LocationSummary* Computation::MakeCallSummary() {
|
|
|
| void BindInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
|
| computation()->EmitNativeCode(compiler);
|
| - if (is_used() && locs()->out().kind() == Location::kRegister) {
|
| + if (is_used() && locs()->out().IsRegister()) {
|
| // TODO(vegorov): this should really happen only for comparisons fused
|
| // with branches. Currrently IR does not provide an easy way to remove
|
| // instructions from the graph so we just leave fused comparison in it
|
| @@ -155,12 +155,7 @@ LocationSummary* ConstantVal::MakeLocationSummary() const {
|
|
|
| void ConstantVal::EmitNativeCode(FlowGraphCompiler* compiler) {
|
| Register result = locs()->out().reg();
|
| - if (value().IsSmi()) {
|
| - int64_t imm = reinterpret_cast<int64_t>(value().raw());
|
| - __ movq(result, Immediate(imm));
|
| - } else {
|
| - __ LoadObject(result, value());
|
| - }
|
| + __ LoadObject(result, value());
|
| }
|
|
|
|
|
| @@ -448,7 +443,7 @@ LocationSummary* RelationalOpComp::MakeLocationSummary() const {
|
| const intptr_t kNumTemps = 1;
|
| LocationSummary* summary = new LocationSummary(kNumInputs,
|
| kNumTemps,
|
| - LocationSummary::kCall,
|
| + LocationSummary::kNoCall,
|
| contains_branch);
|
| summary->set_in(0, Location::RequiresRegister());
|
| summary->set_in(1, Location::RequiresRegister());
|
| @@ -1981,6 +1976,7 @@ void PolymorphicInstanceCallComp::EmitNativeCode(FlowGraphCompiler* compiler) {
|
| __ Bind(&done);
|
| }
|
|
|
| +
|
| } // namespace dart
|
|
|
| #undef __
|
|
|