From f327c822961f2016aa5898efc43bdf4610cbabb8 Mon Sep 17 00:00:00 2001 From: Phil Ringnalda Date: Mon, 1 Jul 2013 23:06:49 -0700 Subject: [PATCH] Backed out efc4b8a23cd7:12e8fc56b5eb (bug 876064) for asm.js test failures --- js/src/ion/BaselineCompiler.cpp | 18 ++++--- js/src/ion/BaselineCompiler.h | 4 +- js/src/ion/CodeGenerator.cpp | 10 ++-- js/src/ion/arm/CodeGenerator-arm.cpp | 17 ++++-- js/src/ion/arm/CodeGenerator-arm.h | 4 +- js/src/ion/shared/Assembler-shared.h | 16 ++---- .../ion/shared/CodeGenerator-x86-shared.cpp | 18 +++++-- js/src/ion/shared/CodeGenerator-x86-shared.h | 4 +- js/src/ion/shared/MacroAssembler-x86-shared.h | 25 +++++---- js/src/ion/x64/MacroAssembler-x64.cpp | 53 ------------------- js/src/ion/x64/MacroAssembler-x64.h | 26 ++++----- js/src/ion/x86/MacroAssembler-x86.cpp | 21 +++----- js/src/ion/x86/MacroAssembler-x86.h | 4 +- 13 files changed, 87 insertions(+), 133 deletions(-) diff --git a/js/src/ion/BaselineCompiler.cpp b/js/src/ion/BaselineCompiler.cpp index 05ae96cbb536..2940551e1bf0 100644 --- a/js/src/ion/BaselineCompiler.cpp +++ b/js/src/ion/BaselineCompiler.cpp @@ -22,7 +22,11 @@ using namespace js; using namespace js::ion; BaselineCompiler::BaselineCompiler(JSContext *cx, HandleScript script) - : BaselineCompilerSpecific(cx, script) + : BaselineCompilerSpecific(cx, script), + return_(new HeapLabel()) +#ifdef JSGC_GENERATIONAL + , postBarrierSlot_(new HeapLabel()) +#endif { } @@ -257,7 +261,7 @@ BaselineCompiler::emitPrologue() bool BaselineCompiler::emitEpilogue() { - masm.bind(&return_); + masm.bind(return_); // Pop SPS frame if necessary emitSPSPop(); @@ -279,7 +283,7 @@ BaselineCompiler::emitEpilogue() bool BaselineCompiler::emitOutOfLinePostBarrierSlot() { - masm.bind(&postBarrierSlot_); + masm.bind(postBarrierSlot_); Register objReg = R2.scratchReg(); GeneralRegisterSet regs(GeneralRegisterSet::All()); @@ -342,7 +346,7 @@ BaselineCompiler::emitDebugPrologue() masm.branchTest32(Assembler::Zero, ReturnReg, ReturnReg, &done); { masm.loadValue(frame.addressOfReturnValue(), JSReturnOperand); - masm.jump(&return_); + masm.jump(return_); } masm.bind(&done); return true; @@ -1820,7 +1824,7 @@ BaselineCompiler::emit_JSOP_SETALIASEDVAR() masm.branchPtr(Assembler::Below, objReg, ImmWord(nursery.heapEnd()), &skipBarrier); masm.bind(&isTenured); - masm.call(&postBarrierSlot_); + masm.call(postBarrierSlot_); masm.bind(&skipBarrier); #endif @@ -2485,7 +2489,7 @@ BaselineCompiler::emit_JSOP_DEBUGGER() masm.branchTest32(Assembler::Zero, ReturnReg, ReturnReg, &done); { masm.loadValue(frame.addressOfReturnValue(), JSReturnOperand); - masm.jump(&return_); + masm.jump(return_); } masm.bind(&done); return true; @@ -2518,7 +2522,7 @@ BaselineCompiler::emitReturn() if (JSOp(*pc) != JSOP_STOP) { // JSOP_STOP is immediately followed by the return label, so we don't // need a jump. - masm.jump(&return_); + masm.jump(return_); } return true; diff --git a/js/src/ion/BaselineCompiler.h b/js/src/ion/BaselineCompiler.h index 455cd97e059b..35a17e19bab6 100644 --- a/js/src/ion/BaselineCompiler.h +++ b/js/src/ion/BaselineCompiler.h @@ -184,9 +184,9 @@ namespace ion { class BaselineCompiler : public BaselineCompilerSpecific { FixedList