aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jit/qv4baselinejit.cpp
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2018-08-30 22:30:50 +0200
committerLars Knoll <lars.knoll@qt.io>2018-08-31 06:08:51 +0000
commit1102cefcd75b250d4b42673b8a606d167cb15048 (patch)
tree34887646d0cb29ba87eac5d563776676bc8f249f /src/qml/jit/qv4baselinejit.cpp
parentac3a9fd8f352b1d717334d16111d22d6c155e4e2 (diff)
Fix thisObject when calling super properties
Change-Id: Ia520d43ea2c29c16cfc8ffc86a32187a78848502 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'src/qml/jit/qv4baselinejit.cpp')
-rw-r--r--src/qml/jit/qv4baselinejit.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/qml/jit/qv4baselinejit.cpp b/src/qml/jit/qv4baselinejit.cpp
index 36375461f9..9e9c586982 100644
--- a/src/qml/jit/qv4baselinejit.cpp
+++ b/src/qml/jit/qv4baselinejit.cpp
@@ -418,6 +418,19 @@ void BaselineJIT::generate_CallValue(int name, int argc, int argv)
as->checkException();
}
+void BaselineJIT::generate_CallWithReceiver(int name, int thisObject, int argc, int argv)
+{
+ STORE_IP();
+ as->prepareCallWithArgCount(5);
+ as->passInt32AsArg(argc, 4);
+ as->passJSSlotAsArg(argv, 3);
+ as->passJSSlotAsArg(thisObject, 2);
+ as->passJSSlotAsArg(name, 1);
+ as->passEngineAsArg(0);
+ BASELINEJIT_GENERATE_RUNTIME_CALL(Runtime::method_callWithReceiver, CallResultDestination::InAccumulator);
+ as->checkException();
+}
+
void BaselineJIT::generate_CallProperty(int name, int base, int argc, int argv)
{
STORE_IP();