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

Unified Diff: runtime/vm/code_generator.cc

Issue 10968059: Support for unboxed 64-bit integer bitwise operations and equality on ia32. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: fixed boxing of smis and added one more test Created 8 years, 3 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/code_generator.cc
===================================================================
--- runtime/vm/code_generator.cc (revision 12765)
+++ runtime/vm/code_generator.cc (working copy)
@@ -1710,13 +1710,35 @@
*slot = Double::New(current->value());
if (FLAG_trace_deopt) {
- OS::Print("materialing double at %p: %g\n",
- current->slot(),
+ OS::Print("materialing double at %"Px": %g\n",
srdjan 2012/09/24 17:29:24 s/materialing/materializing/
Florian Schneider 2012/09/26 11:51:33 Done.
+ reinterpret_cast<uword>(current->slot()),
current->value());
}
delete current;
}
+
+ DeferredMint* deferred_mint = Isolate::Current()->DetachDeferredMints();
+
+ while (deferred_mint != NULL) {
+ DeferredMint* current = deferred_mint;
+ deferred_mint = deferred_mint->next();
+
+ RawInteger** slot = current->slot();
+ if (Smi::IsValid64(current->value())) {
+ *slot = Smi::New(current->value());
+ } else {
+ *slot = Mint::New(current->value());
+ }
+
+ if (FLAG_trace_deopt) {
+ OS::Print("materializing mint at %"Px": %"Pd64"\n",
+ reinterpret_cast<uword>(current->slot()),
+ current->value());
+ }
+
+ delete current;
+ }
}

Powered by Google App Engine
This is Rietveld 408576698