blob: 902a5f268283267dcf876bea4ae1ab8e296711cb (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
commit 7371a080accd
Author: Lars T Hansen <lhansen@mozilla.com>
Date: Mon Mar 5 09:55:28 2018 +0100
Bug 1442583 - Properly initialize ARM64 icache flushing machinery. r=sstangl
--HG--
extra : rebase_source : 73b5921da1fa0a19d6072e35d09bd7b528bb6bfc
extra : intermediate-source : 19516efbbf6750ba04e11c7099586d5be2fe818f
extra : source : 4316cc82d6302edf839a4af6fcb815f0ffa9f65c
---
js/src/jit/ProcessExecutableMemory.cpp | 7 +++++++
1 file changed, 7 insertions(+)
diff --git js/src/jit/ProcessExecutableMemory.cpp js/src/jit/ProcessExecutableMemory.cpp
index e763a9d68dc17..8a6d50b6a7845 100644
--- js/src/jit/ProcessExecutableMemory.cpp
+++ js/src/jit/ProcessExecutableMemory.cpp
@@ -20,6 +20,9 @@
#include "jsutil.h"
#include "gc/Memory.h"
+#ifdef JS_CODEGEN_ARM64
+#include "jit/arm64/vixl/Cpu-vixl.h"
+#endif
#include "threading/LockGuard.h"
#include "threading/Mutex.h"
#include "util/Windows.h"
@@ -574,7 +577,13 @@ void js::jit::DeallocateExecutableMemory(void* addr, s
execMemory.deallocate(addr, bytes, /* decommit = */ true);
}
-bool js::jit::InitProcessExecutableMemory() { return execMemory.init(); }
+bool js::jit::InitProcessExecutableMemory() {
+#ifdef JS_CODEGEN_ARM64
+ // Initialize instruction cache flushing.
+ vixl::CPU::SetUp();
+#endif
+ return execMemory.init();
+}
void js::jit::ReleaseProcessExecutableMemory() { execMemory.release(); }
|