webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
JSC::JITCode Class Referenceabstract

#include <JITCode.h>

Inheritance diagram for JSC::JITCode:
JSC::JITCodeWithCodeRef JSC::JITCodeWithCodeRef JSC::DirectJITCode JSC::DirectJITCode JSC::NativeJITCode JSC::NativeJITCode JSC::DirectJITCode JSC::DirectJITCode JSC::NativeJITCode JSC::NativeJITCode

Public Types

enum  JITType : uint8_t {
  None, HostCallThunk, InterpreterThunk, BaselineJIT,
  DFGJIT, FTLJIT, None, HostCallThunk,
  InterpreterThunk, BaselineJIT, DFGJIT, FTLJIT
}
 
enum  JITType : uint8_t {
  None, HostCallThunk, InterpreterThunk, BaselineJIT,
  DFGJIT, FTLJIT, None, HostCallThunk,
  InterpreterThunk, BaselineJIT, DFGJIT, FTLJIT
}
 
typedef MacroAssemblerCodeRef CodeRef
 
typedef MacroAssemblerCodePtr CodePtr
 
typedef MacroAssemblerCodeRef CodeRef
 
typedef MacroAssemblerCodePtr CodePtr
 

Public Member Functions

virtual ~JITCode ()
 
JITType jitType () const
 
virtual CodePtr addressForCall (ArityCheckMode)=0
 
virtual voidexecutableAddressAtOffset (size_t offset)=0
 
voidexecutableAddress ()
 
virtual voiddataAddressAtOffset (size_t offset)=0
 
virtual unsigned offsetOf (void *pointerIntoCode)=0
 
virtual DFG::CommonData * dfgCommon ()
 
virtual DFG::JITCode * dfg ()
 
virtual FTL::JITCode * ftl ()
 
virtual FTL::ForOSREntryJITCode * ftlForOSREntry ()
 
virtual void validateReferences (const TrackedReferences &)
 
JSValue execute (VM *, ProtoCallFrame *)
 
voidstart ()
 
virtual size_t size ()=0
 
voidend ()
 
virtual bool contains (void *)=0
 
virtual ~JITCode ()
 
JITType jitType () const
 
virtual CodePtr addressForCall (ArityCheckMode)=0
 
virtual voidexecutableAddressAtOffset (size_t offset)=0
 
voidexecutableAddress ()
 
virtual voiddataAddressAtOffset (size_t offset)=0
 
virtual unsigned offsetOf (void *pointerIntoCode)=0
 
virtual DFG::CommonData * dfgCommon ()
 
virtual DFG::JITCode * dfg ()
 
virtual FTL::JITCode * ftl ()
 
virtual FTL::ForOSREntryJITCode * ftlForOSREntry ()
 
virtual void validateReferences (const TrackedReferences &)
 
JSValue execute (VM *, ProtoCallFrame *)
 
voidstart ()
 
virtual size_t size ()=0
 
voidend ()
 
virtual bool contains (void *)=0
 

Static Public Member Functions

static const char * typeName (JITType)
 
static JITType bottomTierJIT ()
 
static JITType topTierJIT ()
 
static JITType nextTierJIT (JITType jitType)
 
static bool isExecutableScript (JITType jitType)
 
static bool couldBeInterpreted (JITType jitType)
 
static bool isJIT (JITType jitType)
 
static bool isLowerTier (JITType expectedLower, JITType expectedHigher)
 
static bool isHigherTier (JITType expectedHigher, JITType expectedLower)
 
static bool isLowerOrSameTier (JITType expectedLower, JITType expectedHigher)
 
static bool isHigherOrSameTier (JITType expectedHigher, JITType expectedLower)
 
static bool isOptimizingJIT (JITType jitType)
 
static bool isBaselineCode (JITType jitType)
 
template<typename PointerType >
static JITType jitTypeFor (PointerType jitCode)
 
static const char * typeName (JITType)
 
static JITType bottomTierJIT ()
 
static JITType topTierJIT ()
 
static JITType nextTierJIT (JITType jitType)
 
static bool isExecutableScript (JITType jitType)
 
static bool couldBeInterpreted (JITType jitType)
 
static bool isJIT (JITType jitType)
 
static bool isLowerTier (JITType expectedLower, JITType expectedHigher)
 
static bool isHigherTier (JITType expectedHigher, JITType expectedLower)
 
static bool isLowerOrSameTier (JITType expectedLower, JITType expectedHigher)
 
static bool isHigherOrSameTier (JITType expectedHigher, JITType expectedLower)
 
static bool isOptimizingJIT (JITType jitType)
 
static bool isBaselineCode (JITType jitType)
 
template<typename PointerType >
static JITType jitTypeFor (PointerType jitCode)
 

Protected Member Functions

 JITCode (JITType)
 
 JITCode (JITType)
 

Member Typedef Documentation

◆ CodePtr [1/2]

◆ CodePtr [2/2]

◆ CodeRef [1/2]

◆ CodeRef [2/2]

Member Enumeration Documentation

◆ JITType [1/2]

Enumerator
None 
HostCallThunk 
InterpreterThunk 
BaselineJIT 
DFGJIT 
FTLJIT 
None 
HostCallThunk 
InterpreterThunk 
BaselineJIT 
DFGJIT 
FTLJIT 

◆ JITType [2/2]

Enumerator
None 
HostCallThunk 
InterpreterThunk 
BaselineJIT 
DFGJIT 
FTLJIT 
None 
HostCallThunk 
InterpreterThunk 
BaselineJIT 
DFGJIT 
FTLJIT 

Constructor & Destructor Documentation

◆ JITCode() [1/2]

JSC::JITCode::JITCode ( JITType  jitType)
protected

◆ ~JITCode() [1/2]

JSC::JITCode::~JITCode ( )
virtual

◆ JITCode() [2/2]

JSC::JITCode::JITCode ( JITType  )
protected

◆ ~JITCode() [2/2]

virtual JSC::JITCode::~JITCode ( )
virtual

Member Function Documentation

◆ addressForCall() [1/2]

virtual CodePtr JSC::JITCode::addressForCall ( ArityCheckMode  )
pure virtual

◆ addressForCall() [2/2]

virtual CodePtr JSC::JITCode::addressForCall ( ArityCheckMode  )
pure virtual

◆ bottomTierJIT() [1/2]

static JITType JSC::JITCode::bottomTierJIT ( )
inlinestatic

◆ bottomTierJIT() [2/2]

static JITType JSC::JITCode::bottomTierJIT ( )
inlinestatic

◆ contains() [1/2]

virtual bool JSC::JITCode::contains ( void )
pure virtual

◆ contains() [2/2]

virtual bool JSC::JITCode::contains ( void )
pure virtual

◆ couldBeInterpreted() [1/2]

static bool JSC::JITCode::couldBeInterpreted ( JITType  jitType)
inlinestatic

◆ couldBeInterpreted() [2/2]

static bool JSC::JITCode::couldBeInterpreted ( JITType  jitType)
inlinestatic

◆ dataAddressAtOffset() [1/2]

virtual void* JSC::JITCode::dataAddressAtOffset ( size_t  offset)
pure virtual

◆ dataAddressAtOffset() [2/2]

virtual void* JSC::JITCode::dataAddressAtOffset ( size_t  offset)
pure virtual

◆ dfg() [1/2]

DFG::JITCode * JSC::JITCode::dfg ( )
virtual

◆ dfg() [2/2]

virtual DFG::JITCode* JSC::JITCode::dfg ( )
virtual

◆ dfgCommon() [1/2]

DFG::CommonData * JSC::JITCode::dfgCommon ( )
virtual

◆ dfgCommon() [2/2]

virtual DFG::CommonData* JSC::JITCode::dfgCommon ( )
virtual

◆ end() [1/2]

void* JSC::JITCode::end ( )
inline

◆ end() [2/2]

void* JSC::JITCode::end ( )
inline

◆ executableAddress() [1/2]

void* JSC::JITCode::executableAddress ( )
inline

◆ executableAddress() [2/2]

void* JSC::JITCode::executableAddress ( )
inline

◆ executableAddressAtOffset() [1/2]

virtual void* JSC::JITCode::executableAddressAtOffset ( size_t  offset)
pure virtual

◆ executableAddressAtOffset() [2/2]

virtual void* JSC::JITCode::executableAddressAtOffset ( size_t  offset)
pure virtual

◆ execute() [1/2]

JSValue JSC::JITCode::execute ( VM vm,
ProtoCallFrame protoCallFrame 
)

◆ execute() [2/2]

JSValue JSC::JITCode::execute ( VM ,
ProtoCallFrame  
)

◆ ftl() [1/2]

FTL::JITCode * JSC::JITCode::ftl ( )
virtual

◆ ftl() [2/2]

virtual FTL::JITCode* JSC::JITCode::ftl ( )
virtual

◆ ftlForOSREntry() [1/2]

FTL::ForOSREntryJITCode * JSC::JITCode::ftlForOSREntry ( )
virtual

◆ ftlForOSREntry() [2/2]

virtual FTL::ForOSREntryJITCode* JSC::JITCode::ftlForOSREntry ( )
virtual

◆ isBaselineCode() [1/2]

static bool JSC::JITCode::isBaselineCode ( JITType  jitType)
inlinestatic

◆ isBaselineCode() [2/2]

static bool JSC::JITCode::isBaselineCode ( JITType  jitType)
inlinestatic

◆ isExecutableScript() [1/2]

static bool JSC::JITCode::isExecutableScript ( JITType  jitType)
inlinestatic

◆ isExecutableScript() [2/2]

static bool JSC::JITCode::isExecutableScript ( JITType  jitType)
inlinestatic

◆ isHigherOrSameTier() [1/2]

static bool JSC::JITCode::isHigherOrSameTier ( JITType  expectedHigher,
JITType  expectedLower 
)
inlinestatic

◆ isHigherOrSameTier() [2/2]

static bool JSC::JITCode::isHigherOrSameTier ( JITType  expectedHigher,
JITType  expectedLower 
)
inlinestatic

◆ isHigherTier() [1/2]

static bool JSC::JITCode::isHigherTier ( JITType  expectedHigher,
JITType  expectedLower 
)
inlinestatic

◆ isHigherTier() [2/2]

static bool JSC::JITCode::isHigherTier ( JITType  expectedHigher,
JITType  expectedLower 
)
inlinestatic

◆ isJIT() [1/2]

static bool JSC::JITCode::isJIT ( JITType  jitType)
inlinestatic

◆ isJIT() [2/2]

static bool JSC::JITCode::isJIT ( JITType  jitType)
inlinestatic

◆ isLowerOrSameTier() [1/2]

static bool JSC::JITCode::isLowerOrSameTier ( JITType  expectedLower,
JITType  expectedHigher 
)
inlinestatic

◆ isLowerOrSameTier() [2/2]

static bool JSC::JITCode::isLowerOrSameTier ( JITType  expectedLower,
JITType  expectedHigher 
)
inlinestatic

◆ isLowerTier() [1/2]

static bool JSC::JITCode::isLowerTier ( JITType  expectedLower,
JITType  expectedHigher 
)
inlinestatic

◆ isLowerTier() [2/2]

static bool JSC::JITCode::isLowerTier ( JITType  expectedLower,
JITType  expectedHigher 
)
inlinestatic

◆ isOptimizingJIT() [1/2]

static bool JSC::JITCode::isOptimizingJIT ( JITType  jitType)
inlinestatic

◆ isOptimizingJIT() [2/2]

static bool JSC::JITCode::isOptimizingJIT ( JITType  jitType)
inlinestatic

◆ jitType() [1/2]

JITType JSC::JITCode::jitType ( ) const
inline

◆ jitType() [2/2]

JITType JSC::JITCode::jitType ( ) const
inline

◆ jitTypeFor() [1/2]

template<typename PointerType >
static JITType JSC::JITCode::jitTypeFor ( PointerType  jitCode)
inlinestatic

◆ jitTypeFor() [2/2]

template<typename PointerType >
static JITType JSC::JITCode::jitTypeFor ( PointerType  jitCode)
inlinestatic

◆ nextTierJIT() [1/2]

static JITType JSC::JITCode::nextTierJIT ( JITType  jitType)
inlinestatic

◆ nextTierJIT() [2/2]

static JITType JSC::JITCode::nextTierJIT ( JITType  jitType)
inlinestatic

◆ offsetOf() [1/2]

virtual unsigned JSC::JITCode::offsetOf ( void pointerIntoCode)
pure virtual

◆ offsetOf() [2/2]

virtual unsigned JSC::JITCode::offsetOf ( void pointerIntoCode)
pure virtual

◆ size() [1/2]

virtual size_t JSC::JITCode::size ( )
pure virtual

◆ size() [2/2]

virtual size_t JSC::JITCode::size ( )
pure virtual

◆ start() [1/2]

void* JSC::JITCode::start ( )
inline

◆ start() [2/2]

void* JSC::JITCode::start ( )
inline

◆ topTierJIT() [1/2]

static JITType JSC::JITCode::topTierJIT ( )
inlinestatic

◆ topTierJIT() [2/2]

static JITType JSC::JITCode::topTierJIT ( )
inlinestatic

◆ typeName() [1/2]

static const char* JSC::JITCode::typeName ( JITType  )
static

◆ typeName() [2/2]

const char * JSC::JITCode::typeName ( JITType  jitType)
static

◆ validateReferences() [1/2]

virtual void JSC::JITCode::validateReferences ( const TrackedReferences )
virtual

◆ validateReferences() [2/2]

void JSC::JITCode::validateReferences ( const TrackedReferences )
virtual

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