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