review for 7046732: JSR 292 assert(result == cpce->f1()) failed: expected result for assembly code
tom.rodriguez at oracle.com
Wed May 25 10:29:28 PDT 2011
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