From jianbin at apache.org Wed Jul 2 02:45:33 2025 From: jianbin at apache.org (Jianbin Chen) Date: Wed, 2 Jul 2025 10:45:33 +0800 Subject: Virtual threads created more platform threads Message-ID: Hi Loom-dev Community, I have a question about platform thread creation triggered by calling future.get() within virtual threads, and I would like to ask the community for assistance. The detailed information can be found in this issue: https://github.com/adoptium/adoptium-support/issues/1319. I hope to receive some help from the community regarding this matter. Thank you. Additionally, I'd like to know if this situation will still occur in JDK 24 and above? Best Regards. Jianbin Chen, github-id: funky-eyes Best Regards. Jianbin Chen, github-id: funky-eyes -------------- next part -------------- An HTML attachment was scrubbed... URL: From robaho at me.com Wed Jul 2 03:03:16 2025 From: robaho at me.com (Robert Engels) Date: Tue, 1 Jul 2025 22:03:16 -0500 Subject: Virtual threads created more platform threads In-Reply-To: References: Message-ID: <499C4B59-4976-4DED-98A5-AF6272902D38@me.com> Future.get() should not create additional platforms threads. I suspect it is something else. I would start by providing a simple test case using futures only and you shouldn?t see them increase. > On Jul 1, 2025, at 9:47?PM, Jianbin Chen wrote: > > ? > > Hi Loom-dev Community, > > I have a question about platform thread creation triggered by calling future.get() within virtual threads, and I would like to ask the community for assistance. The detailed information can be found in this issue: https://github.com/adoptium/adoptium-support/issues/1319. I hope to receive some help from the community regarding this matter. Thank you. > Additionally, I'd like to know if this situation will still occur in JDK 24 and above? > > Best Regards. > Jianbin Chen, github-id: funky-eyes > > > Best Regards. > Jianbin Chen, github-id: funky-eyes -------------- next part -------------- An HTML attachment was scrubbed... URL: From liangchenblue at gmail.com Wed Jul 2 03:16:39 2025 From: liangchenblue at gmail.com (Chen Liang) Date: Tue, 1 Jul 2025 22:16:39 -0500 Subject: Virtual threads created more platform threads In-Reply-To: References: Message-ID: Hello, I don't think this would happen for JDK 24 - JEP 491 removed the code that calls Blocker in Object.wait, which is exactly the goal of that JEP. Note that virtual threads are still pinned when call stack goes into native, as native execution may pass address to stack variables that will be lost in context switches. In these cases, the traditional managed block happens again. P.S. I personally think it is somewhat not responsible for JDK vendors to ask users to upstream a question for an older JDK release that might no longer apply on the latest release to a development-oriented mailing list. On Tue, Jul 1, 2025 at 9:47?PM Jianbin Chen wrote: > > Hi Loom-dev Community, > > I have a question about platform thread creation triggered by calling > future.get() within virtual threads, and I would like to ask the community > for assistance. The detailed information can be found in this issue: > https://github.com/adoptium/adoptium-support/issues/1319. I hope to > receive some help from the community regarding this matter. Thank you. > Additionally, I'd like to know if this situation will still occur in JDK > 24 and above? > > Best Regards. > Jianbin Chen, github-id: funky-eyes > > > Best Regards. > Jianbin Chen, github-id: funky-eyes > -------------- next part -------------- An HTML attachment was scrubbed... URL: From petereastham at gmail.com Wed Jul 2 04:15:00 2025 From: petereastham at gmail.com (Peter Eastham) Date: Tue, 1 Jul 2025 22:15:00 -0600 Subject: Virtual threads created more platform threads In-Reply-To: References: Message-ID: I hope to not create noise with my own comments, and I will concur with you that JEP 491 should mean this is resolved in Java 24, which Jianbin Chen should try out before and then alongside Robert's recommendation for creating a very simple reproduction. As Java 21 is still the current LTS, it isn't completely unreasonable to forward concerns to the mailing list. My understanding in this particular case is that JEP 491 is not going to be back ported to Java 21 as it has a dependency from a change in Java 23. (Potentially more, I can't remember the conversation completely, I only skimmed that email chain) Thanks, - Peter P.S. As I do a similar job, I'd like to call out that Vendors letting the occasional support question slip into here is a fine price to pay for the amount of questions they handle instead. On Tue, Jul 1, 2025, 9:17?PM Chen Liang wrote: > Hello, I don't think this would happen for JDK 24 - JEP 491 removed the > code that calls Blocker in Object.wait, which is exactly the goal of that > JEP. > > Note that virtual threads are still pinned when call stack goes into > native, as native execution may pass address to stack variables that will > be lost in context switches. In these cases, the traditional managed block > happens again. > > P.S. I personally think it is somewhat not responsible for JDK vendors to > ask users to upstream a question for an older JDK release that might no > longer apply on the latest release to a development-oriented mailing list. > > On Tue, Jul 1, 2025 at 9:47?PM Jianbin Chen wrote: > >> >> Hi Loom-dev Community, >> >> I have a question about platform thread creation triggered by calling >> future.get() within virtual threads, and I would like to ask the community >> for assistance. The detailed information can be found in this issue: >> https://github.com/adoptium/adoptium-support/issues/1319. I hope to >> receive some help from the community regarding this matter. Thank you. >> Additionally, I'd like to know if this situation will still occur in JDK >> 24 and above? >> >> Best Regards. >> Jianbin Chen, github-id: funky-eyes >> >> >> Best Regards. >> Jianbin Chen, github-id: funky-eyes >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jianbin at apache.org Wed Jul 2 04:51:56 2025 From: jianbin at apache.org (Jianbin Chen) Date: Wed, 2 Jul 2025 12:51:56 +0800 Subject: Virtual threads created more platform threads In-Reply-To: References: Message-ID: Hi everyone, thank you for your replies and assistance. So this issue occurring in JDK 21 is considered normal behavior, correct? However, I've observed that these expanded threads are not being garbage collected - they remain in a waiting state for several minutes without disappearing. Sometimes they can expand to several hundred threads, and these threads, once created, remain unused, continuously wasting thread resources. Therefore, I'm attaching a local reproduction example of this issue to ensure the information in this email is complete. -Djava.util.concurrent.ForkJoinPool.common.parallelism=1 ` The following example clearly shows the forkjoinpool expanding. I have also recorded the runtime stack trace for this and submitted it as an attachment. ``` public static void main(String[] args) throws InterruptedException { Executor executor = ThreadPoolFactory.newVirtualThreadPerTaskExecutor(); String a = "a"; executor.execute(() -> { synchronized (a) { try { a.wait(); } catch (InterruptedException e) { throw new RuntimeException(e); } } }); executor.execute(() -> { synchronized (a) { try { a.wait(); } catch (InterruptedException e) { throw new RuntimeException(e); } } }); Thread.sleep(120000); } ``` After switching to using condition, it can be clearly observed through jstack that the forkjoinpool did not expand as many threads, but 3 threads still appeared, which might be related to incorrect usage of my JVM parameters. ``` public static void main(String[] args) throws InterruptedException { Executor executor = ThreadPoolFactory.newVirtualThreadPerTaskExecutor(); List list = new ArrayList<>(); list.add(new ReentrantLock()); list.add(new ReentrantLock()); list.add(new ReentrantLock()); list.add(new ReentrantLock()); list.add(new ReentrantLock()); list.add(new ReentrantLock()); for (int i = 0; i < list.size(); i++) { ReentrantLock value = list.get(i); Condition condition = value.newCondition(); executor.execute(() -> { value.lock(); try { condition.await(); } catch (InterruptedException e) { throw new RuntimeException(e); }finally { value.unlock(); } }); } Thread.sleep(120000); } ``` Best Regards. Jianbin Chen, github-id: funky-eyes Peter Eastham ? 2025?7?2??? 12:16??? > I hope to not create noise with my own comments, and I will concur with > you that JEP 491 should mean this is resolved in Java 24, which Jianbin > Chen should try out before and then alongside Robert's recommendation for > creating a very simple reproduction. > > As Java 21 is still the current LTS, it isn't completely unreasonable to > forward concerns to the mailing list. My understanding in this particular > case is that JEP 491 is not going to be back ported to Java 21 as it has a > dependency from a change in Java 23. (Potentially more, I can't remember > the conversation completely, I only skimmed that email chain) > > > Thanks, > - Peter > > P.S. As I do a similar job, I'd like to call out that Vendors letting the > occasional support question slip into here is a fine price to pay for the > amount of questions they handle instead. > > > > On Tue, Jul 1, 2025, 9:17?PM Chen Liang wrote: > >> Hello, I don't think this would happen for JDK 24 - JEP 491 removed the >> code that calls Blocker in Object.wait, which is exactly the goal of that >> JEP. >> >> Note that virtual threads are still pinned when call stack goes into >> native, as native execution may pass address to stack variables that will >> be lost in context switches. In these cases, the traditional managed block >> happens again. >> >> P.S. I personally think it is somewhat not responsible for JDK vendors to >> ask users to upstream a question for an older JDK release that might no >> longer apply on the latest release to a development-oriented mailing list. >> >> On Tue, Jul 1, 2025 at 9:47?PM Jianbin Chen wrote: >> >>> >>> Hi Loom-dev Community, >>> >>> I have a question about platform thread creation triggered by calling >>> future.get() within virtual threads, and I would like to ask the community >>> for assistance. The detailed information can be found in this issue: >>> https://github.com/adoptium/adoptium-support/issues/1319. I hope to >>> receive some help from the community regarding this matter. Thank you. >>> Additionally, I'd like to know if this situation will still occur in JDK >>> 24 and above? >>> >>> Best Regards. >>> Jianbin Chen, github-id: funky-eyes >>> >>> >>> Best Regards. >>> Jianbin Chen, github-id: funky-eyes >>> >> -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: jstack-after.log Type: application/octet-stream Size: 16371 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: jstack.log Type: application/octet-stream Size: 10446 bytes Desc: not available URL: From liangchenblue at gmail.com Wed Jul 2 04:56:12 2025 From: liangchenblue at gmail.com (Chen Liang) Date: Tue, 1 Jul 2025 23:56:12 -0500 Subject: Virtual threads created more platform threads In-Reply-To: References: Message-ID: Hello Peter, I find multiple misunderstandings in your response. Let me clarify these. About the process: Jianbin is using a specific product maintained by a vendor for an older JDK release. The vendor should ask the Jianbin to try on the latest JDK release before asking to forwarding this to loom. We cannot expect general users to understand the order of steps to take here. About backporting: JEP 14, the tip and tail release model, explicitly rules out the tail releases from addition of performance improvements; JEP 491 is clearly not crucial to the security of older releases and should not be backported. About LTS releases: they are not associated with the active development of JDK, as evident on jdk.java.net. Any vendor can declare any release supported; they must at least provide quarterly updates with all security fixes. For openjdk, all past releases that are supported in open source are discussed on the jdk-updates-dev list. Oracle offers premium support (not part of openjdk) for their chosen releases called LTS releases, and openjdk's jdk updates project decides to support the same releases. The argument that active jdk development is responsible for maintenance of a particular supported release, including ones considered LTS, does not stand. On Tue, Jul 1, 2025, 23:15 Peter Eastham wrote: > I hope to not create noise with my own comments, and I will concur with > you that JEP 491 should mean this is resolved in Java 24, which Jianbin > Chen should try out before and then alongside Robert's recommendation for > creating a very simple reproduction. > > As Java 21 is still the current LTS, it isn't completely unreasonable to > forward concerns to the mailing list. My understanding in this particular > case is that JEP 491 is not going to be back ported to Java 21 as it has a > dependency from a change in Java 23. (Potentially more, I can't remember > the conversation completely, I only skimmed that email chain) > > > Thanks, > - Peter > > P.S. As I do a similar job, I'd like to call out that Vendors letting the > occasional support question slip into here is a fine price to pay for the > amount of questions they handle instead. > > > > On Tue, Jul 1, 2025, 9:17?PM Chen Liang wrote: > >> Hello, I don't think this would happen for JDK 24 - JEP 491 removed the >> code that calls Blocker in Object.wait, which is exactly the goal of that >> JEP. >> >> Note that virtual threads are still pinned when call stack goes into >> native, as native execution may pass address to stack variables that will >> be lost in context switches. In these cases, the traditional managed block >> happens again. >> >> P.S. I personally think it is somewhat not responsible for JDK vendors to >> ask users to upstream a question for an older JDK release that might no >> longer apply on the latest release to a development-oriented mailing list. >> >> On Tue, Jul 1, 2025 at 9:47?PM Jianbin Chen wrote: >> >>> >>> Hi Loom-dev Community, >>> >>> I have a question about platform thread creation triggered by calling >>> future.get() within virtual threads, and I would like to ask the community >>> for assistance. The detailed information can be found in this issue: >>> https://github.com/adoptium/adoptium-support/issues/1319. I hope to >>> receive some help from the community regarding this matter. Thank you. >>> Additionally, I'd like to know if this situation will still occur in JDK >>> 24 and above? >>> >>> Best Regards. >>> Jianbin Chen, github-id: funky-eyes >>> >>> >>> Best Regards. >>> Jianbin Chen, github-id: funky-eyes >>> >> -------------- next part -------------- An HTML attachment was scrubbed... URL: From liangchenblue at gmail.com Wed Jul 2 04:57:56 2025 From: liangchenblue at gmail.com (Chen Liang) Date: Tue, 1 Jul 2025 23:57:56 -0500 Subject: Virtual threads created more platform threads In-Reply-To: References: Message-ID: Hello Jianbin, please provide a test case that can reproduce this issue on 24. 21 is not supported by active JDK development. On Tue, Jul 1, 2025, 23:52 Jianbin Chen wrote: > Hi everyone, > thank you for your replies and assistance. So this issue occurring in JDK > 21 is considered normal behavior, correct? However, I've observed that > these expanded threads are not being garbage collected - they remain in a > waiting state for several minutes without disappearing. Sometimes they can > expand to several hundred threads, and these threads, once created, remain > unused, continuously wasting thread resources. Therefore, I'm attaching a > local reproduction example of this issue to ensure the information in this > email is complete. > -Djava.util.concurrent.ForkJoinPool.common.parallelism=1 > ` > The following example clearly shows the forkjoinpool expanding. I have > also recorded the runtime stack trace for this and submitted it as an > attachment. > > ``` > public static void main(String[] args) throws InterruptedException { > Executor executor = > ThreadPoolFactory.newVirtualThreadPerTaskExecutor(); > String a = "a"; > executor.execute(() -> { > synchronized (a) { > try { > a.wait(); > } catch (InterruptedException e) { > throw new RuntimeException(e); > } > } > }); > executor.execute(() -> { > synchronized (a) { > try { > a.wait(); > } catch (InterruptedException e) { > throw new RuntimeException(e); > } > } > }); > Thread.sleep(120000); > } > ``` > After switching to using condition, it can be clearly observed through > jstack that the forkjoinpool did not expand as many threads, but 3 threads > still appeared, which might be related to incorrect usage of my JVM > parameters. > > ``` > public static void main(String[] args) throws InterruptedException { > Executor executor = > ThreadPoolFactory.newVirtualThreadPerTaskExecutor(); > List list = new ArrayList<>(); > list.add(new ReentrantLock()); > list.add(new ReentrantLock()); > list.add(new ReentrantLock()); > list.add(new ReentrantLock()); > list.add(new ReentrantLock()); > list.add(new ReentrantLock()); > for (int i = 0; i < list.size(); i++) { > ReentrantLock value = list.get(i); > Condition condition = value.newCondition(); > executor.execute(() -> { > value.lock(); > try { > condition.await(); > } catch (InterruptedException e) { > throw new RuntimeException(e); > }finally { > value.unlock(); > } > }); > } > Thread.sleep(120000); > } > ``` > > Best Regards. > Jianbin Chen, github-id: funky-eyes > > Peter Eastham ? 2025?7?2??? 12:16??? > >> I hope to not create noise with my own comments, and I will concur with >> you that JEP 491 should mean this is resolved in Java 24, which Jianbin >> Chen should try out before and then alongside Robert's recommendation for >> creating a very simple reproduction. >> >> As Java 21 is still the current LTS, it isn't completely unreasonable to >> forward concerns to the mailing list. My understanding in this particular >> case is that JEP 491 is not going to be back ported to Java 21 as it has a >> dependency from a change in Java 23. (Potentially more, I can't remember >> the conversation completely, I only skimmed that email chain) >> >> >> Thanks, >> - Peter >> >> P.S. As I do a similar job, I'd like to call out that Vendors letting the >> occasional support question slip into here is a fine price to pay for the >> amount of questions they handle instead. >> >> >> >> On Tue, Jul 1, 2025, 9:17?PM Chen Liang wrote: >> >>> Hello, I don't think this would happen for JDK 24 - JEP 491 removed the >>> code that calls Blocker in Object.wait, which is exactly the goal of that >>> JEP. >>> >>> Note that virtual threads are still pinned when call stack goes into >>> native, as native execution may pass address to stack variables that will >>> be lost in context switches. In these cases, the traditional managed block >>> happens again. >>> >>> P.S. I personally think it is somewhat not responsible for JDK vendors >>> to ask users to upstream a question for an older JDK release that might no >>> longer apply on the latest release to a development-oriented mailing list. >>> >>> On Tue, Jul 1, 2025 at 9:47?PM Jianbin Chen wrote: >>> >>>> >>>> Hi Loom-dev Community, >>>> >>>> I have a question about platform thread creation triggered by calling >>>> future.get() within virtual threads, and I would like to ask the community >>>> for assistance. The detailed information can be found in this issue: >>>> https://github.com/adoptium/adoptium-support/issues/1319. I hope to >>>> receive some help from the community regarding this matter. Thank you. >>>> Additionally, I'd like to know if this situation will still occur in >>>> JDK 24 and above? >>>> >>>> Best Regards. >>>> Jianbin Chen, github-id: funky-eyes >>>> >>>> >>>> Best Regards. >>>> Jianbin Chen, github-id: funky-eyes >>>> >>> -------------- next part -------------- An HTML attachment was scrubbed... URL: From jianbin at apache.org Wed Jul 2 05:50:27 2025 From: jianbin at apache.org (Jianbin Chen) Date: Wed, 2 Jul 2025 13:50:27 +0800 Subject: Virtual threads created more platform threads In-Reply-To: References: Message-ID: Hi Liang, Thank you and everyone for your patient answers. I verified this with JDK 24, and the same example did not show platform thread growth. However, there's one thing I don't understand: why are these threads never reclaimed? Most of them are in a waiting state - isn't this a waste of resources? Sometimes it increases by hundreds of threads. Is there any way to suppress this behavior on JDK 21? Best Regards. Jianbin Chen, github-id: funky-eyes Chen Liang ? 2025?7?2??? 12:58??? > Hello Jianbin, please provide a test case that can reproduce this issue on > 24. 21 is not supported by active JDK development. > > On Tue, Jul 1, 2025, 23:52 Jianbin Chen wrote: > >> Hi everyone, >> thank you for your replies and assistance. So this issue occurring in JDK >> 21 is considered normal behavior, correct? However, I've observed that >> these expanded threads are not being garbage collected - they remain in a >> waiting state for several minutes without disappearing. Sometimes they can >> expand to several hundred threads, and these threads, once created, remain >> unused, continuously wasting thread resources. Therefore, I'm attaching a >> local reproduction example of this issue to ensure the information in this >> email is complete. >> -Djava.util.concurrent.ForkJoinPool.common.parallelism=1 >> ` >> The following example clearly shows the forkjoinpool expanding. I have >> also recorded the runtime stack trace for this and submitted it as an >> attachment. >> >> ``` >> public static void main(String[] args) throws InterruptedException { >> Executor executor = >> ThreadPoolFactory.newVirtualThreadPerTaskExecutor(); >> String a = "a"; >> executor.execute(() -> { >> synchronized (a) { >> try { >> a.wait(); >> } catch (InterruptedException e) { >> throw new RuntimeException(e); >> } >> } >> }); >> executor.execute(() -> { >> synchronized (a) { >> try { >> a.wait(); >> } catch (InterruptedException e) { >> throw new RuntimeException(e); >> } >> } >> }); >> Thread.sleep(120000); >> } >> ``` >> After switching to using condition, it can be clearly observed through >> jstack that the forkjoinpool did not expand as many threads, but 3 threads >> still appeared, which might be related to incorrect usage of my JVM >> parameters. >> >> ``` >> public static void main(String[] args) throws InterruptedException { >> Executor executor = >> ThreadPoolFactory.newVirtualThreadPerTaskExecutor(); >> List list = new ArrayList<>(); >> list.add(new ReentrantLock()); >> list.add(new ReentrantLock()); >> list.add(new ReentrantLock()); >> list.add(new ReentrantLock()); >> list.add(new ReentrantLock()); >> list.add(new ReentrantLock()); >> for (int i = 0; i < list.size(); i++) { >> ReentrantLock value = list.get(i); >> Condition condition = value.newCondition(); >> executor.execute(() -> { >> value.lock(); >> try { >> condition.await(); >> } catch (InterruptedException e) { >> throw new RuntimeException(e); >> }finally { >> value.unlock(); >> } >> }); >> } >> Thread.sleep(120000); >> } >> ``` >> >> Best Regards. >> Jianbin Chen, github-id: funky-eyes >> >> Peter Eastham ? 2025?7?2??? 12:16??? >> >>> I hope to not create noise with my own comments, and I will concur with >>> you that JEP 491 should mean this is resolved in Java 24, which Jianbin >>> Chen should try out before and then alongside Robert's recommendation for >>> creating a very simple reproduction. >>> >>> As Java 21 is still the current LTS, it isn't completely unreasonable to >>> forward concerns to the mailing list. My understanding in this particular >>> case is that JEP 491 is not going to be back ported to Java 21 as it has a >>> dependency from a change in Java 23. (Potentially more, I can't remember >>> the conversation completely, I only skimmed that email chain) >>> >>> >>> Thanks, >>> - Peter >>> >>> P.S. As I do a similar job, I'd like to call out that Vendors letting >>> the occasional support question slip into here is a fine price to pay for >>> the amount of questions they handle instead. >>> >>> >>> >>> On Tue, Jul 1, 2025, 9:17?PM Chen Liang wrote: >>> >>>> Hello, I don't think this would happen for JDK 24 - JEP 491 removed the >>>> code that calls Blocker in Object.wait, which is exactly the goal of that >>>> JEP. >>>> >>>> Note that virtual threads are still pinned when call stack goes into >>>> native, as native execution may pass address to stack variables that will >>>> be lost in context switches. In these cases, the traditional managed block >>>> happens again. >>>> >>>> P.S. I personally think it is somewhat not responsible for JDK vendors >>>> to ask users to upstream a question for an older JDK release that might no >>>> longer apply on the latest release to a development-oriented mailing list. >>>> >>>> On Tue, Jul 1, 2025 at 9:47?PM Jianbin Chen wrote: >>>> >>>>> >>>>> Hi Loom-dev Community, >>>>> >>>>> I have a question about platform thread creation triggered by calling >>>>> future.get() within virtual threads, and I would like to ask the community >>>>> for assistance. The detailed information can be found in this issue: >>>>> https://github.com/adoptium/adoptium-support/issues/1319. I hope to >>>>> receive some help from the community regarding this matter. Thank you. >>>>> Additionally, I'd like to know if this situation will still occur in >>>>> JDK 24 and above? >>>>> >>>>> Best Regards. >>>>> Jianbin Chen, github-id: funky-eyes >>>>> >>>>> >>>>> Best Regards. >>>>> Jianbin Chen, github-id: funky-eyes >>>>> >>>> -------------- next part -------------- An HTML attachment was scrubbed... URL: From alan.bateman at oracle.com Wed Jul 2 06:30:44 2025 From: alan.bateman at oracle.com (Alan Bateman) Date: Wed, 2 Jul 2025 07:30:44 +0100 Subject: Virtual threads created more platform threads In-Reply-To: References: Message-ID: On 02/07/2025 06:50, Jianbin Chen wrote: > : > > Thank you and everyone for your patient answers. I verified this with > JDK 24, and the same example did not show platform thread growth. > However, there's one thing I don't understand: why are these threads > never reclaimed? Most of them are in a waiting state - isn't this a > waste of resources? Sometimes it increases by hundreds of threads. Is > there any way to suppress this behavior on JDK 21? Just to confirm what was already said. The stack trace in the issue shows Netty DefaultPromise.await in Object.wait. Prior to JDK 24 this pinned the carrier thread. The implementation (prior to JDK 24) attempts to compensate for this by arranging for a spare platform thread (FJP worker) to be available. This seems to be what you are seeing. The number of threads won't grow to more than 256. The "Implementation Note" section of the Thread class description documents the system property to change this limit if necessary. It's very possible that setting it to a number will cause the system to hang/deadlock as no virtual thread can make progress if they are all blocked in Object.wait and waiting for another virtual thread to notify. As regards trimming. The idle workers will terminate once a keep alive time (30s, not configurable) is reached but only if the system is idle (at quiescent in FJP speak). In a busy system, or even a tiny load such as heart beat, then it may not happen. There were improvements in JDK 22 [1] but it still requires that the system be idle for threads to terminate. -Alan [1] https://bugs.openjdk.org/browse/JDK-8319662 From jianbin at apache.org Wed Jul 2 07:25:31 2025 From: jianbin at apache.org (Jianbin Chen) Date: Wed, 2 Jul 2025 15:25:31 +0800 Subject: Virtual threads created more platform threads In-Reply-To: References: Message-ID: Hi Alan, Thank you for your detailed explanation, but I still have some questions. I added these parameters to limit platform threads: -Djava.util.concurrent.ForkJoinPool.common.parallelism=2 -Djdk.virtualThreadScheduler.parallelism=2 -Djdk.virtualThreadScheduler.maxPoolSize=2 -Djava.util.concurrent.ForkJoinPool.common.maximumSpares=2. Initially, I only added `jdk.virtualThreadScheduler.maxPoolSize=2`, but I found it had no effect. I then thought this parameter only limits the number of platform threads for normal virtual threads and doesn't cover cases with pinned threads. So I added the java.util.concurrent.ForkJoinPool.common.maximumSpares parameter again, but it still had no effect - the threads keep growing. My JDK version is Temurin OpenJDK 21.0.7+6. I've also attached the jstack stack trace information. Best Regards. Jianbin Chen, github-id: funky-eyes Alan Bateman ? 2025?7?2??? 14:31??? > > On 02/07/2025 06:50, Jianbin Chen wrote: > > : > > > > Thank you and everyone for your patient answers. I verified this with > > JDK 24, and the same example did not show platform thread growth. > > However, there's one thing I don't understand: why are these threads > > never reclaimed? Most of them are in a waiting state - isn't this a > > waste of resources? Sometimes it increases by hundreds of threads. Is > > there any way to suppress this behavior on JDK 21? > > Just to confirm what was already said. The stack trace in the issue > shows Netty DefaultPromise.await in Object.wait. Prior to JDK 24 this > pinned the carrier thread. The implementation (prior to JDK 24) attempts > to compensate for this by arranging for a spare platform thread (FJP > worker) to be available. This seems to be what you are seeing. The > number of threads won't grow to more than 256. The "Implementation Note" > section of the Thread class description documents the system property to > change this limit if necessary. It's very possible that setting it to a > number will cause the system to hang/deadlock as no virtual thread can > make progress if they are all blocked in Object.wait and waiting for > another virtual thread to notify. > > As regards trimming. The idle workers will terminate once a keep alive > time (30s, not configurable) is reached but only if the system is idle > (at quiescent in FJP speak). In a busy system, or even a tiny load such > as heart beat, then it may not happen. There were improvements in JDK 22 > [1] but it still requires that the system be idle for threads to terminate. > > -Alan > > [1] https://bugs.openjdk.org/browse/JDK-8319662 > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: jstack(2).log Type: application/octet-stream Size: 30532 bytes Desc: not available URL: From alan.bateman at oracle.com Wed Jul 2 08:23:33 2025 From: alan.bateman at oracle.com (Alan Bateman) Date: Wed, 2 Jul 2025 09:23:33 +0100 Subject: Virtual threads created more platform threads In-Reply-To: References: Message-ID: <6dbff31e-6e71-4122-a8f6-a1f3d215a9a7@oracle.com> On 02/07/2025 08:25, Jianbin Chen wrote: > : > Initially, I only added `jdk.virtualThreadScheduler.maxPoolSize=2`, > but I found it had no effect. Are you 100% sure that you specify the -D as a VM option rather than a program argument? -Alan From aph-open at littlepinkcloud.com Wed Jul 2 08:27:48 2025 From: aph-open at littlepinkcloud.com (Andrew Haley) Date: Wed, 2 Jul 2025 09:27:48 +0100 Subject: Virtual threads created more platform threads In-Reply-To: References: Message-ID: <42b80f14-8167-4de6-b372-765f59a50d8c@littlepinkcloud.com> On 02/07/2025 05:15, Peter Eastham wrote: > As Java 21 is still the current LTS, it isn't completely unreasonable to > forward concerns to the mailing list. Sure, we'e happy to talk about it, but as far as this group is concerned the issue has been resolved. Andrew. From jianbin at apache.org Wed Jul 2 09:14:32 2025 From: jianbin at apache.org (Jianbin Chen) Date: Wed, 2 Jul 2025 17:14:32 +0800 Subject: Virtual threads created more platform threads In-Reply-To: <42b80f14-8167-4de6-b372-765f59a50d8c@littlepinkcloud.com> References: <42b80f14-8167-4de6-b372-765f59a50d8c@littlepinkcloud.com> Message-ID: I'm sorry, I was running the main method directly in IDEA. I tried to add the parameters through 'add vm options' in 'edit configuration', but I selected the wrong option - I chose 'program arguments' so the parameters didn't take effect. Now I have successfully limited the maximum number of platform threads through jdk.virtualThreadScheduler.maxPoolSize. Thank you very much for everyone's help and answers! Best Regards. Jianbin Chen, github-id: funky-eyes Andrew Haley ? 2025?7?2??? 16:29??? > On 02/07/2025 05:15, Peter Eastham wrote: > > As Java 21 is still the current LTS, it isn't completely unreasonable to > > forward concerns to the mailing list. > > Sure, we'e happy to talk about it, but as far as this group is concerned > the issue has been resolved. > > Andrew. > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From alan.bateman at oracle.com Wed Jul 2 09:18:16 2025 From: alan.bateman at oracle.com (Alan Bateman) Date: Wed, 2 Jul 2025 10:18:16 +0100 Subject: Virtual threads created more platform threads In-Reply-To: <42b80f14-8167-4de6-b372-765f59a50d8c@littlepinkcloud.com> References: <42b80f14-8167-4de6-b372-765f59a50d8c@littlepinkcloud.com> Message-ID: <25561a41-7234-4cbf-a7f8-3f88a9b84e99@oracle.com> On 02/07/2025 09:27, Andrew Haley wrote: > On 02/07/2025 05:15, Peter Eastham wrote: >> As Java 21 is still the current LTS, it isn't completely unreasonable to >> forward concerns to the mailing list. > > Sure, we'e happy to talk about it, but as far as this group is > concerned the issue has been resolved. Right, and as a reminder: the changes were to the lightweight locking mode only (not legacy) and that mode only became the default in JDK 22. There is also a prerequisite spec change to JVMTI GetObjectMonitorUsage that happened in JDK 23. It also seems pointless given that JDK 24 is already released and JDK 25 is very close. -Alan From duke at openjdk.org Wed Jul 2 16:48:34 2025 From: duke at openjdk.org (duke) Date: Wed, 2 Jul 2025 16:48:34 GMT Subject: git: openjdk/loom: fibers: 54 new changesets Message-ID: <7adbfc8e-db33-417f-a792-6b2a526ab6df@openjdk.org> Changeset: d8f9b188 Branch: fibers Author: Coleen Phillimore Date: 2025-06-27 11:20:49 +0000 URL: https://git.openjdk.org/loom/commit/d8f9b188fa488c9c6e343c62a148cfe9fc8a563b 8268406: Deallocate jmethodID native memory Reviewed-by: dholmes, sspitsyn, dcubed, eosterlund, aboldtch ! src/hotspot/share/classfile/classLoaderData.cpp ! src/hotspot/share/classfile/classLoaderData.hpp ! src/hotspot/share/memory/universe.cpp ! src/hotspot/share/nmt/memTag.hpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceKlass.hpp ! src/hotspot/share/oops/instanceKlass.inline.hpp + src/hotspot/share/oops/jmethodIDTable.cpp + src/hotspot/share/oops/jmethodIDTable.hpp ! src/hotspot/share/oops/method.cpp ! src/hotspot/share/oops/method.hpp ! src/hotspot/share/prims/jniCheck.cpp ! src/hotspot/share/prims/jvmtiEnv.cpp ! src/hotspot/share/prims/jvmtiRedefineClasses.cpp ! src/hotspot/share/runtime/mutexLocker.cpp + test/hotspot/gtest/oops/test_jmethodIDTable.cpp Changeset: ecd2d830 Branch: fibers Author: Evgeny Astigeevich Date: 2025-06-27 12:49:20 +0000 URL: https://git.openjdk.org/loom/commit/ecd2d83096a1fea7d5086736306770bcffa4fdb6 8359435: AArch64: add support for SB instruction to MacroAssembler::spin_wait Reviewed-by: shade, aph ! src/hotspot/cpu/aarch64/assembler_aarch64.hpp ! src/hotspot/cpu/aarch64/globals_aarch64.hpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/spin_wait_aarch64.hpp ! src/hotspot/cpu/aarch64/vm_version_aarch64.cpp ! src/hotspot/cpu/aarch64/vm_version_aarch64.hpp ! src/hotspot/os_cpu/bsd_aarch64/vm_version_bsd_aarch64.cpp ! src/hotspot/os_cpu/linux_aarch64/vm_version_linux_aarch64.cpp ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/aarch64/AArch64.java ! test/hotspot/gtest/aarch64/aarch64-asmtest.py ! test/hotspot/gtest/aarch64/asmtest.out.h ! test/hotspot/jtreg/compiler/onSpinWait/TestOnSpinWaitAArch64.java Changeset: 839cede1 Branch: fibers Author: Shaojin Wen Date: 2025-06-27 14:06:12 +0000 URL: https://git.openjdk.org/loom/commit/839cede1a46b05d27abeaffbbd82c241910035cd 8357289: Break down the String constructor into smaller methods Reviewed-by: liach, rriggs ! src/java.base/share/classes/java/lang/String.java Changeset: a471fe99 Branch: fibers Author: Artur Barashev Date: 2025-06-27 14:15:55 +0000 URL: https://git.openjdk.org/loom/commit/a471fe992fc0d71ba65b5fdbcc44b97a2783b90a 8360539: DTLS handshakes fails due to improper cookie validation logic Reviewed-by: ascarpino, hchao ! src/java.base/share/classes/sun/security/ssl/HelloCookieManager.java Changeset: 12196baf Branch: fibers Author: Kevin Walls Date: 2025-06-27 14:54:12 +0000 URL: https://git.openjdk.org/loom/commit/12196baf6700d00c244747cfa22767e532a4a963 8358624: ImmutableDescriptor violates equals/hashCode contract after deserialization Reviewed-by: cjplummer, sspitsyn ! src/java.management/share/classes/javax/management/ImmutableDescriptor.java + test/jdk/javax/management/descriptor/ImmutableDescriptorSerialHashCodeTest.java Changeset: 4edf791a Branch: fibers Author: Coleen Phillimore Date: 2025-06-27 16:11:41 +0000 URL: https://git.openjdk.org/loom/commit/4edf791aecd432ecde00652acfaabddf136f4ca7 8295851: Do not use ttyLock in BytecodeTracer::trace Reviewed-by: dholmes, matsaave ! src/hotspot/share/interpreter/bytecodeTracer.cpp ! test/hotspot/jtreg/runtime/interpreter/TraceBytecodes.java Changeset: da7080ff Branch: fibers Author: Alisen Chung Date: 2025-06-27 16:13:03 +0000 URL: https://git.openjdk.org/loom/commit/da7080fffb2389465dc9afca6d02e9085fe15302 8359761: JDK 25 RDP1 L10n resource files update Reviewed-by: aivanov, almatvee, nbenalla, jlu, dnguyen, cstein, naoto ! src/demo/share/jfc/SwingSet2/resources/swingset_de.properties ! src/java.base/share/classes/sun/launcher/resources/launcher_de.properties ! src/java.base/share/classes/sun/launcher/resources/launcher_ja.properties ! src/java.base/share/classes/sun/launcher/resources/launcher_zh_CN.properties ! src/java.base/share/classes/sun/security/tools/keytool/resources/keytool_de.properties ! src/java.base/share/classes/sun/security/tools/keytool/resources/keytool_ja.properties ! src/java.base/share/classes/sun/security/tools/keytool/resources/keytool_zh_CN.properties ! src/java.base/share/classes/sun/security/util/resources/auth_zh_CN.properties ! src/java.base/share/classes/sun/security/util/resources/security_ja.properties ! src/java.base/share/classes/sun/security/util/resources/security_zh_CN.properties ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_de.properties ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_ja.properties ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_zh_CN.properties ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/res/XPATHErrorResources_de.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/res/XPATHErrorResources_ja.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/res/XPATHErrorResources_zh_CN.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler_de.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler_ja.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler_zh_CN.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac_de.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac_ja.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac_zh_CN.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/launcher_de.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/launcher_ja.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/launcher_zh_CN.properties ! src/jdk.compiler/share/classes/sun/tools/serialver/resources/serialver_de.properties ! src/jdk.compiler/share/classes/sun/tools/serialver/resources/serialver_ja.properties ! src/jdk.compiler/share/classes/sun/tools/serialver/resources/serialver_zh_CN.properties ! src/jdk.jartool/share/classes/sun/security/tools/jarsigner/resources/jarsigner_de.properties ! src/jdk.jartool/share/classes/sun/security/tools/jarsigner/resources/jarsigner_ja.properties ! src/jdk.jartool/share/classes/sun/security/tools/jarsigner/resources/jarsigner_zh_CN.properties ! src/jdk.jartool/share/classes/sun/tools/jar/resources/jar_de.properties ! src/jdk.jartool/share/classes/sun/tools/jar/resources/jar_ja.properties ! src/jdk.jartool/share/classes/sun/tools/jar/resources/jar_zh_CN.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard_de.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard_ja.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard_zh_CN.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets_de.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets_ja.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets_zh_CN.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/resources/javadoc_de.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/resources/javadoc_ja.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/resources/javadoc_zh_CN.properties ! src/jdk.jconsole/share/classes/sun/tools/jconsole/resources/messages_de.properties ! src/jdk.jdi/share/classes/com/sun/tools/example/debug/tty/TTYResources_de.java + src/jdk.jlink/share/classes/jdk/tools/jimage/resources/jimage_de.properties + src/jdk.jlink/share/classes/jdk/tools/jimage/resources/jimage_ja.properties + src/jdk.jlink/share/classes/jdk/tools/jimage/resources/jimage_zh_CN.properties ! src/jdk.jlink/share/classes/jdk/tools/jlink/resources/jlink_de.properties ! src/jdk.jlink/share/classes/jdk/tools/jlink/resources/jlink_ja.properties ! src/jdk.jlink/share/classes/jdk/tools/jlink/resources/jlink_zh_CN.properties ! src/jdk.jlink/share/classes/jdk/tools/jmod/resources/jmod_de.properties ! src/jdk.jpackage/linux/classes/jdk/jpackage/internal/resources/LinuxResources_de.properties ! src/jdk.jpackage/linux/classes/jdk/jpackage/internal/resources/LinuxResources_ja.properties ! src/jdk.jpackage/linux/classes/jdk/jpackage/internal/resources/LinuxResources_zh_CN.properties ! src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/resources/MacResources_de.properties ! src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/resources/MacResources_ja.properties ! src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/resources/MacResources_zh_CN.properties ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/HelpResources_de.properties ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/MainResources_de.properties ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/MainResources_ja.properties ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/MainResources_zh_CN.properties ! src/jdk.jpackage/windows/classes/jdk/jpackage/internal/resources/MsiInstallerStrings_de.wxl ! src/jdk.jpackage/windows/classes/jdk/jpackage/internal/resources/MsiInstallerStrings_ja.wxl ! src/jdk.jpackage/windows/classes/jdk/jpackage/internal/resources/MsiInstallerStrings_zh_CN.wxl ! src/jdk.jpackage/windows/classes/jdk/jpackage/internal/resources/WinResources_de.properties ! src/jdk.jpackage/windows/classes/jdk/jpackage/internal/resources/WinResources_ja.properties ! src/jdk.jpackage/windows/classes/jdk/jpackage/internal/resources/WinResources_zh_CN.properties ! src/jdk.jshell/share/classes/jdk/internal/jshell/tool/resources/l10n_de.properties ! src/jdk.jshell/share/classes/jdk/internal/jshell/tool/resources/l10n_ja.properties ! src/jdk.jshell/share/classes/jdk/internal/jshell/tool/resources/l10n_zh_CN.properties Changeset: 712d866b Branch: fibers Author: Chris Plummer Date: 2025-06-27 17:19:22 +0000 URL: https://git.openjdk.org/loom/commit/712d866b72b43c839c57c3303dfb215f94c0db3b 8360312: Serviceability Agent tests fail with JFR enabled due to unknown thread type JfrRecorderThread Reviewed-by: sspitsyn, kevinw, dholmes ! src/hotspot/share/jfr/recorder/service/jfrRecorderThread.cpp ! src/hotspot/share/jfr/recorder/service/jfrRecorderThread.hpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/Threads.java ! test/hotspot/jtreg/serviceability/sa/ClhsdbJstackWithConcurrentLock.java Changeset: 3525a40f Branch: fibers Author: Archie Cobbs Date: 2025-06-27 18:25:27 +0000 URL: https://git.openjdk.org/loom/commit/3525a40f39a966b8592f694a9b3cd4c5dc449266 8359596: Behavior change when both -Xlint:options and -Xlint:-options flags are given Reviewed-by: mcimadamore, uschindler ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Lint.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Modules.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/main/Arguments.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/Options.java + test/langtools/tools/javac/lint/LintOptions.java + test/langtools/tools/javac/lint/LintOptions.out Changeset: a23de2ec Branch: fibers Author: Matthias Baesken Date: 2025-06-27 19:10:02 +0000 URL: https://git.openjdk.org/loom/commit/a23de2ec090628b52532ee5d9bd4364a97499f5b 8360478: libjsig related tier3 jtreg tests fail when asan is configured Reviewed-by: dholmes, ihse ! make/data/asan/asan_default_options.c Changeset: 240541e1 Branch: fibers Author: Sergey Bylokhov Date: 2025-06-29 19:44:01 +0000 URL: https://git.openjdk.org/loom/commit/240541e1c1e3aee633da08e7d12117b8ea38b8f4 8359266: Delete the usage of AppContext in the GraphicsDevice Reviewed-by: aivanov, azvegint ! src/java.desktop/share/classes/java/awt/GraphicsDevice.java + test/jdk/java/awt/GraphicsDevice/FullScreenWindowRace.java Changeset: 4dd1b3a6 Branch: fibers Author: Jaikiran Pai Date: 2025-06-30 01:58:54 +0000 URL: https://git.openjdk.org/loom/commit/4dd1b3a6100f9e379c7cee3c699d63d0d01144a7 8330940: Impossible to create a socket backlog greater than 200 on Windows 8+ Reviewed-by: michaelm, dfuchs, alanb ! src/java.base/windows/native/libnio/ch/Net.c + test/jdk/java/net/ServerSocket/LargeBacklogTest.java Changeset: c2d76f98 Branch: fibers Author: Tobias Hartmann Date: 2025-06-30 05:41:37 +0000 URL: https://git.openjdk.org/loom/commit/c2d76f9844aadf77a0b213a9169a7c5c8c8f1ffb 8361032: Problem list TestOnSpinWaitAArch64 until JDK-8360936 is fixed Reviewed-by: alanb ! test/hotspot/jtreg/ProblemList.txt Changeset: 00adbbe5 Branch: fibers Author: Thomas Schatzl Date: 2025-06-30 11:22:46 +0000 URL: https://git.openjdk.org/loom/commit/00adbbe5538ec5c26dc5bd17ca94cc29db9bc478 8274051: Remove supports_vtime()/elapsedVTime() Reviewed-by: kbarrett, iwalulya ! src/hotspot/os/aix/os_aix.cpp ! src/hotspot/os/bsd/os_bsd.cpp ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/os/posix/os_posix.cpp ! src/hotspot/os/windows/os_windows.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/g1/g1ConcurrentMark.hpp ! src/hotspot/share/gc/g1/g1ConcurrentMarkThread.cpp ! src/hotspot/share/gc/g1/g1ConcurrentMarkThread.hpp ! src/hotspot/share/gc/g1/g1ConcurrentMarkThread.inline.hpp ! src/hotspot/share/gc/g1/g1ConcurrentRefineThread.cpp ! src/hotspot/share/gc/g1/g1ConcurrentRefineThread.hpp ! src/hotspot/share/gc/g1/g1RemSetSummary.cpp ! src/hotspot/share/gc/g1/g1RemSetSummary.hpp ! src/hotspot/share/gc/g1/g1ServiceThread.cpp ! src/hotspot/share/gc/g1/g1ServiceThread.hpp ! src/hotspot/share/runtime/os.hpp Changeset: aa191119 Branch: fibers Author: Aleksey Shipilev Date: 2025-06-30 12:55:36 +0000 URL: https://git.openjdk.org/loom/commit/aa1911191cf8c2b855268a76baf0757909d66d1b 8360867: CTW: Disable inline cache verification Reviewed-by: kvn, thartmann ! src/hotspot/share/code/codeCache.cpp ! src/hotspot/share/runtime/globals.hpp ! test/hotspot/jtreg/testlibrary/ctw/src/sun/hotspot/tools/ctw/CtwRunner.java Changeset: 1dda79cf Branch: fibers Author: Calvin Cheung Date: 2025-06-30 17:51:20 +0000 URL: https://git.openjdk.org/loom/commit/1dda79cfab597782e0a7bb63af6dcc30aeff62d1 8360743: Enables regeneration of JLI holder classes for CDS static dump Reviewed-by: iklam, liach ! src/hotspot/share/cds/aotArtifactFinder.cpp ! src/hotspot/share/cds/aotClassInitializer.cpp ! src/hotspot/share/cds/archiveBuilder.cpp ! src/hotspot/share/cds/archiveHeapWriter.cpp ! src/hotspot/share/cds/cdsConfig.cpp ! src/hotspot/share/cds/heapShared.cpp ! src/hotspot/share/cds/lambdaFormInvokers.cpp ! src/hotspot/share/cds/regeneratedClasses.cpp ! src/hotspot/share/cds/regeneratedClasses.hpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/oops/instanceKlass.hpp ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/NestHostOldInf.java Changeset: 9d518b32 Branch: fibers Author: Calvin Cheung Date: 2025-06-30 17:52:28 +0000 URL: https://git.openjdk.org/loom/commit/9d518b3213af7c60cb604138a2c4022181bb2daa 8310831: Some methods are missing from CDS regenerated JLI holder class Reviewed-by: iklam, liach ! src/hotspot/share/cds/regeneratedClasses.cpp Changeset: 61a590e9 Branch: fibers Author: Xueming Shen Date: 2025-07-01 00:58:43 +0000 URL: https://git.openjdk.org/loom/commit/61a590e9bea64ddfd465a5e6f224bc2979d841e9 8354490: Pattern.CANON_EQ causes a pattern to not match a string with a UNICODE variation Reviewed-by: rriggs, naoto ! src/java.base/share/classes/java/util/regex/Pattern.java ! test/jdk/java/util/regex/RegExTest.java Changeset: d1052c70 Branch: fibers Author: Anass Baya Committer: Abhishek Kumar Date: 2025-07-01 04:40:43 +0000 URL: https://git.openjdk.org/loom/commit/d1052c70cbddb025e7f5b71bd61176e63277bba0 8355478: DoubleActionESC.java fails intermittently Reviewed-by: aivanov, abhiscxk ! test/jdk/ProblemList.txt ! test/jdk/java/awt/FileDialog/DoubleActionESC.java Changeset: 0572b6ec Branch: fibers Author: Martin Doerr Date: 2025-07-01 06:09:50 +0000 URL: https://git.openjdk.org/loom/commit/0572b6ece7a77d13d23ac0c6d72d4fe5d5f0d944 8360887: (fs) Files.getFileAttributeView returns unusable FileAttributeView if UserDefinedFileAttributeView unavailable (aix) Co-authored-by: Joachim Kern Reviewed-by: bpb, mbaesken ! src/java.base/aix/classes/sun/nio/fs/AixFileSystemProvider.java ! test/jdk/java/nio/file/FileStore/Basic.java Changeset: b32ccf2c Branch: fibers Author: Manuel H?ssig Date: 2025-07-01 06:47:48 +0000 URL: https://git.openjdk.org/loom/commit/b32ccf2cb23e0180187f4238140583a923fc27c4 8361092: Remove trailing spaces in x86 ad files Reviewed-by: kvn, sviswanathan ! src/hotspot/cpu/x86/x86_64.ad Changeset: cd6caedd Branch: fibers Author: Aleksey Shipilev Date: 2025-07-01 07:58:12 +0000 URL: https://git.openjdk.org/loom/commit/cd6caedd0a3c9ebd4c8c57e64f62b60161c5cd7c 8360783: CTW: Skip deoptimization between tiers Reviewed-by: thartmann, mhaessig, dfenacci ! test/hotspot/jtreg/testlibrary/ctw/src/sun/hotspot/tools/ctw/Compiler.java Changeset: 54c95cf2 Branch: fibers Author: Matthias Baesken Date: 2025-07-01 09:19:35 +0000 URL: https://git.openjdk.org/loom/commit/54c95cf2261f871c47b3700ede31390c8f5e77dd 8361043: [ubsan] os::print_hex_dump runtime error: applying non-zero offset 8 to null pointer Reviewed-by: mdoerr, lucy ! src/hotspot/share/runtime/os.cpp Changeset: aeca49e4 Branch: fibers Author: Matthias Baesken Date: 2025-07-01 09:56:42 +0000 URL: https://git.openjdk.org/loom/commit/aeca49e43fab951c2031895fee32703fb4a19524 8360791: [ubsan] Adjust signal handling Reviewed-by: ihse, lucy ! make/data/ubsan/ubsan_default_options.c Changeset: fc739fee Branch: fibers Author: Albert Mingkun Yang Date: 2025-07-01 10:13:17 +0000 URL: https://git.openjdk.org/loom/commit/fc739fee5360ec052c2b51b3e30ce1c34df71714 8360206: Refactor ReferenceProcessor::balance_queues Reviewed-by: sangheki, kbarrett, tschatzl ! src/hotspot/share/gc/shared/referenceProcessor.cpp Changeset: eec11539 Branch: fibers Author: Albert Mingkun Yang Date: 2025-07-01 10:14:25 +0000 URL: https://git.openjdk.org/loom/commit/eec1153993a2a6e65b05e6d9d7416ee0cb634503 8361056: Parallel: Use correct is_par argument in ScavengeRootsTask Reviewed-by: tschatzl ! src/hotspot/share/gc/parallel/psScavenge.cpp Changeset: e85c7d09 Branch: fibers Author: Thomas Schatzl Date: 2025-07-01 10:40:33 +0000 URL: https://git.openjdk.org/loom/commit/e85c7d09df67728ddcf852a96e5b2baa57c502f1 8360790: G1: Improve HRRSStatsIter name Reviewed-by: kbarrett, ayang ! src/hotspot/share/gc/g1/g1RemSetSummary.cpp Changeset: 7583a7b8 Branch: fibers Author: Jaikiran Pai Date: 2025-07-01 11:39:20 +0000 URL: https://git.openjdk.org/loom/commit/7583a7b857da053c5e3770b680ab3494f1a6b66a 8359337: XML/JAXP tests that make network connections should ensure that no proxy is selected Reviewed-by: lancea, iris, joehw ! test/jaxp/javax/xml/jaxp/unittest/common/catalog/DOMTest.java ! test/jaxp/javax/xml/jaxp/unittest/common/catalog/SAXTest.java ! test/jaxp/javax/xml/jaxp/unittest/common/dtd/DOMTest.java ! test/jaxp/javax/xml/jaxp/unittest/common/dtd/SAXTest.java ! test/jaxp/javax/xml/jaxp/unittest/dom/DOMFeatureTest.java Changeset: e1382973 Branch: fibers Author: Aleksey Shipilev Date: 2025-07-01 14:30:20 +0000 URL: https://git.openjdk.org/loom/commit/e138297323de3f6990c4c536b1cefd209ce3a69c 8359436: AOTCompileEagerly should not be diagnostic Reviewed-by: kvn, syan, dholmes ! src/hotspot/share/cds/cds_globals.hpp + test/hotspot/jtreg/runtime/cds/appcds/aotCache/AOTCompileEagerly.java Changeset: e1681c48 Branch: fibers Author: Jaikiran Pai Date: 2025-07-01 15:32:26 +0000 URL: https://git.openjdk.org/loom/commit/e1681c48287bcce6c8f617d9c0c25354dd62870a 8359477: com/sun/net/httpserver/Test12.java appears to have a temp file race Reviewed-by: dfuchs, vyazici ! test/jdk/com/sun/net/httpserver/FileServerHandler.java ! test/jdk/com/sun/net/httpserver/Test12.java Changeset: 38f59f84 Branch: fibers Author: Mohamed Issa Committer: Sandhya Viswanathan Date: 2025-07-01 15:34:37 +0000 URL: https://git.openjdk.org/loom/commit/38f59f84c98dfd974eec0c05541b2138b149def7 8358179: Performance regression in Math.cbrt Reviewed-by: sviswanathan, sparasa, epeter ! src/hotspot/cpu/x86/stubGenerator_x86_64_cbrt.cpp Changeset: e7a45003 Branch: fibers Author: Coleen Phillimore Date: 2025-07-01 17:14:36 +0000 URL: https://git.openjdk.org/loom/commit/e7a450038a47a76d2e616ebce2a7fa8a51e36ea4 8359707: Add classfile modification code to RedefineClassHelper Reviewed-by: lmesnik, dholmes, sspitsyn ! test/hotspot/jtreg/serviceability/jvmti/RedefineClasses/ClassVersionAfterRedefine.java ! test/lib/RedefineClassHelper.java Changeset: 282ee40a Branch: fibers Author: Leonid Mesnik Date: 2025-07-01 17:22:33 +0000 URL: https://git.openjdk.org/loom/commit/282ee40a56af46521b94fe6e4c90e78b8f513b29 8359366: RunThese30M.java EXCEPTION_ACCESS_VIOLATION in JvmtiBreakpoints::clearall_in_class_at_safepoint Reviewed-by: coleenp, dholmes, sspitsyn ! src/hotspot/share/prims/jvmtiImpl.cpp Changeset: 13a39278 Branch: fibers Author: Kevin Walls Date: 2025-07-01 19:07:49 +0000 URL: https://git.openjdk.org/loom/commit/13a3927855da61fe27f3b43e5e4755d0c5ac5a16 8359870: JVM crashes in AccessInternal::PostRuntimeDispatch Reviewed-by: amenkov, dholmes, sspitsyn ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/services/threadService.cpp ! src/java.base/share/classes/jdk/internal/vm/ThreadDumper.java ! src/java.base/share/classes/jdk/internal/vm/ThreadSnapshot.java ! test/jdk/com/sun/management/HotSpotDiagnosticMXBean/DumpThreadsWithEliminatedLock.java Changeset: e9a62d79 Branch: fibers Author: Daniel Jeli?ski Date: 2025-07-01 19:19:25 +0000 URL: https://git.openjdk.org/loom/commit/e9a62d79cdc43e5eb141f1d47624d0f6fe05989d 8361125: Fix typo in onTradAbsence Reviewed-by: hchao, mullan, shade ! src/java.base/share/classes/sun/security/ssl/KeyShareExtension.java ! src/java.base/share/classes/sun/security/ssl/PreSharedKeyExtension.java ! src/java.base/share/classes/sun/security/ssl/SSLExtension.java ! src/java.base/share/classes/sun/security/ssl/SupportedGroupsExtension.java Changeset: 534d2b33 Branch: fibers Author: Calvin Cheung Date: 2025-07-01 19:52:06 +0000 URL: https://git.openjdk.org/loom/commit/534d2b33dc23d0171fdce3cb89d679d5088b4667 8357064: cds/appcds/ArchiveRelocationTest.java failed with missing expected output Reviewed-by: shade, iklam ! test/hotspot/jtreg/runtime/cds/appcds/ArchiveRelocationTest.java Changeset: 7d7e60c8 Branch: fibers Author: Ioi Lam Date: 2025-07-01 20:22:13 +0000 URL: https://git.openjdk.org/loom/commit/7d7e60c8aebc4b4c1e7121be702393e5bc46e9ce 8360164: AOT cache creation crashes in ~ThreadTotalCPUTimeClosure() Reviewed-by: ccheung, kvn, dholmes ! src/hotspot/share/cds/metaspaceShared.cpp Changeset: a910b20b Branch: fibers Author: Kim Barrett Date: 2025-07-02 00:17:19 +0000 URL: https://git.openjdk.org/loom/commit/a910b20b51157d8f36418bd60b328193ebfb502e 8346914: UB issue in scalbnA Reviewed-by: aph, tschatzl ! src/hotspot/cpu/aarch64/macroAssembler_aarch64_trig.cpp ! src/hotspot/share/runtime/sharedRuntimeMath.hpp ! src/hotspot/share/runtime/sharedRuntimeTrans.cpp ! src/hotspot/share/runtime/sharedRuntimeTrig.cpp Changeset: 1703915d Branch: fibers Author: Kim Barrett Date: 2025-07-02 00:25:26 +0000 URL: https://git.openjdk.org/loom/commit/1703915d3fe3608ca558671814f78d9dcf5886e6 8361085: MemoryReserver log_on_large_pages_failure has incorrect format usage Reviewed-by: stefank, dholmes ! src/hotspot/share/memory/memoryReserver.cpp Changeset: c6448dc3 Branch: fibers Author: Kim Barrett Date: 2025-07-02 00:28:24 +0000 URL: https://git.openjdk.org/loom/commit/c6448dc3afb1da9d93bb94804aa1971a650b91b7 8361086: JVMCIGlobals::check_jvmci_flags_are_consistent has incorrect format string Reviewed-by: kvn, mhaessig, yzheng ! src/hotspot/share/jvmci/jvmci_globals.cpp Changeset: 2bff8e0a Branch: fibers Author: Prasanta Sadhukhan Date: 2025-07-02 03:07:07 +0000 URL: https://git.openjdk.org/loom/commit/2bff8e0a1382f8820bc2479af87e45dc6b74cdb5 8360462: [macosx] row selection not working with Ctrl+Shift+Down/Up in AquaL&F Reviewed-by: dnguyen, abhiscxk ! src/java.desktop/macosx/classes/com/apple/laf/AquaKeyBindings.java + test/jdk/javax/swing/JTree/TestTreeRowSelection.java Changeset: 055d2ffa Branch: fibers Author: Ioi Lam Date: 2025-07-02 04:24:55 +0000 URL: https://git.openjdk.org/loom/commit/055d2ffa69e129b7617369e268f272517f25e2d7 8361215: Add AOT test case: verification constraint classes are excluded Reviewed-by: ccheung ! test/hotspot/jtreg/TEST.groups ! test/hotspot/jtreg/runtime/cds/appcds/aotCache/ExcludedClasses.java ! test/lib/jdk/test/lib/cds/CDSAppTester.java Changeset: 1ac74898 Branch: fibers Author: Aleksey Shipilev Date: 2025-07-02 05:38:28 +0000 URL: https://git.openjdk.org/loom/commit/1ac74898745ce9b109db5571d9dcbd907dd05831 8361180: Disable CompiledDirectCall verification with -VerifyInlineCaches Reviewed-by: kvn, thartmann ! src/hotspot/share/code/compiledIC.hpp Changeset: 0f1cd987 Branch: fibers Author: Anton Artemov Committer: David Holmes Date: 2025-07-02 06:49:36 +0000 URL: https://git.openjdk.org/loom/commit/0f1cd987b3520eaeab31e9faf782d6f81050803a 8284016: Normalize handshake closure names Reviewed-by: coleenp, sspitsyn ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/z/zMark.cpp ! src/hotspot/share/prims/scopedMemoryAccess.cpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/runtime/deoptimization.cpp ! src/hotspot/share/runtime/escapeBarrier.cpp ! src/hotspot/share/runtime/handshake.cpp ! src/hotspot/share/runtime/handshake.hpp ! src/hotspot/share/runtime/javaThread.cpp ! src/hotspot/share/runtime/javaThread.hpp ! src/hotspot/share/runtime/javaThread.inline.hpp ! src/hotspot/share/runtime/suspendResumeManager.cpp ! src/hotspot/share/runtime/suspendResumeManager.hpp ! src/hotspot/share/runtime/synchronizer.cpp ! src/hotspot/share/runtime/vmThread.cpp ! src/hotspot/share/services/threadService.cpp Changeset: 2304044a Branch: fibers Author: Manuel H?ssig Date: 2025-07-02 08:35:51 +0000 URL: https://git.openjdk.org/loom/commit/2304044ab2f228fe2fe4adb5975291e733b12d5c 8360641: TestCompilerCounts fails after 8354727 Reviewed-by: kvn, dfenacci, mdoerr ! test/hotspot/jtreg/compiler/arguments/TestCompilerCounts.java Changeset: eac8f5d2 Branch: fibers Author: Saranya Natarajan Committer: Daniel Lund?n Date: 2025-07-02 08:38:31 +0000 URL: https://git.openjdk.org/loom/commit/eac8f5d2c99e1bcc526da0f6a05af76e815c2db9 8325478: Restructure the macro expansion compiler phase to not include macro elimination Reviewed-by: kvn, dlunden ! src/hotspot/share/opto/c2_globals.hpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/macro.cpp ! src/hotspot/share/opto/macro.hpp ! src/hotspot/share/opto/phasetype.hpp ! src/utils/IdealGraphVisualizer/README.md ! test/hotspot/jtreg/compiler/arguments/TestStressOptions.java ! test/hotspot/jtreg/compiler/debug/TestGenerateStressSeed.java ! test/hotspot/jtreg/compiler/debug/TestStress.java ! test/hotspot/jtreg/compiler/lib/ir_framework/CompilePhase.java ! test/hotspot/jtreg/testlibrary/ctw/src/sun/hotspot/tools/ctw/CtwRunner.java Changeset: ce998699 Branch: fibers Author: Taizo Kurashige Committer: Manuel H?ssig Date: 2025-07-02 09:21:57 +0000 URL: https://git.openjdk.org/loom/commit/ce9986991d60e116ac6680a1b6a4b3ee5384d105 8359120: Improve warning message when fail to load hsdis library Reviewed-by: mhaessig, thartmann ! src/hotspot/share/code/nmethod.cpp ! src/hotspot/share/compiler/abstractDisassembler.cpp Changeset: 11c13187 Branch: fibers Author: Alan Bateman Date: 2025-07-02 15:52:44 +0000 URL: https://git.openjdk.org/loom/commit/11c1318773b40e26f5b03a34623c0df54a2c9956 Merge branch 'master' into fibers ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/share/cds/heapShared.cpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/memory/universe.cpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceKlass.hpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/javaThread.cpp ! src/hotspot/share/runtime/javaThread.hpp ! src/hotspot/share/runtime/synchronizer.cpp ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/TEST.groups ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/share/cds/heapShared.cpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/memory/universe.cpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceKlass.hpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/javaThread.cpp ! src/hotspot/share/runtime/javaThread.hpp ! src/hotspot/share/runtime/synchronizer.cpp ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/TEST.groups Changeset: 34c61011 Branch: fibers Author: Alan Bateman Date: 2025-07-02 15:51:03 +0000 URL: https://git.openjdk.org/loom/commit/34c61011b9d846c0bedf5e5e35bc330d319991cd Improve readme page ! loom-docs/CustomSchedulers.md Changeset: 6a254024 Branch: fibers Author: Alan Bateman Date: 2025-07-02 15:51:38 +0000 URL: https://git.openjdk.org/loom/commit/6a254024bc8ee1803ed801e4a6400cf85b1291bd Lost signal on aarch64 ! src/java.base/share/classes/java/util/concurrent/ForkJoinPool.java Changeset: 73f947f1 Branch: fibers Author: Alan Bateman Date: 2025-07-02 15:52:53 +0000 URL: https://git.openjdk.org/loom/commit/73f947f15768c3818a57c4c8bd2af5b6a22a8dbf Merge loom into fibers Changeset: 3066a67e Branch: fibers Author: Ashutosh Mehra Date: 2025-07-02 13:25:00 +0000 URL: https://git.openjdk.org/loom/commit/3066a67e6279f7e3896ab545bc6c291d279d2b03 8361101: AOTCodeAddressTable::_stubs_addr not initialized/freed properly Reviewed-by: kvn, shade ! src/hotspot/share/code/aotCodeCache.cpp ! src/hotspot/share/code/aotCodeCache.hpp Changeset: 832bfbc0 Branch: fibers Author: Albert Mingkun Yang Date: 2025-07-02 13:39:16 +0000 URL: https://git.openjdk.org/loom/commit/832bfbc0ddcf3068bab5d45d361803152736383f 8338474: Parallel: Deprecate and obsolete PSChunkLargeArrays Reviewed-by: tschatzl, kbarrett ! src/hotspot/share/gc/parallel/parallel_globals.hpp ! src/hotspot/share/runtime/arguments.cpp Changeset: 9c06b080 Branch: fibers Author: Alan Bateman Date: 2025-07-02 15:53:44 +0000 URL: https://git.openjdk.org/loom/commit/9c06b08026086226688d268095c1f1f814c8a33d Merge branch 'master' into fibers From duke at openjdk.org Wed Jul 2 16:51:26 2025 From: duke at openjdk.org (duke) Date: Wed, 2 Jul 2025 16:51:26 GMT Subject: git: openjdk/loom: master: 49 new changesets Message-ID: <97be2125-4fca-4cff-8d0b-76fbcd99a758@openjdk.org> Changeset: d8f9b188 Branch: master Author: Coleen Phillimore Date: 2025-06-27 11:20:49 +0000 URL: https://git.openjdk.org/loom/commit/d8f9b188fa488c9c6e343c62a148cfe9fc8a563b 8268406: Deallocate jmethodID native memory Reviewed-by: dholmes, sspitsyn, dcubed, eosterlund, aboldtch ! src/hotspot/share/classfile/classLoaderData.cpp ! src/hotspot/share/classfile/classLoaderData.hpp ! src/hotspot/share/memory/universe.cpp ! src/hotspot/share/nmt/memTag.hpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceKlass.hpp ! src/hotspot/share/oops/instanceKlass.inline.hpp + src/hotspot/share/oops/jmethodIDTable.cpp + src/hotspot/share/oops/jmethodIDTable.hpp ! src/hotspot/share/oops/method.cpp ! src/hotspot/share/oops/method.hpp ! src/hotspot/share/prims/jniCheck.cpp ! src/hotspot/share/prims/jvmtiEnv.cpp ! src/hotspot/share/prims/jvmtiRedefineClasses.cpp ! src/hotspot/share/runtime/mutexLocker.cpp + test/hotspot/gtest/oops/test_jmethodIDTable.cpp Changeset: ecd2d830 Branch: master Author: Evgeny Astigeevich Date: 2025-06-27 12:49:20 +0000 URL: https://git.openjdk.org/loom/commit/ecd2d83096a1fea7d5086736306770bcffa4fdb6 8359435: AArch64: add support for SB instruction to MacroAssembler::spin_wait Reviewed-by: shade, aph ! src/hotspot/cpu/aarch64/assembler_aarch64.hpp ! src/hotspot/cpu/aarch64/globals_aarch64.hpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/spin_wait_aarch64.hpp ! src/hotspot/cpu/aarch64/vm_version_aarch64.cpp ! src/hotspot/cpu/aarch64/vm_version_aarch64.hpp ! src/hotspot/os_cpu/bsd_aarch64/vm_version_bsd_aarch64.cpp ! src/hotspot/os_cpu/linux_aarch64/vm_version_linux_aarch64.cpp ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/aarch64/AArch64.java ! test/hotspot/gtest/aarch64/aarch64-asmtest.py ! test/hotspot/gtest/aarch64/asmtest.out.h ! test/hotspot/jtreg/compiler/onSpinWait/TestOnSpinWaitAArch64.java Changeset: 839cede1 Branch: master Author: Shaojin Wen Date: 2025-06-27 14:06:12 +0000 URL: https://git.openjdk.org/loom/commit/839cede1a46b05d27abeaffbbd82c241910035cd 8357289: Break down the String constructor into smaller methods Reviewed-by: liach, rriggs ! src/java.base/share/classes/java/lang/String.java Changeset: a471fe99 Branch: master Author: Artur Barashev Date: 2025-06-27 14:15:55 +0000 URL: https://git.openjdk.org/loom/commit/a471fe992fc0d71ba65b5fdbcc44b97a2783b90a 8360539: DTLS handshakes fails due to improper cookie validation logic Reviewed-by: ascarpino, hchao ! src/java.base/share/classes/sun/security/ssl/HelloCookieManager.java Changeset: 12196baf Branch: master Author: Kevin Walls Date: 2025-06-27 14:54:12 +0000 URL: https://git.openjdk.org/loom/commit/12196baf6700d00c244747cfa22767e532a4a963 8358624: ImmutableDescriptor violates equals/hashCode contract after deserialization Reviewed-by: cjplummer, sspitsyn ! src/java.management/share/classes/javax/management/ImmutableDescriptor.java + test/jdk/javax/management/descriptor/ImmutableDescriptorSerialHashCodeTest.java Changeset: 4edf791a Branch: master Author: Coleen Phillimore Date: 2025-06-27 16:11:41 +0000 URL: https://git.openjdk.org/loom/commit/4edf791aecd432ecde00652acfaabddf136f4ca7 8295851: Do not use ttyLock in BytecodeTracer::trace Reviewed-by: dholmes, matsaave ! src/hotspot/share/interpreter/bytecodeTracer.cpp ! test/hotspot/jtreg/runtime/interpreter/TraceBytecodes.java Changeset: da7080ff Branch: master Author: Alisen Chung Date: 2025-06-27 16:13:03 +0000 URL: https://git.openjdk.org/loom/commit/da7080fffb2389465dc9afca6d02e9085fe15302 8359761: JDK 25 RDP1 L10n resource files update Reviewed-by: aivanov, almatvee, nbenalla, jlu, dnguyen, cstein, naoto ! src/demo/share/jfc/SwingSet2/resources/swingset_de.properties ! src/java.base/share/classes/sun/launcher/resources/launcher_de.properties ! src/java.base/share/classes/sun/launcher/resources/launcher_ja.properties ! src/java.base/share/classes/sun/launcher/resources/launcher_zh_CN.properties ! src/java.base/share/classes/sun/security/tools/keytool/resources/keytool_de.properties ! src/java.base/share/classes/sun/security/tools/keytool/resources/keytool_ja.properties ! src/java.base/share/classes/sun/security/tools/keytool/resources/keytool_zh_CN.properties ! src/java.base/share/classes/sun/security/util/resources/auth_zh_CN.properties ! src/java.base/share/classes/sun/security/util/resources/security_ja.properties ! src/java.base/share/classes/sun/security/util/resources/security_zh_CN.properties ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_de.properties ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_ja.properties ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_zh_CN.properties ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/res/XPATHErrorResources_de.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/res/XPATHErrorResources_ja.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/res/XPATHErrorResources_zh_CN.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler_de.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler_ja.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler_zh_CN.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac_de.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac_ja.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac_zh_CN.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/launcher_de.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/launcher_ja.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/launcher_zh_CN.properties ! src/jdk.compiler/share/classes/sun/tools/serialver/resources/serialver_de.properties ! src/jdk.compiler/share/classes/sun/tools/serialver/resources/serialver_ja.properties ! src/jdk.compiler/share/classes/sun/tools/serialver/resources/serialver_zh_CN.properties ! src/jdk.jartool/share/classes/sun/security/tools/jarsigner/resources/jarsigner_de.properties ! src/jdk.jartool/share/classes/sun/security/tools/jarsigner/resources/jarsigner_ja.properties ! src/jdk.jartool/share/classes/sun/security/tools/jarsigner/resources/jarsigner_zh_CN.properties ! src/jdk.jartool/share/classes/sun/tools/jar/resources/jar_de.properties ! src/jdk.jartool/share/classes/sun/tools/jar/resources/jar_ja.properties ! src/jdk.jartool/share/classes/sun/tools/jar/resources/jar_zh_CN.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard_de.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard_ja.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard_zh_CN.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets_de.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets_ja.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets_zh_CN.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/resources/javadoc_de.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/resources/javadoc_ja.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/resources/javadoc_zh_CN.properties ! src/jdk.jconsole/share/classes/sun/tools/jconsole/resources/messages_de.properties ! src/jdk.jdi/share/classes/com/sun/tools/example/debug/tty/TTYResources_de.java + src/jdk.jlink/share/classes/jdk/tools/jimage/resources/jimage_de.properties + src/jdk.jlink/share/classes/jdk/tools/jimage/resources/jimage_ja.properties + src/jdk.jlink/share/classes/jdk/tools/jimage/resources/jimage_zh_CN.properties ! src/jdk.jlink/share/classes/jdk/tools/jlink/resources/jlink_de.properties ! src/jdk.jlink/share/classes/jdk/tools/jlink/resources/jlink_ja.properties ! src/jdk.jlink/share/classes/jdk/tools/jlink/resources/jlink_zh_CN.properties ! src/jdk.jlink/share/classes/jdk/tools/jmod/resources/jmod_de.properties ! src/jdk.jpackage/linux/classes/jdk/jpackage/internal/resources/LinuxResources_de.properties ! src/jdk.jpackage/linux/classes/jdk/jpackage/internal/resources/LinuxResources_ja.properties ! src/jdk.jpackage/linux/classes/jdk/jpackage/internal/resources/LinuxResources_zh_CN.properties ! src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/resources/MacResources_de.properties ! src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/resources/MacResources_ja.properties ! src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/resources/MacResources_zh_CN.properties ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/HelpResources_de.properties ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/MainResources_de.properties ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/MainResources_ja.properties ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/MainResources_zh_CN.properties ! src/jdk.jpackage/windows/classes/jdk/jpackage/internal/resources/MsiInstallerStrings_de.wxl ! src/jdk.jpackage/windows/classes/jdk/jpackage/internal/resources/MsiInstallerStrings_ja.wxl ! src/jdk.jpackage/windows/classes/jdk/jpackage/internal/resources/MsiInstallerStrings_zh_CN.wxl ! src/jdk.jpackage/windows/classes/jdk/jpackage/internal/resources/WinResources_de.properties ! src/jdk.jpackage/windows/classes/jdk/jpackage/internal/resources/WinResources_ja.properties ! src/jdk.jpackage/windows/classes/jdk/jpackage/internal/resources/WinResources_zh_CN.properties ! src/jdk.jshell/share/classes/jdk/internal/jshell/tool/resources/l10n_de.properties ! src/jdk.jshell/share/classes/jdk/internal/jshell/tool/resources/l10n_ja.properties ! src/jdk.jshell/share/classes/jdk/internal/jshell/tool/resources/l10n_zh_CN.properties Changeset: 712d866b Branch: master Author: Chris Plummer Date: 2025-06-27 17:19:22 +0000 URL: https://git.openjdk.org/loom/commit/712d866b72b43c839c57c3303dfb215f94c0db3b 8360312: Serviceability Agent tests fail with JFR enabled due to unknown thread type JfrRecorderThread Reviewed-by: sspitsyn, kevinw, dholmes ! src/hotspot/share/jfr/recorder/service/jfrRecorderThread.cpp ! src/hotspot/share/jfr/recorder/service/jfrRecorderThread.hpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/Threads.java ! test/hotspot/jtreg/serviceability/sa/ClhsdbJstackWithConcurrentLock.java Changeset: 3525a40f Branch: master Author: Archie Cobbs Date: 2025-06-27 18:25:27 +0000 URL: https://git.openjdk.org/loom/commit/3525a40f39a966b8592f694a9b3cd4c5dc449266 8359596: Behavior change when both -Xlint:options and -Xlint:-options flags are given Reviewed-by: mcimadamore, uschindler ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Lint.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Modules.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/main/Arguments.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/Options.java + test/langtools/tools/javac/lint/LintOptions.java + test/langtools/tools/javac/lint/LintOptions.out Changeset: a23de2ec Branch: master Author: Matthias Baesken Date: 2025-06-27 19:10:02 +0000 URL: https://git.openjdk.org/loom/commit/a23de2ec090628b52532ee5d9bd4364a97499f5b 8360478: libjsig related tier3 jtreg tests fail when asan is configured Reviewed-by: dholmes, ihse ! make/data/asan/asan_default_options.c Changeset: 240541e1 Branch: master Author: Sergey Bylokhov Date: 2025-06-29 19:44:01 +0000 URL: https://git.openjdk.org/loom/commit/240541e1c1e3aee633da08e7d12117b8ea38b8f4 8359266: Delete the usage of AppContext in the GraphicsDevice Reviewed-by: aivanov, azvegint ! src/java.desktop/share/classes/java/awt/GraphicsDevice.java + test/jdk/java/awt/GraphicsDevice/FullScreenWindowRace.java Changeset: 4dd1b3a6 Branch: master Author: Jaikiran Pai Date: 2025-06-30 01:58:54 +0000 URL: https://git.openjdk.org/loom/commit/4dd1b3a6100f9e379c7cee3c699d63d0d01144a7 8330940: Impossible to create a socket backlog greater than 200 on Windows 8+ Reviewed-by: michaelm, dfuchs, alanb ! src/java.base/windows/native/libnio/ch/Net.c + test/jdk/java/net/ServerSocket/LargeBacklogTest.java Changeset: c2d76f98 Branch: master Author: Tobias Hartmann Date: 2025-06-30 05:41:37 +0000 URL: https://git.openjdk.org/loom/commit/c2d76f9844aadf77a0b213a9169a7c5c8c8f1ffb 8361032: Problem list TestOnSpinWaitAArch64 until JDK-8360936 is fixed Reviewed-by: alanb ! test/hotspot/jtreg/ProblemList.txt Changeset: 00adbbe5 Branch: master Author: Thomas Schatzl Date: 2025-06-30 11:22:46 +0000 URL: https://git.openjdk.org/loom/commit/00adbbe5538ec5c26dc5bd17ca94cc29db9bc478 8274051: Remove supports_vtime()/elapsedVTime() Reviewed-by: kbarrett, iwalulya ! src/hotspot/os/aix/os_aix.cpp ! src/hotspot/os/bsd/os_bsd.cpp ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/os/posix/os_posix.cpp ! src/hotspot/os/windows/os_windows.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/g1/g1ConcurrentMark.hpp ! src/hotspot/share/gc/g1/g1ConcurrentMarkThread.cpp ! src/hotspot/share/gc/g1/g1ConcurrentMarkThread.hpp ! src/hotspot/share/gc/g1/g1ConcurrentMarkThread.inline.hpp ! src/hotspot/share/gc/g1/g1ConcurrentRefineThread.cpp ! src/hotspot/share/gc/g1/g1ConcurrentRefineThread.hpp ! src/hotspot/share/gc/g1/g1RemSetSummary.cpp ! src/hotspot/share/gc/g1/g1RemSetSummary.hpp ! src/hotspot/share/gc/g1/g1ServiceThread.cpp ! src/hotspot/share/gc/g1/g1ServiceThread.hpp ! src/hotspot/share/runtime/os.hpp Changeset: aa191119 Branch: master Author: Aleksey Shipilev Date: 2025-06-30 12:55:36 +0000 URL: https://git.openjdk.org/loom/commit/aa1911191cf8c2b855268a76baf0757909d66d1b 8360867: CTW: Disable inline cache verification Reviewed-by: kvn, thartmann ! src/hotspot/share/code/codeCache.cpp ! src/hotspot/share/runtime/globals.hpp ! test/hotspot/jtreg/testlibrary/ctw/src/sun/hotspot/tools/ctw/CtwRunner.java Changeset: 1dda79cf Branch: master Author: Calvin Cheung Date: 2025-06-30 17:51:20 +0000 URL: https://git.openjdk.org/loom/commit/1dda79cfab597782e0a7bb63af6dcc30aeff62d1 8360743: Enables regeneration of JLI holder classes for CDS static dump Reviewed-by: iklam, liach ! src/hotspot/share/cds/aotArtifactFinder.cpp ! src/hotspot/share/cds/aotClassInitializer.cpp ! src/hotspot/share/cds/archiveBuilder.cpp ! src/hotspot/share/cds/archiveHeapWriter.cpp ! src/hotspot/share/cds/cdsConfig.cpp ! src/hotspot/share/cds/heapShared.cpp ! src/hotspot/share/cds/lambdaFormInvokers.cpp ! src/hotspot/share/cds/regeneratedClasses.cpp ! src/hotspot/share/cds/regeneratedClasses.hpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/oops/instanceKlass.hpp ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/NestHostOldInf.java Changeset: 9d518b32 Branch: master Author: Calvin Cheung Date: 2025-06-30 17:52:28 +0000 URL: https://git.openjdk.org/loom/commit/9d518b3213af7c60cb604138a2c4022181bb2daa 8310831: Some methods are missing from CDS regenerated JLI holder class Reviewed-by: iklam, liach ! src/hotspot/share/cds/regeneratedClasses.cpp Changeset: 61a590e9 Branch: master Author: Xueming Shen Date: 2025-07-01 00:58:43 +0000 URL: https://git.openjdk.org/loom/commit/61a590e9bea64ddfd465a5e6f224bc2979d841e9 8354490: Pattern.CANON_EQ causes a pattern to not match a string with a UNICODE variation Reviewed-by: rriggs, naoto ! src/java.base/share/classes/java/util/regex/Pattern.java ! test/jdk/java/util/regex/RegExTest.java Changeset: d1052c70 Branch: master Author: Anass Baya Committer: Abhishek Kumar Date: 2025-07-01 04:40:43 +0000 URL: https://git.openjdk.org/loom/commit/d1052c70cbddb025e7f5b71bd61176e63277bba0 8355478: DoubleActionESC.java fails intermittently Reviewed-by: aivanov, abhiscxk ! test/jdk/ProblemList.txt ! test/jdk/java/awt/FileDialog/DoubleActionESC.java Changeset: 0572b6ec Branch: master Author: Martin Doerr Date: 2025-07-01 06:09:50 +0000 URL: https://git.openjdk.org/loom/commit/0572b6ece7a77d13d23ac0c6d72d4fe5d5f0d944 8360887: (fs) Files.getFileAttributeView returns unusable FileAttributeView if UserDefinedFileAttributeView unavailable (aix) Co-authored-by: Joachim Kern Reviewed-by: bpb, mbaesken ! src/java.base/aix/classes/sun/nio/fs/AixFileSystemProvider.java ! test/jdk/java/nio/file/FileStore/Basic.java Changeset: b32ccf2c Branch: master Author: Manuel H?ssig Date: 2025-07-01 06:47:48 +0000 URL: https://git.openjdk.org/loom/commit/b32ccf2cb23e0180187f4238140583a923fc27c4 8361092: Remove trailing spaces in x86 ad files Reviewed-by: kvn, sviswanathan ! src/hotspot/cpu/x86/x86_64.ad Changeset: cd6caedd Branch: master Author: Aleksey Shipilev Date: 2025-07-01 07:58:12 +0000 URL: https://git.openjdk.org/loom/commit/cd6caedd0a3c9ebd4c8c57e64f62b60161c5cd7c 8360783: CTW: Skip deoptimization between tiers Reviewed-by: thartmann, mhaessig, dfenacci ! test/hotspot/jtreg/testlibrary/ctw/src/sun/hotspot/tools/ctw/Compiler.java Changeset: 54c95cf2 Branch: master Author: Matthias Baesken Date: 2025-07-01 09:19:35 +0000 URL: https://git.openjdk.org/loom/commit/54c95cf2261f871c47b3700ede31390c8f5e77dd 8361043: [ubsan] os::print_hex_dump runtime error: applying non-zero offset 8 to null pointer Reviewed-by: mdoerr, lucy ! src/hotspot/share/runtime/os.cpp Changeset: aeca49e4 Branch: master Author: Matthias Baesken Date: 2025-07-01 09:56:42 +0000 URL: https://git.openjdk.org/loom/commit/aeca49e43fab951c2031895fee32703fb4a19524 8360791: [ubsan] Adjust signal handling Reviewed-by: ihse, lucy ! make/data/ubsan/ubsan_default_options.c Changeset: fc739fee Branch: master Author: Albert Mingkun Yang Date: 2025-07-01 10:13:17 +0000 URL: https://git.openjdk.org/loom/commit/fc739fee5360ec052c2b51b3e30ce1c34df71714 8360206: Refactor ReferenceProcessor::balance_queues Reviewed-by: sangheki, kbarrett, tschatzl ! src/hotspot/share/gc/shared/referenceProcessor.cpp Changeset: eec11539 Branch: master Author: Albert Mingkun Yang Date: 2025-07-01 10:14:25 +0000 URL: https://git.openjdk.org/loom/commit/eec1153993a2a6e65b05e6d9d7416ee0cb634503 8361056: Parallel: Use correct is_par argument in ScavengeRootsTask Reviewed-by: tschatzl ! src/hotspot/share/gc/parallel/psScavenge.cpp Changeset: e85c7d09 Branch: master Author: Thomas Schatzl Date: 2025-07-01 10:40:33 +0000 URL: https://git.openjdk.org/loom/commit/e85c7d09df67728ddcf852a96e5b2baa57c502f1 8360790: G1: Improve HRRSStatsIter name Reviewed-by: kbarrett, ayang ! src/hotspot/share/gc/g1/g1RemSetSummary.cpp Changeset: 7583a7b8 Branch: master Author: Jaikiran Pai Date: 2025-07-01 11:39:20 +0000 URL: https://git.openjdk.org/loom/commit/7583a7b857da053c5e3770b680ab3494f1a6b66a 8359337: XML/JAXP tests that make network connections should ensure that no proxy is selected Reviewed-by: lancea, iris, joehw ! test/jaxp/javax/xml/jaxp/unittest/common/catalog/DOMTest.java ! test/jaxp/javax/xml/jaxp/unittest/common/catalog/SAXTest.java ! test/jaxp/javax/xml/jaxp/unittest/common/dtd/DOMTest.java ! test/jaxp/javax/xml/jaxp/unittest/common/dtd/SAXTest.java ! test/jaxp/javax/xml/jaxp/unittest/dom/DOMFeatureTest.java Changeset: e1382973 Branch: master Author: Aleksey Shipilev Date: 2025-07-01 14:30:20 +0000 URL: https://git.openjdk.org/loom/commit/e138297323de3f6990c4c536b1cefd209ce3a69c 8359436: AOTCompileEagerly should not be diagnostic Reviewed-by: kvn, syan, dholmes ! src/hotspot/share/cds/cds_globals.hpp + test/hotspot/jtreg/runtime/cds/appcds/aotCache/AOTCompileEagerly.java Changeset: e1681c48 Branch: master Author: Jaikiran Pai Date: 2025-07-01 15:32:26 +0000 URL: https://git.openjdk.org/loom/commit/e1681c48287bcce6c8f617d9c0c25354dd62870a 8359477: com/sun/net/httpserver/Test12.java appears to have a temp file race Reviewed-by: dfuchs, vyazici ! test/jdk/com/sun/net/httpserver/FileServerHandler.java ! test/jdk/com/sun/net/httpserver/Test12.java Changeset: 38f59f84 Branch: master Author: Mohamed Issa Committer: Sandhya Viswanathan Date: 2025-07-01 15:34:37 +0000 URL: https://git.openjdk.org/loom/commit/38f59f84c98dfd974eec0c05541b2138b149def7 8358179: Performance regression in Math.cbrt Reviewed-by: sviswanathan, sparasa, epeter ! src/hotspot/cpu/x86/stubGenerator_x86_64_cbrt.cpp Changeset: e7a45003 Branch: master Author: Coleen Phillimore Date: 2025-07-01 17:14:36 +0000 URL: https://git.openjdk.org/loom/commit/e7a450038a47a76d2e616ebce2a7fa8a51e36ea4 8359707: Add classfile modification code to RedefineClassHelper Reviewed-by: lmesnik, dholmes, sspitsyn ! test/hotspot/jtreg/serviceability/jvmti/RedefineClasses/ClassVersionAfterRedefine.java ! test/lib/RedefineClassHelper.java Changeset: 282ee40a Branch: master Author: Leonid Mesnik Date: 2025-07-01 17:22:33 +0000 URL: https://git.openjdk.org/loom/commit/282ee40a56af46521b94fe6e4c90e78b8f513b29 8359366: RunThese30M.java EXCEPTION_ACCESS_VIOLATION in JvmtiBreakpoints::clearall_in_class_at_safepoint Reviewed-by: coleenp, dholmes, sspitsyn ! src/hotspot/share/prims/jvmtiImpl.cpp Changeset: 13a39278 Branch: master Author: Kevin Walls Date: 2025-07-01 19:07:49 +0000 URL: https://git.openjdk.org/loom/commit/13a3927855da61fe27f3b43e5e4755d0c5ac5a16 8359870: JVM crashes in AccessInternal::PostRuntimeDispatch Reviewed-by: amenkov, dholmes, sspitsyn ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/services/threadService.cpp ! src/java.base/share/classes/jdk/internal/vm/ThreadDumper.java ! src/java.base/share/classes/jdk/internal/vm/ThreadSnapshot.java ! test/jdk/com/sun/management/HotSpotDiagnosticMXBean/DumpThreadsWithEliminatedLock.java Changeset: e9a62d79 Branch: master Author: Daniel Jeli?ski Date: 2025-07-01 19:19:25 +0000 URL: https://git.openjdk.org/loom/commit/e9a62d79cdc43e5eb141f1d47624d0f6fe05989d 8361125: Fix typo in onTradAbsence Reviewed-by: hchao, mullan, shade ! src/java.base/share/classes/sun/security/ssl/KeyShareExtension.java ! src/java.base/share/classes/sun/security/ssl/PreSharedKeyExtension.java ! src/java.base/share/classes/sun/security/ssl/SSLExtension.java ! src/java.base/share/classes/sun/security/ssl/SupportedGroupsExtension.java Changeset: 534d2b33 Branch: master Author: Calvin Cheung Date: 2025-07-01 19:52:06 +0000 URL: https://git.openjdk.org/loom/commit/534d2b33dc23d0171fdce3cb89d679d5088b4667 8357064: cds/appcds/ArchiveRelocationTest.java failed with missing expected output Reviewed-by: shade, iklam ! test/hotspot/jtreg/runtime/cds/appcds/ArchiveRelocationTest.java Changeset: 7d7e60c8 Branch: master Author: Ioi Lam Date: 2025-07-01 20:22:13 +0000 URL: https://git.openjdk.org/loom/commit/7d7e60c8aebc4b4c1e7121be702393e5bc46e9ce 8360164: AOT cache creation crashes in ~ThreadTotalCPUTimeClosure() Reviewed-by: ccheung, kvn, dholmes ! src/hotspot/share/cds/metaspaceShared.cpp Changeset: a910b20b Branch: master Author: Kim Barrett Date: 2025-07-02 00:17:19 +0000 URL: https://git.openjdk.org/loom/commit/a910b20b51157d8f36418bd60b328193ebfb502e 8346914: UB issue in scalbnA Reviewed-by: aph, tschatzl ! src/hotspot/cpu/aarch64/macroAssembler_aarch64_trig.cpp ! src/hotspot/share/runtime/sharedRuntimeMath.hpp ! src/hotspot/share/runtime/sharedRuntimeTrans.cpp ! src/hotspot/share/runtime/sharedRuntimeTrig.cpp Changeset: 1703915d Branch: master Author: Kim Barrett Date: 2025-07-02 00:25:26 +0000 URL: https://git.openjdk.org/loom/commit/1703915d3fe3608ca558671814f78d9dcf5886e6 8361085: MemoryReserver log_on_large_pages_failure has incorrect format usage Reviewed-by: stefank, dholmes ! src/hotspot/share/memory/memoryReserver.cpp Changeset: c6448dc3 Branch: master Author: Kim Barrett Date: 2025-07-02 00:28:24 +0000 URL: https://git.openjdk.org/loom/commit/c6448dc3afb1da9d93bb94804aa1971a650b91b7 8361086: JVMCIGlobals::check_jvmci_flags_are_consistent has incorrect format string Reviewed-by: kvn, mhaessig, yzheng ! src/hotspot/share/jvmci/jvmci_globals.cpp Changeset: 2bff8e0a Branch: master Author: Prasanta Sadhukhan Date: 2025-07-02 03:07:07 +0000 URL: https://git.openjdk.org/loom/commit/2bff8e0a1382f8820bc2479af87e45dc6b74cdb5 8360462: [macosx] row selection not working with Ctrl+Shift+Down/Up in AquaL&F Reviewed-by: dnguyen, abhiscxk ! src/java.desktop/macosx/classes/com/apple/laf/AquaKeyBindings.java + test/jdk/javax/swing/JTree/TestTreeRowSelection.java Changeset: 055d2ffa Branch: master Author: Ioi Lam Date: 2025-07-02 04:24:55 +0000 URL: https://git.openjdk.org/loom/commit/055d2ffa69e129b7617369e268f272517f25e2d7 8361215: Add AOT test case: verification constraint classes are excluded Reviewed-by: ccheung ! test/hotspot/jtreg/TEST.groups ! test/hotspot/jtreg/runtime/cds/appcds/aotCache/ExcludedClasses.java ! test/lib/jdk/test/lib/cds/CDSAppTester.java Changeset: 1ac74898 Branch: master Author: Aleksey Shipilev Date: 2025-07-02 05:38:28 +0000 URL: https://git.openjdk.org/loom/commit/1ac74898745ce9b109db5571d9dcbd907dd05831 8361180: Disable CompiledDirectCall verification with -VerifyInlineCaches Reviewed-by: kvn, thartmann ! src/hotspot/share/code/compiledIC.hpp Changeset: 0f1cd987 Branch: master Author: Anton Artemov Committer: David Holmes Date: 2025-07-02 06:49:36 +0000 URL: https://git.openjdk.org/loom/commit/0f1cd987b3520eaeab31e9faf782d6f81050803a 8284016: Normalize handshake closure names Reviewed-by: coleenp, sspitsyn ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/z/zMark.cpp ! src/hotspot/share/prims/scopedMemoryAccess.cpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/runtime/deoptimization.cpp ! src/hotspot/share/runtime/escapeBarrier.cpp ! src/hotspot/share/runtime/handshake.cpp ! src/hotspot/share/runtime/handshake.hpp ! src/hotspot/share/runtime/javaThread.cpp ! src/hotspot/share/runtime/javaThread.hpp ! src/hotspot/share/runtime/javaThread.inline.hpp ! src/hotspot/share/runtime/suspendResumeManager.cpp ! src/hotspot/share/runtime/suspendResumeManager.hpp ! src/hotspot/share/runtime/synchronizer.cpp ! src/hotspot/share/runtime/vmThread.cpp ! src/hotspot/share/services/threadService.cpp Changeset: 2304044a Branch: master Author: Manuel H?ssig Date: 2025-07-02 08:35:51 +0000 URL: https://git.openjdk.org/loom/commit/2304044ab2f228fe2fe4adb5975291e733b12d5c 8360641: TestCompilerCounts fails after 8354727 Reviewed-by: kvn, dfenacci, mdoerr ! test/hotspot/jtreg/compiler/arguments/TestCompilerCounts.java Changeset: eac8f5d2 Branch: master Author: Saranya Natarajan Committer: Daniel Lund?n Date: 2025-07-02 08:38:31 +0000 URL: https://git.openjdk.org/loom/commit/eac8f5d2c99e1bcc526da0f6a05af76e815c2db9 8325478: Restructure the macro expansion compiler phase to not include macro elimination Reviewed-by: kvn, dlunden ! src/hotspot/share/opto/c2_globals.hpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/macro.cpp ! src/hotspot/share/opto/macro.hpp ! src/hotspot/share/opto/phasetype.hpp ! src/utils/IdealGraphVisualizer/README.md ! test/hotspot/jtreg/compiler/arguments/TestStressOptions.java ! test/hotspot/jtreg/compiler/debug/TestGenerateStressSeed.java ! test/hotspot/jtreg/compiler/debug/TestStress.java ! test/hotspot/jtreg/compiler/lib/ir_framework/CompilePhase.java ! test/hotspot/jtreg/testlibrary/ctw/src/sun/hotspot/tools/ctw/CtwRunner.java Changeset: ce998699 Branch: master Author: Taizo Kurashige Committer: Manuel H?ssig Date: 2025-07-02 09:21:57 +0000 URL: https://git.openjdk.org/loom/commit/ce9986991d60e116ac6680a1b6a4b3ee5384d105 8359120: Improve warning message when fail to load hsdis library Reviewed-by: mhaessig, thartmann ! src/hotspot/share/code/nmethod.cpp ! src/hotspot/share/compiler/abstractDisassembler.cpp Changeset: 3066a67e Branch: master Author: Ashutosh Mehra Date: 2025-07-02 13:25:00 +0000 URL: https://git.openjdk.org/loom/commit/3066a67e6279f7e3896ab545bc6c291d279d2b03 8361101: AOTCodeAddressTable::_stubs_addr not initialized/freed properly Reviewed-by: kvn, shade ! src/hotspot/share/code/aotCodeCache.cpp ! src/hotspot/share/code/aotCodeCache.hpp Changeset: 832bfbc0 Branch: master Author: Albert Mingkun Yang Date: 2025-07-02 13:39:16 +0000 URL: https://git.openjdk.org/loom/commit/832bfbc0ddcf3068bab5d45d361803152736383f 8338474: Parallel: Deprecate and obsolete PSChunkLargeArrays Reviewed-by: tschatzl, kbarrett ! src/hotspot/share/gc/parallel/parallel_globals.hpp ! src/hotspot/share/runtime/arguments.cpp From jianbin at apache.org Thu Jul 3 01:14:36 2025 From: jianbin at apache.org (Jianbin Chen) Date: Thu, 3 Jul 2025 09:14:36 +0800 Subject: Virtual threads created more platform threads In-Reply-To: <25561a41-7234-4cbf-a7f8-3f88a9b84e99@oracle.com> References: <42b80f14-8167-4de6-b372-765f59a50d8c@littlepinkcloud.com> <25561a41-7234-4cbf-a7f8-3f88a9b84e99@oracle.com> Message-ID: Sorry to bother you all again. When using virtual threads on JDK 21, I've always been concerned about potential pinning situations, so during testing in our offline environment, we always add the -Djdk.tracePinnedThreads=full parameter. However, we have never seen any pinned-related information output. Yesterday I conducted a test and found that when using synchronized + object.wait(), even though the maximum number of platform threads used by virtual threads has already reached the limit, it still cannot output pinned-related logs. But if I switch to synchronized + Thread.sleep(), it can output the logs. I'm providing my example and JVM parameters below, hoping someone can help explain this issue. Thank you very much. JVM parameters: -Djdk.tracePinnedThreads=full -Djava.util.concurrent.ForkJoinPool.common.parallelism=2 -Djdk.virtualThreadScheduler.parallelism=2 -Djava.util.concurrent.ForkJoinPool.common.maximumSpares=2 -Djdk.virtualThreadScheduler.maxPoolSize=2 ``` public static void main(String[] args) throws InterruptedException { Executor executor = ThreadPoolFactory.newVirtualThreadPerTaskExecutor(); List list = new ArrayList<>(); for (int i = 0; i < 20; i++) { list.add(String.valueOf(i)); } for (int i = 0; i < list.size(); i++) { String value = list.get(i); executor.execute(() -> { synchronized (value) { try { value.wait(); } catch (InterruptedException e) { throw new RuntimeException(e); } } }); } Thread.sleep(120000); } ``` Best Regards. Jianbin Chen, github-id: funky-eyes Alan Bateman ? 2025?7?2??? 17:19??? > > > On 02/07/2025 09:27, Andrew Haley wrote: > > On 02/07/2025 05:15, Peter Eastham wrote: > >> As Java 21 is still the current LTS, it isn't completely unreasonable to > >> forward concerns to the mailing list. > > > > Sure, we'e happy to talk about it, but as far as this group is > > concerned the issue has been resolved. > > Right, and as a reminder: the changes were to the lightweight locking > mode only (not legacy) and that mode only became the default in JDK 22. > There is also a prerequisite spec change to JVMTI GetObjectMonitorUsage > that happened in JDK 23. It also seems pointless given that JDK 24 is > already released and JDK 25 is very close. > > -Alan > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jianbin at apache.org Thu Jul 3 06:47:53 2025 From: jianbin at apache.org (Jianbin Chen) Date: Thu, 3 Jul 2025 14:47:53 +0800 Subject: Virtual threads created more platform threads In-Reply-To: References: <42b80f14-8167-4de6-b372-765f59a50d8c@littlepinkcloud.com> <25561a41-7234-4cbf-a7f8-3f88a9b84e99@oracle.com> Message-ID: Hello everyone Has anyone taken a look at my example? I'm really curious to know why JDK 21 cannot detect pinned platform thread behavior in this particular example. If someone could help explain this, I would be extremely grateful! Best Regards. Jianbin Chen, github-id: funky-eyes Jianbin Chen ? 2025?7?3??? 09:14??? > Sorry to bother you all again. When using virtual threads on JDK 21, I've > always been concerned about potential pinning situations, so during testing > in our offline environment, we always add the -Djdk.tracePinnedThreads=full > parameter. However, we have never seen any pinned-related information > output. Yesterday I conducted a test and found that when using synchronized > + object.wait(), even though the maximum number of platform threads used by > virtual threads has already reached the limit, it still cannot output > pinned-related logs. But if I switch to synchronized + Thread.sleep(), it > can output the logs. I'm providing my example and JVM parameters below, > hoping someone can help explain this issue. Thank you very much. > > JVM parameters: -Djdk.tracePinnedThreads=full > -Djava.util.concurrent.ForkJoinPool.common.parallelism=2 > -Djdk.virtualThreadScheduler.parallelism=2 > -Djava.util.concurrent.ForkJoinPool.common.maximumSpares=2 > -Djdk.virtualThreadScheduler.maxPoolSize=2 > > ``` > public static void main(String[] args) throws InterruptedException { > Executor executor = > ThreadPoolFactory.newVirtualThreadPerTaskExecutor(); > List list = new ArrayList<>(); > for (int i = 0; i < 20; i++) { > list.add(String.valueOf(i)); > } > for (int i = 0; i < list.size(); i++) { > String value = list.get(i); > executor.execute(() -> { > synchronized (value) { > try { > value.wait(); > } catch (InterruptedException e) { > throw new RuntimeException(e); > } > } > }); > } > Thread.sleep(120000); > } > ``` > > Best Regards. > Jianbin Chen, github-id: funky-eyes > > Alan Bateman ? 2025?7?2??? 17:19??? > >> >> >> On 02/07/2025 09:27, Andrew Haley wrote: >> > On 02/07/2025 05:15, Peter Eastham wrote: >> >> As Java 21 is still the current LTS, it isn't completely unreasonable >> to >> >> forward concerns to the mailing list. >> > >> > Sure, we'e happy to talk about it, but as far as this group is >> > concerned the issue has been resolved. >> >> Right, and as a reminder: the changes were to the lightweight locking >> mode only (not legacy) and that mode only became the default in JDK 22. >> There is also a prerequisite spec change to JVMTI GetObjectMonitorUsage >> that happened in JDK 23. It also seems pointless given that JDK 24 is >> already released and JDK 25 is very close. >> >> -Alan >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From alan.bateman at oracle.com Thu Jul 3 06:50:53 2025 From: alan.bateman at oracle.com (Alan Bateman) Date: Thu, 3 Jul 2025 07:50:53 +0100 Subject: Virtual threads created more platform threads In-Reply-To: References: <42b80f14-8167-4de6-b372-765f59a50d8c@littlepinkcloud.com> <25561a41-7234-4cbf-a7f8-3f88a9b84e99@oracle.com> Message-ID: On 03/07/2025 02:14, Jianbin Chen wrote: > Sorry to bother you all again. When using virtual threads on JDK 21, > I've always been concerned about potential pinning situations, so > during testing in our offline environment, we always add the > -Djdk.tracePinnedThreads=full parameter. However, we have never seen > any pinned-related information output. Yesterday I conducted a test > and found that when using synchronized + object.wait(), even though > the maximum number of platform threads used by virtual threads has > already reached the limit, it still cannot output pinned-related logs. > But if I switch to synchronized + Thread.sleep(), it can output the > logs. I'm providing my example and JVM parameters below, hoping > someone can help explain this issue. Thank you very much. That rudimentary tracing/debug option printed a stack trace when a virtual thread parked inside a synchronized method. It didn't help with Object.wait or other cases. Once you get to JDK 24+ you can drop -Djdk.tracePinnedThreads=full as this system property has no effect. The changes to object monitors in JDK 24, and the improvements to JFR events for pinning in the same release, means the tracing option isn't needed. -Alan From jianbin at apache.org Thu Jul 3 06:55:50 2025 From: jianbin at apache.org (Jianbin Chen) Date: Thu, 3 Jul 2025 14:55:50 +0800 Subject: Virtual threads created more platform threads In-Reply-To: References: <42b80f14-8167-4de6-b372-765f59a50d8c@littlepinkcloud.com> <25561a41-7234-4cbf-a7f8-3f88a9b84e99@oracle.com> Message-ID: OK I understand now, thank you again for your help. Best Regards. Jianbin Chen, github-id: funky-eyes Alan Bateman ? 2025?7?3??? 14:52??? > > On 03/07/2025 02:14, Jianbin Chen wrote: > > Sorry to bother you all again. When using virtual threads on JDK 21, > > I've always been concerned about potential pinning situations, so > > during testing in our offline environment, we always add the > > -Djdk.tracePinnedThreads=full parameter. However, we have never seen > > any pinned-related information output. Yesterday I conducted a test > > and found that when using synchronized + object.wait(), even though > > the maximum number of platform threads used by virtual threads has > > already reached the limit, it still cannot output pinned-related logs. > > But if I switch to synchronized + Thread.sleep(), it can output the > > logs. I'm providing my example and JVM parameters below, hoping > > someone can help explain this issue. Thank you very much. > > That rudimentary tracing/debug option printed a stack trace when a > virtual thread parked inside a synchronized method. It didn't help with > Object.wait or other cases. > > Once you get to JDK 24+ you can drop -Djdk.tracePinnedThreads=full as > this system property has no effect. The changes to object monitors in > JDK 24, and the improvements to JFR events for pinning in the same > release, means the tracing option isn't needed. > > -Alan > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From duke at openjdk.org Mon Jul 7 05:58:23 2025 From: duke at openjdk.org (duke) Date: Mon, 7 Jul 2025 05:58:23 GMT Subject: git: openjdk/loom: fibers: 42 new changesets Message-ID: Changeset: 549b8758 Branch: fibers Author: Joe Darcy Date: 2025-07-02 15:24:29 +0000 URL: https://git.openjdk.org/loom/commit/549b8758661e760a7475fb398fd5b036e561fed6 8361112: Use exact float -> Float16 conversion method in Float16 tests Reviewed-by: liach, rgiulietti ! test/jdk/jdk/incubator/vector/BasicFloat16ArithTests.java Changeset: c460f842 Branch: fibers Author: Martin Doerr Date: 2025-07-02 15:31:29 +0000 URL: https://git.openjdk.org/loom/commit/c460f842bf768995b271cd6362940877a4a79665 8361183: JDK-8360887 needs fixes to avoid cycles and better tests (aix) Co-authored-by: Alan Bateman Reviewed-by: alanb, jkern ! src/java.base/aix/classes/sun/nio/fs/AixFileSystemProvider.java ! test/jdk/java/nio/file/FileStore/Basic.java Changeset: c5037059 Branch: fibers Author: Hamlin Li Date: 2025-07-02 17:16:12 +0000 URL: https://git.openjdk.org/loom/commit/c50370599e40bfaeccba9aa6b28da661129f9450 8360090: [TEST] RISC-V: disable some cds tests on qemu Reviewed-by: lmesnik, rehn ! test/hotspot/jtreg/TEST.ROOT ! test/hotspot/jtreg/runtime/cds/TestDefaultArchiveLoading.java ! test/hotspot/jtreg/runtime/cds/appcds/TestDumpClassListSource.java ! test/hotspot/jtreg/runtime/cds/appcds/TransformInterfaceOfLambda.java ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/TestAutoCreateSharedArchiveNoDefaultArchive.java ! test/jtreg-ext/requires/VMProps.java Changeset: 5e30bf68 Branch: fibers Author: Jatin Bhateja Date: 2025-07-02 17:47:20 +0000 URL: https://git.openjdk.org/loom/commit/5e30bf68353d989aadc2d8176181226b2debd283 8360116: Add support for AVX10 floating point minmax instruction Reviewed-by: mhaessig, sviswanathan ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.hpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/x86.ad ! src/hotspot/cpu/x86/x86_64.ad Changeset: ea86a20e Branch: fibers Author: Yudi Zheng Date: 2025-07-02 18:38:31 +0000 URL: https://git.openjdk.org/loom/commit/ea86a20e6d74baea54df32415d9096d3b7bba1d7 8357424: [JVMCI] Avoid incrementing decompilation count for hosted compiled nmethod Reviewed-by: dnsimon, never, cslucas ! src/hotspot/share/code/nmethod.cpp ! src/hotspot/share/code/nmethod.hpp ! src/hotspot/share/jvmci/jvmciRuntime.cpp ! src/hotspot/share/jvmci/jvmciRuntime.hpp ! src/hotspot/share/runtime/deoptimization.cpp Changeset: 74822ce1 Branch: fibers Author: Boris Ulasevich Date: 2025-07-02 21:15:46 +0000 URL: https://git.openjdk.org/loom/commit/74822ce12acaf9816aa49b75ab5817ced3710776 8358183: [JVMCI] crash accessing nmethod::jvmci_name in CodeCache::aggregate Reviewed-by: eastigeevich, phh ! src/hotspot/share/code/codeBlob.cpp ! src/hotspot/share/code/nmethod.cpp Changeset: 1926aeb1 Branch: fibers Author: Takuya Kiriyama Date: 2025-07-03 06:47:11 +0000 URL: https://git.openjdk.org/loom/commit/1926aeb1a3b39cf2e4ea48f4c489cd023b5aa77d 8352016: Improve java/lang/RuntimeTests/RuntimeExitLogTest.java Reviewed-by: rriggs + test/jdk/java/lang/RuntimeTests/ExitLogging-ALL.properties ! test/jdk/java/lang/RuntimeTests/ExitLogging-FINE.properties + test/jdk/java/lang/RuntimeTests/ExitLogging-FINER.properties ! test/jdk/java/lang/RuntimeTests/ExitLogging-INFO.properties + test/jdk/java/lang/RuntimeTests/ExitLogging-OFF.properties + test/jdk/java/lang/RuntimeTests/ExitLogging-SEVERE.properties + test/jdk/java/lang/RuntimeTests/ExitLogging-WARNING.properties ! test/jdk/java/lang/RuntimeTests/RuntimeExitLogTest.java Changeset: 6c9236c8 Branch: fibers Author: Thomas Schatzl Date: 2025-07-03 06:59:00 +0000 URL: https://git.openjdk.org/loom/commit/6c9236c80c236487a7c37dcb947c0f9192322208 8361238: G1 tries to get CPU info from terminated threads at shutdown Reviewed-by: kbarrett, sangheki ! src/hotspot/share/runtime/java.cpp Changeset: fd13e1ce Branch: fibers Author: Jan Lahoda Date: 2025-07-03 07:17:59 +0000 URL: https://git.openjdk.org/loom/commit/fd13e1ce9805a903ab60ad9b476eb5a6687d22ee 8358801: javac produces class that does not pass verifier. Reviewed-by: mcimadamore, liach ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Gen.java + test/langtools/tools/javac/patterns/T8358801.java Changeset: c75df634 Branch: fibers Author: Beno?t Maillard Committer: Emanuel Peter Date: 2025-07-03 07:28:11 +0000 URL: https://git.openjdk.org/loom/commit/c75df634be9a0073fa246d42e5c362a09f1734f3 8359602: Ideal optimizations depending on input type are missed because of missing notification mechanism from CCP Reviewed-by: epeter, thartmann ! src/hotspot/share/opto/phaseX.cpp + test/hotspot/jtreg/compiler/c2/TestModControlFoldedAfterCCP.java Changeset: 2f683fdc Branch: fibers Author: Jatin Bhateja Date: 2025-07-03 08:03:55 +0000 URL: https://git.openjdk.org/loom/commit/2f683fdc4a8f9c227e878b0d7fca645fc8abe1b6 8361037: [ubsan] compiler/c2/irTests/TestFloat16ScalarOperations division by 0 Reviewed-by: mhaessig, sviswanathan ! src/hotspot/share/opto/divnode.cpp Changeset: 1be29bd7 Branch: fibers Author: Jaikiran Pai Date: 2025-07-03 09:32:09 +0000 URL: https://git.openjdk.org/loom/commit/1be29bd725a4642b841c60c19f2f7f689a360831 8361060: Keep track of the origin server against which a jdk.internal.net.http.HttpConnection was constructed Reviewed-by: dfuchs ! src/java.net.http/share/classes/jdk/internal/net/http/AbstractAsyncSSLConnection.java ! src/java.net.http/share/classes/jdk/internal/net/http/AsyncSSLConnection.java ! src/java.net.http/share/classes/jdk/internal/net/http/AsyncSSLTunnelConnection.java ! src/java.net.http/share/classes/jdk/internal/net/http/HttpConnection.java + src/java.net.http/share/classes/jdk/internal/net/http/Origin.java ! src/java.net.http/share/classes/jdk/internal/net/http/PlainHttpConnection.java ! src/java.net.http/share/classes/jdk/internal/net/http/PlainProxyConnection.java ! src/java.net.http/share/classes/jdk/internal/net/http/PlainTunnelingConnection.java ! src/java.net.http/share/classes/jdk/internal/net/http/common/Utils.java + test/jdk/java/net/httpclient/OriginTest.java ! test/jdk/java/net/httpclient/whitebox/java.net.http/jdk/internal/net/http/ConnectionPoolTest.java Changeset: 2528c620 Branch: fibers Author: Matthias Baesken Date: 2025-07-03 11:35:54 +0000 URL: https://git.openjdk.org/loom/commit/2528c620a61195ac22d921b168444a7967bf1805 8361198: [AIX] fix misleading error output in thread_cpu_time_unchecked Reviewed-by: mdoerr, azeller ! src/hotspot/os/aix/os_aix.cpp Changeset: 5e40fb6b Branch: fibers Author: Thomas Schatzl Date: 2025-07-03 11:43:35 +0000 URL: https://git.openjdk.org/loom/commit/5e40fb6bda1d56e3eba584b49aa0b68096b34169 8277394: Remove the use of safepoint_workers in reference processor Co-authored-by: Albert Mingkun Yang Reviewed-by: ayang, iwalulya ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/g1/g1FullCollector.cpp ! src/hotspot/share/gc/g1/g1YoungCollector.cpp ! src/hotspot/share/gc/parallel/psParallelCompact.cpp ! src/hotspot/share/gc/parallel/psScavenge.cpp ! src/hotspot/share/gc/serial/defNewGeneration.cpp ! src/hotspot/share/gc/serial/serialFullGC.cpp ! src/hotspot/share/gc/shared/referenceProcessor.cpp ! src/hotspot/share/gc/shared/referenceProcessor.hpp Changeset: 24117c6e Branch: fibers Author: Rajat Mahajan Committer: Alexey Ivanov Date: 2025-07-03 14:24:52 +0000 URL: https://git.openjdk.org/loom/commit/24117c6e9aa862bad839e93eff70810a75605ac5 8349188: LineBorder does not scale correctly Co-authored-by: Alexey Ivanov Reviewed-by: aivanov, serb ! src/java.desktop/share/classes/javax/swing/border/LineBorder.java ! test/jdk/javax/swing/border/LineBorder/ScaledLineBorderTest.java ! test/jdk/javax/swing/border/LineBorder/ScaledTextFieldBorderTest.java Changeset: 3daa03c3 Branch: fibers Author: Ioi Lam Date: 2025-07-03 15:31:34 +0000 URL: https://git.openjdk.org/loom/commit/3daa03c30f8e6ab9c498edb7d59346ce0b30450f 8358680: AOT cache creation fails: no strings should have been added Co-authored-by: Aleksey Shipilev Reviewed-by: coleenp, shade ! src/hotspot/share/classfile/stringTable.cpp ! src/hotspot/share/classfile/stringTable.hpp ! src/hotspot/share/compiler/compileBroker.cpp ! src/hotspot/share/compiler/compileBroker.hpp ! src/hotspot/share/compiler/compileTask.cpp ! src/hotspot/share/compiler/compileTask.hpp ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/runtime/mutexLocker.hpp Changeset: 66836d40 Branch: fibers Author: Ioi Lam Date: 2025-07-03 16:52:19 +0000 URL: https://git.openjdk.org/loom/commit/66836d40b80f9c5482c1322d1d07f078ad9dcc02 8361292: Rename ModuleEntry::module() to module_oop() Reviewed-by: coleenp, ccheung, sspitsyn ! src/hotspot/share/classfile/classFileParser.cpp ! src/hotspot/share/classfile/classLoaderDataShared.cpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/moduleEntry.cpp ! src/hotspot/share/classfile/moduleEntry.hpp ! src/hotspot/share/classfile/modules.cpp ! src/hotspot/share/jfr/jni/jfrUpcalls.cpp ! src/hotspot/share/jvmci/jvmciCompiler.cpp ! src/hotspot/share/oops/arrayKlass.cpp ! src/hotspot/share/oops/klass.cpp ! src/hotspot/share/prims/jvmtiExport.cpp ! src/hotspot/share/runtime/reflection.cpp Changeset: a2315ddd Branch: fibers Author: Evgeny Nikitin Committer: Leonid Mesnik Date: 2025-07-03 16:58:30 +0000 URL: https://git.openjdk.org/loom/commit/a2315ddd2a343ed594dd1b0b3d0dc5b3a71f509b 8357739: [jittester] disable the hashCode method Reviewed-by: lmesnik ! test/hotspot/jtreg/testlibrary/jittester/conf/exclude.methods.lst + test/hotspot/jtreg/testlibrary/jittester/src/jdk/test/lib/jittester/MethodTemplate.java ! test/hotspot/jtreg/testlibrary/jittester/src/jdk/test/lib/jittester/TypesParser.java + test/lib-test/jdk/test/lib/jittester/MethodTemplateTest.java Changeset: 25ed36f3 Branch: fibers Author: Archie Cobbs Date: 2025-07-03 18:13:07 +0000 URL: https://git.openjdk.org/loom/commit/25ed36f3ef1fe1d6914689c762910f104775f48c 8359493: Refactor how aggregated mandatory warnings are handled in the compiler 8350514: Refactor MandatoryWarningHandler to support dynamic verbosity Reviewed-by: mcimadamore ! make/langtools/tools/propertiesparser/gen/ClassGenerator.java ! make/langtools/tools/propertiesparser/parser/Message.java ! make/langtools/tools/propertiesparser/parser/MessageLine.java ! make/langtools/tools/propertiesparser/resources/templates.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/api/JavacTaskPool.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Preview.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/launcher/MemoryContext.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/main/JavaCompiler.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavaTokenizer.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/JCDiagnostic.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/Log.java - src/jdk.compiler/share/classes/com/sun/tools/javac/util/MandatoryWarningHandler.java + src/jdk.compiler/share/classes/com/sun/tools/javac/util/WarningAggregator.java Changeset: 2d9f0324 Branch: fibers Author: Brian Burkhalter Date: 2025-07-03 18:53:59 +0000 URL: https://git.openjdk.org/loom/commit/2d9f0324ba21adf216649339c48e49b9cd1e33ff 8360028: (fs) Path.relativize throws StringIndexOutOfBoundsException (win) Reviewed-by: alanb ! src/java.base/windows/classes/sun/nio/fs/WindowsLinkSupport.java Changeset: 003be0de Branch: fibers Author: Calvin Cheung Date: 2025-07-03 19:40:22 +0000 URL: https://git.openjdk.org/loom/commit/003be0dee2f6c190697ec0a923546362c50cc0e5 8361325: Refactor ClassLoaderExt Reviewed-by: coleenp, sspitsyn ! src/hotspot/share/cds/archiveBuilder.cpp ! src/hotspot/share/cds/cdsProtectionDomain.cpp ! src/hotspot/share/cds/classListParser.cpp ! src/hotspot/share/cds/filemap.cpp ! src/hotspot/share/cds/heapShared.cpp ! src/hotspot/share/cds/metaspaceShared.cpp ! src/hotspot/share/classfile/classLoader.cpp ! src/hotspot/share/classfile/classLoader.hpp - src/hotspot/share/classfile/classLoaderExt.cpp - src/hotspot/share/classfile/classLoaderExt.hpp ! src/hotspot/share/classfile/modules.cpp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/prims/jvmtiEnv.cpp Changeset: dcc7254a Branch: fibers Author: Eric Caspole Date: 2025-07-03 19:43:30 +0000 URL: https://git.openjdk.org/loom/commit/dcc7254a38bb0fecacd7683682d4c42e49335222 8361213: J2DAnalyzer should emit the score as a decimal Reviewed-by: prr ! src/demo/share/java2d/J2DBench/src/j2dbench/report/J2DAnalyzer.java Changeset: 77e69e02 Branch: fibers Author: Erik Gahlin Date: 2025-07-03 20:01:33 +0000 URL: https://git.openjdk.org/loom/commit/77e69e02ebd280636859dd698423db6ac3bc7f5c 8358750: JFR: EventInstrumentation MASK_THROTTLE* constants should be computed in longs Reviewed-by: mgronlun ! src/jdk.jfr/share/classes/jdk/jfr/internal/EventInstrumentation.java ! test/jdk/jdk/jfr/api/metadata/annotations/TestThrottle.java Changeset: 566279af Branch: fibers Author: Chen Liang Date: 2025-07-03 20:49:05 +0000 URL: https://git.openjdk.org/loom/commit/566279af49a7cf47e6030222e989417855caf1a9 8360022: ClassRefDupInConstantPoolTest.java fails when running in repeat Reviewed-by: vromero ! test/langtools/tools/javac/jvm/ClassRefDupInConstantPoolTest.java Changeset: da0a51ce Branch: fibers Author: David Holmes Date: 2025-07-03 21:02:28 +0000 URL: https://git.openjdk.org/loom/commit/da0a51ce97453a47b2c7d11e5206774232309e69 8357601: Checked version of JNI ReleaseArrayElements needs to filter out known wrapped arrays Reviewed-by: coleenp, jsjolen ! src/hotspot/os/windows/safefetch_windows.hpp ! src/hotspot/share/memory/guardedMemory.cpp ! src/hotspot/share/memory/guardedMemory.hpp ! src/hotspot/share/prims/jniCheck.cpp + test/hotspot/jtreg/runtime/jni/checked/TestCharArrayReleasing.java + test/hotspot/jtreg/runtime/jni/checked/libCharArrayReleasing.c Changeset: 16af4733 Branch: fibers Author: Manukumar V S Committer: Phil Race Date: 2025-07-03 22:32:23 +0000 URL: https://git.openjdk.org/loom/commit/16af473397a7b3a6e6e33dd684d0d511168b989b 8361115: javax/swing/JComboBox/bug4276920.java unnecessarily throws Error instead of RuntimeException Reviewed-by: prr ! test/jdk/javax/swing/JComboBox/bug4276920.java Changeset: 854de8c9 Branch: fibers Author: Ioi Lam Date: 2025-07-03 23:54:05 +0000 URL: https://git.openjdk.org/loom/commit/854de8c9c6a1d851c1788e5f2250fe0928c51ca4 8336147: Clarify CDS documentation about static vs dynamic archive Reviewed-by: ccheung, shade ! src/java.base/share/man/java.md Changeset: 21f2e9a7 Branch: fibers Author: Kim Barrett Date: 2025-07-04 04:08:42 +0000 URL: https://git.openjdk.org/loom/commit/21f2e9a71c31320a8b1248e3970a82b871c63c2b 8344332: (bf) Migrate DirectByteBuffer away from jdk.internal.ref.Cleaner Reviewed-by: rriggs, bchristi ! src/java.base/share/classes/java/nio/Bits.java + src/java.base/share/classes/java/nio/BufferCleaner.java ! src/java.base/share/classes/java/nio/Direct-X-Buffer.java.template ! src/java.base/share/classes/jdk/internal/misc/Unsafe.java + src/java.base/share/classes/sun/nio/Cleaner.java ! src/java.base/share/classes/sun/nio/ch/DirectBuffer.java ! src/java.base/share/classes/sun/nio/ch/FileChannelImpl.java + test/micro/org/openjdk/bench/java/nio/DirectByteBufferChurn.java + test/micro/org/openjdk/bench/java/nio/DirectByteBufferGC.java Changeset: 5cf349c3 Branch: fibers Author: Doug Simon Date: 2025-07-04 07:37:20 +0000 URL: https://git.openjdk.org/loom/commit/5cf349c3b08324e994a4143dcc34a59fd81323f9 8361355: Negative cases of Annotated.getAnnotationData implementations are broken Reviewed-by: never ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotResolvedJavaFieldImpl.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotResolvedJavaType.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotResolvedPrimitiveType.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/ResolvedJavaType.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestResolvedJavaType.java Changeset: 56ebb8c1 Branch: fibers Author: Jonas Norlinder Committer: Thomas Schatzl Date: 2025-07-04 10:16:55 +0000 URL: https://git.openjdk.org/loom/commit/56ebb8c1b936e5a4c14486153c9f60df705095ad 8359110: Log accumulated GC and process CPU time upon VM exit Co-authored-by: Erik ?sterlund Co-authored-by: Jonas Norlinder Reviewed-by: tschatzl, ayang ! src/hotspot/os/posix/os_posix.cpp ! src/hotspot/os/windows/os_windows.cpp ! src/hotspot/share/gc/epsilon/epsilonHeap.hpp ! src/hotspot/share/gc/parallel/parallelScavengeHeap.hpp ! src/hotspot/share/gc/serial/serialHeap.hpp ! src/hotspot/share/gc/shared/collectedHeap.cpp ! src/hotspot/share/gc/shared/collectedHeap.hpp ! src/hotspot/share/gc/shared/collectedHeap.inline.hpp ! src/hotspot/share/gc/shared/stringdedup/stringDedup.hpp ! src/hotspot/share/gc/shared/stringdedup/stringDedupProcessor.hpp + src/hotspot/share/gc/shared/vmThreadCpuTimeScope.hpp + src/hotspot/share/gc/shared/vmThreadCpuTimeScope.inline.hpp ! src/hotspot/share/runtime/java.cpp ! src/hotspot/share/runtime/os.hpp ! src/hotspot/share/runtime/vmThread.cpp Changeset: fba74f79 Branch: fibers Author: Magnus Ihse Bursie Date: 2025-07-04 12:19:24 +0000 URL: https://git.openjdk.org/loom/commit/fba74f796eeeb42accc60ecab444c3d933b73e70 8361306: jdk.compiler-gendata needs to depend on java.base-launchers Reviewed-by: shade ! make/Main.gmk Changeset: f153e415 Branch: fibers Author: Manuel H?ssig Date: 2025-07-04 13:06:36 +0000 URL: https://git.openjdk.org/loom/commit/f153e415d740f4ede272929171e9bb3e73ddbe1c 8361253: CommandLineOptionTest library should report observed values on failure Reviewed-by: dholmes, shade ! test/lib/jdk/test/lib/cli/CommandLineOptionTest.java Changeset: 1c560727 Branch: fibers Author: Srinivas Vamsi Parasa Committer: Sandhya Viswanathan Date: 2025-07-04 15:08:57 +0000 URL: https://git.openjdk.org/loom/commit/1c560727b850593561982ccc3ed37b0e98b3bbee 8360775: Fix Shenandoah GC test failures when APX is enabled Reviewed-by: sviswanathan, jbhateja, epeter ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp Changeset: f2d2eef9 Branch: fibers Author: Nizar Benalla Date: 2025-07-04 15:10:22 +0000 URL: https://git.openjdk.org/loom/commit/f2d2eef988c57cc9f6194a8fd5b2b422035ee68f 8177100: APIs duplicated in JavaDoc Reviewed-by: liach, hannesw ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/VisibleMemberTable.java + test/langtools/jdk/javadoc/doclet/testDuplicateMethodsWarn/TestDuplicateMethods.java Changeset: f3e0588d Branch: fibers Author: Erik Gahlin Date: 2025-07-06 15:21:35 +0000 URL: https://git.openjdk.org/loom/commit/f3e0588d0b825a68a4ad61ddf806877f46da69dc 8361338: JFR: Min and max time in MethodTime event is confusing Reviewed-by: mgronlun ! src/jdk.jfr/share/classes/jdk/jfr/events/MethodTimingEvent.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/query/view.ini ! src/jdk.jfr/share/classes/jdk/jfr/internal/tracing/TimedClass.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/tracing/TimedMethod.java Changeset: 96bb2534 Branch: fibers Author: Alan Bateman Date: 2025-07-06 17:13:51 +0000 URL: https://git.openjdk.org/loom/commit/96bb253495c959b846b0e82dab2620b376244f22 Merge branch 'master' into fibers ! src/hotspot/share/cds/heapShared.cpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/oops/klass.cpp ! src/hotspot/share/cds/heapShared.cpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/oops/klass.cpp Changeset: 30501ce9 Branch: fibers Author: Alan Bateman Date: 2025-07-03 09:32:18 +0000 URL: https://git.openjdk.org/loom/commit/30501ce91fa15d16c902eca54d5742b6ae92518a Allow experimenting with wrapping default scheduler ! src/java.base/share/classes/java/lang/VirtualThread.java Changeset: 627128de Branch: fibers Author: Alan Bateman Date: 2025-07-04 16:37:12 +0000 URL: https://git.openjdk.org/loom/commit/627128de845a7e1090950e006fd05008a63410ef Document 1-arg constructor ! loom-docs/CustomSchedulers.md Changeset: 4dc51fd0 Branch: fibers Author: Alan Bateman Date: 2025-07-05 08:04:47 +0000 URL: https://git.openjdk.org/loom/commit/4dc51fd05af1b242d6a7c1ba5568e9b670a33186 Avoid creating built-in default scheduler when not needed ! src/java.base/share/classes/java/lang/VirtualThread.java Changeset: 665d1337 Branch: fibers Author: Alan Bateman Date: 2025-07-06 08:51:54 +0000 URL: https://git.openjdk.org/loom/commit/665d1337ba5c2e70203078164f679cd2a4c43da2 ProblemList-Virtual cleanups ! test/hotspot/jtreg/ProblemList-Virtual.txt ! test/hotspot/jtreg/ProblemList-vthread-Xcomp.txt ! test/jaxp/ProblemList-Virtual.txt ! test/langtools/ProblemList-Virtual.txt ! test/langtools/ProblemList-vthread-Xcomp.txt Changeset: b79a34f7 Branch: fibers Author: Alan Bateman Date: 2025-07-06 17:15:40 +0000 URL: https://git.openjdk.org/loom/commit/b79a34f754872ba266001ab60f56245c0f20ae92 Merge loom into fibers Changeset: 6a7c279b Branch: fibers Author: Alan Bateman Date: 2025-07-07 06:52:49 +0000 URL: https://git.openjdk.org/loom/commit/6a7c279bdb2e1d01dd31b04fa937afe52bff23fe tools/javac/lambda/T8031967.java failing ! test/langtools/ProblemList.txt From duke at openjdk.org Mon Jul 7 06:00:23 2025 From: duke at openjdk.org (duke) Date: Mon, 7 Jul 2025 06:00:23 GMT Subject: git: openjdk/loom: master: 35 new changesets Message-ID: Changeset: 549b8758 Branch: master Author: Joe Darcy Date: 2025-07-02 15:24:29 +0000 URL: https://git.openjdk.org/loom/commit/549b8758661e760a7475fb398fd5b036e561fed6 8361112: Use exact float -> Float16 conversion method in Float16 tests Reviewed-by: liach, rgiulietti ! test/jdk/jdk/incubator/vector/BasicFloat16ArithTests.java Changeset: c460f842 Branch: master Author: Martin Doerr Date: 2025-07-02 15:31:29 +0000 URL: https://git.openjdk.org/loom/commit/c460f842bf768995b271cd6362940877a4a79665 8361183: JDK-8360887 needs fixes to avoid cycles and better tests (aix) Co-authored-by: Alan Bateman Reviewed-by: alanb, jkern ! src/java.base/aix/classes/sun/nio/fs/AixFileSystemProvider.java ! test/jdk/java/nio/file/FileStore/Basic.java Changeset: c5037059 Branch: master Author: Hamlin Li Date: 2025-07-02 17:16:12 +0000 URL: https://git.openjdk.org/loom/commit/c50370599e40bfaeccba9aa6b28da661129f9450 8360090: [TEST] RISC-V: disable some cds tests on qemu Reviewed-by: lmesnik, rehn ! test/hotspot/jtreg/TEST.ROOT ! test/hotspot/jtreg/runtime/cds/TestDefaultArchiveLoading.java ! test/hotspot/jtreg/runtime/cds/appcds/TestDumpClassListSource.java ! test/hotspot/jtreg/runtime/cds/appcds/TransformInterfaceOfLambda.java ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/TestAutoCreateSharedArchiveNoDefaultArchive.java ! test/jtreg-ext/requires/VMProps.java Changeset: 5e30bf68 Branch: master Author: Jatin Bhateja Date: 2025-07-02 17:47:20 +0000 URL: https://git.openjdk.org/loom/commit/5e30bf68353d989aadc2d8176181226b2debd283 8360116: Add support for AVX10 floating point minmax instruction Reviewed-by: mhaessig, sviswanathan ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.hpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/x86.ad ! src/hotspot/cpu/x86/x86_64.ad Changeset: ea86a20e Branch: master Author: Yudi Zheng Date: 2025-07-02 18:38:31 +0000 URL: https://git.openjdk.org/loom/commit/ea86a20e6d74baea54df32415d9096d3b7bba1d7 8357424: [JVMCI] Avoid incrementing decompilation count for hosted compiled nmethod Reviewed-by: dnsimon, never, cslucas ! src/hotspot/share/code/nmethod.cpp ! src/hotspot/share/code/nmethod.hpp ! src/hotspot/share/jvmci/jvmciRuntime.cpp ! src/hotspot/share/jvmci/jvmciRuntime.hpp ! src/hotspot/share/runtime/deoptimization.cpp Changeset: 74822ce1 Branch: master Author: Boris Ulasevich Date: 2025-07-02 21:15:46 +0000 URL: https://git.openjdk.org/loom/commit/74822ce12acaf9816aa49b75ab5817ced3710776 8358183: [JVMCI] crash accessing nmethod::jvmci_name in CodeCache::aggregate Reviewed-by: eastigeevich, phh ! src/hotspot/share/code/codeBlob.cpp ! src/hotspot/share/code/nmethod.cpp Changeset: 1926aeb1 Branch: master Author: Takuya Kiriyama Date: 2025-07-03 06:47:11 +0000 URL: https://git.openjdk.org/loom/commit/1926aeb1a3b39cf2e4ea48f4c489cd023b5aa77d 8352016: Improve java/lang/RuntimeTests/RuntimeExitLogTest.java Reviewed-by: rriggs + test/jdk/java/lang/RuntimeTests/ExitLogging-ALL.properties ! test/jdk/java/lang/RuntimeTests/ExitLogging-FINE.properties + test/jdk/java/lang/RuntimeTests/ExitLogging-FINER.properties ! test/jdk/java/lang/RuntimeTests/ExitLogging-INFO.properties + test/jdk/java/lang/RuntimeTests/ExitLogging-OFF.properties + test/jdk/java/lang/RuntimeTests/ExitLogging-SEVERE.properties + test/jdk/java/lang/RuntimeTests/ExitLogging-WARNING.properties ! test/jdk/java/lang/RuntimeTests/RuntimeExitLogTest.java Changeset: 6c9236c8 Branch: master Author: Thomas Schatzl Date: 2025-07-03 06:59:00 +0000 URL: https://git.openjdk.org/loom/commit/6c9236c80c236487a7c37dcb947c0f9192322208 8361238: G1 tries to get CPU info from terminated threads at shutdown Reviewed-by: kbarrett, sangheki ! src/hotspot/share/runtime/java.cpp Changeset: fd13e1ce Branch: master Author: Jan Lahoda Date: 2025-07-03 07:17:59 +0000 URL: https://git.openjdk.org/loom/commit/fd13e1ce9805a903ab60ad9b476eb5a6687d22ee 8358801: javac produces class that does not pass verifier. Reviewed-by: mcimadamore, liach ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Gen.java + test/langtools/tools/javac/patterns/T8358801.java Changeset: c75df634 Branch: master Author: Beno?t Maillard Committer: Emanuel Peter Date: 2025-07-03 07:28:11 +0000 URL: https://git.openjdk.org/loom/commit/c75df634be9a0073fa246d42e5c362a09f1734f3 8359602: Ideal optimizations depending on input type are missed because of missing notification mechanism from CCP Reviewed-by: epeter, thartmann ! src/hotspot/share/opto/phaseX.cpp + test/hotspot/jtreg/compiler/c2/TestModControlFoldedAfterCCP.java Changeset: 2f683fdc Branch: master Author: Jatin Bhateja Date: 2025-07-03 08:03:55 +0000 URL: https://git.openjdk.org/loom/commit/2f683fdc4a8f9c227e878b0d7fca645fc8abe1b6 8361037: [ubsan] compiler/c2/irTests/TestFloat16ScalarOperations division by 0 Reviewed-by: mhaessig, sviswanathan ! src/hotspot/share/opto/divnode.cpp Changeset: 1be29bd7 Branch: master Author: Jaikiran Pai Date: 2025-07-03 09:32:09 +0000 URL: https://git.openjdk.org/loom/commit/1be29bd725a4642b841c60c19f2f7f689a360831 8361060: Keep track of the origin server against which a jdk.internal.net.http.HttpConnection was constructed Reviewed-by: dfuchs ! src/java.net.http/share/classes/jdk/internal/net/http/AbstractAsyncSSLConnection.java ! src/java.net.http/share/classes/jdk/internal/net/http/AsyncSSLConnection.java ! src/java.net.http/share/classes/jdk/internal/net/http/AsyncSSLTunnelConnection.java ! src/java.net.http/share/classes/jdk/internal/net/http/HttpConnection.java + src/java.net.http/share/classes/jdk/internal/net/http/Origin.java ! src/java.net.http/share/classes/jdk/internal/net/http/PlainHttpConnection.java ! src/java.net.http/share/classes/jdk/internal/net/http/PlainProxyConnection.java ! src/java.net.http/share/classes/jdk/internal/net/http/PlainTunnelingConnection.java ! src/java.net.http/share/classes/jdk/internal/net/http/common/Utils.java + test/jdk/java/net/httpclient/OriginTest.java ! test/jdk/java/net/httpclient/whitebox/java.net.http/jdk/internal/net/http/ConnectionPoolTest.java Changeset: 2528c620 Branch: master Author: Matthias Baesken Date: 2025-07-03 11:35:54 +0000 URL: https://git.openjdk.org/loom/commit/2528c620a61195ac22d921b168444a7967bf1805 8361198: [AIX] fix misleading error output in thread_cpu_time_unchecked Reviewed-by: mdoerr, azeller ! src/hotspot/os/aix/os_aix.cpp Changeset: 5e40fb6b Branch: master Author: Thomas Schatzl Date: 2025-07-03 11:43:35 +0000 URL: https://git.openjdk.org/loom/commit/5e40fb6bda1d56e3eba584b49aa0b68096b34169 8277394: Remove the use of safepoint_workers in reference processor Co-authored-by: Albert Mingkun Yang Reviewed-by: ayang, iwalulya ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/g1/g1FullCollector.cpp ! src/hotspot/share/gc/g1/g1YoungCollector.cpp ! src/hotspot/share/gc/parallel/psParallelCompact.cpp ! src/hotspot/share/gc/parallel/psScavenge.cpp ! src/hotspot/share/gc/serial/defNewGeneration.cpp ! src/hotspot/share/gc/serial/serialFullGC.cpp ! src/hotspot/share/gc/shared/referenceProcessor.cpp ! src/hotspot/share/gc/shared/referenceProcessor.hpp Changeset: 24117c6e Branch: master Author: Rajat Mahajan Committer: Alexey Ivanov Date: 2025-07-03 14:24:52 +0000 URL: https://git.openjdk.org/loom/commit/24117c6e9aa862bad839e93eff70810a75605ac5 8349188: LineBorder does not scale correctly Co-authored-by: Alexey Ivanov Reviewed-by: aivanov, serb ! src/java.desktop/share/classes/javax/swing/border/LineBorder.java ! test/jdk/javax/swing/border/LineBorder/ScaledLineBorderTest.java ! test/jdk/javax/swing/border/LineBorder/ScaledTextFieldBorderTest.java Changeset: 3daa03c3 Branch: master Author: Ioi Lam Date: 2025-07-03 15:31:34 +0000 URL: https://git.openjdk.org/loom/commit/3daa03c30f8e6ab9c498edb7d59346ce0b30450f 8358680: AOT cache creation fails: no strings should have been added Co-authored-by: Aleksey Shipilev Reviewed-by: coleenp, shade ! src/hotspot/share/classfile/stringTable.cpp ! src/hotspot/share/classfile/stringTable.hpp ! src/hotspot/share/compiler/compileBroker.cpp ! src/hotspot/share/compiler/compileBroker.hpp ! src/hotspot/share/compiler/compileTask.cpp ! src/hotspot/share/compiler/compileTask.hpp ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/runtime/mutexLocker.hpp Changeset: 66836d40 Branch: master Author: Ioi Lam Date: 2025-07-03 16:52:19 +0000 URL: https://git.openjdk.org/loom/commit/66836d40b80f9c5482c1322d1d07f078ad9dcc02 8361292: Rename ModuleEntry::module() to module_oop() Reviewed-by: coleenp, ccheung, sspitsyn ! src/hotspot/share/classfile/classFileParser.cpp ! src/hotspot/share/classfile/classLoaderDataShared.cpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/moduleEntry.cpp ! src/hotspot/share/classfile/moduleEntry.hpp ! src/hotspot/share/classfile/modules.cpp ! src/hotspot/share/jfr/jni/jfrUpcalls.cpp ! src/hotspot/share/jvmci/jvmciCompiler.cpp ! src/hotspot/share/oops/arrayKlass.cpp ! src/hotspot/share/oops/klass.cpp ! src/hotspot/share/prims/jvmtiExport.cpp ! src/hotspot/share/runtime/reflection.cpp Changeset: a2315ddd Branch: master Author: Evgeny Nikitin Committer: Leonid Mesnik Date: 2025-07-03 16:58:30 +0000 URL: https://git.openjdk.org/loom/commit/a2315ddd2a343ed594dd1b0b3d0dc5b3a71f509b 8357739: [jittester] disable the hashCode method Reviewed-by: lmesnik ! test/hotspot/jtreg/testlibrary/jittester/conf/exclude.methods.lst + test/hotspot/jtreg/testlibrary/jittester/src/jdk/test/lib/jittester/MethodTemplate.java ! test/hotspot/jtreg/testlibrary/jittester/src/jdk/test/lib/jittester/TypesParser.java + test/lib-test/jdk/test/lib/jittester/MethodTemplateTest.java Changeset: 25ed36f3 Branch: master Author: Archie Cobbs Date: 2025-07-03 18:13:07 +0000 URL: https://git.openjdk.org/loom/commit/25ed36f3ef1fe1d6914689c762910f104775f48c 8359493: Refactor how aggregated mandatory warnings are handled in the compiler 8350514: Refactor MandatoryWarningHandler to support dynamic verbosity Reviewed-by: mcimadamore ! make/langtools/tools/propertiesparser/gen/ClassGenerator.java ! make/langtools/tools/propertiesparser/parser/Message.java ! make/langtools/tools/propertiesparser/parser/MessageLine.java ! make/langtools/tools/propertiesparser/resources/templates.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/api/JavacTaskPool.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Preview.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/launcher/MemoryContext.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/main/JavaCompiler.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavaTokenizer.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/JCDiagnostic.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/Log.java - src/jdk.compiler/share/classes/com/sun/tools/javac/util/MandatoryWarningHandler.java + src/jdk.compiler/share/classes/com/sun/tools/javac/util/WarningAggregator.java Changeset: 2d9f0324 Branch: master Author: Brian Burkhalter Date: 2025-07-03 18:53:59 +0000 URL: https://git.openjdk.org/loom/commit/2d9f0324ba21adf216649339c48e49b9cd1e33ff 8360028: (fs) Path.relativize throws StringIndexOutOfBoundsException (win) Reviewed-by: alanb ! src/java.base/windows/classes/sun/nio/fs/WindowsLinkSupport.java Changeset: 003be0de Branch: master Author: Calvin Cheung Date: 2025-07-03 19:40:22 +0000 URL: https://git.openjdk.org/loom/commit/003be0dee2f6c190697ec0a923546362c50cc0e5 8361325: Refactor ClassLoaderExt Reviewed-by: coleenp, sspitsyn ! src/hotspot/share/cds/archiveBuilder.cpp ! src/hotspot/share/cds/cdsProtectionDomain.cpp ! src/hotspot/share/cds/classListParser.cpp ! src/hotspot/share/cds/filemap.cpp ! src/hotspot/share/cds/heapShared.cpp ! src/hotspot/share/cds/metaspaceShared.cpp ! src/hotspot/share/classfile/classLoader.cpp ! src/hotspot/share/classfile/classLoader.hpp - src/hotspot/share/classfile/classLoaderExt.cpp - src/hotspot/share/classfile/classLoaderExt.hpp ! src/hotspot/share/classfile/modules.cpp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/prims/jvmtiEnv.cpp Changeset: dcc7254a Branch: master Author: Eric Caspole Date: 2025-07-03 19:43:30 +0000 URL: https://git.openjdk.org/loom/commit/dcc7254a38bb0fecacd7683682d4c42e49335222 8361213: J2DAnalyzer should emit the score as a decimal Reviewed-by: prr ! src/demo/share/java2d/J2DBench/src/j2dbench/report/J2DAnalyzer.java Changeset: 77e69e02 Branch: master Author: Erik Gahlin Date: 2025-07-03 20:01:33 +0000 URL: https://git.openjdk.org/loom/commit/77e69e02ebd280636859dd698423db6ac3bc7f5c 8358750: JFR: EventInstrumentation MASK_THROTTLE* constants should be computed in longs Reviewed-by: mgronlun ! src/jdk.jfr/share/classes/jdk/jfr/internal/EventInstrumentation.java ! test/jdk/jdk/jfr/api/metadata/annotations/TestThrottle.java Changeset: 566279af Branch: master Author: Chen Liang Date: 2025-07-03 20:49:05 +0000 URL: https://git.openjdk.org/loom/commit/566279af49a7cf47e6030222e989417855caf1a9 8360022: ClassRefDupInConstantPoolTest.java fails when running in repeat Reviewed-by: vromero ! test/langtools/tools/javac/jvm/ClassRefDupInConstantPoolTest.java Changeset: da0a51ce Branch: master Author: David Holmes Date: 2025-07-03 21:02:28 +0000 URL: https://git.openjdk.org/loom/commit/da0a51ce97453a47b2c7d11e5206774232309e69 8357601: Checked version of JNI ReleaseArrayElements needs to filter out known wrapped arrays Reviewed-by: coleenp, jsjolen ! src/hotspot/os/windows/safefetch_windows.hpp ! src/hotspot/share/memory/guardedMemory.cpp ! src/hotspot/share/memory/guardedMemory.hpp ! src/hotspot/share/prims/jniCheck.cpp + test/hotspot/jtreg/runtime/jni/checked/TestCharArrayReleasing.java + test/hotspot/jtreg/runtime/jni/checked/libCharArrayReleasing.c Changeset: 16af4733 Branch: master Author: Manukumar V S Committer: Phil Race Date: 2025-07-03 22:32:23 +0000 URL: https://git.openjdk.org/loom/commit/16af473397a7b3a6e6e33dd684d0d511168b989b 8361115: javax/swing/JComboBox/bug4276920.java unnecessarily throws Error instead of RuntimeException Reviewed-by: prr ! test/jdk/javax/swing/JComboBox/bug4276920.java Changeset: 854de8c9 Branch: master Author: Ioi Lam Date: 2025-07-03 23:54:05 +0000 URL: https://git.openjdk.org/loom/commit/854de8c9c6a1d851c1788e5f2250fe0928c51ca4 8336147: Clarify CDS documentation about static vs dynamic archive Reviewed-by: ccheung, shade ! src/java.base/share/man/java.md Changeset: 21f2e9a7 Branch: master Author: Kim Barrett Date: 2025-07-04 04:08:42 +0000 URL: https://git.openjdk.org/loom/commit/21f2e9a71c31320a8b1248e3970a82b871c63c2b 8344332: (bf) Migrate DirectByteBuffer away from jdk.internal.ref.Cleaner Reviewed-by: rriggs, bchristi ! src/java.base/share/classes/java/nio/Bits.java + src/java.base/share/classes/java/nio/BufferCleaner.java ! src/java.base/share/classes/java/nio/Direct-X-Buffer.java.template ! src/java.base/share/classes/jdk/internal/misc/Unsafe.java + src/java.base/share/classes/sun/nio/Cleaner.java ! src/java.base/share/classes/sun/nio/ch/DirectBuffer.java ! src/java.base/share/classes/sun/nio/ch/FileChannelImpl.java + test/micro/org/openjdk/bench/java/nio/DirectByteBufferChurn.java + test/micro/org/openjdk/bench/java/nio/DirectByteBufferGC.java Changeset: 5cf349c3 Branch: master Author: Doug Simon Date: 2025-07-04 07:37:20 +0000 URL: https://git.openjdk.org/loom/commit/5cf349c3b08324e994a4143dcc34a59fd81323f9 8361355: Negative cases of Annotated.getAnnotationData implementations are broken Reviewed-by: never ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotResolvedJavaFieldImpl.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotResolvedJavaType.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotResolvedPrimitiveType.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/ResolvedJavaType.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestResolvedJavaType.java Changeset: 56ebb8c1 Branch: master Author: Jonas Norlinder Committer: Thomas Schatzl Date: 2025-07-04 10:16:55 +0000 URL: https://git.openjdk.org/loom/commit/56ebb8c1b936e5a4c14486153c9f60df705095ad 8359110: Log accumulated GC and process CPU time upon VM exit Co-authored-by: Erik ?sterlund Co-authored-by: Jonas Norlinder Reviewed-by: tschatzl, ayang ! src/hotspot/os/posix/os_posix.cpp ! src/hotspot/os/windows/os_windows.cpp ! src/hotspot/share/gc/epsilon/epsilonHeap.hpp ! src/hotspot/share/gc/parallel/parallelScavengeHeap.hpp ! src/hotspot/share/gc/serial/serialHeap.hpp ! src/hotspot/share/gc/shared/collectedHeap.cpp ! src/hotspot/share/gc/shared/collectedHeap.hpp ! src/hotspot/share/gc/shared/collectedHeap.inline.hpp ! src/hotspot/share/gc/shared/stringdedup/stringDedup.hpp ! src/hotspot/share/gc/shared/stringdedup/stringDedupProcessor.hpp + src/hotspot/share/gc/shared/vmThreadCpuTimeScope.hpp + src/hotspot/share/gc/shared/vmThreadCpuTimeScope.inline.hpp ! src/hotspot/share/runtime/java.cpp ! src/hotspot/share/runtime/os.hpp ! src/hotspot/share/runtime/vmThread.cpp Changeset: fba74f79 Branch: master Author: Magnus Ihse Bursie Date: 2025-07-04 12:19:24 +0000 URL: https://git.openjdk.org/loom/commit/fba74f796eeeb42accc60ecab444c3d933b73e70 8361306: jdk.compiler-gendata needs to depend on java.base-launchers Reviewed-by: shade ! make/Main.gmk Changeset: f153e415 Branch: master Author: Manuel H?ssig Date: 2025-07-04 13:06:36 +0000 URL: https://git.openjdk.org/loom/commit/f153e415d740f4ede272929171e9bb3e73ddbe1c 8361253: CommandLineOptionTest library should report observed values on failure Reviewed-by: dholmes, shade ! test/lib/jdk/test/lib/cli/CommandLineOptionTest.java Changeset: 1c560727 Branch: master Author: Srinivas Vamsi Parasa Committer: Sandhya Viswanathan Date: 2025-07-04 15:08:57 +0000 URL: https://git.openjdk.org/loom/commit/1c560727b850593561982ccc3ed37b0e98b3bbee 8360775: Fix Shenandoah GC test failures when APX is enabled Reviewed-by: sviswanathan, jbhateja, epeter ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp Changeset: f2d2eef9 Branch: master Author: Nizar Benalla Date: 2025-07-04 15:10:22 +0000 URL: https://git.openjdk.org/loom/commit/f2d2eef988c57cc9f6194a8fd5b2b422035ee68f 8177100: APIs duplicated in JavaDoc Reviewed-by: liach, hannesw ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/VisibleMemberTable.java + test/langtools/jdk/javadoc/doclet/testDuplicateMethodsWarn/TestDuplicateMethods.java Changeset: f3e0588d Branch: master Author: Erik Gahlin Date: 2025-07-06 15:21:35 +0000 URL: https://git.openjdk.org/loom/commit/f3e0588d0b825a68a4ad61ddf806877f46da69dc 8361338: JFR: Min and max time in MethodTime event is confusing Reviewed-by: mgronlun ! src/jdk.jfr/share/classes/jdk/jfr/events/MethodTimingEvent.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/query/view.ini ! src/jdk.jfr/share/classes/jdk/jfr/internal/tracing/TimedClass.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/tracing/TimedMethod.java From ryeats at gmail.com Sat Jul 5 20:25:44 2025 From: ryeats at gmail.com (Ryan Yeats) Date: Sat, 5 Jul 2025 13:25:44 -0700 Subject: Custom scheduler: Using loom for deterministic simulation testing Message-ID: Hi, I have also been looking into deterministic simulation on the side and belatedly saw some interest about it on the loom email list with the "Custom scheduler: Customize current time and timed waits" thread. I wanted to briefly expand on the topic of using Loom to make deterministic simulation testing more easily available to the java community. BLUF: Deterministic simulation testing makes multi threaded logic single threaded and fuzz tests the execution order, greatly simplifying discovery of race conditions and deadlocks. See this blog post by Ao Li for an example doing this in java and the paper behind it Fray: An Efficient General-Purpose Concurrency Testing Platform for the JVM . The above explanation omits how hard it is to actually make java or any language deterministic. This is where James Baker had a clever idea of using Loom, since we could replace the virtual thread scheduler with a deterministic one, Loom does most of the work for us without any extra frameworks. This works brilliantly, however there are three main caveats: 1. Its not easy to replace the virtual thread scheduler 2. The aforementioned scheduler has no understanding of delays so any Thread.sleep or Object.wait introduces continuations back into the scheduled execution pool non-deterministically. This affects the execution order so bugs can't always be reproduced. 3. IO also introduces continuations back to the scheduler execution pool non-deterministically. The first issue can currently be solved by using reflection to make the virtual thread constructor public . The second issue can currently be solved by controlling system time by replacing the byte code for all calls to System.nanoTime(), System.onCurrentTimeMillis() and Instant.now() using an agent at runtime . The third likely has no general solution but I am interested in hearing ideas. Even if there is no solution to IO non-determinism and developers have to stub out all IO, deterministic simulation is still an incredibly promising tool for making concurrent and distributed systems programing much simpler and safer. I think because of this use case there would be a lot of benefit if the Loom API allowed instrumenting the scheduler, even better if we could access the DELAYED_TASK_SCHEDULERS which understand delays. Thank you for your time, I have been super excited to use virtual threads and amazed by the ingenuity that brought them to java. Ryan -------------- next part -------------- An HTML attachment was scrubbed... URL: From alan.bateman at oracle.com Mon Jul 7 16:14:22 2025 From: alan.bateman at oracle.com (Alan Bateman) Date: Mon, 7 Jul 2025 17:14:22 +0100 Subject: Custom scheduler: Using loom for deterministic simulation testing In-Reply-To: References: Message-ID: <2e29ad21-3bc0-4a42-a00f-8a523f2e2bcb@oracle.com> On 05/07/2025 21:25, Ryan Yeats wrote: > : > > 1. Its not easy to replace the virtual thread scheduler > 2. The aforementioned scheduler has no understanding of delays so any > Thread.sleep or Object.wait introduces continuations back into the > scheduled execution pool non-deterministically. This affects the > execution order so bugs can't always be reproduced. > 3. IO also introduces continuations back to the scheduler execution > pool non-deterministically. > > The first issue can currently be solved by using reflection to make > the virtual thread constructor public > .?The > second issue can currently be solved by controlling system time by > replacing the byte code for all calls to System.nanoTime(), > System.onCurrentTimeMillis() and Instant.now() using an agent at > runtime > . > The third likely has no general solution but I am interested in > hearing ideas. > There are experimental changes in the loom repo to allow the virtual thread scheduler be replaced or wrapped. There is also a prototype API to set a scheduler when creating a virtual Thread. There is a doc in the repo with more on this [1]. This project hasn't decided whether to expose anything so any reports from experiments would be useful to hear about. -Alan [1] https://github.com/openjdk/loom/blob/fibers/loom-docs/CustomSchedulers.md -------------- next part -------------- An HTML attachment was scrubbed... URL: