Request for reviews (M): 6947341: JVM Crash running Oracle ATG CRMDemo
vladimir.kozlov at oracle.com
Tue Jun 22 10:30:15 PDT 2010
Thank you, Tom
Tom Rodriguez wrote:
> I think I'd like the 3 copies of the failure code to be factored out.
Yes, I will factor out common code.
> Why does one of the cases return instead of falling through as if the allocation failed?
Because if it did not return it will fall into next code which will do regular allocation (without large pages). I want it to return so an other attempt could be made with different requested address and with large pages.
> On Jun 22, 2010, at 8:46 AM, Vladimir Kozlov wrote:
>> Fixed 6947341: JVM Crash running Oracle ATG CRMDemo
>> Missing protected page below heap with compressed oops
>> which use narrow_oop_base and implicit null check.
>> It is caused by ReservedSpace code misses checks that OS
>> reserved heap at requested address.
>> Before 6951686 fix Linux will reserve heap memory at address
>> which is not requested for compressed oops VM (usually above
>> 32Gb virtual address: 0x00002aaaae200000). But VM thinks
>> it did reserve at requested address and it does not need
>> protected page below heap, so the code in protect_noaccess_prefix()
>> is not executed.
>> Add missing checks. I also added few asserts and prints
>> to make sure memory reservation done correctly for
>> compressed oops.
>> Verified with CRMDemo.
More information about the hotspot-compiler-dev