On Tue, 1 Jun 2021 13:23:49 GMT, Erik Joelsson <er...@openjdk.org> wrote:
> I left a comment in the bug that you haven't answered. Sorry, don't have write access to the bug. To answer your comment > You seem to be mixing up -fno-delete-null-pointer-checks and > -fdelete-null-pointer-checks between the description text and the bug title. > Which one is it? I meant `-fno-delete-null-pointer-checks`, which is _not_ the default and which is why it needs to be specified explicitly. This piece is from the [clang command line reference](https://clang.llvm.org/docs/ClangCommandLineReference.html): -fdelete-null-pointer-checks, -fno-delete-null-pointer-checks Treat usage of null pointers as undefined behavior (default) Without `-fno-delete-null-pointer-checks`, starting from clang 12 `this` pointer will be assumed to never be null, which it sometimes is in the JVM code. And we don't want this to be treated as undefined behavior because that would give the compiler too much freedom in transforming the code, quite possibly destroying the intent of the author of said code. ------------- PR: https://git.openjdk.java.net/jdk/pull/4166