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/flow_graph_optimizer.h" | 5 #include "vm/flow_graph_optimizer.h" |
| 6 | 6 |
| 7 #include "vm/bit_vector.h" | 7 #include "vm/bit_vector.h" |
| 8 #include "vm/cha.h" | 8 #include "vm/cha.h" |
| 9 #include "vm/flow_graph_builder.h" | 9 #include "vm/flow_graph_builder.h" |
| 10 #include "vm/flow_graph_compiler.h" | 10 #include "vm/flow_graph_compiler.h" |
| (...skipping 1800 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1811 value_check = ICData::New(Function::Handle(), | 1811 value_check = ICData::New(Function::Handle(), |
| 1812 String::Handle(), | 1812 String::Handle(), |
| 1813 Isolate::kNoDeoptId, | 1813 Isolate::kNoDeoptId, |
| 1814 1); | 1814 1); |
| 1815 value_check.AddReceiverCheck(kFloat32x4Cid, Function::Handle()); | 1815 value_check.AddReceiverCheck(kFloat32x4Cid, Function::Handle()); |
| 1816 break; | 1816 break; |
| 1817 } | 1817 } |
| 1818 default: | 1818 default: |
| 1819 // Array cids are already checked in the caller. | 1819 // Array cids are already checked in the caller. |
| 1820 UNREACHABLE(); | 1820 UNREACHABLE(); |
| 1821 return NULL; | 1821 return false; |
|
srdjan
2013/04/29 17:06:01
Remove return?
Florian Schneider
2013/04/30 08:21:11
Done.
| |
| 1822 } | 1822 } |
| 1823 | 1823 |
| 1824 Definition* index = call->ArgumentAt(1); | 1824 Definition* index = call->ArgumentAt(1); |
| 1825 Definition* stored_value = call->ArgumentAt(2); | 1825 Definition* stored_value = call->ArgumentAt(2); |
| 1826 if (!value_check.IsNull()) { | 1826 if (!value_check.IsNull()) { |
| 1827 AddCheckClass(stored_value, value_check, call->deopt_id(), call->env(), | 1827 AddCheckClass(stored_value, value_check, call->deopt_id(), call->env(), |
| 1828 call); | 1828 call); |
| 1829 } | 1829 } |
| 1830 StoreBarrierType needs_store_barrier = kNoStoreBarrier; | 1830 StoreBarrierType needs_store_barrier = kNoStoreBarrier; |
| 1831 StoreIndexedInstr* array_op = new StoreIndexedInstr(new Value(array), | 1831 StoreIndexedInstr* array_op = new StoreIndexedInstr(new Value(array), |
| (...skipping 3551 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 5383 if (changed) { | 5383 if (changed) { |
| 5384 // We may have changed the block order and the dominator tree. | 5384 // We may have changed the block order and the dominator tree. |
| 5385 flow_graph->DiscoverBlocks(); | 5385 flow_graph->DiscoverBlocks(); |
| 5386 GrowableArray<BitVector*> dominance_frontier; | 5386 GrowableArray<BitVector*> dominance_frontier; |
| 5387 flow_graph->ComputeDominators(&dominance_frontier); | 5387 flow_graph->ComputeDominators(&dominance_frontier); |
| 5388 } | 5388 } |
| 5389 } | 5389 } |
| 5390 | 5390 |
| 5391 | 5391 |
| 5392 } // namespace dart | 5392 } // namespace dart |
| OLD | NEW |