Bug 1498386 - Implement LIRGeneratorARM64 register helpers. Passes auto-regress/bug1268034.js. r=mgaudet
authorSean Stangl <sstangl@mozilla.com>
Thu, 11 Oct 2018 14:22:00 +0300
changeset 499994 c8d29a3d6554c10d9250196700f7a1acd5ea6a73
parent 499993 f7339d6aa94f5f9442d47aebab625a4fe3ef0f4e
child 499995 bd4c433b0e5000a35f1b8f1694038d6f48f5abfe
push id1864
push userffxbld-merge
push dateMon, 03 Dec 2018 15:51:40 +0000
treeherdermozilla-release@f040763d99ad [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmgaudet
bugs1498386, 1268034
milestone64.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 1498386 - Implement LIRGeneratorARM64 register helpers. Passes auto-regress/bug1268034.js. r=mgaudet
js/src/jit/arm64/Lowering-arm64.cpp
--- a/js/src/jit/arm64/Lowering-arm64.cpp
+++ b/js/src/jit/arm64/Lowering-arm64.cpp
@@ -14,35 +14,38 @@
 using namespace js;
 using namespace js::jit;
 
 using mozilla::FloorLog2;
 
 LBoxAllocation
 LIRGeneratorARM64::useBoxFixed(MDefinition* mir, Register reg1, Register, bool useAtStart)
 {
-    MOZ_CRASH("useBoxFixed");
+    MOZ_ASSERT(mir->type() == MIRType::Value);
+
+    ensureDefined(mir);
+    return LBoxAllocation(LUse(reg1, mir->virtualRegister(), useAtStart));
 }
 
 LAllocation
 LIRGeneratorARM64::useByteOpRegister(MDefinition* mir)
 {
-    MOZ_CRASH("useByteOpRegister");
+    return useRegister(mir);
 }
 
 LAllocation
 LIRGeneratorARM64::useByteOpRegisterAtStart(MDefinition* mir)
 {
-    MOZ_CRASH("useByteOpRegister");
+    return useRegisterAtStart(mir);
 }
 
 LAllocation
 LIRGeneratorARM64::useByteOpRegisterOrNonDoubleConstant(MDefinition* mir)
 {
-    MOZ_CRASH("useByteOpRegisterOrNonDoubleConstant");
+    return useRegisterOrNonDoubleConstant(mir);
 }
 
 void
 LIRGenerator::visitBox(MBox* box)
 {
     MDefinition* opd = box->getOperand(0);
 
     // If the operand is a constant, emit near its uses.