Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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/intermediate_language.h" | 5 #include "vm/intermediate_language.h" |
| 6 | 6 |
| 7 #include "vm/bit_vector.h" | 7 #include "vm/bit_vector.h" |
| 8 #include "vm/cpu.h" | 8 #include "vm/cpu.h" |
| 9 #include "vm/dart_entry.h" | 9 #include "vm/dart_entry.h" |
| 10 #include "vm/flow_graph_allocator.h" | 10 #include "vm/flow_graph_allocator.h" |
| (...skipping 1756 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1767 value()->definition()->AsUnboxedIntConverter(); | 1767 value()->definition()->AsUnboxedIntConverter(); |
| 1768 if ((box_defn != NULL) && (box_defn->representation() == from())) { | 1768 if ((box_defn != NULL) && (box_defn->representation() == from())) { |
| 1769 if (box_defn->from() == to()) { | 1769 if (box_defn->from() == to()) { |
| 1770 return box_defn->value()->definition(); | 1770 return box_defn->value()->definition(); |
| 1771 } | 1771 } |
| 1772 | 1772 |
| 1773 UnboxedIntConverterInstr* converter = new UnboxedIntConverterInstr( | 1773 UnboxedIntConverterInstr* converter = new UnboxedIntConverterInstr( |
| 1774 box_defn->from(), | 1774 box_defn->from(), |
| 1775 representation(), | 1775 representation(), |
| 1776 box_defn->value()->CopyWithType(), | 1776 box_defn->value()->CopyWithType(), |
| 1777 to() == kUnboxedInt32 ? deopt_id_ : NULL); | 1777 to() == (kUnboxedInt32 ? deopt_id_ : 0)); |
|
srdjan
2014/09/16 18:55:19
kNoRepresentation?
I do not understand this code.
Vyacheslav Egorov (Google)
2014/09/16 18:57:05
should be
(to() == kUnboxedInt32) ? deopt_id_ :
| |
| 1778 if ((representation() == kUnboxedInt32) && is_truncating()) { | 1778 if ((representation() == kUnboxedInt32) && is_truncating()) { |
| 1779 converter->mark_truncating(); | 1779 converter->mark_truncating(); |
| 1780 } | 1780 } |
| 1781 flow_graph->InsertBefore(this, converter, env(), FlowGraph::kValue); | 1781 flow_graph->InsertBefore(this, converter, env(), FlowGraph::kValue); |
| 1782 return converter; | 1782 return converter; |
| 1783 } | 1783 } |
| 1784 | 1784 |
| 1785 UnboxIntegerInstr* unbox_defn = value()->definition()->AsUnboxInteger(); | 1785 UnboxIntegerInstr* unbox_defn = value()->definition()->AsUnboxInteger(); |
| 1786 if (unbox_defn != NULL && | 1786 if (unbox_defn != NULL && |
| 1787 (from() == kUnboxedMint) && | 1787 (from() == kUnboxedMint) && |
| (...skipping 1355 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 3143 case Token::kTRUNCDIV: return 0; | 3143 case Token::kTRUNCDIV: return 0; |
| 3144 case Token::kMOD: return 1; | 3144 case Token::kMOD: return 1; |
| 3145 default: UNIMPLEMENTED(); return -1; | 3145 default: UNIMPLEMENTED(); return -1; |
| 3146 } | 3146 } |
| 3147 } | 3147 } |
| 3148 | 3148 |
| 3149 | 3149 |
| 3150 #undef __ | 3150 #undef __ |
| 3151 | 3151 |
| 3152 } // namespace dart | 3152 } // namespace dart |
| OLD | NEW |