| 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/globals.h" | 9 #include "vm/globals.h" |
| 10 #include "vm/token.h" | 10 #include "vm/token.h" |
| (...skipping 421 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 432 | 432 |
| 433 intptr_t SizeFromClass() const; | 433 intptr_t SizeFromClass() const; |
| 434 | 434 |
| 435 intptr_t GetClassId() const { | 435 intptr_t GetClassId() const { |
| 436 uword tags = ptr()->tags_; | 436 uword tags = ptr()->tags_; |
| 437 return ClassIdTag::decode(tags); | 437 return ClassIdTag::decode(tags); |
| 438 } | 438 } |
| 439 | 439 |
| 440 friend class Api; | 440 friend class Api; |
| 441 friend class Array; | 441 friend class Array; |
| 442 friend class Code; |
| 442 friend class FreeListElement; | 443 friend class FreeListElement; |
| 443 friend class GCMarker; | 444 friend class GCMarker; |
| 444 friend class ExternalTypedData; | 445 friend class ExternalTypedData; |
| 445 friend class Heap; | 446 friend class Heap; |
| 446 friend class ClassStatsVisitor; | 447 friend class ClassStatsVisitor; |
| 447 friend class MarkingVisitor; | 448 friend class MarkingVisitor; |
| 448 friend class Object; | 449 friend class Object; |
| 449 friend class ObjectHistogram; | 450 friend class ObjectHistogram; |
| 450 friend class RawExternalTypedData; | 451 friend class RawExternalTypedData; |
| 451 friend class RawInstructions; | 452 friend class RawInstructions; |
| (...skipping 357 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 809 }; | 810 }; |
| 810 | 811 |
| 811 | 812 |
| 812 class RawCode : public RawObject { | 813 class RawCode : public RawObject { |
| 813 RAW_HEAP_OBJECT_IMPLEMENTATION(Code); | 814 RAW_HEAP_OBJECT_IMPLEMENTATION(Code); |
| 814 | 815 |
| 815 RawObject** from() { | 816 RawObject** from() { |
| 816 return reinterpret_cast<RawObject**>(&ptr()->instructions_); | 817 return reinterpret_cast<RawObject**>(&ptr()->instructions_); |
| 817 } | 818 } |
| 818 RawInstructions* instructions_; | 819 RawInstructions* instructions_; |
| 819 RawFunction* function_; | 820 // If owner_ is Function::null() the owner is a regular stub. |
| 821 // If owner_ is a Class the owner is the allocation stub for that class. |
| 822 // Else, owner_ is a regular Dart Function. |
| 823 RawObject* owner_; // Function, Null, or a Class. |
| 820 RawExceptionHandlers* exception_handlers_; | 824 RawExceptionHandlers* exception_handlers_; |
| 821 RawPcDescriptors* pc_descriptors_; | 825 RawPcDescriptors* pc_descriptors_; |
| 822 RawArray* deopt_info_array_; | 826 RawArray* deopt_info_array_; |
| 823 RawArray* object_table_; | 827 RawArray* object_table_; |
| 824 RawArray* static_calls_target_table_; // (code-offset, function, code). | 828 RawArray* static_calls_target_table_; // (code-offset, function, code). |
| 825 RawArray* stackmaps_; | 829 RawArray* stackmaps_; |
| 826 RawLocalVarDescriptors* var_descriptors_; | 830 RawLocalVarDescriptors* var_descriptors_; |
| 827 RawArray* comments_; | 831 RawArray* comments_; |
| 828 RawObject** to() { | 832 RawObject** to() { |
| 829 return reinterpret_cast<RawObject**>(&ptr()->comments_); | 833 return reinterpret_cast<RawObject**>(&ptr()->comments_); |
| (...skipping 938 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1768 // Make sure this is updated when new TypedData types are added. | 1772 // Make sure this is updated when new TypedData types are added. |
| 1769 ASSERT(kTypedDataInt8ArrayViewCid == kTypedDataInt8ArrayCid + 14); | 1773 ASSERT(kTypedDataInt8ArrayViewCid == kTypedDataInt8ArrayCid + 14); |
| 1770 ASSERT(kExternalTypedDataInt8ArrayCid == kTypedDataInt8ArrayViewCid + 15); | 1774 ASSERT(kExternalTypedDataInt8ArrayCid == kTypedDataInt8ArrayViewCid + 15); |
| 1771 ASSERT(kNullCid == kExternalTypedDataInt8ArrayCid + 14); | 1775 ASSERT(kNullCid == kExternalTypedDataInt8ArrayCid + 14); |
| 1772 return (kNullCid - kTypedDataInt8ArrayCid); | 1776 return (kNullCid - kTypedDataInt8ArrayCid); |
| 1773 } | 1777 } |
| 1774 | 1778 |
| 1775 } // namespace dart | 1779 } // namespace dart |
| 1776 | 1780 |
| 1777 #endif // VM_RAW_OBJECT_H_ | 1781 #endif // VM_RAW_OBJECT_H_ |
| OLD | NEW |