20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
23 */
24
25 #ifndef SHARE_GC_SHENANDOAH_SHENANDOAHRUNTIME_HPP
26 #define SHARE_GC_SHENANDOAH_SHENANDOAHRUNTIME_HPP
27
28 #include "memory/allStatic.hpp"
29 #include "oops/oopsHierarchy.hpp"
30
31 class JavaThread;
32 class oopDesc;
33
34 class ShenandoahRuntime : public AllStatic {
35 public:
36 static void arraycopy_barrier_oop(oop* src, oop* dst, size_t length);
37 static void arraycopy_barrier_narrow_oop(narrowOop* src, narrowOop* dst, size_t length);
38
39 static void write_barrier_pre(oopDesc* orig);
40
41 static oopDesc* load_reference_barrier_strong(oopDesc* src, oop* load_addr);
42 static oopDesc* load_reference_barrier_strong_narrow(oopDesc* src, narrowOop* load_addr);
43
44 static oopDesc* load_reference_barrier_weak(oopDesc* src, oop* load_addr);
45 static oopDesc* load_reference_barrier_weak_narrow(oopDesc* src, narrowOop* load_addr);
46
47 static oopDesc* load_reference_barrier_phantom(oopDesc* src, oop* load_addr);
48 static oopDesc* load_reference_barrier_phantom_narrow(oopDesc* src, narrowOop* load_addr);
49
50 static void clone_barrier(oopDesc* src);
51 };
52
53 #endif // SHARE_GC_SHENANDOAH_SHENANDOAHRUNTIME_HPP
|
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
23 */
24
25 #ifndef SHARE_GC_SHENANDOAH_SHENANDOAHRUNTIME_HPP
26 #define SHARE_GC_SHENANDOAH_SHENANDOAHRUNTIME_HPP
27
28 #include "memory/allStatic.hpp"
29 #include "oops/oopsHierarchy.hpp"
30
31 class JavaThread;
32 class oopDesc;
33
34 class ShenandoahRuntime : public AllStatic {
35 public:
36 static void arraycopy_barrier_oop(oop* src, oop* dst, size_t length);
37 static void arraycopy_barrier_narrow_oop(narrowOop* src, narrowOop* dst, size_t length);
38
39 static void write_barrier_pre(oopDesc* orig);
40 static void write_barrier_pre_c2(oopDesc* orig);
41
42 static oopDesc* load_reference_barrier_strong(oopDesc* src, oop* load_addr);
43 static oopDesc* load_reference_barrier_strong_narrow(oopDesc* src, narrowOop* load_addr);
44
45 static oopDesc* load_reference_barrier_weak(oopDesc* src, oop* load_addr);
46 static oopDesc* load_reference_barrier_weak_narrow(oopDesc* src, narrowOop* load_addr);
47
48 static oopDesc* load_reference_barrier_phantom(oopDesc* src, oop* load_addr);
49 static oopDesc* load_reference_barrier_phantom_narrow(oopDesc* src, narrowOop* load_addr);
50
51 static void clone_barrier(oopDesc* src);
52 };
53
54 #endif // SHARE_GC_SHENANDOAH_SHENANDOAHRUNTIME_HPP
|