OLD | NEW |
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2011, 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 "vm/assert.h" | 8 #include "vm/assert.h" |
9 #include "vm/globals.h" | 9 #include "vm/globals.h" |
10 #include "vm/snapshot.h" | 10 #include "vm/snapshot.h" |
(...skipping 471 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
482 | 482 |
483 RawObject** from() { | 483 RawObject** from() { |
484 return reinterpret_cast<RawObject**>(&ptr()->instructions_); | 484 return reinterpret_cast<RawObject**>(&ptr()->instructions_); |
485 } | 485 } |
486 RawInstructions* instructions_; | 486 RawInstructions* instructions_; |
487 RawFunction* function_; | 487 RawFunction* function_; |
488 RawExceptionHandlers* exception_handlers_; | 488 RawExceptionHandlers* exception_handlers_; |
489 RawPcDescriptors* pc_descriptors_; | 489 RawPcDescriptors* pc_descriptors_; |
490 // Ongoing redesign of inline caches may soon remove the need for 'ic_data_'. | 490 // Ongoing redesign of inline caches may soon remove the need for 'ic_data_'. |
491 RawArray* ic_data_; // Used to store IC stub data (see class ICData). | 491 RawArray* ic_data_; // Used to store IC stub data (see class ICData). |
492 RawArray* class_ic_stubs_; // Array of pairs (RawArray<RawClass>, RawCode) | |
493 RawObject** to() { | 492 RawObject** to() { |
494 return reinterpret_cast<RawObject**>(&ptr()->class_ic_stubs_); | 493 return reinterpret_cast<RawObject**>(&ptr()->ic_data_); |
495 } | 494 } |
496 | 495 |
497 intptr_t pointer_offsets_length_; | 496 intptr_t pointer_offsets_length_; |
498 // This cannot be boolean because of alignment issues on x64 architectures. | 497 // This cannot be boolean because of alignment issues on x64 architectures. |
499 intptr_t is_optimized_; | 498 intptr_t is_optimized_; |
500 | 499 |
501 // Variable length data follows here. | 500 // Variable length data follows here. |
502 int32_t data_[0]; | 501 int32_t data_[0]; |
503 }; | 502 }; |
504 | 503 |
(...skipping 266 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
771 intptr_t type_; // Uninitialized, simple or complex. | 770 intptr_t type_; // Uninitialized, simple or complex. |
772 intptr_t flags_; // Represents global/local, case insensitive, multiline. | 771 intptr_t flags_; // Represents global/local, case insensitive, multiline. |
773 | 772 |
774 // Variable length data follows here. | 773 // Variable length data follows here. |
775 uint8_t data_[0]; | 774 uint8_t data_[0]; |
776 }; | 775 }; |
777 | 776 |
778 } // namespace dart | 777 } // namespace dart |
779 | 778 |
780 #endif // VM_RAW_OBJECT_H_ | 779 #endif // VM_RAW_OBJECT_H_ |
OLD | NEW |