5#ifndef V8_OBJECTS_FEEDBACK_CELL_INL_H_
6#define V8_OBJECTS_FEEDBACK_CELL_INL_H_
24#include "torque-generated/src/objects/feedback-cell-tq-inl.inc"
40 gc_notify_updated_slot) {
42 if (IsUndefined(
value()) || IsClosureFeedbackCellArray(
value()))
return;
48 if (gc_notify_updated_slot) {
49 (*gc_notify_updated_slot)(*
this, RawField(FeedbackCell::kValueOffset),
50 closure_feedback_cell_array);
56 set_interrupt_budget(0);
60 WriteField<JSDispatchHandle::underlying_type>(kDispatchHandleOffset,
64#ifdef V8_ENABLE_LEAPTIERING
67 ReadField<JSDispatchHandle::underlying_type>(kDispatchHandleOffset));
72 WriteField<JSDispatchHandle::underlying_type>(kDispatchHandleOffset,
81 if (
map() ==
r.no_closures_cell_map()) {
82 set_map(isolate,
r.one_closure_cell_map());
84 }
else if (
map() ==
r.one_closure_cell_map()) {
85 set_map(isolate,
r.many_closures_cell_map());
constexpr UnderlyingType & value() &
void clear_interrupt_budget()
static const int kAlignedSize
static const int kUnalignedSize
void clear_dispatch_handle()
ClosureCountTransition IncrementClosureCount(Isolate *isolate)
void reset_feedback_vector(std::optional< std::function< void(Tagged< HeapObject > object, ObjectSlot slot, Tagged< HeapObject > target)> > gc_notify_updated_slot=std::nullopt)
kInterpreterTrampolineOffset Tagged< HeapObject >
base::StrongAlias< JSDispatchHandleAliasTag, uint32_t > JSDispatchHandle
constexpr JSDispatchHandle kNullJSDispatchHandle(0)
Tagged< To > Cast(Tagged< From > value, const v8::SourceLocation &loc=INIT_SOURCE_LOCATION_IN_DEBUG)
static constexpr ReleaseStoreTag kReleaseStore
#define JS_DISPATCH_HANDLE_WRITE_BARRIER(object, handle)
#define TQ_OBJECT_CONSTRUCTORS_IMPL(Type)
#define RELEASE_ACQUIRE_ACCESSORS(holder, name, type, offset)
#define DCHECK_GE(v1, v2)
#define DCHECK(condition)
#define DCHECK_EQ(v1, v2)