--- old/src/share/vm/gc/shared/gcId.hpp 2015-09-09 16:12:52.563861802 +0200 +++ new/src/share/vm/gc/shared/gcId.hpp 2015-09-09 16:12:52.447861806 +0200 @@ -30,22 +30,20 @@ class GCId : public AllStatic { friend class GCIdMark; static uint _next_id; + static uint _current_id; static const uint UNDEFINED = (uint)-1; static const uint create(); + static void set_current(uint gc_id) { _current_id = gc_id; } public: - // Returns the currently active GC id. Asserts that there is an active GC id. static const uint current(); - // Same as current() but can return undefined() if no GC id is currently active - static const uint current_raw(); - static const uint undefined() { return UNDEFINED; } }; class GCIdMark { - uint _gc_id; + uint _previous_gc_id; + DEBUG_ONLY(uint _gc_id;) public: GCIdMark(); - GCIdMark(uint gc_id); ~GCIdMark(); };