94
95 class StubCodeGenerator: public StackObj {
96 protected:
97 MacroAssembler* _masm;
98
99 StubCodeDesc* _first_stub;
100 StubCodeDesc* _last_stub;
101 bool _print_code;
102
103 public:
104 StubCodeGenerator(CodeBuffer* code, bool print_code = false);
105 ~StubCodeGenerator();
106
107 MacroAssembler* assembler() const { return _masm; }
108
109 virtual void stub_prolog(StubCodeDesc* cdesc); // called by StubCodeMark constructor
110 virtual void stub_epilog(StubCodeDesc* cdesc); // called by StubCodeMark destructor
111 };
112
113
114 // Stack-allocated helper class used to assciate a stub code with a name.
115 // All stub code generating functions that use a StubCodeMark will be registered
116 // in the global StubCodeDesc list and the generated stub code can be identified
117 // later via an address pointing into it.
118
119 class StubCodeMark: public StackObj {
120 protected:
121 StubCodeGenerator* _cgen;
122 StubCodeDesc* _cdesc;
123
124 public:
125 StubCodeMark(StubCodeGenerator* cgen, const char* group, const char* name);
126 ~StubCodeMark();
127
128 };
129
130 #endif // SHARE_VM_RUNTIME_STUBCODEGENERATOR_HPP
|
94
95 class StubCodeGenerator: public StackObj {
96 protected:
97 MacroAssembler* _masm;
98
99 StubCodeDesc* _first_stub;
100 StubCodeDesc* _last_stub;
101 bool _print_code;
102
103 public:
104 StubCodeGenerator(CodeBuffer* code, bool print_code = false);
105 ~StubCodeGenerator();
106
107 MacroAssembler* assembler() const { return _masm; }
108
109 virtual void stub_prolog(StubCodeDesc* cdesc); // called by StubCodeMark constructor
110 virtual void stub_epilog(StubCodeDesc* cdesc); // called by StubCodeMark destructor
111 };
112
113
114 // Stack-allocated helper class used to associate a stub code with a name.
115 // All stub code generating functions that use a StubCodeMark will be registered
116 // in the global StubCodeDesc list and the generated stub code can be identified
117 // later via an address pointing into it.
118
119 class StubCodeMark: public StackObj {
120 protected:
121 StubCodeGenerator* _cgen;
122 StubCodeDesc* _cdesc;
123
124 public:
125 StubCodeMark(StubCodeGenerator* cgen, const char* group, const char* name);
126 ~StubCodeMark();
127
128 };
129
130 #endif // SHARE_VM_RUNTIME_STUBCODEGENERATOR_HPP
|