Code Review for 7081938

Prepared by:twisti on Mon Oct 10 06:19:27 PDT 2011
Workspace:/home/twisti/hsx/hotspot-comp/7081938
Compare against: /home/twisti/hsx/hotspot-comp/hotspot
Summary of changes: 11 lines changed: 5 ins; 0 del; 6 mod; 3408 unchg
Patch of changes: 7081938.patch
Printable review: 7081938.pdf
Author comments:
7081938: JSR292: assert(magic_number_2() == MAGIC_NUMBER_2) failed
Reviewed-by:

MethodHandles::ricochet_frame_sender uses
RicochetFrame::extended_sender_sp to create the frame for the ricochet
frame. extended_sender_sp returns the _saved_args_base.

In a debug VM there is another slot pushed below the saved_args_base
in _adapter_opt_collect/filter/fold; this is MAGIC_NUMBER_2.

The fix is to return a correct value for extended_sender_sp.

It's possible that this bug results in crashes or program failures
with a product build when the extra_slots in collect/filter/fold
adapters is > 0.

Bug id: 7081938 JSR292: assert(magic_number_2() == MAGIC_NUMBER_2) failed
Legend: Modified file
Deleted file
New file

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw src/cpu/x86/vm/methodHandles_x86.hpp

4 lines changed: 3 ins; 0 del; 1 mod; 303 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw src/cpu/x86/vm/methodHandles_x86.cpp

2 lines changed: 0 ins; 0 del; 2 mod; 2434 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw src/cpu/x86/vm/frame_x86.cpp

5 lines changed: 2 ins; 0 del; 3 mod; 671 unchg

This code review page was prepared using /home/twisti/bin/webrev (vers 23.18-hg-never).