< 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 >