< prev index next >

src/hotspot/cpu/sparc/gc/shared/barrierSetAssembler_sparc.hpp

Print this page
rev 52354 : 8213199: GC abstraction for Assembler::needs_explicit_null_check()


  32 class InterpreterMacroAssembler;
  33 
  34 class BarrierSetAssembler: public CHeapObj<mtGC> {
  35 public:
  36   virtual void arraycopy_prologue(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
  37                                   Register src, Register dst, Register count) {}
  38   virtual void arraycopy_epilogue(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
  39                                   Register src, Register dst, Register count) {}
  40 
  41   virtual void store_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
  42                         Register src, Address dst, Register tmp);
  43 
  44   virtual void load_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
  45                        Address src, Register dst, Register tmp);
  46 
  47   // Support for jniFastGetField to try resolving a jobject/jweak in native
  48   virtual void try_resolve_jobject_in_native(MacroAssembler* masm, Register jni_env,
  49                                              Register obj, Register tmp, Label& slowpath);
  50 
  51   virtual void barrier_stubs_init() {}


  52 };
  53 
  54 #endif // CPU_SPARC_GC_SHARED_BARRIERSETASSEMBLER_SPARC_HPP


  32 class InterpreterMacroAssembler;
  33 
  34 class BarrierSetAssembler: public CHeapObj<mtGC> {
  35 public:
  36   virtual void arraycopy_prologue(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
  37                                   Register src, Register dst, Register count) {}
  38   virtual void arraycopy_epilogue(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
  39                                   Register src, Register dst, Register count) {}
  40 
  41   virtual void store_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
  42                         Register src, Address dst, Register tmp);
  43 
  44   virtual void load_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
  45                        Address src, Register dst, Register tmp);
  46 
  47   // Support for jniFastGetField to try resolving a jobject/jweak in native
  48   virtual void try_resolve_jobject_in_native(MacroAssembler* masm, Register jni_env,
  49                                              Register obj, Register tmp, Label& slowpath);
  50 
  51   virtual void barrier_stubs_init() {}
  52 
  53   virtual bool needs_explicit_null_check(intptr_t offset) const;
  54 };
  55 
  56 #endif // CPU_SPARC_GC_SHARED_BARRIERSETASSEMBLER_SPARC_HPP
< prev index next >