review for 7046732: JSR 292 assert(result == cpce->f1()) failed: expected result for assembly code
igor.veresov at oracle.com
Wed May 25 14:49:17 PDT 2011
On 5/25/11 10:29 AM, Tom Rodriguez wrote:
> While testing a separate issue I discovered another problem with this code. The Bytecode wrapper objects aren't GC-safe because they embed a bcp so the assert can fail if a GC occurs in the load_constant call itself. You can also get other assertion failures depending on how the underlying method moves. The fix is to make a new wrapper for the assertion check. Now that that these Bytecode objects have a method in the we should move them away from using bcp. I filed 7048278 for that. Anyway, I've updated the webrev and retested.
> On May 24, 2011, at 1:51 PM, Igor Veresov wrote:
>> Looks good.
>> On 5/24/11 1:46 PM, Tom Rodriguez wrote:
>>> 1 line changed: 0 ins; 0 del; 1 mod; 1262 unchg
>>> 7046732: JSR 292 assert(result == cpce->f1()) failed: expected result for assembly code
>>> The assert doesn't hold when the resolve_constant throws an exception.
>>> It should be using CHECK instead of THREAD so that it returns
>>> immediately. Tested with failing test case.
More information about the hotspot-compiler-dev