Request for reviews (XS): 6975049: nsk/regression/b4287029 crashes with -Xss64 on solaris-i586

Tom Rodriguez tom.rodriguez at oracle.com
Fri Aug 6 12:05:12 PDT 2010


Looks good.

tom

On Aug 6, 2010, at 9:48 AM, Vladimir Kozlov wrote:

> http://cr.openjdk.java.net/~kvn/6975049/webrev
> 
> Fixed 6975049: nsk/regression/b4287029 crashes with -Xss64 on solaris-i586
> 
> The problem started when we switched to SS12 compilers.
> SS12 C++ inlines too much into StubGenerator_generate() - it inlines
> all methods defined in StubGenerator class. Just for StubGenerator_generate()
> it needs 80K stack:
> 
> StubGenerator_generate+0x0006:      subl     $0x0001464c,%esp <<< 0x0001464c == 83532
> StubGenerator_generate+0x000c:      call     StubGenerator_generate+0x11  <<< SEGV
> 
> The main consumer of stack space is Address object (36 bytes in 32bit VM).
> For example, in xmm_copy_forward() method we generate and initialize
> separate Address object for each instruction.
> And Sun C++ doesn't free these objects space at the end of local scope.
> 
> Solution:
> Tell C++ to not inline so much by using flag -xspace.
> It is not performance critical code since it is executed only during startup.
> 
> Tested with failed case.



More information about the hotspot-dev mailing list