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 unverified_entry(Register receiver, Register ic_klass);
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 #ifdef TARGET_ARCH_x86
51 # include "c1_MacroAssembler_x86.hpp"
52 #endif
53 #ifdef TARGET_ARCH_sparc
54 # include "c1_MacroAssembler_sparc.hpp"
55 #endif
56 #ifdef TARGET_ARCH_arm
57 # include "c1_MacroAssembler_arm.hpp"
58 #endif
59 #ifdef TARGET_ARCH_ppc
60 # include "c1_MacroAssembler_ppc.hpp"
61 #endif
62
63 };
64
65
66
67 // A StubAssembler is a MacroAssembler w/ extra functionality for runtime
68 // stubs. Currently it 'knows' some stub info. Eventually, the information
69 // may be set automatically or can be asserted when using specialised
70 // StubAssembler functions.
71
72 class StubAssembler: public C1_MacroAssembler {
73 private:
74 const char* _name;
75 bool _must_gc_arguments;
76 int _frame_size;
77 int _num_rt_args;
78 int _stub_id;
79
80 public:
81 // creation
|
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 unverified_entry(Register receiver, Register ic_klass);
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 #ifdef TARGET_ARCH_x86
51 # include "c1_MacroAssembler_x86.hpp"
52 #endif
53 #ifdef TARGET_ARCH_sparc
54 # include "c1_MacroAssembler_sparc.hpp"
55 #endif
56 #ifdef TARGET_ARCH_arm
57 # include "c1_MacroAssembler_arm.hpp"
58 #endif
59 #ifdef TARGET_ARCH_ppc
60 # include "c1_MacroAssembler_ppc.hpp"
61 #endif
62 #ifdef TARGET_ARCH_aarch64
63 # include "c1_MacroAssembler_aarch64.hpp"
64 #endif
65
66 };
67
68
69
70 // A StubAssembler is a MacroAssembler w/ extra functionality for runtime
71 // stubs. Currently it 'knows' some stub info. Eventually, the information
72 // may be set automatically or can be asserted when using specialised
73 // StubAssembler functions.
74
75 class StubAssembler: public C1_MacroAssembler {
76 private:
77 const char* _name;
78 bool _must_gc_arguments;
79 int _frame_size;
80 int _num_rt_args;
81 int _stub_id;
82
83 public:
84 // creation
|