Fix assert from embedding NULLs (no bug, r=sstangl).

This commit is contained in:
David Anderson 2012-03-07 16:27:06 -08:00
parent 48711b568d
commit f095c332fa
2 changed files with 4 additions and 4 deletions

View File

@ -706,7 +706,7 @@ class MacroAssemblerARMCompat : public MacroAssemblerARM
jsval_layout jv = JSVAL_TO_IMPL(val);
ma_mov(Imm32(jv.s.tag), lr);
ma_str(lr, Address(dest.base, dest.offset + 4));
if (val.isGCThing())
if (val.isMarkable())
ma_mov(ImmGCPtr(reinterpret_cast<gc::Cell *>(val.toGCThing())), lr);
else
ma_mov(Imm32(jv.s.payload.i32), lr);
@ -728,7 +728,7 @@ class MacroAssemblerARMCompat : public MacroAssemblerARM
void pushValue(const Value &val) {
jsval_layout jv = JSVAL_TO_IMPL(val);
push(Imm32(jv.s.tag));
if (val.isGCThing())
if (val.isMarkable())
push(ImmGCPtr(reinterpret_cast<gc::Cell *>(val.toGCThing())));
else
push(Imm32(jv.s.payload.i32));

View File

@ -121,7 +121,7 @@ class MacroAssemblerX86 : public MacroAssemblerX86Shared
void moveValue(const Value &val, Register type, Register data) {
jsval_layout jv = JSVAL_TO_IMPL(val);
movl(Imm32(jv.s.tag), type);
if (val.isGCThing())
if (val.isMarkable())
movl(ImmGCPtr(reinterpret_cast<gc::Cell *>(val.toGCThing())), data);
else
movl(Imm32(jv.s.payload.i32), data);
@ -183,7 +183,7 @@ class MacroAssemblerX86 : public MacroAssemblerX86Shared
void pushValue(const Value &val) {
jsval_layout jv = JSVAL_TO_IMPL(val);
push(Imm32(jv.s.tag));
if (val.isGCThing())
if (val.isMarkable())
push(ImmGCPtr(reinterpret_cast<gc::Cell *>(val.toGCThing())));
else
push(Imm32(jv.s.payload.i32));