--- old/src/share/vm/gc/g1/g1ConcurrentMark.inline.hpp 2016-09-13 11:46:27.945492008 +0200 +++ new/src/share/vm/gc/g1/g1ConcurrentMark.inline.hpp 2016-09-13 11:46:27.799487462 +0200 @@ -91,7 +91,9 @@ #ifndef PRODUCT template -inline void G1CMMarkStack::iterate(Fn fn) { +inline void G1CMMarkStack::iterate(Fn fn) const { + assert_at_safepoint(true); + size_t num_chunks = 0; OopChunk* cur = _chunk_list; @@ -102,7 +104,7 @@ if (cur->data[i] == NULL) { break; } - fn((oop)cur->data[i]); + fn(cur->data[i]); } cur = cur->next; num_chunks++;