aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jit
diff options
context:
space:
mode:
Diffstat (limited to 'src/qml/jit')
-rw-r--r--src/qml/jit/qv4baselineassembler.cpp32
-rw-r--r--src/qml/jit/qv4baselinejit.cpp106
-rw-r--r--src/qml/jit/qv4baselinejit_p.h15
-rw-r--r--src/qml/jit/qv4graphbuilder.cpp70
-rw-r--r--src/qml/jit/qv4graphbuilder_p.h17
-rw-r--r--src/qml/jit/qv4operation.cpp16
-rw-r--r--src/qml/jit/qv4operation_p.h15
7 files changed, 48 insertions, 223 deletions
diff --git a/src/qml/jit/qv4baselineassembler.cpp b/src/qml/jit/qv4baselineassembler.cpp
index 1b60e96f2c..238c11f478 100644
--- a/src/qml/jit/qv4baselineassembler.cpp
+++ b/src/qml/jit/qv4baselineassembler.cpp
@@ -208,17 +208,20 @@ public:
isNumber.link(this);
}
+ // this converts both the lhs and the accumulator to int32
void toInt32LhsAcc(Address lhs, RegisterID lhsTarget)
{
load64(lhs, lhsTarget);
urshift64(lhsTarget, TrustedImm32(Value::QuickType_Shift), ScratchRegister2);
auto lhsIsInt = branch32(Equal, TrustedImm32(Value::QT_Int), ScratchRegister2);
- pushAligned(AccumulatorRegister);
+ const Address accumulatorStackAddress(JSStackFrameRegister,
+ offsetof(CallData, accumulator));
+ storeAccumulator(accumulatorStackAddress);
move(lhsTarget, registerForArg(0));
callHelper(toInt32Helper);
move(ReturnValueRegister, lhsTarget);
- popAligned(AccumulatorRegister);
+ loadAccumulator(accumulatorStackAddress);
lhsIsInt.link(this);
urshift64(AccumulatorRegister, TrustedImm32(Value::QuickType_Shift), ScratchRegister2);
@@ -498,6 +501,7 @@ public:
isNumber.link(this);
}
+ // this converts both the lhs and the accumulator to int32
void toInt32LhsAcc(Address lhs, RegisterID lhsTarget)
{
bool accumulatorNeedsSaving = AccumulatorRegisterValue == ReturnValueRegisterValue
@@ -510,32 +514,28 @@ public:
auto lhsIsInt = jump();
lhsIsNotInt.link(this);
- if (accumulatorNeedsSaving) {
- push(AccumulatorRegisterTag);
- push(AccumulatorRegisterValue);
- }
+
+ // Save accumulator from being garbage collected, no matter if we will reuse the register.
+ const Address accumulatorStackAddress(JSStackFrameRegister,
+ offsetof(CallData, accumulator));
+ storeAccumulator(accumulatorStackAddress);
if (ArgInRegCount < 2) {
- if (!accumulatorNeedsSaving)
- subPtr(TrustedImm32(2 * PointerSize), StackPointerRegister);
+ subPtr(TrustedImm32(2 * PointerSize), StackPointerRegister);
push(lhsTarget);
load32(lhs, lhsTarget);
push(lhsTarget);
} else {
- if (accumulatorNeedsSaving)
- subPtr(TrustedImm32(2 * PointerSize), StackPointerRegister);
move(lhsTarget, registerForArg(1));
load32(lhs, registerForArg(0));
}
callHelper(toInt32Helper);
move(ReturnValueRegisterValue, lhsTarget);
- if (accumulatorNeedsSaving) {
- addPtr(TrustedImm32(2 * PointerSize), StackPointerRegister);
- pop(AccumulatorRegisterValue);
- pop(AccumulatorRegisterTag);
- } else if (ArgInRegCount < 2) {
+ if (ArgInRegCount < 2)
addPtr(TrustedImm32(4 * PointerSize), StackPointerRegister);
- }
+
+ if (accumulatorNeedsSaving) // otherwise it's still the same
+ loadAccumulator(accumulatorStackAddress);
lhsIsInt.link(this);
diff --git a/src/qml/jit/qv4baselinejit.cpp b/src/qml/jit/qv4baselinejit.cpp
index 6635ee7530..80155d7b20 100644
--- a/src/qml/jit/qv4baselinejit.cpp
+++ b/src/qml/jit/qv4baselinejit.cpp
@@ -213,6 +213,14 @@ void BaselineJIT::generate_LoadGlobalLookup(int index, int /*traceSlot*/)
BASELINEJIT_GENERATE_RUNTIME_CALL(LoadGlobalLookup, CallResultDestination::InAccumulator);
}
+void BaselineJIT::generate_LoadQmlContextPropertyLookup(int index, int /*traceSlot*/)
+{
+ as->prepareCallWithArgCount(2);
+ as->passInt32AsArg(index, 1);
+ as->passEngineAsArg(0);
+ BASELINEJIT_GENERATE_RUNTIME_CALL(LoadQmlContextPropertyLookup, CallResultDestination::InAccumulator);
+}
+
void BaselineJIT::generate_StoreNameSloppy(int name)
{
STORE_IP();
@@ -329,61 +337,6 @@ void BaselineJIT::generate_StoreSuperProperty(int property)
BASELINEJIT_GENERATE_RUNTIME_CALL(StoreSuperProperty, CallResultDestination::Ignore);
}
-
-void BaselineJIT::generate_StoreScopeObjectProperty(int base, int propertyIndex)
-{
- STORE_ACC();
- as->prepareCallWithArgCount(4);
- as->passAccumulatorAsArg(3);
- as->passInt32AsArg(propertyIndex, 2);
- as->passJSSlotAsArg(base, 1);
- as->passEngineAsArg(0);
- BASELINEJIT_GENERATE_RUNTIME_CALL(StoreQmlScopeObjectProperty, CallResultDestination::Ignore);
-}
-
-void BaselineJIT::generate_StoreContextObjectProperty(int base, int propertyIndex)
-{
- STORE_ACC();
- as->prepareCallWithArgCount(4);
- as->passAccumulatorAsArg(3);
- as->passInt32AsArg(propertyIndex, 2);
- as->passJSSlotAsArg(base, 1);
- as->passEngineAsArg(0);
- BASELINEJIT_GENERATE_RUNTIME_CALL(StoreQmlContextObjectProperty, CallResultDestination::Ignore);
-}
-
-void BaselineJIT::generate_LoadScopeObjectProperty(int propertyIndex, int base, int captureRequired)
-{
- STORE_IP();
- as->prepareCallWithArgCount(4);
- as->passInt32AsArg(captureRequired, 3);
- as->passInt32AsArg(propertyIndex, 2);
- as->passJSSlotAsArg(base, 1);
- as->passEngineAsArg(0);
- BASELINEJIT_GENERATE_RUNTIME_CALL(LoadQmlScopeObjectProperty, CallResultDestination::InAccumulator);
-}
-
-void BaselineJIT::generate_LoadContextObjectProperty(int propertyIndex, int base, int captureRequired)
-{
- STORE_IP();
- as->prepareCallWithArgCount(4);
- as->passInt32AsArg(captureRequired, 3);
- as->passInt32AsArg(propertyIndex, 2);
- as->passJSSlotAsArg(base, 1);
- as->passEngineAsArg(0);
- BASELINEJIT_GENERATE_RUNTIME_CALL(LoadQmlContextObjectProperty, CallResultDestination::InAccumulator);
-}
-
-void BaselineJIT::generate_LoadIdObject(int index, int base)
-{
- STORE_IP();
- as->prepareCallWithArgCount(3);
- as->passInt32AsArg(index, 2);
- as->passJSSlotAsArg(base, 1);
- as->passEngineAsArg(0);
- BASELINEJIT_GENERATE_RUNTIME_CALL(LoadQmlIdObject, CallResultDestination::InAccumulator);
-}
-
void BaselineJIT::generate_Yield()
{
// #####
@@ -493,31 +446,18 @@ void BaselineJIT::generate_CallGlobalLookup(int index, int argc, int argv, int /
BASELINEJIT_GENERATE_RUNTIME_CALL(CallGlobalLookup, CallResultDestination::InAccumulator);
}
-void BaselineJIT::generate_CallScopeObjectProperty(int propIdx, int base, int argc, int argv, int /*traceSlot*/)
-{
- STORE_IP();
- as->prepareCallWithArgCount(5);
- as->passInt32AsArg(argc, 4);
- as->passJSSlotAsArg(argv, 3);
- as->passInt32AsArg(propIdx, 2);
- as->passJSSlotAsArg(base, 1);
- as->passEngineAsArg(0);
- BASELINEJIT_GENERATE_RUNTIME_CALL(CallQmlScopeObjectProperty, CallResultDestination::InAccumulator);
-}
-
-void BaselineJIT::generate_CallContextObjectProperty(int propIdx, int base, int argc, int argv, int /*traceSlot*/)
+void BaselineJIT::generate_CallQmlContextPropertyLookup(int index, int argc, int argv,
+ int /*traceSlot*/)
{
STORE_IP();
- as->prepareCallWithArgCount(5);
- as->passInt32AsArg(argc, 4);
- as->passJSSlotAsArg(argv, 3);
- as->passInt32AsArg(propIdx, 2);
- as->passJSSlotAsArg(base, 1);
+ as->prepareCallWithArgCount(4);
+ as->passInt32AsArg(argc, 3);
+ as->passJSSlotAsArg(argv, 2);
+ as->passInt32AsArg(index, 1);
as->passEngineAsArg(0);
- BASELINEJIT_GENERATE_RUNTIME_CALL(CallQmlContextObjectProperty, CallResultDestination::InAccumulator);
+ BASELINEJIT_GENERATE_RUNTIME_CALL(CallQmlContextPropertyLookup, CallResultDestination::InAccumulator);
}
-
void BaselineJIT::generate_CallWithSpread(int func, int thisObject, int argc, int argv, int /*traceSlot*/)
{
STORE_IP();
@@ -937,22 +877,6 @@ void BaselineJIT::generate_Sub(int lhs, int /*traceSlot*/) { as->sub(lhs); }
// as->checkException();
//}
-void BaselineJIT::generate_LoadQmlContext(int result)
-{
- as->prepareCallWithArgCount(1);
- as->passEngineAsArg(0);
- BASELINEJIT_GENERATE_RUNTIME_CALL(LoadQmlContext, CallResultDestination::InAccumulator);
- as->storeReg(result);
-}
-
-void BaselineJIT::generate_LoadQmlImportedScripts(int result)
-{
- as->prepareCallWithArgCount(1);
- as->passEngineAsArg(0);
- BASELINEJIT_GENERATE_RUNTIME_CALL(LoadQmlImportedScripts, CallResultDestination::InAccumulator);
- as->storeReg(result);
-}
-
void BaselineJIT::generate_InitializeBlockDeadTemporalZone(int firstReg, int count)
{
as->loadValue(Value::emptyValue().rawValue());
diff --git a/src/qml/jit/qv4baselinejit_p.h b/src/qml/jit/qv4baselinejit_p.h
index df263b066b..37ab37eac2 100644
--- a/src/qml/jit/qv4baselinejit_p.h
+++ b/src/qml/jit/qv4baselinejit_p.h
@@ -97,6 +97,7 @@ public:
void generate_LoadClosure(int value) override;
void generate_LoadName(int name, int traceSlot) override;
void generate_LoadGlobalLookup(int index, int traceSlot) override;
+ void generate_LoadQmlContextPropertyLookup(int index, int traceSlot) override;
void generate_StoreNameSloppy(int name) override;
void generate_StoreNameStrict(int name) override;
void generate_LoadElement(int base, int traceSlot) override;
@@ -107,15 +108,6 @@ public:
void generate_SetLookup(int index, int base) override;
void generate_LoadSuperProperty(int property) override;
void generate_StoreSuperProperty(int property) override;
- void generate_StoreScopeObjectProperty(int base,
- int propertyIndex) override;
- void generate_StoreContextObjectProperty(int base,
- int propertyIndex) override;
- void generate_LoadScopeObjectProperty(int propertyIndex, int base,
- int captureRequired) override;
- void generate_LoadContextObjectProperty(int propertyIndex, int base,
- int captureRequired) override;
- void generate_LoadIdObject(int index, int base) override;
void generate_Yield() override;
void generate_YieldStar() override;
void generate_Resume(int) override;
@@ -128,8 +120,7 @@ public:
void generate_CallName(int name, int argc, int argv, int traceSlot) override;
void generate_CallPossiblyDirectEval(int argc, int argv, int traceSlot) override;
void generate_CallGlobalLookup(int index, int argc, int argv, int traceSlot) override;
- void generate_CallScopeObjectProperty(int propIdx, int base, int argc, int argv, int traceSlot) override;
- void generate_CallContextObjectProperty(int propIdx, int base, int argc, int argv, int traceSlot) override;
+ void generate_CallQmlContextPropertyLookup(int index, int argc, int argv, int traceSlot) override;
void generate_CallWithSpread(int func, int thisObject, int argc, int argv, int traceSlot) override;
void generate_TailCall(int func, int thisObject, int argc, int argv) override;
void generate_Construct(int func, int argc, int argv) override;
@@ -211,8 +202,6 @@ public:
void generate_Div(int lhs) override;
void generate_Mod(int lhs, int traceSlot) override;
void generate_Sub(int lhs, int traceSlot) override;
- void generate_LoadQmlContext(int result) override;
- void generate_LoadQmlImportedScripts(int result) override;
void generate_InitializeBlockDeadTemporalZone(int firstReg, int count) override;
void generate_ThrowOnNullOrUndefined() override;
void generate_GetTemplateObject(int index) override;
diff --git a/src/qml/jit/qv4graphbuilder.cpp b/src/qml/jit/qv4graphbuilder.cpp
index 19f83ad0ec..2c073701ee 100644
--- a/src/qml/jit/qv4graphbuilder.cpp
+++ b/src/qml/jit/qv4graphbuilder.cpp
@@ -800,45 +800,10 @@ void GraphBuilder::generate_StoreSuperProperty(int property)
env()->accumulator());
}
-void GraphBuilder::generate_StoreScopeObjectProperty(int base, int propertyIndex)
+void GraphBuilder::generate_LoadQmlContextPropertyLookup(int propertyIndex, int /*traceSlot*/)
{
- createNode(opBuilder()->get<Meta::QMLStoreScopeObjectProperty>(),
- env()->slot(base),
- createConstant(propertyIndex),
- env()->accumulator());
-}
-
-void GraphBuilder::generate_StoreContextObjectProperty(int base, int propertyIndex)
-{
- createNode(opBuilder()->get<Meta::QMLStoreContextObjectProperty>(),
- env()->slot(base),
- createConstant(propertyIndex),
- env()->accumulator());
-}
-
-void GraphBuilder::generate_LoadScopeObjectProperty(int propertyIndex, int base,
- int captureRequired)
-{
- bindAcc(createNode(opBuilder()->get<Meta::QMLLoadScopeObjectProperty>(),
- env()->slot(base),
- createConstant(propertyIndex),
- createConstant(captureRequired)));
-}
-
-void GraphBuilder::generate_LoadContextObjectProperty(int propertyIndex, int base,
- int captureRequired)
-{
- bindAcc(createNode(opBuilder()->get<Meta::QMLLoadContextObjectProperty>(),
- env()->slot(base),
- createConstant(propertyIndex),
- createConstant(captureRequired)));
-}
-
-void GraphBuilder::generate_LoadIdObject(int index, int base)
-{
- bindAcc(createNode(opBuilder()->get<Meta::QMLLoadIdObject>(),
- env()->slot(base),
- createConstant(index)));
+ bindAcc(createNode(opBuilder()->get<Meta::QMLLoadQmlContextPropertyLookup>(),
+ createConstant(propertyIndex)));
}
void GraphBuilder::generate_Yield() { Q_UNREACHABLE(); }
@@ -913,22 +878,12 @@ void GraphBuilder::generate_CallGlobalLookup(int index, int argc, int argv, int
finalizeCall(Meta::JSCallGlobalLookup, args, argc, argv);
}
-void GraphBuilder::generate_CallScopeObjectProperty(int propIdx, int base, int argc, int argv,
- int /*traceSlot*/)
-{
- VarArgNodes args;
- args.append(env()->slot(base));
- args.append(createConstant(propIdx));
- finalizeCall(Meta::QMLCallScopeObjectProperty, args, argc, argv);
-}
-
-void GraphBuilder::generate_CallContextObjectProperty(int propIdx, int base, int argc, int argv,
- int /*traceSlot*/)
+void GraphBuilder::generate_CallQmlContextPropertyLookup(int index, int argc, int argv,
+ int /*traceSlot*/)
{
VarArgNodes args;
- args.append(env()->slot(base));
- args.append(createConstant(propIdx));
- finalizeCall(Meta::QMLCallContextObjectProperty, args, argc, argv);
+ args.append(createConstant(index));
+ finalizeCall(Meta::QMLCallQmlContextPropertyLookup, args, argc, argv);
}
void GraphBuilder::generate_SetUnwindHandler(int offset)
@@ -1636,17 +1591,6 @@ void GraphBuilder::generate_Sub(int lhs, int /*traceSlot*/)
env()->accumulator()));
}
-void GraphBuilder::generate_LoadQmlContext(int result)
-{
- env()->bindNodeToSlot(createNode(opBuilder()->get<Meta::QMLLoadContext>()), result);
-}
-
-void GraphBuilder::generate_LoadQmlImportedScripts(int result)
-{
- env()->bindNodeToSlot(createNode(opBuilder()->get<Meta::QMLLoadImportedScripts>()),
- result);
-}
-
void GraphBuilder::generate_InitializeBlockDeadTemporalZone(int firstReg, int count)
{
for (int reg = firstReg; reg < firstReg + count; ++reg)
diff --git a/src/qml/jit/qv4graphbuilder_p.h b/src/qml/jit/qv4graphbuilder_p.h
index b6b2931ff0..450d8640b7 100644
--- a/src/qml/jit/qv4graphbuilder_p.h
+++ b/src/qml/jit/qv4graphbuilder_p.h
@@ -173,15 +173,7 @@ protected: // ByteCodeHandler
void generate_SetLookup(int index, int base) override;
void generate_LoadSuperProperty(int property) override;
void generate_StoreSuperProperty(int property) override;
- void generate_StoreScopeObjectProperty(int base,
- int propertyIndex) override;
- void generate_StoreContextObjectProperty(int base,
- int propertyIndex) override;
- void generate_LoadScopeObjectProperty(int propertyIndex, int base,
- int captureRequired) override;
- void generate_LoadContextObjectProperty(int propertyIndex, int base,
- int captureRequired) override;
- void generate_LoadIdObject(int index, int base) override;
+ void generate_LoadQmlContextPropertyLookup(int property, int traceSlot) override;
void generate_Yield() override;
void generate_YieldStar() override;
void generate_Resume(int offset) override;
@@ -196,10 +188,7 @@ protected: // ByteCodeHandler
void generate_CallName(int name, int argc, int argv, int traceSlot) override;
void generate_CallPossiblyDirectEval(int argc, int argv, int traceSlot) override;
void generate_CallGlobalLookup(int index, int argc, int argv, int traceSlot) override;
- void generate_CallScopeObjectProperty(int propIdx, int base, int argc, int argv,
- int traceSlot) override;
- void generate_CallContextObjectProperty(int propIdx, int base, int argc, int argv,
- int traceSlot) override;
+ void generate_CallQmlContextPropertyLookup(int index, int argc, int argv, int traceSlot) override;
void generate_SetUnwindHandler(int offset) override;
void generate_UnwindDispatch() override;
void generate_UnwindToLabel(int level, int offset) override;
@@ -284,8 +273,6 @@ protected: // ByteCodeHandler
void generate_Div(int lhs) override;
void generate_Mod(int lhs, int traceSlot) override;
void generate_Sub(int lhs, int traceSlot) override;
- void generate_LoadQmlContext(int result) override;
- void generate_LoadQmlImportedScripts(int result) override;
void generate_InitializeBlockDeadTemporalZone(int firstReg, int count) override;
void generate_ThrowOnNullOrUndefined() override;
void generate_GetTemplateObject(int index) override;
diff --git a/src/qml/jit/qv4operation.cpp b/src/qml/jit/qv4operation.cpp
index 8356a35098..d10f8f19ac 100644
--- a/src/qml/jit/qv4operation.cpp
+++ b/src/qml/jit/qv4operation.cpp
@@ -223,11 +223,7 @@ inline Operation *createOperation(Operation::Kind kind, QQmlJS::MemoryPool *stat
case K::JSDeleteName: return get(1, 1, 1, 1, 1, 2, any, F::CanThrow);
case K::JSIn: return get(2, 1, 1, 1, 1, 2, any, F::CanThrow);
case K::JSInstanceOf: return get(2, 1, 1, 1, 1, 2, any, F::CanThrow);
- case K::QMLLoadScopeObjectProperty: return get(3, 1, 1, 1, 1, 2, any, F::CanThrow);
- case K::QMLStoreScopeObjectProperty: return get(3, 1, 1, 0, 1, 2, none, F::CanThrow);
- case K::QMLLoadContextObjectProperty: return get(3, 1, 1, 1, 1, 2, any, F::CanThrow);
- case K::QMLStoreContextObjectProperty: return get(3, 1, 1, 1, 1, 2, none, F::CanThrow);
- case K::QMLLoadIdObject: return get(2, 1, 1, 1, 1, 2, any, F::CanThrow);
+ case K::QMLLoadQmlContextPropertyLookup: return get(1, 1, 1, 1, 1, 2, any, F::CanThrow);
case K::JSEqual: return get(2, 1, 1, 1, 1, 2, boolean, F::CanThrow);
case K::JSGreaterThan: return get(2, 1, 1, 1, 1, 2, boolean, F::CanThrow);
@@ -263,8 +259,6 @@ inline Operation *createOperation(Operation::Kind kind, QQmlJS::MemoryPool *stat
case K::JSTypeofValue: return get(1, 0, 0, 1, 0, 0, any, F::Pure);
case K::JSDeclareVar: return get(2, 1, 1, 1, 1, 2, any, F::CanThrow);
case K::JSDestructureRestElement: return get(1, 1, 1, 1, 1, 2, any, F::CanThrow);
- case K::QMLLoadContext: return get(0, 0, 0, 1, 0, 0, any, F::NoFlags);
- case K::QMLLoadImportedScripts: return get(0, 0, 0, 1, 0, 0, any, F::NoFlags);
case K::JSCreateCallContext: return get(0, 1, 1, 0, 1, 1, none, F::NoFlags);
case K::JSCreateCatchContext: return get(2, 1, 1, 1, 1, 1, none, F::NoFlags);
@@ -518,18 +512,12 @@ static ReturnValue operateOnRuntimeCall(Operation::Kind kind, bool abortOnMissin
case K::JSDeleteName: return M<R::DeleteName>::doIt();
case K::JSIn: return M<R::In>::doIt();
case K::JSInstanceOf: return M<R::Instanceof>::doIt();
- case K::QMLLoadScopeObjectProperty: return M<R::LoadQmlScopeObjectProperty>::doIt();
- case K::QMLStoreScopeObjectProperty: return M<R::StoreQmlScopeObjectProperty>::doIt();
- case K::QMLLoadContextObjectProperty: return M<R::LoadQmlContextObjectProperty>::doIt();
- case K::QMLStoreContextObjectProperty: return M<R::StoreQmlContextObjectProperty>::doIt();
- case K::QMLLoadIdObject: return M<R::LoadQmlIdObject>::doIt();
+ case K::QMLLoadQmlContextPropertyLookup: return M<R::LoadQmlContextPropertyLookup>::doIt();
case K::JSTypeofName: return M<R::TypeofName>::doIt();
case K::JSTypeofValue: return M<R::TypeofValue>::doIt();
case K::JSDeclareVar: return M<R::DeclareVar>::doIt();
case K::JSDestructureRestElement: return M<R::DestructureRestElement>::doIt();
- case K::QMLLoadContext: return M<R::LoadQmlContext>::doIt();
- case K::QMLLoadImportedScripts: return M<R::LoadQmlImportedScripts>::doIt();
case K::JSThisToObject: return M<R::ConvertThisToObject>::doIt();
case K::JSCreateMappedArgumentsObject: return M<R::CreateMappedArgumentsObject>::doIt();
case K::JSCreateUnmappedArgumentsObject: return M<R::CreateUnmappedArgumentsObject>::doIt();
diff --git a/src/qml/jit/qv4operation_p.h b/src/qml/jit/qv4operation_p.h
index 8b66e58d4b..43214023e8 100644
--- a/src/qml/jit/qv4operation_p.h
+++ b/src/qml/jit/qv4operation_p.h
@@ -123,12 +123,10 @@ enum OpKind: uint16_t {
JSDeleteName,
JSIn,
JSInstanceOf,
- /* ok, these are qml object ops, but we don't care for now and treat them a s JS */
- QMLLoadScopeObjectProperty,
- QMLStoreScopeObjectProperty,
- QMLLoadContextObjectProperty,
- QMLStoreContextObjectProperty,
- QMLLoadIdObject,
+
+ /* ok, these are qml object ops, but we don't care for now and treat them as JS */
+ QMLLoadQmlContextPropertyLookup,
+ QMLCallQmlContextPropertyLookup,
JSEqual,
JSGreaterThan,
@@ -168,16 +166,11 @@ enum OpKind: uint16_t {
JSCreateClass,
JSConstruct,
JSConstructWithSpread,
- /* ok, these are qml vararg calls, but we don't care for now and treat them as JS */
- QMLCallScopeObjectProperty,
- QMLCallContextObjectProperty,
JSTypeofName,
JSTypeofValue,
JSDeclareVar,
JSDestructureRestElement,
- QMLLoadContext,
- QMLLoadImportedScripts,
JSThisToObject,
JSCreateMappedArgumentsObject,
JSCreateUnmappedArgumentsObject,