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.
e.g.
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 
outside.

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

Thanks,
Sangheon


More information about the hotspot-gc-dev mailing list