diff options
author | Matt A. Tobin <email@mattatobin.com> | 2020-02-28 17:58:46 -0500 |
---|---|---|
committer | Matt A. Tobin <email@mattatobin.com> | 2020-02-28 17:58:46 -0500 |
commit | 6a3d5769d01ec1a8dd56ea79aec2df91b801ce02 (patch) | |
tree | 79e44798b532d24d205822e36df1912ea6f2e4db /js | |
parent | 1d86d378281ebd519442ff11b703081444a12169 (diff) | |
download | UXP-6a3d5769d01ec1a8dd56ea79aec2df91b801ce02.tar UXP-6a3d5769d01ec1a8dd56ea79aec2df91b801ce02.tar.gz UXP-6a3d5769d01ec1a8dd56ea79aec2df91b801ce02.tar.lz UXP-6a3d5769d01ec1a8dd56ea79aec2df91b801ce02.tar.xz UXP-6a3d5769d01ec1a8dd56ea79aec2df91b801ce02.zip |
Issue #190 - Part 1: Remove XP_IOS conditional code
Diffstat (limited to 'js')
-rw-r--r-- | js/src/irregexp/NativeRegExpMacroAssembler.cpp | 13 | ||||
-rw-r--r-- | js/src/jit/ExecutableAllocator.h | 7 | ||||
-rw-r--r-- | js/src/jit/arm/Architecture-arm.h | 11 |
3 files changed, 3 insertions, 28 deletions
diff --git a/js/src/irregexp/NativeRegExpMacroAssembler.cpp b/js/src/irregexp/NativeRegExpMacroAssembler.cpp index 0fb507297..f452de6ba 100644 --- a/js/src/irregexp/NativeRegExpMacroAssembler.cpp +++ b/js/src/irregexp/NativeRegExpMacroAssembler.cpp @@ -132,14 +132,6 @@ NativeRegExpMacroAssembler::GenerateCode(JSContext* cx, bool match_only) pushedNonVolatileRegisters++; } -#if defined(XP_IOS) && defined(JS_CODEGEN_ARM) - // The stack is 4-byte aligned on iOS, force 8-byte alignment. - masm.movePtr(StackPointer, temp0); - masm.andPtr(Imm32(~7), StackPointer); - masm.push(temp0); - masm.push(temp0); -#endif - #ifndef JS_CODEGEN_X86 // The InputOutputData* is stored as an argument, save it on the stack // above the frame. @@ -406,11 +398,6 @@ NativeRegExpMacroAssembler::GenerateCode(JSContext* cx, bool match_only) masm.freeStack(frameSize); #endif -#if defined(XP_IOS) && defined(JS_CODEGEN_ARM) - masm.pop(temp0); - masm.movePtr(temp0, StackPointer); -#endif - // Restore non-volatile registers which were saved on entry. for (GeneralRegisterBackwardIterator iter(savedNonVolatileRegisters); iter.more(); ++iter) masm.Pop(*iter); diff --git a/js/src/jit/ExecutableAllocator.h b/js/src/jit/ExecutableAllocator.h index 30eccd12e..20f11f14f 100644 --- a/js/src/jit/ExecutableAllocator.h +++ b/js/src/jit/ExecutableAllocator.h @@ -69,7 +69,7 @@ extern "C" void sync_instruction_memory(caddr_t v, u_int len); #include <sys/cachectl.h> #endif -#if defined(JS_CODEGEN_ARM) && defined(XP_IOS) +#ifdef JS_CODEGEN_ARM #include <libkern/OSCacheControl.h> #endif @@ -256,11 +256,6 @@ class ExecutableAllocator { __clear_cache(code, reinterpret_cast<char*>(code) + size); } -#elif (defined(JS_CODEGEN_ARM) || defined(JS_CODEGEN_ARM64)) && defined(XP_IOS) - static void cacheFlush(void* code, size_t size) - { - sys_icache_invalidate(code, size); - } #elif defined(JS_CODEGEN_ARM) && (defined(__linux__) || defined(ANDROID)) && defined(__GNUC__) static void cacheFlush(void* code, size_t size) { diff --git a/js/src/jit/arm/Architecture-arm.h b/js/src/jit/arm/Architecture-arm.h index 5e3db5ae2..0c47c0250 100644 --- a/js/src/jit/arm/Architecture-arm.h +++ b/js/src/jit/arm/Architecture-arm.h @@ -17,7 +17,7 @@ // GCC versions 4.6 and above define __ARM_PCS_VFP to denote a hard-float // ABI target. The iOS toolchain doesn't define anything specific here, // but iOS always supports VFP. -#if defined(__ARM_PCS_VFP) || defined(XP_IOS) +#ifdef__ARM_PCS_VFP #define JS_CODEGEN_ARM_HARDFP #endif @@ -114,12 +114,7 @@ class Registers (1 << r0) | (1 << r1) | (1 << Registers::r2) | - (1 << Registers::r3) -#if defined(XP_IOS) - // per https://developer.apple.com/library/ios/documentation/Xcode/Conceptual/iPhoneOSABIReference/Articles/ARMv6FunctionCallingConventions.html#//apple_ref/doc/uid/TP40009021-SW4 - | (1 << Registers::r9) -#endif - ; + (1 << Registers::r3); static const SetType NonVolatileMask = (1 << Registers::r4) | @@ -127,9 +122,7 @@ class Registers (1 << Registers::r6) | (1 << Registers::r7) | (1 << Registers::r8) | -#if !defined(XP_IOS) (1 << Registers::r9) | -#endif (1 << Registers::r10) | (1 << Registers::r11) | (1 << Registers::r12) | |