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 586 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
597 | 597 |
598 RawObject** from() { return reinterpret_cast<RawObject**>(&ptr()->name_); } | 598 RawObject** from() { return reinterpret_cast<RawObject**>(&ptr()->name_); } |
599 RawString* name_; | 599 RawString* name_; |
600 RawObject* owner_; // Class or patch class or mixin class | 600 RawObject* owner_; // Class or patch class or mixin class |
601 // where this function is defined. | 601 // where this function is defined. |
602 RawAbstractType* result_type_; | 602 RawAbstractType* result_type_; |
603 RawArray* parameter_types_; | 603 RawArray* parameter_types_; |
604 RawArray* parameter_names_; | 604 RawArray* parameter_names_; |
605 RawCode* code_; // Compiled code for the function. | 605 RawCode* code_; // Compiled code for the function. |
606 RawCode* unoptimized_code_; // Unoptimized code, keep it after optimization. | 606 RawCode* unoptimized_code_; // Unoptimized code, keep it after optimization. |
607 RawArray* deopt_history_; // Deopt Ids of past deoptimizations. | |
607 RawObject* data_; // Additional data specific to the function kind. | 608 RawObject* data_; // Additional data specific to the function kind. |
608 RawObject** to() { | 609 RawObject** to() { |
609 return reinterpret_cast<RawObject**>(&ptr()->data_); | 610 return reinterpret_cast<RawObject**>(&ptr()->data_); |
610 } | 611 } |
611 | 612 |
612 intptr_t token_pos_; | 613 intptr_t token_pos_; |
613 intptr_t end_token_pos_; | 614 intptr_t end_token_pos_; |
614 intptr_t usage_counter_; // Incremented while function is running. | 615 intptr_t usage_counter_; // Incremented while function is running. |
615 int16_t num_fixed_parameters_; | 616 int16_t num_fixed_parameters_; |
616 int16_t num_optional_parameters_; // > 0: positional; < 0: named. | 617 int16_t num_optional_parameters_; // > 0: positional; < 0: named. |
617 uint16_t deoptimization_counter_; | 618 int16_t deoptimization_counter_; |
srdjan
2013/05/28 10:48:49
Please document what negative counter means.
Florian Schneider
2013/05/29 08:50:20
It should never be negative. I just made this cons
| |
618 uint16_t kind_tag_; | 619 uint16_t kind_tag_; |
619 uint16_t optimized_instruction_count_; | 620 uint16_t optimized_instruction_count_; |
620 uint16_t optimized_call_site_count_; | 621 uint16_t optimized_call_site_count_; |
621 }; | 622 }; |
622 | 623 |
623 | 624 |
624 class RawClosureData : public RawObject { | 625 class RawClosureData : public RawObject { |
625 private: | 626 private: |
626 RAW_HEAP_OBJECT_IMPLEMENTATION(ClosureData); | 627 RAW_HEAP_OBJECT_IMPLEMENTATION(ClosureData); |
627 | 628 |
(...skipping 1051 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1679 // Make sure this is updated when new TypedData types are added. | 1680 // Make sure this is updated when new TypedData types are added. |
1680 ASSERT(kTypedDataInt8ArrayViewCid == kTypedDataInt8ArrayCid + 12); | 1681 ASSERT(kTypedDataInt8ArrayViewCid == kTypedDataInt8ArrayCid + 12); |
1681 ASSERT(kExternalTypedDataInt8ArrayCid == kTypedDataInt8ArrayViewCid + 13); | 1682 ASSERT(kExternalTypedDataInt8ArrayCid == kTypedDataInt8ArrayViewCid + 13); |
1682 ASSERT(kNullCid == kExternalTypedDataInt8ArrayCid + 12); | 1683 ASSERT(kNullCid == kExternalTypedDataInt8ArrayCid + 12); |
1683 return (kNullCid - kTypedDataInt8ArrayCid); | 1684 return (kNullCid - kTypedDataInt8ArrayCid); |
1684 } | 1685 } |
1685 | 1686 |
1686 } // namespace dart | 1687 } // namespace dart |
1687 | 1688 |
1688 #endif // VM_RAW_OBJECT_H_ | 1689 #endif // VM_RAW_OBJECT_H_ |
OLD | NEW |