RFR(XS): 8178497: Bug in MutableNUMASpace::ensure_parsability
sangheon.kim at oracle.com
Mon Nov 20 19:05:59 UTC 2017
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
Testing: local building
More information about the hotspot-gc-dev