| Index: runtime/vm/flow_graph_compiler.cc
|
| diff --git a/runtime/vm/flow_graph_compiler.cc b/runtime/vm/flow_graph_compiler.cc
|
| index 309f2700190fed73711f98cf7f441b73f97b79b7..ee6bdfdbe703a736baf43fadc4b9c5c1b1854f9b 100644
|
| --- a/runtime/vm/flow_graph_compiler.cc
|
| +++ b/runtime/vm/flow_graph_compiler.cc
|
| @@ -1029,9 +1029,8 @@ void FlowGraphCompiler::FinalizeStaticCallTargetsTable(const Code& code) {
|
| }
|
|
|
|
|
| -// Returns 'true' if code generation for this function is complete, i.e.,
|
| -// no fall-through to regular code is needed.
|
| -void FlowGraphCompiler::TryIntrinsify() {
|
| +// Returns 'true' if regular code generation should be skipped.
|
| +bool FlowGraphCompiler::TryIntrinsify() {
|
| // Intrinsification skips arguments checks, therefore disable if in checked
|
| // mode.
|
| if (FLAG_intrinsify && !isolate()->flags().type_checks()) {
|
| @@ -1048,8 +1047,9 @@ void FlowGraphCompiler::TryIntrinsify() {
|
| // Reading from a mutable double box requires allocating a fresh double.
|
| if (load_node.field().guarded_cid() == kDynamicCid) {
|
| GenerateInlinedGetter(load_node.field().Offset());
|
| + return true;
|
| }
|
| - return;
|
| + return false;
|
| }
|
| if (parsed_function().function().kind() == RawFunction::kImplicitSetter) {
|
| // An implicit setter must have a specific AST structure.
|
| @@ -1062,7 +1062,7 @@ void FlowGraphCompiler::TryIntrinsify() {
|
| *sequence_node.NodeAt(0)->AsStoreInstanceFieldNode();
|
| if (store_node.field().guarded_cid() == kDynamicCid) {
|
| GenerateInlinedSetter(store_node.field().Offset());
|
| - return;
|
| + return true;
|
| }
|
| }
|
| }
|
| @@ -1079,6 +1079,7 @@ void FlowGraphCompiler::TryIntrinsify() {
|
| // before any deoptimization point.
|
| ASSERT(!intrinsic_slow_path_label_.IsBound());
|
| assembler()->Bind(&intrinsic_slow_path_label_);
|
| + return false;
|
| }
|
|
|
|
|
|
|