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 CPU_AARCH64_GC_SHARED_CARDTABLEBARRIERSETASSEMBLER_AARCH64_HPP
26 #define CPU_AARCH64_GC_SHARED_CARDTABLEBARRIERSETASSEMBLER_AARCH64_HPP
27
28 #include "asm/macroAssembler.hpp"
29 #include "gc/shared/modRefBarrierSetAssembler.hpp"
30
31 class CardTableBarrierSetAssembler: public ModRefBarrierSetAssembler {
32 protected:
33 void store_check(MacroAssembler* masm, Register obj, Address dst);
34
35 virtual void gen_write_ref_array_post_barrier(MacroAssembler* masm, DecoratorSet decorators,
36 Register start, Register count, Register tmp, RegSet saved_regs);
37 virtual void oop_store_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
38 Address dst, Register val, Register tmp1, Register tmp2);
39
40 };
41
42 #endif // CPU_AARCH64_GC_SHARED_CARDTABLEBARRIERSETASSEMBLER_AARCH64_HPP
|
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 CPU_AARCH64_GC_SHARED_CARDTABLEBARRIERSETASSEMBLER_AARCH64_HPP
26 #define CPU_AARCH64_GC_SHARED_CARDTABLEBARRIERSETASSEMBLER_AARCH64_HPP
27
28 #include "asm/macroAssembler.hpp"
29 #include "gc/shared/modRefBarrierSetAssembler.hpp"
30
31 class CardTableBarrierSetAssembler: public ModRefBarrierSetAssembler {
32 protected:
33 void store_check(MacroAssembler* masm, Register obj, Address dst);
34
35 virtual void gen_write_ref_array_post_barrier(MacroAssembler* masm, DecoratorSet decorators,
36 Register start, Register count, Register tmp, RegSet saved_regs);
37 virtual void oop_store_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
38 Address dst, Register val, Register tmp1, Register tmp2, Register tmp3);
39
40 };
41
42 #endif // CPU_AARCH64_GC_SHARED_CARDTABLEBARRIERSETASSEMBLER_AARCH64_HPP
|