Bug 1226816: SharedStubs - Don't enable the call scripted get prop shared stub in ionmonkey yet, r=jandem

This commit is contained in:
Hannes Verschore 2015-12-01 18:11:36 +01:00
Родитель e4fd35820f
Коммит d08b0cdd80
3 изменённых файлов: 17 добавлений и 4 удалений

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

@ -0,0 +1,11 @@
// |jit-test| error: InternalError
x = 1;
x;
function g(y) {}
g(this);
x = /x/;
function f() {
f(x.flags);
}
f();

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

@ -2552,7 +2552,7 @@ TryAttachNativeGetAccessorPropStub(JSContext* cx, HandleScript script, jsbytecod
isTemporarilyUnoptimizable);
// Try handling scripted getters.
if (cacheableCall && isScripted && !isDOMProxy) {
if (cacheableCall && isScripted && !isDOMProxy && engine == ICStubCompiler::Engine::Baseline) {
RootedFunction callee(cx, &shape->getterObject()->as<JSFunction>());
MOZ_ASSERT(callee->hasScript());
@ -2565,7 +2565,7 @@ TryAttachNativeGetAccessorPropStub(JSContext* cx, HandleScript script, jsbytecod
JitSpew(JitSpew_BaselineIC, " Generating GetProp(NativeObj/ScriptedGetter %s:%" PRIuSIZE ") stub",
callee->nonLazyScript()->filename(), callee->nonLazyScript()->lineno());
ICGetProp_CallScripted::Compiler compiler(cx, engine, monitorStub, obj, holder, callee,
ICGetProp_CallScripted::Compiler compiler(cx, monitorStub, obj, holder, callee,
script->pcToOffset(pc));
ICStub* newStub = compiler.getStub(compiler.getStubSpace(script));
if (!newStub)
@ -3507,6 +3507,8 @@ ICGetPropNativeDoesNotExistCompiler::generateStubCode(MacroAssembler& masm)
bool
ICGetProp_CallScripted::Compiler::generateStubCode(MacroAssembler& masm)
{
MOZ_ASSERT(engine_ == Engine::Baseline);
Label failure;
Label failureLeaveStubFrame;
AllocatableGeneralRegisterSet regs(availableGeneralRegs(1));

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

@ -2931,9 +2931,9 @@ class ICGetProp_CallScripted : public ICGetPropCallGetter
bool generateStubCode(MacroAssembler& masm);
public:
Compiler(JSContext* cx, Engine engine, ICStub* firstMonitorStub, HandleObject obj,
Compiler(JSContext* cx, ICStub* firstMonitorStub, HandleObject obj,
HandleObject holder, HandleFunction getter, uint32_t pcOffset)
: ICGetPropCallGetter::Compiler(cx, ICStub::GetProp_CallScripted, engine,
: ICGetPropCallGetter::Compiler(cx, ICStub::GetProp_CallScripted, Engine::Baseline,
firstMonitorStub, obj, holder,
getter, pcOffset, /* outerClass = */ nullptr)
{}