diff options
author | Simon Hausmann <simon.hausmann@qt.io> | 2017-02-06 11:24:40 +0100 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@qt.io> | 2017-02-08 12:20:54 +0000 |
commit | 32e24c58664f8e864e591fa03ea86418f0cf0674 (patch) | |
tree | 7ec222f6b89fd89dac35644cf3779d1e82bc64f2 /src/qml/jit | |
parent | be92f31b7eb2a689c8a12fc0e193878a84c4532e (diff) |
Fix ARM64 build
Add the ARM64 assembler to cross-compilation.
Task-number: QTBUG-58568
Change-Id: I91461ebf79fb83e31e8ae2962ab0e155d308281a
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'src/qml/jit')
-rw-r--r-- | src/qml/jit/qv4assembler.cpp | 1 | ||||
-rw-r--r-- | src/qml/jit/qv4binop.cpp | 1 | ||||
-rw-r--r-- | src/qml/jit/qv4isel_masm.cpp | 5 | ||||
-rw-r--r-- | src/qml/jit/qv4targetplatform_p.h | 2 | ||||
-rw-r--r-- | src/qml/jit/qv4unop.cpp | 1 |
5 files changed, 7 insertions, 3 deletions
diff --git a/src/qml/jit/qv4assembler.cpp b/src/qml/jit/qv4assembler.cpp index c6da60384e..906b0acf8e 100644 --- a/src/qml/jit/qv4assembler.cpp +++ b/src/qml/jit/qv4assembler.cpp @@ -711,6 +711,7 @@ JSC::MacroAssemblerCodeRef Assembler<TargetConfiguration>::link(int *codeSize) template class QV4::JIT::Assembler<DefaultAssemblerTargetConfiguration>; #if defined(V4_BOOTSTRAP) template class QV4::JIT::Assembler<AssemblerTargetConfiguration<JSC::MacroAssemblerARMv7, NoOperatingSystemSpecialization>>; +template class QV4::JIT::Assembler<AssemblerTargetConfiguration<JSC::MacroAssemblerARM64, NoOperatingSystemSpecialization>>; #endif #endif diff --git a/src/qml/jit/qv4binop.cpp b/src/qml/jit/qv4binop.cpp index 988425d73f..201724df9f 100644 --- a/src/qml/jit/qv4binop.cpp +++ b/src/qml/jit/qv4binop.cpp @@ -650,6 +650,7 @@ typename JITAssembler::Jump Binop<JITAssembler>::genInlineBinop(IR::Expr *leftSo template struct QV4::JIT::Binop<QV4::JIT::Assembler<DefaultAssemblerTargetConfiguration>>; #if defined(V4_BOOTSTRAP) template struct QV4::JIT::Binop<QV4::JIT::Assembler<AssemblerTargetConfiguration<JSC::MacroAssemblerARMv7, NoOperatingSystemSpecialization>>>; +template struct QV4::JIT::Binop<QV4::JIT::Assembler<AssemblerTargetConfiguration<JSC::MacroAssemblerARM64, NoOperatingSystemSpecialization>>>; #endif } // end of namespace JIT diff --git a/src/qml/jit/qv4isel_masm.cpp b/src/qml/jit/qv4isel_masm.cpp index 6769b22b77..69d6951bb9 100644 --- a/src/qml/jit/qv4isel_masm.cpp +++ b/src/qml/jit/qv4isel_masm.cpp @@ -1638,15 +1638,16 @@ template class Q_QML_EXPORT ISelFactory<>; Q_QML_EXPORT QV4::EvalISelFactory *createISelForArchitecture(const QString &architecture) { using ARMv7CrossAssembler = QV4::JIT::Assembler<AssemblerTargetConfiguration<JSC::MacroAssemblerARMv7, NoOperatingSystemSpecialization>>; + using ARM64CrossAssembler = QV4::JIT::Assembler<AssemblerTargetConfiguration<JSC::MacroAssemblerARM64, NoOperatingSystemSpecialization>>; if (architecture == QLatin1String("armv7")) return new ISelFactory<ARMv7CrossAssembler>; + else if (architecture == QLatin1String("armv8")) + return new ISelFactory<ARM64CrossAssembler>; QString hostArch; #if CPU(ARM_THUMB2) hostArch = QStringLiteral("armv7"); -#elif CPU(ARM64) - hostArch = QStringLiteral("armv8"); #elif CPU(MIPS) hostArch = QStringLiteral("mips"); #elif CPU(X86) diff --git a/src/qml/jit/qv4targetplatform_p.h b/src/qml/jit/qv4targetplatform_p.h index fa01d911ef..c4a2463a36 100644 --- a/src/qml/jit/qv4targetplatform_p.h +++ b/src/qml/jit/qv4targetplatform_p.h @@ -427,7 +427,7 @@ public: }; #endif // ARM (32 bit) -#if CPU(ARM64) +#if CPU(ARM64) || defined(V4_BOOTSTRAP) template <> class TargetPlatform<JSC::MacroAssemblerARM64, NoOperatingSystemSpecialization> { diff --git a/src/qml/jit/qv4unop.cpp b/src/qml/jit/qv4unop.cpp index 6c19d20592..d60780c2bb 100644 --- a/src/qml/jit/qv4unop.cpp +++ b/src/qml/jit/qv4unop.cpp @@ -147,6 +147,7 @@ void Unop<JITAssembler>::generateCompl(IR::Expr *source, IR::Expr *target) template struct QV4::JIT::Unop<QV4::JIT::Assembler<DefaultAssemblerTargetConfiguration>>; #if defined(V4_BOOTSTRAP) template struct QV4::JIT::Unop<QV4::JIT::Assembler<AssemblerTargetConfiguration<JSC::MacroAssemblerARMv7, NoOperatingSystemSpecialization>>>; +template struct QV4::JIT::Unop<QV4::JIT::Assembler<AssemblerTargetConfiguration<JSC::MacroAssemblerARM64, NoOperatingSystemSpecialization>>>; #endif #endif |