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_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/block_scheduler.h" | 8 #include "vm/block_scheduler.h" |
| 9 #include "vm/branch_optimizer.h" | 9 #include "vm/branch_optimizer.h" |
| 10 #include "vm/compiler.h" | 10 #include "vm/compiler.h" |
| (...skipping 1942 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1953 | 1953 |
| 1954 intptr_t FlowGraphInliner::NextInlineId(const Function& function, | 1954 intptr_t FlowGraphInliner::NextInlineId(const Function& function, |
| 1955 TokenPosition tp, | 1955 TokenPosition tp, |
| 1956 intptr_t parent_id) { | 1956 intptr_t parent_id) { |
| 1957 const intptr_t id = inline_id_to_function_->length(); | 1957 const intptr_t id = inline_id_to_function_->length(); |
| 1958 // TODO(johnmccutchan): Do not allow IsNoSource once all nodes have proper | 1958 // TODO(johnmccutchan): Do not allow IsNoSource once all nodes have proper |
| 1959 // source positions. | 1959 // source positions. |
| 1960 ASSERT(tp.IsReal() || tp.IsSynthetic() || tp.IsNoSource()); | 1960 ASSERT(tp.IsReal() || tp.IsSynthetic() || tp.IsNoSource()); |
| 1961 inline_id_to_function_->Add(&function); | 1961 inline_id_to_function_->Add(&function); |
| 1962 inline_id_to_token_pos_->Add(tp); | 1962 inline_id_to_token_pos_->Add(tp); |
| 1963 ASSERT(inline_id_to_token_pos_->length() == inline_id_to_function_->length()); | |
| 1964 caller_inline_id_->Add(parent_id); | 1963 caller_inline_id_->Add(parent_id); |
| 1964 // We always have one less token position than function. | |
| 1965 ASSERT(inline_id_to_token_pos_->length() == | |
|
srdjan
2016/03/02 19:02:55
s/function/functions/
Cutch
2016/03/02 19:14:07
Done.
| |
| 1966 (inline_id_to_function_->length() - 1)); | |
| 1965 return id; | 1967 return id; |
| 1966 } | 1968 } |
| 1967 | 1969 |
| 1968 | 1970 |
| 1969 static bool ShouldInlineSimd() { | 1971 static bool ShouldInlineSimd() { |
| 1970 return FlowGraphCompiler::SupportsUnboxedSimd128(); | 1972 return FlowGraphCompiler::SupportsUnboxedSimd128(); |
| 1971 } | 1973 } |
| 1972 | 1974 |
| 1973 | 1975 |
| 1974 static bool CanUnboxDouble() { | 1976 static bool CanUnboxDouble() { |
| (...skipping 1088 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 3063 return InlineDoubleOp(flow_graph, Token::kMUL, call, entry, last); | 3065 return InlineDoubleOp(flow_graph, Token::kMUL, call, entry, last); |
| 3064 case MethodRecognizer::kDoubleDiv: | 3066 case MethodRecognizer::kDoubleDiv: |
| 3065 return InlineDoubleOp(flow_graph, Token::kDIV, call, entry, last); | 3067 return InlineDoubleOp(flow_graph, Token::kDIV, call, entry, last); |
| 3066 default: | 3068 default: |
| 3067 return false; | 3069 return false; |
| 3068 } | 3070 } |
| 3069 } | 3071 } |
| 3070 | 3072 |
| 3071 | 3073 |
| 3072 } // namespace dart | 3074 } // namespace dart |
| OLD | NEW |