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

#include <frames.h>

Inheritance diagram for v8::internal::CommonFrame:
Collaboration diagram for v8::internal::CommonFrame:

Public Member Functions

virtual Tagged< Objectcontext () const
 
virtual int position () const
 
Tagged< ObjectGetExpression (int index) const
 
void SetExpression (int index, Tagged< Object > value)
 
int ComputeExpressionsCount () const
 
Address GetCallerStackPointer () const override
 
virtual FrameSummaries Summarize () 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
 
virtual Type type () const =0
 
virtual Tagged< HeapObjectunchecked_code () const =0
 
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
 
virtual void Iterate (RootVisitor *v) const =0
 
void IteratePc (RootVisitor *v, Address *constant_pool_address, Tagged< GcSafeCode > holder) const
 
virtual void Print (StringStream *accumulator, PrintMode mode, int index) const
 
Isolateisolate () const
 
void operator= (const StackFrame &original)=delete
 

Static Public Member Functions

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

 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
 
virtual Address GetExpressionAddress (int n) const
 
- Protected Member Functions inherited from v8::internal::StackFrame
 StackFrame (StackFrameIteratorBase *iterator)
 

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 }
 
- Protected Attributes inherited from v8::internal::StackFrame
const StackFrameIteratorBase *const iterator_
 

Detailed Description

Definition at line 643 of file frames.h.

Constructor & Destructor Documentation

◆ CommonFrame()

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

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

Member Function Documentation

◆ caller_fp()

Address v8::internal::CommonFrame::caller_fp ( ) const
inlineprotected

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

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

◆ caller_pc()

Address v8::internal::CommonFrame::caller_pc ( ) const
inlineprotected

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

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

◆ cast()

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

Definition at line 662 of file frames.h.

Here is the caller graph for this function:

◆ ComputeCallerState()

void v8::internal::CommonFrame::ComputeCallerState ( State * state) const
overrideprotectedvirtual

Implements v8::internal::StackFrame.

Reimplemented in v8::internal::EntryFrame, v8::internal::ExitFrame, and v8::internal::NativeFrame.

Definition at line 1489 of file frames.cc.

Here is the call graph for this function:

◆ ComputeExpressionsCount()

int v8::internal::CommonFrame::ComputeExpressionsCount ( ) const

Definition at line 1481 of file frames.cc.

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

◆ context()

Tagged< Object > v8::internal::CommonFrame::context ( ) const
virtual

Reimplemented in v8::internal::ApiCallbackExitFrame, v8::internal::JavaScriptBuiltinContinuationFrame, and v8::internal::JavaScriptFrame.

Definition at line 1470 of file frames.cc.

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

◆ GetCallerStackPointer()

Address v8::internal::CommonFrame::GetCallerStackPointer ( ) const
overridevirtual

Implements v8::internal::StackFrame.

Reimplemented in v8::internal::EntryFrame, and v8::internal::JavaScriptFrame.

Definition at line 1065 of file frames.cc.

Here is the call graph for this function:

◆ GetExpression()

Tagged< Object > v8::internal::CommonFrame::GetExpression ( int index) const
inline

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

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

◆ GetExpressionAddress()

Address v8::internal::CommonFrame::GetExpressionAddress ( int n) const
protectedvirtual

Reimplemented in v8::internal::UnoptimizedJSFrame.

Definition at line 1460 of file frames.cc.

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

◆ HasTaggedOutgoingParams()

bool v8::internal::CommonFrame::HasTaggedOutgoingParams ( Tagged< GcSafeCode > code_lookup) const
protected

Definition at line 2240 of file frames.cc.

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

◆ IterateExpressions()

void v8::internal::CommonFrame::IterateExpressions ( RootVisitor * v) const
protected

Definition at line 4091 of file frames.cc.

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

◆ IterateTurbofanJSOptimizedFrame()

void v8::internal::CommonFrame::IterateTurbofanJSOptimizedFrame ( RootVisitor * v) const
protected

Definition at line 2272 of file frames.cc.

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

◆ position()

int v8::internal::CommonFrame::position ( ) const
virtual

Reimplemented in v8::internal::UnoptimizedJSFrame.

Definition at line 1474 of file frames.cc.

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

◆ SetExpression()

void v8::internal::CommonFrame::SetExpression ( int index,
Tagged< Object > value )
inline

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

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

◆ Summarize()

FrameSummaries v8::internal::CommonFrame::Summarize ( ) const
virtual

Reimplemented in v8::internal::ApiAccessorExitFrame, v8::internal::ApiCallbackExitFrame, v8::internal::BuiltinExitFrame, v8::internal::CommonFrameWithJSLinkage, v8::internal::OptimizedJSFrame, v8::internal::StubFrame, and v8::internal::UnoptimizedJSFrame.

Definition at line 1508 of file frames.cc.

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

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