| 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 #ifndef VM_OBJECT_H_ | 5 #ifndef VM_OBJECT_H_ |
| 6 #define VM_OBJECT_H_ | 6 #define VM_OBJECT_H_ |
| 7 | 7 |
| 8 #include "include/dart_api.h" | 8 #include "include/dart_api.h" |
| 9 #include "platform/assert.h" | 9 #include "platform/assert.h" |
| 10 #include "platform/utils.h" | 10 #include "platform/utils.h" |
| (...skipping 1056 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1067 intptr_t token_pos); | 1067 intptr_t token_pos); |
| 1068 | 1068 |
| 1069 // Patch the signature function of a signature class allocated without it. | 1069 // Patch the signature function of a signature class allocated without it. |
| 1070 void PatchSignatureFunction(const Function& signature_function) const; | 1070 void PatchSignatureFunction(const Function& signature_function) const; |
| 1071 | 1071 |
| 1072 // Return a class object corresponding to the specified kind. If | 1072 // Return a class object corresponding to the specified kind. If |
| 1073 // a canonicalized version of it exists then that object is returned | 1073 // a canonicalized version of it exists then that object is returned |
| 1074 // otherwise a new object is allocated and returned. | 1074 // otherwise a new object is allocated and returned. |
| 1075 static RawClass* GetClass(intptr_t class_id, bool is_signature_class); | 1075 static RawClass* GetClass(intptr_t class_id, bool is_signature_class); |
| 1076 | 1076 |
| 1077 // Register code that has used CHA for optimization. |
| 1078 // TODO(srdjan): Also register kind of CHA optimization (e.g.: leaf class, |
| 1079 // leaf method, ...). |
| 1080 void RegisterCHACode(const Code& code); |
| 1081 |
| 1082 void DisableCHAOptimizedCode(); |
| 1083 |
| 1084 RawArray* cha_codes() const { return raw_ptr()->cha_codes_; } |
| 1085 void set_cha_codes(const Array& value) const; |
| 1086 |
| 1077 private: | 1087 private: |
| 1078 enum { | 1088 enum { |
| 1079 kAny = 0, | 1089 kAny = 0, |
| 1080 kStatic, | 1090 kStatic, |
| 1081 kInstance, | 1091 kInstance, |
| 1082 kConstructor, | 1092 kConstructor, |
| 1083 kFactory, | 1093 kFactory, |
| 1084 }; | 1094 }; |
| 1085 enum { | 1095 enum { |
| 1086 kConstBit = 0, | 1096 kConstBit = 0, |
| (...skipping 5578 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6665 | 6675 |
| 6666 | 6676 |
| 6667 RawObject* MegamorphicCache::GetTargetFunction(const Array& array, | 6677 RawObject* MegamorphicCache::GetTargetFunction(const Array& array, |
| 6668 intptr_t index) { | 6678 intptr_t index) { |
| 6669 return array.At((index * kEntryLength) + kTargetFunctionIndex); | 6679 return array.At((index * kEntryLength) + kTargetFunctionIndex); |
| 6670 } | 6680 } |
| 6671 | 6681 |
| 6672 } // namespace dart | 6682 } // namespace dart |
| 6673 | 6683 |
| 6674 #endif // VM_OBJECT_H_ | 6684 #endif // VM_OBJECT_H_ |
| OLD | NEW |