Chromium Code Reviews| Index: runtime/vm/flow_graph_compiler.cc |
| diff --git a/runtime/vm/flow_graph_compiler.cc b/runtime/vm/flow_graph_compiler.cc |
| index 34a6eec06d2cb94f5c953db25157e55609ee4048..2453fbe08eb8111894c1571b1f8c9bd43bb91b9b 100644 |
| --- a/runtime/vm/flow_graph_compiler.cc |
| +++ b/runtime/vm/flow_graph_compiler.cc |
| @@ -1082,7 +1082,12 @@ void FlowGraphCompiler::FinalizeStaticCallTargetsTable(const Code& code) { |
| bool FlowGraphCompiler::TryIntrinsify() { |
| // Intrinsification skips arguments checks, therefore disable if in checked |
| // mode. |
| - if (FLAG_intrinsify && !isolate()->flags().type_checks()) { |
| + // Only intrinsify getters/setters in precompiled code. Otherwise, unoptimized |
| + // code cannot depend on guarded_cid since it may be regenerated lazily after |
| + // code collection. |
| + if (FLAG_precompilation && |
|
Vyacheslav Egorov (Google)
2016/02/12 14:20:42
FLAG_precompilation -> !FLAG_use_field_guards?
|
| + FLAG_intrinsify && |
| + !isolate()->flags().type_checks()) { |
| if (parsed_function().function().kind() == RawFunction::kImplicitGetter) { |
| // An implicit getter must have a specific AST structure. |
| const SequenceNode& sequence_node = *parsed_function().node_sequence(); |