V8 Project
v8::internal::StubFailureTrampolineFrame Class Reference

#include <frames.h>

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

Public Member Functions

virtual Type type () const
 
virtual Codeunchecked_code () const
 
virtual void Iterate (ObjectVisitor *v) 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 Register fp_register ()
 
static Register context_register ()
 
static Register constant_pool_pointer_register ()
 
- Static Public Member Functions inherited from v8::internal::StandardFrame
static ObjectGetExpression (Address fp, int index)
 
static StandardFramecast (StackFrame *frame)
 

Static Public Attributes

static const int kFirstRegisterParameterFrameOffset
 
static const int kCallerStackParameterCountFrameOffset
 

Protected Member Functions

 StubFailureTrampolineFrame (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 748 of file frames.h.

Constructor & Destructor Documentation

◆ StubFailureTrampolineFrame()

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

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

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

Member Function Documentation

◆ constant_pool_pointer_register()

static Register v8::internal::StubFailureTrampolineFrame::constant_pool_pointer_register ( )
static

Referenced by v8::internal::Deoptimizer::DoComputeCompiledStubFrame().

+ Here is the caller graph for this function:

◆ context_register()

static Register v8::internal::StubFailureTrampolineFrame::context_register ( )
static

Referenced by v8::internal::Deoptimizer::DoComputeCompiledStubFrame().

+ Here is the caller graph for this function:

◆ fp_register()

static Register v8::internal::StubFailureTrampolineFrame::fp_register ( )
static

Referenced by v8::internal::Deoptimizer::DoComputeCompiledStubFrame().

+ Here is the caller graph for this function:

◆ GetCallerStackPointer()

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

Definition at line 1395 of file frames.cc.

1395  {
1397 }
static const int kCallerSPOffset
Definition: frames.h:167
const Register fp

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

◆ Iterate()

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

Definition at line 1382 of file frames.cc.

1382  {
1383  Object** base = &Memory::Object_at(sp());
1384  Object** limit = &Memory::Object_at(fp() +
1386  v->VisitPointers(base, limit);
1388  const int offset = StandardFrameConstants::kLastObjectOffset;
1389  limit = &Memory::Object_at(fp() + offset) + 1;
1390  v->VisitPointers(base, limit);
1391  IteratePc(v, pc_address(), LookupCode());
1392 }
static Object *& Object_at(Address addr)
Definition: v8memory.h:60
static const int kLastObjectOffset
Definition: frames.h:169
static const int kMarkerOffset
Definition: frames.h:161
static const int kFirstRegisterParameterFrameOffset
Definition: frames.h:752
kSerializedDataOffset Object
Definition: objects-inl.h:5322
const Register sp

References v8::internal::fp, kFirstRegisterParameterFrameOffset, v8::internal::StandardFrameConstants::kLastObjectOffset, v8::internal::StandardFrameConstants::kMarkerOffset, v8::internal::Memory::Object_at(), and v8::internal::sp.

+ Here is the call graph for this function:

◆ type()

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

Definition at line 758 of file frames.h.

758 { return STUB_FAILURE_TRAMPOLINE; }

◆ unchecked_code()

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

Definition at line 1400 of file frames.cc.

1400  {
1401  Code* trampoline;
1402  StubFailureTrampolineStub(isolate(), NOT_JS_FUNCTION_STUB_MODE).
1403  FindCodeInCache(&trampoline);
1404  if (trampoline->contains(pc())) {
1405  return trampoline;
1406  }
1407 
1408  StubFailureTrampolineStub(isolate(), JS_FUNCTION_STUB_MODE).
1409  FindCodeInCache(&trampoline);
1410  if (trampoline->contains(pc())) {
1411  return trampoline;
1412  }
1413 
1414  UNREACHABLE();
1415  return NULL;
1416 }
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
#define UNREACHABLE()
Definition: logging.h:30
@ JS_FUNCTION_STUB_MODE
Definition: code-stubs.h:350
@ NOT_JS_FUNCTION_STUB_MODE
Definition: code-stubs.h:350
const Register pc

References v8::internal::Code::contains(), v8::internal::JS_FUNCTION_STUB_MODE, v8::internal::NOT_JS_FUNCTION_STUB_MODE, NULL, v8::internal::pc, and UNREACHABLE.

+ Here is the call graph for this function:

Friends And Related Function Documentation

◆ StackFrameIteratorBase

friend class StackFrameIteratorBase
friend

Definition at line 778 of file frames.h.

Member Data Documentation

◆ kCallerStackParameterCountFrameOffset

const int v8::internal::StubFailureTrampolineFrame::kCallerStackParameterCountFrameOffset
static
Initial value:

Definition at line 755 of file frames.h.

◆ kFirstRegisterParameterFrameOffset

const int v8::internal::StubFailureTrampolineFrame::kFirstRegisterParameterFrameOffset
static
Initial value:

Definition at line 752 of file frames.h.

Referenced by Iterate().


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