webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Public Member Functions | Static Public Member Functions | Friends | List of all members
JSC::Interpreter Class Reference

#include <Interpreter.h>

Public Member Functions

 Interpreter (VM &)
 
 ~Interpreter ()
 
void initialize ()
 
CLoopStack & cloopStack ()
 
Opcode getOpcode (OpcodeID id)
 
OpcodeID getOpcodeID (Opcode opcode)
 
OpcodeID getOpcodeID (const Instruction &)
 
OpcodeID getOpcodeID (const UnlinkedInstruction &)
 
bool isOpcode (Opcode)
 
JSValue executeProgram (const SourceCode &, CallFrame *, JSObject *thisObj)
 
JSValue executeCall (CallFrame *, JSObject *function, CallType, const CallData &, JSValue thisValue, const ArgList &)
 
JSObject * executeConstruct (CallFrame *, JSObject *function, ConstructType, const ConstructData &, const ArgList &, JSValue newTarget)
 
JSValue execute (EvalExecutable *, CallFrame *, JSValue thisValue, JSScope *)
 
JSValue execute (ModuleProgramExecutable *, CallFrame *, JSModuleEnvironment *)
 
void getArgumentsData (CallFrame *, JSFunction *&, ptrdiff_t &firstParameterIndex, Register *&argv, int &argc)
 
NEVER_INLINE HandlerInfo * unwind (VM &, CallFrame *&, Exception *, UnwindStart)
 
void notifyDebuggerOfExceptionToBeThrown (CallFrame *, Exception *)
 
NEVER_INLINE void debug (CallFrame *, DebugHookType)
 
JS_EXPORT_PRIVATE void dumpCallFrame (CallFrame *)
 
void getStackTrace (Vector< StackFrame > &results, size_t framesToSkip=0, size_t maxStackSize=std::numeric_limits< size_t >::max())
 

Static Public Member Functions

static JSString * stackTraceAsString (VM &, const Vector< StackFrame > &)
 
static EncodedJSValue JSC_HOST_CALL constructWithErrorConstructor (ExecState *)
 
static EncodedJSValue JSC_HOST_CALL callErrorConstructor (ExecState *)
 
static EncodedJSValue JSC_HOST_CALL constructWithNativeErrorConstructor (ExecState *)
 
static EncodedJSValue JSC_HOST_CALL callNativeErrorConstructor (ExecState *)
 

Friends

class CachedCall
 
class LLIntOffsetsExtractor
 
class JIT
 
class VM
 

Constructor & Destructor Documentation

◆ Interpreter()

Interpreter::Interpreter ( VM &  vm)

◆ ~Interpreter()

Interpreter::~Interpreter ( )

Member Function Documentation

◆ callErrorConstructor()

EncodedJSValue JSC_HOST_CALL Interpreter::callErrorConstructor ( ExecState *  exec)
static

◆ callNativeErrorConstructor()

EncodedJSValue JSC_HOST_CALL Interpreter::callNativeErrorConstructor ( ExecState *  exec)
static

◆ cloopStack()

CLoopStack& JSC::Interpreter::cloopStack ( )
inline

◆ constructWithErrorConstructor()

EncodedJSValue JSC_HOST_CALL Interpreter::constructWithErrorConstructor ( ExecState *  exec)
static

◆ constructWithNativeErrorConstructor()

EncodedJSValue JSC_HOST_CALL Interpreter::constructWithNativeErrorConstructor ( ExecState *  exec)
static

◆ debug()

NEVER_INLINE void Interpreter::debug ( CallFrame *  callFrame,
DebugHookType  debugHookType 
)

◆ dumpCallFrame()

void Interpreter::dumpCallFrame ( CallFrame *  callFrame)

◆ execute() [1/2]

JSValue Interpreter::execute ( EvalExecutable *  eval,
CallFrame *  callFrame,
JSValue  thisValue,
JSScope *  scope 
)

◆ execute() [2/2]

JSValue Interpreter::execute ( ModuleProgramExecutable *  executable,
CallFrame *  callFrame,
JSModuleEnvironment *  scope 
)

◆ executeCall()

JSValue Interpreter::executeCall ( CallFrame *  callFrame,
JSObject *  function,
CallType  callType,
const CallData &  callData,
JSValue  thisValue,
const ArgList &  args 
)

◆ executeConstruct()

JSObject * Interpreter::executeConstruct ( CallFrame *  callFrame,
JSObject *  function,
ConstructType  constructType,
const ConstructData &  constructData,
const ArgList &  args,
JSValue  newTarget 
)

◆ executeProgram()

JSValue Interpreter::executeProgram ( const SourceCode &  source,
CallFrame *  callFrame,
JSObject *  thisObj 
)

◆ getArgumentsData()

void JSC::Interpreter::getArgumentsData ( CallFrame *  ,
JSFunction *&  ,
ptrdiff_t &  firstParameterIndex,
Register *&  argv,
int &  argc 
)

◆ getOpcode()

Opcode JSC::Interpreter::getOpcode ( OpcodeID  id)
inline

◆ getOpcodeID() [1/3]

OpcodeID JSC::Interpreter::getOpcodeID ( Opcode  opcode)
inline

◆ getOpcodeID() [2/3]

OpcodeID Interpreter::getOpcodeID ( const Instruction &  instruction)
inline

◆ getOpcodeID() [3/3]

OpcodeID Interpreter::getOpcodeID ( const UnlinkedInstruction &  instruction)
inline

◆ getStackTrace()

void Interpreter::getStackTrace ( Vector< StackFrame > &  results,
size_t  framesToSkip = 0,
size_t  maxStackSize = std::numeric_limits<size_t>::max() 
)

◆ initialize()

void Interpreter::initialize ( )

◆ isOpcode()

bool Interpreter::isOpcode ( Opcode  opcode)

◆ notifyDebuggerOfExceptionToBeThrown()

void Interpreter::notifyDebuggerOfExceptionToBeThrown ( CallFrame *  callFrame,
Exception *  exception 
)

◆ stackTraceAsString()

JSString * Interpreter::stackTraceAsString ( VM &  vm,
const Vector< StackFrame > &  stackTrace 
)
static

◆ unwind()

NEVER_INLINE HandlerInfo * Interpreter::unwind ( VM &  vm,
CallFrame *&  callFrame,
Exception *  exception,
UnwindStart  unwindStart 
)

Friends And Related Function Documentation

◆ CachedCall

friend class CachedCall
friend

◆ JIT

friend class JIT
friend

◆ LLIntOffsetsExtractor

◆ VM

friend class VM
friend

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