# HG changeset patch # User Roland Schatz # Date 1439299073 -7200 # Node ID ca5200277c37854e60932897999e8facc4c6c4e3 # Parent 9c55f608b79e19647fb7a45afec3280b07bc47fa Assertion checking alignment requirements in data section. diff -r 9c55f608b79e -r ca5200277c37 jvmci/jdk.internal.jvmci.hotspot/src/jdk/internal/jvmci/hotspot/HotSpotCodeCacheProvider.java --- a/jvmci/jdk.internal.jvmci.hotspot/src/jdk/internal/jvmci/hotspot/HotSpotCodeCacheProvider.java Mon Aug 17 12:10:55 2015 +0200 +++ b/jvmci/jdk.internal.jvmci.hotspot/src/jdk/internal/jvmci/hotspot/HotSpotCodeCacheProvider.java Tue Aug 11 15:17:53 2015 +0200 @@ -223,9 +223,12 @@ int alignment = 1; for (int i = 0; i < constants.length; i++) { Data data = createSingleDataItem(constants[i]); - size += data.getSize(); + + assert size % data.getAlignment() == 0 : "invalid alignment in packed constants"; + alignment = DataSection.lcm(alignment, data.getAlignment()); + builders[i] = data.getBuilder(); - alignment = DataSection.lcm(alignment, data.getAlignment()); + size += data.getSize(); } DataBuilder ret = (buffer, patches) -> { for (DataBuilder b : builders) {