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

Christian Thalinger CHRISTIAN.THALINGER at oracle.com
Mon Oct 10 11:36:01 PDT 2011


Thank you, Tom.  -- Chris

On Oct 10, 2011, at 8:16 PM, Tom Rodriguez wrote:

> 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