| 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_OBJECT_H_ | 5 #ifndef VM_OBJECT_H_ |
| 6 #define VM_OBJECT_H_ | 6 #define VM_OBJECT_H_ |
| 7 | 7 |
| 8 #include "include/dart_api.h" | 8 #include "include/dart_api.h" |
| 9 #include "platform/assert.h" | 9 #include "platform/assert.h" |
| 10 #include "platform/utils.h" | 10 #include "platform/utils.h" |
| (...skipping 573 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 584 // The names of core implementation classes (like _OneByteString) | 584 // The names of core implementation classes (like _OneByteString) |
| 585 // are preserved as well. | 585 // are preserved as well. |
| 586 // | 586 // |
| 587 // e.g. | 587 // e.g. |
| 588 // private getter - get:foo@6be832b | 588 // private getter - get:foo@6be832b |
| 589 // private constructor - _MyClass@6b3832b. | 589 // private constructor - _MyClass@6b3832b. |
| 590 // private named constructor - _MyClass@6b3832b.named | 590 // private named constructor - _MyClass@6b3832b.named |
| 591 // core impl class name shown - _OneByteString | 591 // core impl class name shown - _OneByteString |
| 592 kInternalName = 0, | 592 kInternalName = 0, |
| 593 | 593 |
| 594 // Pretty names drop privacy suffixes, getter prefixes, and | 594 // Scrubbed names drop privacy suffixes, getter prefixes, and |
| 595 // trailing dots on unnamed constructors. These names are used in | 595 // trailing dots on unnamed constructors. These names are used in |
| 596 // the vm service. | 596 // the vm service. |
| 597 // | 597 // |
| 598 // e.g. | 598 // e.g. |
| 599 // get:foo@6be832b -> foo | 599 // get:foo@6be832b -> foo |
| 600 // _MyClass@6b3832b. -> _MyClass | 600 // _MyClass@6b3832b. -> _MyClass |
| 601 // _MyClass@6b3832b.named -> _MyClass.named | 601 // _MyClass@6b3832b.named -> _MyClass.named |
| 602 // _OneByteString -> _OneByteString (not remapped) | 602 // _OneByteString -> _OneByteString (not remapped) |
| 603 kPrettyName, | 603 kScrubbedName, |
| 604 | 604 |
| 605 // User visible names are appropriate for reporting type errors | 605 // User visible names are appropriate for reporting type errors |
| 606 // directly to programmers. The names have been "prettied" and | 606 // directly to programmers. The names have been scrubbed and |
| 607 // the names of core implementation classes are remapped to their | 607 // the names of core implementation classes are remapped to their |
| 608 // public interface names. | 608 // public interface names. |
| 609 // | 609 // |
| 610 // e.g. | 610 // e.g. |
| 611 // get:foo@6be832b -> foo | 611 // get:foo@6be832b -> foo |
| 612 // _MyClass@6b3832b. -> _MyClass | 612 // _MyClass@6b3832b. -> _MyClass |
| 613 // _MyClass@6b3832b.named -> _MyClass.named | 613 // _MyClass@6b3832b.named -> _MyClass.named |
| 614 // _OneByteString -> String (remapped) | 614 // _OneByteString -> String (remapped) |
| 615 kUserVisibleName | 615 kUserVisibleName |
| 616 }; | 616 }; |
| (...skipping 329 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 946 static bool is_valid_id(intptr_t value) { | 946 static bool is_valid_id(intptr_t value) { |
| 947 return RawObject::ClassIdTag::is_valid(value); | 947 return RawObject::ClassIdTag::is_valid(value); |
| 948 } | 948 } |
| 949 intptr_t id() const { return raw_ptr()->id_; } | 949 intptr_t id() const { return raw_ptr()->id_; } |
| 950 void set_id(intptr_t value) const { | 950 void set_id(intptr_t value) const { |
| 951 ASSERT(is_valid_id(value)); | 951 ASSERT(is_valid_id(value)); |
| 952 StoreNonPointer(&raw_ptr()->id_, value); | 952 StoreNonPointer(&raw_ptr()->id_, value); |
| 953 } | 953 } |
| 954 | 954 |
| 955 RawString* Name() const; | 955 RawString* Name() const; |
| 956 RawString* PrettyName() const; | 956 RawString* ScrubbedName() const; |
| 957 RawString* UserVisibleName() const; | 957 RawString* UserVisibleName() const; |
| 958 bool IsInFullSnapshot() const; | 958 bool IsInFullSnapshot() const; |
| 959 | 959 |
| 960 virtual RawString* DictionaryName() const { return Name(); } | 960 virtual RawString* DictionaryName() const { return Name(); } |
| 961 | 961 |
| 962 RawScript* script() const { return raw_ptr()->script_; } | 962 RawScript* script() const { return raw_ptr()->script_; } |
| 963 void set_script(const Script& value) const; | 963 void set_script(const Script& value) const; |
| 964 | 964 |
| 965 TokenPosition token_pos() const { return raw_ptr()->token_pos_; } | 965 TokenPosition token_pos() const { return raw_ptr()->token_pos_; } |
| 966 void set_token_pos(TokenPosition value) const; | 966 void set_token_pos(TokenPosition value) const; |
| (...skipping 443 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1410 public BitField<uint16_t, bool, kMixinAppAliasBit, 1> {}; | 1410 public BitField<uint16_t, bool, kMixinAppAliasBit, 1> {}; |
| 1411 class MixinTypeAppliedBit : | 1411 class MixinTypeAppliedBit : |
| 1412 public BitField<uint16_t, bool, kMixinTypeAppliedBit, 1> {}; | 1412 public BitField<uint16_t, bool, kMixinTypeAppliedBit, 1> {}; |
| 1413 class FieldsMarkedNullableBit : | 1413 class FieldsMarkedNullableBit : |
| 1414 public BitField<uint16_t, bool, kFieldsMarkedNullableBit, 1> {}; | 1414 public BitField<uint16_t, bool, kFieldsMarkedNullableBit, 1> {}; |
| 1415 class CycleFreeBit : public BitField<uint16_t, bool, kCycleFreeBit, 1> {}; | 1415 class CycleFreeBit : public BitField<uint16_t, bool, kCycleFreeBit, 1> {}; |
| 1416 class EnumBit : public BitField<uint16_t, bool, kEnumBit, 1> {}; | 1416 class EnumBit : public BitField<uint16_t, bool, kEnumBit, 1> {}; |
| 1417 class IsAllocatedBit : public BitField<uint16_t, bool, kIsAllocatedBit, 1> {}; | 1417 class IsAllocatedBit : public BitField<uint16_t, bool, kIsAllocatedBit, 1> {}; |
| 1418 | 1418 |
| 1419 void set_name(const String& value) const; | 1419 void set_name(const String& value) const; |
| 1420 void set_pretty_name(const String& value) const; | |
| 1421 void set_user_name(const String& value) const; | 1420 void set_user_name(const String& value) const; |
| 1422 RawString* GeneratePrettyName() const; | |
| 1423 RawString* GenerateUserVisibleName() const; | 1421 RawString* GenerateUserVisibleName() const; |
| 1424 void set_state_bits(intptr_t bits) const; | 1422 void set_state_bits(intptr_t bits) const; |
| 1425 | 1423 |
| 1426 void set_constants(const Array& value) const; | 1424 void set_constants(const Array& value) const; |
| 1427 | 1425 |
| 1428 void set_canonical_types(const Object& value) const; | 1426 void set_canonical_types(const Object& value) const; |
| 1429 RawObject* canonical_types() const; | 1427 RawObject* canonical_types() const; |
| 1430 | 1428 |
| 1431 RawArray* invocation_dispatcher_cache() const; | 1429 RawArray* invocation_dispatcher_cache() const; |
| 1432 void set_invocation_dispatcher_cache(const Array& cache) const; | 1430 void set_invocation_dispatcher_cache(const Array& cache) const; |
| (...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1542 return OFFSET_OF_RETURNED_VALUE( | 1540 return OFFSET_OF_RETURNED_VALUE( |
| 1543 RawTypeArguments, types) + index * kWordSize; | 1541 RawTypeArguments, types) + index * kWordSize; |
| 1544 } | 1542 } |
| 1545 void SetTypeAt(intptr_t index, const AbstractType& value) const; | 1543 void SetTypeAt(intptr_t index, const AbstractType& value) const; |
| 1546 | 1544 |
| 1547 // The name of this type argument vector, e.g. "<T, dynamic, List<T>, Smi>". | 1545 // The name of this type argument vector, e.g. "<T, dynamic, List<T>, Smi>". |
| 1548 RawString* Name() const { | 1546 RawString* Name() const { |
| 1549 return SubvectorName(0, Length(), kInternalName); | 1547 return SubvectorName(0, Length(), kInternalName); |
| 1550 } | 1548 } |
| 1551 | 1549 |
| 1552 // The name of this type argument vector, e.g. "<T, dynamic, List<T>, Smi>". | |
| 1553 // Names of internal classes are not mapped to their public interfaces. | |
| 1554 RawString* PrettyName() const { | |
| 1555 return SubvectorName(0, Length(), kPrettyName); | |
| 1556 } | |
| 1557 | |
| 1558 // The name of this type argument vector, e.g. "<T, dynamic, List<T>, int>". | 1550 // The name of this type argument vector, e.g. "<T, dynamic, List<T>, int>". |
| 1559 // Names of internal classes are mapped to their public interfaces. | 1551 // Names of internal classes are mapped to their public interfaces. |
| 1560 RawString* UserVisibleName() const { | 1552 RawString* UserVisibleName() const { |
| 1561 return SubvectorName(0, Length(), kUserVisibleName); | 1553 return SubvectorName(0, Length(), kUserVisibleName); |
| 1562 } | 1554 } |
| 1563 | 1555 |
| 1564 // Check if the subvector of length 'len' starting at 'from_index' of this | 1556 // Check if the subvector of length 'len' starting at 'from_index' of this |
| 1565 // type argument vector consists solely of DynamicType. | 1557 // type argument vector consists solely of DynamicType. |
| 1566 bool IsRaw(intptr_t from_index, intptr_t len) const { | 1558 bool IsRaw(intptr_t from_index, intptr_t len) const { |
| 1567 return IsDynamicTypes(false, from_index, len); | 1559 return IsDynamicTypes(false, from_index, len); |
| (...skipping 533 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2101 | 2093 |
| 2102 FINAL_HEAP_OBJECT_IMPLEMENTATION(ICData, Object); | 2094 FINAL_HEAP_OBJECT_IMPLEMENTATION(ICData, Object); |
| 2103 friend class Class; | 2095 friend class Class; |
| 2104 friend class SnapshotWriter; | 2096 friend class SnapshotWriter; |
| 2105 }; | 2097 }; |
| 2106 | 2098 |
| 2107 | 2099 |
| 2108 class Function : public Object { | 2100 class Function : public Object { |
| 2109 public: | 2101 public: |
| 2110 RawString* name() const { return raw_ptr()->name_; } | 2102 RawString* name() const { return raw_ptr()->name_; } |
| 2111 RawString* PrettyName() const; | 2103 RawString* UserVisibleName() const; // Same as scrubbed name. |
| 2112 RawString* UserVisibleName() const; | 2104 RawString* QualifiedScrubbedName() const { |
| 2113 RawString* QualifiedPrettyName() const; | 2105 return QualifiedName(kScrubbedName); |
| 2114 RawString* QualifiedUserVisibleName() const; | 2106 } |
| 2115 const char* QualifiedUserVisibleNameCString() const; | 2107 RawString* QualifiedUserVisibleName() const { |
| 2108 return QualifiedName(kUserVisibleName); |
| 2109 } |
| 2116 virtual RawString* DictionaryName() const { return name(); } | 2110 virtual RawString* DictionaryName() const { return name(); } |
| 2117 | 2111 |
| 2118 RawString* GetSource() const; | 2112 RawString* GetSource() const; |
| 2119 | 2113 |
| 2120 // Return the type of this function's signature. It may not be canonical yet. | 2114 // Return the type of this function's signature. It may not be canonical yet. |
| 2121 // For example, if this function has a signature of the form | 2115 // For example, if this function has a signature of the form |
| 2122 // '(T, [b: B, c: C]) => R', where 'T' and 'R' are type parameters of the | 2116 // '(T, [b: B, c: C]) => R', where 'T' and 'R' are type parameters of the |
| 2123 // owner class of this function, then its signature type is a parameterized | 2117 // owner class of this function, then its signature type is a parameterized |
| 2124 // FunctionType with uninstantiated type arguments 'T' and 'R' as elements of | 2118 // FunctionType with uninstantiated type arguments 'T' and 'R' as elements of |
| 2125 // its type argument vector. | 2119 // its type argument vector. |
| 2126 RawFunctionType* SignatureType() const; | 2120 RawFunctionType* SignatureType() const; |
| 2127 | 2121 |
| 2128 // Update the signature type (with a canonical version). | 2122 // Update the signature type (with a canonical version). |
| 2129 void SetSignatureType(const FunctionType& value) const; | 2123 void SetSignatureType(const FunctionType& value) const; |
| 2130 | 2124 |
| 2131 // Build a string of the form 'C<T, R>(T, {b: B, c: C}) => R' representing the | 2125 // Build a string of the form 'C<T, R>(T, {b: B, c: C}) => R' representing the |
| 2132 // internal signature of the given function. In this example, T and R are | 2126 // internal signature of the given function. In this example, T and R are |
| 2133 // type parameters of class C, the owner of the function. | 2127 // type parameters of class C, the owner of the function. |
| 2134 RawString* Signature() const { | 2128 RawString* Signature() const { |
| 2135 const bool instantiate = false; | 2129 const bool instantiate = false; |
| 2136 return BuildSignature(instantiate, kInternalName, TypeArguments::Handle()); | 2130 return BuildSignature(instantiate, kInternalName, TypeArguments::Handle()); |
| 2137 } | 2131 } |
| 2138 | 2132 |
| 2139 RawString* PrettySignature() const { | |
| 2140 const bool instantiate = false; | |
| 2141 return BuildSignature( | |
| 2142 instantiate, kPrettyName, TypeArguments::Handle()); | |
| 2143 } | |
| 2144 | |
| 2145 // Build a string of the form '(T, {b: B, c: C}) => R' representing the | 2133 // Build a string of the form '(T, {b: B, c: C}) => R' representing the |
| 2146 // user visible signature of the given function. In this example, T and R are | 2134 // user visible signature of the given function. In this example, T and R are |
| 2147 // type parameters of class C, the owner of the function, also called the | 2135 // type parameters of class C, the owner of the function, also called the |
| 2148 // scope class of the function type. | 2136 // scope class of the function type. |
| 2149 // Implicit parameters are hidden, as well as the prefix denoting the | 2137 // Implicit parameters are hidden, as well as the prefix denoting the |
| 2150 // scope class and its type parameters. | 2138 // scope class and its type parameters. |
| 2151 RawString* UserVisibleSignature() const { | 2139 RawString* UserVisibleSignature() const { |
| 2152 const bool instantiate = false; | 2140 const bool instantiate = false; |
| 2153 return BuildSignature( | 2141 return BuildSignature( |
| 2154 instantiate, kUserVisibleName, TypeArguments::Handle()); | 2142 instantiate, kUserVisibleName, TypeArguments::Handle()); |
| (...skipping 636 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2791 RawInstance* implicit_static_closure() const; | 2779 RawInstance* implicit_static_closure() const; |
| 2792 void set_implicit_static_closure(const Instance& closure) const; | 2780 void set_implicit_static_closure(const Instance& closure) const; |
| 2793 RawScript* eval_script() const; | 2781 RawScript* eval_script() const; |
| 2794 void set_eval_script(const Script& value) const; | 2782 void set_eval_script(const Script& value) const; |
| 2795 void set_num_optional_parameters(intptr_t value) const; // Encoded value. | 2783 void set_num_optional_parameters(intptr_t value) const; // Encoded value. |
| 2796 void set_kind_tag(intptr_t value) const; | 2784 void set_kind_tag(intptr_t value) const; |
| 2797 void set_data(const Object& value) const; | 2785 void set_data(const Object& value) const; |
| 2798 | 2786 |
| 2799 static RawFunction* New(); | 2787 static RawFunction* New(); |
| 2800 | 2788 |
| 2789 RawString* QualifiedName(NameVisibility name_visibility) const; |
| 2790 |
| 2801 void BuildSignatureParameters( | 2791 void BuildSignatureParameters( |
| 2802 bool instantiate, | 2792 bool instantiate, |
| 2803 NameVisibility name_visibility, | 2793 NameVisibility name_visibility, |
| 2804 const TypeArguments& instantiator, | 2794 const TypeArguments& instantiator, |
| 2805 GrowableHandlePtrArray<const String>* pieces) const; | 2795 GrowableHandlePtrArray<const String>* pieces) const; |
| 2806 RawString* BuildSignature(bool instantiate, | 2796 RawString* BuildSignature(bool instantiate, |
| 2807 NameVisibility name_visibility, | 2797 NameVisibility name_visibility, |
| 2808 const TypeArguments& instantiator) const; | 2798 const TypeArguments& instantiator) const; |
| 2809 | 2799 |
| 2810 // Checks the type of the formal parameter at the given position for | 2800 // Checks the type of the formal parameter at the given position for |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2885 FINAL_HEAP_OBJECT_IMPLEMENTATION(RedirectionData, Object); | 2875 FINAL_HEAP_OBJECT_IMPLEMENTATION(RedirectionData, Object); |
| 2886 friend class Class; | 2876 friend class Class; |
| 2887 friend class Function; | 2877 friend class Function; |
| 2888 friend class HeapProfiler; | 2878 friend class HeapProfiler; |
| 2889 }; | 2879 }; |
| 2890 | 2880 |
| 2891 | 2881 |
| 2892 class Field : public Object { | 2882 class Field : public Object { |
| 2893 public: | 2883 public: |
| 2894 RawString* name() const { return raw_ptr()->name_; } | 2884 RawString* name() const { return raw_ptr()->name_; } |
| 2895 RawString* PrettyName() const; | 2885 RawString* UserVisibleName() const; // Same as scrubbed name. |
| 2896 RawString* UserVisibleName() const; | |
| 2897 virtual RawString* DictionaryName() const { return name(); } | 2886 virtual RawString* DictionaryName() const { return name(); } |
| 2898 | 2887 |
| 2899 bool is_static() const { return StaticBit::decode(raw_ptr()->kind_bits_); } | 2888 bool is_static() const { return StaticBit::decode(raw_ptr()->kind_bits_); } |
| 2900 bool is_final() const { return FinalBit::decode(raw_ptr()->kind_bits_); } | 2889 bool is_final() const { return FinalBit::decode(raw_ptr()->kind_bits_); } |
| 2901 bool is_const() const { return ConstBit::decode(raw_ptr()->kind_bits_); } | 2890 bool is_const() const { return ConstBit::decode(raw_ptr()->kind_bits_); } |
| 2902 bool is_reflectable() const { | 2891 bool is_reflectable() const { |
| 2903 return ReflectableBit::decode(raw_ptr()->kind_bits_); | 2892 return ReflectableBit::decode(raw_ptr()->kind_bits_); |
| 2904 } | 2893 } |
| 2905 void set_is_reflectable(bool value) const { | 2894 void set_is_reflectable(bool value) const { |
| 2906 set_kind_bits(ReflectableBit::update(value, raw_ptr()->kind_bits_)); | 2895 set_kind_bits(ReflectableBit::update(value, raw_ptr()->kind_bits_)); |
| (...skipping 1605 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4512 kInvalidPc = -1 | 4501 kInvalidPc = -1 |
| 4513 }; | 4502 }; |
| 4514 | 4503 |
| 4515 uword GetLazyDeoptPc() const; | 4504 uword GetLazyDeoptPc() const; |
| 4516 | 4505 |
| 4517 // Find pc, return 0 if not found. | 4506 // Find pc, return 0 if not found. |
| 4518 uword GetPcForDeoptId(intptr_t deopt_id, RawPcDescriptors::Kind kind) const; | 4507 uword GetPcForDeoptId(intptr_t deopt_id, RawPcDescriptors::Kind kind) const; |
| 4519 intptr_t GetDeoptIdForOsr(uword pc) const; | 4508 intptr_t GetDeoptIdForOsr(uword pc) const; |
| 4520 | 4509 |
| 4521 RawString* Name() const; | 4510 RawString* Name() const; |
| 4522 RawString* PrettyName() const; | 4511 RawString* QualifiedName() const; |
| 4523 | 4512 |
| 4524 int64_t compile_timestamp() const { | 4513 int64_t compile_timestamp() const { |
| 4525 return raw_ptr()->compile_timestamp_; | 4514 return raw_ptr()->compile_timestamp_; |
| 4526 } | 4515 } |
| 4527 | 4516 |
| 4528 intptr_t lazy_deopt_pc_offset() const { | 4517 intptr_t lazy_deopt_pc_offset() const { |
| 4529 return raw_ptr()->lazy_deopt_pc_offset_; | 4518 return raw_ptr()->lazy_deopt_pc_offset_; |
| 4530 } | 4519 } |
| 4531 void set_lazy_deopt_pc_offset(intptr_t pc) const { | 4520 void set_lazy_deopt_pc_offset(intptr_t pc) const { |
| 4532 StoreNonPointer(&raw_ptr()->lazy_deopt_pc_offset_, pc); | 4521 StoreNonPointer(&raw_ptr()->lazy_deopt_pc_offset_, pc); |
| (...skipping 779 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5312 // Otherwise, if the trail is null, allocate a trail, add the pair <receiver, | 5301 // Otherwise, if the trail is null, allocate a trail, add the pair <receiver, |
| 5313 // buddy> to the trail and return false. | 5302 // buddy> to the trail and return false. |
| 5314 // The receiver may be added several times, each time with a different buddy. | 5303 // The receiver may be added several times, each time with a different buddy. |
| 5315 bool TestAndAddBuddyToTrail(TrailPtr* trail, const AbstractType& buddy) const; | 5304 bool TestAndAddBuddyToTrail(TrailPtr* trail, const AbstractType& buddy) const; |
| 5316 | 5305 |
| 5317 // The name of this type, including the names of its type arguments, if any. | 5306 // The name of this type, including the names of its type arguments, if any. |
| 5318 virtual RawString* Name() const { | 5307 virtual RawString* Name() const { |
| 5319 return BuildName(kInternalName); | 5308 return BuildName(kInternalName); |
| 5320 } | 5309 } |
| 5321 | 5310 |
| 5322 virtual RawString* PrettyName() const { | |
| 5323 return BuildName(kPrettyName); | |
| 5324 } | |
| 5325 | |
| 5326 // The name of this type, including the names of its type arguments, if any. | 5311 // The name of this type, including the names of its type arguments, if any. |
| 5327 // Names of internal classes are mapped to their public interfaces. | 5312 // Names of internal classes are mapped to their public interfaces. |
| 5328 virtual RawString* UserVisibleName() const { | 5313 virtual RawString* UserVisibleName() const { |
| 5329 return BuildName(kUserVisibleName); | 5314 return BuildName(kUserVisibleName); |
| 5330 } | 5315 } |
| 5331 | 5316 |
| 5332 virtual intptr_t Hash() const; | 5317 virtual intptr_t Hash() const; |
| 5333 | 5318 |
| 5334 // The name of this type's class, i.e. without the type argument names of this | 5319 // The name of this type's class, i.e. without the type argument names of this |
| 5335 // type. | 5320 // type. |
| (...skipping 1177 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6513 | 6498 |
| 6514 static RawString* Transform(int32_t (*mapping)(int32_t ch), | 6499 static RawString* Transform(int32_t (*mapping)(int32_t ch), |
| 6515 const String& str, | 6500 const String& str, |
| 6516 Heap::Space space = Heap::kNew); | 6501 Heap::Space space = Heap::kNew); |
| 6517 | 6502 |
| 6518 static RawString* ToUpperCase(const String& str, | 6503 static RawString* ToUpperCase(const String& str, |
| 6519 Heap::Space space = Heap::kNew); | 6504 Heap::Space space = Heap::kNew); |
| 6520 static RawString* ToLowerCase(const String& str, | 6505 static RawString* ToLowerCase(const String& str, |
| 6521 Heap::Space space = Heap::kNew); | 6506 Heap::Space space = Heap::kNew); |
| 6522 | 6507 |
| 6523 static RawString* IdentifierPrettyName(const String& name); | 6508 static RawString* ScrubName(const String& name); |
| 6524 static RawString* IdentifierPrettyNameRetainPrivate(const String& name); | 6509 static RawString* ScrubNameRetainPrivate(const String& name); |
| 6525 | 6510 |
| 6526 static bool EqualsIgnoringPrivateKey(const String& str1, | 6511 static bool EqualsIgnoringPrivateKey(const String& str1, |
| 6527 const String& str2); | 6512 const String& str2); |
| 6528 | 6513 |
| 6529 static RawString* NewFormatted(const char* format, ...) | 6514 static RawString* NewFormatted(const char* format, ...) |
| 6530 PRINTF_ATTRIBUTE(1, 2); | 6515 PRINTF_ATTRIBUTE(1, 2); |
| 6531 static RawString* NewFormatted(Heap::Space space, const char* format, ...) | 6516 static RawString* NewFormatted(Heap::Space space, const char* format, ...) |
| 6532 PRINTF_ATTRIBUTE(2, 3); | 6517 PRINTF_ATTRIBUTE(2, 3); |
| 6533 static RawString* NewFormattedV(const char* format, va_list args, | 6518 static RawString* NewFormattedV(const char* format, va_list args, |
| 6534 Heap::Space space = Heap::kNew); | 6519 Heap::Space space = Heap::kNew); |
| (...skipping 1892 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 8427 | 8412 |
| 8428 | 8413 |
| 8429 RawObject* MegamorphicCache::GetTargetFunction(const Array& array, | 8414 RawObject* MegamorphicCache::GetTargetFunction(const Array& array, |
| 8430 intptr_t index) { | 8415 intptr_t index) { |
| 8431 return array.At((index * kEntryLength) + kTargetFunctionIndex); | 8416 return array.At((index * kEntryLength) + kTargetFunctionIndex); |
| 8432 } | 8417 } |
| 8433 | 8418 |
| 8434 } // namespace dart | 8419 } // namespace dart |
| 8435 | 8420 |
| 8436 #endif // VM_OBJECT_H_ | 8421 #endif // VM_OBJECT_H_ |
| OLD | NEW |