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 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
108 CLASS_LIST_ARRAYS(V) \ | 108 CLASS_LIST_ARRAYS(V) \ |
109 CLASS_LIST_STRINGS(V) | 109 CLASS_LIST_STRINGS(V) |
110 | 110 |
111 #define CLASS_LIST(V) \ | 111 #define CLASS_LIST(V) \ |
112 V(Object) \ | 112 V(Object) \ |
113 CLASS_LIST_NO_OBJECT(V) | 113 CLASS_LIST_NO_OBJECT(V) |
114 | 114 |
115 | 115 |
116 // Forward declarations. | 116 // Forward declarations. |
117 class Isolate; | 117 class Isolate; |
118 class TraceBuffer; | |
119 | |
120 #define DEFINE_FORWARD_DECLARATION(clazz) \ | 118 #define DEFINE_FORWARD_DECLARATION(clazz) \ |
121 class Raw##clazz; | 119 class Raw##clazz; |
122 CLASS_LIST(DEFINE_FORWARD_DECLARATION) | 120 CLASS_LIST(DEFINE_FORWARD_DECLARATION) |
123 #undef DEFINE_FORWARD_DECLARATION | 121 #undef DEFINE_FORWARD_DECLARATION |
124 | 122 |
125 | 123 |
126 enum ClassId { | 124 enum ClassId { |
127 // Illegal class id. | 125 // Illegal class id. |
128 kIllegalCid = 0, | 126 kIllegalCid = 0, |
129 | 127 |
(...skipping 487 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
617 RawObject** to() { | 615 RawObject** to() { |
618 return reinterpret_cast<RawObject**>(&ptr()->unoptimized_code_); | 616 return reinterpret_cast<RawObject**>(&ptr()->unoptimized_code_); |
619 } | 617 } |
620 RawObject** to_no_code() { | 618 RawObject** to_no_code() { |
621 return reinterpret_cast<RawObject**>(&ptr()->data_); | 619 return reinterpret_cast<RawObject**>(&ptr()->data_); |
622 } | 620 } |
623 | 621 |
624 intptr_t token_pos_; | 622 intptr_t token_pos_; |
625 intptr_t end_token_pos_; | 623 intptr_t end_token_pos_; |
626 intptr_t usage_counter_; // Incremented while function is running. | 624 intptr_t usage_counter_; // Incremented while function is running. |
627 TraceBuffer* log_; | |
628 int16_t num_fixed_parameters_; | 625 int16_t num_fixed_parameters_; |
629 int16_t num_optional_parameters_; // > 0: positional; < 0: named. | 626 int16_t num_optional_parameters_; // > 0: positional; < 0: named. |
630 int16_t deoptimization_counter_; | 627 int16_t deoptimization_counter_; |
631 uint16_t kind_tag_; // See Function::KindTagBits. | 628 uint16_t kind_tag_; // See Function::KindTagBits. |
632 uint16_t optimized_instruction_count_; | 629 uint16_t optimized_instruction_count_; |
633 uint16_t optimized_call_site_count_; | 630 uint16_t optimized_call_site_count_; |
634 }; | 631 }; |
635 | 632 |
636 | 633 |
637 class RawClosureData : public RawObject { | 634 class RawClosureData : public RawObject { |
(...skipping 1170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1808 // Make sure this is updated when new TypedData types are added. | 1805 // Make sure this is updated when new TypedData types are added. |
1809 ASSERT(kTypedDataInt8ArrayViewCid == kTypedDataInt8ArrayCid + 14); | 1806 ASSERT(kTypedDataInt8ArrayViewCid == kTypedDataInt8ArrayCid + 14); |
1810 ASSERT(kExternalTypedDataInt8ArrayCid == kTypedDataInt8ArrayViewCid + 15); | 1807 ASSERT(kExternalTypedDataInt8ArrayCid == kTypedDataInt8ArrayViewCid + 15); |
1811 ASSERT(kNullCid == kExternalTypedDataInt8ArrayCid + 14); | 1808 ASSERT(kNullCid == kExternalTypedDataInt8ArrayCid + 14); |
1812 return (kNullCid - kTypedDataInt8ArrayCid); | 1809 return (kNullCid - kTypedDataInt8ArrayCid); |
1813 } | 1810 } |
1814 | 1811 |
1815 } // namespace dart | 1812 } // namespace dart |
1816 | 1813 |
1817 #endif // VM_RAW_OBJECT_H_ | 1814 #endif // VM_RAW_OBJECT_H_ |
OLD | NEW |