| 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 RUNTIME_VM_RAW_OBJECT_H_ | 5 #ifndef RUNTIME_VM_RAW_OBJECT_H_ |
| 6 #define RUNTIME_VM_RAW_OBJECT_H_ | 6 #define RUNTIME_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/exceptions.h" | |
| 11 #include "vm/globals.h" | 10 #include "vm/globals.h" |
| 12 #include "vm/snapshot.h" | 11 #include "vm/snapshot.h" |
| 13 #include "vm/token.h" | 12 #include "vm/token.h" |
| 14 #include "vm/token_position.h" | 13 #include "vm/token_position.h" |
| 15 | 14 |
| 16 namespace dart { | 15 namespace dart { |
| 17 | 16 |
| 18 // Macrobatics to define the Object hierarchy of VM implementation classes. | 17 // Macrobatics to define the Object hierarchy of VM implementation classes. |
| 19 #define CLASS_LIST_NO_OBJECT_NOR_STRING_NOR_ARRAY(V) \ | 18 #define CLASS_LIST_NO_OBJECT_NOR_STRING_NOR_ARRAY(V) \ |
| 20 V(Class) \ | 19 V(Class) \ |
| (...skipping 1111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1132 return reinterpret_cast<RawObject**>(&ptr()->object_pool_); | 1131 return reinterpret_cast<RawObject**>(&ptr()->object_pool_); |
| 1133 } | 1132 } |
| 1134 RawObjectPool* object_pool_; // Accessed from generated code. | 1133 RawObjectPool* object_pool_; // Accessed from generated code. |
| 1135 RawInstructions* instructions_; // Accessed from generated code. | 1134 RawInstructions* instructions_; // Accessed from generated code. |
| 1136 // If owner_ is Function::null() the owner is a regular stub. | 1135 // If owner_ is Function::null() the owner is a regular stub. |
| 1137 // If owner_ is a Class the owner is the allocation stub for that class. | 1136 // If owner_ is a Class the owner is the allocation stub for that class. |
| 1138 // Else, owner_ is a regular Dart Function. | 1137 // Else, owner_ is a regular Dart Function. |
| 1139 RawObject* owner_; // Function, Null, or a Class. | 1138 RawObject* owner_; // Function, Null, or a Class. |
| 1140 RawExceptionHandlers* exception_handlers_; | 1139 RawExceptionHandlers* exception_handlers_; |
| 1141 RawPcDescriptors* pc_descriptors_; | 1140 RawPcDescriptors* pc_descriptors_; |
| 1142 union { | |
| 1143 RawTypedData* catch_entry_state_maps_; | |
| 1144 RawSmi* variables_; | |
| 1145 } catch_entry_; | |
| 1146 RawArray* stackmaps_; | 1141 RawArray* stackmaps_; |
| 1147 RawArray* inlined_id_to_function_; | 1142 RawArray* inlined_id_to_function_; |
| 1148 RawCodeSourceMap* code_source_map_; | 1143 RawCodeSourceMap* code_source_map_; |
| 1149 NOT_IN_PRECOMPILED(RawArray* await_token_positions_); | 1144 NOT_IN_PRECOMPILED(RawArray* await_token_positions_); |
| 1150 NOT_IN_PRECOMPILED(RawInstructions* active_instructions_); | 1145 NOT_IN_PRECOMPILED(RawInstructions* active_instructions_); |
| 1151 NOT_IN_PRECOMPILED(RawArray* deopt_info_array_); | 1146 NOT_IN_PRECOMPILED(RawArray* deopt_info_array_); |
| 1152 // (code-offset, function, code) triples. | 1147 // (code-offset, function, code) triples. |
| 1153 NOT_IN_PRECOMPILED(RawArray* static_calls_target_table_); | 1148 NOT_IN_PRECOMPILED(RawArray* static_calls_target_table_); |
| 1154 // If return_address_metadata_ is a Smi, it is the offset to the prologue. | 1149 // If return_address_metadata_ is a Smi, it is the offset to the prologue. |
| 1155 // Else, return_address_metadata_ is null. | 1150 // Else, return_address_metadata_ is null. |
| (...skipping 1287 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2443 COMPILE_ASSERT(kExternalTypedDataInt8ArrayCid == | 2438 COMPILE_ASSERT(kExternalTypedDataInt8ArrayCid == |
| 2444 kTypedDataInt8ArrayViewCid + 15); | 2439 kTypedDataInt8ArrayViewCid + 15); |
| 2445 COMPILE_ASSERT(kByteBufferCid == kExternalTypedDataInt8ArrayCid + 14); | 2440 COMPILE_ASSERT(kByteBufferCid == kExternalTypedDataInt8ArrayCid + 14); |
| 2446 COMPILE_ASSERT(kNullCid == kByteBufferCid + 1); | 2441 COMPILE_ASSERT(kNullCid == kByteBufferCid + 1); |
| 2447 return (kNullCid - kTypedDataInt8ArrayCid); | 2442 return (kNullCid - kTypedDataInt8ArrayCid); |
| 2448 } | 2443 } |
| 2449 | 2444 |
| 2450 } // namespace dart | 2445 } // namespace dart |
| 2451 | 2446 |
| 2452 #endif // RUNTIME_VM_RAW_OBJECT_H_ | 2447 #endif // RUNTIME_VM_RAW_OBJECT_H_ |
| OLD | NEW |