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

2024-05-13 Thread Vladimir Kozlov
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). > > Found

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

2024-05-13 Thread Vladimir Kozlov
On Mon, 13 May 2024 21:08:08 GMT, Evgeny Astigeevich wrote: > What if instead of backing out we will use an experimental JVM flag: > `XX:+CompilerDirectivesRefreshSupport`? I don't think this is correct way to fix the bug. - PR Comment:

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

2024-05-13 Thread Vladimir Kozlov
On Mon, 13 May 2024 20:46:06 GMT, Evgeny Astigeevich wrote: > There is a race among a thread updating directives, compiler threads and > CodeCache cleaning threads. We don't properly lock the directives stack, the > compile queue and CodeCache to manage the race. This is indeed concerning.

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

2024-05-13 Thread Vladimir Kozlov
On Mon, 13 May 2024 14:42: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). >> >>

Integrated: 8331087: Move immutable nmethod data from CodeCache

2024-04-29 Thread Vladimir Kozlov
On Fri, 26 Apr 2024 21:16:03 GMT, Vladimir Kozlov wrote: > Move immutable nmethod's data from CodeCache to C heap. It includes > `dependencies, nul_chk_table, handler_table, scopes_pcs, scopes_data, > speculations`. It amounts for about 30% (optimized VM) of space in CodeCache.

Re: RFR: 8331087: Move immutable nmethod data from CodeCache [v2]

2024-04-29 Thread Vladimir Kozlov
On Sun, 28 Apr 2024 23:37:22 GMT, Vladimir Kozlov wrote: >> Move immutable nmethod's data from CodeCache to C heap. It includes >> `dependencies, nul_chk_table, handler_table, scopes_pcs, scopes_data, >> speculations`. It amounts for about 30% (optimized VM) of space in Cod

Re: RFR: 8331087: Move immutable nmethod data from CodeCache [v2]

2024-04-29 Thread Vladimir Kozlov
On Mon, 29 Apr 2024 06:33:09 GMT, Tobias Hartmann wrote: > Looks good to me. Did you measure any impact on performance (potentially due > to improved code density)? Thank you, @TobiHartmann, for review. > What's left for [JDK-7072317](https://bugs.openjdk.org/browse/JDK-7072317)? Make

Re: RFR: 8331087: Move immutable nmethod data from CodeCache [v2]

2024-04-28 Thread Vladimir Kozlov
On Sun, 28 Apr 2024 23:37:22 GMT, Vladimir Kozlov wrote: >> Move immutable nmethod's data from CodeCache to C heap. It includes >> `dependencies, nul_chk_table, handler_table, scopes_pcs, scopes_data, >> speculations, jvmci_data`. It amounts for about 30% (opti

Re: RFR: 8331087: Move immutable nmethod data from CodeCache [v2]

2024-04-28 Thread Vladimir Kozlov
ing does not show difference. > > Example of updated `-XX:+PrintNMethodStatistics` output is in JBS comment. Vladimir Kozlov has updated the pull request incrementally with one additional commit since the last revision: Address comments. Moved jvmci_data back to mutable data

Re: RFR: 8331087: Move immutable nmethod data from CodeCache

2024-04-27 Thread Vladimir Kozlov
On Fri, 26 Apr 2024 21:16:03 GMT, Vladimir Kozlov wrote: > Move immutable nmethod's data from CodeCache to C heap. It includes > `dependencies, nul_chk_table, handler_table, scopes_pcs, scopes_data, > speculations, jvmci_data`. It amounts for about 30% (optimized VM) of space >

Re: RFR: 8331087: Move immutable nmethod data from CodeCache

2024-04-27 Thread Vladimir Kozlov
On Sat, 27 Apr 2024 20:48:38 GMT, Doug Simon wrote: >> Move immutable nmethod's data from CodeCache to C heap. It includes >> `dependencies, nul_chk_table, handler_table, scopes_pcs, scopes_data, >> speculations, jvmci_data`. It amounts for about 30% (optimized VM) of space >> in CodeCache.

Re: RFR: 8331087: Move immutable nmethod data from CodeCache

2024-04-26 Thread Vladimir Kozlov
On Sat, 27 Apr 2024 00:48:49 GMT, Dean Long wrote: >> Move immutable nmethod's data from CodeCache to C heap. It includes >> `dependencies, nul_chk_table, handler_table, scopes_pcs, scopes_data, >> speculations, jvmci_data`. It amounts for about 30% (optimized VM) of space >> in CodeCache. >>

Re: RFR: 8331087: Move immutable nmethod data from CodeCache

2024-04-26 Thread Vladimir Kozlov
On Fri, 26 Apr 2024 21:16:03 GMT, Vladimir Kozlov wrote: > Move immutable nmethod's data from CodeCache to C heap. It includes > `dependencies, nul_chk_table, handler_table, scopes_pcs, scopes_data, > speculations, jvmci_data`. It amounts for about 30% (optimized VM) of space >

Re: RFR: 8331087: Move immutable nmethod data from CodeCache

2024-04-26 Thread Vladimir Kozlov
On Sat, 27 Apr 2024 00:02:16 GMT, Dean Long wrote: >> src/hotspot/share/code/nmethod.cpp line 117: >> >>> 115: result = static_cast(thing); \ >>> 116: assert(static_cast(result) == thing, "failed: %d != %d", >>> static_cast(result), thing); >>> 117: >> >> I replaced `checked_cast<>()`

Re: RFR: 8331087: Move immutable nmethod data from CodeCache

2024-04-26 Thread Vladimir Kozlov
On Fri, 26 Apr 2024 21:16:03 GMT, Vladimir Kozlov wrote: > Move immutable nmethod's data from CodeCache to C heap. It includes > `dependencies, nul_chk_table, handler_table, scopes_pcs, scopes_data, > speculations, jvmci_data`. It amounts for about 30% (optimized VM) of space >

RFR: 8331087: Move immutable nmethod data from CodeCache

2024-04-26 Thread Vladimir Kozlov
Move immutable nmethod's data from CodeCache to C heap. It includes `dependencies, nul_chk_table, handler_table, scopes_pcs, scopes_data, speculations, jvmci_data`. It amounts for about 30% (optimized VM) of space in CodeCache. Use HotSpot's `os::malloc()` to allocate memory in C heap for

Integrated: 8329433: Reduce nmethod header size

2024-04-19 Thread Vladimir Kozlov
On Fri, 12 Apr 2024 22:43:15 GMT, Vladimir Kozlov wrote: > This is part of changes which try to reduce size of `nmethod` and `codeblob` > data vs code in CodeCache. > These changes reduced size of `nmethod` header from 288 to 232 bytes. From > 304 to 248 in optimized VM: >

Re: RFR: 8329433: Reduce nmethod header size [v8]

2024-04-19 Thread Vladimir Kozlov
On Thu, 18 Apr 2024 01:14:34 GMT, Dean Long wrote: >> Vladimir Kozlov has updated the pull request incrementally with one >> additional commit since the last revision: >> >> Address comment > > Marked as reviewed by dlong (Reviewer). Thank you @dea

Re: RFR: 8329433: Reduce nmethod header size [v8]

2024-04-18 Thread Vladimir Kozlov
On Thu, 18 Apr 2024 00:41:03 GMT, Vladimir Kozlov wrote: >> This is part of changes which try to reduce size of `nmethod` and `codeblob` >> data vs code in CodeCache. >> These changes reduced size of `nmethod` header from 288 to 232 bytes. From >> 304 to 248 in optimiz

Re: RFR: 8329433: Reduce nmethod header size [v7]

2024-04-17 Thread Vladimir Kozlov
On Wed, 17 Apr 2024 22:23:47 GMT, Vladimir Kozlov wrote: >> This is part of changes which try to reduce size of `nmethod` and `codeblob` >> data vs code in CodeCache. >> These changes reduced size of `nmethod` header from 288 to 232 bytes. From >> 304 to 248 in optimiz

Re: RFR: 8329433: Reduce nmethod header size [v7]

2024-04-17 Thread Vladimir Kozlov
On Wed, 17 Apr 2024 22:23:47 GMT, Vladimir Kozlov wrote: >> This is part of changes which try to reduce size of `nmethod` and `codeblob` >> data vs code in CodeCache. >> These changes reduced size of `nmethod` header from 288 to 232 bytes. From >> 304 to 248 in optimiz

Re: RFR: 8329433: Reduce nmethod header size [v8]

2024-04-17 Thread Vladimir Kozlov
Some fields > were changed from `int` to `int16_t` with added corresponding asserts to make > sure their values are fit into 16 bits. > > I did additional cleanup after recent `CompiledMethod` removal. > > Tested tier1-7,stress,xcomp and performance testing. Vladimir Kozlov has upd

Re: RFR: 8329433: Reduce nmethod header size [v7]

2024-04-17 Thread Vladimir Kozlov
Some fields > were changed from `int` to `int16_t` with added corresponding asserts to make > sure their values are fit into 16 bits. > > I did additional cleanup after recent `CompiledMethod` removal. > > Tested tier1-7,stress,xcomp and performance testing. Vladimir Kozlo

Re: RFR: 8329433: Reduce nmethod header size [v3]

2024-04-17 Thread Vladimir Kozlov
On Wed, 17 Apr 2024 20:27:53 GMT, Dean Long wrote: >> Okay. But I will put above code under `#ifdef ASSERT` then. > > The ASSERT block above looks unnecessary, now that field assignments below > are using checked_cast. Agree, but I need to change how I use checked_cast below to get the same

Re: RFR: 8329433: Reduce nmethod header size [v6]

2024-04-17 Thread Vladimir Kozlov
On Wed, 17 Apr 2024 17:10:50 GMT, Cesar Soares Lucas wrote: >> Vladimir Kozlov has updated the pull request incrementally with two >> additional commits since the last revision: >> >> - remove trailing space >> - Shuffle fields initialization > > src/hot

Re: RFR: 8329433: Reduce nmethod header size [v6]

2024-04-16 Thread Vladimir Kozlov
Some fields > were changed from `int` to `int16_t` with added corresponding asserts to make > sure their values are fit into 16 bits. > > I did additional cleanup after recent `CompiledMethod` removal. > > Tested tier1-7,stress,xcomp and performance testing. Vladimir Kozlov ha

Re: RFR: 8329433: Reduce nmethod header size [v4]

2024-04-16 Thread Vladimir Kozlov
On Tue, 16 Apr 2024 19:47:06 GMT, Vladimir Kozlov wrote: >> Okay. > > It is tempting to do for `nmethod` to replace `init_defaults()`. I will look > what can be done. It does not work. It does not allow fields initialization after delegation: src/hotspot/share/code/nmethod.cpp:

Re: RFR: 8329433: Reduce nmethod header size [v4]

2024-04-16 Thread Vladimir Kozlov
On Tue, 16 Apr 2024 19:20:37 GMT, Vladimir Kozlov wrote: >> Delegating constructors are the answer to having some common 'init' >> functions. It would simply save lines of code that look the same in both >> constructor initializer lists. But it's a drive-by comment. > &g

Re: RFR: 8329433: Reduce nmethod header size [v4]

2024-04-16 Thread Vladimir Kozlov
On Tue, 16 Apr 2024 19:03:01 GMT, Coleen Phillimore wrote: >> Thank you, @coleenp, foe looking on these changes. >> >> Which fields are initialized twice? Only `_oop_maps` is set to `nullptr` >> before we proper build oop maps in first constructor. >> >> The only saving could be lines of code

Re: RFR: 8329433: Reduce nmethod header size [v4]

2024-04-16 Thread Vladimir Kozlov
On Tue, 16 Apr 2024 16:33:18 GMT, Coleen Phillimore wrote: >> Vladimir Kozlov has updated the pull request incrementally with one >> additional commit since the last revision: >> >> Use 16-bits types for header_size and frame_complete_offset arguments > > src/h

Re: RFR: 8329433: Reduce nmethod header size [v5]

2024-04-16 Thread Vladimir Kozlov
Some fields > were changed from `int` to `int16_t` with added corresponding asserts to make > sure their values are fit into 16 bits. > > I did additional cleanup after recent `CompiledMethod` removal. > > Tested tier1-7,stress,xcomp and performance testing. Vladimir Kozlov has upd

Re: RFR: 8329433: Reduce nmethod header size [v3]

2024-04-16 Thread Vladimir Kozlov
On Tue, 16 Apr 2024 06:13:59 GMT, Dean Long wrote: >> Vladimir Kozlov has updated the pull request incrementally with one >> additional commit since the last revision: >> >> Union fields which usages do not overlap > > src/hotspot/share/code/nmethod.cpp

Re: RFR: 8329433: Reduce nmethod header size [v4]

2024-04-16 Thread Vladimir Kozlov
On Tue, 16 Apr 2024 03:31:25 GMT, Vladimir Kozlov wrote: >> This is part of changes which try to reduce size of `nmethod` and `codeblob` >> data vs code in CodeCache. >> These changes reduced size of `nmethod` header from 288 to 232 bytes. From >> 304 to 248 in optimiz

Re: RFR: 8329433: Reduce nmethod header size [v3]

2024-04-16 Thread Vladimir Kozlov
On Tue, 16 Apr 2024 06:48:05 GMT, Dean Long wrote: >> I thought about that but in both places where these accessors are called >> (`frame::get_native_monitor()` and `frame::get_native_receiver()`) there are >> such asserts already: >>

Re: RFR: 8329433: Reduce nmethod header size [v4]

2024-04-15 Thread Vladimir Kozlov
Some fields > were changed from `int` to `int16_t` with added corresponding asserts to make > sure their values are fit into 16 bits. > > I did additional cleanup after recent `CompiledMethod` removal. > > Tested tier1-7,stress,xcomp and performance testing. Vladimir Kozlov has upd

Re: RFR: 8329433: Reduce nmethod header size [v3]

2024-04-15 Thread Vladimir Kozlov
On Tue, 16 Apr 2024 02:28:14 GMT, Dean Long wrote: >> Vladimir Kozlov has updated the pull request incrementally with one >> additional commit since the last revision: >> >> Union fields which usages do not overlap > > src/hotspot/share/code/n

Re: RFR: 8329433: Reduce nmethod header size [v3]

2024-04-15 Thread Vladimir Kozlov
On Tue, 16 Apr 2024 02:34:29 GMT, Dean Long wrote: >> Vladimir Kozlov has updated the pull request incrementally with one >> additional commit since the last revision: >> >> Union fields which usages do not overlap > > src/hotspot/share/code/nmethod.hpp line 20

Re: RFR: 8329433: Reduce nmethod header size [v3]

2024-04-15 Thread Vladimir Kozlov
On Tue, 16 Apr 2024 01:30:50 GMT, Dean Long wrote: >> Vladimir Kozlov has updated the pull request incrementally with one >> additional commit since the last revision: >> >> Union fields which usages do not overlap > > src/hotspot/share/code/codeBlob.cpp

Re: RFR: 8329433: Reduce nmethod header size [v3]

2024-04-14 Thread Vladimir Kozlov
Some fields > were changed from `int` to `int16_t` with added corresponding asserts to make > sure their values are fit into 16 bits. > > I did additional cleanup after recent `CompiledMethod` removal. > > Tested tier1-7,stress,xcomp and performance testing. Vladimir Kozlov has upd

Re: RFR: 8329433: Reduce nmethod header size [v2]

2024-04-14 Thread Vladimir Kozlov
Some fields > were changed from `int` to `int16_t` with added corresponding asserts to make > sure their values are fit into 16 bits. > > I did additional cleanup after recent `CompiledMethod` removal. > > Tested tier1-7,stress,xcomp and performance testing. Vladimir Kozlov has upd

Re: RFR: 8329433: Reduce nmethod header size

2024-04-12 Thread Vladimir Kozlov
On Fri, 12 Apr 2024 22:43:15 GMT, Vladimir Kozlov wrote: > This is part of changes which try to reduce size of `nmethod` and `codeblob` > data vs code in CodeCache. > These changes reduced size of `nmethod` header from 288 to 240 bytes. From > 304 to 256 in optimized VM: >

RFR: 8329433: Reduce nmethod header size

2024-04-12 Thread Vladimir Kozlov
This is part of changes which try to reduce size of `nmethod` and `codeblob` data vs code in CodeCache. These changes reduced size of `nmethod` header from 288 to 240 bytes. From 304 to 256 in optimized VM: Statistics for 1282 bytecoded nmethods for C2: total in heap = 5560352 (100%) header =

Integrated: 8329332: Remove CompiledMethod and CodeBlobLayout classes

2024-04-04 Thread Vladimir Kozlov
On Fri, 29 Mar 2024 19:35:45 GMT, Vladimir Kozlov wrote: > Revert [JDK-8152664](https://bugs.openjdk.org/browse/JDK-8152664) RFE > [changes](https://github.com/openjdk/jdk/commit/b853eb7f5ca24eeeda18acbb14287f706499c365) > which was used for AOT [JEP 295](https://openjdk.org

Re: RFR: 8329332: Remove CompiledMethod and CodeBlobLayout classes [v4]

2024-04-04 Thread Vladimir Kozlov
On Thu, 4 Apr 2024 17:31:53 GMT, Stefan Karlsson wrote: >> Vladimir Kozlov has updated the pull request incrementally with one >> additional commit since the last revision: >> >> Address next round of comments > > Looks good. Thank you, @stefank, @iwa

Re: RFR: 8329332: Remove CompiledMethod and CodeBlobLayout classes [v4]

2024-04-04 Thread Vladimir Kozlov
Running performance testing. > > I need help with testing on platforms which Oracle does not support. Vladimir Kozlov has updated the pull request incrementally with one additional commit since the last revision: Address next round of comments - Changes: - all: https://

Re: RFR: 8329332: Remove CompiledMethod and CodeBlobLayout classes [v3]

2024-04-04 Thread Vladimir Kozlov
On Thu, 4 Apr 2024 07:54:16 GMT, Stefan Karlsson wrote: >> Vladimir Kozlov has updated the pull request with a new target base due to a >> merge or a rebase. The incremental webrev excludes the unrelated changes >> brought in by the merge/rebase. The pull request contai

Re: RFR: 8329332: Remove CompiledMethod and CodeBlobLayout classes [v3]

2024-04-04 Thread Vladimir Kozlov
On Thu, 4 Apr 2024 16:03:12 GMT, Stefan Karlsson wrote: >> Quote: "an" goes before words that begin with vowels. > > I don't think that holds if the 'n' is pronounced the way nmethod is > pronounced. `grep` shows that we have both cases but `an nmethod` is used more. - PR Review

Re: RFR: 8329332: Remove CompiledMethod and CodeBlobLayout classes [v3]

2024-04-04 Thread Vladimir Kozlov
On Thu, 4 Apr 2024 16:16:41 GMT, Vladimir Kozlov wrote: >> I don't think that holds if the 'n' is pronounced the way nmethod is >> pronounced. > > `grep` shows that we have both cases but `an nmethod` is used more. I will fix it here as you suggested but I am not tou

Re: RFR: 8329332: Remove CompiledMethod and CodeBlobLayout classes [v3]

2024-04-04 Thread Vladimir Kozlov
On Thu, 4 Apr 2024 07:51:47 GMT, Stefan Karlsson wrote: >> Vladimir Kozlov has updated the pull request with a new target base due to a >> merge or a rebase. The incremental webrev excludes the unrelated changes >> brought in by the merge/rebase. The pull request contai

Re: RFR: 8329332: Remove CompiledMethod and CodeBlobLayout classes [v3]

2024-04-04 Thread Vladimir Kozlov
On Thu, 4 Apr 2024 07:31:24 GMT, Stefan Karlsson wrote: >> Vladimir Kozlov has updated the pull request with a new target base due to a >> merge or a rebase. The incremental webrev excludes the unrelated changes >> brought in by the merge/rebase. The pull request contai

Re: RFR: 8329332: Remove CompiledMethod and CodeBlobLayout classes [v3]

2024-04-04 Thread Vladimir Kozlov
On Thu, 4 Apr 2024 07:26:21 GMT, Stefan Karlsson wrote: >> Vladimir Kozlov has updated the pull request with a new target base due to a >> merge or a rebase. The incremental webrev excludes the unrelated changes >> brought in by the merge/rebase. The pull request contai

Re: RFR: 8329332: Remove CompiledMethod and CodeBlobLayout classes [v3]

2024-04-03 Thread Vladimir Kozlov
On Thu, 4 Apr 2024 00:05:20 GMT, Vladimir Kozlov wrote: >> Revert [JDK-8152664](https://bugs.openjdk.org/browse/JDK-8152664) RFE >> [changes](https://github.com/openjdk/jdk/commit/b853eb7f5ca24eeeda18acbb14287f706499c365) >> which was used for AOT [JEP 295](https://op

Re: RFR: 8329332: Remove CompiledMethod and CodeBlobLayout classes [v3]

2024-04-03 Thread Vladimir Kozlov
Running performance testing. > > I need help with testing on platforms which Oracle does not support. Vladimir Kozlov has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The p

Re: RFR: 8329332: Remove CompiledMethod and CodeBlobLayout classes [v2]

2024-04-03 Thread Vladimir Kozlov
On Wed, 3 Apr 2024 17:55:38 GMT, Stefan Karlsson wrote: >> No, `CodeCache::blob_count()` uses different macro `FOR_ALL_HEAPS(heap)` >> because it looks for all code blobs, not only nmethods. >> >> `CodeCache::nmethod_count()` is the only place where `FOR_ALL_NMETHOD_HEAPS >> ` was used. So I

Re: RFR: 8329332: Remove CompiledMethod and CodeBlobLayout classes [v2]

2024-04-03 Thread Vladimir Kozlov
On Wed, 3 Apr 2024 17:50:15 GMT, Stefan Karlsson wrote: >> No special rules here. I simply want to see all `virtual` methods explicitly >> and `override` is required by C++. >> I would like to keep it this way in these changes. I am investigating >> possibility to convert all these virtual

Re: RFR: 8329332: Remove CompiledMethod and CodeBlobLayout classes [v2]

2024-04-03 Thread Vladimir Kozlov
On Mon, 1 Apr 2024 21:07:31 GMT, Vladimir Kozlov wrote: >> Revert [JDK-8152664](https://bugs.openjdk.org/browse/JDK-8152664) RFE >> [changes](https://github.com/openjdk/jdk/commit/b853eb7f5ca24eeeda18acbb14287f706499c365) >> which was used for AOT [JEP 295](https://op

Re: RFR: 8329332: Remove CompiledMethod and CodeBlobLayout classes [v2]

2024-04-03 Thread Vladimir Kozlov
On Wed, 3 Apr 2024 16:00:01 GMT, Stefan Karlsson wrote: >> Vladimir Kozlov has updated the pull request incrementally with one >> additional commit since the last revision: >> >> Removed not_used state of nmethod > > Nice! > > We've wanted to clean up s

Re: RFR: 8329332: Remove CompiledMethod and CodeBlobLayout classes [v2]

2024-04-03 Thread Vladimir Kozlov
On Wed, 3 Apr 2024 15:35:49 GMT, Stefan Karlsson wrote: >> Vladimir Kozlov has updated the pull request incrementally with one >> additional commit since the last revision: >> >> Removed not_used state of nmethod > > src/hotspot/share/gc/x/xUnloa

Re: RFR: 8329332: Remove CompiledMethod and CodeBlobLayout classes [v2]

2024-04-03 Thread Vladimir Kozlov
On Wed, 3 Apr 2024 15:49:00 GMT, Stefan Karlsson wrote: >> Vladimir Kozlov has updated the pull request incrementally with one >> additional commit since the last revision: >> >> Removed not_used state of nmethod > > src/hotspot/share/runtime/frame.cpp line

Re: RFR: 8329332: Remove CompiledMethod and CodeBlobLayout classes [v2]

2024-04-03 Thread Vladimir Kozlov
On Wed, 3 Apr 2024 15:30:00 GMT, Stefan Karlsson wrote: >> Vladimir Kozlov has updated the pull request incrementally with one >> additional commit since the last revision: >> >> Removed not_used state of nmethod > > src/hotspot/share/compiler/compileBr

Re: RFR: 8329332: Remove CompiledMethod and CodeBlobLayout classes [v2]

2024-04-03 Thread Vladimir Kozlov
On Wed, 3 Apr 2024 15:12:31 GMT, Stefan Karlsson wrote: >> Vladimir Kozlov has updated the pull request incrementally with one >> additional commit since the last revision: >> >> Removed not_used state of nmethod > > src/hotspot/share/code/nmethod.cpp line 812

Re: RFR: 8329332: Remove CompiledMethod and CodeBlobLayout classes [v2]

2024-04-03 Thread Vladimir Kozlov
On Wed, 3 Apr 2024 15:01:22 GMT, Stefan Karlsson wrote: >> Vladimir Kozlov has updated the pull request incrementally with one >> additional commit since the last revision: >> >> Removed not_used state of nmethod > > src/hotspot/share/code/codeCache.cpp line 1

Re: RFR: 8329332: Remove CompiledMethod and CodeBlobLayout classes [v2]

2024-04-03 Thread Vladimir Kozlov
On Wed, 3 Apr 2024 14:44:03 GMT, Stefan Karlsson wrote: >> Vladimir Kozlov has updated the pull request incrementally with one >> additional commit since the last revision: >> >> Removed not_used state of nmethod > > src/hotspot/share/code/codeBlob.hpp line 40

Re: RFR: 8329332: Remove CompiledMethod and CodeBlobLayout classes [v2]

2024-04-03 Thread Vladimir Kozlov
On Wed, 3 Apr 2024 02:55:52 GMT, Vladimir Ivanov wrote: > What about `CompiledMethod_lock`? There's no `CompiledMethod` anymore, but > the lock name still refers to it. It was different changes [JDK-8226705](https://bugs.openjdk.org/browse/JDK-8226705). Renaming it will complicate these

Re: RFR: 8236736: Change notproduct JVM flags to develop flags [v3]

2024-04-02 Thread Vladimir Kozlov
On Tue, 2 Apr 2024 17:25:12 GMT, Coleen Phillimore wrote: >> Remove the notproduct distinction for command line options, rather than >> trying to wrestle the macros to fix the bug that they've been treated as >> develop options for some time now. This simplifies the command line option >>

Re: RFR: 8236736: Change notproduct JVM flags to develop flags [v3]

2024-04-02 Thread Vladimir Kozlov
On Tue, 2 Apr 2024 17:58:47 GMT, Coleen Phillimore wrote: > For optimized, all the develop and notproduct options are materialized. Okay, I see what you did here. You touched only flags declaration and did not `#ifndef PRODUCT` which guards statistics code, for example. Optimized VM build

Re: RFR: 8236736: Change notproduct JVM flags to develop flags [v3]

2024-04-02 Thread Vladimir Kozlov
On Tue, 2 Apr 2024 17:25:12 GMT, Coleen Phillimore wrote: >> Remove the notproduct distinction for command line options, rather than >> trying to wrestle the macros to fix the bug that they've been treated as >> develop options for some time now. This simplifies the command line option >>

Re: RFR: 8236736: Change notproduct JVM flags to develop flags [v3]

2024-04-02 Thread Vladimir Kozlov
On Tue, 2 Apr 2024 17:25:12 GMT, Coleen Phillimore wrote: >> Remove the notproduct distinction for command line options, rather than >> trying to wrestle the macros to fix the bug that they've been treated as >> develop options for some time now. This simplifies the command line option >>

Re: RFR: 8329332: Remove CompiledMethod and CodeBlobLayout classes [v2]

2024-04-01 Thread Vladimir Kozlov
On Mon, 1 Apr 2024 21:07:31 GMT, Vladimir Kozlov wrote: >> Revert [JDK-8152664](https://bugs.openjdk.org/browse/JDK-8152664) RFE >> [changes](https://github.com/openjdk/jdk/commit/b853eb7f5ca24eeeda18acbb14287f706499c365) >> which was used for AOT [JEP 295](https://op

Re: RFR: 8329332: Remove CompiledMethod and CodeBlobLayout classes [v2]

2024-04-01 Thread Vladimir Kozlov
Running performance testing. > > I need help with testing on platforms which Oracle does not support. Vladimir Kozlov has updated the pull request incrementally with one additional commit since the last revision: Removed not_used state of nmethod - Changes: - all: https://

Re: RFR: 8329332: Remove CompiledMethod and CodeBlobLayout classes

2024-04-01 Thread Vladimir Kozlov
On Mon, 1 Apr 2024 18:15:43 GMT, Dean Long wrote: > The `not_used` state was introduced for AOT. It can go away now. Good catch, Dean. I want to keep `nmethod::make_not_used()` method because we use it in Leyden to keep AOT code (outside of CodeCache):

Re: RFR: 8329332: Remove CompiledMethod and CodeBlobLayout classes

2024-04-01 Thread Vladimir Kozlov
On Mon, 1 Apr 2024 00:19:32 GMT, Fei Yang wrote: >> Revert [JDK-8152664](https://bugs.openjdk.org/browse/JDK-8152664) RFE >> [changes](https://github.com/openjdk/jdk/commit/b853eb7f5ca24eeeda18acbb14287f706499c365) >> which was used for AOT [JEP 295](https://openjdk.org/jeps/295) >>

RFR: 8329332: Remove CompiledMethod and CodeBlobLayout classes

2024-03-29 Thread Vladimir Kozlov
Revert [JDK-8152664](https://bugs.openjdk.org/browse/JDK-8152664) RFE [changes](https://github.com/openjdk/jdk/commit/b853eb7f5ca24eeeda18acbb14287f706499c365) which was used for AOT [JEP 295](https://openjdk.org/jeps/295) implementation in JDK 9. The code was left in HotSpot assuming it will

Re: RFR: 8252136: Several methods in hotspot are missing "static"

2024-02-12 Thread Vladimir Kozlov
On Mon, 12 Feb 2024 12:43:09 GMT, Magnus Ihse Bursie wrote: > There are several places in hotspot where an internal function should have > been declared static, but isn't. > > These were discovered by trying to use the gcc option > `-Wmissing-declarations` and the corresponding clang option

Re: RFR: 8318682: SA decoding of scalar replaced objects is broken

2024-01-12 Thread Vladimir Kozlov
On Fri, 12 Jan 2024 21:26:36 GMT, Tom Rodriguez wrote: > The changes for JDK-8287061 didn't update the SA decoding logic and there are > other places where the decoding has gotten out of sync with HotSpot. Some of > them can't be tested because they are part of JVMCI but I've added a directed

Re: Handling of DTraceMethodProbes

2023-11-21 Thread Vladimir Kozlov
CCing to serviceability group. Do we still support dtrace? Thanks, Vladimir K On 11/21/23 4:34 AM, Thomas Stüfe wrote: Hi, It seems that the handling of DTraceMethodProbes is inconsistent: in most places, we handle the flag at runtime by generating code that uses conditional jumps. In one

Re: RFR: 8310829: guarantee(!HAS_PENDING_EXCEPTION) failed in ExceptionTranslation::doit [v6]

2023-06-30 Thread Vladimir Kozlov
On Fri, 30 Jun 2023 14:35:10 GMT, Doug Simon wrote: > > But, please, activate GHA testing for this branch. > > Isn't GHA a strict subset of or equal to tier1 mach5 testing? If so, what's > the point of doing redundant testing? It builds and tests configurations (32-bit) we don't have in our

Re: RFR: 8310829: guarantee(!HAS_PENDING_EXCEPTION) failed in ExceptionTranslation::doit [v8]

2023-06-30 Thread Vladimir Kozlov
On Fri, 30 Jun 2023 15:15:16 GMT, Doug Simon wrote: >> The VMSupport class is required for translating an exception between the >> HotSpot and libgraal heaps. >> Loading it lazily can result in a loading exception, obscuring the exception >> being translated. >> To avoid this, VMSupport is

Re: RFR: 8310829: guarantee(!HAS_PENDING_EXCEPTION) failed in ExceptionTranslation::doit [v6]

2023-06-29 Thread Vladimir Kozlov
On Thu, 29 Jun 2023 20:06:19 GMT, Doug Simon wrote: >> The VMSupport class is required for translating an exception between the >> HotSpot and libgraal heaps. >> Loading it lazily can result in a loading exception, obscuring the exception >> being translated. >> To avoid this, VMSupport is

Re: RFR: 8309044: Replace NULL with nullptr, final sweep of hotspot code [v2]

2023-05-30 Thread Vladimir Kozlov
On Tue, 30 May 2023 19:15:38 GMT, Johan Sjölen wrote: >> A final sweep of Hotspot to remove all re-added NULLs. With only 110 changes >> I'd appreciate if this was considered trivial. > > Johan Sjölen has updated the pull request incrementally with two additional > commits since the last

Re: RFR: 8306326: [BACKOUT] 8277573: VmObjectAlloc is not generated by intrinsics methods which allocate objects [v2]

2023-05-05 Thread Vladimir Kozlov
On Fri, 5 May 2023 01:06:09 GMT, Leonid Mesnik wrote: >> 8277573: VmObjectAlloc is not generated by intrinsics methods which allocate >> objects >> >> caused significant regressions in some benchmarks and should be reverted. >> >> This fix backout changes and update problemlist bugs to new

Re: RFR: 8277573: VmObjectAlloc is not generated by intrinsics methods which allocate objects [v2]

2023-04-10 Thread Vladimir Kozlov
On Tue, 11 Apr 2023 01:05:49 GMT, Leonid Mesnik wrote: >> Updated VM internal object allocation C2 intrinsic to post jvmti events when >> needed. > > Leonid Mesnik has updated the pull request incrementally with one additional > commit since the last revision: > > fixed after Sergey's

Re: RFR: 8277573: VmObjectAlloc is not generated by intrinsics methods which allocate objects

2023-04-07 Thread Vladimir Kozlov
On Mon, 3 Apr 2023 22:20:43 GMT, Leonid Mesnik wrote: > Updated VM internal object allocation C2 intrinsic to post jvmti events when > needed. Good. - Marked as reviewed by kvn (Reviewer). PR Review: https://git.openjdk.org/jdk/pull/13312#pullrequestreview-1376633778

Re: RFR: 8291555: Implement alternative fast-locking scheme [v29]

2023-03-22 Thread Vladimir Kozlov
On Wed, 22 Mar 2023 09:46:04 GMT, Roman Kennke wrote: >> src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp line 670: >> >>> 668: get_thread (scrReg);// beware: clobbers ICCs >>> 669: movptr(Address(boxReg, OM_OFFSET_NO_MONITOR_VALUE_TAG(owner)), >>> scrReg); >>> 670:

Re: RFR: 8291555: Implement alternative fast-locking scheme [v29]

2023-03-22 Thread Vladimir Kozlov
On Wed, 22 Mar 2023 09:47:47 GMT, Roman Kennke wrote: >> src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp line 791: >> >>> 789: Compile::current()->output()->add_stub(stub); >>> 790: jcc(Assembler::notEqual, stub->entry()); >>> 791: bind(stub->continuation()); >> >> Why use stub

Re: RFR: 8291555: Implement alternative fast-locking scheme [v29]

2023-03-21 Thread Vladimir Kozlov
On Thu, 16 Mar 2023 20:56:15 GMT, Roman Kennke wrote: >> This change adds a fast-locking scheme as an alternative to the current >> stack-locking implementation. It retains the advantages of stack-locking >> (namely fast locking in uncontended code-paths), while avoiding the overload >> of

Re: RFR: JDK-8301447: [REDO] CodeHeap has virtual methods that are not overridden

2023-01-31 Thread Vladimir Kozlov
On Tue, 31 Jan 2023 14:30:29 GMT, Justin King wrote: > Redo [JDK-8301378](https://bugs.openjdk.org/browse/JDK-8301378), this time > also fixing the serviceability code. I ran tier1-3 and -Xcomp testing and it passed. Except serviceability/sa/ClhsdbDumpheap.java timed out with -Xcomp but we

Re: RFR: JDK-8301447: [REDO] CodeHeap has virtual methods that are not overridden

2023-01-31 Thread Vladimir Kozlov
On Tue, 31 Jan 2023 14:30:29 GMT, Justin King wrote: > Redo [JDK-8301378](https://bugs.openjdk.org/browse/JDK-8301378), this time > also fixing the serviceability code. Good. But someone in Oracle have to test it before you push. - Marked as reviewed by kvn (Reviewer). PR:

Re: RFR: 8286185: The Java manpage can be more platform inclusive [v3]

2022-11-25 Thread Vladimir Kozlov
On Thu, 24 Nov 2022 00:50:22 GMT, David Holmes wrote: >> This is mainly an expansion of the included platforms by changing "linux and >> macOS" to "Non-Windows". There are a few additional examples, and >> clarification that they are just examples. There are also some minor edits >> and

Re: RFR: 8218885: Restore pop_frame and force_early_return functionality for Graal

2022-11-16 Thread Vladimir Kozlov
On Wed, 16 Nov 2022 17:56:12 GMT, Tom Rodriguez wrote: > mach5 runs with the requested options on a GraalVM have passed so I'm going > to merge this now. Sound good? Yes - PR: https://git.openjdk.org/jdk/pull/5625

Re: RFR: 8295413: com/sun/jdi/EATests.java fails with compiler flag -XX:+StressReflectiveCode [v2]

2022-10-20 Thread Vladimir Kozlov
On Thu, 20 Oct 2022 20:55:12 GMT, Richard Reingruber wrote: >> With `StressReflectiveCode` C2 has inexact type information which can >> prevent ea >> based optimizations (see `ConnectionGraph::add_call_node()`) >> >> This pr changes the test jdk/com/sun/jdi/EATests.java to read the flag >>

Re: RFR: 8295413: com/sun/jdi/EATests.java fails with compiler flag -XX:+StressReflectiveCode

2022-10-20 Thread Vladimir Kozlov
On Thu, 20 Oct 2022 20:04:23 GMT, Richard Reingruber wrote: > > Should we add check for `StressReflectiveCode` to all `shouldSkip()` > > methods too? Similar to `DeoptimizeObjectsALot` flag. > > I'd be ok to skip all testcases (by checking for `StressReflectiveCode` in > the base classes'

Re: RFR: 8295413: com/sun/jdi/EATests.java fails with compiler flag -XX:+StressReflectiveCode

2022-10-20 Thread Vladimir Kozlov
On Wed, 19 Oct 2022 15:43:17 GMT, Richard Reingruber wrote: > With `StressReflectiveCode` C2 has inexact type information which can prevent > ea > based optimizations (see `ConnectionGraph::add_call_node()`) > > This pr changes the test jdk/com/sun/jdi/EATests.java to read the flag >

Re: RFR: 8291555: Replace stack-locking with fast-locking

2022-10-06 Thread Vladimir Kozlov
On Wed, 17 Aug 2022 15:34:01 GMT, Roman Kennke wrote: >>> Strictly speaking, I believe the conditions check for the (weaker) balanced >>> property, but not for the (stronger) structured property. >> >> I know but the text says: >> - "every exit on a given monitor matches a preceding entry on

Re: RFR: 8294483: Remove vmTestbase/nsk/jvmti/GetThreadState tests.

2022-09-27 Thread Vladimir Kozlov
On Tue, 27 Sep 2022 21:36:32 GMT, Leonid Mesnik wrote: > Tests in the vmTestbase/nsk/jvmti/GetThreadState were ported to > serviceability/jvmti/thread/GetThreadState and should be removed. Good - Marked as reviewed by kvn (Reviewer). PR: https://git.openjdk.org/jdk/pull/10457