[PATCH] D17993: [CodeGen] Apply 'nonnull' and 'dereferenceable(N)' to 'this' pointer arguments.
Benjamin Kramer via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Sat Nov 21 03:14:53 PST 2020
bkramer added a comment.
In D17993#2409401 <https://reviews.llvm.org/D17993#2409401>, @brooksmoses wrote:
> So, I have bad news: This causes OpenJDK to segfault. The relevant code is here:
> https://github.com/openjdk/jdk/blob/master/src/hotspot/share/memory/arena.cpp#L311
>
> void Arena::destruct_contents() {
> if (UseMallocOnly && _first != NULL) {
> char* end = _first->next() ? _first->top() : _hwm;
> free_malloced_objects(_first, _first->bottom(), end, _hwm);
> }
> // reset size before chop to avoid a rare racing condition
> // that can have total arena memory exceed total chunk memory
> set_size_in_bytes(0);
> _first->chop();
> reset();
> }
>
> I've also seen a segfault in Verilator that root-causes to this patch, though I haven't yet tracked that down to the source code.
>
> I hate to say it, but is this a significant enough problem to call for a (temporary, I hope) rollback?
I don't see why this would be enough for a rollback, jdk is supposed to build with `-fno-delete-null-pointer-checks`, which disables this optimization:
https://github.com/openjdk/jdk/blob/master/make/autoconf/flags-cflags.m4#L842
Is the build system not setting this when using Clang?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D17993/new/
https://reviews.llvm.org/D17993
More information about the cfe-commits
mailing list