On Sun, 24 Jan 2021 16:10:44 GMT, Anton Kozlov <[email protected]> wrote:
>> src/hotspot/cpu/aarch64/interpreterRT_aarch64.cpp line 394:
>>
>>> 392:
>>> 393: class SlowSignatureHandler
>>> 394: : public NativeSignatureIterator {
>>
>> SlowSignatureHandler is turning into a maintenance nightmare. This isn't the
>> fault of this commit so much as some nasty cut-and-paste programming in the
>> code you're editing. It might well be better to rewrite this whole thing to
>> use a table-driven approach, with a table that contains the increment and
>> the size of each native type: then we'd have only a single routine which
>> could pass data of any type, and each OS needs only supply a table of
>> constants.
>
> Would you like me to do something about it now? The problem is that the
> functions of SlowSignatureHandler are subtly different, so it will be
> multiple tables, not sure how many. Such change is another candidate for a
> separate code enhancement, which I would like not to mix into the JEP
> implementation (it's already not a small change :)). But if you think it
> would be a good thing, please let me know. In another case, I'll add this to
> a queue of follow-up enhancements.
I'm not sure it can wait. This change turns already-messy code into something
significantly messier, to the extent that it's not really good enough to go
into mainline.
-------------
PR: https://git.openjdk.java.net/jdk/pull/2200