Mercurial > hg > graal-jvmci-8
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 |