comparison src/cpu/sparc/vm/frame_sparc.cpp @ 6266:1d7922586cf6

7023639: JSR 292 method handle invocation needs a fast path for compiled code 6984705: JSR 292 method handle creation should not go through JNI Summary: remove assembly code for JDK 7 chained method handles Reviewed-by: jrose, twisti, kvn, mhaupt Contributed-by: John Rose <john.r.rose@oracle.com>, Christian Thalinger <christian.thalinger@oracle.com>, Michael Haupt <michael.haupt@oracle.com>
author twisti
date Tue, 24 Jul 2012 10:51:00 -0700
parents 5f17b16b3219
children da91efe96a93
comparison
equal deleted inserted replaced
6241:aba91a731143 6266:1d7922586cf6
512 // The constructor of the sender must know whether this frame is interpreted so it can set the 512 // The constructor of the sender must know whether this frame is interpreted so it can set the
513 // sender's _sp_adjustment_by_callee field. An osr adapter frame was originally 513 // sender's _sp_adjustment_by_callee field. An osr adapter frame was originally
514 // interpreted but its pc is in the code cache (for c1 -> osr_frame_return_id stub), so it must be 514 // interpreted but its pc is in the code cache (for c1 -> osr_frame_return_id stub), so it must be
515 // explicitly recognized. 515 // explicitly recognized.
516 516
517 if (is_ricochet_frame()) return sender_for_ricochet_frame(map);
518 517
519 bool frame_is_interpreted = is_interpreted_frame(); 518 bool frame_is_interpreted = is_interpreted_frame();
520 if (frame_is_interpreted) { 519 if (frame_is_interpreted) {
521 map->make_integer_regs_unsaved(); 520 map->make_integer_regs_unsaved();
522 map->shift_window(sp, younger_sp); 521 map->shift_window(sp, younger_sp);
819 void frame::describe_pd(FrameValues& values, int frame_no) { 818 void frame::describe_pd(FrameValues& values, int frame_no) {
820 for (int w = 0; w < frame::register_save_words; w++) { 819 for (int w = 0; w < frame::register_save_words; w++) {
821 values.describe(frame_no, sp() + w, err_msg("register save area word %d", w), 1); 820 values.describe(frame_no, sp() + w, err_msg("register save area word %d", w), 1);
822 } 821 }
823 822
824 if (is_ricochet_frame()) { 823 if (is_interpreted_frame()) {
825 MethodHandles::RicochetFrame::describe(this, values, frame_no);
826 } else if (is_interpreted_frame()) {
827 DESCRIBE_FP_OFFSET(interpreter_frame_d_scratch_fp); 824 DESCRIBE_FP_OFFSET(interpreter_frame_d_scratch_fp);
828 DESCRIBE_FP_OFFSET(interpreter_frame_l_scratch_fp); 825 DESCRIBE_FP_OFFSET(interpreter_frame_l_scratch_fp);
829 DESCRIBE_FP_OFFSET(interpreter_frame_padding); 826 DESCRIBE_FP_OFFSET(interpreter_frame_padding);
830 DESCRIBE_FP_OFFSET(interpreter_frame_oop_temp); 827 DESCRIBE_FP_OFFSET(interpreter_frame_oop_temp);
831 828