[9] RFR(L) 8158168: SIGSEGV: CollectedHeap::fill_with_objects(HeapWord*, unsigned long, bool)+0xa8

dean.long at oracle.com dean.long at oracle.com
Tue Mar 21 07:37:49 UTC 2017


On 3/20/17 11:10 PM, Xueming Shen wrote:

> Hi Dean,
>
> Thanks for doing this.
>
> Though as I suggested last time personally I prefer to make minimum 
> change to simply
> seal those holes in ASB at this late stage of JDK9. I'm fine with the 
> webrev.2 and it looks
> better and reasonable to pull all UTF16 operations into StringUTF16.java.
>
> Just for my curiosity, does the change in String#1810 make difference?
>

Yes, it's in the spirit of the comment "return immediately where 
possible", and allows me to have

474 assert fromIndex >= 0;

in StringUTF16.lastIndexOf(). This is because fromIndex can go negative 
at String#1808.

Thanks for the review.

dl

> Thanks!
> Sherman
>
>
>
> On 3/17/17, 3:07 PM, dean.long at oracle.com wrote:
>> I posted two new versions, webrev.1 keeping the Trusted inner class:
>>
>> http://cr.openjdk.java.net/~dlong/8158168/webrev.1/
>>
>> and webrev.2 with it removed:
>>
>> http://cr.openjdk.java.net/~dlong/8158168/webrev.2/
>>
>> dl
>>
>> On 3/17/17 5:58 AM, Vladimir Ivanov wrote:
>>>
>>>>> 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. 
>>
>



More information about the core-libs-dev mailing list