5#ifndef V8_EXECUTION_FRAMES_INL_H_ 
    6#define V8_EXECUTION_FRAMES_INL_H_ 
   26    std::optional<Tagged<GcSafeCode>> 
code;
 
 
 
   72    : iterator_(iterator), 
isolate_(iterator_->isolate()) {}
 
 
  183  DCHECK(IsJSFunction(function) || IsFunctionTemplateInfo(function));
 
 
  188  DCHECK(IsJSFunction(function) || IsFunctionTemplateInfo(function));
 
 
  209  return !IsUndefined(new_context, 
isolate());
 
 
  260  intptr_t frame_type =
 
 
  324#if V8_ENABLE_WEBASSEMBLY 
  328inline WasmSegmentStartFrame::WasmSegmentStartFrame(
 
  329    StackFrameIteratorBase* iterator)
 
  330    : WasmFrame(iterator) {}
 
  332inline WasmExitFrame::WasmExitFrame(StackFrameIteratorBase* iterator)
 
  333    : WasmFrame(iterator) {}
 
  335#if V8_ENABLE_DRUMBRAKE 
  336inline WasmInterpreterEntryFrame::WasmInterpreterEntryFrame(
 
  337    StackFrameIteratorBase* iterator)
 
  338    : WasmFrame(iterator) {}
 
  341inline WasmDebugBreakFrame::WasmDebugBreakFrame(
 
  342    StackFrameIteratorBase* iterator)
 
  343    : TypedFrame(iterator) {}
 
  345inline WasmToJsFrame::WasmToJsFrame(StackFrameIteratorBase* iterator)
 
  346    : WasmFrame(iterator) {}
 
  348inline WasmToJsFunctionFrame::WasmToJsFunctionFrame(
 
  349    StackFrameIteratorBase* iterator)
 
  350    : TypedFrame(iterator) {}
 
  352inline JsToWasmFrame::JsToWasmFrame(StackFrameIteratorBase* iterator)
 
  353    : StubFrame(iterator) {}
 
  355inline StackSwitchFrame::StackSwitchFrame(StackFrameIteratorBase* iterator)
 
  356    : ExitFrame(iterator) {}
 
  358inline CWasmEntryFrame::CWasmEntryFrame(StackFrameIteratorBase* iterator)
 
  359    : StubFrame(iterator) {}
 
  361inline WasmLiftoffSetupFrame::WasmLiftoffSetupFrame(
 
  362    StackFrameIteratorBase* iterator)
 
  363    : TypedFrame(iterator) {}
 
  393#if V8_ENABLE_WEBASSEMBLY 
 
  410#if V8_ENABLE_WEBASSEMBLY 
  411bool DebuggableStackFrameIterator::is_wasm()
 const {
 
  412  return frame()->is_wasm();
 
  415#if V8_ENABLE_DRUMBRAKE 
  416bool DebuggableStackFrameIterator::is_wasm_interpreter_entry()
 const {
 
  417  return frame()->is_wasm_interpreter_entry();
 
  430#if V8_ENABLE_WEBASSEMBLY 
  431  DCHECK_NE(type, StackFrame::C_WASM_ENTRY);
 
  434         type == StackFrame::BUILTIN_EXIT ||
 
  435         type == StackFrame::API_ACCESSOR_EXIT ||
 
  436         type == StackFrame::API_CALLBACK_EXIT ||
 
  437#if V8_ENABLE_WEBASSEMBLY 
  438         type == StackFrame::WASM || type == StackFrame::WASM_TO_JS ||
 
  439         type == StackFrame::JS_TO_WASM ||
 
  440         type == StackFrame::WASM_SEGMENT_START ||
 
  441#if V8_ENABLE_DRUMBRAKE 
  442         type == StackFrame::WASM_INTERPRETER_ENTRY ||
 
 
static constexpr int kReceiverOffset
 
static constexpr int kHolderOffset
 
static constexpr int kPropertyNameOffset
 
FullObjectSlot receiver_slot() const
 
FullObjectSlot property_name_slot() const
 
FullObjectSlot holder_slot() const
 
Tagged< Object > receiver() const
 
ApiAccessorExitFrame(StackFrameIteratorBase *iterator)
 
Tagged< Object > holder() const
 
Tagged< Name > property_name() const
 
static constexpr int kReceiverOffset
 
static constexpr int kFirstArgumentOffset
 
static constexpr int kContextOffset
 
static constexpr int kTargetOffset
 
static constexpr int kFCIArgcOffset
 
static constexpr int kNewTargetOffset
 
FullObjectSlot target_slot() const
 
void set_target(Tagged< HeapObject > function) const
 
Tagged< Object > context() const override
 
Tagged< HeapObject > target() const
 
ApiCallbackExitFrame(StackFrameIteratorBase *iterator)
 
Tagged< Object > GetParameter(int i) const
 
bool IsConstructor() const
 
Tagged< Object > receiver() const
 
int ComputeParametersCount() const
 
BaselineFrame(StackFrameIteratorBase *iterator)
 
BuiltinContinuationFrame(StackFrameIteratorBase *iterator)
 
static constexpr int kNewTargetOffset
 
static constexpr int kReceiverOffset
 
static constexpr int kTargetOffset
 
static constexpr int kArgcOffset
 
Tagged< Object > argc_slot_object() const
 
Tagged< Object > new_target_slot_object() const
 
Tagged< Object > receiver_slot_object() const
 
BuiltinExitFrame(StackFrameIteratorBase *iterator)
 
Tagged< Object > target_slot_object() const
 
BuiltinFrame(StackFrameIteratorBase *iterator)
 
static constexpr int kCallerFPOffset
 
static constexpr int kCallerPCOffset
 
virtual int ComputeParametersCount() const
 
Address GetParameterSlot(int index) const
 
CommonFrameWithJSLinkage(StackFrameIteratorBase *iterator)
 
virtual int GetActualArgumentCount() const
 
static bool IsConstructFrame(Address fp)
 
CommonFrame(StackFrameIteratorBase *iterator)
 
Address caller_fp() const
 
void SetExpression(int index, Tagged< Object > value)
 
Address caller_pc() const
 
Tagged< Object > GetExpression(int index) const
 
virtual Address GetExpressionAddress(int n) const
 
ConstructEntryFrame(StackFrameIteratorBase *iterator)
 
ConstructFrame(StackFrameIteratorBase *iterator)
 
bool is_javascript() const
 
CommonFrame * frame() const
 
JavaScriptFrame * javascript_frame() const
 
StackFrameIterator iterator_
 
EntryFrame(StackFrameIteratorBase *iterator)
 
ExitFrame(StackFrameIteratorBase *iterator)
 
FastConstructFrame(StackFrameIteratorBase *iterator)
 
void store(Tagged< Object > value) const
 
InnerPointerToCodeCache & operator=(const InnerPointerToCodeCache &)=delete
 
InnerPointerToCodeCacheEntry * GetCacheEntry(Address inner_pointer)
 
InnerPointerToCodeCache(Isolate *isolate)
 
InnerPointerToCodeCacheEntry cache_[kInnerPointerToCodeCacheSize]
 
InnerPointerToCodeCacheEntry * cache(int index)
 
static const int kInnerPointerToCodeCacheSize
 
InnerPointerToCodeCache(const InnerPointerToCodeCache &)=delete
 
InternalFrame(StackFrameIteratorBase *iterator)
 
InterpretedFrame(StackFrameIteratorBase *iterator)
 
IrregexpFrame(StackFrameIteratorBase *iterator)
 
JavaScriptBuiltinContinuationFrame(StackFrameIteratorBase *iterator)
 
JavaScriptBuiltinContinuationWithCatchFrame(StackFrameIteratorBase *iterator)
 
Tagged< Object > function_slot_object() const
 
JavaScriptFrame(StackFrameIteratorBase *iterator)
 
void set_receiver(Tagged< Object > value)
 
static JavaScriptFrame * cast(StackFrame *frame)
 
MaglevFrame(StackFrameIteratorBase *iterator)
 
NativeFrame(StackFrameIteratorBase *iterator)
 
OptimizedJSFrame(StackFrameIteratorBase *iterator)
 
static V8_INLINE Address StripPAC(Address pc)
 
static V8_INLINE Address AuthenticatePC(Address *pc_address, unsigned offset_from_sp)
 
StackFrame * frame() const
 
static bool IsValidFrameType(StackFrame::Type type)
 
StackFrame * frame() const
 
static constexpr int32_t TypeToMarker(Type type)
 
Address unauthenticated_pc() const
 
bool is_stack_exit_frame() const
 
static ReturnAddressLocationResolver return_address_location_resolver_
 
Address caller_sp() const
 
bool is_profiler_entry_frame() const
 
static bool IsJavaScript(Type t)
 
virtual Type type() const =0
 
bool is_javascript() const
 
Address * pc_address() const
 
Isolate * isolate() const
 
static Address * ResolveReturnAddressLocation(Address *pc_address)
 
StackHandler * top_handler() const
 
const StackFrameIteratorBase *const iterator_
 
StackFrame(const StackFrame &original) V8_NOEXCEPT
 
Address maybe_unauthenticated_pc() const
 
static Address ReadPC(Address *pc_address)
 
static const int kNextOffset
 
static StackHandler * FromAddress(Address address)
 
StackHandler * next() const
 
Address next_address() const
 
static constexpr int kFunctionOffset
 
StubFrame(StackFrameIteratorBase *iterator)
 
V8_INLINE constexpr StorageType ptr() const
 
TurbofanJSFrame(StackFrameIteratorBase *iterator)
 
TurbofanStubWithContextFrame(StackFrameIteratorBase *iterator)
 
static constexpr int kFrameTypeOffset
 
TypedFrameWithJSLinkage(StackFrameIteratorBase *iterator)
 
TypedFrame(StackFrameIteratorBase *iterator)
 
static constexpr int kFeedbackVectorFromFp
 
UnoptimizedJSFrame(StackFrameIteratorBase *iterator)
 
void SetFeedbackVector(Tagged< FeedbackVector > feedback_vector)
 
constexpr int kSystemPointerSize
 
Tagged< To > Cast(Tagged< From > value, const v8::SourceLocation &loc=INIT_SOURCE_LOCATION_IN_DEBUG)
 
#define DCHECK_LE(v1, v2)
 
#define DCHECK_NE(v1, v2)
 
#define DCHECK_GE(v1, v2)
 
#define DCHECK(condition)
 
#define DCHECK_LT(v1, v2)
 
InnerPointerToCodeCacheEntry()
 
SafepointEntry safepoint_entry
 
std::optional< Tagged< GcSafeCode > > code
 
MaglevSafepointEntry maglev_safepoint_entry