Lines Matching defs:obj
587 GateRef StubBuilder::CreateDataProperty(GateRef glue, GateRef obj, GateRef propKey, GateRef value)
602 auto flag = DefinePropertyByValue(glue, obj, propKey, value, SCheckModelIsCHECK, ProfileOperation());
614 GateRef temp = CallRuntime(glue, RTSTUB_ID(DefineOwnProperty), {obj, propKey, value});
630 GateRef StubBuilder::CreateDataPropertyOrThrow(GateRef glue, GateRef obj, GateRef key, GateRef value)
645 CanNotConvertNotValidObject(obj);
659 result = CreateDataProperty(glue, obj, key, value);
679 GateRef StubBuilder::DefineField(GateRef glue, GateRef obj, GateRef propKey, GateRef value)
692 BRANCH(IsEcmaObject(obj), &isObj, ¬Obj);
700 CreateDataPropertyOrThrow(glue, obj, *key, value);
998 GateRef StubBuilder::JSObjectGetProperty(GateRef obj, GateRef hclass, GateRef attr)
1014 result = GetPropertyInlinedProps(obj, hclass, attrOffset);
1021 Load(VariableType::INT64(), obj, IntPtr(JSObject::PROPERTIES_OFFSET));
1055 GateRef glue, GateRef obj, GateRef hclass, GateRef attr, GateRef key, GateRef value)
1069 SetValueWithAttr(glue, obj, offset, key, value, attr);
1075 GateRef array = Load(VariableType::JS_POINTER(), obj,
1705 void StubBuilder::SetValueWithAttr(GateRef glue, GateRef obj, GateRef offset, GateRef key, GateRef value, GateRef attr)
1714 SetValueWithRep(glue, obj, offset, value, rep, &repChange);
1719 TransitionForRepChange(glue, obj, key, attr);
1720 Store(VariableType::JS_ANY(), glue, obj, offset, value);
1728 GateRef glue, GateRef obj, GateRef offset, GateRef value, GateRef rep, Label *repChange)
1746 Store(VariableType::FLOAT64(), glue, obj, offset, result);
1758 Store(VariableType::FLOAT64(), glue, obj, offset, result);
1780 Store(VariableType::INT32(), glue, obj, offset, result);
1790 Store(VariableType::JS_ANY(), glue, obj, offset, value);
1800 void StubBuilder::VerifyBarrier(GateRef glue, GateRef obj, [[maybe_unused]] GateRef offset, GateRef value)
1806 // ObjectAddressToRange function may cause obj is not an object. GC may not mark this obj.
1807 GateRef objectRegion = ObjectAddressToRange(obj);
1822 void StubBuilder::SetValueWithBarrier(GateRef glue, GateRef obj, GateRef offset, GateRef value, bool withEden,
1829 // ObjectAddressToRange function may cause obj is not an object. GC may not mark this obj.
1830 GateRef objectRegion = ObjectAddressToRange(obj);
1855 SetSValueWithBarrier(glue, obj, offset, value, objectRegion, valueRegion);
1860 SetNonSValueWithBarrier(glue, obj, offset, value, objectRegion, valueRegion, withEden);
1870 SetSValueWithBarrier(glue, obj, offset, value, objectRegion, valueRegion);
1875 SetNonSValueWithBarrier(glue, obj, offset, value, objectRegion, valueRegion, withEden);
1887 void StubBuilder::SetSValueWithBarrier(GateRef glue, GateRef obj, GateRef offset, GateRef value, GateRef objectRegion,
1913 GateRef slotAddr = PtrAdd(TaggedCastToIntPtr(obj), offset);
1940 CallNGCRuntime(glue, RTSTUB_ID(InsertLocalToShareRSet), { glue, obj, offset });
1963 void StubBuilder::SetNonSValueWithBarrier(GateRef glue, GateRef obj, GateRef offset, GateRef value,
1993 GateRef slotAddr = PtrAdd(TaggedCastToIntPtr(obj), offset);
2012 CallNGCRuntime(glue, RTSTUB_ID(InsertOldToNewRSet), { glue, obj, offset });
2031 GateRef slotAddr = PtrAdd(TaggedCastToIntPtr(obj), offset);
2050 CallNGCRuntime(glue, RTSTUB_ID(InsertNewToEdenRSet), { glue, obj, offset });
2067 CallNGCRuntime(glue, RTSTUB_ID(MarkingBarrier), {glue, obj, offset, value});
2075 GateRef StubBuilder::TaggedIsBigInt(GateRef obj)
2083 BRANCH(TaggedIsHeapObject(obj), &isHeapObject, &exit);
2086 result = Int32Equal(GetObjectType(LoadHClass(obj)),
2096 GateRef StubBuilder::TaggedIsPropertyBox(GateRef obj)
2104 BRANCH(TaggedIsHeapObject(obj), &isHeapObject, &exit);
2107 GateRef type = GetObjectType(LoadHClass(obj));
5404 GateRef StubBuilder::FastTypeOf(GateRef glue, GateRef obj)
5421 BRANCH(TaggedIsTrue(obj), &objIsTrue, &objNotTrue);
5431 BRANCH(TaggedIsFalse(obj), &objIsFalse, &objNotFalse);
5441 BRANCH(TaggedIsNull(obj), &objIsNull, &objNotNull);
5452 BRANCH(TaggedIsUndefined(obj), &objIsUndefined, &objNotUndefined);
5468 BRANCH(TaggedIsHeapObject(obj), &objIsHeapObject, &objNotHeapObject);
5473 BRANCH(IsString(obj), &objIsString, &objNotString);
5484 BRANCH(IsSymbol(obj), &objIsSymbol, &objNotSymbol);
5495 BRANCH(IsCallable(obj), &objIsCallable, &objNotCallable);
5506 BRANCH(TaggedObjectIsBigInt(obj), &objIsBigInt, &objNotBigInt);
5517 BRANCH(IsNativeModuleFailureInfo(obj), &objIsNativeModuleFailureInfo,
5540 BRANCH(TaggedIsNumber(obj), &objIsNum, &objNotNum);
5672 GateRef StubBuilder::GetMethod(GateRef glue, GateRef obj, GateRef key, GateRef profileTypeInfo, GateRef slotId)
5682 GateRef value = builder.LoadObjByName(glue, obj, key, info, profileTypeInfo, slotId, ProfileOperation());
5728 GateRef StubBuilder::FastGetPropertyByName(GateRef glue, GateRef obj, GateRef key, ProfileOperation callback)
5739 BRANCH(TaggedIsHeapObject(obj), &fastpath, &slowpath);
5742 result = GetPropertyByName(glue, obj, key, callback, True());
5747 result = CallRuntime(glue, RTSTUB_ID(LoadICByName), { Undefined(), obj, key, IntToTaggedInt(Int32(0)) });
5756 GateRef StubBuilder::FastGetPropertyByIndex(GateRef glue, GateRef obj,
5767 BRANCH(TaggedIsHeapObject(obj), &fastPath, &slowPath);
5770 result = GetPropertyByIndex(glue, obj, index, callback, hir);
5777 { obj, IntToTaggedInt(index), TaggedFalse(), Undefined() });
5786 void StubBuilder::FastSetPropertyByName(GateRef glue, GateRef obj, GateRef key, GateRef value,
5798 BRANCH(TaggedIsHeapObject(obj), &fastPath, &slowPath);
5832 result = SetPropertyByName(glue, obj, *keyVar, value, false, *isInternal, callback, true);
5838 result = CallRuntime(glue, RTSTUB_ID(StoreICByValue), { obj, *keyVar, value, IntToTaggedInt(Int32(0)) });
5845 void StubBuilder::FastSetPropertyByIndex(GateRef glue, GateRef obj, GateRef index, GateRef value)
5855 BRANCH(TaggedIsHeapObject(obj), &fastPath, &slowPath);
5858 result = SetPropertyByIndex(glue, obj, index, value, false);
5865 { obj, IntToTaggedInt(index), value });
5933 GateRef StubBuilder::OrdinaryHasInstance(GateRef glue, GateRef target, GateRef obj)
5940 DEFVARIABLE(object, VariableType::JS_ANY(), obj);
5962 result = CallRuntime(glue, RTSTUB_ID(InstanceOf), { obj, boundTarget });
5971 BRANCH(TaggedIsHeapObject(obj), &objIsHeapObject, &objNotEcmaObject);
5973 BRANCH(TaggedObjectIsEcmaObject(obj), &objIsEcmaObject, &objNotEcmaObject);
7933 GateRef StubBuilder::DeletePropertyOrThrow(GateRef glue, GateRef obj, GateRef value)
7945 GateRef object = ToObject(glue, obj);
7974 GateRef StubBuilder::DeleteProperty(GateRef glue, GateRef obj, GateRef value)
7983 BRANCH(TaggedIsRegularObject(obj), ®ularJSObjDeletePrototype, ¬RegularJSObject);
7986 result = CallRuntime(glue, RTSTUB_ID(RegularJSObjDeletePrototype), { obj, value});
7991 result = CallRuntime(glue, RTSTUB_ID(CallJSObjDeletePrototype), { obj, value});
8001 GateRef StubBuilder::ToPrototypeOrObj(GateRef glue, GateRef obj)
8007 DEFVARIABLE(result, VariableType::JS_ANY(), obj);
8018 BRANCH(TaggedIsNumber(obj), &isNumber, ¬Number);
8025 BRANCH(TaggedIsBoolean(obj), &isBoolean, ¬Boolean);
8032 BRANCH(TaggedIsString(obj), &isString, ¬String);
8039 BRANCH(TaggedIsSymbol(obj), &isSymbol, ¬Symbol);
8046 BRANCH(TaggedIsBigInt(obj), &isBigInt, &exit);
8058 GateRef StubBuilder::IsSpecialKeysObject(GateRef obj)
8060 return LogicOrBuilder(env_).Or(IsTypedArray(obj)).Or(IsModuleNamespace(obj)).Or(ObjIsSpecialContainer(obj)).Done();
8063 GateRef StubBuilder::IsSlowKeysObject(GateRef obj)
8072 BRANCH(TaggedIsHeapObject(obj), &isHeapObject, &exit);
8075 result = LogicOrBuilder(env).Or(IsJSGlobalObject(obj)).Or(IsJsProxy(obj)).Or(IsSpecialKeysObject(obj)).Done();
8084 GateRef StubBuilder::GetNumberOfElements(GateRef obj)
8099 BRANCH(IsJSPrimitiveRef(obj), &isJSPrimitiveRef, ¬PrimitiveString);
8101 GateRef value = Load(VariableType::JS_ANY(), obj, IntPtr(JSPrimitiveRef::VALUE_OFFSET));
8109 GateRef elements = GetElementsArray(obj);
8124 GateRef element = GetTaggedValueWithElementsKind(obj, *i);
8148 GateRef StubBuilder::IsSimpleEnumCacheValid(GateRef obj)
8159 GateRef numOfElements = GetNumberOfElements(obj);
8168 current = GetPrototypeFromHClass(LoadHClass(obj));
8196 GateRef StubBuilder::IsEnumCacheWithProtoChainInfoValid(GateRef obj)
8210 GateRef numOfElements = GetNumberOfElements(obj);
8213 GateRef prototype = GetPrototypeFromHClass(LoadHClass(obj));
8250 GateRef StubBuilder::TryGetEnumCache(GateRef glue, GateRef obj)
8265 BRANCH(IsSlowKeysObject(obj), &exit, ¬SlowKeys);
8267 GateRef hclass = LoadHClass(obj);
8276 BRANCH(IsSimpleEnumCacheValid(obj), &enumCacheValid, &exit);
8283 BRANCH(IsEnumCacheWithProtoChainInfoValid(obj), &enumCacheValid, &exit);
8492 GateRef StubBuilder::GetIterator(GateRef glue, GateRef obj, ProfileOperation callback)
8509 result = FastGetPropertyByName(glue, obj, iteratorKey, ProfileOperation());
8524 callArgs.callGetterArgs = { obj };
9005 GateRef StubBuilder::HasStableElements(GateRef glue, GateRef obj)
9014 BRANCH(TaggedIsHeapObject(obj), &targetIsHeapObject, &exit);
9017 GateRef jsHclass = LoadHClass(obj);
9033 GateRef StubBuilder::IsStableJSArguments(GateRef glue, GateRef obj)
9043 BRANCH(TaggedIsHeapObject(obj), &targetIsHeapObject, &exit);
9046 GateRef jsHclass = LoadHClass(obj);
9062 GateRef StubBuilder::IsStableJSArray(GateRef glue, GateRef obj)
9072 BRANCH(TaggedIsHeapObject(obj), &targetIsHeapObject, &exit);
9075 GateRef jsHclass = LoadHClass(obj);