diff options
author | trav90 <travawine@protonmail.ch> | 2018-04-07 12:24:30 -0500 |
---|---|---|
committer | trav90 <travawine@protonmail.ch> | 2018-04-07 13:11:38 -0500 |
commit | bbd4001cb261cc54e2adf804ea7cbeb09078d7d9 (patch) | |
tree | 581523beea01c0b144051caebb6cb8a95539717a /js/src/jit/arm64 | |
parent | d960419686462067cb5745dcd1ad264abe0b1485 (diff) | |
download | UXP-bbd4001cb261cc54e2adf804ea7cbeb09078d7d9.tar UXP-bbd4001cb261cc54e2adf804ea7cbeb09078d7d9.tar.gz UXP-bbd4001cb261cc54e2adf804ea7cbeb09078d7d9.tar.lz UXP-bbd4001cb261cc54e2adf804ea7cbeb09078d7d9.tar.xz UXP-bbd4001cb261cc54e2adf804ea7cbeb09078d7d9.zip |
Fix Value::isGCThing footgun, stop returning true for NullValue
Diffstat (limited to 'js/src/jit/arm64')
-rw-r--r-- | js/src/jit/arm64/MacroAssembler-arm64.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/js/src/jit/arm64/MacroAssembler-arm64.h b/js/src/jit/arm64/MacroAssembler-arm64.h index b95831443..c21e2fd66 100644 --- a/js/src/jit/arm64/MacroAssembler-arm64.h +++ b/js/src/jit/arm64/MacroAssembler-arm64.h @@ -306,7 +306,7 @@ class MacroAssemblerCompat : public vixl::MacroAssembler void pushValue(const Value& val) { vixl::UseScratchRegisterScope temps(this); const Register scratch = temps.AcquireX().asUnsized(); - if (val.isMarkable()) { + if (val.isGCThing()) { BufferOffset load = movePatchablePtr(ImmPtr(val.bitsAsPunboxPointer()), scratch); writeDataRelocation(val, load); push(scratch); @@ -349,7 +349,7 @@ class MacroAssemblerCompat : public vixl::MacroAssembler } } void moveValue(const Value& val, Register dest) { - if (val.isMarkable()) { + if (val.isGCThing()) { BufferOffset load = movePatchablePtr(ImmPtr(val.bitsAsPunboxPointer()), dest); writeDataRelocation(val, load); } else { @@ -1835,8 +1835,8 @@ class MacroAssemblerCompat : public vixl::MacroAssembler dataRelocations_.writeUnsigned(load.getOffset()); } void writeDataRelocation(const Value& val, BufferOffset load) { - if (val.isMarkable()) { - gc::Cell* cell = val.toMarkablePointer(); + if (val.isGCThing()) { + gc::Cell* cell = val.toGCThing(); if (cell && gc::IsInsideNursery(cell)) embedsNurseryPointers_ = true; dataRelocations_.writeUnsigned(load.getOffset()); |