Convert the first batch of runtime functions
Convert them to the new calling convention through function pointers in the execution engine. Change-Id: Iecc54c9512f7231a04eb1659490a5d56118ff66a Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
This commit is contained in:
parent
c810daa675
commit
1e557d90b5
|
@ -374,7 +374,7 @@ void Collector::collect(QJsonArray *out, const QString &parentIName, const QStri
|
|||
dict.insert(QStringLiteral("iname"), iname);
|
||||
dict.insert(QStringLiteral("name"), nonEmptyName);
|
||||
|
||||
QV4::ScopedValue typeString(scope, QV4::Runtime::typeofValue(m_engine, value));
|
||||
QV4::ScopedValue typeString(scope, QV4::Runtime::method_typeofValue(m_engine, value));
|
||||
dict.insert(QStringLiteral("type"), typeString->toQStringNoThrow());
|
||||
|
||||
switch (value.type()) {
|
||||
|
|
|
@ -134,7 +134,7 @@ const QV4::Object *collectProperty(const QV4::ScopedValue &value, QV4::Execution
|
|||
QJsonObject &dict)
|
||||
{
|
||||
QV4::Scope scope(engine);
|
||||
QV4::ScopedValue typeString(scope, QV4::Runtime::typeofValue(engine, value));
|
||||
QV4::ScopedValue typeString(scope, QV4::Runtime::method_typeofValue(engine, value));
|
||||
dict.insert(QStringLiteral("type"), typeString->toQStringNoThrow());
|
||||
|
||||
const QLatin1String valueKey("value");
|
||||
|
|
|
@ -399,7 +399,7 @@ void InstructionSelection::callBuiltinInvalid(IR::Name *func, IR::ExprList *args
|
|||
Assembler::TrustedImm32(index),
|
||||
baseAddressForCallData());
|
||||
} else {
|
||||
generateFunctionCall(result, Runtime::callActivationProperty,
|
||||
generateRuntimeCall(result, callActivationProperty,
|
||||
Assembler::EngineRegister,
|
||||
Assembler::StringToIndex(*func->id),
|
||||
baseAddressForCallData());
|
||||
|
@ -411,11 +411,11 @@ void InstructionSelection::callBuiltinTypeofQmlContextProperty(IR::Expr *base,
|
|||
int propertyIndex, IR::Expr *result)
|
||||
{
|
||||
if (kind == IR::Member::MemberOfQmlScopeObject) {
|
||||
generateFunctionCall(result, Runtime::typeofScopeObjectProperty, Assembler::EngineRegister,
|
||||
generateRuntimeCall(result, typeofScopeObjectProperty, Assembler::EngineRegister,
|
||||
Assembler::PointerToValue(base),
|
||||
Assembler::TrustedImm32(propertyIndex));
|
||||
} else if (kind == IR::Member::MemberOfQmlContextObject) {
|
||||
generateFunctionCall(result, Runtime::typeofContextObjectProperty,
|
||||
generateRuntimeCall(result, typeofContextObjectProperty,
|
||||
Assembler::EngineRegister, Assembler::PointerToValue(base),
|
||||
Assembler::TrustedImm32(propertyIndex));
|
||||
} else {
|
||||
|
@ -426,46 +426,46 @@ void InstructionSelection::callBuiltinTypeofQmlContextProperty(IR::Expr *base,
|
|||
void InstructionSelection::callBuiltinTypeofMember(IR::Expr *base, const QString &name,
|
||||
IR::Expr *result)
|
||||
{
|
||||
generateFunctionCall(result, Runtime::typeofMember, Assembler::EngineRegister,
|
||||
generateRuntimeCall(result, typeofMember, Assembler::EngineRegister,
|
||||
Assembler::PointerToValue(base), Assembler::StringToIndex(name));
|
||||
}
|
||||
|
||||
void InstructionSelection::callBuiltinTypeofSubscript(IR::Expr *base, IR::Expr *index,
|
||||
IR::Expr *result)
|
||||
{
|
||||
generateFunctionCall(result, Runtime::typeofElement,
|
||||
generateRuntimeCall(result, typeofElement,
|
||||
Assembler::EngineRegister,
|
||||
Assembler::PointerToValue(base), Assembler::PointerToValue(index));
|
||||
}
|
||||
|
||||
void InstructionSelection::callBuiltinTypeofName(const QString &name, IR::Expr *result)
|
||||
{
|
||||
generateFunctionCall(result, Runtime::typeofName, Assembler::EngineRegister,
|
||||
generateRuntimeCall(result, typeofName, Assembler::EngineRegister,
|
||||
Assembler::StringToIndex(name));
|
||||
}
|
||||
|
||||
void InstructionSelection::callBuiltinTypeofValue(IR::Expr *value, IR::Expr *result)
|
||||
{
|
||||
generateFunctionCall(result, Runtime::typeofValue, Assembler::EngineRegister,
|
||||
generateRuntimeCall(result, typeofValue, Assembler::EngineRegister,
|
||||
Assembler::PointerToValue(value));
|
||||
}
|
||||
|
||||
void InstructionSelection::callBuiltinDeleteMember(IR::Expr *base, const QString &name, IR::Expr *result)
|
||||
{
|
||||
generateFunctionCall(result, Runtime::deleteMember, Assembler::EngineRegister,
|
||||
generateRuntimeCall(result, deleteMember, Assembler::EngineRegister,
|
||||
Assembler::Reference(base), Assembler::StringToIndex(name));
|
||||
}
|
||||
|
||||
void InstructionSelection::callBuiltinDeleteSubscript(IR::Expr *base, IR::Expr *index,
|
||||
IR::Expr *result)
|
||||
{
|
||||
generateFunctionCall(result, Runtime::deleteElement, Assembler::EngineRegister,
|
||||
generateRuntimeCall(result, deleteElement, Assembler::EngineRegister,
|
||||
Assembler::Reference(base), Assembler::PointerToValue(index));
|
||||
}
|
||||
|
||||
void InstructionSelection::callBuiltinDeleteName(const QString &name, IR::Expr *result)
|
||||
{
|
||||
generateFunctionCall(result, Runtime::deleteName, Assembler::EngineRegister,
|
||||
generateRuntimeCall(result, deleteName, Assembler::EngineRegister,
|
||||
Assembler::StringToIndex(name));
|
||||
}
|
||||
|
||||
|
@ -636,11 +636,11 @@ void InstructionSelection::callValue(IR::Expr *value, IR::ExprList *args, IR::Ex
|
|||
|
||||
prepareCallData(args, 0);
|
||||
if (value->asConst())
|
||||
generateFunctionCall(result, Runtime::callValue, Assembler::EngineRegister,
|
||||
generateRuntimeCall(result, callValue, Assembler::EngineRegister,
|
||||
Assembler::PointerToValue(value),
|
||||
baseAddressForCallData());
|
||||
else
|
||||
generateFunctionCall(result, Runtime::callValue, Assembler::EngineRegister,
|
||||
generateRuntimeCall(result, callValue, Assembler::EngineRegister,
|
||||
Assembler::Reference(value),
|
||||
baseAddressForCallData());
|
||||
}
|
||||
|
@ -727,13 +727,13 @@ void InstructionSelection::getActivationProperty(const IR::Name *name, IR::Expr
|
|||
generateLookupCall(target, index, qOffsetOf(QV4::Lookup, globalGetter), Assembler::EngineRegister, Assembler::Void);
|
||||
return;
|
||||
}
|
||||
generateFunctionCall(target, Runtime::getActivationProperty, Assembler::EngineRegister, Assembler::StringToIndex(*name->id));
|
||||
generateRuntimeCall(target, getActivationProperty, Assembler::EngineRegister, Assembler::StringToIndex(*name->id));
|
||||
}
|
||||
|
||||
void InstructionSelection::setActivationProperty(IR::Expr *source, const QString &targetName)
|
||||
{
|
||||
// ### should use a lookup call here
|
||||
generateFunctionCall(Assembler::Void, Runtime::setActivationProperty,
|
||||
generateRuntimeCall(Assembler::Void, setActivationProperty,
|
||||
Assembler::EngineRegister, Assembler::StringToIndex(targetName), Assembler::PointerToValue(source));
|
||||
}
|
||||
|
||||
|
@ -749,7 +749,7 @@ void InstructionSelection::getProperty(IR::Expr *base, const QString &name, IR::
|
|||
uint index = registerGetterLookup(name);
|
||||
generateLookupCall(target, index, qOffsetOf(QV4::Lookup, getter), Assembler::EngineRegister, Assembler::PointerToValue(base), Assembler::Void);
|
||||
} else {
|
||||
generateFunctionCall(target, Runtime::getProperty, Assembler::EngineRegister,
|
||||
generateRuntimeCall(target, getProperty, Assembler::EngineRegister,
|
||||
Assembler::PointerToValue(base), Assembler::StringToIndex(name));
|
||||
}
|
||||
}
|
||||
|
@ -788,7 +788,7 @@ void InstructionSelection::setProperty(IR::Expr *source, IR::Expr *targetBase,
|
|||
Assembler::PointerToValue(targetBase),
|
||||
Assembler::PointerToValue(source));
|
||||
} else {
|
||||
generateFunctionCall(Assembler::Void, Runtime::setProperty, Assembler::EngineRegister,
|
||||
generateRuntimeCall(Assembler::Void, setProperty, Assembler::EngineRegister,
|
||||
Assembler::PointerToValue(targetBase), Assembler::StringToIndex(targetName),
|
||||
Assembler::PointerToValue(source));
|
||||
}
|
||||
|
@ -822,7 +822,7 @@ void InstructionSelection::getElement(IR::Expr *base, IR::Expr *index, IR::Expr
|
|||
return;
|
||||
}
|
||||
|
||||
generateFunctionCall(target, Runtime::getElement, Assembler::EngineRegister,
|
||||
generateRuntimeCall(target, getElement, Assembler::EngineRegister,
|
||||
Assembler::PointerToValue(base), Assembler::PointerToValue(index));
|
||||
}
|
||||
|
||||
|
@ -835,7 +835,7 @@ void InstructionSelection::setElement(IR::Expr *source, IR::Expr *targetBase, IR
|
|||
Assembler::PointerToValue(source));
|
||||
return;
|
||||
}
|
||||
generateFunctionCall(Assembler::Void, Runtime::setElement, Assembler::EngineRegister,
|
||||
generateRuntimeCall(Assembler::Void, setElement, Assembler::EngineRegister,
|
||||
Assembler::PointerToValue(targetBase), Assembler::PointerToValue(targetIndex),
|
||||
Assembler::PointerToValue(source));
|
||||
}
|
||||
|
@ -1004,12 +1004,12 @@ void InstructionSelection::callQmlContextProperty(IR::Expr *base, IR::Member::Me
|
|||
prepareCallData(args, base);
|
||||
|
||||
if (kind == IR::Member::MemberOfQmlScopeObject)
|
||||
generateFunctionCall(result, Runtime::callQmlScopeObjectProperty,
|
||||
generateRuntimeCall(result, callQmlScopeObjectProperty,
|
||||
Assembler::EngineRegister,
|
||||
Assembler::TrustedImm32(propertyIndex),
|
||||
baseAddressForCallData());
|
||||
else if (kind == IR::Member::MemberOfQmlContextObject)
|
||||
generateFunctionCall(result, Runtime::callQmlContextObjectProperty,
|
||||
generateRuntimeCall(result, callQmlContextObjectProperty,
|
||||
Assembler::EngineRegister,
|
||||
Assembler::TrustedImm32(propertyIndex),
|
||||
baseAddressForCallData());
|
||||
|
@ -1026,12 +1026,12 @@ void InstructionSelection::callProperty(IR::Expr *base, const QString &name, IR:
|
|||
|
||||
if (useFastLookups) {
|
||||
uint index = registerGetterLookup(name);
|
||||
generateFunctionCall(result, Runtime::callPropertyLookup,
|
||||
generateRuntimeCall(result, callPropertyLookup,
|
||||
Assembler::EngineRegister,
|
||||
Assembler::TrustedImm32(index),
|
||||
baseAddressForCallData());
|
||||
} else {
|
||||
generateFunctionCall(result, Runtime::callProperty, Assembler::EngineRegister,
|
||||
generateRuntimeCall(result, callProperty, Assembler::EngineRegister,
|
||||
Assembler::StringToIndex(name),
|
||||
baseAddressForCallData());
|
||||
}
|
||||
|
@ -1043,7 +1043,7 @@ void InstructionSelection::callSubscript(IR::Expr *base, IR::Expr *index, IR::Ex
|
|||
Q_ASSERT(base != 0);
|
||||
|
||||
prepareCallData(args, base);
|
||||
generateFunctionCall(result, Runtime::callElement, Assembler::EngineRegister,
|
||||
generateRuntimeCall(result, callElement, Assembler::EngineRegister,
|
||||
Assembler::PointerToValue(index),
|
||||
baseAddressForCallData());
|
||||
}
|
||||
|
@ -1352,13 +1352,13 @@ void InstructionSelection::constructActivationProperty(IR::Name *func, IR::ExprL
|
|||
|
||||
if (useFastLookups && func->global) {
|
||||
uint index = registerGlobalGetterLookup(*func->id);
|
||||
generateFunctionCall(result, Runtime::constructGlobalLookup,
|
||||
generateRuntimeCall(result, constructGlobalLookup,
|
||||
Assembler::EngineRegister,
|
||||
Assembler::TrustedImm32(index), baseAddressForCallData());
|
||||
return;
|
||||
}
|
||||
|
||||
generateFunctionCall(result, Runtime::constructActivationProperty,
|
||||
generateRuntimeCall(result, constructActivationProperty,
|
||||
Assembler::EngineRegister,
|
||||
Assembler::StringToIndex(*func->id),
|
||||
baseAddressForCallData());
|
||||
|
@ -1370,14 +1370,14 @@ void InstructionSelection::constructProperty(IR::Expr *base, const QString &name
|
|||
prepareCallData(args, base);
|
||||
if (useFastLookups) {
|
||||
uint index = registerGetterLookup(name);
|
||||
generateFunctionCall(result, Runtime::constructPropertyLookup,
|
||||
generateRuntimeCall(result, constructPropertyLookup,
|
||||
Assembler::EngineRegister,
|
||||
Assembler::TrustedImm32(index),
|
||||
baseAddressForCallData());
|
||||
return;
|
||||
}
|
||||
|
||||
generateFunctionCall(result, Runtime::constructProperty, Assembler::EngineRegister,
|
||||
generateRuntimeCall(result, constructProperty, Assembler::EngineRegister,
|
||||
Assembler::StringToIndex(name),
|
||||
baseAddressForCallData());
|
||||
}
|
||||
|
@ -1387,7 +1387,7 @@ void InstructionSelection::constructValue(IR::Expr *value, IR::ExprList *args, I
|
|||
Q_ASSERT(value != 0);
|
||||
|
||||
prepareCallData(args, 0);
|
||||
generateFunctionCall(result, Runtime::constructValue,
|
||||
generateRuntimeCall(result, constructValue,
|
||||
Assembler::EngineRegister,
|
||||
Assembler::Reference(value),
|
||||
baseAddressForCallData());
|
||||
|
|
|
@ -676,7 +676,7 @@ bool ArrayElementLessThan::operator()(Value v1, Value v2) const
|
|||
callData->thisObject = Primitive::undefinedValue();
|
||||
callData->args[0] = v1;
|
||||
callData->args[1] = v2;
|
||||
result = Runtime::callValue(scope.engine, m_comparefn, callData);
|
||||
result = scope.engine->runtime.callValue(scope.engine, m_comparefn, callData);
|
||||
|
||||
return result->toNumber() < 0;
|
||||
}
|
||||
|
|
|
@ -304,7 +304,7 @@ ReturnedValue Runtime::closure(ExecutionEngine *engine, int functionId)
|
|||
return FunctionObject::createScriptFunction(engine->currentContext, clos)->asReturnedValue();
|
||||
}
|
||||
|
||||
ReturnedValue Runtime::deleteElement(ExecutionEngine *engine, const Value &base, const Value &index)
|
||||
ReturnedValue Runtime::method_deleteElement(ExecutionEngine *engine, const Value &base, const Value &index)
|
||||
{
|
||||
Scope scope(engine);
|
||||
ScopedObject o(scope, base);
|
||||
|
@ -316,17 +316,17 @@ ReturnedValue Runtime::deleteElement(ExecutionEngine *engine, const Value &base,
|
|||
}
|
||||
|
||||
ScopedString name(scope, index.toString(engine));
|
||||
return Runtime::deleteMemberString(engine, base, name);
|
||||
return method_deleteMemberString(engine, base, name);
|
||||
}
|
||||
|
||||
ReturnedValue Runtime::deleteMember(ExecutionEngine *engine, const Value &base, int nameIndex)
|
||||
ReturnedValue Runtime::method_deleteMember(ExecutionEngine *engine, const Value &base, int nameIndex)
|
||||
{
|
||||
Scope scope(engine);
|
||||
ScopedString name(scope, engine->current->compilationUnit->runtimeStrings[nameIndex]);
|
||||
return deleteMemberString(engine, base, name);
|
||||
return method_deleteMemberString(engine, base, name);
|
||||
}
|
||||
|
||||
ReturnedValue Runtime::deleteMemberString(ExecutionEngine *engine, const Value &base, String *name)
|
||||
ReturnedValue Runtime::method_deleteMemberString(ExecutionEngine *engine, const Value &base, String *name)
|
||||
{
|
||||
Scope scope(engine);
|
||||
ScopedObject obj(scope, base.toObject(engine));
|
||||
|
@ -335,7 +335,7 @@ ReturnedValue Runtime::deleteMemberString(ExecutionEngine *engine, const Value &
|
|||
return Encode(obj->deleteProperty(name));
|
||||
}
|
||||
|
||||
ReturnedValue Runtime::deleteName(ExecutionEngine *engine, int nameIndex)
|
||||
ReturnedValue Runtime::method_deleteName(ExecutionEngine *engine, int nameIndex)
|
||||
{
|
||||
Scope scope(engine);
|
||||
ScopedString name(scope, engine->current->compilationUnit->runtimeStrings[nameIndex]);
|
||||
|
@ -592,7 +592,7 @@ QV4::ReturnedValue Runtime::addString(ExecutionEngine *engine, const Value &left
|
|||
return (mm->alloc<String>(mm, pleft->stringValue()->d(), pright->stringValue()->d()))->asReturnedValue();
|
||||
}
|
||||
|
||||
void Runtime::setProperty(ExecutionEngine *engine, const Value &object, int nameIndex, const Value &value)
|
||||
void Runtime::method_setProperty(ExecutionEngine *engine, const Value &object, int nameIndex, const Value &value)
|
||||
{
|
||||
Scope scope(engine);
|
||||
ScopedString name(scope, engine->current->compilationUnit->runtimeStrings[nameIndex]);
|
||||
|
@ -602,7 +602,7 @@ void Runtime::setProperty(ExecutionEngine *engine, const Value &object, int name
|
|||
o->put(name, value);
|
||||
}
|
||||
|
||||
ReturnedValue Runtime::getElement(ExecutionEngine *engine, const Value &object, const Value &index)
|
||||
ReturnedValue Runtime::method_getElement(ExecutionEngine *engine, const Value &object, const Value &index)
|
||||
{
|
||||
Scope scope(engine);
|
||||
uint idx = index.asArrayIndex();
|
||||
|
@ -645,7 +645,7 @@ ReturnedValue Runtime::getElement(ExecutionEngine *engine, const Value &object,
|
|||
return o->get(name);
|
||||
}
|
||||
|
||||
void Runtime::setElement(ExecutionEngine *engine, const Value &object, const Value &index, const Value &value)
|
||||
void Runtime::method_setElement(ExecutionEngine *engine, const Value &object, const Value &index, const Value &value)
|
||||
{
|
||||
Scope scope(engine);
|
||||
ScopedObject o(scope, object.toObject(engine));
|
||||
|
@ -689,14 +689,14 @@ ReturnedValue Runtime::foreachNextPropertyName(const Value &foreach_iterator)
|
|||
}
|
||||
|
||||
|
||||
void Runtime::setActivationProperty(ExecutionEngine *engine, int nameIndex, const Value &value)
|
||||
void Runtime::method_setActivationProperty(ExecutionEngine *engine, int nameIndex, const Value &value)
|
||||
{
|
||||
Scope scope(engine);
|
||||
ScopedString name(scope, engine->current->compilationUnit->runtimeStrings[nameIndex]);
|
||||
engine->currentContext->setProperty(name, value);
|
||||
}
|
||||
|
||||
ReturnedValue Runtime::getProperty(ExecutionEngine *engine, const Value &object, int nameIndex)
|
||||
ReturnedValue Runtime::method_getProperty(ExecutionEngine *engine, const Value &object, int nameIndex)
|
||||
{
|
||||
Scope scope(engine);
|
||||
ScopedString name(scope, engine->current->compilationUnit->runtimeStrings[nameIndex]);
|
||||
|
@ -716,7 +716,7 @@ ReturnedValue Runtime::getProperty(ExecutionEngine *engine, const Value &object,
|
|||
return o->get(name);
|
||||
}
|
||||
|
||||
ReturnedValue Runtime::getActivationProperty(ExecutionEngine *engine, int nameIndex)
|
||||
ReturnedValue Runtime::method_getActivationProperty(ExecutionEngine *engine, int nameIndex)
|
||||
{
|
||||
Scope scope(engine);
|
||||
ScopedString name(scope, engine->current->compilationUnit->runtimeStrings[nameIndex]);
|
||||
|
@ -949,7 +949,7 @@ ReturnedValue Runtime::method_callGlobalLookup(ExecutionEngine *engine, uint ind
|
|||
}
|
||||
|
||||
|
||||
ReturnedValue Runtime::callActivationProperty(ExecutionEngine *engine, int nameIndex, CallData *callData)
|
||||
ReturnedValue Runtime::method_callActivationProperty(ExecutionEngine *engine, int nameIndex, CallData *callData)
|
||||
{
|
||||
Q_ASSERT(callData->thisObject.isUndefined());
|
||||
Scope scope(engine);
|
||||
|
@ -979,7 +979,7 @@ ReturnedValue Runtime::callActivationProperty(ExecutionEngine *engine, int nameI
|
|||
return o->call(callData);
|
||||
}
|
||||
|
||||
ReturnedValue Runtime::callQmlScopeObjectProperty(ExecutionEngine *engine, int propertyIndex, CallData *callData)
|
||||
ReturnedValue Runtime::method_callQmlScopeObjectProperty(ExecutionEngine *engine, int propertyIndex, CallData *callData)
|
||||
{
|
||||
Scope scope(engine);
|
||||
ScopedFunctionObject o(scope, getQmlScopeObjectProperty(engine, callData->thisObject, propertyIndex));
|
||||
|
@ -991,7 +991,7 @@ ReturnedValue Runtime::callQmlScopeObjectProperty(ExecutionEngine *engine, int p
|
|||
return o->call(callData);
|
||||
}
|
||||
|
||||
ReturnedValue Runtime::callQmlContextObjectProperty(ExecutionEngine *engine, int propertyIndex, CallData *callData)
|
||||
ReturnedValue Runtime::method_callQmlContextObjectProperty(ExecutionEngine *engine, int propertyIndex, CallData *callData)
|
||||
{
|
||||
Scope scope(engine);
|
||||
ScopedFunctionObject o(scope, getQmlContextObjectProperty(engine, callData->thisObject, propertyIndex));
|
||||
|
@ -1003,7 +1003,7 @@ ReturnedValue Runtime::callQmlContextObjectProperty(ExecutionEngine *engine, int
|
|||
return o->call(callData);
|
||||
}
|
||||
|
||||
ReturnedValue Runtime::callProperty(ExecutionEngine *engine, int nameIndex, CallData *callData)
|
||||
ReturnedValue Runtime::method_callProperty(ExecutionEngine *engine, int nameIndex, CallData *callData)
|
||||
{
|
||||
Scope scope(engine);
|
||||
ScopedString name(scope, engine->current->compilationUnit->runtimeStrings[nameIndex]);
|
||||
|
@ -1030,7 +1030,7 @@ ReturnedValue Runtime::callProperty(ExecutionEngine *engine, int nameIndex, Call
|
|||
return o->call(callData);
|
||||
}
|
||||
|
||||
ReturnedValue Runtime::callPropertyLookup(ExecutionEngine *engine, uint index, CallData *callData)
|
||||
ReturnedValue Runtime::method_callPropertyLookup(ExecutionEngine *engine, uint index, CallData *callData)
|
||||
{
|
||||
Lookup *l = engine->current->lookups + index;
|
||||
Value v;
|
||||
|
@ -1041,7 +1041,7 @@ ReturnedValue Runtime::callPropertyLookup(ExecutionEngine *engine, uint index, C
|
|||
return v.objectValue()->call(callData);
|
||||
}
|
||||
|
||||
ReturnedValue Runtime::callElement(ExecutionEngine *engine, const Value &index, CallData *callData)
|
||||
ReturnedValue Runtime::method_callElement(ExecutionEngine *engine, const Value &index, CallData *callData)
|
||||
{
|
||||
Scope scope(engine);
|
||||
ScopedObject baseObject(scope, callData->thisObject.toObject(engine));
|
||||
|
@ -1058,7 +1058,7 @@ ReturnedValue Runtime::callElement(ExecutionEngine *engine, const Value &index,
|
|||
return o->call(callData);
|
||||
}
|
||||
|
||||
ReturnedValue Runtime::callValue(ExecutionEngine *engine, const Value &func, CallData *callData)
|
||||
ReturnedValue Runtime::method_callValue(ExecutionEngine *engine, const Value &func, CallData *callData)
|
||||
{
|
||||
if (!func.isObject())
|
||||
return engine->throwTypeError(QStringLiteral("%1 is not a function").arg(func.toQStringNoThrow()));
|
||||
|
@ -1067,7 +1067,7 @@ ReturnedValue Runtime::callValue(ExecutionEngine *engine, const Value &func, Cal
|
|||
}
|
||||
|
||||
|
||||
ReturnedValue Runtime::constructGlobalLookup(ExecutionEngine *engine, uint index, CallData *callData)
|
||||
ReturnedValue Runtime::method_constructGlobalLookup(ExecutionEngine *engine, uint index, CallData *callData)
|
||||
{
|
||||
Scope scope(engine);
|
||||
Q_ASSERT(callData->thisObject.isUndefined());
|
||||
|
@ -1081,7 +1081,7 @@ ReturnedValue Runtime::constructGlobalLookup(ExecutionEngine *engine, uint index
|
|||
}
|
||||
|
||||
|
||||
ReturnedValue Runtime::constructActivationProperty(ExecutionEngine *engine, int nameIndex, CallData *callData)
|
||||
ReturnedValue Runtime::method_constructActivationProperty(ExecutionEngine *engine, int nameIndex, CallData *callData)
|
||||
{
|
||||
Scope scope(engine);
|
||||
ScopedString name(scope, engine->current->compilationUnit->runtimeStrings[nameIndex]);
|
||||
|
@ -1096,7 +1096,7 @@ ReturnedValue Runtime::constructActivationProperty(ExecutionEngine *engine, int
|
|||
return f->construct(callData);
|
||||
}
|
||||
|
||||
ReturnedValue Runtime::constructValue(ExecutionEngine *engine, const Value &func, CallData *callData)
|
||||
ReturnedValue Runtime::method_constructValue(ExecutionEngine *engine, const Value &func, CallData *callData)
|
||||
{
|
||||
const Object *f = func.as<Object>();
|
||||
if (!f)
|
||||
|
@ -1105,7 +1105,7 @@ ReturnedValue Runtime::constructValue(ExecutionEngine *engine, const Value &func
|
|||
return f->construct(callData);
|
||||
}
|
||||
|
||||
ReturnedValue Runtime::constructProperty(ExecutionEngine *engine, int nameIndex, CallData *callData)
|
||||
ReturnedValue Runtime::method_constructProperty(ExecutionEngine *engine, int nameIndex, CallData *callData)
|
||||
{
|
||||
Scope scope(engine);
|
||||
ScopedObject thisObject(scope, callData->thisObject.toObject(engine));
|
||||
|
@ -1120,7 +1120,7 @@ ReturnedValue Runtime::constructProperty(ExecutionEngine *engine, int nameIndex,
|
|||
return f->construct(callData);
|
||||
}
|
||||
|
||||
ReturnedValue Runtime::constructPropertyLookup(ExecutionEngine *engine, uint index, CallData *callData)
|
||||
ReturnedValue Runtime::method_constructPropertyLookup(ExecutionEngine *engine, uint index, CallData *callData)
|
||||
{
|
||||
Lookup *l = engine->current->lookups + index;
|
||||
Value v;
|
||||
|
@ -1138,7 +1138,7 @@ void Runtime::throwException(ExecutionEngine *engine, const Value &value)
|
|||
engine->throwError(value);
|
||||
}
|
||||
|
||||
ReturnedValue Runtime::typeofValue(ExecutionEngine *engine, const Value &value)
|
||||
ReturnedValue Runtime::method_typeofValue(ExecutionEngine *engine, const Value &value)
|
||||
{
|
||||
Scope scope(engine);
|
||||
ScopedString res(scope);
|
||||
|
@ -1167,39 +1167,37 @@ ReturnedValue Runtime::typeofValue(ExecutionEngine *engine, const Value &value)
|
|||
return res.asReturnedValue();
|
||||
}
|
||||
|
||||
QV4::ReturnedValue Runtime::typeofName(ExecutionEngine *engine, int nameIndex)
|
||||
QV4::ReturnedValue Runtime::method_typeofName(ExecutionEngine *engine, int nameIndex)
|
||||
{
|
||||
Scope scope(engine);
|
||||
ScopedString name(scope, engine->current->compilationUnit->runtimeStrings[nameIndex]);
|
||||
ScopedValue prop(scope, engine->currentContext->getProperty(name));
|
||||
// typeof doesn't throw. clear any possible exception
|
||||
scope.engine->hasException = false;
|
||||
return Runtime::typeofValue(engine, prop);
|
||||
return method_typeofValue(engine, prop);
|
||||
}
|
||||
|
||||
#ifndef V4_BOOTSTRAP
|
||||
ReturnedValue Runtime::typeofScopeObjectProperty(ExecutionEngine *engine, const Value &context,
|
||||
int propertyIndex)
|
||||
ReturnedValue Runtime::method_typeofScopeObjectProperty(ExecutionEngine *engine, const Value &context, int propertyIndex)
|
||||
{
|
||||
Scope scope(engine);
|
||||
ScopedValue prop(scope, getQmlScopeObjectProperty(engine, context, propertyIndex));
|
||||
if (scope.engine->hasException)
|
||||
return Encode::undefined();
|
||||
return Runtime::typeofValue(engine, prop);
|
||||
return method_typeofValue(engine, prop);
|
||||
}
|
||||
|
||||
ReturnedValue Runtime::typeofContextObjectProperty(ExecutionEngine *engine, const Value &context,
|
||||
int propertyIndex)
|
||||
ReturnedValue Runtime::method_typeofContextObjectProperty(ExecutionEngine *engine, const Value &context, int propertyIndex)
|
||||
{
|
||||
Scope scope(engine);
|
||||
ScopedValue prop(scope, getQmlContextObjectProperty(engine, context, propertyIndex));
|
||||
if (scope.engine->hasException)
|
||||
return Encode::undefined();
|
||||
return Runtime::typeofValue(engine, prop);
|
||||
return method_typeofValue(engine, prop);
|
||||
}
|
||||
#endif // V4_BOOTSTRAP
|
||||
|
||||
QV4::ReturnedValue Runtime::typeofMember(ExecutionEngine *engine, const Value &base, int nameIndex)
|
||||
QV4::ReturnedValue Runtime::method_typeofMember(ExecutionEngine *engine, const Value &base, int nameIndex)
|
||||
{
|
||||
Scope scope(engine);
|
||||
ScopedString name(scope, engine->current->compilationUnit->runtimeStrings[nameIndex]);
|
||||
|
@ -1207,10 +1205,10 @@ QV4::ReturnedValue Runtime::typeofMember(ExecutionEngine *engine, const Value &b
|
|||
if (scope.engine->hasException)
|
||||
return Encode::undefined();
|
||||
ScopedValue prop(scope, obj->get(name));
|
||||
return Runtime::typeofValue(engine, prop);
|
||||
return method_typeofValue(engine, prop);
|
||||
}
|
||||
|
||||
QV4::ReturnedValue Runtime::typeofElement(ExecutionEngine *engine, const Value &base, const Value &index)
|
||||
QV4::ReturnedValue Runtime::method_typeofElement(ExecutionEngine *engine, const Value &base, const Value &index)
|
||||
{
|
||||
Scope scope(engine);
|
||||
ScopedString name(scope, index.toString(engine));
|
||||
|
@ -1218,7 +1216,7 @@ QV4::ReturnedValue Runtime::typeofElement(ExecutionEngine *engine, const Value &
|
|||
if (scope.engine->hasException)
|
||||
return Encode::undefined();
|
||||
ScopedValue prop(scope, obj->get(name));
|
||||
return Runtime::typeofValue(engine, prop);
|
||||
return method_typeofValue(engine, prop);
|
||||
}
|
||||
|
||||
ReturnedValue Runtime::unwindException(ExecutionEngine *engine)
|
||||
|
|
|
@ -58,45 +58,74 @@ struct NoThrowEngine;
|
|||
struct Q_QML_PRIVATE_EXPORT Runtime {
|
||||
Runtime()
|
||||
: INIT_RUNTIME_METHOD(callGlobalLookup)
|
||||
, INIT_RUNTIME_METHOD(callActivationProperty)
|
||||
, INIT_RUNTIME_METHOD(callQmlScopeObjectProperty)
|
||||
, INIT_RUNTIME_METHOD(callQmlContextObjectProperty)
|
||||
, INIT_RUNTIME_METHOD(callProperty)
|
||||
, INIT_RUNTIME_METHOD(callPropertyLookup)
|
||||
, INIT_RUNTIME_METHOD(callElement)
|
||||
, INIT_RUNTIME_METHOD(callValue)
|
||||
, INIT_RUNTIME_METHOD(constructGlobalLookup)
|
||||
, INIT_RUNTIME_METHOD(constructActivationProperty)
|
||||
, INIT_RUNTIME_METHOD(constructProperty)
|
||||
, INIT_RUNTIME_METHOD(constructPropertyLookup)
|
||||
, INIT_RUNTIME_METHOD(constructValue)
|
||||
, INIT_RUNTIME_METHOD(setActivationProperty)
|
||||
, INIT_RUNTIME_METHOD(setProperty)
|
||||
, INIT_RUNTIME_METHOD(setElement)
|
||||
, INIT_RUNTIME_METHOD(getProperty)
|
||||
, INIT_RUNTIME_METHOD(getActivationProperty)
|
||||
, INIT_RUNTIME_METHOD(getElement)
|
||||
, INIT_RUNTIME_METHOD(typeofValue)
|
||||
, INIT_RUNTIME_METHOD(typeofName)
|
||||
, INIT_RUNTIME_METHOD(typeofScopeObjectProperty)
|
||||
, INIT_RUNTIME_METHOD(typeofContextObjectProperty)
|
||||
, INIT_RUNTIME_METHOD(typeofMember)
|
||||
, INIT_RUNTIME_METHOD(typeofElement)
|
||||
, INIT_RUNTIME_METHOD(deleteElement)
|
||||
, INIT_RUNTIME_METHOD(deleteMember)
|
||||
, INIT_RUNTIME_METHOD(deleteMemberString)
|
||||
, INIT_RUNTIME_METHOD(deleteName)
|
||||
{ }
|
||||
|
||||
// call
|
||||
RUNTIME_METHOD(ReturnedValue, callGlobalLookup, (ExecutionEngine *engine, uint index, CallData *callData));
|
||||
static ReturnedValue callActivationProperty(ExecutionEngine *engine, int nameIndex, CallData *callData);
|
||||
static ReturnedValue callQmlScopeObjectProperty(ExecutionEngine *engine, int propertyIndex, CallData *callData);
|
||||
static ReturnedValue callQmlContextObjectProperty(ExecutionEngine *engine, int propertyIndex, CallData *callData);
|
||||
static ReturnedValue callProperty(ExecutionEngine *engine, int nameIndex, CallData *callData);
|
||||
static ReturnedValue callPropertyLookup(ExecutionEngine *engine, uint index, CallData *callData);
|
||||
static ReturnedValue callElement(ExecutionEngine *engine, const Value &index, CallData *callData);
|
||||
static ReturnedValue callValue(ExecutionEngine *engine, const Value &func, CallData *callData);
|
||||
RUNTIME_METHOD(ReturnedValue, callActivationProperty, (ExecutionEngine *engine, int nameIndex, CallData *callData));
|
||||
RUNTIME_METHOD(ReturnedValue, callQmlScopeObjectProperty, (ExecutionEngine *engine, int propertyIndex, CallData *callData));
|
||||
RUNTIME_METHOD(ReturnedValue, callQmlContextObjectProperty, (ExecutionEngine *engine, int propertyIndex, CallData *callData));
|
||||
RUNTIME_METHOD(ReturnedValue, callProperty, (ExecutionEngine *engine, int nameIndex, CallData *callData));
|
||||
RUNTIME_METHOD(ReturnedValue, callPropertyLookup, (ExecutionEngine *engine, uint index, CallData *callData));
|
||||
RUNTIME_METHOD(ReturnedValue, callElement, (ExecutionEngine *engine, const Value &index, CallData *callData));
|
||||
RUNTIME_METHOD(ReturnedValue, callValue, (ExecutionEngine *engine, const Value &func, CallData *callData));
|
||||
|
||||
// construct
|
||||
static ReturnedValue constructGlobalLookup(ExecutionEngine *engine, uint index, CallData *callData);
|
||||
static ReturnedValue constructActivationProperty(ExecutionEngine *engine, int nameIndex, CallData *callData);
|
||||
static ReturnedValue constructProperty(ExecutionEngine *engine, int nameIndex, CallData *callData);
|
||||
static ReturnedValue constructPropertyLookup(ExecutionEngine *engine, uint index, CallData *callData);
|
||||
static ReturnedValue constructValue(ExecutionEngine *engine, const Value &func, CallData *callData);
|
||||
RUNTIME_METHOD(ReturnedValue, constructGlobalLookup, (ExecutionEngine *engine, uint index, CallData *callData));
|
||||
RUNTIME_METHOD(ReturnedValue, constructActivationProperty, (ExecutionEngine *engine, int nameIndex, CallData *callData));
|
||||
RUNTIME_METHOD(ReturnedValue, constructProperty, (ExecutionEngine *engine, int nameIndex, CallData *callData));
|
||||
RUNTIME_METHOD(ReturnedValue, constructPropertyLookup, (ExecutionEngine *engine, uint index, CallData *callData));
|
||||
RUNTIME_METHOD(ReturnedValue, constructValue, (ExecutionEngine *engine, const Value &func, CallData *callData));
|
||||
|
||||
// set & get
|
||||
static void setActivationProperty(ExecutionEngine *engine, int nameIndex, const Value &value);
|
||||
static void setProperty(ExecutionEngine *engine, const Value &object, int nameIndex, const Value &value);
|
||||
static void setElement(ExecutionEngine *engine, const Value &object, const Value &index, const Value &value);
|
||||
static ReturnedValue getProperty(ExecutionEngine *engine, const Value &object, int nameIndex);
|
||||
static ReturnedValue getActivationProperty(ExecutionEngine *engine, int nameIndex);
|
||||
static ReturnedValue getElement(ExecutionEngine *engine, const Value &object, const Value &index);
|
||||
RUNTIME_METHOD(void, setActivationProperty, (ExecutionEngine *engine, int nameIndex, const Value &value));
|
||||
RUNTIME_METHOD(void, setProperty, (ExecutionEngine *engine, const Value &object, int nameIndex, const Value &value));
|
||||
RUNTIME_METHOD(void, setElement, (ExecutionEngine *engine, const Value &object, const Value &index, const Value &value));
|
||||
RUNTIME_METHOD(ReturnedValue, getProperty, (ExecutionEngine *engine, const Value &object, int nameIndex));
|
||||
RUNTIME_METHOD(ReturnedValue, getActivationProperty, (ExecutionEngine *engine, int nameIndex));
|
||||
RUNTIME_METHOD(ReturnedValue, getElement, (ExecutionEngine *engine, const Value &object, const Value &index));
|
||||
|
||||
// typeof
|
||||
static ReturnedValue typeofValue(ExecutionEngine *engine, const Value &val);
|
||||
static ReturnedValue typeofName(ExecutionEngine *engine, int nameIndex);
|
||||
static ReturnedValue typeofScopeObjectProperty(ExecutionEngine *engine, const Value &context, int propertyIndex);
|
||||
static ReturnedValue typeofContextObjectProperty(ExecutionEngine *engine, const Value &context, int propertyIndex);
|
||||
static ReturnedValue typeofMember(ExecutionEngine *engine, const Value &base, int nameIndex);
|
||||
static ReturnedValue typeofElement(ExecutionEngine *engine, const Value &base, const Value &index);
|
||||
RUNTIME_METHOD(ReturnedValue, typeofValue, (ExecutionEngine *engine, const Value &val));
|
||||
RUNTIME_METHOD(ReturnedValue, typeofName, (ExecutionEngine *engine, int nameIndex));
|
||||
RUNTIME_METHOD(ReturnedValue, typeofScopeObjectProperty, (ExecutionEngine *engine, const Value &context, int propertyIndex));
|
||||
RUNTIME_METHOD(ReturnedValue, typeofContextObjectProperty, (ExecutionEngine *engine, const Value &context, int propertyIndex));
|
||||
RUNTIME_METHOD(ReturnedValue, typeofMember, (ExecutionEngine *engine, const Value &base, int nameIndex));
|
||||
RUNTIME_METHOD(ReturnedValue, typeofElement, (ExecutionEngine *engine, const Value &base, const Value &index));
|
||||
|
||||
// delete
|
||||
static ReturnedValue deleteElement(ExecutionEngine *engine, const Value &base, const Value &index);
|
||||
static ReturnedValue deleteMember(ExecutionEngine *engine, const Value &base, int nameIndex);
|
||||
static ReturnedValue deleteMemberString(ExecutionEngine *engine, const Value &base, String *name);
|
||||
static ReturnedValue deleteName(ExecutionEngine *engine, int nameIndex);
|
||||
RUNTIME_METHOD(ReturnedValue, deleteElement, (ExecutionEngine *engine, const Value &base, const Value &index));
|
||||
RUNTIME_METHOD(ReturnedValue, deleteMember, (ExecutionEngine *engine, const Value &base, int nameIndex));
|
||||
RUNTIME_METHOD(ReturnedValue, deleteMemberString, (ExecutionEngine *engine, const Value &base, String *name));
|
||||
RUNTIME_METHOD(ReturnedValue, deleteName, (ExecutionEngine *engine, int nameIndex));
|
||||
|
||||
// exceptions & scopes
|
||||
static void throwException(ExecutionEngine *engine, const Value &value);
|
||||
|
|
|
@ -456,7 +456,7 @@ QV4::ReturnedValue VME::run(ExecutionEngine *engine, const uchar *code
|
|||
|
||||
MOTH_BEGIN_INSTR(LoadName)
|
||||
TRACE(inline, "property name = %s", runtimeStrings[instr.name]->toQString().toUtf8().constData());
|
||||
STOREVALUE(instr.result, Runtime::getActivationProperty(engine, instr.name));
|
||||
STOREVALUE(instr.result, engine->runtime.getActivationProperty(engine, instr.name));
|
||||
MOTH_END_INSTR(LoadName)
|
||||
|
||||
MOTH_BEGIN_INSTR(GetGlobalLookup)
|
||||
|
@ -466,12 +466,12 @@ QV4::ReturnedValue VME::run(ExecutionEngine *engine, const uchar *code
|
|||
|
||||
MOTH_BEGIN_INSTR(StoreName)
|
||||
TRACE(inline, "property name = %s", runtimeStrings[instr.name]->toQString().toUtf8().constData());
|
||||
Runtime::setActivationProperty(engine, instr.name, VALUE(instr.source));
|
||||
engine->runtime.setActivationProperty(engine, instr.name, VALUE(instr.source));
|
||||
CHECK_EXCEPTION;
|
||||
MOTH_END_INSTR(StoreName)
|
||||
|
||||
MOTH_BEGIN_INSTR(LoadElement)
|
||||
STOREVALUE(instr.result, Runtime::getElement(engine, VALUE(instr.base), VALUE(instr.index)));
|
||||
STOREVALUE(instr.result, engine->runtime.getElement(engine, VALUE(instr.base), VALUE(instr.index)));
|
||||
MOTH_END_INSTR(LoadElement)
|
||||
|
||||
MOTH_BEGIN_INSTR(LoadElementLookup)
|
||||
|
@ -480,7 +480,7 @@ QV4::ReturnedValue VME::run(ExecutionEngine *engine, const uchar *code
|
|||
MOTH_END_INSTR(LoadElementLookup)
|
||||
|
||||
MOTH_BEGIN_INSTR(StoreElement)
|
||||
Runtime::setElement(engine, VALUE(instr.base), VALUE(instr.index), VALUE(instr.source));
|
||||
engine->runtime.setElement(engine, VALUE(instr.base), VALUE(instr.index), VALUE(instr.source));
|
||||
CHECK_EXCEPTION;
|
||||
MOTH_END_INSTR(StoreElement)
|
||||
|
||||
|
@ -491,7 +491,7 @@ QV4::ReturnedValue VME::run(ExecutionEngine *engine, const uchar *code
|
|||
MOTH_END_INSTR(StoreElementLookup)
|
||||
|
||||
MOTH_BEGIN_INSTR(LoadProperty)
|
||||
STOREVALUE(instr.result, Runtime::getProperty(engine, VALUE(instr.base), instr.name));
|
||||
STOREVALUE(instr.result, engine->runtime.getProperty(engine, VALUE(instr.base), instr.name));
|
||||
MOTH_END_INSTR(LoadProperty)
|
||||
|
||||
MOTH_BEGIN_INSTR(GetLookup)
|
||||
|
@ -500,7 +500,7 @@ QV4::ReturnedValue VME::run(ExecutionEngine *engine, const uchar *code
|
|||
MOTH_END_INSTR(GetLookup)
|
||||
|
||||
MOTH_BEGIN_INSTR(StoreProperty)
|
||||
Runtime::setProperty(engine, VALUE(instr.base), instr.name, VALUE(instr.source));
|
||||
engine->runtime.setProperty(engine, VALUE(instr.base), instr.name, VALUE(instr.source));
|
||||
CHECK_EXCEPTION;
|
||||
MOTH_END_INSTR(StoreProperty)
|
||||
|
||||
|
@ -572,7 +572,7 @@ QV4::ReturnedValue VME::run(ExecutionEngine *engine, const uchar *code
|
|||
callData->tag = QV4::Value::Integer_Type;
|
||||
callData->argc = instr.argc;
|
||||
callData->thisObject = QV4::Primitive::undefinedValue();
|
||||
STOREVALUE(instr.result, Runtime::callValue(engine, VALUE(instr.dest), callData));
|
||||
STOREVALUE(instr.result, engine->runtime.callValue(engine, VALUE(instr.dest), callData));
|
||||
MOTH_END_INSTR(CallValue)
|
||||
|
||||
MOTH_BEGIN_INSTR(CallProperty)
|
||||
|
@ -582,7 +582,7 @@ QV4::ReturnedValue VME::run(ExecutionEngine *engine, const uchar *code
|
|||
callData->tag = QV4::Value::Integer_Type;
|
||||
callData->argc = instr.argc;
|
||||
callData->thisObject = VALUE(instr.base);
|
||||
STOREVALUE(instr.result, Runtime::callProperty(engine, instr.name, callData));
|
||||
STOREVALUE(instr.result, engine->runtime.callProperty(engine, instr.name, callData));
|
||||
MOTH_END_INSTR(CallProperty)
|
||||
|
||||
MOTH_BEGIN_INSTR(CallPropertyLookup)
|
||||
|
@ -591,7 +591,7 @@ QV4::ReturnedValue VME::run(ExecutionEngine *engine, const uchar *code
|
|||
callData->tag = QV4::Value::Integer_Type;
|
||||
callData->argc = instr.argc;
|
||||
callData->thisObject = VALUE(instr.base);
|
||||
STOREVALUE(instr.result, Runtime::callPropertyLookup(engine, instr.lookupIndex, callData));
|
||||
STOREVALUE(instr.result, engine->runtime.callPropertyLookup(engine, instr.lookupIndex, callData));
|
||||
MOTH_END_INSTR(CallPropertyLookup)
|
||||
|
||||
MOTH_BEGIN_INSTR(CallScopeObjectProperty)
|
||||
|
@ -601,7 +601,7 @@ QV4::ReturnedValue VME::run(ExecutionEngine *engine, const uchar *code
|
|||
callData->tag = QV4::Value::Integer_Type;
|
||||
callData->argc = instr.argc;
|
||||
callData->thisObject = VALUE(instr.base);
|
||||
STOREVALUE(instr.result, Runtime::callQmlScopeObjectProperty(engine, instr.index, callData));
|
||||
STOREVALUE(instr.result, engine->runtime.callQmlScopeObjectProperty(engine, instr.index, callData));
|
||||
MOTH_END_INSTR(CallScopeObjectProperty)
|
||||
|
||||
MOTH_BEGIN_INSTR(CallContextObjectProperty)
|
||||
|
@ -611,7 +611,7 @@ QV4::ReturnedValue VME::run(ExecutionEngine *engine, const uchar *code
|
|||
callData->tag = QV4::Value::Integer_Type;
|
||||
callData->argc = instr.argc;
|
||||
callData->thisObject = VALUE(instr.base);
|
||||
STOREVALUE(instr.result, Runtime::callQmlContextObjectProperty(engine, instr.index, callData));
|
||||
STOREVALUE(instr.result, engine->runtime.callQmlContextObjectProperty(engine, instr.index, callData));
|
||||
MOTH_END_INSTR(CallContextObjectProperty)
|
||||
|
||||
MOTH_BEGIN_INSTR(CallElement)
|
||||
|
@ -620,7 +620,7 @@ QV4::ReturnedValue VME::run(ExecutionEngine *engine, const uchar *code
|
|||
callData->tag = QV4::Value::Integer_Type;
|
||||
callData->argc = instr.argc;
|
||||
callData->thisObject = VALUE(instr.base);
|
||||
STOREVALUE(instr.result, Runtime::callElement(engine, VALUE(instr.index), callData));
|
||||
STOREVALUE(instr.result, engine->runtime.callElement(engine, VALUE(instr.index), callData));
|
||||
MOTH_END_INSTR(CallElement)
|
||||
|
||||
MOTH_BEGIN_INSTR(CallActivationProperty)
|
||||
|
@ -629,7 +629,7 @@ QV4::ReturnedValue VME::run(ExecutionEngine *engine, const uchar *code
|
|||
callData->tag = QV4::Value::Integer_Type;
|
||||
callData->argc = instr.argc;
|
||||
callData->thisObject = QV4::Primitive::undefinedValue();
|
||||
STOREVALUE(instr.result, Runtime::callActivationProperty(engine, instr.name, callData));
|
||||
STOREVALUE(instr.result, engine->runtime.callActivationProperty(engine, instr.name, callData));
|
||||
MOTH_END_INSTR(CallActivationProperty)
|
||||
|
||||
MOTH_BEGIN_INSTR(CallGlobalLookup)
|
||||
|
@ -679,39 +679,39 @@ QV4::ReturnedValue VME::run(ExecutionEngine *engine, const uchar *code
|
|||
MOTH_END_INSTR(CallBuiltinForeachNextPropertyName)
|
||||
|
||||
MOTH_BEGIN_INSTR(CallBuiltinDeleteMember)
|
||||
STOREVALUE(instr.result, Runtime::deleteMember(engine, VALUE(instr.base), instr.member));
|
||||
STOREVALUE(instr.result, engine->runtime.deleteMember(engine, VALUE(instr.base), instr.member));
|
||||
MOTH_END_INSTR(CallBuiltinDeleteMember)
|
||||
|
||||
MOTH_BEGIN_INSTR(CallBuiltinDeleteSubscript)
|
||||
STOREVALUE(instr.result, Runtime::deleteElement(engine, VALUE(instr.base), VALUE(instr.index)));
|
||||
STOREVALUE(instr.result, engine->runtime.deleteElement(engine, VALUE(instr.base), VALUE(instr.index)));
|
||||
MOTH_END_INSTR(CallBuiltinDeleteSubscript)
|
||||
|
||||
MOTH_BEGIN_INSTR(CallBuiltinDeleteName)
|
||||
STOREVALUE(instr.result, Runtime::deleteName(engine, instr.name));
|
||||
STOREVALUE(instr.result, engine->runtime.deleteName(engine, instr.name));
|
||||
MOTH_END_INSTR(CallBuiltinDeleteName)
|
||||
|
||||
MOTH_BEGIN_INSTR(CallBuiltinTypeofScopeObjectProperty)
|
||||
STOREVALUE(instr.result, Runtime::typeofScopeObjectProperty(engine, VALUE(instr.base), instr.index));
|
||||
STOREVALUE(instr.result, engine->runtime.typeofScopeObjectProperty(engine, VALUE(instr.base), instr.index));
|
||||
MOTH_END_INSTR(CallBuiltinTypeofMember)
|
||||
|
||||
MOTH_BEGIN_INSTR(CallBuiltinTypeofContextObjectProperty)
|
||||
STOREVALUE(instr.result, Runtime::typeofContextObjectProperty(engine, VALUE(instr.base), instr.index));
|
||||
STOREVALUE(instr.result, engine->runtime.typeofContextObjectProperty(engine, VALUE(instr.base), instr.index));
|
||||
MOTH_END_INSTR(CallBuiltinTypeofMember)
|
||||
|
||||
MOTH_BEGIN_INSTR(CallBuiltinTypeofMember)
|
||||
STOREVALUE(instr.result, Runtime::typeofMember(engine, VALUE(instr.base), instr.member));
|
||||
STOREVALUE(instr.result, engine->runtime.typeofMember(engine, VALUE(instr.base), instr.member));
|
||||
MOTH_END_INSTR(CallBuiltinTypeofMember)
|
||||
|
||||
MOTH_BEGIN_INSTR(CallBuiltinTypeofSubscript)
|
||||
STOREVALUE(instr.result, Runtime::typeofElement(engine, VALUE(instr.base), VALUE(instr.index)));
|
||||
STOREVALUE(instr.result, engine->runtime.typeofElement(engine, VALUE(instr.base), VALUE(instr.index)));
|
||||
MOTH_END_INSTR(CallBuiltinTypeofSubscript)
|
||||
|
||||
MOTH_BEGIN_INSTR(CallBuiltinTypeofName)
|
||||
STOREVALUE(instr.result, Runtime::typeofName(engine, instr.name));
|
||||
STOREVALUE(instr.result, engine->runtime.typeofName(engine, instr.name));
|
||||
MOTH_END_INSTR(CallBuiltinTypeofName)
|
||||
|
||||
MOTH_BEGIN_INSTR(CallBuiltinTypeofValue)
|
||||
STOREVALUE(instr.result, Runtime::typeofValue(engine, VALUE(instr.value)));
|
||||
STOREVALUE(instr.result, engine->runtime.typeofValue(engine, VALUE(instr.value)));
|
||||
MOTH_END_INSTR(CallBuiltinTypeofValue)
|
||||
|
||||
MOTH_BEGIN_INSTR(CallBuiltinDeclareVar)
|
||||
|
@ -744,7 +744,7 @@ QV4::ReturnedValue VME::run(ExecutionEngine *engine, const uchar *code
|
|||
callData->tag = QV4::Value::Integer_Type;
|
||||
callData->argc = instr.argc;
|
||||
callData->thisObject = QV4::Primitive::undefinedValue();
|
||||
STOREVALUE(instr.result, Runtime::constructValue(engine, VALUE(instr.func), callData));
|
||||
STOREVALUE(instr.result, engine->runtime.constructValue(engine, VALUE(instr.func), callData));
|
||||
MOTH_END_INSTR(CreateValue)
|
||||
|
||||
MOTH_BEGIN_INSTR(CreateProperty)
|
||||
|
@ -753,7 +753,7 @@ QV4::ReturnedValue VME::run(ExecutionEngine *engine, const uchar *code
|
|||
callData->tag = QV4::Value::Integer_Type;
|
||||
callData->argc = instr.argc;
|
||||
callData->thisObject = VALUE(instr.base);
|
||||
STOREVALUE(instr.result, Runtime::constructProperty(engine, instr.name, callData));
|
||||
STOREVALUE(instr.result, engine->runtime.constructProperty(engine, instr.name, callData));
|
||||
MOTH_END_INSTR(CreateProperty)
|
||||
|
||||
MOTH_BEGIN_INSTR(ConstructPropertyLookup)
|
||||
|
@ -762,7 +762,7 @@ QV4::ReturnedValue VME::run(ExecutionEngine *engine, const uchar *code
|
|||
callData->tag = QV4::Value::Integer_Type;
|
||||
callData->argc = instr.argc;
|
||||
callData->thisObject = VALUE(instr.base);
|
||||
STOREVALUE(instr.result, Runtime::constructPropertyLookup(engine, instr.index, callData));
|
||||
STOREVALUE(instr.result, engine->runtime.constructPropertyLookup(engine, instr.index, callData));
|
||||
MOTH_END_INSTR(ConstructPropertyLookup)
|
||||
|
||||
MOTH_BEGIN_INSTR(CreateActivationProperty)
|
||||
|
@ -771,7 +771,7 @@ QV4::ReturnedValue VME::run(ExecutionEngine *engine, const uchar *code
|
|||
callData->tag = QV4::Value::Integer_Type;
|
||||
callData->argc = instr.argc;
|
||||
callData->thisObject = QV4::Primitive::undefinedValue();
|
||||
STOREVALUE(instr.result, Runtime::constructActivationProperty(engine, instr.name, callData));
|
||||
STOREVALUE(instr.result, engine->runtime.constructActivationProperty(engine, instr.name, callData));
|
||||
MOTH_END_INSTR(CreateActivationProperty)
|
||||
|
||||
MOTH_BEGIN_INSTR(ConstructGlobalLookup)
|
||||
|
@ -780,7 +780,7 @@ QV4::ReturnedValue VME::run(ExecutionEngine *engine, const uchar *code
|
|||
callData->tag = QV4::Value::Integer_Type;
|
||||
callData->argc = instr.argc;
|
||||
callData->thisObject = QV4::Primitive::undefinedValue();
|
||||
STOREVALUE(instr.result, Runtime::constructGlobalLookup(engine, instr.index, callData));
|
||||
STOREVALUE(instr.result, engine->runtime.constructGlobalLookup(engine, instr.index, callData));
|
||||
MOTH_END_INSTR(ConstructGlobalLookup)
|
||||
|
||||
MOTH_BEGIN_INSTR(Jump)
|
||||
|
|
Loading…
Reference in New Issue