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 1147 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1158 | 1158 |
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. | |
1169 NOT_IN_PRECOMPILED(int32_t lazy_deopt_return_pc_offset_); | |
1170 NOT_IN_PRECOMPILED(int32_t lazy_deopt_throw_pc_offset_); | |
1171 | |
1172 // Variable length data follows here. | 1168 // Variable length data follows here. |
1173 int32_t* data() { OPEN_ARRAY_START(int32_t, int32_t); } | 1169 int32_t* data() { OPEN_ARRAY_START(int32_t, int32_t); } |
1174 const int32_t* data() const { OPEN_ARRAY_START(int32_t, int32_t); } | 1170 const int32_t* data() const { OPEN_ARRAY_START(int32_t, int32_t); } |
1175 | 1171 |
1176 static bool ContainsPC(RawObject* raw_obj, uword pc); | 1172 static bool ContainsPC(RawObject* raw_obj, uword pc); |
1177 | 1173 |
1178 friend class Function; | 1174 friend class Function; |
1179 template<bool> friend class MarkingVisitorBase; | 1175 template<bool> friend class MarkingVisitorBase; |
1180 friend class SkippedCodeFunctions; | 1176 friend class SkippedCodeFunctions; |
1181 friend class StackFrame; | 1177 friend class StackFrame; |
(...skipping 1304 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2486 COMPILE_ASSERT(kExternalTypedDataInt8ArrayCid == | 2482 COMPILE_ASSERT(kExternalTypedDataInt8ArrayCid == |
2487 kTypedDataInt8ArrayViewCid + 15); | 2483 kTypedDataInt8ArrayViewCid + 15); |
2488 COMPILE_ASSERT(kByteBufferCid == kExternalTypedDataInt8ArrayCid + 14); | 2484 COMPILE_ASSERT(kByteBufferCid == kExternalTypedDataInt8ArrayCid + 14); |
2489 COMPILE_ASSERT(kNullCid == kByteBufferCid + 1); | 2485 COMPILE_ASSERT(kNullCid == kByteBufferCid + 1); |
2490 return (kNullCid - kTypedDataInt8ArrayCid); | 2486 return (kNullCid - kTypedDataInt8ArrayCid); |
2491 } | 2487 } |
2492 | 2488 |
2493 } // namespace dart | 2489 } // namespace dart |
2494 | 2490 |
2495 #endif // VM_RAW_OBJECT_H_ | 2491 #endif // VM_RAW_OBJECT_H_ |
OLD | NEW |