If ContendedPaddingWidth is zero, method fill_holes() triggers an assertion failure when trying to insert the padding blocks.
#
# Internal Error ( /openjdk/nb/rs6000_64/nightly/jdk/src/hotspot/share/classfile/fieldLayoutBuilder.cpp:48), pid=16449912, tid=258
# assert(size > 0) failed: Sanity check
#
from
if (super_klass->has_contended_annotations()) {
LayoutRawBlock* p = new LayoutRawBlock(LayoutRawBlock::PADDING, ContendedPaddingWidth);
Method fill_holes() should not try to insert a padding block itself, but should call FieldLayoutBuilder::insert_contended_padding() which is designed to handle the case where ContendedPaddingWidth is zero.
#
# Internal Error ( /openjdk/nb/rs6000_64/nightly/jdk/src/hotspot/share/classfile/fieldLayoutBuilder.cpp:48), pid=16449912, tid=258
# assert(size > 0) failed: Sanity check
#
from
if (super_klass->has_contended_annotations()) {
LayoutRawBlock* p = new LayoutRawBlock(LayoutRawBlock::PADDING, ContendedPaddingWidth);
Method fill_holes() should not try to insert a padding block itself, but should call FieldLayoutBuilder::insert_contended_padding() which is designed to handle the case where ContendedPaddingWidth is zero.
- relates to
-
JDK-8237767 Field layout computation overhaul
-
- Resolved
-