RFR(S) 7171824: assert(_offset >= 1) failed: illegal call to offset()

Christian Thalinger christian.thalinger at oracle.com
Thu Aug 16 08:27:43 PDT 2012


On Aug 16, 2012, at 12:59 AM, Roland Westrelin <roland.westrelin at oracle.com> wrote:

> Hi Chris,
> 
>> Looks good.  Could you move the all_offsets after the compare:
>> + && (all_offsets || lf->field()->offset() == field->offset());
>> It would be easier to read.
> 
> Do you mean:
> 
> (lf->field()->offset() == field->offset() || all_offsets)
> 
> ?
> 
> That wouldn't work. The all_offsets must shortcut so that the lf->field()->offset() == field->offset() test isn' run. Otherwise, the assert(_offset >= 1) will trigger when _offset = -1 in the call to offset() which may happen when all_offsets is true.

Ah, I didn't look where the assert is.  Sorry.

-- Chris

> 
> Roland.
> 
> 


More information about the hotspot-compiler-dev mailing list