RFR (XS) 8015265: revise the fix for 8007037

serguei.spitsyn at oracle.com serguei.spitsyn at oracle.com
Thu May 23 12:00:42 PDT 2013


Hi Calvin,

The fix looks fine.
This is an interesting bug.
Thank you for discovering and fixing it!

Thanks,
Serguei

On 5/23/13 11:51 AM, Calvin Cheung wrote:
> While working on a fix for 8014431, it was found that the fix for 
> 8007037 in constantPool.cpp needs to be revised. David H. suggested 
> that this should be addressed in a separate bug fix.
>
> The problem is that the following statement:
> bool match = compare_entry_to(k1, cp2, k2, CHECK_false) &&
>                         compare_operand_to(i1, cp2, i2, CHECK_false);
>
> expands to:
>
> bool match = compare_entry_to(k1, cp2, k2, THREAD);
> if (HAS_PENDING_EXCEPTION) return false;
> (0) && compare_operand_to(i1, cp2, i2, THREAD);
> if (HAS_PENDING_EXCEPTION) return false;
> (0);
>
> so the match has the wrong value.
>
> webrev: http://cr.openjdk.java.net/~ccheung/8015265/webrev/
> bug: http://bugs.sun.com/view_bug.do?bug_id=8015265    (not available 
> yet)
> jbs: https://jbs.oracle.com/bugs/browse/JDK-8015265
>
> Testing:
>     jprt
>     vm.quick on linux_x64
>
> thanks,
> Calvin



More information about the hotspot-runtime-dev mailing list