зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1226816: SharedStubs - Don't enable the call scripted get prop shared stub in ionmonkey yet, r=jandem
This commit is contained in:
Родитель
e4fd35820f
Коммит
d08b0cdd80
|
@ -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)
|
||||
{}
|
||||
|
|
Загрузка…
Ссылка в новой задаче