mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 1145426 - Fix compilation of unboxed object construction stubs on ARM and x86, r=jandem.
This commit is contained in:
parent
56501f194f
commit
ff9bd9440c
@ -176,8 +176,10 @@ UnboxedLayout::makeConstructorCode(JSContext *cx, HandleObjectGroup group)
|
||||
|
||||
Register payloadReg = masm.extractObject(valueOperand, scratch1);
|
||||
|
||||
if (!types->hasType(TypeSet::AnyObjectType()))
|
||||
masm.guardObjectType(payloadReg, types, scratch2, &failureStoreObject);
|
||||
if (!types->hasType(TypeSet::AnyObjectType())) {
|
||||
Register scratch = (payloadReg == scratch1) ? scratch2 : scratch1;
|
||||
masm.guardObjectType(payloadReg, types, scratch, &failureStoreObject);
|
||||
}
|
||||
|
||||
masm.storeUnboxedProperty(targetAddress, JSVAL_TYPE_OBJECT,
|
||||
TypedOrValueRegister(MIRType_Object,
|
||||
@ -207,7 +209,7 @@ UnboxedLayout::makeConstructorCode(JSContext *cx, HandleObjectGroup group)
|
||||
for (GeneralRegisterBackwardIterator iter(savedNonVolatileRegisters); iter.more(); ++iter)
|
||||
masm.Pop(*iter);
|
||||
|
||||
masm.ret();
|
||||
masm.abiret();
|
||||
|
||||
masm.bind(&failureStoreOther);
|
||||
|
||||
@ -241,7 +243,7 @@ UnboxedLayout::makeConstructorCode(JSContext *cx, HandleObjectGroup group)
|
||||
masm.jump(&done);
|
||||
|
||||
Linker linker(masm);
|
||||
AutoFlushICache afc("RegExp");
|
||||
AutoFlushICache afc("UnboxedObject");
|
||||
JitCode *code = linker.newCode<NoGC>(cx, OTHER_CODE);
|
||||
if (!code)
|
||||
return false;
|
||||
|
Loading…
Reference in New Issue
Block a user