--- old/src/share/vm/gc/shared/generation.cpp 2016-12-20 16:32:04.946415905 -0500 +++ new/src/share/vm/gc/shared/generation.cpp 2016-12-20 16:32:03.690344054 -0500 @@ -320,16 +320,19 @@ } class AdjustPointersClosure: public SpaceClosure { + MarkSweep* _ms; public: + AdjustPointersClosure(MarkSweep *ms) : _ms(ms) {} + ~AdjustPointersClosure() {} void do_space(Space* sp) { - sp->adjust_pointers(); + sp->adjust_pointers(_ms); } }; -void Generation::adjust_pointers() { +void Generation::adjust_pointers(MarkSweep *ms) { // Note that this is done over all spaces, not just the compactible // ones. - AdjustPointersClosure blk; + AdjustPointersClosure blk(ms); space_iterate(&blk, true); }