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 1089 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1100 kInlinedCallerIdMapIndex = 2, | 1100 kInlinedCallerIdMapIndex = 2, |
1101 kInlinedIdToTokenPosIndex = 3, | 1101 kInlinedIdToTokenPosIndex = 3, |
1102 kInlinedMetadataSize = 4, | 1102 kInlinedMetadataSize = 4, |
1103 }; | 1103 }; |
1104 | 1104 |
1105 RAW_HEAP_OBJECT_IMPLEMENTATION(Code); | 1105 RAW_HEAP_OBJECT_IMPLEMENTATION(Code); |
1106 | 1106 |
1107 uword entry_point_; | 1107 uword entry_point_; |
1108 | 1108 |
1109 RawObject** from() { | 1109 RawObject** from() { |
1110 return reinterpret_cast<RawObject**>(&ptr()->instructions_); | 1110 return reinterpret_cast<RawObject**>(&ptr()->active_instructions_); |
1111 } | 1111 } |
1112 union { | 1112 RawInstructions* active_instructions_; |
1113 RawInstructions* instructions_; | 1113 RawInstructions* instructions_; |
1114 RawSmi* precompiled_instructions_size_; | |
1115 }; | |
1116 RawObjectPool* object_pool_; | 1114 RawObjectPool* object_pool_; |
1117 // If owner_ is Function::null() the owner is a regular stub. | 1115 // If owner_ is Function::null() the owner is a regular stub. |
1118 // If owner_ is a Class the owner is the allocation stub for that class. | 1116 // If owner_ is a Class the owner is the allocation stub for that class. |
1119 // Else, owner_ is a regular Dart Function. | 1117 // Else, owner_ is a regular Dart Function. |
1120 RawObject* owner_; // Function, Null, or a Class. | 1118 RawObject* owner_; // Function, Null, or a Class. |
1121 RawExceptionHandlers* exception_handlers_; | 1119 RawExceptionHandlers* exception_handlers_; |
1122 RawPcDescriptors* pc_descriptors_; | 1120 RawPcDescriptors* pc_descriptors_; |
1123 RawCodeSourceMap* code_source_map_; | 1121 RawCodeSourceMap* code_source_map_; |
1124 RawArray* stackmaps_; | 1122 RawArray* stackmaps_; |
1125 RawObject** to_snapshot() { | 1123 RawObject** to_snapshot() { |
(...skipping 1290 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2416 COMPILE_ASSERT(kExternalTypedDataInt8ArrayCid == | 2414 COMPILE_ASSERT(kExternalTypedDataInt8ArrayCid == |
2417 kTypedDataInt8ArrayViewCid + 15); | 2415 kTypedDataInt8ArrayViewCid + 15); |
2418 COMPILE_ASSERT(kByteBufferCid == kExternalTypedDataInt8ArrayCid + 14); | 2416 COMPILE_ASSERT(kByteBufferCid == kExternalTypedDataInt8ArrayCid + 14); |
2419 COMPILE_ASSERT(kNullCid == kByteBufferCid + 1); | 2417 COMPILE_ASSERT(kNullCid == kByteBufferCid + 1); |
2420 return (kNullCid - kTypedDataInt8ArrayCid); | 2418 return (kNullCid - kTypedDataInt8ArrayCid); |
2421 } | 2419 } |
2422 | 2420 |
2423 } // namespace dart | 2421 } // namespace dart |
2424 | 2422 |
2425 #endif // VM_RAW_OBJECT_H_ | 2423 #endif // VM_RAW_OBJECT_H_ |
OLD | NEW |