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 681 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
692 kImplicitSetter, // represents an implicit setter for fields. | 692 kImplicitSetter, // represents an implicit setter for fields. |
693 kImplicitStaticFinalGetter, // represents an implicit getter for static | 693 kImplicitStaticFinalGetter, // represents an implicit getter for static |
694 // final fields (incl. static const fields). | 694 // final fields (incl. static const fields). |
695 kMethodExtractor, // converts method into implicit closure on the receiver. | 695 kMethodExtractor, // converts method into implicit closure on the receiver. |
696 kNoSuchMethodDispatcher, // invokes noSuchMethod. | 696 kNoSuchMethodDispatcher, // invokes noSuchMethod. |
697 kInvokeFieldDispatcher, // invokes a field as a closure. | 697 kInvokeFieldDispatcher, // invokes a field as a closure. |
698 kIrregexpFunction, // represents a generated irregexp matcher function. | 698 kIrregexpFunction, // represents a generated irregexp matcher function. |
699 }; | 699 }; |
700 | 700 |
701 enum AsyncModifier { | 701 enum AsyncModifier { |
702 kNoModifier, | 702 kNoModifier = 0x0, |
703 kAsync, | 703 kAsyncBit = 0x1, |
| 704 kGeneratorBit = 0x2, |
| 705 kAsync = kAsyncBit, |
| 706 kSyncGen = kGeneratorBit, |
| 707 kAsyncGen = kAsyncBit | kGeneratorBit, |
704 }; | 708 }; |
705 | 709 |
706 private: | 710 private: |
707 // So that the MarkingVisitor::DetachCode can null out the code fields. | 711 // So that the MarkingVisitor::DetachCode can null out the code fields. |
708 friend class MarkingVisitor; | 712 friend class MarkingVisitor; |
709 friend class Class; | 713 friend class Class; |
710 RAW_HEAP_OBJECT_IMPLEMENTATION(Function); | 714 RAW_HEAP_OBJECT_IMPLEMENTATION(Function); |
711 static bool SkipCode(RawFunction* raw_fun); | 715 static bool SkipCode(RawFunction* raw_fun); |
712 | 716 |
713 RawObject** from() { return reinterpret_cast<RawObject**>(&ptr()->name_); } | 717 RawObject** from() { return reinterpret_cast<RawObject**>(&ptr()->name_); } |
(...skipping 1443 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2157 COMPILE_ASSERT(kExternalTypedDataInt8ArrayCid == | 2161 COMPILE_ASSERT(kExternalTypedDataInt8ArrayCid == |
2158 kTypedDataInt8ArrayViewCid + 15); | 2162 kTypedDataInt8ArrayViewCid + 15); |
2159 COMPILE_ASSERT(kByteBufferCid == kExternalTypedDataInt8ArrayCid + 14); | 2163 COMPILE_ASSERT(kByteBufferCid == kExternalTypedDataInt8ArrayCid + 14); |
2160 COMPILE_ASSERT(kNullCid == kByteBufferCid + 1); | 2164 COMPILE_ASSERT(kNullCid == kByteBufferCid + 1); |
2161 return (kNullCid - kTypedDataInt8ArrayCid); | 2165 return (kNullCid - kTypedDataInt8ArrayCid); |
2162 } | 2166 } |
2163 | 2167 |
2164 } // namespace dart | 2168 } // namespace dart |
2165 | 2169 |
2166 #endif // VM_RAW_OBJECT_H_ | 2170 #endif // VM_RAW_OBJECT_H_ |
OLD | NEW |