On Mon, 7 Feb 2022 15:12:04 GMT, Andrew Haley <[email protected]> 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