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