diff options
author | Simon Hausmann <simon.hausmann@qt.io> | 2017-02-09 10:25:08 +0100 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@qt.io> | 2017-02-10 04:38:15 +0000 |
commit | 705a2780743a01cb9a1032fca8c1f942b50e5a0a (patch) | |
tree | d574f1164e9bce637e63468a02132309a95af2e3 /src/qml/jit | |
parent | 48da4da700983b62e7a0e660f2a6b2cec0ab9bb2 (diff) |
Prospective fix for native ARMv7 and ARM64 builds
Don't try to instantiate the presumed "cross-assembler" twice, and also
exclude the Yarr JIT from the devtools build. It requires a loadPtr
enabled assembler (disabled in V4_BOOTSTRAP builds) and we don't need
the regexp engine.
Change-Id: I3f36b32decdbf51133b8fef641f5630c5f5102b1
Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'src/qml/jit')
-rw-r--r-- | src/qml/jit/qv4assembler.cpp | 4 | ||||
-rw-r--r-- | src/qml/jit/qv4binop.cpp | 4 | ||||
-rw-r--r-- | src/qml/jit/qv4unop.cpp | 4 |
3 files changed, 12 insertions, 0 deletions
diff --git a/src/qml/jit/qv4assembler.cpp b/src/qml/jit/qv4assembler.cpp index 017bf0907f..a2cb56abbe 100644 --- a/src/qml/jit/qv4assembler.cpp +++ b/src/qml/jit/qv4assembler.cpp @@ -701,8 +701,12 @@ JSC::MacroAssemblerCodeRef Assembler<TargetConfiguration>::link(int *codeSize) template class QV4::JIT::Assembler<DefaultAssemblerTargetConfiguration>; #if defined(V4_BOOTSTRAP) +#if !CPU(ARM_THUMB2) template class QV4::JIT::Assembler<AssemblerTargetConfiguration<JSC::MacroAssemblerARMv7, NoOperatingSystemSpecialization>>; +#endif +#if !CPU(ARM64) template class QV4::JIT::Assembler<AssemblerTargetConfiguration<JSC::MacroAssemblerARM64, NoOperatingSystemSpecialization>>; #endif +#endif #endif diff --git a/src/qml/jit/qv4binop.cpp b/src/qml/jit/qv4binop.cpp index 201724df9f..6d20a4e042 100644 --- a/src/qml/jit/qv4binop.cpp +++ b/src/qml/jit/qv4binop.cpp @@ -649,9 +649,13 @@ typename JITAssembler::Jump Binop<JITAssembler>::genInlineBinop(IR::Expr *leftSo template struct QV4::JIT::Binop<QV4::JIT::Assembler<DefaultAssemblerTargetConfiguration>>; #if defined(V4_BOOTSTRAP) +#if !CPU(ARM_THUMB2) template struct QV4::JIT::Binop<QV4::JIT::Assembler<AssemblerTargetConfiguration<JSC::MacroAssemblerARMv7, NoOperatingSystemSpecialization>>>; +#endif +#if !CPU(ARM64) template struct QV4::JIT::Binop<QV4::JIT::Assembler<AssemblerTargetConfiguration<JSC::MacroAssemblerARM64, NoOperatingSystemSpecialization>>>; #endif +#endif } // end of namespace JIT } // end of namespace QV4 diff --git a/src/qml/jit/qv4unop.cpp b/src/qml/jit/qv4unop.cpp index d60780c2bb..76c6457d67 100644 --- a/src/qml/jit/qv4unop.cpp +++ b/src/qml/jit/qv4unop.cpp @@ -146,8 +146,12 @@ void Unop<JITAssembler>::generateCompl(IR::Expr *source, IR::Expr *target) template struct QV4::JIT::Unop<QV4::JIT::Assembler<DefaultAssemblerTargetConfiguration>>; #if defined(V4_BOOTSTRAP) +#if !CPU(ARM_THUMB2) template struct QV4::JIT::Unop<QV4::JIT::Assembler<AssemblerTargetConfiguration<JSC::MacroAssemblerARMv7, NoOperatingSystemSpecialization>>>; +#endif +#if !CPU(ARM64) template struct QV4::JIT::Unop<QV4::JIT::Assembler<AssemblerTargetConfiguration<JSC::MacroAssemblerARM64, NoOperatingSystemSpecialization>>>; #endif +#endif #endif |