V8 Project
v8::internal::EntryFrame Class Reference

#include <frames.h>

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

Public Member Functions

virtual Type type () const
 
virtual Codeunchecked_code () const
 
virtual void Iterate (ObjectVisitor *v) 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 EntryFramecast (StackFrame *frame)
 

Protected Member Functions

 EntryFrame (StackFrameIteratorBase *iterator)
 
virtual Address GetCallerStackPointer () const
 

Private Member Functions

virtual void ComputeCallerState (State *state) const
 
virtual Type GetCallerState (State *state) const
 

Friends

class StackFrameIteratorBase
 

Detailed Description

Definition at line 364 of file frames.h.

Constructor & Destructor Documentation

◆ EntryFrame()

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

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

134  : StackFrame(iterator) {
135 }
HANDLE HANDLE LPSTACKFRAME64 StackFrame

Member Function Documentation

◆ cast()

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

Definition at line 373 of file frames.h.

373  {
374  DCHECK(frame->is_entry());
375  return static_cast<EntryFrame*>(frame);
376  }
EntryFrame(StackFrameIteratorBase *iterator)
Definition: frames-inl.h:133
#define DCHECK(condition)
Definition: logging.h:205

References DCHECK.

◆ ComputeCallerState()

void v8::internal::EntryFrame::ComputeCallerState ( State state) const
privatevirtual

Definition at line 471 of file frames.cc.

471  {
472  GetCallerState(state);
473 }
virtual Type GetCallerState(State *state) const
Definition: frames.cc:482

References GetCallerState().

+ Here is the call graph for this function:

◆ GetCallerStackPointer()

virtual Address v8::internal::EntryFrame::GetCallerStackPointer ( ) const
inlineprotectedvirtual

Definition at line 385 of file frames.h.

385 { return 0; }

◆ GetCallerState()

StackFrame::Type v8::internal::EntryFrame::GetCallerState ( State state) const
privatevirtual

Definition at line 482 of file frames.cc.

482  {
483  const int offset = EntryFrameConstants::kCallerFPOffset;
484  Address fp = Memory::Address_at(this->fp() + offset);
485  return ExitFrame::GetStateForFramePointer(fp, state);
486 }
static const int kCallerFPOffset
Definition: frames-arm.h:80
static Type GetStateForFramePointer(Address fp, State *state)
Definition: frames.cc:539
static Address & Address_at(Address addr)
Definition: v8memory.h:56
const Register fp
byte * Address
Definition: globals.h:101

References v8::internal::Memory::Address_at(), v8::internal::fp, v8::internal::ExitFrame::GetStateForFramePointer(), and v8::internal::EntryFrameConstants::kCallerFPOffset.

Referenced by ComputeCallerState().

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

◆ Iterate()

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

Definition at line 1333 of file frames.cc.

1333  {
1334  StackHandlerIterator it(this, top_handler());
1335  DCHECK(!it.done());
1336  StackHandler* handler = it.handler();
1337  DCHECK(handler->is_js_entry());
1338  handler->Iterate(v, LookupCode());
1339 #ifdef DEBUG
1340  // Make sure that the entry frame does not contain more than one
1341  // stack handler.
1342  it.Advance();
1343  DCHECK(it.done());
1344 #endif
1345  IteratePc(v, pc_address(), LookupCode());
1346 }

References DCHECK.

◆ SetCallerFp()

void v8::internal::EntryFrame::SetCallerFp ( Address  caller_fp)
virtual

Definition at line 476 of file frames.cc.

476  {
477  const int offset = EntryFrameConstants::kCallerFPOffset;
478  Memory::Address_at(this->fp() + offset) = caller_fp;
479 }

References v8::internal::Memory::Address_at(), v8::internal::fp, and v8::internal::EntryFrameConstants::kCallerFPOffset.

+ Here is the call graph for this function:

◆ type()

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

Reimplemented in v8::internal::EntryConstructFrame.

Definition at line 366 of file frames.h.

366 { return ENTRY; }

◆ unchecked_code()

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

Reimplemented in v8::internal::EntryConstructFrame.

Definition at line 466 of file frames.cc.

466  {
467  return isolate()->heap()->js_entry_code();
468 }

References v8::internal::Isolate::heap().

+ Here is the call graph for this function:

Friends And Related Function Documentation

◆ StackFrameIteratorBase

friend class StackFrameIteratorBase
friend

Definition at line 391 of file frames.h.


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