Re: RFR: 8305895: Implement JEP 450: Compact Object Headers (Experimental) [v6]

2024-09-22 Thread Thomas Stuefe
On Fri, 20 Sep 2024 16:56:58 GMT, Matias Saavedra Silva wrote: >> Roman Kennke has updated the pull request incrementally with one additional >> commit since the last revision: >> >> Fix bit counts in GCForwarding > > src/hotspot/share/cds/archiveUtils.cpp line 348: > >> 346: old_tag = (i

Re: RFR: 8304824: NMT should not use ThreadCritical [v5]

2024-09-22 Thread Thomas Stuefe
On Wed, 18 Sep 2024 00:26:24 GMT, David Holmes wrote: >> Robert Toyonaga has updated the pull request with a new target base due to a >> merge or a rebase. The pull request now contains five commits: >> >> - Merge master >> - replace tty in pd_release_memory while holding NMT lock. >> - Swit

Re: RFR: 8304824: NMT should not use ThreadCritical [v6]

2024-09-22 Thread Thomas Stuefe
On Fri, 20 Sep 2024 18:11:51 GMT, Robert Toyonaga wrote: >> ### Summary >> This PR just replaces `ThreadCritical` with a lock specific to NMT. >> `ThreadCritical` is a big lock and is unnecessary for the purposes of NMT. >> I've implemented the new lock with a semaphore so that it can be used

Re: RFR: 8340391: Windows jcmd System.map and System.dump_map tests failing

2024-09-20 Thread Thomas Stuefe
On Fri, 20 Sep 2024 05:54:11 GMT, Thomas Stuefe wrote: >> New test is failing on Windows with ZGC: the regex for JAVAHEAP is not >> matching. >> >> Matching "mapped", as well as "private", is testing OK for me: ZGC JAVAHEAP >> is not pri

Re: RFR: 8340391: Windows jcmd System.map and System.dump_map tests failing

2024-09-19 Thread Thomas Stuefe
On Wed, 18 Sep 2024 18:05:27 GMT, Kevin Walls wrote: > New test is failing on Windows with ZGC: the regex for JAVAHEAP is not > matching. > > Matching "mapped", as well as "private", is testing OK for me: ZGC JAVAHEAP > is not private in terms of Windows _MEMORY_BASIC_INFORMATION > > Simple r

Re: RFR: 8305895: Implement JEP 450: Compact Object Headers (Experimental) [v21]

2024-09-19 Thread Thomas Stuefe
On Thu, 19 Sep 2024 13:08:43 GMT, Stefan Karlsson wrote: >> Yes, please, not having this code would be really nice. This is difficult >> code. > > Do you seen any effects of this in anything other than special-crafted micro > benchmarks? I wonder if it would be good enough to hard-code this to

Re: RFR: 8305895: Implement JEP 450: Compact Object Headers (Experimental) [v21]

2024-09-19 Thread Thomas Stuefe
On Wed, 18 Sep 2024 23:53:28 GMT, Coleen Phillimore wrote: >> Roman Kennke has updated the pull request incrementally with one additional >> commit since the last revision: >> >> JVMCI support > > src/hotspot/share/oops/compressedKlass.hpp line 175: > >> 173: // 5b) if CDS=off: Calls ini

Re: RFR: 8305895: Implement JEP 450: Compact Object Headers (Experimental) [v18]

2024-09-19 Thread Thomas Stuefe
On Tue, 17 Sep 2024 10:36:58 GMT, Johan Sjölen wrote: >> Roman Kennke has updated the pull request with a new target base due to a >> merge or a rebase. The pull request now contains 57 commits: >> >> - fix CompressedClassPointersEncodingScheme yet again for linux aarch64 >> - Fixes post-8340

Re: RFR: 8305895: Implement JEP 450: Compact Object Headers (Experimental) [v21]

2024-09-19 Thread Thomas Stuefe
On Thu, 19 Sep 2024 11:43:12 GMT, Thomas Stuefe wrote: >> src/hotspot/share/oops/compressedKlass.cpp line 231: >> >>> 229: // The reason is that we want to avoid, if possible, shifts larger >>> than >>> 230: // a cacheline size. >>> 231

Re: RFR: 8305895: Implement JEP 450: Compact Object Headers (Experimental) [v21]

2024-09-19 Thread Thomas Stuefe
On Thu, 19 Sep 2024 05:44:42 GMT, Stefan Karlsson wrote: >> Roman Kennke has updated the pull request incrementally with one additional >> commit since the last revision: >> >> JVMCI support > > src/hotspot/share/oops/compressedKlass.cpp line 231: > >> 229: // The reason is that we want

Re: RFR: 8305895: Implement JEP 450: Compact Object Headers (Experimental) [v21]

2024-09-19 Thread Thomas Stuefe
On Wed, 18 Sep 2024 23:49:34 GMT, Coleen Phillimore wrote: >> Roman Kennke has updated the pull request incrementally with one additional >> commit since the last revision: >> >> JVMCI support > > src/hotspot/share/oops/compressedKlass.cpp line 242: > >> 240: } else { >> 241: >> 242:

Re: RFR: 8305895: Implement JEP 450: Compact Object Headers (Experimental) [v11]

2024-09-18 Thread Thomas Stuefe
On Wed, 11 Sep 2024 12:27:14 GMT, Johan Sjölen wrote: >> Roman Kennke has updated the pull request incrementally with one additional >> commit since the last revision: >> >> Fix FullGCForwarding initialization > > src/hotspot/share/memory/classLoaderMetaspace.cpp line 87: > >> 85: kl

Re: RFR: 8319873: Add windows implementation for jcmd System.map and System.dump_map [v13]

2024-09-17 Thread Thomas Stuefe
On Tue, 17 Sep 2024 09:24:12 GMT, Thomas Stuefe wrote: >> Sorry if I'm holding this up. The reasoning did get confusing to me. >> >> We are not always good at documenting these commands. But at some point, >> somebody among us will hopefully document them, or e

Re: RFR: 8319873: Add windows implementation for jcmd System.map and System.dump_map [v13]

2024-09-17 Thread Thomas Stuefe
On Thu, 12 Sep 2024 20:10:45 GMT, Simon Tooke wrote: >> This is a port of [JDK-8318636](https://github.com/openjdk/jdk/pull/16301) >> to Windows. >> >> System.map and System.dump_map are implemented using the Windows API and >> provide roughly the same information in the same format. Most of

Re: RFR: 8304824: NMT should not use ThreadCritical [v3]

2024-09-17 Thread Thomas Stuefe
On Sat, 14 Sep 2024 06:56:01 GMT, Thomas Stuefe wrote: >> Hi @tstuefe, it looks like calling >> [`os::print_memory_mappings`](https://github.com/openjdk/jdk/blob/master/src/hotspot/os/windows/os_windows.cpp#L3785) >> from the windows implementation of `os::pd_release_memo

Re: RFR: 8305895: Implement JEP 450: Compact Object Headers (Experimental) [v18]

2024-09-17 Thread Thomas Stuefe
On Wed, 11 Sep 2024 11:40:24 GMT, Johan Sjölen wrote: >> Roman Kennke has updated the pull request with a new target base due to a >> merge or a rebase. The pull request now contains 57 commits: >> >> - fix CompressedClassPointersEncodingScheme yet again for linux aarch64 >> - Fixes post-8340

Re: RFR: 8305895: Implement JEP 450: Compact Object Headers (Experimental) [v11]

2024-09-17 Thread Thomas Stuefe
On Wed, 11 Sep 2024 11:29:38 GMT, Johan Sjölen wrote: >> Roman Kennke has updated the pull request incrementally with one additional >> commit since the last revision: >> >> Fix FullGCForwarding initialization > > src/hotspot/share/memory/metaspace/metablock.hpp line 52: > >> 50: bool is_e

Re: RFR: 8305895: Implement JEP 450: Compact Object Headers (Experimental) [v11]

2024-09-17 Thread Thomas Stuefe
On Wed, 11 Sep 2024 11:25:56 GMT, Johan Sjölen wrote: >> Roman Kennke has updated the pull request incrementally with one additional >> commit since the last revision: >> >> Fix FullGCForwarding initialization > > src/hotspot/share/memory/metaspace/metablock.hpp line 48: > >> 46: >> 47: M

Re: RFR: 8305895: Implement JEP 450: Compact Object Headers (Experimental) [v11]

2024-09-17 Thread Thomas Stuefe
On Wed, 11 Sep 2024 13:50:59 GMT, Johan Sjölen wrote: >> Roman Kennke has updated the pull request incrementally with one additional >> commit since the last revision: >> >> Fix FullGCForwarding initialization > > src/hotspot/share/memory/metaspace.cpp line 656: > >> 654: // Adjust size

Re: RFR: 8305895: Implement JEP 450: Compact Object Headers (Experimental) [v11]

2024-09-17 Thread Thomas Stuefe
On Wed, 11 Sep 2024 13:05:10 GMT, Johan Sjölen wrote: >> Roman Kennke has updated the pull request incrementally with one additional >> commit since the last revision: >> >> Fix FullGCForwarding initialization > > src/hotspot/share/memory/classLoaderMetaspace.cpp line 165: > >> 163: MetaBl

Re: RFR: 8305895: Implement JEP 450: Compact Object Headers (Experimental) [v11]

2024-09-17 Thread Thomas Stuefe
On Wed, 11 Sep 2024 12:25:37 GMT, Johan Sjölen wrote: >> Roman Kennke has updated the pull request incrementally with one additional >> commit since the last revision: >> >> Fix FullGCForwarding initialization > > src/hotspot/share/memory/classLoaderMetaspace.hpp line 81: > >> 79: metaspac

Re: RFR: 8319873: Add windows implementation for jcmd System.map and System.dump_map [v13]

2024-09-17 Thread Thomas Stuefe
On Mon, 16 Sep 2024 20:36:11 GMT, Kevin Walls wrote: > Sorry if I'm holding this up. The reasoning did get confusing to me. > > We are not always good at documenting these commands. But at some point, > somebody among us will hopefully document them, or explain it to somebody who > will. There

Re: RFR: 8305895: Implement JEP 450: Compact Object Headers (Experimental) [v11]

2024-09-14 Thread Thomas Stuefe
On Wed, 11 Sep 2024 11:25:41 GMT, Johan Sjölen wrote: >> Roman Kennke has updated the pull request incrementally with one additional >> commit since the last revision: >> >> Fix FullGCForwarding initialization > > src/hotspot/share/memory/metaspace/metablock.hpp line 51: > >> 49: size_t wo

Re: RFR: 8305895: Implement JEP 450: Compact Object Headers (Experimental) [v13]

2024-09-14 Thread Thomas Stuefe
On Wed, 11 Sep 2024 21:15:21 GMT, Coleen Phillimore wrote: >> Roman Kennke has updated the pull request incrementally with one additional >> commit since the last revision: >> >> Revert accidental change of UCOH default > > I was starting to understand the concerns with having prototype_heade

Re: RFR: 8304824: NMT should not use ThreadCritical [v3]

2024-09-14 Thread Thomas Stuefe
On Sat, 14 Sep 2024 02:35:37 GMT, Robert Toyonaga wrote: >>> > After switching to a Hotspot Mutex, it looks like the `windows-x64 / test >>> > (hs/tier1 common) GHA` is failing because the test `release_bad_ranges` >>> > in test_os.cpp is expecting an assertion and an error message to be >>> >

Re: RFR: 8304824: NMT should not use ThreadCritical [v3]

2024-09-13 Thread Thomas Stuefe
On Fri, 13 Sep 2024 16:12:59 GMT, Thomas Stuefe wrote: > > After switching to a Hotspot Mutex, it looks like the `windows-x64 / test > > (hs/tier1 common) GHA` is failing because the test `release_bad_ranges` in > > test_os.cpp is expecting an assertion and an error mes

Re: RFR: 8304824: NMT should not use ThreadCritical [v3]

2024-09-13 Thread Thomas Stuefe
On Fri, 13 Sep 2024 14:02:38 GMT, Robert Toyonaga wrote: > After switching to a Hotspot Mutex, it looks like the `windows-x64 / test > (hs/tier1 common) GHA` is failing because the test `release_bad_ranges` in > test_os.cpp is expecting an assertion and an error message to be printed. > Howeve

Re: RFR: 8305895: Implement JEP 450: Compact Object Headers (Experimental) [v14]

2024-09-13 Thread Thomas Stuefe
On Tue, 10 Sep 2024 12:35:42 GMT, Thomas Stuefe wrote: >> src/hotspot/share/oops/compressedKlass.cpp line 116: >> >>> 114: _range = end - _base; >>> 115: >>> 116: DEBUG_ONLY(assert_is_valid_encoding(addr, len, _base, _shift);) >> >> Can y

Re: RFR: 8305895: Implement JEP 450: Compact Object Headers (Experimental) [v8]

2024-09-13 Thread Thomas Stuefe
On Tue, 10 Sep 2024 12:13:58 GMT, Thomas Stuefe wrote: >> src/hotspot/share/oops/compressedKlass.cpp line 243: >> >>> 241: } else { >>> 242: >>> 243: // In legacy mode, we try, in order of preference: >> >> Can you not use the word

Re: RFR: 8305895: Implement JEP 450: Compact Object Headers (Experimental) [v8]

2024-09-13 Thread Thomas Stuefe
On Tue, 10 Sep 2024 12:19:32 GMT, Coleen Phillimore wrote: >> This is tricky. We are already deep in initialization and have done a couple >> of decisions based on +UseCompressedClassPointers (e.g. CDS setup). I >> *think* we could still go with -UseCCP, but I wonder whether this is wise. >>

Re: RFR: 8338851: Hoist os::Posix::realpath() to os::realpath() and implement on Windows [v5]

2024-09-12 Thread Thomas Stuefe
On Thu, 12 Sep 2024 13:56:42 GMT, Simon Tooke wrote: >> This PR changes the status of realpath() from a Posix-specific API to a >> globally available API, i.e. adding it to the "Hotspot Porting API". Code >> would refer to os::realpath() instead of os::Posix::realpath(). >> >> This requires t

Re: RFR: 8305895: Implement JEP 450: Compact Object Headers (Experimental) [v8]

2024-09-12 Thread Thomas Stuefe
On Mon, 9 Sep 2024 15:58:29 GMT, Coleen Phillimore wrote: >> Roman Kennke has updated the pull request incrementally with two additional >> commits since the last revision: >> >> - Try to avoid lea in loadNklass (aarch64) >> - Fix release build error > > src/hotspot/cpu/aarch64/compressedKlas

Re: RFR: 8305895: Implement JEP 450: Compact Object Headers (Experimental) [v13]

2024-09-12 Thread Thomas Stuefe
On Wed, 11 Sep 2024 14:47:07 GMT, Roberto Castañeda Lozano wrote: >> Roman Kennke has updated the pull request incrementally with one additional >> commit since the last revision: >> >> Revert accidental change of UCOH default > > src/hotspot/share/opto/machnode.cpp line 390: > >> 388:

Re: RFR: 8305895: Implement JEP 450: Compact Object Headers (Experimental) [v13]

2024-09-12 Thread Thomas Stuefe
On Thu, 12 Sep 2024 10:17:47 GMT, Roberto Castañeda Lozano wrote: >> Roman Kennke has updated the pull request incrementally with one additional >> commit since the last revision: >> >> Revert accidental change of UCOH default > > src/hotspot/share/opto/lcm.cpp line 272: > >> 270: c

Re: RFR: 8319873: Add windows implementation for jcmd System.map and System.dump_map [v10]

2024-09-11 Thread Thomas Stuefe
On Wed, 11 Sep 2024 17:23:11 GMT, Simon Tooke wrote: >> src/hotspot/os/windows/memMapPrinter_windows.cpp line 98: >> >>> 96: out.put('r'); >>> 97: } else { >>> 98: fatal("Unknown Windows memory state value: 0x%x", mem_info.State); >> >> Are these really fatal? We don't want to

Re: RFR: 8305895: Implement JEP 450: Compact Object Headers (Experimental) [v11]

2024-09-11 Thread Thomas Stuefe
On Wed, 11 Sep 2024 16:14:39 GMT, Thomas Stuefe wrote: >> src/hotspot/share/memory/metaspace/binList.hpp line 202: >> >>> 200: b_last = b; >>> 201: } >>> 202: if (UseNewCode)printf("\n"); >> >> I guess this line

Re: RFR: 8305895: Implement JEP 450: Compact Object Headers (Experimental) [v11]

2024-09-11 Thread Thomas Stuefe
On Wed, 11 Sep 2024 14:15:12 GMT, Roberto Castañeda Lozano wrote: >> Roman Kennke has updated the pull request incrementally with one additional >> commit since the last revision: >> >> Fix FullGCForwarding initialization > > src/hotspot/share/memory/metaspace/binList.hpp line 202: > >> 200

Re: RFR: 8305895: Implement JEP 450: Compact Object Headers (Experimental) [v11]

2024-09-11 Thread Thomas Stuefe
On Wed, 11 Sep 2024 12:47:30 GMT, Johan Sjölen wrote: >> Roman Kennke has updated the pull request incrementally with one additional >> commit since the last revision: >> >> Fix FullGCForwarding initialization > > src/hotspot/share/memory/classLoaderMetaspace.cpp line 115: > >> 113: if (wa

Re: RFR: 8204681: Option to include timestamp in hprof filename

2024-09-11 Thread Thomas Stuefe
On Wed, 21 Aug 2024 09:54:08 GMT, Thomas Stuefe wrote: >> Hi all, >> >> This PR addresses [8204681](https://bugs.openjdk.org/browse/JDK-8204681) >> enabling support for timestamp expansion in filenames specified in >> `-XX:HeapDumpPath` using `%t`. >>

Re: RFR: 8319873: Add windows implementation for jcmd System.map and System.dump_map [v10]

2024-09-11 Thread Thomas Stuefe
On Wed, 11 Sep 2024 14:48:53 GMT, Simon Tooke wrote: >> This is a port of [JDK-8318636](https://github.com/openjdk/jdk/pull/16301) >> to Windows. >> >> System.map and System.dump_map are implemented using the Windows API and >> provide roughly the same information in the same format. Most of

Re: RFR: 8319873: Add windows implementation for jcmd System.map and System.dump_map [v9]

2024-09-11 Thread Thomas Stuefe
On Wed, 11 Sep 2024 14:13:37 GMT, Sonia Zaldana Calles wrote: > Hi Simon, > > Thanks! Looks good. > > Just had a question about the empty filename issue. I don’t think there is a > case where a filename parameter should accept an empty string (but I might be > wrong). > > If that’s the case

Re: RFR: 8319873: Add windows implementation for jcmd System.map and System.dump_map [v9]

2024-09-11 Thread Thomas Stuefe
On Wed, 11 Sep 2024 13:32:49 GMT, Simon Tooke wrote: >> This is a port of [JDK-8318636](https://github.com/openjdk/jdk/pull/16301) >> to Windows. >> >> System.map and System.dump_map are implemented using the Windows API and >> provide roughly the same information in the same format. Most of

Re: RFR: 8304824: NMT should not use ThreadCritical

2024-09-10 Thread Thomas Stuefe
On Sat, 7 Sep 2024 17:29:41 GMT, Robert Toyonaga wrote: >>> Thank you Robert. >>> >>> I think that the `MemoryFileTracker`'s locker should probably also be >>> replaced with this semaphore, as in the future we have plans to have a >>> globally shared `NativeCallStackStorage`. >> >> +1 > >> Th

Re: RFR: 8305895: Implement JEP 450: Compact Object Headers (Experimental) [v8]

2024-09-10 Thread Thomas Stuefe
On Mon, 9 Sep 2024 17:40:03 GMT, Coleen Phillimore wrote: >> Roman Kennke has updated the pull request incrementally with two additional >> commits since the last revision: >> >> - Try to avoid lea in loadNklass (aarch64) >> - Fix release build error > > src/hotspot/share/oops/compressedKlass

Re: RFR: 8305895: Implement JEP 450: Compact Object Headers (Experimental) [v6]

2024-09-10 Thread Thomas Stuefe
On Mon, 9 Sep 2024 16:01:10 GMT, Coleen Phillimore wrote: >> src/hotspot/share/oops/compressedKlass.hpp line 43: >> >>> 41: >>> 42: // Tiny-class-pointer mode >>> 43: static int _tiny_cp; // -1, 0=true, 1=false >> >> Suggestion: >> >> static int _tiny_cp; // -1 = uninitialized, 0 = true

Re: RFR: 8305895: Implement JEP 450: Compact Object Headers (Experimental) [v10]

2024-09-10 Thread Thomas Stuefe
On Mon, 9 Sep 2024 15:59:43 GMT, Coleen Phillimore wrote: >> Roman Kennke has updated the pull request incrementally with six additional >> commits since the last revision: >> >> - More touch-ups, fix Shenandoah oop iterator >> - Remove asserts in XArrayKlass::oop_oop_iterate() >> - Various

Re: RFR: 8305895: Implement JEP 450: Compact Object Headers (Experimental) [v8]

2024-09-10 Thread Thomas Stuefe
On Mon, 9 Sep 2024 15:50:50 GMT, Coleen Phillimore wrote: >> Roman Kennke has updated the pull request incrementally with two additional >> commits since the last revision: >> >> - Try to avoid lea in loadNklass (aarch64) >> - Fix release build error > > src/hotspot/share/oops/compressedKlass

Re: RFR: 8305895: Implement JEP 450: Compact Object Headers (Experimental) [v8]

2024-09-10 Thread Thomas Stuefe
On Mon, 9 Sep 2024 15:49:57 GMT, Coleen Phillimore wrote: >> Roman Kennke has updated the pull request incrementally with two additional >> commits since the last revision: >> >> - Try to avoid lea in loadNklass (aarch64) >> - Fix release build error > > src/hotspot/share/oops/compressedKlass

Re: RFR: 8337563: NMT: rename MEMFLAGS to MemFlag [v2]

2024-09-06 Thread Thomas Stuefe
On Wed, 4 Sep 2024 21:17:28 GMT, Gerard Ziemski wrote: >> Please review this cleanup, where we rename `MEMFLAGS` to `MemType`. >> >> `MEMFLAGS` implies that we can use more than one at the same time, but those >> are exclusive values, so `MemType` is much more suitable name. >> >> There is a b

Re: RFR: 8338851: Hoist os::Posix::realpath() to os::realpath() and implement on Windows [v2]

2024-09-06 Thread Thomas Stuefe
On Thu, 5 Sep 2024 12:28:53 GMT, David Holmes wrote: >> src/hotspot/os/windows/os_windows.cpp line 5327: >> >>> 5325: >>> 5326: char* result = nullptr; >>> 5327: ALLOW_C_FUNCTION(::_fullpath, result = ::_fullpath(outbuf, >>> filename, outbuflen);) >> >> Would this work for non-Latin-1 utf

Re: RFR: 8304824: NMT should not use ThreadCritical

2024-09-06 Thread Thomas Stuefe
On Fri, 6 Sep 2024 08:32:01 GMT, Thomas Stuefe wrote: >> src/hotspot/share/nmt/nmtCommon.hpp line 153: >> >>> 151: intx const current = os::current_thread_id(); >>> 152: intx const owner = Atomic::load(&_owner); >>> 153: asse

Re: RFR: 8304824: NMT should not use ThreadCritical

2024-09-06 Thread Thomas Stuefe
On Thu, 5 Sep 2024 21:10:27 GMT, Robert Toyonaga wrote: >> ### Summary >> This PR just replaces `ThreadCritical` with a lock specific to NMT. >> `ThreadCritical` is a big lock and is unnecessary for the purposes of NMT. >> I've implemented the new lock with a semaphore so that it can be used e

Re: RFR: 8304824: NMT should not use ThreadCritical

2024-09-06 Thread Thomas Stuefe
On Fri, 6 Sep 2024 08:51:31 GMT, Johan Sjölen wrote: > Thank you Robert. > > I think that the `MemoryFileTracker`'s locker should probably also be > replaced with this semaphore, as in the future we have plans to have a > globally shared `NativeCallStackStorage`. +1 - PR Comment

Re: RFR: 8304824: NMT should not use ThreadCritical

2024-09-06 Thread Thomas Stuefe
On Wed, 4 Sep 2024 14:17:08 GMT, Robert Toyonaga wrote: > ### Summary > This PR just replaces `ThreadCritical` with a lock specific to NMT. > `ThreadCritical` is a big lock and is unnecessary for the purposes of NMT. > I've implemented the new lock with a semaphore so that it can be used early

Re: RFR: 8304824: NMT should not use ThreadCritical

2024-09-06 Thread Thomas Stuefe
On Fri, 6 Sep 2024 04:27:44 GMT, David Holmes wrote: >> ### Summary >> This PR just replaces `ThreadCritical` with a lock specific to NMT. >> `ThreadCritical` is a big lock and is unnecessary for the purposes of NMT. >> I've implemented the new lock with a semaphore so that it can be used earl

Re: RFR: 8338851: Hoist os::Posix::realpath() to os::realpath() and implement on Windows [v2]

2024-09-05 Thread Thomas Stuefe
On Wed, 4 Sep 2024 20:10:54 GMT, Simon Tooke wrote: >> This PR changes the status of realpath() from a Posix-specific API to a >> globally available API, i.e. adding it to the "Hotspot Porting API". Code >> would refer to os::realpath() instead of os::Posix::realpath(). >> >> This requires th

Re: RFR: 8305895: Implement JEP 450: Compact Object Headers (Experimental) [v5]

2024-08-30 Thread Thomas Stuefe
On Fri, 30 Aug 2024 07:27:45 GMT, Stefan Karlsson wrote: >> src/hotspot/share/gc/shared/gcForwarding.cpp line 37: >> >>> 35: size_t max_narrow_heap_size = right_n_bits(NumLowBitsNarrow - Shift); >>> 36: if (UseCompactObjectHeaders && max_heap_size > max_narrow_heap_size * >>> HeapWordSize)

Re: RFR: 8305895: Implement JEP 450: Compact Object Headers (Experimental) [v3]

2024-08-30 Thread Thomas Stuefe
On Fri, 30 Aug 2024 07:25:54 GMT, Stefan Karlsson wrote: >> src/hotspot/share/gc/serial/serialArguments.cpp line 33: >> >>> 31: void SerialArguments::initialize_heap_flags_and_sizes() { >>> 32: GenArguments::initialize_heap_flags_and_sizes(); >>> 33: GCForwarding::initialize_flags(MaxNewSize

Re: RFR: 8305895: Implement JEP 450: Compact Object Headers (Experimental) [v6]

2024-08-30 Thread Thomas Stuefe
On Fri, 23 Aug 2024 16:23:19 GMT, Leonid Mesnik wrote: >> Roman Kennke has updated the pull request incrementally with one additional >> commit since the last revision: >> >> Fix bit counts in GCForwarding > > make/Images.gmk line 135: > >> 133: # >> 134: # Param1 - VM variant (e.g., server,

Re: RFR: 8337563: NMT: rename MEMFLAGS to MemFlag

2024-08-30 Thread Thomas Stuefe
On Wed, 7 Aug 2024 17:13:06 GMT, Gerard Ziemski wrote: > Please review this cleanup, where we rename `MEMFLAGS` to `MemType`. > > `MEMFLAGS` implies that we can use more than one at the same time, but those > are exclusive values, so `MemType` is much more suitable name. > > There is a bunch o

Re: RFR: 8338257: UTF8 lengths should be size_t not int [v7]

2024-08-29 Thread Thomas Stuefe
On Thu, 29 Aug 2024 12:37:47 GMT, David Holmes wrote: > > > > Many of these translations seem awkward, since they convert to size_t > > > > only to then convert back to int. > > > > > > > > > Can you be more specific here please? > > > > > > Certainly. For example, this construct: > > ``` >

Re: RFR: 8338257: UTF8 lengths should be size_t not int [v7]

2024-08-29 Thread Thomas Stuefe
On Thu, 29 Aug 2024 12:30:26 GMT, David Holmes wrote: >> src/hotspot/share/classfile/javaClasses.hpp line 138: >> >>> 136: // Legacy variants that truncate the length if needed >>> 137: static intutf8_length_as_int(oop java_string); >>> 138: static intutf8_length_as_int(oop java_st

Re: RFR: 8305895: Implement JEP 450: Compact Object Headers (Experimental) [v6]

2024-08-29 Thread Thomas Stuefe
On Thu, 22 Aug 2024 20:08:43 GMT, Roman Kennke wrote: >> This is the main body of the JEP 450: Compact Object Headers (Experimental). >> >> It is also a follow-up to #20640, which now also includes (and supersedes) >> #20603 and #20605, plus the Tiny Class-Pointers parts that have been >> prev

Re: RFR: 8338257: UTF8 lengths should be size_t not int [v7]

2024-08-29 Thread Thomas Stuefe
On Thu, 29 Aug 2024 02:45:53 GMT, David Holmes wrote: >> This work has been split out from JDK-8328877: [JNI] The JNI Specification >> needs to address the limitations of integer UTF-8 String lengths >> >> The modified UTF-8 format used by the VM can require up to six bytes to >> represent one

Re: RFR: 8338257: UTF8 lengths should be size_t not int [v7]

2024-08-29 Thread Thomas Stuefe
On Thu, 29 Aug 2024 07:59:47 GMT, David Holmes wrote: > > Many of these translations seem awkward, since they convert to size_t only > > to then convert back to int. > > Can you be more specific here please? Certainly. For example, this construct: size_t utf8_len = static_cast(length);

Re: RFR: 8338257: UTF8 lengths should be size_t not int [v7]

2024-08-28 Thread Thomas Stuefe
On Thu, 29 Aug 2024 05:52:26 GMT, Thomas Stuefe wrote: > Many of these translations seem awkward, since they convert to size_t only to > then convert back to int. > > Proposal: I undestand you need to find a good point to tourniquet off the > int->size_t conversi

Re: RFR: 8338257: UTF8 lengths should be size_t not int [v7]

2024-08-28 Thread Thomas Stuefe
On Thu, 29 Aug 2024 02:45:53 GMT, David Holmes wrote: >> This work has been split out from JDK-8328877: [JNI] The JNI Specification >> needs to address the limitations of integer UTF-8 String lengths >> >> The modified UTF-8 format used by the VM can require up to six bytes to >> represent one

Re: RFR: 8337563: NMT: rename MEMFLAGS to MemFlag

2024-08-27 Thread Thomas Stuefe
On Wed, 7 Aug 2024 17:13:06 GMT, Gerard Ziemski wrote: > Please review this cleanup, where we rename `MEMFLAGS` to `MemType`. > > `MEMFLAGS` implies that we can use more than one at the same time, but those > are exclusive values, so `MemType` is much more suitable name. > > There is a bunch o

Re: RFR: 8319873: Add windows implementation for jcmd System.map and System.dump_map [v8]

2024-08-27 Thread Thomas Stuefe
On Tue, 27 Aug 2024 22:58:52 GMT, Simon Tooke wrote: >> This is a port of [JDK-8318636](https://github.com/openjdk/jdk/pull/16301) >> to Windows. >> >> System.map and System.dump_map are implemented using the Windows API and >> provide roughly the same information in the same format. Most of

Re: RFR: 8338257: UTF8 lengths should be size_t not int [v5]

2024-08-27 Thread Thomas Stuefe
On Tue, 27 Aug 2024 12:20:04 GMT, David Holmes wrote: >> I think the Java string would only need to be INT_MAX/3 in length, if all >> the characters require surrogate encoding. > > IIUC for compact strings, with non-latin-1 each pair of bytes would require > at most 3-bytes to encode so you'd n

Re: RFR: 8305895: Implement JEP 450: Compact Object Headers (Experimental) [v6]

2024-08-26 Thread Thomas Stuefe
On Fri, 23 Aug 2024 19:03:19 GMT, Leonid Mesnik wrote: >> Roman Kennke has updated the pull request incrementally with one additional >> commit since the last revision: >> >> Fix bit counts in GCForwarding > > test/hotspot/jtreg/runtime/cds/appcds/TestZGCWithCDS.java line 59: > >> 57: pu

Re: RFR: 8319873: Add windows implementation for jcmd System.map and System.dump_map [v5]

2024-08-23 Thread Thomas Stuefe
On Thu, 22 Aug 2024 15:59:25 GMT, Simon Tooke wrote: >> This is a port of [JDK-8318636](https://github.com/openjdk/jdk/pull/16301) >> to Windows. >> >> System.map and System.dump_map are implemented using the Windows API and >> provide roughly the same information in the same format. Most of

Re: RFR: 8319873: Add windows implementation for jcmd System.map and System.dump_map [v4]

2024-08-22 Thread Thomas Stuefe
On Wed, 21 Aug 2024 14:54:40 GMT, Simon Tooke wrote: >> This is a port of [JDK-8318636](https://github.com/openjdk/jdk/pull/16301) >> to Windows. >> >> System.map and System.dump_map are implemented using the Windows API and >> provide roughly the same information in the same format. Most of

Re: RFR: 8319873: Add windows implementation for jcmd System.map and System.dump_map [v4]

2024-08-21 Thread Thomas Stuefe
On Wed, 21 Aug 2024 14:54:40 GMT, Simon Tooke wrote: >> This is a port of [JDK-8318636](https://github.com/openjdk/jdk/pull/16301) >> to Windows. >> >> System.map and System.dump_map are implemented using the Windows API and >> provide roughly the same information in the same format. Most of

Re: RFR: 8204681: Option to include timestamp in hprof filename

2024-08-21 Thread Thomas Stuefe
On Tue, 13 Aug 2024 15:07:17 GMT, Sonia Zaldana Calles wrote: > Hi all, > > This PR addresses [8204681](https://bugs.openjdk.org/browse/JDK-8204681) > enabling support for timestamp expansion in filenames specified in > `-XX:HeapDumpPath` using `%t`. > > As mentioned in this comments for t

Re: RFR: 8319873: Add windows implementation for jcmd System.map and System.dump_map

2024-08-20 Thread Thomas Stuefe
On Tue, 20 Aug 2024 06:36:26 GMT, Thomas Stuefe wrote: >> This is a port of [JDK-8318636](https://github.com/openjdk/jdk/pull/16301) >> to Windows. >> >> System.map and System.dump_map are implemented using the Windows API and >> provide roughly the same informa

Re: RFR: 8319873: Add windows implementation for jcmd System.map and System.dump_map

2024-08-20 Thread Thomas Stuefe
On Thu, 15 Aug 2024 13:45:16 GMT, Simon Tooke wrote: > This is a port of [JDK-8318636](https://github.com/openjdk/jdk/pull/16301) to > Windows. > > System.map and System.dump_map are implemented using the Windows API and > provide roughly the same information in the same format. Most of the h

Re: RFR: 8337667: sun/tools/jcmd/TestJcmdPIDSubstitution.java is failing on mac and windows

2024-08-06 Thread Thomas Stuefe
On Tue, 6 Aug 2024 19:00:55 GMT, Chris Plummer wrote: > Limit testing `Compiler.perfmap` and `System.dump_map` to just linux because > they are only supported on linux. > > Tested by running just this one test on linux-x64-debug, linux-aarch64-debug, > macosx-aarch64, macosx-x64-debug, and win

Re: RFR: 8337667: sun/tools/jcmd/TestJcmdPIDSubstitution.java is failing on mac and windows

2024-08-06 Thread Thomas Stuefe
On Tue, 6 Aug 2024 17:49:30 GMT, Chris Plummer wrote: > I'm working on it. I'll also add the Linux check. Please do. I think she is on vacation. Sorry for the delay! - PR Comment: https://git.openjdk.org/jdk/pull/20421#issuecomment-2271880332

Re: RFR: 8337667: sun/tools/jcmd/TestJcmdPIDSubstitution.java is failing on mac and windows

2024-08-02 Thread Thomas Stuefe
On Thu, 1 Aug 2024 14:25:47 GMT, Sonia Zaldana Calles wrote: > Hi all, > > This PR addresses [8337667](https://bugs.openjdk.org/browse/JDK-8337667) . > > The `Compiler.perfmap` test case is failing on mac and windows as it is only > enabled in linux. I am removing this test case and noting

Re: RFR: 8337031: Improvements to CompilationMemoryStatistic [v2]

2024-07-29 Thread Thomas Stuefe
On Mon, 29 Jul 2024 14:49:48 GMT, Ashutosh Mehra wrote: >> Some minor improvements to CompilationMemoryStatistic. More details are in >> [JDK-8337031](https://bugs.openjdk.org/browse/JDK-8337031) >> >> Testing: >> test/hotspot/jtreg/compiler/print/CompileCommandPrintMemStat.java >> >> test

Re: RFR: 8334492: DiagnosticCommands (jcmd) should accept %p in output filenames and substitute PID [v17]

2024-07-29 Thread Thomas Stuefe
On Mon, 29 Jul 2024 19:08:17 GMT, Sonia Zaldana Calles wrote: >> Hi all, >> >> This PR addresses [8334492](https://bugs.openjdk.org/browse/JDK-8334492) >> enabling jcmd diagnostic commands that issue an output file to accept the >> `%p` pattern in the file name and substitute it for the PID.

Re: RFR: 8334492: DiagnosticCommands (jcmd) should accept %p in output filenames and substitute PID [v14]

2024-07-26 Thread Thomas Stuefe
On Fri, 26 Jul 2024 11:39:02 GMT, Kevin Walls wrote: > One more thing that's troubling me. (Apologies it's now and not last week.) > > I was looking at the _filename.value().get() usage and finding it > uncomfortable, compared to the previous simple _filename.value() 8-) Harder > to remember a

Re: RFR: 8337031: Improvements to CompilationMemoryStatistic

2024-07-26 Thread Thomas Stuefe
On Fri, 26 Jul 2024 18:21:05 GMT, Ashutosh Mehra wrote: >> src/hotspot/share/compiler/compilationMemoryStatistic.cpp line 242: >> >>> 240: for (int tag = 0; tag < Arena::tag_count(); tag++) { >>> 241: st->print_cr(" " LEGEND_KEY_FMT ": %s", Arena::tag_name[tag], >>> Arena::tag_desc[t

Re: RFR: 8337031: Improvements to CompilationMemoryStatistic

2024-07-26 Thread Thomas Stuefe
On Fri, 26 Jul 2024 18:18:45 GMT, Ashutosh Mehra wrote: >> src/hotspot/share/compiler/compilationMemoryStatistic.cpp line 204: >> >>> 202: size_t _total; >>> 203: // usage per arena tag when total peaked >>> 204: size_t _tags_size_at_peak[Arena::tag_count()]; >> >> Can you please make sur

Re: RFR: 8335701: Make GrowableArray templated by an Index [v2]

2024-07-26 Thread Thomas Stuefe
On Thu, 4 Jul 2024 13:35:36 GMT, Johan Sjölen wrote: >> Hi, >> >> Today the GrowableArray has a set index type of `int`, this PR makes it so >> that you can set your own index type through a template parameter. >> >> This opens up for a few new design choices: >> >> - Do you know that you hav

Re: RFR: 8337031: Improvements to CompilationMemoryStatistic

2024-07-25 Thread Thomas Stuefe
On Tue, 23 Jul 2024 21:46:50 GMT, Ashutosh Mehra wrote: > Some minor improvements to CompilationMemoryStatistic. More details are in > [JDK-8337031](https://bugs.openjdk.org/browse/JDK-8337031) > > Testing: > test/hotspot/jtreg/compiler/print/CompileCommandPrintMemStat.java > > test/hotspo

Re: RFR: 8334492: DiagnosticCommands (jcmd) should accept %p in output filenames and substitute PID [v11]

2024-07-24 Thread Thomas Stuefe
On Wed, 24 Jul 2024 18:05:49 GMT, Sonia Zaldana Calles wrote: >> Hi all, >> >> This PR addresses [8334492](https://bugs.openjdk.org/browse/JDK-8334492) >> enabling jcmd diagnostic commands that issue an output file to accept the >> `%p` pattern in the file name and substitute it for the PID.

Re: RFR: 8337031: Improvements to CompilationMemoryStatistic

2024-07-24 Thread Thomas Stuefe
On Tue, 23 Jul 2024 21:46:50 GMT, Ashutosh Mehra wrote: > Some minor improvements to CompilationMemoryStatistic. More details are in > [JDK-8337031](https://bugs.openjdk.org/browse/JDK-8337031) > > Testing: > test/hotspot/jtreg/compiler/print/CompileCommandPrintMemStat.java > > test/hotspo

Re: RFR: 8334492: DiagnosticCommands (jcmd) should accept %p in output filenames and substitute PID [v9]

2024-07-23 Thread Thomas Stuefe
On Tue, 23 Jul 2024 17:57:04 GMT, Sonia Zaldana Calles wrote: >> Hi all, >> >> This PR addresses [8334492](https://bugs.openjdk.org/browse/JDK-8334492) >> enabling jcmd diagnostic commands that issue an output file to accept the >> `%p` pattern in the file name and substitute it for the PID.

Re: RFR: 8334492: DiagnosticCommands (jcmd) should accept %p in output filenames and substitute PID [v7]

2024-07-23 Thread Thomas Stuefe
On Mon, 22 Jul 2024 20:03:08 GMT, Sonia Zaldana Calles wrote: >> Hi all, >> >> This PR addresses [8334492](https://bugs.openjdk.org/browse/JDK-8334492) >> enabling jcmd diagnostic commands that issue an output file to accept the >> `%p` pattern in the file name and substitute it for the PID.

Re: RFR: 8327054: DiagnosticCommand Compiler.perfmap does not log on output() [v4]

2024-07-22 Thread Thomas Stuefe
On Mon, 22 Jul 2024 15:36:47 GMT, Sonia Zaldana Calles wrote: >> Hi all, >> >> This is a small patch to address >> [8327054](https://bugs.openjdk.org/browse/JDK-8327054) making >> `CodeCache::write_perf_map` aware of which output stream errors and warning >> message should be going to. >>

Re: RFR: 8334145: missing from vm_memory_map_.txt in System.dump_map help text

2024-07-22 Thread Thomas Stuefe
On Fri, 19 Jul 2024 01:44:16 GMT, Chris Plummer wrote: > Fix issue with `` argument. +1 - Marked as reviewed by stuefe (Reviewer). PR Review: https://git.openjdk.org/jdk/pull/20246#pullrequestreview-2192244620

Re: RFR: 8334492: DiagnosticCommands (jcmd) should accept %p in output filenames and substitute PID [v5]

2024-07-21 Thread Thomas Stuefe
On Sun, 21 Jul 2024 08:55:35 GMT, Johan Sjölen wrote: >> @jdksjolen >> >>> Also, @SoniaZaldana, would you mind changing the code to this >> >> Even simpler (did not test, but you get my drift): >> >> >> #define ALL_TYPES_DO_XX(what) \ >> what(char*, "STRING") \ >> what(NanoTimeArgument,

Re: RFR: 8334492: DiagnosticCommands (jcmd) should accept %p in output filenames and substitute PID [v5]

2024-07-20 Thread Thomas Stuefe
On Sat, 20 Jul 2024 11:18:34 GMT, Johan Sjölen wrote: >> src/hotspot/share/prims/wbtestmethods/parserTests.cpp line 132: >> >>> 130:} else if (strcmp(type, "FILE") == 0) { >>> 131: DCmdArgument *argument = >>> 132: new DCmdArgument(name, desc, "FILE", mandatory); >> >> Please che

Re: RFR: 8327054: DiagnosticCommand Compiler.perfmap does not log on output() [v2]

2024-07-20 Thread Thomas Stuefe
On Fri, 19 Jul 2024 20:17:46 GMT, Sonia Zaldana Calles wrote: >> Hi all, >> >> This is a small patch to address >> [8327054](https://bugs.openjdk.org/browse/JDK-8327054) making >> `CodeCache::write_perf_map` aware of which output stream errors and warning >> message should be going to. >>

Re: RFR: 8334492: DiagnosticCommands (jcmd) should accept %p in output filenames and substitute PID [v5]

2024-07-20 Thread Thomas Stuefe
On Sat, 20 Jul 2024 07:30:55 GMT, Thomas Stuefe wrote: >> Sonia Zaldana Calles has updated the pull request incrementally with one >> additional commit since the last revision: >> >> Missing copyright header update > > src/hotspot/share/services/diagnostic

Re: RFR: 8334492: DiagnosticCommands (jcmd) should accept %p in output filenames and substitute PID [v5]

2024-07-20 Thread Thomas Stuefe
On Sat, 20 Jul 2024 07:38:25 GMT, Thomas Stuefe wrote: >> src/hotspot/share/services/diagnosticArgument.cpp line 366: >> >>> 364: _value._name = NEW_C_HEAP_ARRAY(char, JVM_MAXPATHLEN, mtInternal); >>> 365: if (!Arguments::copy_expand_pid(str, len, _va

Re: RFR: 8334492: DiagnosticCommands (jcmd) should accept %p in output filenames and substitute PID [v5]

2024-07-20 Thread Thomas Stuefe
On Fri, 19 Jul 2024 20:00:28 GMT, Leonid Mesnik wrote: >> Sonia Zaldana Calles has updated the pull request incrementally with one >> additional commit since the last revision: >> >> Missing copyright header update > > src/hotspot/share/services/diagnosticArgument.cpp line 366: > >> 364:

Re: RFR: 8334492: DiagnosticCommands (jcmd) should accept %p in output filenames and substitute PID [v5]

2024-07-20 Thread Thomas Stuefe
On Fri, 19 Jul 2024 14:07:12 GMT, Sonia Zaldana Calles wrote: >> Hi all, >> >> This PR addresses [8334492](https://bugs.openjdk.org/browse/JDK-8334492) >> enabling jcmd diagnostic commands that issue an output file to accept the >> `%p` pattern in the file name and substitute it for the PID.

  1   2   3   4   5   >