Home
last modified time | relevance | path

Searched refs:ElementsKind (Results 1 - 25 of 69) sorted by relevance

123

/arkcompiler/ets_runtime/ecmascript/
H A Delements.h39 enum class ElementsKind : uint8_t { class
58 static CMap<ElementsKind, std::pair<ConstantIndex, ConstantIndex>> InitializeHClassMap();
60 static std::string GetString(ElementsKind kind);
61 static bool IsInt(ElementsKind kind);
62 static bool IsNumber(ElementsKind kind);
63 static bool IsTagged(ElementsKind kind);
64 static bool IsObject(ElementsKind kind);
65 static bool IsHole(ElementsKind kind);
66 static bool IsGeneric(ElementsKind kind) in IsGeneric()
68 return kind == ElementsKind in IsGeneric()
[all...]
H A Delements.cpp21 CMap<ElementsKind, std::pair<ConstantIndex, ConstantIndex>> Elements::InitializeHClassMap() in InitializeHClassMap()
23 CMap<ElementsKind, std::pair<ConstantIndex, ConstantIndex>> result; in InitializeHClassMap()
25 result.emplace(ElementsKind::name, std::make_pair(ConstantIndex::ELEMENT_##name##_HCLASS_INDEX, \ in InitializeHClassMap()
32 std::string Elements::GetString(ElementsKind kind) in GetString()
37 bool Elements::IsInt(ElementsKind kind) in IsInt()
39 return kind == ElementsKind::INT; in IsInt()
42 bool Elements::IsNumber(ElementsKind kind) in IsNumber()
44 return kind == ElementsKind::NUMBER; in IsNumber()
47 bool Elements::IsTagged(ElementsKind kind) in IsTagged()
49 return kind == ElementsKind in IsTagged()
[all...]
H A Delement_accessor.cpp26 ElementsKind kind = receiver->GetClass()->GetElementsKind(); in Get()
28 kind = ElementsKind::GENERIC; in Get()
42 ElementsKind kind = receiver->GetClass()->GetElementsKind(); in Get()
44 kind = ElementsKind::GENERIC; in Get()
54 JSTaggedValue ElementAccessor::FastGet(JSHandle<TaggedArray> elements, uint32_t idx, ElementsKind kind) in FastGet()
87 JSTaggedValue ElementAccessor::GetTaggedValueWithElementsKind(JSTaggedType rawValue, ElementsKind kind) in GetTaggedValueWithElementsKind()
94 case ElementsKind::INT: in GetTaggedValueWithElementsKind()
95 case ElementsKind::HOLE_INT: in GetTaggedValueWithElementsKind()
98 case ElementsKind::NUMBER: in GetTaggedValueWithElementsKind()
99 case ElementsKind in GetTaggedValueWithElementsKind()
[all...]
H A Delement_accessor-inl.h30 const JSHandle<T> &value, bool needTransition, ElementsKind extraKind) in Set()
33 ElementsKind oldKind = receiver->GetClass()->GetElementsKind(); in Set()
36 ElementsKind newKind = receiver->GetClass()->GetElementsKind(); in Set()
45 ElementsKind kind = receiver->GetClass()->GetElementsKind(); in Set()
47 kind = ElementsKind::GENERIC; in Set()
61 const JSHandle<T> &value, ElementsKind kind) in FastSet()
67 case ElementsKind::INT: in FastSet()
71 case ElementsKind::NUMBER: in FastSet()
81 case ElementsKind::TAGGED: in FastSet()
89 LOG_ECMA(FATAL) << "Trying to Convert TaggedValue With Unknown ElementsKind"; in FastSet()
[all...]
H A Delement_accessor.h30 static JSTaggedValue PUBLIC_API FastGet(JSHandle<TaggedArray> elements, uint32_t idx, ElementsKind kind);
34 bool needTransition, ElementsKind extraKind = ElementsKind::NONE);
38 const JSHandle<T> &value, ElementsKind kind);
45 static JSTaggedValue GetTaggedValueWithElementsKind(JSTaggedType rawValue, ElementsKind kind);
51 static JSTaggedType PUBLIC_API ConvertTaggedValueWithElementsKind(JSTaggedValue rawValue, ElementsKind kind);
H A Djs_array.cpp104 JSHClass::TransitToElementsKind(thread, newArray, ElementsKind::GENERIC); in ArrayCreate()
106 JSHClass::TransitToElementsKind(thread, newArray, ElementsKind::HOLE); in ArrayCreate()
254 // Update ElementsKind after reset array length. in SetCapacity()
255 // Add this switch because we do not support ElementsKind for instance from new Array in SetCapacity()
257 ElementsKind oldKind = array->GetClass()->GetElementsKind(); in SetCapacity()
262 ElementsKind newKind = ElementsKind::GENERIC; in SetCapacity()
264 ElementsKind newKind = ElementsKind::NONE; in SetCapacity()
272 if (newKind == ElementsKind in SetCapacity()
[all...]
H A Djs_array.h159 FIRST_BIT_FIELD(BitField, ElementsKind, ElementsKind, ELEMENTS_KIND_BITS);
160 NEXT_BIT_FIELD(BitField, SpaceFlag, RegionSpaceFlag, SPACE_FALG_BITS, ElementsKind);
H A Djs_stable_array.cpp808 ElementsKind kind = ElementsKind::GENERIC; in FindRawData()
852 ElementsKind kind = ElementsKind::GENERIC; in FindLastRawData()
1130 ElementsKind kind = thisObjHandle->GetClass()->GetElementsKind();
1134 if (kind == ElementsKind::INT || kind == ElementsKind::HOLE_INT) {
1135 return FastReverse(thread, elements, lower, len, ElementsKind::INT);
1136 } else if (kind == ElementsKind::NUMBER || kind == ElementsKind
[all...]
H A Djs_hclass.h390 using ElementsKindBits = IsPrototypeBit::NextField<ElementsKind, ELEMENTS_KIND_BITFIELD_NUM>; // 13-17
438 const ElementsKind kind, bool isPrototype);
474 const ElementsKind newKind);
476 const ElementsKind targetKind);
478 ElementsKind newKind);
480 ElementsKind newKind = ElementsKind::NONE);
483 ElementsKind kind = ElementsKind::NONE);
1784 inline void SetElementsKind(ElementsKind kin
[all...]
H A Djs_hclass.cpp144 SetElementsKind(ElementsKind::GENERIC); in InitializeWithDefaultValue()
240 const ElementsKind kind, bool isPrototype) in CloneWithElementsKind()
265 obj->GetJSHClass()->SetElementsKind(ElementsKind::DICTIONARY); in TransitionElementsToDictionary()
277 obj->GetJSHClass()->SetElementsKind(ElementsKind::HOLE_TAGGED); in OptimizeAsFastElements()
291 // Because we currently only supports Fast ElementsKind in AddProperty()
318 // Because we currently only supports Fast ElementsKind in AddProperty()
658 const ElementsKind targetKind) in IsInitialArrayHClassWithElementsKind()
675 ElementsKind newKind) in TransitToElementsKindUncheck()
677 ElementsKind current = obj->GetJSHClass()->GetElementsKind(); in TransitToElementsKindUncheck()
703 ElementsKind newKin in TransitToElementsKind()
[all...]
/arkcompiler/ets_runtime/ecmascript/compiler/
H A Dhcr_gate_meta_data.h96 void SetElementsKind(ElementsKind kind) in SetElementsKind()
101 ElementsKind GetElementsKind() const in GetElementsKind()
105 return ElementsKind::GENERIC; in GetElementsKind()
110 std::vector<ElementsKind> GetElementsKinds() const in GetElementsKinds()
115 void SetTransitionElementsKind(ElementsKind kind) in SetTransitionElementsKind()
120 ElementsKind GetTransitionElementsKind() const in GetTransitionElementsKind()
124 return ElementsKind::GENERIC; in GetTransitionElementsKind()
129 std::vector<ElementsKind> GetTransitionElementsKinds() const in GetTransitionElementsKinds()
176 std::vector<ElementsKind> elementsKinds_ {};
177 std::vector<ElementsKind> transitionElementsKinds
[all...]
H A Dshare_gate_meta_data.h505 explicit ArrayMetaDataAccessor(ElementsKind kind, Mode mode, in ArrayMetaDataAccessor()
517 ElementsKind GetElementsKind() const in GetElementsKind()
527 void SetElementsKind(ElementsKind kind) in SetElementsKind()
563 using ElementsKindBits = panda::BitField<ElementsKind, 0, BITS_SIZE>;
581 explicit CreateArgumentsAccessor(ElementsKind kind, Mode mode) in CreateArgumentsAccessor()
594 using ElementsKindBits = panda::BitField<ElementsKind, 0, BITS_SIZE>;
633 explicit BuiltinPrototypeHClassAccessor(BuiltinTypeId type, ElementsKind kind, in BuiltinPrototypeHClassAccessor()
642 ElementsKind GetElementsKind() const in GetElementsKind()
664 using ElementsKindBits = BuiltinTypeIdBits::NextField<ElementsKind, WORD_BITS_SIZE>;
H A Dntype_bytecode_lowering.cpp204 ElementsKind kind = acc_.TryGetElementsKind(gate); in LowerNTypedCreateEmptyArray()
226 ElementsKind kind = acc_.TryGetElementsKind(gate); in LowerNTypedCreateArrayWithBuffer()
240 ElementsKind kind = acc_.TryGetElementsKind(gate); in LowerNTypedCopyRestArgs()
251 ElementsKind kind = acc_.TryGetElementsKind(gate); in LowerNTypedGetUnmappedArgs()
274 acc_.TrySetElementsKind(receiver, ElementsKind::HOLE); in LowerNTypedStownByIndex()
H A Dgate_accessor.h397 ElementsKind GetElementsKind(GateRef gate) const;
398 void SetElementsKind(GateRef gate, ElementsKind kind);
441 ElementsKind TryGetElementsKind(GateRef gate) const;
442 ElementsKind TryGetArrayElementsKind(GateRef gate) const;
443 ElementsKind TryGetArrayElementsKindAfterTransition(GateRef gate) const;
444 void TrySetElementsKind(GateRef gate, ElementsKind kind);
445 void TrySetTransitionElementsKind(GateRef gate, ElementsKind kind);
H A Daot_compilation_env.h34 const CMap<ElementsKind, std::pair<ConstantIndex, ConstantIndex>> &GetArrayHClassIndexMap() const override;
H A Dgate_accessor.cpp213 ElementsKind GateAccessor::GetElementsKind(GateRef gate) const in GetElementsKind()
222 void GateAccessor::SetElementsKind(GateRef gate, ElementsKind kind) in SetElementsKind()
694 ElementsKind GateAccessor::TryGetElementsKind(GateRef gate) const in TryGetElementsKind()
701 return ElementsKind::GENERIC; in TryGetElementsKind()
705 ElementsKind GateAccessor::TryGetArrayElementsKind(GateRef gate) const in TryGetArrayElementsKind()
710 ElementsKind kind = gatePtr->GetJSBytecodeMetaData()->GetElementsKind(); in TryGetArrayElementsKind()
714 std::vector<ElementsKind> kinds = gatePtr->GetJSBytecodeMetaData()->GetElementsKinds(); in TryGetArrayElementsKind()
720 return ElementsKind::GENERIC; in TryGetArrayElementsKind()
723 ElementsKind GateAccessor::TryGetArrayElementsKindAfterTransition(GateRef gate) const in TryGetArrayElementsKindAfterTransition()
728 ElementsKind kin in TryGetArrayElementsKindAfterTransition()
[all...]
/arkcompiler/ets_runtime/ecmascript/compiler/pgo_type/
H A Dpgo_type_recorder.cpp45 std::vector<ElementsKind> PGOTypeRecorder::GetElementsKindsForUser(int32_t offset) const in GetElementsKindsForUser()
47 std::vector<ElementsKind> elementsKinds; in GetElementsKindsForUser()
49 elementsKinds.emplace_back(ElementsKind::GENERIC); in GetElementsKindsForUser()
55 elementsKinds.emplace_back(ElementsKind::GENERIC); in GetElementsKindsForUser()
70 std::vector<ElementsKind> PGOTypeRecorder::GetTransitionElementsKindsForUser(int32_t offset) const in GetTransitionElementsKindsForUser()
72 std::vector<ElementsKind> elementsKinds; in GetTransitionElementsKindsForUser()
74 elementsKinds.emplace_back(ElementsKind::GENERIC); in GetTransitionElementsKindsForUser()
80 elementsKinds.emplace_back(ElementsKind::GENERIC); in GetTransitionElementsKindsForUser()
95 ElementsKind PGOTypeRecorder::GetElementsKindForCreater(int32_t offset) const in GetElementsKindForCreater()
101 // When ElementsKind switc in GetElementsKindForCreater()
[all...]
H A Dpgo_type_manager.h68 ElementsKind QueryElementKind(ProfileType rootType);
79 inline ElementsKind GetElementsKindByLocation(PGOTypeLocation loc) in GetElementsKindByLocation()
85 return ElementsKind::GENERIC; in GetElementsKindByLocation()
93 inline void RecordLocationToElementsKind(PGOTypeLocation loc, ElementsKind kind) in RecordLocationToElementsKind()
177 CUnorderedMap<PGOTypeLocation, ElementsKind, HashPGOTypeLocation> locToElmsKindMap_ {};
H A Dpgo_type_recorder.h38 std::vector<ElementsKind> PUBLIC_API GetElementsKindsForUser(int32_t offset) const;
39 std::vector<ElementsKind> PUBLIC_API GetTransitionElementsKindsForUser(int32_t offset) const;
40 ElementsKind PUBLIC_API GetElementsKindForCreater(int32_t offset) const;
/arkcompiler/ets_runtime/ecmascript/pgo_profiler/types/
H A Dpgo_profile_type.h126 using OldElementsKindBits = BuiltinsIdBits::NextField<ElementsKind, OLD_ELEMENTS_KIND_BITFIELD_NUM>;
127 using NewElementsKindBits = OldElementsKindBits::NextField<ElementsKind, NEW_ELEMENTS_KIND_BITFIELD_NUM>;
132 BuiltinsArrayId UpdateElementsKind(ElementsKind kind) in UpdateElementsKind()
138 ElementsKind GetElementsKind() const in GetElementsKind()
143 BuiltinsArrayId UpdateTransitionElementsKind(ElementsKind kind) in UpdateTransitionElementsKind()
149 ElementsKind GetTransitionElementsKind() const in GetTransitionElementsKind()
235 static ProfileType CreateBuiltinsArray(ApEntityId abcId, JSType type, ElementsKind kind, in CreateBuiltinsArray()
236 ElementsKind transitionKind, bool everOutOfBounds) in CreateBuiltinsArray()
493 ElementsKind GetElementsKindBeforeTransition() const in GetElementsKindBeforeTransition()
500 ElementsKind GetElementsKindAfterTransitio
[all...]
/arkcompiler/ets_runtime/ecmascript/compiler/tests/
H A Dmeta_data_equal_test.cpp34 using ecmascript::kungfu::ElementsKind;
150 static_cast<JSBytecodeMetaData *>(const_cast<GateMetaData *>(meta))->SetElementsKind(ElementsKind::NUMBER); in HWTEST_F_L0()
151 static_cast<JSBytecodeMetaData *>(const_cast<GateMetaData *>(meta2))->SetElementsKind(ElementsKind::NUMBER); in HWTEST_F_L0()
169 static_cast<JSBytecodeMetaData *>(const_cast<GateMetaData *>(meta))->SetElementsKind(ElementsKind::NUMBER); in HWTEST_F_L0()
170 static_cast<JSBytecodeMetaData *>(const_cast<GateMetaData *>(meta2))->SetElementsKind(ElementsKind::HOLE_NUMBER); in HWTEST_F_L0()
/arkcompiler/ets_runtime/ecmascript/builtins/
H A Dbuiltins_ark_tools.cpp551 ElementsKind kind = hclass->GetElementsKind(); in GetElementsKind()
796 ElementsKind kind = JSHandle<JSObject>::Cast(arg)->GetClass()->GetElementsKind(); in TestElementsKind()
811 CHECK(isDict == (obj->GetClass()->GetElementsKind() == ElementsKind::DICTIONARY)); in HasDictionaryElements()
817 return TestElementsKind(info, [](ElementsKind kind) { in HasHoleyElements()
818 return (helpers::ToUnderlying(kind) & helpers::ToUnderlying(ElementsKind::HOLE)) != 0; in HasHoleyElements()
824 return TestElementsKind(info, [](ElementsKind kind) { in HasSmiElements()
825 return kind == ElementsKind::INT || kind == ElementsKind::HOLE_INT; in HasSmiElements()
831 return TestElementsKind(info, [](ElementsKind kind) {
832 return kind == ElementsKind
[all...]
/arkcompiler/ets_runtime/ecmascript/jspandafile/
H A Dliteral_data_extractor.h50 ElementsKind *newKind = nullptr, JSHandle<JSTaggedValue> sendableEnv = JSHandle<JSTaggedValue>(),
55 ElementsKind *newKind = nullptr, JSHandle<JSTaggedValue> sendableEnv = JSHandle<JSTaggedValue>(),
H A Dprogram_object.h604 ElementsKind dataKind = ElementsKind::GENERIC; in GetLiteralFromCache()
606 ElementsKind dataKind = ElementsKind::NONE; in GetLiteralFromCache()
617 // for all JSArray, the initial ElementsKind should be NONE in GetLiteralFromCache()
624 ElementsKind oldKind = arr->GetClass()->GetElementsKind(); in GetLiteralFromCache()
626 ElementsKind newKind = arr->GetClass()->GetElementsKind(); in GetLiteralFromCache()
/arkcompiler/ets_runtime/ecmascript/compiler/builtins/
H A Dbuiltins_array_stub_builder.cpp37 GateRef notGeneric = NotEqual(elementsKind, Int32(static_cast<uint32_t>(ElementsKind::GENERIC))); in ElementsKindHclassCompare()
133 Int32(static_cast<uint32_t>(ElementsKind::NONE))); in With()
145 Int32(static_cast<uint32_t>(ElementsKind::NONE))); in With()
151 Int32(static_cast<uint32_t>(ElementsKind::NONE))); in With()
227 .And(Int32GreaterThanOrEqual(kind, Int32(static_cast<int32_t>(ElementsKind::INT)))) in Unshift()
228 .And(Int32LessThanOrEqual(kind, Int32(static_cast<int32_t>(ElementsKind::HOLE_INT)))) in Unshift()
231 .And(Int32GreaterThanOrEqual(kind, Int32(static_cast<int32_t>(ElementsKind::NUMBER)))) in Unshift()
232 .And(Int32LessThanOrEqual(kind, Int32(static_cast<int32_t>(ElementsKind::HOLE_NUMBER)))) in Unshift()
252 Int32(static_cast<uint32_t>(ElementsKind::NONE))); in Unshift()
260 Int32(static_cast<uint32_t>(ElementsKind in Unshift()
[all...]

Completed in 28 milliseconds

123