98                         TNode<HeapObject> maybe_vector = {});
 
  101                               TNode<Map> receiver_map,
 
  102                               TNode<Uint16T> instance_type,
 
  103                               TNode<IntPtrT> index, TNode<Object> value,
 
  104                               TNode<Context> context, Label* slow);
 
  109                                TNode<Map> receiver_map,
 
  110                                TNode<Uint16T> instance_type,
 
  111                                const StoreICParameters* p,
 
  112                                ExitPoint* exit_point, Label* slow,
 
  113                                Maybe<LanguageMode> maybe_language_mode,
 
  128      Label* only_fast_writable_elements);
 
 
  208  assembler.KeyedStoreMegamorphic();
 
 
  214  assembler.KeyedStoreGeneric();
 
 
  221  assembler.KeyedStoreGeneric();
 
 
  227  assembler.StoreIC_NoFeedback();
 
 
  236  assembler.StoreIC_NoFeedback();
 
 
  245  assembler.StoreProperty(context, 
receiver, is_simple_receiver, name, value,
 
 
  255  assembler.StoreProperty(context, 
receiver, 
key, value, language_mode);
 
 
  269    Label* only_fast_writable_elements) {
 
  271  var_map = receiver_map;
 
  272  Label loop_body(
this, &var_map);
 
  281    var_map = prototype_map;
 
  284           maybe_read_only_elements);
 
  289    Goto(maybe_read_only_elements);
 
 
  303  Label perform_transition(
this), check_holey_map(
this);
 
  309    var_target_map = 
CAST(
 
  311    Goto(&perform_transition);
 
  315  BIND(&check_holey_map);
 
  320    var_target_map = 
CAST(LoadContextElement(
 
  322    Goto(&perform_transition);
 
  326  BIND(&perform_transition);
 
 
  357  Label already_holey(
this);
 
  363                            holey_kind, &already_holey, bailout, bailout);
 
  364  BIND(&already_holey);
 
 
  373  Label already_holey(
this), check_other_kind(
this);
 
  382                            holey_kind, &already_holey, &check_other_kind,
 
  384  BIND(&check_other_kind);
 
  386                            packed_kind_2, holey_kind_2, &already_holey,
 
  388  BIND(&already_holey);
 
 
  432  Label check_double_elements(
this), check_cow_elements(
this);
 
  434  GotoIf(IsNotFixedArrayMap(elements_map), &check_double_elements);
 
  446        Label hole_check_passed(
this);
 
  450          GotoIf(IsNotTheHole(element), &hole_check_passed);
 
  454        BIND(&hole_check_passed);
 
  461      Label non_smi_value(
this);
 
  472      BIND(&non_smi_value);
 
  477      Label must_transition(
this);
 
  480      GotoIf(Int32LessThanOrEqual(elements_kind,
 
  490      BIND(&must_transition);
 
  495      Label transition_to_double(
this), transition_to_object(
this);
 
  497#ifdef V8_ENABLE_EXPERIMENTAL_UNDEFINED_DOUBLE 
  498      GotoIf(IsHeapNumber(
CAST(value)), &transition_to_double);
 
  499      GotoIfNot(IsUndefined(value), &transition_to_object);
 
  511      Branch(IsHeapNumber(
CAST(value)), &transition_to_double,
 
  512             &transition_to_object);
 
  515      BIND(&transition_to_double);
 
  532                            double_offset, double_value);
 
  536      BIND(&transition_to_object);
 
  553  BIND(&check_double_elements);
 
  554  GotoIf(IsNotFixedDoubleArrayMap(elements_map), &check_cow_elements);
 
  563        Label hole_check_passed(
this);
 
  567          Label found_hole(
this);
 
  570          Goto(&hole_check_passed);
 
  575        BIND(&hole_check_passed);
 
  581      Label non_number_value(
this);
 
  582      Label undefined_value(
this);
 
  584#ifdef V8_ENABLE_EXPERIMENTAL_UNDEFINED_DOUBLE
 
  590      double_value = Float64SilenceNaN(double_value);
 
  601#ifdef V8_ENABLE_EXPERIMENTAL_UNDEFINED_DOUBLE 
  602      BIND(&undefined_value);
 
  616      BIND(&non_number_value);
 
  631      Store(fast_elements, fast_offset, value);
 
  636  BIND(&check_cow_elements);
 
 
  647  Label if_fast(
this), if_in_bounds(
this), if_increment_length_by_one(
this),
 
  648      if_bump_length_with_gap(
this), if_grow(
this), if_nonfast(
this),
 
  649      if_typed_array(
this), if_dictionary(
this), if_shared_array(
this);
 
  654  Label if_array(
this);
 
  658    Branch(UintPtrLessThan(index, capacity), &if_in_bounds, &if_grow);
 
  664    GotoIf(UintPtrLessThan(index, length), &if_in_bounds);
 
  666    GotoIf(UintPtrGreaterThanOrEqual(index, capacity), &if_grow);
 
  668           &if_bump_length_with_gap);
 
  677  BIND(&if_increment_length_by_one);
 
  680                             index, value, context, slow,
 
  684  BIND(&if_bump_length_with_gap);
 
  707    GotoIf(Int32GreaterThanOrEqual(
 
  718  BIND(&if_dictionary);
 
  725  BIND(&if_typed_array);
 
  733  BIND(&if_shared_array);
 
  736    GotoIf(UintPtrGreaterThanOrEqual(index, length), slow);
 
 
  746  Label ok_to_write(
this);
 
  750  var_holder_map = 
LoadMap(var_holder.value());
 
  752  Label loop(
this, {&var_holder, &var_holder_map});
 
  758    TNode<Map> holder_map = var_holder_map.value();
 
  760    Label next_proto(
this);
 
  762      Label found(
this), found_fast(
this), found_dict(
this), found_global(
this);
 
  766                        &found_dict, &found_global, &var_meta_storage,
 
  767                        &var_entry, &next_proto, bailout);
 
  779                                   details, var_accessor_pair);
 
  780        *var_accessor_holder = holder;
 
  791        if (accessor != 
nullptr) {
 
  794          *var_accessor_holder = holder;
 
  811            property_cell, PropertyCell::kPropertyDetailsRawOffset));
 
  814        if (accessor != 
nullptr) {
 
  816          *var_accessor_pair = 
value;
 
  817          *var_accessor_holder = holder;
 
  831    var_holder_map = 
LoadMap(proto);
 
 
  840  Label simple_transition(
this), transition_array(
this),
 
  841      found_handler_candidate(
this);
 
  852                      &transition_array, &var_transition_map_or_array);
 
  854  BIND(&simple_transition);
 
  856    var_transition_map = 
CAST(var_transition_map_or_array.value());
 
  857    Goto(&found_handler_candidate);
 
  860  BIND(&transition_array);
 
  863        LoadMap(
CAST(var_transition_map_or_array.value()));
 
  864    GotoIfNot(IsTransitionArrayMap(maybe_handler_map), slow);
 
  867    Label if_found_candidate(
this);
 
  869        CAST(var_transition_map_or_array.value());
 
  873    BIND(&if_found_candidate);
 
  887      static_assert(
NONE == 0);
 
  893                           var_name_index.value(), kKeyToTargetOffset)));
 
  894      Goto(&found_handler_candidate);
 
  898  BIND(&found_handler_candidate);
 
  899  return var_transition_map.value();
 
 
  907  CSA_DCHECK(
this, IsSimpleObjectMap(receiver_map));
 
  912  Label fast_properties(
this), dictionary_properties(
this), accessor(
this),
 
  913      readonly(
this), try_stub_cache(
this);
 
  917         &dictionary_properties, &fast_properties);
 
  919  BIND(&fast_properties);
 
  921    Comment(
"fast property store");
 
  923    Label descriptor_found(
this), lookup_transition(
this);
 
  927                     &var_name_index, &lookup_transition);
 
  932      BIND(&descriptor_found);
 
  936        Label data_property(
this);
 
  945                                     name_index, details, &var_accessor_pair);
 
  953        BIND(&data_property);
 
  960                                            name_index, details, p->
value(),
 
  967                                     descriptors, name_index, details,
 
  975    BIND(&lookup_transition);
 
  981      Label* if_not_found =
 
  985          receiver_map, name, if_not_found);
 
  997  BIND(&dictionary_properties);
 
  999    Comment(
"dictionary property store");
 
 1004    Label dictionary_found(
this, &var_name_index),
 
 1005        not_found(
this, &var_name_index);
 
 1015      BIND(&dictionary_found);
 
 1017        Label check_const(
this), overwrite(
this), done(
this);
 
 1052              properties, var_name_index.value(), p->
value());
 
 1067      Label extensible(
this), is_private_symbol(
this);
 
 1072      BIND(&is_private_symbol);
 
 1084            receiver_map, name, &accessor, &var_accessor_pair,
 
 1085            &var_accessor_holder,
 
 1088      Label add_dictionary_property_slow(
this);
 
 1092                                          &add_dictionary_property_slow,
 
 1093                                          var_name_index.value());
 
 1096      BIND(&add_dictionary_property_slow);
 
 1106      Label not_callable(
this);
 
 1108      GotoIf(IsAccessorInfo(accessor_pair), slow);
 
 1109      CSA_DCHECK(
this, IsAccessorPair(accessor_pair));
 
 1114      GotoIf(IsFunctionTemplateInfoMap(setter_map), slow);
 
 1120      BIND(¬_callable);
 
 1123        if (maybe_language_mode.
To(&language_mode)) {
 
 1126                Runtime::kThrowTypeError, p->
context(),
 
 1127                SmiConstant(MessageTemplate::kNoSetterInCallback), name,
 
 1128                var_accessor_holder.value());
 
 1134                      SmiConstant(MessageTemplate::kNoSetterInCallback), name,
 
 1135                      var_accessor_holder.value());
 
 1146      if (maybe_language_mode.
To(&language_mode)) {
 
 1156                    SmiConstant(MessageTemplate::kStrictReadOnlyProperty), name,
 
 1165    BIND(&try_stub_cache);
 
 1172    Label found_handler(
this, &var_handler), stub_cache_miss(
this);
 
 1175                      &var_handler, &stub_cache_miss);
 
 1177    BIND(&found_handler);
 
 1179      Comment(
"KeyedStoreGeneric found handler");
 
 1183    BIND(&stub_cache_miss);
 
 1185      Comment(
"KeyedStoreGeneric_miss");
 
 
 1201  Label if_index(
this, &var_index), if_unique_name(
this),
 
 1202      not_internalized(
this), slow(
this);
 
 1212  TryToName(
key, &if_index, &var_index, &if_unique_name, &var_unique, &slow,
 
 1219                            var_index.value(), value, context, &slow);
 
 1222  BIND(&if_unique_name);
 
 1224    Comment(
"key is unique name");
 
 1226                        std::nullopt, slot, maybe_vector,
 
 1230                             &direct_exit, &slow, language_mode,
 
 1234  BIND(¬_internalized);
 
 1236    if (
v8_flags.internalize_on_the_fly) {
 
 1238                           &var_unique, &slow, &slow);
 
 1249      Comment(
"KeyedStoreGeneric_slow");
 
 
 1323                          UndefinedConstant(),
 
 1334                                      : Runtime::kStoreIC_Miss;
 
 1338                    receiver_maybe_smi, name);
 
 
 1371                  unique_name, value, flags, p.vector(), slot);
 
 
#define CSA_DCHECK(csa,...)
 
V8_WARN_UNUSED_RESULT V8_INLINE bool To(T *out) const
 
void UpdateMayHaveInterestingProperty(TNode< PropertyDictionary > dict, TNode< Name > name)
 
void InvalidateValidityCellIfPrototype(TNode< Map > map, std::optional< TNode< Uint32T > > bitfield3=std::nullopt)
 
void JumpIfDataProperty(TNode< Uint32T > details, Label *writable, Label *readonly)
 
void HandleStoreICTransitionMapHandlerCase(const StoreICParameters *p, TNode< Map > transition_map, Label *miss, StoreTransitionMapFlags flags)
 
TNode< BoolT > IsPropertyDetailsConst(TNode< Uint32T > details)
 
@ kValidateTransitionHandler
 
@ kCheckPrototypeValidity
 
void OverwriteExistingFastDataProperty(TNode< HeapObject > object, TNode< Map > object_map, TNode< DescriptorArray > descriptors, TNode< IntPtrT > descriptor_name_index, TNode< Uint32T > details, TNode< Object > value, Label *slow, bool do_transitioning_store)
 
void HandleStoreICHandlerCase(const StoreICParameters *p, TNode< MaybeObject > handler, Label *miss, ICMode ic_mode, ElementSupport support_elements=kOnlyProperties)
 
void TryProbeStubCache(StubCache *stub_cache, TNode< JSAny > lookup_start_object, TNode< Map > lookup_start_object_map, TNode< Name > name, Label *if_handler, TVariable< MaybeObject > *var_handler, Label *if_miss)
 
void StoreJSSharedStructField(TNode< Context > context, TNode< HeapObject > shared_struct, TNode< Map > shared_struct_map, TNode< DescriptorArray > descriptors, TNode< IntPtrT > descriptor_name_index, TNode< Uint32T > details, TNode< Object > value)
 
static bool ShouldTrack(ElementsKind boilerplate_elements_kind)
 
TNode< BoolT > IsJSArrayInstanceType(TNode< Int32T > instance_type)
 
TNode< IntPtrT > LoadAndUntagFixedArrayBaseLength(TNode< FixedArrayBase > array)
 
TNode< MaybeObject > LoadMaybeWeakObjectField(TNode< HeapObject > object, int offset)
 
TNode< BoolT > IsJSTypedArrayMap(TNode< Map > map)
 
TNode< BoolT > IsCallableMap(TNode< Map > map)
 
void NameDictionaryLookup(TNode< Dictionary > dictionary, TNode< Name > unique_name, Label *if_found, TVariable< IntPtrT > *var_name_index, Label *if_not_found, LookupMode mode=kFindExisting)
 
TNode< FixedArrayBase > GrowElementsCapacity(TNode< HeapObject > object, TNode< FixedArrayBase > elements, ElementsKind from_kind, ElementsKind to_kind, TNode< TIndex > capacity, TNode< TIndex > new_capacity, Label *bailout)
 
TNode< BoolT > IsJSApiObjectInstanceType(TNode< Int32T > instance_type)
 
TNode< Float64T > TryTaggedToFloat64(TNode< Object > value, Label *if_valueisnotnumber)
 
TNode< Uint32T > LoadDetailsByKeyIndex(TNode< ContainerType > container, TNode< IntPtrT > key_index)
 
TNode< BoolT > IsPrivateName(TNode< Symbol > symbol)
 
TNode< BoolT > IsFastElementsKind(TNode< Int32T > elements_kind)
 
TNode< DescriptorArray > LoadMapDescriptors(TNode< Map > map)
 
TNode< HeapObject > LoadSlowProperties(TNode< JSReceiver > object)
 
TNode< BoolT > IsFastOrNonExtensibleOrSealedElementsKind(TNode< Int32T > elements_kind)
 
void ThrowTypeError(TNode< Context > context, MessageTemplate message, char const *arg0=nullptr, char const *arg1=nullptr)
 
TNode< Smi > SmiTag(TNode< IntPtrT > value)
 
TNode< BoolT > TaggedEqual(TNode< AnyTaggedT > a, TNode< AnyTaggedT > b)
 
TNode< FixedArrayBase > LoadElements(TNode< JSObject > object)
 
TNode< T > LoadObjectField(TNode< HeapObject > object, int offset)
 
TNode< BoolT > TaggedNotEqual(TNode< AnyTaggedT > a, TNode< AnyTaggedT > b)
 
TNode< Uint32T > LoadMapBitField3(TNode< Map > map)
 
void TrapAllocationMemento(TNode< JSObject > object, Label *memento_found)
 
TNode< BoolT > IsDoubleElementsKind(TNode< Int32T > elements_kind)
 
void TryToName(TNode< Object > key, Label *if_keyisindex, TVariable< IntPtrT > *var_index, Label *if_keyisunique, TVariable< Name > *var_unique, Label *if_bailout, Label *if_notinternalized=nullptr)
 
TNode< Uint32T > LoadDetailsByDescriptorEntry(TNode< DescriptorArray > descriptors, TNode< IntPtrT > descriptor)
 
void StoreValueByKeyIndex(TNode< ContainerType > container, TNode< IntPtrT > key_index, TNode< Object > value, WriteBarrierMode write_barrier=UPDATE_WRITE_BARRIER)
 
void TryInternalizeString(TNode< String > string, Label *if_index, TVariable< IntPtrT > *var_index, Label *if_internalized, TVariable< Name > *var_internalized, Label *if_not_internalized, Label *if_bailout)
 
void CheckForAssociatedProtector(TNode< Name > name, Label *if_protector)
 
TNode< BoolT > IsFastPackedElementsKind(TNode< Int32T > elements_kind)
 
TNode< JSPrototype > LoadMapPrototype(TNode< Map > map)
 
TNode< BoolT > IsSetWord32(TNode< Word32T > word32)
 
TNode< Map > LoadJSArrayElementsMap(ElementsKind kind, TNode< NativeContext > native_context)
 
void TryLookupProperty(TNode< HeapObject > object, TNode< Map > map, TNode< Int32T > instance_type, TNode< 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, Label *if_not_found, Label *if_bailout)
 
void StoreMap(TNode< HeapObject > object, TNode< Map > map)
 
void DispatchMaybeObject(TNode< MaybeObject > maybe_object, Label *if_smi, Label *if_cleared, Label *if_weak, Label *if_strong, TVariable< Object > *extracted)
 
TNode< Object > LoadValueByKeyIndex(TNode< ContainerType > container, TNode< IntPtrT > key_index)
 
TNode< BoolT > IsCustomElementsReceiverInstanceType(TNode< Int32T > instance_type)
 
void DescriptorLookup(TNode< Name > unique_name, TNode< DescriptorArray > descriptors, TNode< Uint32T > bitfield3, Label *if_found, TVariable< IntPtrT > *var_name_index, Label *if_not_found)
 
TNode< Int32T > LoadAndUntagToWord32ObjectField(TNode< HeapObject > object, int offset)
 
void StoreObjectFieldNoWriteBarrier(TNode< HeapObject > object, TNode< IntPtrT > offset, TNode< T > value)
 
TNode< JSAny > Call(TNode< Context > context, TNode< TCallable > callable, ConvertReceiverMode mode, TNode< JSAny > receiver, TArgs... args)
 
TNode< Uint16T > LoadMapInstanceType(TNode< Map > map)
 
TNode< BoolT > IsJSArrayMap(TNode< Map > map)
 
TNode< Float64T > LoadDoubleWithHoleCheck(TNode< FixedDoubleArray > array, TNode< IntPtrT > index, Label *if_hole=nullptr)
 
TNode< IntPtrT > ElementOffsetFromIndex(TNode< TIndex > index, ElementsKind kind, int base_size=0)
 
void UnsafeStoreFixedArrayElement(TNode< FixedArray > object, int index, TNode< Object > value, WriteBarrierMode barrier_mode=UPDATE_WRITE_BARRIER)
 
void TransitionLookup(TNode< Name > unique_name, TNode< TransitionArray > transitions, Label *if_found, TVariable< IntPtrT > *var_name_index, Label *if_not_found)
 
void SharedValueBarrier(TNode< Context > context, TVariable< Object > *var_shared_value)
 
@ kFindExistingOrInsertionIndex
 
TNode< NativeContext > LoadNativeContext(TNode< Context > context)
 
TNode< BoolT > TaggedIsSmi(TNode< MaybeObject > a)
 
TNode< Smi > LoadFastJSArrayLength(TNode< JSArray > array)
 
TNode< BoolT > IsSpecialReceiverInstanceType(TNode< Int32T > instance_type)
 
TNode< Float64T > LoadHeapNumberValue(TNode< HeapObject > object)
 
TNode< BoolT > IsJSSharedStructInstanceType(TNode< Int32T > instance_type)
 
TNode< String > Typeof(TNode< Object > value, std::optional< TNode< UintPtrT > > slot_id={}, std::optional< TNode< HeapObject > > maybe_feedback_vector={})
 
TNode< Map > LoadMap(TNode< HeapObject > object)
 
TNode< BoolT > IsDictionaryMap(TNode< Map > map)
 
TNode< Int32T > LoadMapElementsKind(TNode< Map > map)
 
TNode< Object > LoadAccessorPairSetter(TNode< AccessorPair > accessor_pair)
 
TNode< IntPtrT > PositiveSmiUntag(TNode< Smi > value)
 
TNode< TValue > LoadArrayElement(TNode< Array > array, int array_header_size, TNode< TIndex > index, int additional_offset=0)
 
void LoadPropertyFromFastObject(TNode< HeapObject > object, TNode< Map > map, TNode< DescriptorArray > descriptors, TNode< IntPtrT > name_index, TVariable< Uint32T > *var_details, TVariable< Object > *var_value)
 
TNode< BoolT > IsJSTypedArrayInstanceType(TNode< Int32T > instance_type)
 
TNode< HeapObject > GetHeapObjectAssumeWeak(TNode< MaybeObject > value)
 
void AddToDictionary(TNode< Dictionary > dictionary, TNode< Name > key, TNode< Object > value, Label *bailout, std::optional< TNode< IntPtrT > > insertion_index=std::nullopt)
 
static int ArrayMapIndex(ElementsKind elements_kind)
 
static void Generate(compiler::CodeAssemblerState *state)
 
static void Generate(compiler::CodeAssemblerState *state)
 
void Return(const TNode< Object > result)
 
void ReturnCallRuntime(Runtime::FunctionId function, TNode< Context > context, TArgs... args)
 
static FeedbackSlot Invalid()
 
bool ShouldCheckPrototype() const
 
void EmitGenericPropertyStore(TNode< JSReceiver > receiver, TNode< Map > receiver_map, TNode< Uint16T > instance_type, const StoreICParameters *p, ExitPoint *exit_point, Label *slow, Maybe< LanguageMode > maybe_language_mode, UseStubCache use_stub_cache)
 
bool IsDefineKeyedOwn() const
 
bool ShouldCheckPrototypeValidity() const
 
bool ShouldCallSetter() const
 
bool ShouldReconfigureExisting() const
 
bool IsDefineKeyedOwnInLiteral() const
 
void MaybeUpdateLengthAndReturn(TNode< JSObject > receiver, TNode< IntPtrT > index, TNode< Object > value, UpdateLength update_length)
 
void TryRewriteElements(TNode< JSObject > receiver, TNode< Map > receiver_map, TNode< FixedArrayBase > elements, TNode< NativeContext > native_context, ElementsKind from_kind, ElementsKind to_kind, Label *bailout)
 
void EmitGenericElementStore(TNode< JSObject > receiver, TNode< Map > receiver_map, TNode< Uint16T > instance_type, TNode< IntPtrT > index, TNode< Object > value, TNode< Context > context, Label *slow)
 
void StoreElementWithCapacity(TNode< JSObject > receiver, TNode< Map > receiver_map, TNode< FixedArrayBase > elements, TNode< Word32T > elements_kind, TNode< IntPtrT > index, TNode< Object > value, TNode< Context > context, Label *slow, UpdateLength update_length)
 
TNode< Map > FindCandidateStoreICTransitionMapHandler(TNode< Map > map, TNode< Name > name, Label *slow)
 
void TryChangeToHoleyMapMulti(TNode< JSObject > receiver, TNode< Map > receiver_map, TNode< Word32T > current_elements_kind, TNode< Context > context, ElementsKind packed_kind, ElementsKind packed_kind_2, Label *bailout)
 
void KeyedStoreMegamorphic()
 
KeyedStoreGenericAssembler(compiler::CodeAssemblerState *state, StoreMode mode)
 
bool IsAnyDefineOwn() const
 
void TryChangeToHoleyMapHelper(TNode< JSObject > receiver, TNode< Map > receiver_map, TNode< NativeContext > native_context, ElementsKind packed_kind, ElementsKind holey_kind, Label *done, Label *map_mismatch, Label *bailout)
 
void EmitGenericPropertyStore(TNode< JSReceiver > receiver, TNode< Map > receiver_map, TNode< Uint16T > instance_type, const StoreICParameters *p, Label *slow)
 
void StoreIC_NoFeedback()
 
void StoreSharedArrayElement(TNode< Context > context, TNode< FixedArrayBase > elements, TNode< IntPtrT > index, TNode< Object > value)
 
void BranchIfPrototypesMayHaveReadOnlyElements(TNode< Map > receiver_map, Label *maybe_read_only_elements, Label *only_fast_writable_elements)
 
void StoreProperty(TNode< Context > context, TNode< JSReceiver > receiver, TNode< BoolT > is_simple_receiver, TNode< Name > unique_name, TNode< Object > value, LanguageMode language_mode)
 
void LookupPropertyOnPrototypeChain(TNode< Map > receiver_map, TNode< Name > name, Label *accessor, TVariable< Object > *var_accessor_pair, TVariable< HeapObject > *var_accessor_holder, Label *readonly, Label *bailout)
 
void TryChangeToHoleyMap(TNode< JSObject > receiver, TNode< Map > receiver_map, TNode< Word32T > current_elements_kind, TNode< Context > context, ElementsKind packed_kind, Label *bailout)
 
bool IsDefineNamedOwn() const
 
static void SetProperty(compiler::CodeAssemblerState *state, TNode< Context > context, TNode< JSReceiver > receiver, TNode< BoolT > is_simple_receiver, TNode< Name > name, TNode< Object > value, LanguageMode language_mode)
 
static void CreateDataProperty(compiler::CodeAssemblerState *state, TNode< Context > context, TNode< JSObject > receiver, TNode< Object > key, TNode< Object > value)
 
static void Generate(compiler::CodeAssemblerState *state)
 
static void Generate(compiler::CodeAssemblerState *state)
 
static constexpr MachineType AnyTagged()
 
static constexpr MachineType None()
 
static const int kAttributesReadOnlyMask
 
static void Generate(compiler::CodeAssemblerState *state)
 
static const int kEntryKeyIndex
 
static const int kEntryTargetIndex
 
TNode< IntPtrT > IntPtrAdd(TNode< IntPtrT > left, TNode< IntPtrT > right)
 
TNode< Int32T > Signed(TNode< Word32T > x)
 
void Comment(MessageWithSourceLocation message, Args &&... args)
 
TNode< IntPtrT > IntPtrConstant(intptr_t value)
 
TNode< BoolT > WordEqual(TNode< WordT > left, TNode< WordT > right)
 
void GotoIfNot(TNode< IntegralT > condition, Label *false_label, GotoHint goto_hint=GotoHint::kNone)
 
void Return(TNode< Object > value)
 
TNode< Uint32T > Unsigned(TNode< Word32T > x)
 
TNode< Uint64T > Uint64Constant(uint64_t value)
 
void TailCallRuntime(Runtime::FunctionId function, TNode< Object > context, TArgs... args)
 
TNode< Smi > SmiConstant(Tagged< Smi > value)
 
void GotoIf(TNode< IntegralT > condition, Label *true_label, GotoHint goto_hint=GotoHint::kNone)
 
Node * Load(MachineType type, Node *base)
 
TNode< BoolT > BoolConstant(bool value)
 
TNode< TaggedIndex > TaggedIndexConstant(intptr_t value)
 
TNode< Int32T > Int32Constant(int32_t value)
 
TNode< BoolT > Word32Equal(TNode< Word32T > left, TNode< Word32T > right)
 
TNode< T > CallRuntime(Runtime::FunctionId function, TNode< Object > context, TArgs... args)
 
void Store(Node *base, Node *value)
 
void Branch(TNode< IntegralT > condition, Label *true_label, Label *false_label, BranchHint branch_hint=BranchHint::kNone)
 
void StoreNoWriteBarrier(MachineRepresentation rep, Node *base, Node *value)
 
TNode< T > Parameter(int value, const SourceLocation &loc=SourceLocation::Current())
 
#define V8_DICT_PROPERTY_CONST_TRACKING_BOOL
 
SharedFunctionInfoRef shared
 
ZoneVector< RpoNumber > & result
 
constexpr int kTaggedSize
 
@ kDefineKeyedOwnInLiteral
 
@ FIRST_FIXED_TYPED_ARRAY_ELEMENTS_KIND
 
@ LAST_RAB_GSAB_FIXED_TYPED_ARRAY_ELEMENTS_KIND
 
ElementsKind GetHoleyElementsKind(ElementsKind packed_kind)
 
DONT_OVERRIDE DISABLE_ALLOCATION_SITES HOLEY_ELEMENTS
 
DONT_OVERRIDE DISABLE_ALLOCATION_SITES DISABLE_ALLOCATION_SITES HOLEY_DOUBLE_ELEMENTS
 
V8_EXPORT_PRIVATE FlagValues v8_flags
 
bool IsPrivateSymbol(Tagged< Object > obj)
 
kInstanceDescriptorsOffset kTransitionsOrPrototypeInfoOffset IsNull(value)||IsJSProxy(value)||IsWasmObject(value)||(IsJSObject(value) &&(HeapLayout
 
!IsContextMap !IsContextMap native_context
 
Maybe< T > Just(const T &t)
 
#define DCHECK_IMPLIES(v1, v2)
 
#define DCHECK(condition)
 
TNode< Object > name() const
 
TNode< Context > context() const
 
TNode< TaggedIndex > slot() const
 
TNode< HeapObject > vector() const
 
StubCache * stub_cache(Isolate *isolate) const
 
TNode< Object > value() const
 
TNode< JSAny > receiver() const
 
#define OFFSET_OF_DATA_START(Type)