Request for reviews (S): 7081938: JSR292: assert(magic_number_2() == MAGIC_NUMBER_2) failed
Christian Thalinger
CHRISTIAN.THALINGER at oracle.com
Mon Oct 10 06:20:59 PDT 2011
http://cr.openjdk.java.net/~twisti/7081938/
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.
src/cpu/x86/vm/methodHandles_x86.hpp
src/cpu/x86/vm/methodHandles_x86.cpp
src/cpu/x86/vm/frame_x86.cpp
More information about the hotspot-compiler-dev
mailing list