v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
v8::internal::InterpretedFrame Class Reference

#include <frames.h>

Inheritance diagram for v8::internal::InterpretedFrame:
Collaboration diagram for v8::internal::InterpretedFrame:

Public Member Functions

Type type () const override
 
int GetBytecodeOffset () const override
 
void PatchBytecodeOffset (int new_offset)
 
void PatchBytecodeArray (Tagged< BytecodeArray > bytecode_array)
 
- Public Member Functions inherited from v8::internal::UnoptimizedJSFrame
int position () const override
 
int LookupExceptionHandlerInTable (int *data, HandlerTable::CatchPrediction *prediction) override
 
Tagged< BytecodeArrayGetBytecodeArray () const
 
Tagged< ObjectReadInterpreterRegister (int register_index) const
 
void SetFeedbackVector (Tagged< FeedbackVector > feedback_vector)
 
FrameSummaries Summarize () const override
 
- Public Member Functions inherited from v8::internal::JavaScriptFrame
Tagged< JSFunctionfunction () const override
 
Tagged< Objectunchecked_function () const
 
Tagged< Scriptscript () const
 
Tagged< Objectcontext () const override
 
int GetActualArgumentCount () const override
 
void set_receiver (Tagged< Object > value)
 
void SetParameterValue (int index, Tagged< Object > value) const
 
bool IsConstructor () const override
 
void Iterate (RootVisitor *v) const override
 
void Print (StringStream *accumulator, PrintMode mode, int index) const override
 
virtual void GetFunctions (std::vector< Tagged< SharedFunctionInfo > > *functions) const
 
void GetFunctions (std::vector< Handle< SharedFunctionInfo > > *functions) const
 
std::tuple< Tagged< AbstractCode >, int > GetActiveCodeAndOffset () const
 
bool is_unoptimized () const
 
bool is_optimized () const
 
bool is_turbofan () const
 
- Public Member Functions inherited from v8::internal::CommonFrameWithJSLinkage
virtual Tagged< Objectreceiver () const
 
virtual Tagged< ObjectGetParameter (int index) const
 
virtual int ComputeParametersCount () const
 
DirectHandle< FixedArrayGetParameters () const
 
Tagged< HeapObjectunchecked_code () const override
 
- Public Member Functions inherited from v8::internal::CommonFrame
Tagged< ObjectGetExpression (int index) const
 
void SetExpression (int index, Tagged< Object > value)
 
int ComputeExpressionsCount () const
 
- Public Member Functions inherited from v8::internal::StackFrame
 StackFrame (const StackFrame &original) V8_NOEXCEPT
 
bool is_entry () const
 
bool is_construct_entry () const
 
bool is_exit () const
 
bool is_optimized_js () const
 
bool is_unoptimized_js () const
 
bool is_interpreted () const
 
bool is_baseline () const
 
bool is_maglev () const
 
bool is_turbofan_js () const
 
bool is_builtin () const
 
bool is_internal () const
 
bool is_builtin_continuation () const
 
bool is_javascript_builtin_continuation () const
 
bool is_javascript_builtin_with_catch_continuation () const
 
bool is_construct () const
 
bool is_fast_construct () const
 
bool is_builtin_exit () const
 
bool is_api_accessor_exit () const
 
bool is_api_callback_exit () const
 
bool is_irregexp () const
 
bool is_javascript () const
 
Address sp () const
 
Address fp () const
 
Address callee_fp () const
 
Address callee_pc () const
 
Address caller_sp () const
 
Address pc () const
 
bool is_profiler_entry_frame () const
 
bool is_stack_exit_frame () const
 
Address unauthenticated_pc () const
 
Address maybe_unauthenticated_pc () const
 
bool InFastCCall () const
 
Address constant_pool () const
 
void set_constant_pool (Address constant_pool)
 
Addresspc_address () const
 
Addressconstant_pool_address () const
 
StackFrameId id () const
 
StackHandlertop_handler () const
 
V8_EXPORT_PRIVATE Tagged< CodeLookupCode () const
 
V8_EXPORT_PRIVATE std::pair< Tagged< Code >, int > LookupCodeAndOffset () const
 
V8_EXPORT_PRIVATE Tagged< GcSafeCodeGcSafeLookupCode () const
 
V8_EXPORT_PRIVATE std::pair< Tagged< GcSafeCode >, int > GcSafeLookupCodeAndOffset () const
 
void IteratePc (RootVisitor *v, Address *constant_pool_address, Tagged< GcSafeCode > holder) const
 
Isolateisolate () const
 
void operator= (const StackFrame &original)=delete
 

Static Public Member Functions

static InterpretedFramecast (StackFrame *frame)
 
static const InterpretedFramecast (const StackFrame *frame)
 
- Static Public Member Functions inherited from v8::internal::UnoptimizedJSFrame
static UnoptimizedJSFramecast (StackFrame *frame)
 
- Static Public Member Functions inherited from v8::internal::JavaScriptFrame
static Register fp_register ()
 
static Register context_register ()
 
static Register constant_pool_pointer_register ()
 
static JavaScriptFramecast (StackFrame *frame)
 
static void PrintFunctionAndOffset (Isolate *isolate, Tagged< JSFunction > function, Tagged< AbstractCode > code, int code_offset, FILE *file, bool print_line_number)
 
static void PrintTop (Isolate *isolate, FILE *file, bool print_args, bool print_line_number)
 
static void CollectFunctionAndOffsetForICStats (Isolate *isolate, Tagged< JSFunction > function, Tagged< AbstractCode > code, int code_offset)
 
- Static Public Member Functions inherited from v8::internal::CommonFrame
static CommonFramecast (StackFrame *frame)
 
- Static Public Member Functions inherited from v8::internal::StackFrame
static constexpr int32_t TypeToMarker (Type type)
 
static constexpr Type MarkerToType (intptr_t marker)
 
static constexpr bool IsTypeMarker (uintptr_t function_or_marker)
 
static bool IsJavaScript (Type t)
 
static Address unauthenticated_pc (Address *pc_address)
 
static Address maybe_unauthenticated_pc (Address *pc_address)
 
static void SetReturnAddressLocationResolver (ReturnAddressLocationResolver resolver)
 
static Address ReadPC (Address *pc_address)
 
static AddressResolveReturnAddressLocation (Address *pc_address)
 

Protected Member Functions

 InterpretedFrame (StackFrameIteratorBase *iterator)
 
- Protected Member Functions inherited from v8::internal::UnoptimizedJSFrame
 UnoptimizedJSFrame (StackFrameIteratorBase *iterator)
 
Address GetExpressionAddress (int n) const override
 
- Protected Member Functions inherited from v8::internal::JavaScriptFrame
 JavaScriptFrame (StackFrameIteratorBase *iterator)
 
Address GetCallerStackPointer () const override
 
virtual void PrintFrameKind (StringStream *accumulator) const
 
- Protected Member Functions inherited from v8::internal::CommonFrameWithJSLinkage
 CommonFrameWithJSLinkage (StackFrameIteratorBase *iterator)
 
Address GetParameterSlot (int index) const
 
- Protected Member Functions inherited from v8::internal::CommonFrame
 CommonFrame (StackFrameIteratorBase *iterator)
 
bool HasTaggedOutgoingParams (Tagged< GcSafeCode > code_lookup) const
 
void ComputeCallerState (State *state) const override
 
Address caller_fp () const
 
Address caller_pc () const
 
void IterateExpressions (RootVisitor *v) const
 
void IterateTurbofanJSOptimizedFrame (RootVisitor *v) const
 
- Protected Member Functions inherited from v8::internal::StackFrame
 StackFrame (StackFrameIteratorBase *iterator)
 

Friends

class StackFrameIteratorBase
 

Additional Inherited Members

- Public Types inherited from v8::internal::StackFrame
enum  Type { NO_FRAME_TYPE = 0 , STACK_FRAME_TYPE_LIST =(DECLARE_TYPE) NUMBER_OF_TYPES , MANUAL }
 
enum  JsFrameMarker { INNER_JSENTRY_FRAME = (0 << kSmiTagSize) | kSmiTag , OUTERMOST_JSENTRY_FRAME = (1 << kSmiTagSize) | kSmiTag }
 
enum  PrintMode { OVERVIEW , DETAILS }
 
- Static Protected Member Functions inherited from v8::internal::CommonFrameWithJSLinkage
static bool IsConstructFrame (Address fp)
 
- Protected Attributes inherited from v8::internal::StackFrame
const StackFrameIteratorBase *const iterator_
 

Detailed Description

Definition at line 1137 of file frames.h.

Constructor & Destructor Documentation

◆ InterpretedFrame()

v8::internal::InterpretedFrame::InterpretedFrame ( StackFrameIteratorBase * iterator)
inlineexplicitprotected

Definition at line 309 of file frames-inl.h.

Member Function Documentation

◆ cast() [1/2]

static const InterpretedFrame * v8::internal::InterpretedFrame::cast ( const StackFrame * frame)
inlinestatic

Definition at line 1156 of file frames.h.

Here is the call graph for this function:

◆ cast() [2/2]

static InterpretedFrame * v8::internal::InterpretedFrame::cast ( StackFrame * frame)
inlinestatic

Definition at line 1152 of file frames.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetBytecodeOffset()

int v8::internal::InterpretedFrame::GetBytecodeOffset ( ) const
overridevirtual

Implements v8::internal::UnoptimizedJSFrame.

Definition at line 3326 of file frames.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PatchBytecodeArray()

void v8::internal::InterpretedFrame::PatchBytecodeArray ( Tagged< BytecodeArray > bytecode_array)

Definition at line 3344 of file frames.cc.

Here is the caller graph for this function:

◆ PatchBytecodeOffset()

void v8::internal::InterpretedFrame::PatchBytecodeOffset ( int new_offset)

Definition at line 3335 of file frames.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ type()

Type v8::internal::InterpretedFrame::type ( ) const
inlineoverridevirtual

Implements v8::internal::JavaScriptFrame.

Definition at line 1139 of file frames.h.

Friends And Related Symbol Documentation

◆ StackFrameIteratorBase

friend class StackFrameIteratorBase
friend

Definition at line 1165 of file frames.h.


The documentation for this class was generated from the following files: