RFR(XS): 8178497: Bug in MutableNUMASpace::ensure_parsability

sangheon.kim sangheon.kim at oracle.com
Mon Nov 20 19:05:59 UTC 2017

Hi all,

Can I have some reviews for this tiny pointer arithmetic change?
Current code doesn't use pointer arithmetic, so the the resulting values 
are wrong(too small). i.e. adding two values first and then typecast to 
HeapWord* which is wrong here.
intptr_t cur_top = X;
size_t touched_words = XX;
align_down((HeapWord*)(cur_top + touched_words), XXX);

This should be 'align_down( (HeapWord*)cur_top + touched_words, XXXX);'.

As I don't see any good reason of using 'intptr_t', changed to use 
'HeapWord*' and changed related stuff.

I didn't add regression test or some further investigation as this is 
clear that the calculation is wrong. And hard to provoke the problem 

CR: https://bugs.openjdk.java.net/browse/JDK-8178497
Webrev: http://cr.openjdk.java.net/~sangheki/8178497/webrev.0
Testing: local building


More information about the hotspot-gc-dev mailing list