V8 Project
v8::internal::InternalFrame Class Reference

#include <frames.h>

+ Inheritance diagram for v8::internal::InternalFrame:
+ Collaboration diagram for v8::internal::InternalFrame:

Public Member Functions

virtual Type type () const
 
virtual void Iterate (ObjectVisitor *v) const
 
virtual Codeunchecked_code () const
 
- Public Member Functions inherited from v8::internal::StandardFrame
virtual bool is_standard () const
 
Objectcontext () const
 
ObjectGetExpression (int index) const
 
void SetExpression (int index, Object *value)
 
int ComputeExpressionsCount () const
 
virtual void SetCallerFp (Address caller_fp)
 
- Public Member Functions inherited from v8::StackFrame
int GetLineNumber () const
 Returns the number, 1-based, of the line for the associate function call. More...
 
int GetColumn () const
 Returns the 1-based column offset on the line for the associated function call. More...
 
int GetScriptId () const
 Returns the id of the script for the function for this StackFrame. More...
 
Local< StringGetScriptName () const
 Returns the name of the resource that contains the script for the function for this StackFrame. More...
 
Local< StringGetScriptNameOrSourceURL () const
 Returns the name of the resource that contains the script for the function for this StackFrame or sourceURL value if the script name is undefined and its source ends with //# sourceURL=... More...
 
Local< StringGetFunctionName () const
 Returns the name of the function associated with this stack frame. More...
 
bool IsEval () const
 Returns whether or not the associated function is compiled via a call to eval(). More...
 
bool IsConstructor () const
 Returns whether or not the associated function is called as a constructor via "new". More...
 

Static Public Member Functions

static InternalFramecast (StackFrame *frame)
 
- Static Public Member Functions inherited from v8::internal::StandardFrame
static ObjectGetExpression (Address fp, int index)
 
static StandardFramecast (StackFrame *frame)
 

Protected Member Functions

 InternalFrame (StackFrameIteratorBase *iterator)
 
virtual Address GetCallerStackPointer () const
 
- Protected Member Functions inherited from v8::internal::StandardFrame
 StandardFrame (StackFrameIteratorBase *iterator)
 
virtual void ComputeCallerState (State *state) const
 
Address caller_fp () const
 
Address caller_pc () const
 
void IterateExpressions (ObjectVisitor *v) const
 
Address GetExpressionAddress (int n) const
 
bool IsExpressionInsideHandler (int n) const
 
void IterateCompiledFrame (ObjectVisitor *v) const
 

Friends

class StackFrameIteratorBase
 

Additional Inherited Members

- Static Protected Member Functions inherited from v8::internal::StandardFrame
static Address ComputePCAddress (Address fp)
 
static Address ComputeConstantPoolAddress (Address fp)
 
static Address GetExpressionAddress (Address fp, int n)
 
static bool IsArgumentsAdaptorFrame (Address fp)
 
static bool IsConstructFrame (Address fp)
 

Detailed Description

Definition at line 723 of file frames.h.

Constructor & Destructor Documentation

◆ InternalFrame()

v8::internal::InternalFrame::InternalFrame ( StackFrameIteratorBase iterator)
inlineexplicitprotected

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

286  : StandardFrame(iterator) {
287 }
StandardFrame(StackFrameIteratorBase *iterator)
Definition: frames-inl.h:149

Member Function Documentation

◆ cast()

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

Definition at line 733 of file frames.h.

733  {
734  DCHECK(frame->is_internal());
735  return static_cast<InternalFrame*>(frame);
736  }
InternalFrame(StackFrameIteratorBase *iterator)
Definition: frames-inl.h:285
#define DCHECK(condition)
Definition: logging.h:205

References DCHECK.

◆ GetCallerStackPointer()

Address v8::internal::InternalFrame::GetCallerStackPointer ( ) const
protectedvirtual

Definition at line 1131 of file frames.cc.

1131  {
1132  // Internal frames have no arguments. The stack pointer of the
1133  // caller is at a fixed offset from the frame pointer.
1135 }
static const int kCallerSPOffset
Definition: frames.h:167
const Register fp

References v8::internal::fp, and v8::internal::StandardFrameConstants::kCallerSPOffset.

◆ Iterate()

void v8::internal::InternalFrame::Iterate ( ObjectVisitor v) const
virtual

Definition at line 1374 of file frames.cc.

1374  {
1375  // Internal frames only have object pointers on the expression stack
1376  // as they never have any arguments.
1377  IterateExpressions(v);
1378  IteratePc(v, pc_address(), LookupCode());
1379 }
void IterateExpressions(ObjectVisitor *v) const
Definition: frames.cc:1349

References v8::internal::StandardFrame::IterateExpressions().

+ Here is the call graph for this function:

◆ type()

virtual Type v8::internal::InternalFrame::type ( ) const
inlinevirtual

Reimplemented in v8::internal::ConstructFrame.

Definition at line 725 of file frames.h.

725 { return INTERNAL; }

References v8::internal::INTERNAL.

◆ unchecked_code()

Code * v8::internal::InternalFrame::unchecked_code ( ) const
virtual

Definition at line 1144 of file frames.cc.

1144  {
1145  const int offset = InternalFrameConstants::kCodeOffset;
1146  Object* code = Memory::Object_at(fp() + offset);
1147  DCHECK(code != NULL);
1148  return reinterpret_cast<Code*>(code);
1149 }
static Object *& Object_at(Address addr)
Definition: v8memory.h:60
enable harmony numeric enable harmony object literal extensions Optimize object Array DOM strings and string trace pretenuring decisions of HAllocate instructions Enables optimizations which favor memory size over execution speed maximum source size in bytes considered for a single inlining maximum cumulative number of AST nodes considered for inlining trace the tracking of allocation sites deoptimize every n garbage collections perform array bounds checks elimination analyze liveness of environment slots and zap dead values flushes the cache of optimized code for closures on every GC allow uint32 values on optimize frames if they are used only in safe operations track concurrent recompilation artificial compilation delay in ms do not emit check maps for constant values that have a leaf deoptimize the optimized code if the layout of the maps changes enable context specialization in TurboFan execution budget before interrupt is triggered max percentage of megamorphic generic ICs to allow optimization enable use of SAHF instruction if enable use of VFP3 instructions if available enable use of NEON instructions if enable use of SDIV and UDIV instructions if enable use of MLS instructions if enable loading bit constant by means of movw movt instruction enable unaligned accesses for enable use of d16 d31 registers on ARM this requires VFP3 force all emitted branches to be in long enable alignment of csp to bytes on platforms which prefer the register to always be NULL
kSerializedDataOffset Object
Definition: objects-inl.h:5322

References DCHECK, v8::internal::fp, v8::internal::InternalFrameConstants::kCodeOffset, NULL, and v8::internal::Memory::Object_at().

+ Here is the call graph for this function:

Friends And Related Function Documentation

◆ StackFrameIteratorBase

friend class StackFrameIteratorBase
friend

Definition at line 744 of file frames.h.


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