RFR: 8256732: Zero: broken +ZeroTLAB exposes badly initialized memory [v4]

Aleksey Shipilev shade at openjdk.java.net
Tue Mar 16 09:15:22 UTC 2021


On Tue, 16 Mar 2021 09:07:45 GMT, David Holmes <dholmes at openjdk.org> wrote:

>> Aleksey Shipilev has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains six commits:
>> 
>>  - Refactor TLAB allocation code a bit
>>  - Adjust for the fact ThreadLocalAllocBuffer can mangle object space
>>  - Merge branch 'master' into JDK-8256732-zero-zerotlab-broken
>>  - Merge branch 'master' into JDK-8256732-zero-zerotlab-broken
>>  - Maintain the body/header initialization order
>>  - 8256732: Zero: broken +ZeroTLAB exposes badly initialized memory
>
> src/hotspot/share/interpreter/zero/bytecodeInterpreter.cpp line 1817:
> 
>> 1815:               //   - if TLAB is pre-zeroed, we can skip this path
>> 1816:               //   - in debug mode, ThreadLocalAllocBuffer::allocate mangles
>> 1817:               //     this area, and we still need to initialize it
> 
> That still sounds like a bug to me.

It really does. But after spending some time in that code, I came to tentative conclusion it would be easier to just deprecate `ZeroTLAB` instead of trying to fix it.

-------------

PR: https://git.openjdk.java.net/jdk/pull/1343


More information about the hotspot-runtime-dev mailing list