RFR (XS): 8024830: SEGV in org.apache.lucene.codecs.compressing.CompressingTermVectorsReader.get

Igor Veresov igor.veresov at oracle.com
Sat Nov 9 16:33:01 PST 2013


Woot! Looks good.

A typo:

510     // RA guarantee such alignment ...

igor

On Nov 9, 2013, at 11:20 AM, Vladimir Kozlov <vladimir.kozlov at oracle.com> wrote:

> http://cr.openjdk.java.net/~kvn/8024830/webrev/
> 
> https://bugs.openjdk.java.net/browse/JDK-8024830
> 
> C2 Register Allocator can use input argument's stack slots for spills but until RA we don't know what offset and alignment these slots have. The minimum provided alignment is 8 bytes (for Double and long values). For wide vectors it is not enough. When vector is spilled there (as in this bug) it may stomp over values on caller's stack which follow argument's slots.
> 
> Exclude enough (vector's size - 1) last input argument's stack slots from vector's spilling masks to avoid it.
> 
> The fix is the same for jdk7u and jdk8.
> 
> Tested lucene tests, JPRT, jtreg, ctw.
> 
> Thanks,
> Vladimir
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 



More information about the hotspot-compiler-dev mailing list