4#ifndef QV4BASELINEASSEMBLER_P_H
5#define QV4BASELINEASSEMBLER_P_H
18#include <private/qv4global_p.h>
19#include <private/qv4function_p.h>
29#define GENERATE_RUNTIME_CALL(function, destination) \
30 callRuntime(reinterpret_cast<void *>(&Runtime::function::call), \
32#define GENERATE_TAIL_CALL(function) \
33 tailCallRuntime(reinterpret_cast<void *>(&function))
35class BaselineAssembler {
37 BaselineAssembler(
const Value* constantTable);
41 void generatePrologue();
42 void generateEpilogue();
47 void loadConst(
int constIndex);
48 void copyConst(
int constIndex,
int destReg);
49 void loadReg(
int reg);
50 void moveReg(
int sourceReg,
int destReg);
51 void storeReg(
int reg);
54 void loadString(
int stringId);
55 void loadValue(ReturnedValue
value);
56 void storeHeapObject(
int reg);
57 void loadImport(
int index);
73 void bitAndConst(
int rhs);
74 void bitOrConst(
int rhs);
75 void bitXorConst(
int rhs);
76 void ushrConst(
int rhs);
77 void shrConst(
int rhs);
78 void shlConst(
int rhs);
87 void cmpeqInt(
int lhs);
88 void cmpneInt(
int lhs);
95 void cmpStrictEqual(
int lhs);
96 void cmpStrictNotEqual(
int lhs);
107 void prepareCallWithArgCount(
int argc);
108 void storeInstructionPointer(
int instructionOffset);
109 void passAccumulatorAsArg(
int arg);
110 void passFunctionAsArg(
int arg);
111 void passEngineAsArg(
int arg);
112 void passJSSlotAsArg(
int reg,
int arg);
113 void passCppFrameAsArg(
int arg);
114 void passInt32AsArg(
int value,
int arg);
115 void passPointerAsArg(
void *
ptr,
int arg);
116 void callRuntime(
const void *funcPtr, CallResultDestination dest);
117 void saveAccumulatorInFrame();
118 void loadAccumulatorFromFrame();
119 void jsTailCall(
int func,
int thisObject,
int argc,
int argv);
122 void checkException();
123 void gotoCatchException();
127 void clearUnwindHandler();
128 void unwindDispatch();
130 void pushCatchContext(
int index,
int name);
132 void deadTemporalZoneCheck(
int offsetForSavedIP,
int variableName);
141 typedef unsigned(*CmpFunc)(
const Value&,
const Value&);
142 void cmp(
int cond, CmpFunc function,
int lhs);
std::optional< qint64 > mul(qint64 a, AVRational b)
Combined button and popup list for selecting options.
\qmltype Particle \inqmlmodule QtQuick.Particles
#define Q_REQUIRED_RESULT
DBusConnection const char DBusError DBusBusType DBusError return DBusConnection DBusHandleMessageFunction void DBusFreeFunction return DBusConnection return DBusConnection return const char DBusError return DBusConnection DBusMessage dbus_uint32_t return DBusConnection dbus_bool_t DBusConnection DBusAddWatchFunction DBusRemoveWatchFunction DBusWatchToggledFunction void DBusFreeFunction return DBusConnection DBusDispatchStatusFunction void DBusFreeFunction DBusTimeout return DBusTimeout return DBusWatch return DBusWatch unsigned int return DBusError const DBusError return const DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessageIter int const void return DBusMessageIter DBusMessageIter * sub
EGLOutputLayerEXT EGLint EGLAttrib value
[5]
static void jump(QtMsgType t, const QMessageLogContext &context, const QString &m)
static ControlElement< T > * ptr(QWidget *widget)
GLenum GLuint GLint level
GLenum GLuint GLintptr offset
static void add(QPainterPath &path, const QWingedEdge &list, int edge, QPathEdge::Traversal traversal)