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_RAW_OBJECT_H_ | 5 #ifndef VM_RAW_OBJECT_H_ |
6 #define VM_RAW_OBJECT_H_ | 6 #define VM_RAW_OBJECT_H_ |
7 | 7 |
8 #include "platform/assert.h" | 8 #include "platform/assert.h" |
9 #include "vm/atomic.h" | 9 #include "vm/atomic.h" |
10 #include "vm/globals.h" | 10 #include "vm/globals.h" |
(...skipping 1264 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1275 RawFunction* owner_; // Parent/calling function of this IC. | 1275 RawFunction* owner_; // Parent/calling function of this IC. |
1276 RawString* target_name_; // Name of target function. | 1276 RawString* target_name_; // Name of target function. |
1277 RawArray* args_descriptor_; // Arguments descriptor. | 1277 RawArray* args_descriptor_; // Arguments descriptor. |
1278 RawArray* ic_data_; // Contains class-ids, target and count. | 1278 RawArray* ic_data_; // Contains class-ids, target and count. |
1279 RawObject** to() { | 1279 RawObject** to() { |
1280 return reinterpret_cast<RawObject**>(&ptr()->ic_data_); | 1280 return reinterpret_cast<RawObject**>(&ptr()->ic_data_); |
1281 } | 1281 } |
1282 int32_t deopt_id_; // Deoptimization id corresponding to this IC. | 1282 int32_t deopt_id_; // Deoptimization id corresponding to this IC. |
1283 uint32_t state_bits_; // Number of arguments tested in IC, deopt reasons, | 1283 uint32_t state_bits_; // Number of arguments tested in IC, deopt reasons, |
1284 // is closure call, JS warning issued. | 1284 // is closure call, JS warning issued. |
| 1285 uint32_t range_feedback_; |
1285 }; | 1286 }; |
1286 | 1287 |
1287 | 1288 |
1288 class RawMegamorphicCache : public RawObject { | 1289 class RawMegamorphicCache : public RawObject { |
1289 RAW_HEAP_OBJECT_IMPLEMENTATION(MegamorphicCache); | 1290 RAW_HEAP_OBJECT_IMPLEMENTATION(MegamorphicCache); |
1290 | 1291 |
1291 RawObject** from() { | 1292 RawObject** from() { |
1292 return reinterpret_cast<RawObject**>(&ptr()->buckets_); | 1293 return reinterpret_cast<RawObject**>(&ptr()->buckets_); |
1293 } | 1294 } |
1294 RawArray* buckets_; | 1295 RawArray* buckets_; |
(...skipping 831 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2126 COMPILE_ASSERT(kExternalTypedDataInt8ArrayCid == | 2127 COMPILE_ASSERT(kExternalTypedDataInt8ArrayCid == |
2127 kTypedDataInt8ArrayViewCid + 15); | 2128 kTypedDataInt8ArrayViewCid + 15); |
2128 COMPILE_ASSERT(kByteBufferCid == kExternalTypedDataInt8ArrayCid + 14); | 2129 COMPILE_ASSERT(kByteBufferCid == kExternalTypedDataInt8ArrayCid + 14); |
2129 COMPILE_ASSERT(kNullCid == kByteBufferCid + 1); | 2130 COMPILE_ASSERT(kNullCid == kByteBufferCid + 1); |
2130 return (kNullCid - kTypedDataInt8ArrayCid); | 2131 return (kNullCid - kTypedDataInt8ArrayCid); |
2131 } | 2132 } |
2132 | 2133 |
2133 } // namespace dart | 2134 } // namespace dart |
2134 | 2135 |
2135 #endif // VM_RAW_OBJECT_H_ | 2136 #endif // VM_RAW_OBJECT_H_ |
OLD | NEW |