comparison src/hotspot/cpu/x86/gc/shared/barrierSetAssembler_x86.hpp @ 51327:db0a17475826

8205336: Modularize allocations in assembler Reviewed-by: aph, eosterlund
author rkennke
date Tue, 19 Jun 2018 13:03:12 -0400
parents 8434981a4137
children 57565f7dcb2a
comparison
equal deleted inserted replaced
5:e8de7caad68e 6:46b1f4fc2616
30 #include "oops/access.hpp" 30 #include "oops/access.hpp"
31 31
32 class InterpreterMacroAssembler; 32 class InterpreterMacroAssembler;
33 33
34 class BarrierSetAssembler: public CHeapObj<mtGC> { 34 class BarrierSetAssembler: public CHeapObj<mtGC> {
35 protected: 35 private:
36 void incr_allocated_bytes(MacroAssembler* masm, Register thread,
37 Register var_size_in_bytes,
38 int con_size_in_bytes,
39 Register t1);
40
36 public: 41 public:
37 virtual void arraycopy_prologue(MacroAssembler* masm, DecoratorSet decorators, BasicType type, 42 virtual void arraycopy_prologue(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
38 Register src, Register dst, Register count) {} 43 Register src, Register dst, Register count) {}
39 virtual void arraycopy_epilogue(MacroAssembler* masm, DecoratorSet decorators, BasicType type, 44 virtual void arraycopy_epilogue(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
40 Register src, Register dst, Register count) {} 45 Register src, Register dst, Register count) {}
58 63
59 // Support for jniFastGetField to try resolving a jobject/jweak in native 64 // Support for jniFastGetField to try resolving a jobject/jweak in native
60 virtual void try_resolve_jobject_in_native(MacroAssembler* masm, Register jni_env, 65 virtual void try_resolve_jobject_in_native(MacroAssembler* masm, Register jni_env,
61 Register obj, Register tmp, Label& slowpath); 66 Register obj, Register tmp, Label& slowpath);
62 67
68 virtual void tlab_allocate(MacroAssembler* masm,
69 Register thread, Register obj,
70 Register var_size_in_bytes,
71 int con_size_in_bytes,
72 Register t1, Register t2,
73 Label& slow_case);
74 virtual void eden_allocate(MacroAssembler* masm,
75 Register thread, Register obj,
76 Register var_size_in_bytes,
77 int con_size_in_bytes,
78 Register t1,
79 Label& slow_case);
80
63 virtual void barrier_stubs_init() {} 81 virtual void barrier_stubs_init() {}
64 }; 82 };
65 83
66 #endif // CPU_X86_GC_SHARED_BARRIERSETASSEMBLER_X86_HPP 84 #endif // CPU_X86_GC_SHARED_BARRIERSETASSEMBLER_X86_HPP