17 lines
658 B
Diff
17 lines
658 B
Diff
diff -rup Architecture-arm.cpp.orig Architecture-arm.cpp
|
|
--- a/js/src/jit/arm/Architecture-arm.cpp
|
|
+++ b/js/src/jit/arm/Architecture-arm.cpp
|
|
@@ -531,7 +531,11 @@ void FlushExecutionContext() {
|
|
#ifndef JS_SIMULATOR_ARM
|
|
// Ensure that any instructions already in the pipeline are discarded and
|
|
// reloaded from the icache.
|
|
- asm volatile("isb\n" : : : "memory");
|
|
+# if defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__)
|
|
+ asm volatile("isb\n" : : : "memory");
|
|
+# else
|
|
+ asm volatile("mcr p15, 0, %0, c7, c5, 4" : : "r" (0) : "memory");
|
|
+# endif
|
|
#else
|
|
// We assume the icache flushing routines on other platforms take care of this
|
|
#endif
|