Re: RFR: 8324241: Always record evol_method deps to avoid excessive method flushing [v5]

2024-09-16 Thread leo liang
On Thu, 12 Sep 2024 15:44:21 GMT, Volker Simonis wrote: >> Hi there, we are seeing this issue when we run JFR on our services under >> load, we see a large spike of CPU after JFR is triggered, which cause 500 >> errors in our service. We are currently using corretto-17 in our service. >> >> Wo

Re: RFR: 8324241: Always record evol_method deps to avoid excessive method flushing [v5]

2024-09-12 Thread Volker Simonis
On Mon, 5 Aug 2024 00:32:40 GMT, leo liang wrote: > Hi there, we are seeing this issue when we run JFR on our services under > load, we see a large spike of CPU after JFR is triggered, which cause 500 > errors in our service. We are currently using corretto-17 in our service. > > Wondering thi

Re: RFR: 8324241: Always record evol_method deps to avoid excessive method flushing [v5]

2024-08-04 Thread leo liang
On Fri, 26 Jan 2024 13:14:57 GMT, Volker Simonis wrote: >> Currently we don't record dependencies on redefined methods (i.e. >> `evol_method` dependencies) in JIT compiled methods if none of the >> `can_redefine_classes`, `can_retransform_classes` or >> `can_generate_breakpoint_events` JVMTI c

Re: RFR: 8324241: Always record evol_method deps to avoid excessive method flushing [v5]

2024-03-25 Thread RacerZ
On Fri, 26 Jan 2024 13:14:57 GMT, Volker Simonis wrote: >> Currently we don't record dependencies on redefined methods (i.e. >> `evol_method` dependencies) in JIT compiled methods if none of the >> `can_redefine_classes`, `can_retransform_classes` or >> `can_generate_breakpoint_events` JVMTI c

Re: RFR: 8324241: Always record evol_method deps to avoid excessive method flushing [v5]

2024-02-28 Thread Evgeny Astigeevich
On Wed, 28 Feb 2024 07:32:47 GMT, RacerZ wrote: >> Volker Simonis has updated the pull request incrementally with one >> additional commit since the last revision: >> >> Fixed whitepspace in flag documentation > > Will this feature be incorporated into a lower version of JDK, like JDK 8? @Ra

Re: RFR: 8324241: Always record evol_method deps to avoid excessive method flushing [v5]

2024-02-28 Thread RacerZ
On Fri, 26 Jan 2024 13:14:57 GMT, Volker Simonis wrote: >> Currently we don't record dependencies on redefined methods (i.e. >> `evol_method` dependencies) in JIT compiled methods if none of the >> `can_redefine_classes`, `can_retransform_classes` or >> `can_generate_breakpoint_events` JVMTI c

Re: RFR: 8324241: Always record evol_method deps to avoid excessive method flushing [v5]

2024-01-26 Thread Volker Simonis
> Currently we don't record dependencies on redefined methods (i.e. > `evol_method` dependencies) in JIT compiled methods if none of the > `can_redefine_classes`, `can_retransform_classes` or > `can_generate_breakpoint_events` JVMTI capabalities is set. This means that > if a JVMTI agent which

Re: RFR: 8324241: Always record evol_method deps to avoid excessive method flushing [v4]

2024-01-26 Thread Volker Simonis
On Fri, 26 Jan 2024 09:36:49 GMT, Aleksey Shipilev wrote: >> Volker Simonis has updated the pull request incrementally with one >> additional commit since the last revision: >> >> Made the flag experimental and added an assertion to >> set_can_hotswap_or_post_breakpoint() > > src/hotspot/sha

Re: RFR: 8324241: Always record evol_method deps to avoid excessive method flushing [v4]

2024-01-26 Thread Volker Simonis
On Fri, 26 Jan 2024 09:33:17 GMT, Aleksey Shipilev wrote: >> Volker Simonis has updated the pull request incrementally with one >> additional commit since the last revision: >> >> Made the flag experimental and added an assertion to >> set_can_hotswap_or_post_breakpoint() > > src/hotspot/sha

Re: RFR: 8324241: Always record evol_method deps to avoid excessive method flushing [v4]

2024-01-26 Thread Aleksey Shipilev
On Wed, 24 Jan 2024 14:48:52 GMT, Volker Simonis wrote: >> Currently we don't record dependencies on redefined methods (i.e. >> `evol_method` dependencies) in JIT compiled methods if none of the >> `can_redefine_classes`, `can_retransform_classes` or >> `can_generate_breakpoint_events` JVMTI c

Re: RFR: 8324241: Always record evol_method deps to avoid excessive method flushing [v4]

2024-01-25 Thread Dean Long
On Wed, 24 Jan 2024 14:48:52 GMT, Volker Simonis wrote: >> Currently we don't record dependencies on redefined methods (i.e. >> `evol_method` dependencies) in JIT compiled methods if none of the >> `can_redefine_classes`, `can_retransform_classes` or >> `can_generate_breakpoint_events` JVMTI c

Re: RFR: 8324241: Always record evol_method deps to avoid excessive method flushing [v3]

2024-01-25 Thread Volker Simonis
On Tue, 23 Jan 2024 19:57:14 GMT, Vladimir Ivanov wrote: >> Volker Simonis has updated the pull request incrementally with one >> additional commit since the last revision: >> >> Updated option description and assertion based on review feedback > > I support keeping the logic under a flag. I

Re: RFR: 8324241: Always record evol_method deps to avoid excessive method flushing [v4]

2024-01-24 Thread Volker Simonis
> Currently we don't record dependencies on redefined methods (i.e. > `evol_method` dependencies) in JIT compiled methods if none of the > `can_redefine_classes`, `can_retransform_classes` or > `can_generate_breakpoint_events` JVMTI capabalities is set. This means that > if a JVMTI agent which

Re: RFR: 8324241: Always record evol_method deps to avoid excessive method flushing [v2]

2024-01-24 Thread Volker Simonis
On Tue, 23 Jan 2024 23:36:37 GMT, Dean Long wrote: >> A good question, but after deep digging (it took me quite some time to >> figure this out myself :) I don't think that >> `can_hotswap_or_post_breakpoint`/`all_dependencies_are_recorded` can ever be >> reset. Here's how it works: >> >> - t

Re: RFR: 8324241: Always record evol_method deps to avoid excessive method flushing [v2]

2024-01-23 Thread Dean Long
On Tue, 23 Jan 2024 16:37:35 GMT, Volker Simonis wrote: >> src/hotspot/share/runtime/init.cpp line 121: >> >>> 119: if (AlwaysRecordEvolDependencies) { >>> 120: JvmtiExport::set_can_hotswap_or_post_breakpoint(true); >>> 121: JvmtiExport::set_all_dependencies_are_recorded(true); >> >>

Re: RFR: 8324241: Always record evol_method deps to avoid excessive method flushing [v3]

2024-01-23 Thread Vladimir Ivanov
On Tue, 23 Jan 2024 19:00:51 GMT, Volker Simonis wrote: >> Currently we don't record dependencies on redefined methods (i.e. >> `evol_method` dependencies) in JIT compiled methods if none of the >> `can_redefine_classes`, `can_retransform_classes` or >> `can_generate_breakpoint_events` JVMTI c

Re: RFR: 8324241: Always record evol_method deps to avoid excessive method flushing [v3]

2024-01-23 Thread Evgeny Astigeevich
On Tue, 23 Jan 2024 19:00:51 GMT, Volker Simonis wrote: >> Currently we don't record dependencies on redefined methods (i.e. >> `evol_method` dependencies) in JIT compiled methods if none of the >> `can_redefine_classes`, `can_retransform_classes` or >> `can_generate_breakpoint_events` JVMTI c

Re: RFR: 8324241: Always record evol_method deps to avoid excessive method flushing [v3]

2024-01-23 Thread Volker Simonis
> Currently we don't record dependencies on redefined methods (i.e. > `evol_method` dependencies) in JIT compiled methods if none of the > `can_redefine_classes`, `can_retransform_classes` or > `can_generate_breakpoint_events` JVMTI capabalities is set. This means that > if a JVMTI agent which

Re: RFR: 8324241: Always record evol_method deps to avoid excessive method flushing [v2]

2024-01-23 Thread Volker Simonis
On Mon, 22 Jan 2024 23:38:40 GMT, John R Rose wrote: >> src/hotspot/share/runtime/globals.hpp line 2014: >> >>> 2012: >>> \ >>> 2013: product(bool, AlwaysRecordEvolDependencies, true, DIAGNOSTIC, >>> \ >>

Re: RFR: 8324241: Always record evol_method deps to avoid excessive method flushing [v2]

2024-01-23 Thread Volker Simonis
On Tue, 23 Jan 2024 10:06:34 GMT, Aleksey Shipilev wrote: >> Volker Simonis has updated the pull request incrementally with one >> additional commit since the last revision: >> >> Guard the feature with a diagnostic option and update the comments in the >> code > > src/hotspot/share/prims/jv

Re: RFR: 8324241: Always record evol_method deps to avoid excessive method flushing [v2]

2024-01-23 Thread Volker Simonis
On Tue, 23 Jan 2024 03:31:59 GMT, Dean Long wrote: >> Volker Simonis has updated the pull request incrementally with one >> additional commit since the last revision: >> >> Guard the feature with a diagnostic option and update the comments in the >> code > > src/hotspot/share/runtime/init.cp

Re: RFR: 8324241: Always record evol_method deps to avoid excessive method flushing [v2]

2024-01-23 Thread Aleksey Shipilev
On Mon, 22 Jan 2024 21:26:41 GMT, Volker Simonis wrote: >> Currently we don't record dependencies on redefined methods (i.e. >> `evol_method` dependencies) in JIT compiled methods if none of the >> `can_redefine_classes`, `can_retransform_classes` or >> `can_generate_breakpoint_events` JVMTI c

Re: RFR: 8324241: Always record evol_method deps to avoid excessive method flushing [v2]

2024-01-22 Thread Dean Long
On Mon, 22 Jan 2024 21:26:41 GMT, Volker Simonis wrote: >> Currently we don't record dependencies on redefined methods (i.e. >> `evol_method` dependencies) in JIT compiled methods if none of the >> `can_redefine_classes`, `can_retransform_classes` or >> `can_generate_breakpoint_events` JVMTI c

Re: RFR: 8324241: Always record evol_method deps to avoid excessive method flushing [v2]

2024-01-22 Thread Coleen Phillimore
On Mon, 22 Jan 2024 23:37:35 GMT, John R Rose wrote: >> src/hotspot/share/runtime/globals.hpp line 2013: >> >>> 2011: "Profile exception handlers") >>> \ >>> 2012: >>> \ >>

Re: RFR: 8324241: Always record evol_method deps to avoid excessive method flushing [v2]

2024-01-22 Thread John R Rose
On Mon, 22 Jan 2024 23:26:08 GMT, Evgeny Astigeevich wrote: >> Volker Simonis has updated the pull request incrementally with one >> additional commit since the last revision: >> >> Guard the feature with a diagnostic option and update the comments in the >> code > > src/hotspot/share/runti

Re: RFR: 8324241: Always record evol_method deps to avoid excessive method flushing [v2]

2024-01-22 Thread Coleen Phillimore
On Mon, 22 Jan 2024 21:26:41 GMT, Volker Simonis wrote: >> Currently we don't record dependencies on redefined methods (i.e. >> `evol_method` dependencies) in JIT compiled methods if none of the >> `can_redefine_classes`, `can_retransform_classes` or >> `can_generate_breakpoint_events` JVMTI c

Re: RFR: 8324241: Always record evol_method deps to avoid excessive method flushing [v2]

2024-01-22 Thread Evgeny Astigeevich
On Mon, 22 Jan 2024 21:26:41 GMT, Volker Simonis wrote: >> Currently we don't record dependencies on redefined methods (i.e. >> `evol_method` dependencies) in JIT compiled methods if none of the >> `can_redefine_classes`, `can_retransform_classes` or >> `can_generate_breakpoint_events` JVMTI c

Re: RFR: 8324241: Always record evol_method deps to avoid excessive method flushing [v2]

2024-01-22 Thread Evgeny Astigeevich
On Mon, 22 Jan 2024 21:26:41 GMT, Volker Simonis wrote: >> Currently we don't record dependencies on redefined methods (i.e. >> `evol_method` dependencies) in JIT compiled methods if none of the >> `can_redefine_classes`, `can_retransform_classes` or >> `can_generate_breakpoint_events` JVMTI c

Re: RFR: 8324241: Always record evol_method deps to avoid excessive method flushing

2024-01-22 Thread Volker Simonis
On Sat, 20 Jan 2024 19:48:07 GMT, Volker Simonis wrote: > Currently we don't record dependencies on redefined methods (i.e. > `evol_method` dependencies) in JIT compiled methods if none of the > `can_redefine_classes`, `can_retransform_classes` or > `can_generate_breakpoint_events` JVMTI capab

Re: RFR: 8324241: Always record evol_method deps to avoid excessive method flushing [v2]

2024-01-22 Thread Volker Simonis
> Currently we don't record dependencies on redefined methods (i.e. > `evol_method` dependencies) in JIT compiled methods if none of the > `can_redefine_classes`, `can_retransform_classes` or > `can_generate_breakpoint_events` JVMTI capabalities is set. This means that > if a JVMTI agent which

Re: RFR: 8324241: Always record evol_method deps to avoid excessive method flushing

2024-01-22 Thread Coleen Phillimore
On Sat, 20 Jan 2024 19:48:07 GMT, Volker Simonis wrote: > Currently we don't record dependencies on redefined methods (i.e. > `evol_method` dependencies) in JIT compiled methods if none of the > `can_redefine_classes`, `can_retransform_classes` or > `can_generate_breakpoint_events` JVMTI capab

Re: RFR: 8324241: Always record evol_method deps to avoid excessive method flushing

2024-01-22 Thread Evgeny Astigeevich
On Mon, 22 Jan 2024 16:37:14 GMT, Aleksey Shipilev wrote: >> Currently we don't record dependencies on redefined methods (i.e. >> `evol_method` dependencies) in JIT compiled methods if none of the >> `can_redefine_classes`, `can_retransform_classes` or >> `can_generate_breakpoint_events` JVMTI

Re: RFR: 8324241: Always record evol_method deps to avoid excessive method flushing

2024-01-22 Thread Paul Hohensee
On Sat, 20 Jan 2024 19:48:07 GMT, Volker Simonis wrote: > Currently we don't record dependencies on redefined methods (i.e. > `evol_method` dependencies) in JIT compiled methods if none of the > `can_redefine_classes`, `can_retransform_classes` or > `can_generate_breakpoint_events` JVMTI capab

Re: RFR: 8324241: Always record evol_method deps to avoid excessive method flushing

2024-01-22 Thread Aleksey Shipilev
On Sat, 20 Jan 2024 19:48:07 GMT, Volker Simonis wrote: > Instead of unconditionally recording evol_method dependencies we could guard > the recording by a new flag. But this would only make sense if that flag > would be on by default and I don't know if such a flag is justified just for > the

Re: RFR: 8324241: Always record evol_method deps to avoid excessive method flushing

2024-01-22 Thread Evgeny Astigeevich
On Sat, 20 Jan 2024 19:48:07 GMT, Volker Simonis wrote: > Currently we don't record dependencies on redefined methods (i.e. > `evol_method` dependencies) in JIT compiled methods if none of the > `can_redefine_classes`, `can_retransform_classes` or > `can_generate_breakpoint_events` JVMTI capab