Request for review: 8000968: NPG UseCompressedKlassPointers asserts withObjectAlignmentInBytes for > 32G Compressed Oops
Vladimir Kozlov
vladimir.kozlov at oracle.com
Tue Jan 22 12:04:43 PST 2013
Harold,
New condition is not accurate since it does not take into account
HeapBaseMinAddress. You need additional condition:
+ } else if (UseCompressedKlassPointers && (mode !=
HeapBasedNarrowOop) &&
+ (Universe::class_metaspace_size() + HeapBaseMinAddress <=
KlassEncodingMetaspaceMax) &&
+ (KlassEncodingMetaspaceMax + heap_size -
Universe::class_metaspace_size() <= OopEncodingHeapMax)) {
Vladimir
On 1/22/13 10:22 AM, harold seigel wrote:
> HI Roland,
>
> Thanks again for your comments. I incorporated them in this new webrev:
> http://cr.openjdk.java.net/~hseigel/bug_8000968_4/
> <http://cr.openjdk.java.net/%7Ehseigel/bug_8000968_4/>
>
> The only changes from the previous webrev are to module universe.cpp.
>
> Could you take another look when you have a chance?
>
> Thanks, Harold
>
> On 1/18/2013 6:44 AM, Roland Westrelin wrote:
>> Hi Harold,
>>
>>> I updated the webrev at
>>> http://cr.openjdk.java.net/~hseigel/bug_8000968_3/<http://cr.openjdk.java.net/%7Ehseigel/bug_8000968_3/>
>>> with this change.
>> 696 } else if ((total_size<= OopEncodingHeapMax)&& (mode !=
>> HeapBasedNarrowOop)&&
>> 697 (!UseCompressedKlassPointers ||
>> 698 (((OopEncodingHeapMax - heap_size) +
>> Universe::class_metaspace_size())<= KlassEncodingMetaspaceMax))) {
>>
>> heap_size< OopEncodingHeapMax - KlassEncodingMetaspaceMax is
>> possible, right? Then compressed klass pointers are off with this
>> code. So wouldn't you also want to check for:
>>
>> KlassEncodingMetaspaceMax + heap_size -
>> Universe::class_metaspace_size()<= OopEncodingHeapMax
>>
>> ?
>>
>> and then use KlassEncodingMetaspaceMax -
>> Universe::class_metaspace_size() as base.
>>
>> Roland.
More information about the hotspot-runtime-dev
mailing list