Request for reviews (XS): 6975049: nsk/regression/b4287029 crashes with -Xss64 on solaris-i586
Vladimir Kozlov
vladimir.kozlov at oracle.com
Fri Aug 6 12:06:37 PDT 2010
Thank you, Tom
Vladimir
Tom Rodriguez wrote:
> 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