RFR: 8277204: Implement PAC-RET branch protection on Linux/AArch64 [v18]
Alan Hayward
duke at openjdk.java.net
Thu Feb 10 16:39:52 UTC 2022
On Mon, 7 Feb 2022 15:12:04 GMT, Andrew Haley <aph at openjdk.org> wrote:
>> How about extending the existing enter() function:
>>
>> // Enter a new stack frame for the current method.
>> // nested: Indicates a frame has already been entered (and not left) for the current method.
>> void MacroAssembler::enter(bool nested=false) {
>> if (nested) strip()
>> protect()
>> stp()
>> mov()
>> }
>>
>> This would add an additional bool check for every call of enter() - that's at code generation time, so probably not an issue.
>
> So, `nested` is true iff we are, say, pushing an extra frame for a runtime call in the middle of generated code, but for some mysterious reason the logic is inline instead of being implemented in the obvious way as a stub.
>
> Please do this as:
>
> ` MacroAssembler::enter(bool strip_return_address=false)`
>
> and I'll be happy. Please make sure that all calls are commented, as in
>
> `__ enter(/*strip_return_address*/true);`
>
> and I'll be happy.
Just about to resolve this ... then spotted the "make sure that all calls are commented". Will fix up.
-------------
PR: https://git.openjdk.java.net/jdk/pull/6334
More information about the build-dev
mailing list