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