From 5683b4cc235f3f336a6d810d5601e2d2586f0e6d Mon Sep 17 00:00:00 2001 From: Shu-yu Guo Date: Fri, 7 Aug 2015 15:14:04 -0700 Subject: [PATCH] Bug 1036574 - Revert horrible workaround in baseline IC for magic arg callee. (r=me) --- js/src/jit/BaselineIC.cpp | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/js/src/jit/BaselineIC.cpp b/js/src/jit/BaselineIC.cpp index a3d586db2886..d5326b848dd3 100644 --- a/js/src/jit/BaselineIC.cpp +++ b/js/src/jit/BaselineIC.cpp @@ -6572,20 +6572,8 @@ TryAttachMagicArgumentsGetPropStub(JSContext* cx, JSScript* script, ICGetProp_Fa // Unlike ICGetProp_ArgumentsLength, only magic argument stubs are // supported at the moment. ICStub* monitorStub = stub->fallbackMonitorStub()->firstMonitorStub(); - - // XXXshu the compiler really should be stack allocated, but stack - // allocating it causes the test_temporary_storage indexedDB test to - // fail on GCC 4.7-compiled ARMv6 optimized builds on Android 2.3 and - // below with a NotFoundError, despite that test never exercising this - // code. - // - // Instead of tracking down the GCC bug, I've opted to heap allocate - // instead. - ScopedJSDeletePtr compiler; - compiler = js_new(cx, monitorStub); - if (!compiler) - return false; - ICStub* newStub = compiler->getStub(compiler->getStubSpace(script)); + ICGetProp_ArgumentsCallee::Compiler compiler(cx, monitorStub); + ICStub* newStub = compiler.getStub(compiler.getStubSpace(script)); if (!newStub) return false; stub->addNewStub(newStub);