RFR: 8267098: AArch64: C1 StubFrames end confusingly
Nick Gasson
ngasson at openjdk.java.net
Mon May 17 02:41:47 UTC 2021
On Fri, 14 May 2021 17:01:02 GMT, Andrew Haley <aph at openjdk.org> wrote:
>> That's fine, I'll leave that part as it. Knowing the motivation for this is useful, as every project is different.
>
> Sure, thanks. The commonality between this port and x86 means that in many cases we have taken x86 patches and applied them to this port, with a few tweaks. Of course the ports diverge over time, but even after almost ten years it still sometimes works.
>
> There's an urge from some contributors: when I suggest doing something in an easy-to-understand and clean way, people want to change everything else to match. This urge can be resisted, and IMVHO should be in this case. Churn is, in itself, bad.
Consistency is at least somewhat important though, right? This code is read much more often than it's modified, and in the case of the platform ports, often by people with less experience of OpenJDK as a whole. It seems worth spending a little time to do cleanups when modifying adjacent code, if it makes it easier to understand.
>
> And this case, is special, I think, because `does_not_return` uses the "don't do" anti-pattern, where the `true` case was `does_not_return`.
`dont_gc_arguments` is equally or more confusing because its value is false and then it gets passed to an argument `must_gc_arguments` whose sense is inverted. I don't see what's wrong with:
```c++
StubFrame f(sasm, "blah", /* must_gc_arguments */ false, /* does_not_return */ true);
-------------
PR: https://git.openjdk.java.net/jdk/pull/4030
More information about the hotspot-compiler-dev
mailing list