Lines Matching refs:wb

77         ReferenceInfo(ReferenceKind kind, WriteBarrier * const wb) : _kind(kind), _wb(wb) {}
85 WriteBarrier &wb() const { return *_wb; }
263 inline void scan_reference_repair_write_barrier(const ReferenceInfo &info, void **reference, WriteBarrier *wb) {
272 wb->mark_card(reference);
282 wb->mark_card(reference);
309 inline void scan_range_repair_write_barrier(const ReferenceInfo &info, const Range &range, WriteBarrier *wb) {
314 scan_reference_repair_write_barrier(info, slots++, wb);
329 static void scan_exact_range(const Range &range, WriteBarrier *wb, void *arg) {
331 ReferenceInfo info(kExactHeapReference, wb);
333 scanner->scan_range_repair_write_barrier(info, range, wb);
338 static void scan_all_pointers_range(const Range &range, WriteBarrier *wb, void *arg) {
340 ReferenceInfo info(kAllPointersHeapReference, wb);
342 scanner->scan_range_repair_write_barrier(info, range, wb);
347 static void scan_conservative_range(const Range &range, WriteBarrier *wb, void *arg) {
349 ReferenceInfo info(kConservativeHeapReference, wb);
351 scanner->scan_range_repair_write_barrier(info, range, wb);
360 WriteBarrier *wb = &subzone->write_barrier();
362 Configuration::ScanningStrategy::scan_object(*this, block, size, layout, layout_map_for_block(block), wb);
364 Configuration::ScanningStrategy::scan_block(*this, block, size, layout, wb);
372 WriteBarrier *wb = &large->write_barrier();
374 Configuration::ScanningStrategy::scan_object(*this, block, size, layout, layout_map_for_block(block), wb);
376 Configuration::ScanningStrategy::scan_block(*this, block, size, layout, wb);
544 inline static void scan_block(ReferenceIterator &scanner, void *block, usword_t size, usword_t layout, WriteBarrier *wb) {
547 Configuration::OriginalScanningStrategy::scan_block(scanner, block, size, layout, wb);
554 inline static void scan_object(ReferenceIterator &scanner, void *object, usword_t size, usword_t layout, const unsigned char* map, WriteBarrier *wb) {
557 Configuration::OriginalScanningStrategy::scan_object(scanner, object, size, layout, map, wb);
688 inline static void scan_block(ReferenceIterator &scanner, void *block, usword_t size, usword_t layout, WriteBarrier *wb) {
691 ReferenceInfo info(kAllPointersHeapReference, wb);
694 ReferenceInfo info(kConservativeHeapReference, wb);
697 ReferenceInfo indirect_info(kConservativeHeapIndirectReference, wb);
711 inline static void scan_object(ReferenceIterator &scanner, void *object, usword_t size, usword_t layout, const unsigned char* map, WriteBarrier *wb) __attribute__((always_inline)) {
717 ReferenceInfo info(layout & AUTO_POINTERS_ONLY ? kAllPointersHeapReference : kConservativeHeapReference, wb);
719 ReferenceInfo indirect_info(kConservativeHeapIndirectReference, wb);
725 ReferenceInfo exactInfo(kExactHeapReference, wb);
743 ReferenceInfo remainderInfo((layout & AUTO_POINTERS_ONLY) ? kAllPointersHeapReference : kConservativeHeapReference, wb);
746 ReferenceInfo indirect_info(kConservativeHeapIndirectReference, wb);
772 inline static void scan_block(ReferenceIterator &scanner, void *block, usword_t size, usword_t layout, WriteBarrier *wb) {
773 wb->scan_marked_ranges(block, size, layout == AUTO_POINTERS_ONLY ? &ReferenceIterator::scan_all_pointers_range : &ReferenceIterator::scan_conservative_range, &scanner);
781 inline static void scan_object(ReferenceIterator &scanner, void *object, usword_t size, usword_t layout, const unsigned char* map, WriteBarrier *wb) {
786 wb->scan_marked_ranges(object, size, (layout & AUTO_POINTERS_ONLY) ? &ReferenceIterator::scan_all_pointers_range : &ReferenceIterator::scan_conservative_range, &scanner);
804 wb->scan_marked_ranges(slots, run * sizeof(void*), &ReferenceIterator::scan_exact_range, &scanner);
816 wb->scan_marked_ranges(slots, (end - slots) * sizeof(void*),