22 *
23 */
24
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(bool breakAtEntry);
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;
|
22 *
23 */
24
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, int max_monitors);
43 void remove_frame(int frame_size_in_bytes);
44
45 void verified_entry(bool breakAtEntry);
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;
|