зеркало из https://github.com/mozilla/gecko-dev.git
Bug 800568 - Remove spurious use of potentially-nonexistant pushedTypes in callGetter IC code. (r=nbp)
This commit is contained in:
Родитель
6f256d0cfc
Коммит
0feee0d1c3
|
@ -273,7 +273,7 @@ struct GetNativePropertyStub
|
||||||
bool generateCallGetter(JSContext *cx, MacroAssembler &masm, JSObject *obj,
|
bool generateCallGetter(JSContext *cx, MacroAssembler &masm, JSObject *obj,
|
||||||
PropertyName *propName, JSObject *holder, const Shape *shape,
|
PropertyName *propName, JSObject *holder, const Shape *shape,
|
||||||
RegisterSet &liveRegs, Register object, TypedOrValueRegister output,
|
RegisterSet &liveRegs, Register object, TypedOrValueRegister output,
|
||||||
types::TypeSet *outputTypes, void *returnAddr, jsbytecode *pc,
|
void *returnAddr, jsbytecode *pc,
|
||||||
RepatchLabel *failures, Label *nonRepatchFailures = NULL)
|
RepatchLabel *failures, Label *nonRepatchFailures = NULL)
|
||||||
{
|
{
|
||||||
// Initial shape check.
|
// Initial shape check.
|
||||||
|
@ -585,13 +585,9 @@ IonCacheGetProperty::attachCallGetter(JSContext *cx, IonScript *ion, JSObject *o
|
||||||
// properly constructed.
|
// properly constructed.
|
||||||
masm.setFramePushed(ion->frameSize());
|
masm.setFramePushed(ion->frameSize());
|
||||||
|
|
||||||
// Generating a call getter may need the pushed typeset.
|
|
||||||
types::StackTypeSet *outputTypes = script->analysis()->pushedTypes(pc, 0);
|
|
||||||
|
|
||||||
GetNativePropertyStub getprop;
|
GetNativePropertyStub getprop;
|
||||||
if (!getprop.generateCallGetter(cx, masm, obj, name(), holder, shape, liveRegs,
|
if (!getprop.generateCallGetter(cx, masm, obj, name(), holder, shape, liveRegs,
|
||||||
object(), output(), outputTypes, returnAddr, pc,
|
object(), output(), returnAddr, pc, &failures))
|
||||||
&failures))
|
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче