| 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 3073 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3084 intptr_t Length() const; | 3084 intptr_t Length() const; |
| 3085 | 3085 |
| 3086 // The number of real (non-suffix) instructions needed to execute the | 3086 // The number of real (non-suffix) instructions needed to execute the |
| 3087 // deoptimization translation. | 3087 // deoptimization translation. |
| 3088 intptr_t TranslationLength() const; | 3088 intptr_t TranslationLength() const; |
| 3089 | 3089 |
| 3090 // Size of the frame part of the translation not counting kMaterializeObject | 3090 // Size of the frame part of the translation not counting kMaterializeObject |
| 3091 // instructions in the prefix. | 3091 // instructions in the prefix. |
| 3092 intptr_t FrameSize() const; | 3092 intptr_t FrameSize() const; |
| 3093 | 3093 |
| 3094 // Returns the number of kMaterializeObject instructions in the prefix. |
| 3095 intptr_t NumMaterializations() const; |
| 3096 |
| 3094 static RawDeoptInfo* New(intptr_t num_commands); | 3097 static RawDeoptInfo* New(intptr_t num_commands); |
| 3095 | 3098 |
| 3096 static const intptr_t kBytesPerElement = (kNumberOfEntries * kWordSize); | 3099 static const intptr_t kBytesPerElement = (kNumberOfEntries * kWordSize); |
| 3097 static const intptr_t kMaxElements = kSmiMax / kBytesPerElement; | 3100 static const intptr_t kMaxElements = kSmiMax / kBytesPerElement; |
| 3098 | 3101 |
| 3099 static intptr_t InstanceSize() { | 3102 static intptr_t InstanceSize() { |
| 3100 ASSERT(sizeof(RawDeoptInfo) == OFFSET_OF(RawDeoptInfo, data_)); | 3103 ASSERT(sizeof(RawDeoptInfo) == OFFSET_OF(RawDeoptInfo, data_)); |
| 3101 return 0; | 3104 return 0; |
| 3102 } | 3105 } |
| 3103 | 3106 |
| (...skipping 3517 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6621 | 6624 |
| 6622 | 6625 |
| 6623 RawObject* MegamorphicCache::GetTargetFunction(const Array& array, | 6626 RawObject* MegamorphicCache::GetTargetFunction(const Array& array, |
| 6624 intptr_t index) { | 6627 intptr_t index) { |
| 6625 return array.At((index * kEntryLength) + kTargetFunctionIndex); | 6628 return array.At((index * kEntryLength) + kTargetFunctionIndex); |
| 6626 } | 6629 } |
| 6627 | 6630 |
| 6628 } // namespace dart | 6631 } // namespace dart |
| 6629 | 6632 |
| 6630 #endif // VM_OBJECT_H_ | 6633 #endif // VM_OBJECT_H_ |
| OLD | NEW |