Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
QV4::JSTypesStackFrame Struct Reference

#include <qv4stackframe_p.h>

Inheritance diagram for QV4::JSTypesStackFrame:
Collaboration diagram for QV4::JSTypesStackFrame:

Public Member Functions

void init (Function *v4Function, const Value *argv, int argc, bool callerCanHandleTailCall=false)
const Valueargv () const
uint requiredJSStackFrameSize () const
void setupJSFrame (Value *stackSpace, const Value &function, const Heap::ExecutionContext *scope, const Value &thisObject, const Value &newTarget=Value::undefinedValue())
void setupJSFrame (Value *stackSpace, const Value &function, const Heap::ExecutionContext *scope, const Value &thisObject, const Value &newTarget, uint nFormals, uint nRegisters)
ExecutionContextcontext () const
void setContext (ExecutionContext *context)
Heap::CallContext * callContext () const
bool isTailCalling () const
void setTailCalling (bool tailCalling)
bool pendingTailCall () const
void setPendingTailCall (bool pending)
const char * yield () const
void setYield (const char *yield)
bool yieldIsIterator () const
void setYieldIsIterator (bool isIter)
bool callerCanHandleTailCall () const
ReturnedValue thisObject () const
ValueframePointer () const
void push (EngineBase *engine)
void pop (EngineBase *engine)
Public Member Functions inherited from QV4::CppStackFrame
void init (Function *v4Function, int argc, Kind kind)
bool isJSTypesFrame () const
bool isMetaTypesFrame () const
QString source () const
QString function () const
int lineNumber () const
int statementNumber () const
int missingLineNumber () const
CppStackFrameparentFrame () const
void setParentFrame (CppStackFrame *parentFrame)
int argc () const
ExecutionContextcontext () const
Heap::CallContext * callContext () const
ReturnedValue thisObject () const

Static Public Member Functions

static uint requiredJSStackFrameSize (uint nRegisters)
static uint requiredJSStackFrameSize (Function *v4Function)

Additional Inherited Members

Public Attributes inherited from QV4::CppStackFrame
int instructionPointer
Functionv4Function
Protected Types inherited from QV4::CppStackFrameBase
enum class  Kind : quint8 { JS , Meta }
Protected Member Functions inherited from QV4::CppStackFrame
 CppStackFrame ()=default
void push (EngineBase *engine)
void pop (EngineBase *engine)
Heap::CallContext * callContext (Heap::ExecutionContext *ctx) const
Protected Attributes inherited from QV4::CppStackFrameBase
CppStackFrameparent
Functionv4Function
int originalArgumentsCount
int instructionPointer
union { 
   struct { 
      Value *   savedStackTop 
      CallData *   jsFrame 
      const Value *   originalArguments 
      const char *   yield 
      const char *   unwindHandler 
      const char *   unwindLabel 
      int   unwindLevel 
      bool   yieldIsIterator 
      bool   callerCanHandleTailCall 
      bool   pendingTailCall 
      bool   isTailCalling 
   } 
   struct { 
      ExecutionContext *   context 
      QObject *   thisObject 
      const QMetaType *   metaTypes 
      const QQmlPrivate::AOTTrackedLocalsStorage *   locals 
      void **   returnAndArgs 
      bool   returnValueIsUndefined 
   } 
}; 
QT_WARNING_POP Kind kind

Detailed Description

Definition at line 173 of file qv4stackframe_p.h.

Member Function Documentation

◆ argv()

const Value * QV4::JSTypesStackFrame::argv ( ) const
inline

Definition at line 197 of file qv4stackframe_p.h.

◆ callContext()

Heap::CallContext * QV4::JSTypesStackFrame::callContext ( ) const
inline

Definition at line 260 of file qv4stackframe_p.h.

◆ callerCanHandleTailCall()

bool QV4::JSTypesStackFrame::callerCanHandleTailCall ( ) const
inline

Definition at line 277 of file qv4stackframe_p.h.

◆ context()

ExecutionContext * QV4::JSTypesStackFrame::context ( ) const
inline

Definition at line 250 of file qv4stackframe_p.h.

◆ framePointer()

Value * QV4::JSTypesStackFrame::framePointer ( ) const
inline

Definition at line 284 of file qv4stackframe_p.h.

◆ init()

void QV4::JSTypesStackFrame::init ( Function * v4Function,
const Value * argv,
int argc,
bool callerCanHandleTailCall = false )
inline

Definition at line 182 of file qv4stackframe_p.h.

◆ isTailCalling()

bool QV4::JSTypesStackFrame::isTailCalling ( ) const
inline

Definition at line 265 of file qv4stackframe_p.h.

◆ pendingTailCall()

bool QV4::JSTypesStackFrame::pendingTailCall ( ) const
inline

Definition at line 268 of file qv4stackframe_p.h.

◆ pop()

void QV4::JSTypesStackFrame::pop ( EngineBase * engine)
inline

Definition at line 291 of file qv4stackframe_p.h.

◆ push()

void QV4::JSTypesStackFrame::push ( EngineBase * engine)
inline

Definition at line 286 of file qv4stackframe_p.h.

◆ requiredJSStackFrameSize() [1/3]

uint QV4::JSTypesStackFrame::requiredJSStackFrameSize ( ) const
inline

Definition at line 205 of file qv4stackframe_p.h.

◆ requiredJSStackFrameSize() [2/3]

uint QV4::JSTypesStackFrame::requiredJSStackFrameSize ( Function * v4Function)
inlinestatic

Definition at line 202 of file qv4stackframe_p.h.

◆ requiredJSStackFrameSize() [3/3]

uint QV4::JSTypesStackFrame::requiredJSStackFrameSize ( uint nRegisters)
inlinestatic

Definition at line 199 of file qv4stackframe_p.h.

◆ setContext()

void QV4::JSTypesStackFrame::setContext ( ExecutionContext * context)
inline

Definition at line 255 of file qv4stackframe_p.h.

◆ setPendingTailCall()

void QV4::JSTypesStackFrame::setPendingTailCall ( bool pending)
inline

Definition at line 269 of file qv4stackframe_p.h.

◆ setTailCalling()

void QV4::JSTypesStackFrame::setTailCalling ( bool tailCalling)
inline

Definition at line 266 of file qv4stackframe_p.h.

◆ setupJSFrame() [1/2]

void QV4::JSTypesStackFrame::setupJSFrame ( Value * stackSpace,
const Value & function,
const Heap::ExecutionContext * scope,
const Value & thisObject,
const Value & newTarget,
uint nFormals,
uint nRegisters )
inline

Definition at line 216 of file qv4stackframe_p.h.

◆ setupJSFrame() [2/2]

void QV4::JSTypesStackFrame::setupJSFrame ( Value * stackSpace,
const Value & function,
const Heap::ExecutionContext * scope,
const Value & thisObject,
const Value & newTarget = Value::undefinedValue() )
inline

Definition at line 209 of file qv4stackframe_p.h.

◆ setYield()

void QV4::JSTypesStackFrame::setYield ( const char * yield)
inline

Definition at line 272 of file qv4stackframe_p.h.

◆ setYieldIsIterator()

void QV4::JSTypesStackFrame::setYieldIsIterator ( bool isIter)
inline

Definition at line 275 of file qv4stackframe_p.h.

◆ thisObject()

ReturnedValue QV4::JSTypesStackFrame::thisObject ( ) const
inline

Definition at line 279 of file qv4stackframe_p.h.

◆ yield()

const char * QV4::JSTypesStackFrame::yield ( ) const
inline

Definition at line 271 of file qv4stackframe_p.h.

◆ yieldIsIterator()

bool QV4::JSTypesStackFrame::yieldIsIterator ( ) const
inline

Definition at line 274 of file qv4stackframe_p.h.


The documentation for this struct was generated from the following file: