< prev index next >

src/hotspot/share/c1/c1_MacroAssembler.hpp

Print this page




  26 #define SHARE_VM_C1_C1_MACROASSEMBLER_HPP
  27 
  28 #include "asm/macroAssembler.hpp"
  29 #include "asm/macroAssembler.inline.hpp"
  30 #include "utilities/macros.hpp"
  31 
  32 class CodeEmitInfo;
  33 
  34 class C1_MacroAssembler: public MacroAssembler {
  35  public:
  36   // creation
  37   C1_MacroAssembler(CodeBuffer* code) : MacroAssembler(code) { pd_init(); }
  38 
  39   //----------------------------------------------------
  40   void explicit_null_check(Register base);
  41 
  42   void inline_cache_check(Register receiver, Register iCache);
  43   void build_frame(int frame_size_in_bytes, int bang_size_in_bytes);
  44   void remove_frame(int frame_size_in_bytes);
  45 
  46   void unverified_entry(Register receiver, Register ic_klass);
  47   void verified_entry();
  48   void verify_stack_oop(int offset) PRODUCT_RETURN;
  49   void verify_not_null_oop(Register r)  PRODUCT_RETURN;
  50 
  51 #include CPU_HEADER(c1_MacroAssembler)
  52 
  53 };
  54 
  55 
  56 
  57 // A StubAssembler is a MacroAssembler w/ extra functionality for runtime
  58 // stubs. Currently it 'knows' some stub info. Eventually, the information
  59 // may be set automatically or can be asserted when using specialised
  60 // StubAssembler functions.
  61 
  62 class StubAssembler: public C1_MacroAssembler {
  63  private:
  64   const char* _name;
  65   bool        _must_gc_arguments;
  66   int         _frame_size;




  26 #define SHARE_VM_C1_C1_MACROASSEMBLER_HPP
  27 
  28 #include "asm/macroAssembler.hpp"
  29 #include "asm/macroAssembler.inline.hpp"
  30 #include "utilities/macros.hpp"
  31 
  32 class CodeEmitInfo;
  33 
  34 class C1_MacroAssembler: public MacroAssembler {
  35  public:
  36   // creation
  37   C1_MacroAssembler(CodeBuffer* code) : MacroAssembler(code) { pd_init(); }
  38 
  39   //----------------------------------------------------
  40   void explicit_null_check(Register base);
  41 
  42   void inline_cache_check(Register receiver, Register iCache);
  43   void build_frame(int frame_size_in_bytes, int bang_size_in_bytes);
  44   void remove_frame(int frame_size_in_bytes);
  45 

  46   void verified_entry();
  47   void verify_stack_oop(int offset) PRODUCT_RETURN;
  48   void verify_not_null_oop(Register r)  PRODUCT_RETURN;
  49 
  50 #include CPU_HEADER(c1_MacroAssembler)
  51 
  52 };
  53 
  54 
  55 
  56 // A StubAssembler is a MacroAssembler w/ extra functionality for runtime
  57 // stubs. Currently it 'knows' some stub info. Eventually, the information
  58 // may be set automatically or can be asserted when using specialised
  59 // StubAssembler functions.
  60 
  61 class StubAssembler: public C1_MacroAssembler {
  62  private:
  63   const char* _name;
  64   bool        _must_gc_arguments;
  65   int         _frame_size;


< prev index next >