< prev index next >

src/hotspot/share/c1/c1_MacroAssembler.hpp

Print this page




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


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




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


< prev index next >