equal
deleted
inserted
replaced
138 |
138 |
139 // Offsets for different nmethod parts |
139 // Offsets for different nmethod parts |
140 int _exception_offset; |
140 int _exception_offset; |
141 // All deoptee's will resume execution at this location described by this offset |
141 // All deoptee's will resume execution at this location described by this offset |
142 int _deoptimize_offset; |
142 int _deoptimize_offset; |
|
143 #ifdef HAVE_DTRACE_H |
|
144 int _trap_offset; |
|
145 #endif // def HAVE_DTRACE_H |
143 int _stub_offset; |
146 int _stub_offset; |
144 int _consts_offset; |
147 int _consts_offset; |
145 int _scopes_data_offset; |
148 int _scopes_data_offset; |
146 int _scopes_pcs_offset; |
149 int _scopes_pcs_offset; |
147 int _dependencies_offset; |
150 int _dependencies_offset; |
208 CodeBuffer *code_buffer, |
211 CodeBuffer *code_buffer, |
209 int frame_size, |
212 int frame_size, |
210 ByteSize basic_lock_owner_sp_offset, /* synchronized natives only */ |
213 ByteSize basic_lock_owner_sp_offset, /* synchronized natives only */ |
211 ByteSize basic_lock_sp_offset, /* synchronized natives only */ |
214 ByteSize basic_lock_sp_offset, /* synchronized natives only */ |
212 OopMapSet* oop_maps); |
215 OopMapSet* oop_maps); |
|
216 |
|
217 #ifdef HAVE_DTRACE_H |
|
218 // For native wrappers |
|
219 nmethod(methodOop method, |
|
220 int nmethod_size, |
|
221 CodeOffsets* offsets, |
|
222 CodeBuffer *code_buffer, |
|
223 int frame_size); |
|
224 #endif // def HAVE_DTRACE_H |
213 |
225 |
214 // Creation support |
226 // Creation support |
215 nmethod(methodOop method, |
227 nmethod(methodOop method, |
216 int nmethod_size, |
228 int nmethod_size, |
217 int compile_id, |
229 int compile_id, |
269 int frame_complete, |
281 int frame_complete, |
270 int frame_size, |
282 int frame_size, |
271 ByteSize receiver_sp_offset, |
283 ByteSize receiver_sp_offset, |
272 ByteSize basic_lock_sp_offset, |
284 ByteSize basic_lock_sp_offset, |
273 OopMapSet* oop_maps); |
285 OopMapSet* oop_maps); |
|
286 |
|
287 #ifdef HAVE_DTRACE_H |
|
288 // The method we generate for a dtrace probe has to look |
|
289 // like an nmethod as far as the rest of the system is concerned |
|
290 // which is somewhat unfortunate. |
|
291 static nmethod* new_dtrace_nmethod(methodHandle method, |
|
292 CodeBuffer *code_buffer, |
|
293 int vep_offset, |
|
294 int trap_offset, |
|
295 int frame_complete, |
|
296 int frame_size); |
|
297 |
|
298 int trap_offset() const { return _trap_offset; } |
|
299 address trap_address() const { return code_begin() + _trap_offset; } |
|
300 |
|
301 #endif // def HAVE_DTRACE_H |
274 |
302 |
275 // accessors |
303 // accessors |
276 methodOop method() const { return _method; } |
304 methodOop method() const { return _method; } |
277 AbstractCompiler* compiler() const { return _compiler; } |
305 AbstractCompiler* compiler() const { return _compiler; } |
278 |
306 |