summaryrefslogtreecommitdiffstats
path: root/js
diff options
context:
space:
mode:
authorMatt A. Tobin <email@mattatobin.com>2020-02-28 17:58:46 -0500
committerMatt A. Tobin <email@mattatobin.com>2020-02-28 17:58:46 -0500
commit6a3d5769d01ec1a8dd56ea79aec2df91b801ce02 (patch)
tree79e44798b532d24d205822e36df1912ea6f2e4db /js
parent1d86d378281ebd519442ff11b703081444a12169 (diff)
downloadUXP-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.cpp13
-rw-r--r--js/src/jit/ExecutableAllocator.h7
-rw-r--r--js/src/jit/arm/Architecture-arm.h11
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) |