55 Register obj_end, // result: pointer to end of object after successful allocation
56 Register tmp1, // temp register
57 Register tmp2, // temp register
58 RegisterOrConstant size_expression, // size of object
59 Label& slow_case // continuation point if fast allocation fails
60 );
61
62 virtual void tlab_allocate(MacroAssembler* masm,
63 Register obj, // result: pointer to object after successful allocation
64 Register obj_end, // result: pointer to end of object after successful allocation
65 Register tmp1, // temp register
66 RegisterOrConstant size_expression, // size of object
67 Label& slow_case // continuation point if fast allocation fails
68 );
69
70 virtual void barrier_stubs_init() {}
71
72 virtual void resolve(MacroAssembler* masm, DecoratorSet decorators, Register obj) {
73 // Default implementation does not need to do anything.
74 }
75 };
76
77 #endif // CPU_ARM_GC_SHARED_BARRIERSETASSEMBLER_ARM_HPP
|
55 Register obj_end, // result: pointer to end of object after successful allocation
56 Register tmp1, // temp register
57 Register tmp2, // temp register
58 RegisterOrConstant size_expression, // size of object
59 Label& slow_case // continuation point if fast allocation fails
60 );
61
62 virtual void tlab_allocate(MacroAssembler* masm,
63 Register obj, // result: pointer to object after successful allocation
64 Register obj_end, // result: pointer to end of object after successful allocation
65 Register tmp1, // temp register
66 RegisterOrConstant size_expression, // size of object
67 Label& slow_case // continuation point if fast allocation fails
68 );
69
70 virtual void barrier_stubs_init() {}
71
72 virtual void resolve(MacroAssembler* masm, DecoratorSet decorators, Register obj) {
73 // Default implementation does not need to do anything.
74 }
75
76 virtual bool needs_explicit_null_check(intptr_t offset) const;
77 };
78
79 #endif // CPU_ARM_GC_SHARED_BARRIERSETASSEMBLER_ARM_HPP
|