--- old/src/share/vm/memory/strongRootsScope.cpp 2015-04-02 13:02:48.228246896 +0200 +++ new/src/share/vm/memory/strongRootsScope.cpp 2015-04-02 13:02:48.120246901 +0200 @@ -24,13 +24,23 @@ #include "precompiled.hpp" #include "classfile/stringTable.hpp" -#include "memory/iterator.hpp" +#include "code/nmethod.hpp" #include "memory/strongRootsScope.hpp" #include "runtime/thread.hpp" -StrongRootsScope::StrongRootsScope(bool activate) - : MarkScope(activate) -{ +MarkScope::MarkScope(bool activate) : _active(activate) { + if (_active) { + nmethod::oops_do_marking_prologue(); + } +} + +MarkScope::~MarkScope() { + if (_active) { + nmethod::oops_do_marking_epilogue(); + } +} + +StrongRootsScope::StrongRootsScope(bool activate) : MarkScope(activate) { if (_active) { Threads::change_thread_claim_parity(); // Zero the claimed high water mark in the StringTable