aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jit/qv4assembler_p.h
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@theqtcompany.com>2015-10-09 10:31:28 +0200
committerSimon Hausmann <simon.hausmann@theqtcompany.com>2016-04-11 12:27:42 +0000
commitf139f59b7d07ac515e4317ff9083f4470bc708fd (patch)
tree102a49056966f854945eef7e0fd84d7d607283a4 /src/qml/jit/qv4assembler_p.h
parent3057b8c7e6c18c364300b3e781b7c15a535850e6 (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.h36
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;