[CSA][cleanup] SloppyTNode<Map> to TNode<Map>
Also, remove CSA (slow) asserts of "IsMap(map)" where possible. Bug: v8:6949, v8:11074 Change-Id: I99c1ede426681a4ec8e7d8a3cc0138557850e164 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2521155 Reviewed-by: Dan Elphick <delphick@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#71013}
This commit is contained in:
parent
1c093719e4
commit
9db71baa64
@ -1550,8 +1550,7 @@ TNode<BoolT> CodeStubAssembler::TaggedDoesntHaveInstanceType(
|
||||
[=]() { return DoesntHaveInstanceType(any_tagged, type); });
|
||||
}
|
||||
|
||||
TNode<BoolT> CodeStubAssembler::IsSpecialReceiverMap(SloppyTNode<Map> map) {
|
||||
CSA_SLOW_ASSERT(this, IsMap(map));
|
||||
TNode<BoolT> CodeStubAssembler::IsSpecialReceiverMap(TNode<Map> map) {
|
||||
TNode<BoolT> is_special =
|
||||
IsSpecialReceiverInstanceType(LoadMapInstanceType(map));
|
||||
uint32_t mask = Map::Bits1::HasNamedInterceptorBit::kMask |
|
||||
@ -1657,29 +1656,25 @@ TNode<Int32T> CodeStubAssembler::LoadNumberOfOwnDescriptors(TNode<Map> map) {
|
||||
DecodeWord32<Map::Bits3::NumberOfOwnDescriptorsBits>(bit_field3));
|
||||
}
|
||||
|
||||
TNode<Int32T> CodeStubAssembler::LoadMapBitField(SloppyTNode<Map> map) {
|
||||
CSA_SLOW_ASSERT(this, IsMap(map));
|
||||
TNode<Int32T> CodeStubAssembler::LoadMapBitField(TNode<Map> map) {
|
||||
return UncheckedCast<Int32T>(
|
||||
LoadObjectField<Uint8T>(map, Map::kBitFieldOffset));
|
||||
}
|
||||
|
||||
TNode<Int32T> CodeStubAssembler::LoadMapBitField2(SloppyTNode<Map> map) {
|
||||
CSA_SLOW_ASSERT(this, IsMap(map));
|
||||
TNode<Int32T> CodeStubAssembler::LoadMapBitField2(TNode<Map> map) {
|
||||
return UncheckedCast<Int32T>(
|
||||
LoadObjectField<Uint8T>(map, Map::kBitField2Offset));
|
||||
}
|
||||
|
||||
TNode<Uint32T> CodeStubAssembler::LoadMapBitField3(SloppyTNode<Map> map) {
|
||||
CSA_SLOW_ASSERT(this, IsMap(map));
|
||||
TNode<Uint32T> CodeStubAssembler::LoadMapBitField3(TNode<Map> map) {
|
||||
return LoadObjectField<Uint32T>(map, Map::kBitField3Offset);
|
||||
}
|
||||
|
||||
TNode<Uint16T> CodeStubAssembler::LoadMapInstanceType(SloppyTNode<Map> map) {
|
||||
TNode<Uint16T> CodeStubAssembler::LoadMapInstanceType(TNode<Map> map) {
|
||||
return LoadObjectField<Uint16T>(map, Map::kInstanceTypeOffset);
|
||||
}
|
||||
|
||||
TNode<Int32T> CodeStubAssembler::LoadMapElementsKind(SloppyTNode<Map> map) {
|
||||
CSA_SLOW_ASSERT(this, IsMap(map));
|
||||
TNode<Int32T> CodeStubAssembler::LoadMapElementsKind(TNode<Map> map) {
|
||||
TNode<Int32T> bit_field2 = LoadMapBitField2(map);
|
||||
return Signed(DecodeWord32<Map::Bits2::ElementsKindBits>(bit_field2));
|
||||
}
|
||||
@ -1689,27 +1684,21 @@ TNode<Int32T> CodeStubAssembler::LoadElementsKind(
|
||||
return LoadMapElementsKind(LoadMap(object));
|
||||
}
|
||||
|
||||
TNode<DescriptorArray> CodeStubAssembler::LoadMapDescriptors(
|
||||
SloppyTNode<Map> map) {
|
||||
CSA_SLOW_ASSERT(this, IsMap(map));
|
||||
TNode<DescriptorArray> CodeStubAssembler::LoadMapDescriptors(TNode<Map> map) {
|
||||
return LoadObjectField<DescriptorArray>(map, Map::kInstanceDescriptorsOffset);
|
||||
}
|
||||
|
||||
TNode<HeapObject> CodeStubAssembler::LoadMapPrototype(SloppyTNode<Map> map) {
|
||||
CSA_SLOW_ASSERT(this, IsMap(map));
|
||||
TNode<HeapObject> CodeStubAssembler::LoadMapPrototype(TNode<Map> map) {
|
||||
return LoadObjectField<HeapObject>(map, Map::kPrototypeOffset);
|
||||
}
|
||||
|
||||
TNode<IntPtrT> CodeStubAssembler::LoadMapInstanceSizeInWords(
|
||||
SloppyTNode<Map> map) {
|
||||
CSA_SLOW_ASSERT(this, IsMap(map));
|
||||
TNode<IntPtrT> CodeStubAssembler::LoadMapInstanceSizeInWords(TNode<Map> map) {
|
||||
return ChangeInt32ToIntPtr(
|
||||
LoadObjectField<Uint8T>(map, Map::kInstanceSizeInWordsOffset));
|
||||
}
|
||||
|
||||
TNode<IntPtrT> CodeStubAssembler::LoadMapInobjectPropertiesStartInWords(
|
||||
SloppyTNode<Map> map) {
|
||||
CSA_SLOW_ASSERT(this, IsMap(map));
|
||||
TNode<Map> map) {
|
||||
// See Map::GetInObjectPropertiesStartInWords() for details.
|
||||
CSA_ASSERT(this, IsJSObjectMap(map));
|
||||
return ChangeInt32ToIntPtr(LoadObjectField<Uint8T>(
|
||||
@ -1717,16 +1706,14 @@ TNode<IntPtrT> CodeStubAssembler::LoadMapInobjectPropertiesStartInWords(
|
||||
}
|
||||
|
||||
TNode<IntPtrT> CodeStubAssembler::LoadMapConstructorFunctionIndex(
|
||||
SloppyTNode<Map> map) {
|
||||
CSA_SLOW_ASSERT(this, IsMap(map));
|
||||
TNode<Map> map) {
|
||||
// See Map::GetConstructorFunctionIndex() for details.
|
||||
CSA_ASSERT(this, IsPrimitiveInstanceType(LoadMapInstanceType(map)));
|
||||
return ChangeInt32ToIntPtr(LoadObjectField<Uint8T>(
|
||||
map, Map::kInObjectPropertiesStartOrConstructorFunctionIndexOffset));
|
||||
}
|
||||
|
||||
TNode<Object> CodeStubAssembler::LoadMapConstructor(SloppyTNode<Map> map) {
|
||||
CSA_SLOW_ASSERT(this, IsMap(map));
|
||||
TNode<Object> CodeStubAssembler::LoadMapConstructor(TNode<Map> map) {
|
||||
TVARIABLE(Object, result,
|
||||
LoadObjectField(
|
||||
map, Map::kConstructorOrBackPointerOrNativeContextOffset));
|
||||
@ -1748,13 +1735,12 @@ TNode<Object> CodeStubAssembler::LoadMapConstructor(SloppyTNode<Map> map) {
|
||||
return result.value();
|
||||
}
|
||||
|
||||
TNode<WordT> CodeStubAssembler::LoadMapEnumLength(SloppyTNode<Map> map) {
|
||||
CSA_SLOW_ASSERT(this, IsMap(map));
|
||||
TNode<WordT> CodeStubAssembler::LoadMapEnumLength(TNode<Map> map) {
|
||||
TNode<Uint32T> bit_field3 = LoadMapBitField3(map);
|
||||
return DecodeWordFromWord32<Map::Bits3::EnumLengthBits>(bit_field3);
|
||||
}
|
||||
|
||||
TNode<Object> CodeStubAssembler::LoadMapBackPointer(SloppyTNode<Map> map) {
|
||||
TNode<Object> CodeStubAssembler::LoadMapBackPointer(TNode<Map> map) {
|
||||
TNode<HeapObject> object = CAST(LoadObjectField(
|
||||
map, Map::kConstructorOrBackPointerOrNativeContextOffset));
|
||||
return Select<Object>(
|
||||
@ -3430,7 +3416,6 @@ TNode<JSObject> CodeStubAssembler::AllocateJSObjectFromMap(
|
||||
TNode<Map> map, base::Optional<TNode<HeapObject>> properties,
|
||||
base::Optional<TNode<FixedArray>> elements, AllocationFlags flags,
|
||||
SlackTrackingMode slack_tracking_mode) {
|
||||
CSA_ASSERT(this, IsMap(map));
|
||||
CSA_ASSERT(this, Word32BinaryNot(IsJSFunctionMap(map)));
|
||||
CSA_ASSERT(this, Word32BinaryNot(InstanceTypeEqual(LoadMapInstanceType(map),
|
||||
JS_GLOBAL_OBJECT_TYPE)));
|
||||
@ -3448,7 +3433,6 @@ void CodeStubAssembler::InitializeJSObjectFromMap(
|
||||
base::Optional<TNode<HeapObject>> properties,
|
||||
base::Optional<TNode<FixedArray>> elements,
|
||||
SlackTrackingMode slack_tracking_mode) {
|
||||
CSA_SLOW_ASSERT(this, IsMap(map));
|
||||
// This helper assumes that the object is in new-space, as guarded by the
|
||||
// check in AllocatedJSObjectFromMap.
|
||||
if (!properties) {
|
||||
@ -3478,7 +3462,7 @@ void CodeStubAssembler::InitializeJSObjectFromMap(
|
||||
}
|
||||
|
||||
void CodeStubAssembler::InitializeJSObjectBodyNoSlackTracking(
|
||||
SloppyTNode<HeapObject> object, SloppyTNode<Map> map,
|
||||
SloppyTNode<HeapObject> object, TNode<Map> map,
|
||||
SloppyTNode<IntPtrT> instance_size, int start_offset) {
|
||||
STATIC_ASSERT(Map::kNoSlackTracking == 0);
|
||||
CSA_ASSERT(this, IsClearWord32<Map::Bits3::ConstructionCounterBits>(
|
||||
@ -3488,7 +3472,7 @@ void CodeStubAssembler::InitializeJSObjectBodyNoSlackTracking(
|
||||
}
|
||||
|
||||
void CodeStubAssembler::InitializeJSObjectBodyWithSlackTracking(
|
||||
SloppyTNode<HeapObject> object, SloppyTNode<Map> map,
|
||||
SloppyTNode<HeapObject> object, TNode<Map> map,
|
||||
SloppyTNode<IntPtrT> instance_size) {
|
||||
Comment("InitializeJSObjectBodyNoSlackTracking");
|
||||
|
||||
@ -5694,13 +5678,11 @@ TNode<BoolT> CodeStubAssembler::InstanceTypeEqual(
|
||||
return Word32Equal(instance_type, Int32Constant(type));
|
||||
}
|
||||
|
||||
TNode<BoolT> CodeStubAssembler::IsDictionaryMap(SloppyTNode<Map> map) {
|
||||
CSA_SLOW_ASSERT(this, IsMap(map));
|
||||
TNode<BoolT> CodeStubAssembler::IsDictionaryMap(TNode<Map> map) {
|
||||
return IsSetWord32<Map::Bits3::IsDictionaryMapBit>(LoadMapBitField3(map));
|
||||
}
|
||||
|
||||
TNode<BoolT> CodeStubAssembler::IsExtensibleMap(SloppyTNode<Map> map) {
|
||||
CSA_ASSERT(this, IsMap(map));
|
||||
TNode<BoolT> CodeStubAssembler::IsExtensibleMap(TNode<Map> map) {
|
||||
return IsSetWord32<Map::Bits3::IsExtensibleBit>(LoadMapBitField3(map));
|
||||
}
|
||||
|
||||
@ -5712,18 +5694,15 @@ TNode<BoolT> CodeStubAssembler::IsExtensibleNonPrototypeMap(TNode<Map> map) {
|
||||
Int32Constant(kExpected));
|
||||
}
|
||||
|
||||
TNode<BoolT> CodeStubAssembler::IsCallableMap(SloppyTNode<Map> map) {
|
||||
CSA_ASSERT(this, IsMap(map));
|
||||
TNode<BoolT> CodeStubAssembler::IsCallableMap(TNode<Map> map) {
|
||||
return IsSetWord32<Map::Bits1::IsCallableBit>(LoadMapBitField(map));
|
||||
}
|
||||
|
||||
TNode<BoolT> CodeStubAssembler::IsDeprecatedMap(SloppyTNode<Map> map) {
|
||||
CSA_ASSERT(this, IsMap(map));
|
||||
TNode<BoolT> CodeStubAssembler::IsDeprecatedMap(TNode<Map> map) {
|
||||
return IsSetWord32<Map::Bits3::IsDeprecatedBit>(LoadMapBitField3(map));
|
||||
}
|
||||
|
||||
TNode<BoolT> CodeStubAssembler::IsUndetectableMap(SloppyTNode<Map> map) {
|
||||
CSA_ASSERT(this, IsMap(map));
|
||||
TNode<BoolT> CodeStubAssembler::IsUndetectableMap(TNode<Map> map) {
|
||||
return IsSetWord32<Map::Bits1::IsUndetectableBit>(LoadMapBitField(map));
|
||||
}
|
||||
|
||||
@ -5784,7 +5763,7 @@ TNode<BoolT> CodeStubAssembler::IsPromiseSpeciesProtectorCellInvalid() {
|
||||
}
|
||||
|
||||
TNode<BoolT> CodeStubAssembler::IsPrototypeInitialArrayPrototype(
|
||||
SloppyTNode<Context> context, SloppyTNode<Map> map) {
|
||||
SloppyTNode<Context> context, TNode<Map> map) {
|
||||
const TNode<NativeContext> native_context = LoadNativeContext(context);
|
||||
const TNode<Object> initial_array_prototype = LoadContextElement(
|
||||
native_context, Context::INITIAL_ARRAY_PROTOTYPE_INDEX);
|
||||
@ -5793,7 +5772,7 @@ TNode<BoolT> CodeStubAssembler::IsPrototypeInitialArrayPrototype(
|
||||
}
|
||||
|
||||
TNode<BoolT> CodeStubAssembler::IsPrototypeTypedArrayPrototype(
|
||||
SloppyTNode<Context> context, SloppyTNode<Map> map) {
|
||||
SloppyTNode<Context> context, TNode<Map> map) {
|
||||
const TNode<NativeContext> native_context = LoadNativeContext(context);
|
||||
const TNode<Object> typed_array_prototype =
|
||||
LoadContextElement(native_context, Context::TYPED_ARRAY_PROTOTYPE_INDEX);
|
||||
@ -5848,8 +5827,7 @@ TNode<BoolT> CodeStubAssembler::IsCallable(SloppyTNode<HeapObject> object) {
|
||||
return IsCallableMap(LoadMap(object));
|
||||
}
|
||||
|
||||
TNode<BoolT> CodeStubAssembler::IsConstructorMap(SloppyTNode<Map> map) {
|
||||
CSA_ASSERT(this, IsMap(map));
|
||||
TNode<BoolT> CodeStubAssembler::IsConstructorMap(TNode<Map> map) {
|
||||
return IsSetWord32<Map::Bits1::IsConstructorBit>(LoadMapBitField(map));
|
||||
}
|
||||
|
||||
@ -5857,9 +5835,7 @@ TNode<BoolT> CodeStubAssembler::IsConstructor(SloppyTNode<HeapObject> object) {
|
||||
return IsConstructorMap(LoadMap(object));
|
||||
}
|
||||
|
||||
TNode<BoolT> CodeStubAssembler::IsFunctionWithPrototypeSlotMap(
|
||||
SloppyTNode<Map> map) {
|
||||
CSA_ASSERT(this, IsMap(map));
|
||||
TNode<BoolT> CodeStubAssembler::IsFunctionWithPrototypeSlotMap(TNode<Map> map) {
|
||||
return IsSetWord32<Map::Bits1::HasPrototypeSlotBit>(LoadMapBitField(map));
|
||||
}
|
||||
|
||||
@ -5946,7 +5922,7 @@ TNode<BoolT> CodeStubAssembler::IsJSReceiverInstanceType(
|
||||
Int32Constant(FIRST_JS_RECEIVER_TYPE));
|
||||
}
|
||||
|
||||
TNode<BoolT> CodeStubAssembler::IsJSReceiverMap(SloppyTNode<Map> map) {
|
||||
TNode<BoolT> CodeStubAssembler::IsJSReceiverMap(TNode<Map> map) {
|
||||
return IsJSReceiverInstanceType(LoadMapInstanceType(map));
|
||||
}
|
||||
|
||||
@ -5968,7 +5944,7 @@ TNode<BoolT> CodeStubAssembler::IsJSGlobalProxyInstanceType(
|
||||
return InstanceTypeEqual(instance_type, JS_GLOBAL_PROXY_TYPE);
|
||||
}
|
||||
|
||||
TNode<BoolT> CodeStubAssembler::IsJSGlobalProxyMap(SloppyTNode<Map> map) {
|
||||
TNode<BoolT> CodeStubAssembler::IsJSGlobalProxyMap(TNode<Map> map) {
|
||||
return IsJSGlobalProxyInstanceType(LoadMapInstanceType(map));
|
||||
}
|
||||
|
||||
@ -5988,8 +5964,7 @@ TNode<BoolT> CodeStubAssembler::IsJSObjectInstanceType(
|
||||
Int32Constant(FIRST_JS_OBJECT_TYPE));
|
||||
}
|
||||
|
||||
TNode<BoolT> CodeStubAssembler::IsJSObjectMap(SloppyTNode<Map> map) {
|
||||
CSA_ASSERT(this, IsMap(map));
|
||||
TNode<BoolT> CodeStubAssembler::IsJSObjectMap(TNode<Map> map) {
|
||||
return IsJSObjectInstanceType(LoadMapInstanceType(map));
|
||||
}
|
||||
|
||||
@ -6007,8 +5982,7 @@ TNode<BoolT> CodeStubAssembler::IsJSFinalizationRegistry(
|
||||
return IsJSFinalizationRegistryMap(LoadMap(object));
|
||||
}
|
||||
|
||||
TNode<BoolT> CodeStubAssembler::IsJSPromiseMap(SloppyTNode<Map> map) {
|
||||
CSA_ASSERT(this, IsMap(map));
|
||||
TNode<BoolT> CodeStubAssembler::IsJSPromiseMap(TNode<Map> map) {
|
||||
return InstanceTypeEqual(LoadMapInstanceType(map), JS_PROMISE_TYPE);
|
||||
}
|
||||
|
||||
@ -6044,7 +6018,7 @@ TNode<BoolT> CodeStubAssembler::IsJSPrimitiveWrapper(
|
||||
return IsJSPrimitiveWrapperMap(LoadMap(object));
|
||||
}
|
||||
|
||||
TNode<BoolT> CodeStubAssembler::IsJSPrimitiveWrapperMap(SloppyTNode<Map> map) {
|
||||
TNode<BoolT> CodeStubAssembler::IsJSPrimitiveWrapperMap(TNode<Map> map) {
|
||||
return IsJSPrimitiveWrapperInstanceType(LoadMapInstanceType(map));
|
||||
}
|
||||
|
||||
@ -6057,7 +6031,7 @@ TNode<BoolT> CodeStubAssembler::IsJSArray(SloppyTNode<HeapObject> object) {
|
||||
return IsJSArrayMap(LoadMap(object));
|
||||
}
|
||||
|
||||
TNode<BoolT> CodeStubAssembler::IsJSArrayMap(SloppyTNode<Map> map) {
|
||||
TNode<BoolT> CodeStubAssembler::IsJSArrayMap(TNode<Map> map) {
|
||||
return IsJSArrayInstanceType(LoadMapInstanceType(map));
|
||||
}
|
||||
|
||||
@ -6304,7 +6278,7 @@ TNode<BoolT> CodeStubAssembler::IsJSBoundFunction(
|
||||
return HasInstanceType(object, JS_BOUND_FUNCTION_TYPE);
|
||||
}
|
||||
|
||||
TNode<BoolT> CodeStubAssembler::IsJSFunctionMap(SloppyTNode<Map> map) {
|
||||
TNode<BoolT> CodeStubAssembler::IsJSFunctionMap(TNode<Map> map) {
|
||||
return IsJSFunctionInstanceType(LoadMapInstanceType(map));
|
||||
}
|
||||
|
||||
@ -6313,7 +6287,7 @@ TNode<BoolT> CodeStubAssembler::IsJSTypedArrayInstanceType(
|
||||
return InstanceTypeEqual(instance_type, JS_TYPED_ARRAY_TYPE);
|
||||
}
|
||||
|
||||
TNode<BoolT> CodeStubAssembler::IsJSTypedArrayMap(SloppyTNode<Map> map) {
|
||||
TNode<BoolT> CodeStubAssembler::IsJSTypedArrayMap(TNode<Map> map) {
|
||||
return IsJSTypedArrayInstanceType(LoadMapInstanceType(map));
|
||||
}
|
||||
|
||||
@ -8498,7 +8472,7 @@ void CodeStubAssembler::TryLookupPropertyInSimpleObject(
|
||||
}
|
||||
|
||||
void CodeStubAssembler::TryLookupProperty(
|
||||
SloppyTNode<HeapObject> object, SloppyTNode<Map> map,
|
||||
SloppyTNode<HeapObject> object, TNode<Map> map,
|
||||
SloppyTNode<Int32T> instance_type, SloppyTNode<Name> unique_name,
|
||||
Label* if_found_fast, Label* if_found_dict, Label* if_found_global,
|
||||
TVariable<HeapObject>* var_meta_storage, TVariable<IntPtrT>* var_name_index,
|
||||
|
@ -1226,32 +1226,32 @@ class V8_EXPORT_PRIVATE CodeStubAssembler
|
||||
// Load the number of own descriptors of a map.
|
||||
TNode<Int32T> LoadNumberOfOwnDescriptors(TNode<Map> map);
|
||||
// Load the bit field of a Map.
|
||||
TNode<Int32T> LoadMapBitField(SloppyTNode<Map> map);
|
||||
TNode<Int32T> LoadMapBitField(TNode<Map> map);
|
||||
// Load bit field 2 of a map.
|
||||
TNode<Int32T> LoadMapBitField2(SloppyTNode<Map> map);
|
||||
TNode<Int32T> LoadMapBitField2(TNode<Map> map);
|
||||
// Load bit field 3 of a map.
|
||||
TNode<Uint32T> LoadMapBitField3(SloppyTNode<Map> map);
|
||||
TNode<Uint32T> LoadMapBitField3(TNode<Map> map);
|
||||
// Load the instance type of a map.
|
||||
TNode<Uint16T> LoadMapInstanceType(SloppyTNode<Map> map);
|
||||
TNode<Uint16T> LoadMapInstanceType(TNode<Map> map);
|
||||
// Load the ElementsKind of a map.
|
||||
TNode<Int32T> LoadMapElementsKind(SloppyTNode<Map> map);
|
||||
TNode<Int32T> LoadMapElementsKind(TNode<Map> map);
|
||||
TNode<Int32T> LoadElementsKind(SloppyTNode<HeapObject> object);
|
||||
// Load the instance descriptors of a map.
|
||||
TNode<DescriptorArray> LoadMapDescriptors(SloppyTNode<Map> map);
|
||||
TNode<DescriptorArray> LoadMapDescriptors(TNode<Map> map);
|
||||
// Load the prototype of a map.
|
||||
TNode<HeapObject> LoadMapPrototype(SloppyTNode<Map> map);
|
||||
TNode<HeapObject> LoadMapPrototype(TNode<Map> map);
|
||||
// Load the instance size of a Map.
|
||||
TNode<IntPtrT> LoadMapInstanceSizeInWords(SloppyTNode<Map> map);
|
||||
TNode<IntPtrT> LoadMapInstanceSizeInWords(TNode<Map> map);
|
||||
// Load the inobject properties start of a Map (valid only for JSObjects).
|
||||
TNode<IntPtrT> LoadMapInobjectPropertiesStartInWords(SloppyTNode<Map> map);
|
||||
TNode<IntPtrT> LoadMapInobjectPropertiesStartInWords(TNode<Map> map);
|
||||
// Load the constructor function index of a Map (only for primitive maps).
|
||||
TNode<IntPtrT> LoadMapConstructorFunctionIndex(SloppyTNode<Map> map);
|
||||
TNode<IntPtrT> LoadMapConstructorFunctionIndex(TNode<Map> map);
|
||||
// Load the constructor of a Map (equivalent to Map::GetConstructor()).
|
||||
TNode<Object> LoadMapConstructor(SloppyTNode<Map> map);
|
||||
TNode<Object> LoadMapConstructor(TNode<Map> map);
|
||||
// Load the EnumLength of a Map.
|
||||
TNode<WordT> LoadMapEnumLength(SloppyTNode<Map> map);
|
||||
TNode<WordT> LoadMapEnumLength(TNode<Map> map);
|
||||
// Load the back-pointer of a Map.
|
||||
TNode<Object> LoadMapBackPointer(SloppyTNode<Map> map);
|
||||
TNode<Object> LoadMapBackPointer(TNode<Map> map);
|
||||
// Checks that |map| has only simple properties, returns bitfield3.
|
||||
TNode<Uint32T> EnsureOnlyHasSimpleProperties(TNode<Map> map,
|
||||
TNode<Int32T> instance_type,
|
||||
@ -1266,7 +1266,7 @@ class V8_EXPORT_PRIVATE CodeStubAssembler
|
||||
TNode<IntPtrT> length);
|
||||
|
||||
// Check if the map is set for slow properties.
|
||||
TNode<BoolT> IsDictionaryMap(SloppyTNode<Map> map);
|
||||
TNode<BoolT> IsDictionaryMap(TNode<Map> map);
|
||||
|
||||
// Load the Name::hash() value of a name as an uint32 value.
|
||||
// If {if_hash_not_computed} label is specified then it also checks if
|
||||
@ -1759,10 +1759,10 @@ class V8_EXPORT_PRIVATE CodeStubAssembler
|
||||
SlackTrackingMode slack_tracking_mode = kNoSlackTracking);
|
||||
|
||||
void InitializeJSObjectBodyWithSlackTracking(
|
||||
SloppyTNode<HeapObject> object, SloppyTNode<Map> map,
|
||||
SloppyTNode<HeapObject> object, TNode<Map> map,
|
||||
SloppyTNode<IntPtrT> instance_size);
|
||||
void InitializeJSObjectBodyNoSlackTracking(
|
||||
SloppyTNode<HeapObject> object, SloppyTNode<Map> map,
|
||||
SloppyTNode<HeapObject> object, TNode<Map> map,
|
||||
SloppyTNode<IntPtrT> instance_size,
|
||||
int start_offset = JSObject::kHeaderSize);
|
||||
|
||||
@ -2316,16 +2316,16 @@ class V8_EXPORT_PRIVATE CodeStubAssembler
|
||||
TNode<BoolT> IsBigIntInstanceType(SloppyTNode<Int32T> instance_type);
|
||||
TNode<BoolT> IsBigInt(SloppyTNode<HeapObject> object);
|
||||
TNode<BoolT> IsBoolean(SloppyTNode<HeapObject> object);
|
||||
TNode<BoolT> IsCallableMap(SloppyTNode<Map> map);
|
||||
TNode<BoolT> IsCallableMap(TNode<Map> map);
|
||||
TNode<BoolT> IsCallable(SloppyTNode<HeapObject> object);
|
||||
TNode<BoolT> TaggedIsCallable(TNode<Object> object);
|
||||
TNode<BoolT> IsConsStringInstanceType(SloppyTNode<Int32T> instance_type);
|
||||
TNode<BoolT> IsConstructorMap(SloppyTNode<Map> map);
|
||||
TNode<BoolT> IsConstructorMap(TNode<Map> map);
|
||||
TNode<BoolT> IsConstructor(SloppyTNode<HeapObject> object);
|
||||
TNode<BoolT> IsDeprecatedMap(SloppyTNode<Map> map);
|
||||
TNode<BoolT> IsDeprecatedMap(TNode<Map> map);
|
||||
TNode<BoolT> IsNameDictionary(SloppyTNode<HeapObject> object);
|
||||
TNode<BoolT> IsGlobalDictionary(SloppyTNode<HeapObject> object);
|
||||
TNode<BoolT> IsExtensibleMap(SloppyTNode<Map> map);
|
||||
TNode<BoolT> IsExtensibleMap(TNode<Map> map);
|
||||
TNode<BoolT> IsExtensibleNonPrototypeMap(TNode<Map> map);
|
||||
TNode<BoolT> IsExternalStringInstanceType(SloppyTNode<Int32T> instance_type);
|
||||
TNode<BoolT> IsFixedArray(SloppyTNode<HeapObject> object);
|
||||
@ -2334,7 +2334,7 @@ class V8_EXPORT_PRIVATE CodeStubAssembler
|
||||
ElementsKind kind);
|
||||
TNode<BoolT> IsFixedArrayWithKindOrEmpty(SloppyTNode<FixedArrayBase> object,
|
||||
ElementsKind kind);
|
||||
TNode<BoolT> IsFunctionWithPrototypeSlotMap(SloppyTNode<Map> map);
|
||||
TNode<BoolT> IsFunctionWithPrototypeSlotMap(TNode<Map> map);
|
||||
TNode<BoolT> IsHashTable(SloppyTNode<HeapObject> object);
|
||||
TNode<BoolT> IsEphemeronHashTable(SloppyTNode<HeapObject> object);
|
||||
TNode<BoolT> IsHeapNumberInstanceType(SloppyTNode<Int32T> instance_type);
|
||||
@ -2344,39 +2344,39 @@ class V8_EXPORT_PRIVATE CodeStubAssembler
|
||||
TNode<BoolT> IsJSArrayBuffer(SloppyTNode<HeapObject> object);
|
||||
TNode<BoolT> IsJSDataView(TNode<HeapObject> object);
|
||||
TNode<BoolT> IsJSArrayInstanceType(SloppyTNode<Int32T> instance_type);
|
||||
TNode<BoolT> IsJSArrayMap(SloppyTNode<Map> map);
|
||||
TNode<BoolT> IsJSArrayMap(TNode<Map> map);
|
||||
TNode<BoolT> IsJSArray(SloppyTNode<HeapObject> object);
|
||||
TNode<BoolT> IsJSArrayIterator(SloppyTNode<HeapObject> object);
|
||||
TNode<BoolT> IsJSAsyncGeneratorObject(SloppyTNode<HeapObject> object);
|
||||
TNode<BoolT> IsJSFunctionInstanceType(SloppyTNode<Int32T> instance_type);
|
||||
TNode<BoolT> IsJSFunctionMap(SloppyTNode<Map> map);
|
||||
TNode<BoolT> IsJSFunctionMap(TNode<Map> map);
|
||||
TNode<BoolT> IsJSFunction(SloppyTNode<HeapObject> object);
|
||||
TNode<BoolT> IsJSBoundFunction(SloppyTNode<HeapObject> object);
|
||||
TNode<BoolT> IsJSGeneratorObject(TNode<HeapObject> object);
|
||||
TNode<BoolT> IsJSGlobalProxyInstanceType(SloppyTNode<Int32T> instance_type);
|
||||
TNode<BoolT> IsJSGlobalProxyMap(SloppyTNode<Map> map);
|
||||
TNode<BoolT> IsJSGlobalProxyMap(TNode<Map> map);
|
||||
TNode<BoolT> IsJSGlobalProxy(SloppyTNode<HeapObject> object);
|
||||
TNode<BoolT> IsJSObjectInstanceType(SloppyTNode<Int32T> instance_type);
|
||||
TNode<BoolT> IsJSObjectMap(SloppyTNode<Map> map);
|
||||
TNode<BoolT> IsJSObjectMap(TNode<Map> map);
|
||||
TNode<BoolT> IsJSObject(SloppyTNode<HeapObject> object);
|
||||
TNode<BoolT> IsJSFinalizationRegistryMap(TNode<Map> map);
|
||||
TNode<BoolT> IsJSFinalizationRegistry(TNode<HeapObject> object);
|
||||
TNode<BoolT> IsJSPromiseMap(SloppyTNode<Map> map);
|
||||
TNode<BoolT> IsJSPromiseMap(TNode<Map> map);
|
||||
TNode<BoolT> IsJSPromise(SloppyTNode<HeapObject> object);
|
||||
TNode<BoolT> IsJSProxy(SloppyTNode<HeapObject> object);
|
||||
TNode<BoolT> IsJSStringIterator(SloppyTNode<HeapObject> object);
|
||||
TNode<BoolT> IsJSRegExpStringIterator(SloppyTNode<HeapObject> object);
|
||||
TNode<BoolT> IsJSReceiverInstanceType(SloppyTNode<Int32T> instance_type);
|
||||
TNode<BoolT> IsJSReceiverMap(SloppyTNode<Map> map);
|
||||
TNode<BoolT> IsJSReceiverMap(TNode<Map> map);
|
||||
TNode<BoolT> IsJSReceiver(SloppyTNode<HeapObject> object);
|
||||
TNode<BoolT> IsJSRegExp(SloppyTNode<HeapObject> object);
|
||||
TNode<BoolT> IsJSTypedArrayInstanceType(SloppyTNode<Int32T> instance_type);
|
||||
TNode<BoolT> IsJSTypedArrayMap(SloppyTNode<Map> map);
|
||||
TNode<BoolT> IsJSTypedArrayMap(TNode<Map> map);
|
||||
TNode<BoolT> IsJSTypedArray(SloppyTNode<HeapObject> object);
|
||||
TNode<BoolT> IsJSGeneratorMap(TNode<Map> map);
|
||||
TNode<BoolT> IsJSPrimitiveWrapperInstanceType(
|
||||
SloppyTNode<Int32T> instance_type);
|
||||
TNode<BoolT> IsJSPrimitiveWrapperMap(SloppyTNode<Map> map);
|
||||
TNode<BoolT> IsJSPrimitiveWrapperMap(TNode<Map> map);
|
||||
TNode<BoolT> IsJSPrimitiveWrapper(SloppyTNode<HeapObject> object);
|
||||
TNode<BoolT> IsMap(SloppyTNode<HeapObject> object);
|
||||
TNode<BoolT> IsName(SloppyTNode<HeapObject> object);
|
||||
@ -2392,9 +2392,9 @@ class V8_EXPORT_PRIVATE CodeStubAssembler
|
||||
TNode<BoolT> IsPropertyCell(SloppyTNode<HeapObject> object);
|
||||
TNode<BoolT> IsPromiseReactionJobTask(TNode<HeapObject> object);
|
||||
TNode<BoolT> IsPrototypeInitialArrayPrototype(SloppyTNode<Context> context,
|
||||
SloppyTNode<Map> map);
|
||||
TNode<Map> map);
|
||||
TNode<BoolT> IsPrototypeTypedArrayPrototype(SloppyTNode<Context> context,
|
||||
SloppyTNode<Map> map);
|
||||
TNode<Map> map);
|
||||
|
||||
TNode<BoolT> IsFastAliasedArgumentsMap(TNode<Context> context,
|
||||
TNode<Map> map);
|
||||
@ -2410,7 +2410,7 @@ class V8_EXPORT_PRIVATE CodeStubAssembler
|
||||
TNode<BoolT> IsSpecialReceiverInstanceType(TNode<Int32T> instance_type);
|
||||
TNode<BoolT> IsCustomElementsReceiverInstanceType(
|
||||
TNode<Int32T> instance_type);
|
||||
TNode<BoolT> IsSpecialReceiverMap(SloppyTNode<Map> map);
|
||||
TNode<BoolT> IsSpecialReceiverMap(TNode<Map> map);
|
||||
TNode<BoolT> IsStringInstanceType(SloppyTNode<Int32T> instance_type);
|
||||
TNode<BoolT> IsString(SloppyTNode<HeapObject> object);
|
||||
TNode<BoolT> IsSeqOneByteString(TNode<HeapObject> object);
|
||||
@ -2420,7 +2420,7 @@ class V8_EXPORT_PRIVATE CodeStubAssembler
|
||||
TNode<BoolT> IsUniqueName(TNode<HeapObject> object);
|
||||
TNode<BoolT> IsUniqueNameNoIndex(TNode<HeapObject> object);
|
||||
TNode<BoolT> IsUniqueNameNoCachedIndex(TNode<HeapObject> object);
|
||||
TNode<BoolT> IsUndetectableMap(SloppyTNode<Map> map);
|
||||
TNode<BoolT> IsUndetectableMap(TNode<Map> map);
|
||||
TNode<BoolT> IsNotWeakFixedArraySubclass(SloppyTNode<HeapObject> object);
|
||||
TNode<BoolT> IsZeroOrContext(SloppyTNode<Object> object);
|
||||
|
||||
@ -3030,7 +3030,7 @@ class V8_EXPORT_PRIVATE CodeStubAssembler
|
||||
//
|
||||
// Note: this code does not check if the global dictionary points to deleted
|
||||
// entry! This has to be done by the caller.
|
||||
void TryLookupProperty(SloppyTNode<HeapObject> object, SloppyTNode<Map> map,
|
||||
void TryLookupProperty(SloppyTNode<HeapObject> object, TNode<Map> map,
|
||||
SloppyTNode<Int32T> instance_type,
|
||||
SloppyTNode<Name> unique_name, Label* if_found_fast,
|
||||
Label* if_found_dict, Label* if_found_global,
|
||||
|
Loading…
Reference in New Issue
Block a user