review for 7046732: JSR 292 assert(result == cpce->f1()) failed: expected result for assembly code

Tom Rodriguez 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.

tom

On May 24, 2011, at 1:51 PM, Igor Veresov wrote:

> Looks good.
> 
> igor
> 
> On 5/24/11 1:46 PM, Tom Rodriguez wrote:
>> http://cr.openjdk.java.net/~never/7046732
>> 1 line changed: 0 ins; 0 del; 1 mod; 1262 unchg
>> 
>> 7046732: JSR 292 assert(result == cpce->f1()) failed: expected result for assembly code
>> Reviewed-by:
>> 
>> 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 mailing list