RFR: 8253795: Implementation of JEP 391: macOS/AArch64 Port [v8]
Andrew Haley
aph at openjdk.java.net
Wed Feb 17 15:55:51 UTC 2021
On Tue, 16 Feb 2021 06:24:05 GMT, Vladimir Kempik <vkempik at openjdk.org> wrote:
>> This is when passing a float, yes? In the case where we have more float arguments than n_float_register_parameters_c.
>> I don't understand why you think it's acceptable to bail in this case. Can you explain, please?
>
> it's for everything that uses less than 8 bytes on a stack( ints ( 4), shorts(2), bytes(1), floats(4)).
> currently native wrapper generation does not support such cases at all, it needs refactoring before this can be implemented.
> So when a method has more argument than can be placed in registers, we may have issues.
>
> So we just bailing out to interpreter in case when a smaller (<=4 b) type is going to be passed thru the stack.
>
> There was attempt to implement handling such cases but currently it requires some hacks (like using some vectors for non-specific task) - https://github.com/openjdk/aarch64-port/pull/3
OK. I checked and the Panama preview doesn't support direct native calls for stack arguments, so we're good for now.
-------------
PR: https://git.openjdk.java.net/jdk/pull/2200
More information about the security-dev
mailing list