Re: RFR: 8314029: Add file name parameter to Compiler.perfmap [v5]

2023-12-05 Thread Evgeny Astigeevich
On Fri, 1 Dec 2023 21:25:19 GMT, Chris Plummer wrote: >> Yi-Fan Tsai has updated the pull request incrementally with one additional >> commit since the last revision: >> >> Apply man changes > > src/hotspot/share/code/codeCache.cpp line 1809: > >> 1807: } >> 1808: >> 1809: void CodeCache::w

Re: RFR: 8314029: Add file name parameter to Compiler.perfmap [v5]

2023-12-07 Thread Evgeny Astigeevich
On Tue, 5 Dec 2023 20:13:11 GMT, Chris Plummer wrote: >> Hi Chris, >> The current design of `write_perf_map` provides a clean and explicit >> interface. The purpose of the function is evident from its signature: to >> write a perf map into a specified file. This explicitness makes the code >>

Re: RFR: 8314029: Add file name parameter to Compiler.perfmap [v8]

2023-12-12 Thread Evgeny Astigeevich
On Mon, 11 Dec 2023 22:41:56 GMT, Yi-Fan Tsai wrote: >> `jcmd Compiler.perfmap` uses the hard-coded file name for a perf map: >> `/tmp/perf-%d.map`. This change adds an optional argument for specifying a >> file name. >> >> `jcmd PID help Compiler.perfmap` shows the following usage. >> >> >>

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

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 [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 [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 [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

RFR: 8332111: [BACKOUT] A way to align already compiled methods with compiler directives

2024-05-13 Thread Evgeny Astigeevich
Backout of [JDK-8309271](https://bugs.openjdk.org/browse/JDK-8309271) which has known bugs, possible bugs and performance issues. Found bugs: - When refreshing `CompilerDirectivesAddDCmd::execute` will call `DirectivesStack::hasMatchingDirectives(mh, true)` which only considers the compiler dir

Re: RFR: 8332111: [BACKOUT] A way to align already compiled methods with compiler directives

2024-05-13 Thread Evgeny Astigeevich
On Mon, 13 May 2024 13:52:17 GMT, Dmitry Chuyko wrote: > Are there any high severity problems caused by the original PR? Especially > not in the new functionality. Minor issues could be probably addressed > without backing out the entire functionality. Yes, there are: > 1. Usually directives

Re: RFR: 8332111: [BACKOUT] A way to align already compiled methods with compiler directives

2024-05-13 Thread Evgeny Astigeevich
On Mon, 13 May 2024 14:34:50 GMT, Dmitry Chuyko wrote: > So there are cases when new functionality doesn't work as expected (I don't > see any other users impacted). Why not file bugs for those cases and estimate > their impact? Do you know any users using the new functionality? -

Re: RFR: 8332111: [BACKOUT] A way to align already compiled methods with compiler directives

2024-05-13 Thread Evgeny Astigeevich
On Mon, 13 May 2024 13:03:26 GMT, Evgeny Astigeevich wrote: > Backout of [JDK-8309271](https://bugs.openjdk.org/browse/JDK-8309271) which > has known bugs, possible bugs and performance issues. REDO work is tracked by > [JDK-8331749](https://bugs.openjdk.org/browse/JDK-8331749). &

Re: RFR: 8332111: [BACKOUT] A way to align already compiled methods with compiler directives

2024-05-13 Thread Evgeny Astigeevich
On Mon, 13 May 2024 16:29:35 GMT, Vladimir Kozlov wrote: > do you have tests which shows issues you listed in description? Here is a jtreg test: - `refresh_control.02.txt` [ { match: "serviceability.dcmd.compiler.DirectivesRefreshTest::callable", c2: { PrintOptoAssembly: true

Re: RFR: 8332111: [BACKOUT] A way to align already compiled methods with compiler directives

2024-05-13 Thread Evgeny Astigeevich
On Mon, 13 May 2024 13:03:26 GMT, Evgeny Astigeevich wrote: > Backout of [JDK-8309271](https://bugs.openjdk.org/browse/JDK-8309271) which > has known bugs, possible bugs and performance issues. REDO work is tracked by > [JDK-8331749](https://bugs.openjdk.org/browse/JDK-8331749). &

Re: RFR: 8332111: [BACKOUT] A way to align already compiled methods with compiler directives

2024-05-13 Thread Evgeny Astigeevich
On Mon, 13 May 2024 16:29:35 GMT, Vladimir Kozlov wrote: > How you found these issues? I've been backporting JDK-8309271 to downstream 17 and 21. As compilations happens in background but a test from JDK-8309271 runs with background compilation off, I asked myself what might happen with backgr

Re: RFR: 8332111: [BACKOUT] A way to align already compiled methods with compiler directives

2024-05-13 Thread Evgeny Astigeevich
On Mon, 13 May 2024 13:03:26 GMT, Evgeny Astigeevich wrote: > Backout of [JDK-8309271](https://bugs.openjdk.org/browse/JDK-8309271) which > has known bugs, possible bugs and performance issues. REDO work is tracked by > [JDK-8331749](https://bugs.openjdk.org/browse/JDK-8331749). &

Re: RFR: 8332111: [BACKOUT] A way to align already compiled methods with compiler directives

2024-05-15 Thread Evgeny Astigeevich
On Mon, 13 May 2024 22:43:44 GMT, Vladimir Kozlov wrote: >> What if instead of backing out we will use an experimental JVM flag: >> `XX:+CompilerDirectivesRefreshSupport`? > >> What if instead of backing out we will use an experimental JVM flag: >> `XX:+CompilerDirectivesRefreshSupport`? > > I

Integrated: 8332111: [BACKOUT] A way to align already compiled methods with compiler directives

2024-05-15 Thread Evgeny Astigeevich
On Mon, 13 May 2024 13:03:26 GMT, Evgeny Astigeevich wrote: > Backout of [JDK-8309271](https://bugs.openjdk.org/browse/JDK-8309271) which > has known bugs, possible bugs and performance issues. REDO work is tracked by > [JDK-8331749](https://bugs.openjdk.org/browse/JDK-8331749). &

RFR: 8333891: Method excluded with directive is not compiled after removal of directive

2024-06-10 Thread Evgeny Astigeevich
We can exclude Java methods from compilation with compiler directives. Later we can remove those directives. This PR fixes a bug that after removal of those directives Java methods don't become compilable. A regression test is added. Tested fastdebug build with a new test and tier1 tests. -

Re: RFR: 8333891: Method excluded with directive is not compiled after removal of directive

2024-06-12 Thread Evgeny Astigeevich
On Mon, 10 Jun 2024 20:05:03 GMT, Evgeny Astigeevich wrote: > We can exclude Java methods from compilation with compiler directives. Later > we can remove those directives. > This PR fixes a bug that after removal of those directives Java methods don't > become compilable. &g

Re: RFR: 8333891: Method excluded with directive is not compiled after removal of directive

2024-06-17 Thread Evgeny Astigeevich
On Wed, 12 Jun 2024 20:05:28 GMT, Evgeny Astigeevich wrote: > Test `runtime/BootstrapMethod/BSMCalledTwice.java` might have failed on > Windows x64 because of the change. I managed to reproduce the failure. The test fails because of my change. There is a data race: Thread1: cleanin

Re: RFR: 8333891: Method excluded with directive is not compiled after removal of directive [v2]

2024-06-22 Thread Evgeny Astigeevich
build with a new test and tier1 tests. Evgeny Astigeevich has updated the pull request incrementally with one additional commit since the last revision: Fix data race - Changes: - all: https://git.openjdk.org/jdk/pull/19637/files - new: https://git.openjdk.org/jdk/pull/1963

Re: RFR: 8333891: Method excluded with directive is not compiled after removal of directive [v2]

2024-07-01 Thread Evgeny Astigeevich
On Sat, 22 Jun 2024 09:30:25 GMT, Evgeny Astigeevich wrote: >> A Java method can become non-compilable if there are issues with its >> compilation or if its compiled version causes problems. Additionally, a >> method can be marked as non-compilable using a compile com

Re: RFR: 8333891: Method excluded with directive is not compiled after removal of directive [v2]

2024-07-01 Thread Evgeny Astigeevich
On Fri, 28 Jun 2024 15:15:31 GMT, Damon Fenacci wrote: >> Evgeny Astigeevich has updated the pull request incrementally with one >> additional commit since the last revision: >> >> Fix data race > > src/hotspot/share/compiler/compileBroker.cpp line 1336: >

Re: RFR: 8333891: Method excluded with directive is not compiled after removal of directive

2024-09-02 Thread Evgeny Astigeevich
On Mon, 2 Sep 2024 11:29:05 GMT, Damon Fenacci wrote: >>> Test `runtime/BootstrapMethod/BSMCalledTwice.java` might have failed on >>> Windows x64 because of the change. >> >> I managed to reproduce the failure. The test fails because of my change. >> There is a data race: >> >> Thread1: cleani

Re: RFR: 8314029: Add file name parameter to Compiler.perfmap

2023-09-22 Thread Evgeny Astigeevich
On Thu, 21 Sep 2023 20:43:56 GMT, Yi-Fan Tsai wrote: > `jcmd Compiler.perfmap` uses the hard-coded file name for a perf map: > `/tmp/perf-%d.map`. This change adds an option for specifying a file name. > > The help message of Compiler.perfmap: > > Compiler.perfmap > Write map file for Linux pe