Bug 1184349 - Add lr to SavedNonVolatileRegisters on ARM64. r=efaust
authorSean Stangl <sstangl@mozilla.com>
Wed, 15 Jul 2015 15:27:41 -0700
changeset 253115 a7689cb4de02d0ea70c5050f5aaf8a023a773ecb
parent 253114 fcc104327dce879f9f7c7b193c528cf3795bcb14
child 253116 613f8e602f8bf976c8aedfca09bb08e6a2d5a525
push id29061
push userryanvm@gmail.com
push dateThu, 16 Jul 2015 18:53:45 +0000
treeherdermozilla-central@a0f4a688433d [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersefaust
bugs1184349
milestone42.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1184349 - Add lr to SavedNonVolatileRegisters on ARM64. r=efaust
js/src/jit/RegisterSets.h
--- a/js/src/jit/RegisterSets.h
+++ b/js/src/jit/RegisterSets.h
@@ -1254,19 +1254,21 @@ SavedNonVolatileRegisters(AllocatableGen
     LiveGeneralRegisterSet result;
 
     for (GeneralRegisterIterator iter(GeneralRegisterSet::NonVolatile()); iter.more(); iter++) {
         Register reg = *iter;
         if (!unused.has(reg))
             result.add(reg);
     }
 
-    // ARM and MIPS require an additional register to be saved, if calls can be made.
+    // Some platforms require the link register to be saved, if calls can be made.
 #if defined(JS_CODEGEN_ARM)
     result.add(Register::FromCode(Registers::lr));
+#elif defined(JS_CODEGEN_ARM64)
+    result.add(Register::FromCode(Registers::lr));
 #elif defined(JS_CODEGEN_MIPS)
     result.add(Register::FromCode(Registers::ra));
 #endif
 
     return result;
 }
 
 } // namespace jit