390 Method* frame::interpreter_frame_method() const {
391 assert(is_interpreted_frame(), "interpreted frame expected");
392 Method* m = *interpreter_frame_method_addr();
393 assert(m->is_method(), "not a Method*");
394 return m;
395 }
396
397 void frame::interpreter_frame_set_method(Method* method) {
398 assert(is_interpreted_frame(), "interpreted frame expected");
399 *interpreter_frame_method_addr() = method;
400 }
401
402 jint frame::interpreter_frame_bci() const {
403 assert(is_interpreted_frame(), "interpreted frame expected");
404 address bcp = interpreter_frame_bcp();
405 return interpreter_frame_method()->bci_from(bcp);
406 }
407
408 address frame::interpreter_frame_bcp() const {
409 assert(is_interpreted_frame(), "interpreted frame expected");
410 return (address)*interpreter_frame_bcp_addr();
411 }
412
413 void frame::interpreter_frame_set_bcp(address bcp) {
414 assert(is_interpreted_frame(), "interpreted frame expected");
415 *interpreter_frame_bcp_addr() = (intptr_t)bcp;
416 }
417
418 address frame::interpreter_frame_mdp() const {
419 assert(ProfileInterpreter, "must be profiling interpreter");
420 assert(is_interpreted_frame(), "interpreted frame expected");
421 return (address)*interpreter_frame_mdp_addr();
422 }
423
424 void frame::interpreter_frame_set_mdp(address mdp) {
425 assert(is_interpreted_frame(), "interpreted frame expected");
426 assert(ProfileInterpreter, "must be profiling interpreter");
427 *interpreter_frame_mdp_addr() = (intptr_t)mdp;
428 }
429
430 BasicObjectLock* frame::next_monitor_in_interpreter_frame(BasicObjectLock* current) const {
|
390 Method* frame::interpreter_frame_method() const {
391 assert(is_interpreted_frame(), "interpreted frame expected");
392 Method* m = *interpreter_frame_method_addr();
393 assert(m->is_method(), "not a Method*");
394 return m;
395 }
396
397 void frame::interpreter_frame_set_method(Method* method) {
398 assert(is_interpreted_frame(), "interpreted frame expected");
399 *interpreter_frame_method_addr() = method;
400 }
401
402 jint frame::interpreter_frame_bci() const {
403 assert(is_interpreted_frame(), "interpreted frame expected");
404 address bcp = interpreter_frame_bcp();
405 return interpreter_frame_method()->bci_from(bcp);
406 }
407
408 address frame::interpreter_frame_bcp() const {
409 assert(is_interpreted_frame(), "interpreted frame expected");
410 address bcp = (address)*interpreter_frame_bcp_addr();
411 return interpreter_frame_method()->bcp_from(bcp);
412 }
413
414 void frame::interpreter_frame_set_bcp(address bcp) {
415 assert(is_interpreted_frame(), "interpreted frame expected");
416 *interpreter_frame_bcp_addr() = (intptr_t)bcp;
417 }
418
419 address frame::interpreter_frame_mdp() const {
420 assert(ProfileInterpreter, "must be profiling interpreter");
421 assert(is_interpreted_frame(), "interpreted frame expected");
422 return (address)*interpreter_frame_mdp_addr();
423 }
424
425 void frame::interpreter_frame_set_mdp(address mdp) {
426 assert(is_interpreted_frame(), "interpreted frame expected");
427 assert(ProfileInterpreter, "must be profiling interpreter");
428 *interpreter_frame_mdp_addr() = (intptr_t)mdp;
429 }
430
431 BasicObjectLock* frame::next_monitor_in_interpreter_frame(BasicObjectLock* current) const {
|