Long chains created by direct Buffer::slice
Paul Sandoz
paul.sandoz at oracle.com
Fri Aug 3 22:15:30 UTC 2018
Got caught up with JVMLS this week…
I searched but could not find a test, so i added one, see:
http://cr.openjdk.java.net/~psandoz/jdk/JDK-8208362-direct-buffer-att/webrev/ <http://cr.openjdk.java.net/~psandoz/jdk/JDK-8208362-direct-buffer-att/webrev/>
Paul.
> On Jul 27, 2018, at 12:35 PM, Paul Sandoz <Paul.Sandoz at oracle.com> wrote:
>
>
>
>> On Jul 27, 2018, at 1:09 AM, Florian Weimer <fw at deneb.enyo.de> wrote:
>>
>> * Paul Sandoz:
>>
>>> I created this issue:
>>>
>>> https://bugs.openjdk.java.net/browse/JDK-8208362
>>
>> Thanks.
>>
>>> The suggested fix requires a tweak though since an instance of a
>>> DirectBuffer interface is passed. This is required because views
>>> over direct ByteBuffers can be created.
>>
>> Noticed that as well.
>>
>>> diff -r 448cd909c9e2 src/java.base/share/classes/java/nio/Direct-X-Buffer.java.template
>>> --- a/src/java.base/share/classes/java/nio/Direct-X-Buffer.java.template Thu Jul 26 11:53:59 2018 -0700
>>> +++ b/src/java.base/share/classes/java/nio/Direct-X-Buffer.java.template Thu Jul 26 16:46:20 2018 -0700
>>> @@ -194,7 +194,8 @@
>>> #if[byte]
>>> cleaner = null;
>>> #end[byte]
>>> - att = db;
>>> + Object attachment = db.attachment();
>>> + att = (attachment == null ? db : attachment);
>>
>> This is essentially what I put through jtreg (jdk_core), without any
>> obvious issues,
>
> Thanks for testing.
>
>
>> but I had not time yet to file a bug and create a
>> webrev.
>
> Ah, my apologies, i did not realize you had author status.
>
>
>>
>> The parenthesis seem unnecessary. If this is an official JDK coding
>> style, it is not widely used.
>
>
> It is unusual but I chose to keep consistent with the style in the source.
>
> Paul.
More information about the core-libs-dev
mailing list