Bug 1740745 - Part 3: Remove runtime check from JIT code r=jandem

Differential Revision: https://phabricator.services.mozilla.com/D130997
This commit is contained in:
Jon Coppeard 2021-11-19 15:42:03 +00:00
parent 8a9335e950
commit 8ff6f25a7d
2 changed files with 0 additions and 16 deletions

View File

@ -246,7 +246,6 @@ static_assert((FirstArenaAdjustmentBits % MarkBitmapWordBits) == 0);
constexpr size_t FirstArenaAdjustmentWords =
FirstArenaAdjustmentBits / MarkBitmapWordBits;
const size_t ChunkRuntimeOffset = offsetof(ChunkBase, runtime);
const size_t ChunkStoreBufferOffset = offsetof(ChunkBase, storeBuffer);
const size_t ChunkMarkBitmapOffset = offsetof(TenuredChunkBase, markBits);

View File

@ -4011,21 +4011,6 @@ void MacroAssembler::emitPreBarrierFastPath(JSRuntime* rt, MIRType type,
#endif
}
// If it's a permanent atom or symbol from a parent runtime we don't
// need to barrier it.
if (type == MIRType::Value || type == MIRType::String) {
branchPtr(Assembler::NotEqual, Address(temp2, gc::ChunkRuntimeOffset),
ImmPtr(rt), noBarrier);
} else {
#ifdef DEBUG
Label thisRuntime;
branchPtr(Assembler::Equal, Address(temp2, gc::ChunkRuntimeOffset),
ImmPtr(rt), &thisRuntime);
assumeUnreachable("JIT pre-barrier: unexpected runtime");
bind(&thisRuntime);
#endif
}
// Determine the bit index and store in temp1.
//
// bit = (addr & js::gc::ChunkMask) / js::gc::CellBytesPerMarkBit +