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

Side by Side 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: 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 #include "vm/code_generator.h" 5 #include "vm/code_generator.h"
6 6
7 #include "vm/assembler_macros.h" 7 #include "vm/assembler_macros.h"
8 #include "vm/ast.h" 8 #include "vm/ast.h"
9 #include "vm/code_patcher.h" 9 #include "vm/code_patcher.h"
10 #include "vm/compiler.h" 10 #include "vm/compiler.h"
(...skipping 1692 matching lines...) Expand 10 before | Expand all | Expand 10 after
1703 DeferredDouble* deferred_double = Isolate::Current()->DetachDeferredDoubles(); 1703 DeferredDouble* deferred_double = Isolate::Current()->DetachDeferredDoubles();
1704 1704
1705 while (deferred_double != NULL) { 1705 while (deferred_double != NULL) {
1706 DeferredDouble* current = deferred_double; 1706 DeferredDouble* current = deferred_double;
1707 deferred_double = deferred_double->next(); 1707 deferred_double = deferred_double->next();
1708 1708
1709 RawDouble** slot = current->slot(); 1709 RawDouble** slot = current->slot();
1710 *slot = Double::New(current->value()); 1710 *slot = Double::New(current->value());
1711 1711
1712 if (FLAG_trace_deopt) { 1712 if (FLAG_trace_deopt) {
1713 OS::Print("materialing double at %p: %g\n", 1713 OS::Print("materialing double at %"Px": %g\n",
1714 current->slot(), 1714 reinterpret_cast<uword>(current->slot()),
1715 current->value());
1716 }
1717
1718 delete current;
1719 }
1720
1721 DeferredMint* deferred_mint = Isolate::Current()->DetachDeferredMints();
1722
1723 while (deferred_mint != NULL) {
1724 DeferredMint* current = deferred_mint;
1725 deferred_mint = deferred_mint->next();
1726
1727 RawInteger** slot = current->slot();
1728 if (Smi::IsValid64(current->value())) {
1729 *slot = Smi::New(current->value());
1730 } else {
1731 *slot = Mint::New(current->value());
1732 }
1733
1734 if (FLAG_trace_deopt) {
1735 OS::Print("materializing mint at %"Px": %"Pd64"\n",
1736 reinterpret_cast<uword>(current->slot()),
1715 current->value()); 1737 current->value());
1716 } 1738 }
1717 1739
1718 delete current; 1740 delete current;
1719 } 1741 }
1720 } 1742 }
1721 1743
1722 1744
1723 } // namespace dart 1745 } // namespace dart
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698