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_inliner.h" | 5 #include "vm/flow_graph_inliner.h" |
6 | 6 |
7 #include "vm/block_scheduler.h" | 7 #include "vm/block_scheduler.h" |
8 #include "vm/compiler.h" | 8 #include "vm/compiler.h" |
9 #include "vm/flags.h" | 9 #include "vm/flags.h" |
10 #include "vm/flow_graph.h" | 10 #include "vm/flow_graph.h" |
(...skipping 876 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
887 callee_graph->deferred_prefixes()); | 887 callee_graph->deferred_prefixes()); |
888 | 888 |
889 FlowGraphInliner::SetInliningId(callee_graph, | 889 FlowGraphInliner::SetInliningId(callee_graph, |
890 inliner_->NextInlineId(callee_graph->function(), | 890 inliner_->NextInlineId(callee_graph->function(), |
891 call_data->caller_inlining_id_)); | 891 call_data->caller_inlining_id_)); |
892 TRACE_INLINING(THR_Print(" Success\n")); | 892 TRACE_INLINING(THR_Print(" Success\n")); |
893 PRINT_INLINING_TREE(NULL, | 893 PRINT_INLINING_TREE(NULL, |
894 &call_data->caller, &function, call); | 894 &call_data->caller, &function, call); |
895 return true; | 895 return true; |
896 } else { | 896 } else { |
897 error = isolate()->object_store()->sticky_error(); | 897 error = thread()->sticky_error(); |
898 isolate()->object_store()->clear_sticky_error(); | 898 thread()->clear_sticky_error(); |
899 ASSERT(error.IsLanguageError()); | 899 ASSERT(error.IsLanguageError()); |
900 | 900 |
901 if (LanguageError::Cast(error).kind() == Report::kBailout) { | 901 if (LanguageError::Cast(error).kind() == Report::kBailout) { |
902 thread()->set_deopt_id(prev_deopt_id); | 902 thread()->set_deopt_id(prev_deopt_id); |
903 TRACE_INLINING(THR_Print(" Bailout: %s\n", | 903 TRACE_INLINING(THR_Print(" Bailout: %s\n", |
904 error.ToErrorCString())); | 904 error.ToErrorCString())); |
905 PRINT_INLINING_TREE("Bailout", | 905 PRINT_INLINING_TREE("Bailout", |
906 &call_data->caller, &function, call); | 906 &call_data->caller, &function, call); |
907 return false; | 907 return false; |
908 } else { | 908 } else { |
(...skipping 1026 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1935 intptr_t FlowGraphInliner::NextInlineId(const Function& function, | 1935 intptr_t FlowGraphInliner::NextInlineId(const Function& function, |
1936 intptr_t parent_id) { | 1936 intptr_t parent_id) { |
1937 const intptr_t id = inline_id_to_function_->length(); | 1937 const intptr_t id = inline_id_to_function_->length(); |
1938 inline_id_to_function_->Add(&function); | 1938 inline_id_to_function_->Add(&function); |
1939 caller_inline_id_->Add(parent_id); | 1939 caller_inline_id_->Add(parent_id); |
1940 return id; | 1940 return id; |
1941 } | 1941 } |
1942 | 1942 |
1943 | 1943 |
1944 } // namespace dart | 1944 } // namespace dart |
OLD | NEW |