| OLD | NEW |
| 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 Loading... |
| 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 |
| OLD | NEW |