[9] RFR(L) 8158168: SIGSEGV: CollectedHeap::fill_with_objects(HeapWord*, unsigned long, bool)+0xa8
Vladimir Ivanov
vladimir.x.ivanov at oracle.com
Fri Mar 17 12:58:30 UTC 2017
>> I have the same concern. Can we fix the immediate problem in 9 and
>> integrate verification logic in 10?
>>
>
> OK, Tobias is suggesting having verification logic only inside the
> intrinsics. Are you suggesting removing that as well?
Yes and put them back in 10.
> I'm OK with removing all the verification, but that won't reduce the
> library changes much. I could undo the renaming to Trusted.getChar, but
> we would still have the bounds checks moved into StringUTF16.
I suggest to go with a point fix for 9: just add missing range checks.
Is AbstractStringBuilder.append() the only affected method? (Sorry, it's
hard to say exactly where the problem is by looking at the diff.)
I really like the refactoring you propose on jdk side, but there are
pieces I'm not sure about. For example, I spotted a repeated range check:
jdk/src/java.base/share/classes/java/lang/AbstractStringBuilder.java:
public void setCharAt(int index, char ch) {
checkIndex(index, count);
if (isLatin1() && StringLatin1.canEncode(ch)) {
value[index] = (byte)ch;
} else {
if (isLatin1()) {
inflate();
}
StringUTF16.putCharSB(value, index, ch);
}
}
Best regards,
Vladimir Ivanov
More information about the hotspot-compiler-dev
mailing list