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

Side by Side Diff: runtime/vm/flow_graph_inliner.cc

Issue 2761933002: Add Genericity enum in VM to distinguish how a type is uninstantiated. (Closed)
Patch Set: sync Created 3 years, 9 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
« no previous file with comments | « runtime/vm/flow_graph_builder.cc ('k') | runtime/vm/il_printer.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 #if !defined(DART_PRECOMPILED_RUNTIME) 4 #if !defined(DART_PRECOMPILED_RUNTIME)
5 #include "vm/flow_graph_inliner.h" 5 #include "vm/flow_graph_inliner.h"
6 6
7 #include "vm/aot_optimizer.h" 7 #include "vm/aot_optimizer.h"
8 #include "vm/precompiler.h" 8 #include "vm/precompiler.h"
9 #include "vm/block_scheduler.h" 9 #include "vm/block_scheduler.h"
10 #include "vm/branch_optimizer.h" 10 #include "vm/branch_optimizer.h"
(...skipping 2405 matching lines...) Expand 10 before | Expand all | Expand 10 after
2416 ASSERT(value_type.IsFloat64x2Type()); 2416 ASSERT(value_type.IsFloat64x2Type());
2417 ASSERT(value_type.IsInstantiated()); 2417 ASSERT(value_type.IsInstantiated());
2418 break; 2418 break;
2419 } 2419 }
2420 default: 2420 default:
2421 // TODO(fschneider): Add support for other array types. 2421 // TODO(fschneider): Add support for other array types.
2422 UNREACHABLE(); 2422 UNREACHABLE();
2423 } 2423 }
2424 AssertAssignableInstr* assert_value = new (Z) AssertAssignableInstr( 2424 AssertAssignableInstr* assert_value = new (Z) AssertAssignableInstr(
2425 token_pos, new (Z) Value(stored_value), new (Z) Value(type_args), 2425 token_pos, new (Z) Value(stored_value), new (Z) Value(type_args),
2426 NULL, // TODO(regis): Pass null value for function type arguments.
2426 value_type, Symbols::Value(), call->deopt_id()); 2427 value_type, Symbols::Value(), call->deopt_id());
2427 cursor = flow_graph->AppendTo(cursor, assert_value, call->env(), 2428 cursor = flow_graph->AppendTo(cursor, assert_value, call->env(),
2428 FlowGraph::kValue); 2429 FlowGraph::kValue);
2429 } 2430 }
2430 2431
2431 array_cid = PrepareInlineIndexedOp(flow_graph, call, array_cid, &array, index, 2432 array_cid = PrepareInlineIndexedOp(flow_graph, call, array_cid, &array, index,
2432 &cursor); 2433 &cursor);
2433 2434
2434 // Check if store barrier is needed. Byte arrays don't need a store barrier. 2435 // Check if store barrier is needed. Byte arrays don't need a store barrier.
2435 StoreBarrierType needs_store_barrier = 2436 StoreBarrierType needs_store_barrier =
(...skipping 1387 matching lines...) Expand 10 before | Expand all | Expand 10 after
3823 } 3824 }
3824 3825
3825 default: 3826 default:
3826 return false; 3827 return false;
3827 } 3828 }
3828 } 3829 }
3829 3830
3830 3831
3831 } // namespace dart 3832 } // namespace dart
3832 #endif // !defined(DART_PRECOMPILED_RUNTIME) 3833 #endif // !defined(DART_PRECOMPILED_RUNTIME)
OLDNEW
« no previous file with comments | « runtime/vm/flow_graph_builder.cc ('k') | runtime/vm/il_printer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698