Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(810)

Unified Diff: runtime/vm/intermediate_language_ia32.cc

Issue 10696151: Skeleton of a linear scan register allocator. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: address comments Created 8 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: runtime/vm/intermediate_language_ia32.cc
diff --git a/runtime/vm/intermediate_language_ia32.cc b/runtime/vm/intermediate_language_ia32.cc
index db90a0acd970923c51afcab17a218e6ca2d5fbe3..08e432156812466091b7bda49cb9cf5cfe46a6fe 100644
--- a/runtime/vm/intermediate_language_ia32.cc
+++ b/runtime/vm/intermediate_language_ia32.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
@@ -147,12 +147,7 @@ LocationSummary* ConstantVal::MakeLocationSummary() const {
void ConstantVal::EmitNativeCode(FlowGraphCompiler* compiler) {
Register result = locs()->out().reg();
- if (value().IsSmi()) {
- int32_t imm = reinterpret_cast<int32_t>(value().raw());
- __ movl(result, Immediate(imm));
- } else {
- __ LoadObject(result, value());
- }
+ __ LoadObject(result, value());
}

Powered by Google App Engine
This is Rietveld 408576698