RFR: 8256754: Deoptimization::revoke_for_object_deoptimization: stack processing start call is redundant

Erik Österlund eosterlund at openjdk.java.net
Tue Nov 24 08:46:57 UTC 2020


On Mon, 23 Nov 2020 11:40:49 GMT, Richard Reingruber <rrich at openjdk.org> wrote:

> This is a XS clean-up of Deoptimization::revoke_for_object_deoptimization() which removes the StackWatermarkSet::start_processing() call.
> 
> This is correct because all paths leading to revoke_for_object_deoptimization() are equipped with a KeepStackGCProcessedMark.
> 
> Call Tree:
> 
> StackWatermarkSet::start_processing(JavaThread *, enum StackWatermarkKind) : void
>     Deoptimization::revoke_for_object_deoptimization(JavaThread *, frame, RegisterMap *, JavaThread *) : void
>         Deoptimization::deoptimize_objects_internal(JavaThread *, GrowableArray<compiledVFrame *> *, bool &) : bool
>             EscapeBarrier::deoptimize_objects_internal(JavaThread *, intptr_t *) : bool
>                 EscapeBarrier::deoptimize_objects_all_threads() : bool                     // has KeepStackGCProcessedMark
>                 EscapeBarrier::deoptimize_objects(intptr_t *) : bool
>                     EscapeBarrier::deoptimize_objects(int, int) : bool                     // has KeepStackGCProcessedMark 
> 
> Testing: hotspot_serviceability, jdk_svc, jdk_jdi, vmTestbase_nsk_jdi, vmTestbase_nsk_jvmti, vmTestbase_nsk_jdwp with -XX:+UseZGC.

Looks good.

-------------

Marked as reviewed by eosterlund (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/1381


More information about the hotspot-dev mailing list