Another question about JEP 270: Reserved Stack Areas for Critical Sections
Frederic Parain
frederic.parain at oracle.com
Mon Jan 9 15:31:14 UTC 2017
Hi Andrew,
I re-read this code a few days ago and I had the same question.
I believe it is a useless left over.
The throw_delayed_StackOverflowError entry has no additional argument,
and because it unconditionally starts the propagation of an exception,
the frame is destroyed and nobody can use this value on the stack.
I think it is safe to remove but I'll run some tests to double check.
Regards,
Fred
On 01/09/2017 10:16 AM, Andrew Haley wrote:
> In interp_masm_x86.cpp I see:
>
> void InterpreterMacroAssembler::remove_activation(
> ...
> cmpptr(rbx, Address(rthread, JavaThread::reserved_stack_activation_offset()));
> jcc(Assembler::lessEqual, no_reserved_zone_enabling);
>
> call_VM_leaf(
> CAST_FROM_FN_PTR(address, SharedRuntime::enable_stack_reserved_zone), rthread);
> push(rthread);
> call_VM(noreg, CAST_FROM_FN_PTR(address,
> InterpreterRuntime::throw_delayed_StackOverflowError));
> should_not_reach_here();
>
> What does push(rthread) do?
>
> Thanks,
>
> Andrew.
>
More information about the hotspot-runtime-dev
mailing list