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 2231 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2242 kTryIndexEntry = 4, // Try block index. | 2242 kTryIndexEntry = 4, // Try block index. |
2243 // We would potentially be adding other objects here like | 2243 // We would potentially be adding other objects here like |
2244 // pointer maps for optimized functions, local variables information etc. | 2244 // pointer maps for optimized functions, local variables information etc. |
2245 kNumberOfEntries = 5, | 2245 kNumberOfEntries = 5, |
2246 }; | 2246 }; |
2247 | 2247 |
2248 public: | 2248 public: |
2249 enum Kind { | 2249 enum Kind { |
2250 kDeoptBefore = 0, // Deoptimization continuation point before instruction. | 2250 kDeoptBefore = 0, // Deoptimization continuation point before instruction. |
2251 kDeoptAfter, // Deoptimization continuation point after instruction. | 2251 kDeoptAfter, // Deoptimization continuation point after instruction. |
| 2252 kEntryPatch, // Location where to patch entry. |
2252 kPatchCode, // Buffer for patching code entry. | 2253 kPatchCode, // Buffer for patching code entry. |
2253 kLazyDeoptJump, // Lazy deoptimization trampoline. | 2254 kLazyDeoptJump, // Lazy deoptimization trampoline. |
2254 kIcCall, // IC call. | 2255 kIcCall, // IC call. |
2255 kFuncCall, // Call to known target, e.g. static call, closure call. | 2256 kFuncCall, // Call to known target, e.g. static call, closure call. |
2256 kReturn, // Return from function. | 2257 kReturn, // Return from function. |
2257 kOther | 2258 kOther |
2258 }; | 2259 }; |
2259 | 2260 |
2260 intptr_t Length() const; | 2261 intptr_t Length() const; |
2261 | 2262 |
(...skipping 3981 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6243 | 6244 |
6244 | 6245 |
6245 RawObject* MegamorphicCache::GetTargetFunction(const Array& array, | 6246 RawObject* MegamorphicCache::GetTargetFunction(const Array& array, |
6246 intptr_t index) { | 6247 intptr_t index) { |
6247 return array.At((index * kEntryLength) + kTargetFunctionIndex); | 6248 return array.At((index * kEntryLength) + kTargetFunctionIndex); |
6248 } | 6249 } |
6249 | 6250 |
6250 } // namespace dart | 6251 } // namespace dart |
6251 | 6252 |
6252 #endif // VM_OBJECT_H_ | 6253 #endif // VM_OBJECT_H_ |
OLD | NEW |