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 1460 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1471 RawObject** to_precompiled_snapshot() { | 1471 RawObject** to_precompiled_snapshot() { |
1472 return reinterpret_cast<RawObject**>(&ptr()->args_descriptor_); | 1472 return reinterpret_cast<RawObject**>(&ptr()->args_descriptor_); |
1473 } | 1473 } |
1474 RawObject* owner_; // Parent/calling function or original IC of cloned IC. | 1474 RawObject* owner_; // Parent/calling function or original IC of cloned IC. |
1475 RawObject** to() { | 1475 RawObject** to() { |
1476 return reinterpret_cast<RawObject**>(&ptr()->owner_); | 1476 return reinterpret_cast<RawObject**>(&ptr()->owner_); |
1477 } | 1477 } |
1478 int32_t deopt_id_; // Deoptimization id corresponding to this IC. | 1478 int32_t deopt_id_; // Deoptimization id corresponding to this IC. |
1479 uint32_t state_bits_; // Number of arguments tested in IC, deopt reasons, | 1479 uint32_t state_bits_; // Number of arguments tested in IC, deopt reasons, |
1480 // range feedback. | 1480 // range feedback. |
| 1481 #if defined(TAG_IC_DATA) |
| 1482 intptr_t tag_; // Debugging, verifying that the icdata is assigned to the |
| 1483 // same instruction again. Store -1 or Instruction::Tag. |
| 1484 #endif |
1481 }; | 1485 }; |
1482 | 1486 |
1483 | 1487 |
1484 class RawMegamorphicCache : public RawObject { | 1488 class RawMegamorphicCache : public RawObject { |
1485 RAW_HEAP_OBJECT_IMPLEMENTATION(MegamorphicCache); | 1489 RAW_HEAP_OBJECT_IMPLEMENTATION(MegamorphicCache); |
1486 | 1490 |
1487 RawObject** from() { | 1491 RawObject** from() { |
1488 return reinterpret_cast<RawObject**>(&ptr()->buckets_); | 1492 return reinterpret_cast<RawObject**>(&ptr()->buckets_); |
1489 } | 1493 } |
1490 RawArray* buckets_; | 1494 RawArray* buckets_; |
(...skipping 876 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2367 COMPILE_ASSERT(kExternalTypedDataInt8ArrayCid == | 2371 COMPILE_ASSERT(kExternalTypedDataInt8ArrayCid == |
2368 kTypedDataInt8ArrayViewCid + 15); | 2372 kTypedDataInt8ArrayViewCid + 15); |
2369 COMPILE_ASSERT(kByteBufferCid == kExternalTypedDataInt8ArrayCid + 14); | 2373 COMPILE_ASSERT(kByteBufferCid == kExternalTypedDataInt8ArrayCid + 14); |
2370 COMPILE_ASSERT(kNullCid == kByteBufferCid + 1); | 2374 COMPILE_ASSERT(kNullCid == kByteBufferCid + 1); |
2371 return (kNullCid - kTypedDataInt8ArrayCid); | 2375 return (kNullCid - kTypedDataInt8ArrayCid); |
2372 } | 2376 } |
2373 | 2377 |
2374 } // namespace dart | 2378 } // namespace dart |
2375 | 2379 |
2376 #endif // VM_RAW_OBJECT_H_ | 2380 #endif // VM_RAW_OBJECT_H_ |
OLD | NEW |