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 1148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1159 // Compilation timestamp. | 1159 // Compilation timestamp. |
1160 NOT_IN_PRECOMPILED(int64_t compile_timestamp_); | 1160 NOT_IN_PRECOMPILED(int64_t compile_timestamp_); |
1161 | 1161 |
1162 // state_bits_ is a bitfield with three fields: | 1162 // state_bits_ is a bitfield with three fields: |
1163 // The optimized bit, the alive bit, and a count of the number of pointer | 1163 // The optimized bit, the alive bit, and a count of the number of pointer |
1164 // offsets. | 1164 // offsets. |
1165 // Alive: If true, the embedded object pointers will be visited during GC. | 1165 // Alive: If true, the embedded object pointers will be visited during GC. |
1166 int32_t state_bits_; | 1166 int32_t state_bits_; |
1167 | 1167 |
1168 // PC offsets for code patching. | 1168 // PC offsets for code patching. |
1169 NOT_IN_PRECOMPILED(int32_t lazy_deopt_pc_offset_); | 1169 NOT_IN_PRECOMPILED(int32_t lazy_deopt_return_pc_offset_); |
| 1170 NOT_IN_PRECOMPILED(int32_t lazy_deopt_throw_pc_offset_); |
1170 | 1171 |
1171 // Variable length data follows here. | 1172 // Variable length data follows here. |
1172 int32_t* data() { OPEN_ARRAY_START(int32_t, int32_t); } | 1173 int32_t* data() { OPEN_ARRAY_START(int32_t, int32_t); } |
1173 const int32_t* data() const { OPEN_ARRAY_START(int32_t, int32_t); } | 1174 const int32_t* data() const { OPEN_ARRAY_START(int32_t, int32_t); } |
1174 | 1175 |
1175 static bool ContainsPC(RawObject* raw_obj, uword pc); | 1176 static bool ContainsPC(RawObject* raw_obj, uword pc); |
1176 | 1177 |
1177 friend class Function; | 1178 friend class Function; |
1178 template<bool> friend class MarkingVisitorBase; | 1179 template<bool> friend class MarkingVisitorBase; |
1179 friend class SkippedCodeFunctions; | 1180 friend class SkippedCodeFunctions; |
(...skipping 1305 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2485 COMPILE_ASSERT(kExternalTypedDataInt8ArrayCid == | 2486 COMPILE_ASSERT(kExternalTypedDataInt8ArrayCid == |
2486 kTypedDataInt8ArrayViewCid + 15); | 2487 kTypedDataInt8ArrayViewCid + 15); |
2487 COMPILE_ASSERT(kByteBufferCid == kExternalTypedDataInt8ArrayCid + 14); | 2488 COMPILE_ASSERT(kByteBufferCid == kExternalTypedDataInt8ArrayCid + 14); |
2488 COMPILE_ASSERT(kNullCid == kByteBufferCid + 1); | 2489 COMPILE_ASSERT(kNullCid == kByteBufferCid + 1); |
2489 return (kNullCid - kTypedDataInt8ArrayCid); | 2490 return (kNullCid - kTypedDataInt8ArrayCid); |
2490 } | 2491 } |
2491 | 2492 |
2492 } // namespace dart | 2493 } // namespace dart |
2493 | 2494 |
2494 #endif // VM_RAW_OBJECT_H_ | 2495 #endif // VM_RAW_OBJECT_H_ |
OLD | NEW |