Bug 1289054 - Part 2: Implement the 64bit variant of AsmJSParameter on arm, r=sstangl

This commit is contained in:
Hannes Verschore 2016-07-29 16:53:48 +02:00
Родитель e16e414c32
Коммит 52e58112ef
1 изменённых файлов: 11 добавлений и 1 удалений

Просмотреть файл

@ -4110,8 +4110,18 @@ LIRGenerator::visitAsmJSParameter(MAsmJSParameter* ins)
{ {
ABIArg abi = ins->abi(); ABIArg abi = ins->abi();
if (abi.argInRegister()) { 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())); defineFixed(new(alloc()) LAsmJSParameter, ins, LAllocation(abi.reg()));
} else if (ins->type() == MIRType::Int64) { return;
}
if (ins->type() == MIRType::Int64) {
MOZ_ASSERT(!abi.argInRegister()); MOZ_ASSERT(!abi.argInRegister());
defineInt64Fixed(new(alloc()) LAsmJSParameterI64, ins, defineInt64Fixed(new(alloc()) LAsmJSParameterI64, ins,
#if defined(JS_NUNBOX32) #if defined(JS_NUNBOX32)