From 6969aa5932f0eb7171dea2b4da39c21d1c09cc60 Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Sat, 9 Jun 2018 23:31:26 +0200 Subject: Get rid of LoadElement and LoadProperty instruction overloads Always use the overload where the value is in the accumulator. Change-Id: I6a3d81fea7aae957e0cf6efd123d7739f8880c95 Reviewed-by: Simon Hausmann --- src/qml/jit/qv4baselinejit.cpp | 25 ++----------------------- src/qml/jit/qv4baselinejit_p.h | 6 ++---- 2 files changed, 4 insertions(+), 27 deletions(-) (limited to 'src/qml/jit') diff --git a/src/qml/jit/qv4baselinejit.cpp b/src/qml/jit/qv4baselinejit.cpp index ac6fc976f4..7f9674c57f 100644 --- a/src/qml/jit/qv4baselinejit.cpp +++ b/src/qml/jit/qv4baselinejit.cpp @@ -233,18 +233,7 @@ void BaselineJIT::generate_StoreNameStrict(int name) as->checkException(); } -void BaselineJIT::generate_LoadElement(int base, int index) -{ - STORE_IP(); - as->prepareCallWithArgCount(3); - as->passRegAsArg(index, 2); - as->passRegAsArg(base, 1); - as->passEngineAsArg(0); - JIT_GENERATE_RUNTIME_CALL(Runtime::method_loadElement, Assembler::ResultInAccumulator); - as->checkException(); -} - -void BaselineJIT::generate_LoadElementA(int base) +void BaselineJIT::generate_LoadElement(int base) { STORE_IP(); STORE_ACC(); @@ -276,17 +265,7 @@ void BaselineJIT::generate_StoreElement(int base, int index) as->checkException(); } -void BaselineJIT::generate_LoadProperty(int name, int base) -{ - STORE_IP(); - as->prepareCallWithArgCount(3); - as->passInt32AsArg(name, 2); - as->passRegAsArg(base, 1); - as->passEngineAsArg(0); - JIT_GENERATE_RUNTIME_CALL(Runtime::method_loadProperty, Assembler::ResultInAccumulator); - as->checkException(); -} -void BaselineJIT::generate_LoadPropertyA(int name) +void BaselineJIT::generate_LoadProperty(int name) { STORE_IP(); STORE_ACC(); diff --git a/src/qml/jit/qv4baselinejit_p.h b/src/qml/jit/qv4baselinejit_p.h index fda410db69..b09efb1680 100644 --- a/src/qml/jit/qv4baselinejit_p.h +++ b/src/qml/jit/qv4baselinejit_p.h @@ -98,11 +98,9 @@ public: void generate_LoadGlobalLookup(int index) override; void generate_StoreNameSloppy(int name) override; void generate_StoreNameStrict(int name) override; - void generate_LoadElement(int base, int index) override; - void generate_LoadElementA(int base) override; + void generate_LoadElement(int base) override; void generate_StoreElement(int base, int index) override; - void generate_LoadProperty(int name, int base) override; - void generate_LoadPropertyA(int name) override; + void generate_LoadProperty(int name) override; void generate_GetLookup(int index, int base) override; void generate_GetLookupA(int index) override; void generate_StoreProperty(int name, int base) override; -- cgit v1.2.3