< prev index next >

src/hotspot/share/gc/z/zBarrier.hpp

Print this page

        

*** 30,39 **** --- 30,42 ---- typedef bool (*ZBarrierFastPath)(uintptr_t); typedef uintptr_t (*ZBarrierSlowPath)(uintptr_t); class ZBarrier : public AllStatic { private: + static const bool Follow = true; + static const bool DontFollow = false; + static const bool Strong = false; static const bool Finalizable = true; static const bool Publish = true; static const bool Overflow = false;
*** 49,59 **** static bool is_resurrection_blocked(volatile oop* p, oop* o); static bool during_mark(); static bool during_relocate(); template <bool finalizable> static bool should_mark_through(uintptr_t addr); ! template <bool finalizable, bool publish> static uintptr_t mark(uintptr_t addr); static uintptr_t remap(uintptr_t addr); static uintptr_t relocate(uintptr_t addr); static uintptr_t relocate_or_mark(uintptr_t addr); static uintptr_t relocate_or_remap(uintptr_t addr); --- 52,62 ---- static bool is_resurrection_blocked(volatile oop* p, oop* o); static bool during_mark(); static bool during_relocate(); template <bool finalizable> static bool should_mark_through(uintptr_t addr); ! template <bool follow, bool finalizable, bool publish> static uintptr_t mark(uintptr_t addr); static uintptr_t remap(uintptr_t addr); static uintptr_t relocate(uintptr_t addr); static uintptr_t relocate_or_mark(uintptr_t addr); static uintptr_t relocate_or_remap(uintptr_t addr);
*** 67,76 **** --- 70,80 ---- static uintptr_t keep_alive_barrier_on_phantom_oop_slow_path(uintptr_t addr); static uintptr_t mark_barrier_on_oop_slow_path(uintptr_t addr); static uintptr_t mark_barrier_on_finalizable_oop_slow_path(uintptr_t addr); static uintptr_t mark_barrier_on_root_oop_slow_path(uintptr_t addr); + static uintptr_t mark_barrier_on_invisible_root_oop_slow_path(uintptr_t addr); static uintptr_t relocate_barrier_on_root_oop_slow_path(uintptr_t addr); public: // Load barrier
*** 104,113 **** --- 108,118 ---- // Mark barrier static void mark_barrier_on_oop_field(volatile oop* p, bool finalizable); static void mark_barrier_on_oop_array(volatile oop* p, size_t length, bool finalizable); static void mark_barrier_on_root_oop_field(oop* p); + static void mark_barrier_on_invisible_root_oop_field(oop* p); // Relocate barrier static void relocate_barrier_on_root_oop_field(oop* p); // Narrow oop variants, never used.
< prev index next >