review (S) for
Tom Rodriguez
tom.rodriguez at oracle.com
Wed Dec 15 15:20:30 PST 2010
On Dec 15, 2010, at 2:50 PM, Vladimir Kozlov wrote:
> Looks good.
>
> + // There no known reason why this should occur but just in case...
> ^ is
Fixed.
>
> What could be the case when assigned_regHi() == -1 but assigned_reg() != -1 (num == 2)?
alloc_free_reg may not be able to get both registers for a pair and it leaves the interval with the first reg set but regHi is still -1. Then it goes to do some spilling to free a register for the second part. If you try to print it during this part you'll assert.
tom
>
> Vladimir
>
> Tom Rodriguez wrote:
>> http://cr.openjdk.java.net/~never/6579789
>> 6579789: Internal error "c1_LinearScan.cpp:1429 Error: assert(false,"")" in debuggee with fastdebug VM
>> Reviewed-by:
>> When using the x86 FPU, spilling at an exception entry point may
>> mutate the intervals so that _sorted_intervals is no longer sorted.
>> The fix is detect this case and resort as needed. Additionally I
>> added some more assertion checks and fixed a printing problem that
>> would assert on partially allocated intervals. Tested with new test
>> case and CTW.
More information about the hotspot-compiler-dev
mailing list