diff options
author | Lars Knoll <lars.knoll@theqtcompany.com> | 2015-10-09 10:31:28 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@theqtcompany.com> | 2016-04-11 12:27:42 +0000 |
commit | f139f59b7d07ac515e4317ff9083f4470bc708fd (patch) | |
tree | 102a49056966f854945eef7e0fd84d7d607283a4 /src/qml/jit/qv4assembler_p.h | |
parent | 3057b8c7e6c18c364300b3e781b7c15a535850e6 (diff) |
Cleanup
Remove support for calls that would need to be relocated
and force all calls to be either runtime or lookup calls.
Change-Id: If434608a8247680c0a01216dc75b09f23e7f753e
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Diffstat (limited to 'src/qml/jit/qv4assembler_p.h')
-rw-r--r-- | src/qml/jit/qv4assembler_p.h | 36 |
1 files changed, 14 insertions, 22 deletions
diff --git a/src/qml/jit/qv4assembler_p.h b/src/qml/jit/qv4assembler_p.h index de1bc47ffc..6c7d27b2f4 100644 --- a/src/qml/jit/qv4assembler_p.h +++ b/src/qml/jit/qv4assembler_p.h @@ -317,12 +317,12 @@ public: typedef JSC::FunctionPtr FunctionPtr; - struct CallToLink { - Call call; - FunctionPtr externalFunction; +#ifndef QT_NO_DEBUG + struct CallInfo { Label label; const char* functionName; }; +#endif struct PointerToValue { PointerToValue(IR::Expr *value) : value(value) @@ -345,19 +345,6 @@ public: IR::BasicBlock *block; }; - void callAbsolute(const char* functionName, FunctionPtr function) { - CallToLink ctl; - ctl.call = call(); - ctl.externalFunction = function; - ctl.functionName = functionName; - ctl.label = label(); - _callsToLink.append(ctl); - } - - void callAbsolute(const char* /*functionName*/, Address addr) { - call(addr); - } - void callAbsolute(const char* /*functionName*/, const LookupCall &lookupCall) { call(lookupCall.addr); @@ -366,12 +353,15 @@ public: void callAbsolute(const char *functionName, const RuntimeCall &runtimeCall) { call(runtimeCall.addr); +#ifndef QT_NO_DEBUG // the code below is to get proper function names in the disassembly - CallToLink ctl; - ctl.externalFunction = FunctionPtr(); - ctl.functionName = functionName; - ctl.label = label(); - _callsToLink.append(ctl); + CallInfo info; + info.functionName = functionName; + info.label = label(); + _callInfos.append(info); +#else + Q_UNUSED(functionName) +#endif } void registerBlock(IR::BasicBlock*, IR::BasicBlock *nextBlock); @@ -1186,7 +1176,9 @@ private: IR::Function *_function; QHash<IR::BasicBlock *, Label> _addrs; QHash<IR::BasicBlock *, QVector<Jump> > _patches; - QList<CallToLink> _callsToLink; +#ifndef QT_NO_DEBUG + QVector<CallInfo> _callInfos; +#endif struct DataLabelPatch { DataLabelPtr dataLabel; |