From 52e58112ef4ed773253b74b17cdddee9cd6de0e0 Mon Sep 17 00:00:00 2001 From: Hannes Verschore Date: Fri, 29 Jul 2016 16:53:48 +0200 Subject: [PATCH] Bug 1289054 - Part 2: Implement the 64bit variant of AsmJSParameter on arm, r=sstangl --- js/src/jit/Lowering.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/js/src/jit/Lowering.cpp b/js/src/jit/Lowering.cpp index 012af89baf7f..d8fdef8f754d 100644 --- a/js/src/jit/Lowering.cpp +++ b/js/src/jit/Lowering.cpp @@ -4110,8 +4110,18 @@ LIRGenerator::visitAsmJSParameter(MAsmJSParameter* ins) { ABIArg abi = ins->abi(); if (abi.argInRegister()) { +#if defined(JS_NUNBOX32) + if (abi.isGeneralRegPair()) { + defineInt64Fixed(new(alloc()) LAsmJSParameterI64, ins, + LInt64Allocation(LAllocation(AnyRegister(abi.gpr64().high)), + LAllocation(AnyRegister(abi.gpr64().low)))); + return; + } +#endif defineFixed(new(alloc()) LAsmJSParameter, ins, LAllocation(abi.reg())); - } else if (ins->type() == MIRType::Int64) { + return; + } + if (ins->type() == MIRType::Int64) { MOZ_ASSERT(!abi.argInRegister()); defineInt64Fixed(new(alloc()) LAsmJSParameterI64, ins, #if defined(JS_NUNBOX32)