[tor-commits] [tor-browser] 191/311: Bug 1757476: Align spills of ARM64 double registers r=jseward a=dmeehan

gitolite role git at cupani.torproject.org
Tue Apr 26 15:29:51 UTC 2022


This is an automated email from the git hooks/post-receive script.

pierov pushed a commit to branch geckoview-99.0.1-11.0-1
in repository tor-browser.

commit 1342c16cd70b107a1a2d53b5145f9eabb988b862
Author: Iain Ireland <iireland at mozilla.com>
AuthorDate: Wed Mar 16 14:02:10 2022 +0000

    Bug 1757476: Align spills of ARM64 double registers r=jseward a=dmeehan
    
    Differential Revision: https://phabricator.services.mozilla.com/D140372
---
 js/src/jit/JitFrames.cpp | 6 ++++--
 js/src/jit/JitFrames.h   | 4 ++--
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/js/src/jit/JitFrames.cpp b/js/src/jit/JitFrames.cpp
index 3d5612a60e515..ef8aa1068a505 100644
--- a/js/src/jit/JitFrames.cpp
+++ b/js/src/jit/JitFrames.cpp
@@ -1024,13 +1024,15 @@ static void TraceIonICCallFrame(JSTracer* trc, const JSJitFrameIter& frame) {
   TraceRoot(trc, layout->stubCode(), "ion-ic-call-code");
 }
 
-#ifdef JS_CODEGEN_MIPS32
+#if defined(JS_CODEGEN_ARM64) || defined(JS_CODEGEN_MIPS32)
 uint8_t* alignDoubleSpill(uint8_t* pointer) {
   uintptr_t address = reinterpret_cast<uintptr_t>(pointer);
-  address &= ~(ABIStackAlignment - 1);
+  address &= ~(uintptr_t(ABIStackAlignment) - 1);
   return reinterpret_cast<uint8_t*>(address);
 }
+#endif
 
+#ifdef JS_CODEGEN_MIPS32
 static void TraceJitExitFrameCopiedArguments(JSTracer* trc,
                                              const VMFunctionData* f,
                                              ExitFooterFrame* footer) {
diff --git a/js/src/jit/JitFrames.h b/js/src/jit/JitFrames.h
index a290a422efb99..a08a93048e30b 100644
--- a/js/src/jit/JitFrames.h
+++ b/js/src/jit/JitFrames.h
@@ -207,11 +207,11 @@ static inline uint32_t MakeFrameDescriptor(uint32_t frameSize, FrameType type,
 // Returns the JSScript associated with the topmost JIT frame.
 JSScript* GetTopJitJSScript(JSContext* cx);
 
-#ifdef JS_CODEGEN_MIPS32
+#if defined(JS_CODEGEN_MIPS32) || defined(JS_CODEGEN_ARM64)
 uint8_t* alignDoubleSpill(uint8_t* pointer);
 #else
 inline uint8_t* alignDoubleSpill(uint8_t* pointer) {
-  // This is NO-OP on non-MIPS platforms.
+  // This is a no-op on most platforms.
   return pointer;
 }
 #endif

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the tor-commits mailing list