Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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/intermediate_language.h" | 5 #include "vm/intermediate_language.h" |
| 6 | 6 |
| 7 #include "vm/bit_vector.h" | 7 #include "vm/bit_vector.h" |
| 8 #include "vm/dart_entry.h" | 8 #include "vm/dart_entry.h" |
| 9 #include "vm/flow_graph_allocator.h" | 9 #include "vm/flow_graph_allocator.h" |
| 10 #include "vm/flow_graph_builder.h" | 10 #include "vm/flow_graph_builder.h" |
| (...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 144 if (head != NULL) { | 144 if (head != NULL) { |
| 145 next_use_ = head; | 145 next_use_ = head; |
| 146 head->previous_use_ = this; | 146 head->previous_use_ = this; |
| 147 } | 147 } |
| 148 definition_->set_use_list(this); | 148 definition_->set_use_list(this); |
| 149 } | 149 } |
| 150 | 150 |
| 151 | 151 |
| 152 MethodRecognizer::Kind MethodRecognizer::RecognizeKind( | 152 MethodRecognizer::Kind MethodRecognizer::RecognizeKind( |
| 153 const Function& function) { | 153 const Function& function) { |
| 154 // Only core library methods can be recognized. | 154 // Only core library methods can be recognized. |
|
siva
2012/08/23 01:08:37
update comment for math library as well.
srdjan
2012/08/23 01:10:46
Done.
| |
| 155 const Library& core_lib = Library::Handle(Library::CoreLibrary()); | 155 const Library& core_lib = Library::Handle(Library::CoreLibrary()); |
| 156 const Library& core_impl_lib = Library::Handle(Library::CoreImplLibrary()); | 156 const Library& core_impl_lib = Library::Handle(Library::CoreImplLibrary()); |
| 157 const Library& math_lib = Library::Handle(Library::MathLibrary()); | |
| 157 const Class& function_class = Class::Handle(function.Owner()); | 158 const Class& function_class = Class::Handle(function.Owner()); |
| 158 if ((function_class.library() != core_lib.raw()) && | 159 if ((function_class.library() != core_lib.raw()) && |
| 159 (function_class.library() != core_impl_lib.raw())) { | 160 (function_class.library() != core_impl_lib.raw()) && |
| 161 (function_class.library() != math_lib.raw())) { | |
| 160 return kUnknown; | 162 return kUnknown; |
| 161 } | 163 } |
| 162 const String& recognize_name = String::Handle(function.name()); | 164 const String& recognize_name = String::Handle(function.name()); |
| 163 const String& recognize_class = String::Handle(function_class.Name()); | 165 const String& recognize_class = String::Handle(function_class.Name()); |
| 164 String& test_function_name = String::Handle(); | 166 String& test_function_name = String::Handle(); |
| 165 String& test_class_name = String::Handle(); | 167 String& test_class_name = String::Handle(); |
| 166 #define RECOGNIZE_FUNCTION(class_name, function_name, enum_name) \ | 168 #define RECOGNIZE_FUNCTION(class_name, function_name, enum_name) \ |
| 167 test_function_name = Symbols::New(#function_name); \ | 169 test_function_name = Symbols::New(#function_name); \ |
| 168 test_class_name = Symbols::New(#class_name); \ | 170 test_class_name = Symbols::New(#class_name); \ |
| 169 if (recognize_name.Equals(test_function_name) && \ | 171 if (recognize_name.Equals(test_function_name) && \ |
| (...skipping 1356 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1526 fixed_parameter_count_(fixed_parameter_count) { | 1528 fixed_parameter_count_(fixed_parameter_count) { |
| 1527 for (intptr_t i = 0; i < definitions.length(); ++i) { | 1529 for (intptr_t i = 0; i < definitions.length(); ++i) { |
| 1528 values_.Add(UseDefinition(definitions[i])); | 1530 values_.Add(UseDefinition(definitions[i])); |
| 1529 } | 1531 } |
| 1530 } | 1532 } |
| 1531 | 1533 |
| 1532 | 1534 |
| 1533 #undef __ | 1535 #undef __ |
| 1534 | 1536 |
| 1535 } // namespace dart | 1537 } // namespace dart |
| OLD | NEW |