V8 Project
v8::internal::JSEntryStub Class Reference

#include <code-stubs.h>

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

Classes

class  StackFrameTypeBits
 

Public Member Functions

 JSEntryStub (Isolate *isolate, StackFrame::Type type)
 
- Public Member Functions inherited from v8::internal::PlatformCodeStub
virtual Handle< CodeGenerateCode () OVERRIDE
 
virtual Code::Kind GetCodeKind () const
 

Private Member Functions

virtual void FinishCode (Handle< Code > code)
 
virtual void PrintName (OStream &os) const OVERRIDE
 
StackFrame::Type type () const
 
 DEFINE_NULL_CALL_INTERFACE_DESCRIPTOR ()
 
 DEFINE_PLATFORM_CODE_STUB (JSEntry, PlatformCodeStub)
 

Private Attributes

int handler_offset_
 

Additional Inherited Members

- Protected Member Functions inherited from v8::internal::PlatformCodeStub
 PlatformCodeStub (Isolate *isolate)
 
virtual void Generate (MacroAssembler *masm)=0
 
 DEFINE_CODE_STUB_BASE (PlatformCodeStub, CodeStub)
 

Detailed Description

Definition at line 1438 of file code-stubs.h.

Constructor & Destructor Documentation

◆ JSEntryStub()

v8::internal::JSEntryStub::JSEntryStub ( Isolate isolate,
StackFrame::Type  type 
)
inline

Definition at line 1440 of file code-stubs.h.

1441  : PlatformCodeStub(isolate) {
1442  DCHECK(type == StackFrame::ENTRY || type == StackFrame::ENTRY_CONSTRUCT);
1443  minor_key_ = StackFrameTypeBits::encode(type);
1444  }
static U encode(T value)
Definition: utils.h:217
StackFrame::Type type() const
Definition: code-stubs.h:1454
PlatformCodeStub(Isolate *isolate)
Definition: code-stubs.h:341
#define DCHECK(condition)
Definition: logging.h:205

References DCHECK, v8::internal::BitFieldBase< T, shift, size, U >::encode(), and type().

+ Here is the call graph for this function:

Member Function Documentation

◆ DEFINE_NULL_CALL_INTERFACE_DESCRIPTOR()

v8::internal::JSEntryStub::DEFINE_NULL_CALL_INTERFACE_DESCRIPTOR ( )
private

◆ DEFINE_PLATFORM_CODE_STUB()

v8::internal::JSEntryStub::DEFINE_PLATFORM_CODE_STUB ( JSEntry  ,
PlatformCodeStub   
)
private

◆ FinishCode()

void v8::internal::JSEntryStub::FinishCode ( Handle< Code code)
privatevirtual

Definition at line 560 of file code-stubs.cc.

560  {
561  Handle<FixedArray> handler_table =
562  code->GetIsolate()->factory()->NewFixedArray(1, TENURED);
563  handler_table->set(0, Smi::FromInt(handler_offset_));
564  code->set_handler_table(*handler_table);
565 }
static Smi * FromInt(int value)
Definition: objects-inl.h:1321

References v8::internal::Smi::FromInt(), handler_offset_, and v8::internal::TENURED.

+ Here is the call graph for this function:

◆ PrintName()

virtual void v8::internal::JSEntryStub::PrintName ( OStream os) const
inlineprivatevirtual

Definition at line 1449 of file code-stubs.h.

1449  { // NOLINT
1450  os << (type() == StackFrame::ENTRY ? "JSEntryStub"
1451  : "JSConstructEntryStub");
1452  }

References type().

+ Here is the call graph for this function:

◆ type()

StackFrame::Type v8::internal::JSEntryStub::type ( ) const
inlineprivate

Definition at line 1454 of file code-stubs.h.

1454  {
1455  return StackFrameTypeBits::decode(minor_key_);
1456  }
static T decode(U value)
Definition: utils.h:228

References v8::internal::BitFieldBase< T, shift, size, U >::decode().

Referenced by JSEntryStub(), and PrintName().

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

Member Data Documentation

◆ handler_offset_

int v8::internal::JSEntryStub::handler_offset_
private

Definition at line 1460 of file code-stubs.h.

Referenced by FinishCode().


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