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 __ |