bool read() { if (!reader_.more()) return false; offset_ = reader_.readUnsigned(); extOffset_ = reader_.readUnsigned(); return true; }
static void TraceDataRelocations(JSTracer *trc, uint8 *buffer, CompactBufferReader &reader) { while (reader.more()) { size_t offset = reader.readUnsigned(); void **ptr = JSC::X86Assembler::getPointerRef(buffer + offset); // No barrier needed since these are constants. gc::MarkThingOrValueUnbarriered(trc, reinterpret_cast<uintptr_t *>(ptr), "imm-gc-word"); } }