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 708 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
719 kAsync = kAsyncBit, | 719 kAsync = kAsyncBit, |
720 kSyncGen = kGeneratorBit, | 720 kSyncGen = kGeneratorBit, |
721 kAsyncGen = kAsyncBit | kGeneratorBit, | 721 kAsyncGen = kAsyncBit | kGeneratorBit, |
722 }; | 722 }; |
723 | 723 |
724 private: | 724 private: |
725 // So that the MarkingVisitor::DetachCode can null out the code fields. | 725 // So that the MarkingVisitor::DetachCode can null out the code fields. |
726 friend class MarkingVisitor; | 726 friend class MarkingVisitor; |
727 friend class Class; | 727 friend class Class; |
728 RAW_HEAP_OBJECT_IMPLEMENTATION(Function); | 728 RAW_HEAP_OBJECT_IMPLEMENTATION(Function); |
729 static bool SkipCode(RawFunction* raw_fun); | 729 static bool SkipCode(RawFunction* raw_fun, bool visit_current_code); |
730 | 730 |
731 RawObject** from() { return reinterpret_cast<RawObject**>(&ptr()->name_); } | 731 RawObject** from() { return reinterpret_cast<RawObject**>(&ptr()->name_); } |
732 RawString* name_; | 732 RawString* name_; |
733 RawObject* owner_; // Class or patch class or mixin class | 733 RawObject* owner_; // Class or patch class or mixin class |
734 // where this function is defined. | 734 // where this function is defined. |
735 RawAbstractType* result_type_; | 735 RawAbstractType* result_type_; |
736 RawArray* parameter_types_; | 736 RawArray* parameter_types_; |
737 RawArray* parameter_names_; | 737 RawArray* parameter_names_; |
738 RawObject* data_; // Additional data specific to the function kind. | 738 RawObject* data_; // Additional data specific to the function kind. |
739 RawObject** to_snapshot() { | 739 RawObject** to_snapshot() { |
(...skipping 1436 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2176 COMPILE_ASSERT(kExternalTypedDataInt8ArrayCid == | 2176 COMPILE_ASSERT(kExternalTypedDataInt8ArrayCid == |
2177 kTypedDataInt8ArrayViewCid + 15); | 2177 kTypedDataInt8ArrayViewCid + 15); |
2178 COMPILE_ASSERT(kByteBufferCid == kExternalTypedDataInt8ArrayCid + 14); | 2178 COMPILE_ASSERT(kByteBufferCid == kExternalTypedDataInt8ArrayCid + 14); |
2179 COMPILE_ASSERT(kNullCid == kByteBufferCid + 1); | 2179 COMPILE_ASSERT(kNullCid == kByteBufferCid + 1); |
2180 return (kNullCid - kTypedDataInt8ArrayCid); | 2180 return (kNullCid - kTypedDataInt8ArrayCid); |
2181 } | 2181 } |
2182 | 2182 |
2183 } // namespace dart | 2183 } // namespace dart |
2184 | 2184 |
2185 #endif // VM_RAW_OBJECT_H_ | 2185 #endif // VM_RAW_OBJECT_H_ |
OLD | NEW |