Request for reviews (XS): 6969569: assert(is_static() && is_constant()) failed: illegal call to constant_value()

Christian Thalinger christian.thalinger at oracle.com
Fri Jul 23 10:05:47 PDT 2010


On Fri, 2010-07-23 at 09:51 -0700, Vladimir Kozlov wrote:
> The evaluation and suggested fix were done by John.
> 
> http://cr.openjdk.java.net/~kvn/6969569/webrev
> 
> Fixed 6969569: assert(is_static() && is_constant()) failed: illegal call to constant_value()
> 
> All callers of ciField::constant_value must be guarded by
> both is_constant and is_static. For non-static fields,
> the correct accessor is ciField::constant_value_of.
> 
> PhaseMacroExpand::scalar_replacement() and ciField::print()
> have a missing is_static guard.
> 
> Solution:
> Add missing is_static guard.
> 
> Tested with failed case and JPRT.

I wrote parts of this code.  Looks good.  -- Christian



More information about the hotspot-compiler-dev mailing list