Request for reviews (S): 7081938: JSR292: assert(magic_number_2() == MAGIC_NUMBER_2) failed

Tom Rodriguez tom.rodriguez at oracle.com
Mon Oct 10 11:16:23 PDT 2011


Looks good.

tom

On Oct 10, 2011, at 6:20 AM, Christian Thalinger wrote:

> 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