16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
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/allocation.hpp"
29 #include "oops/oopsHierarchy.hpp"
30
31 class JavaThread;
32 class oopDesc;
33
34 class ShenandoahRuntime : public AllStatic {
35 public:
36 static void write_ref_array_pre_oop_entry(oop* src, oop* dst, size_t length);
37 static void write_ref_array_pre_narrow_oop_entry(narrowOop* src, narrowOop* dst, size_t length);
38 static void write_ref_array_pre_duinit_oop_entry(oop* src, oop* dst, size_t length);
39 static void write_ref_array_pre_duinit_narrow_oop_entry(narrowOop* src, narrowOop* dst, size_t length);
40 static void write_ref_field_pre_entry(oopDesc* orig, JavaThread* thread);
41
42 static oopDesc* load_reference_barrier(oopDesc* src, oop* load_addr);
43 static oopDesc* load_reference_barrier_narrow(oopDesc* src, narrowOop* load_addr);
44
45 static oopDesc* load_reference_barrier_native(oopDesc* src, oop* load_addr);
46
47 static void shenandoah_clone_barrier(oopDesc* src);
48 };
49
50 #endif // SHARE_GC_SHENANDOAH_SHENANDOAHRUNTIME_HPP
|
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
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/allocation.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_entry(oop* src, oop* dst, size_t length);
37 static void arraycopy_barrier_narrow_oop_entry(narrowOop* src, narrowOop * dst, size_t length);
38
39 static void write_ref_field_pre_entry(oopDesc* orig, JavaThread* thread);
40
41 static oopDesc* load_reference_barrier(oopDesc* src, oop* load_addr);
42 static oopDesc* load_reference_barrier_narrow(oopDesc* src, narrowOop* load_addr);
43
44 static oopDesc* load_reference_barrier_native(oopDesc* src, oop* load_addr);
45
46 static void shenandoah_clone_barrier(oopDesc* src);
47 };
48
49 #endif // SHARE_GC_SHENANDOAH_SHENANDOAHRUNTIME_HPP
|