From oleksandr.otenko at gmail.com Thu Aug 1 05:22:15 2024 From: oleksandr.otenko at gmail.com (Alex Otenko) Date: Thu, 1 Aug 2024 06:22:15 +0100 Subject: [External] : Re: Virtual thread memory leak because TrackingRootContainer keeps threads In-Reply-To: References: Message-ID: I think this is only because you haven't encountered the problems that you are describing elsewhere. Here's a modified example: no queues, no VT. a = new SomeLargeObject(); if (false) { a.doSomethingSideEfdecting(); } The code isn't written like that, but the condition is known to be false to the optimiser. What should happen to a? When should its finalizer be invoked? What guarantees that the object is even created? If you admit some things about this code, the same will apply to the stuck VT. On Thu, 1 Aug 2024, 00:15 Robert Engels, wrote: > Also, I will share this, as it seems very similar to the Thread.stop() > deprecation: > > Why is Thread.stop deprecated? > Because it is inherently unsafe. Stopping a thread causes it to unlock all > the monitors that it has locked. (The monitors are unlocked as the > ThreadDeath exception propagates up the stack.) If any of the objects > previously protected by these monitors were in an inconsistent state, other > threads may now view these objects in an inconsistent state. Such objects > are said to be damaged. When threads operate on damaged objects, arbitrary > behavior can result. This behavior may be subtle and difficult to detect, > or it may be pronounced. Unlike other unchecked exceptions, ThreadDeath kills > threads silently; thus, the user has no warning that his program may be > corrupted. The corruption can manifest itself at any time after the actual > damage occurs, even hours or days in the future. > > Here we are talking about something even worse - no exception up the stack > - just object references vanishing - regardless of locks, stack-levels, etc. > > Imagine an auxiliary thread that had a soft/weak reference to A and and a > reference queue. It would see A reference added to the code - but no review > of any logs, etc. would allow the developer to determine why it became > unreachable. > > The logs would be inconsistent. > > > On Jul 31, 2024, at 6:07 PM, Robert Engels wrote: > > The reason it needs to be there is that a developer needs to be able to > reason about the code - and the state changes that moved the system to its > current state. > > If you know you created an A, but the A does not appear in the heap dump, > and you can determine that the finally block never executed - how are you > supposed to reason and validate the system - remember the take() in this > case could be several levels deep - so not anyway near obvious to say ?it > must be due to a virtual thread vanishing?. > > > > On Jul 31, 2024, at 6:03 PM, Alex Otenko > wrote: > > I don't see objects missing from a heap dump as a problem. I don't think > there is any guarantee about that in the JVM spec. In fact, there is no > requirement to provide any heap dump. Is there?.. > > So it really is just about the finalizers being executed or not. I > actually think not executing them is better (no guarantees of when they > should be executed, is there?), but maybe there are good reasons to get > them executed. > > On Wed, 31 Jul 2024, 23:59 robert engels, wrote: > >> The program order - except in a case of abrupt termination - must hold. >> So having A not be present in a heap dump with the finally block never >> being executed is a problem. It is breaking the specification on >> reachability. >> >> So change the spec but then you have different behavior if a platform >> thread is executing the code versus a virtual thread - which would be >> another nightmare for readability and auditing. >> >> I am honestly baffled how this has proceeded so far without someone from >> the loom team saying - you?re right this would be crazy to do. >> >> It has if people are writing systems code with no concern for the >> application code sitting on top. >> >> On Jul 31, 2024, at 5:28?PM, Alex Otenko >> wrote: >> >> ? >> >> Like, imagine it is not GCed, but swapped out to /dev/null. Eh? What's >> the problem with that? We'll swap it back in, when the VT can continue. >> Deal? :) >> >> On Wed, 31 Jul 2024, 23:22 Alex Otenko, >> wrote: >> >>> I think you may need to revisit heap dump format. It is all best effort >>> to capture JVM state, not actual state, and not true memory representation. >>> Like, the pointers are 64 bit, even if compressed oops are in use, ... >>> >>> I've seen heap dumps with missing stack traces and missing GC roots. So, >>> no, I don't think we should worry too much about objects that get optimised >>> away. >>> >>> Side-effecting finalizers bug me. But if you can reclaim memory without >>> executing them, I think it may be fine. After all, that's the behaviour of >>> the program where the object is still alive. >>> >>> On Wed, 31 Jul 2024, 23:03 robert engels, wrote: >>> >>>> As a follow-up, even if the heap dump could show the A instance - what >>>> about inspection of its fields? Or if you trace its back references what is >>>> its root? >>>> >>>> A virtual thread may not be a GC root, but it?s stack data has to be or >>>> every monitoring/analysis technique is broken - and systems will be >>>> impossible to audit. >>>> >>>> >>>> On Jul 31, 2024, at 4:59?PM, robert engels wrote: >>>> >>>> ? >>>> Yes, but it?s a graph, because if A doesn?t have a finalizer but >>>> references something that does you face the same problem. >>>> >>>> I think it will. R very hard to profile / debug applications if this >>>> were to come to pass. So I open a profiler and expect to see and instance >>>> of A but I don?t, and I don?t see any log message (assume finally block >>>> printed something) - am I just suppose to assume? well it was a virtual >>>> thread and it ?vanished? because it couldn?t make progress. >>>> >>>> That is ludicrous imo. And also completely unnecessary and against 20 >>>> plus years of Java design. >>>> >>>> On Jul 31, 2024, at 4:23?PM, Alex Otenko >>>> wrote: >>>> >>>> ? >>>> >>>> I think your observation about finalizers is important. But without >>>> finalizers - how do you detect that the object is not alive? >>>> >>>> More broadly - it is not the object that matters; the code must behave >>>> like if the object were alive. (Think of unwrapped Optionals and Integers) >>>> >>>> On Wed, 31 Jul 2024, 22:03 robert engels, wrote: >>>> >>>>> This analysis is incorrect. The guarantees about program order say >>>>> that ?a? must be alive OR the finally block must execute. There is no gray >>>>> area here. This MUST hold. >>>>> >>>>> You don?t even need to references GC roots - the specification >>>>> considers reachability from instance of Thread. A VirtualThread extends >>>>> Thread so proper OO means it must act as a Thread for all behaviors of >>>>> Thread. >>>>> >>>>> On Jul 31, 2024, at 1:29?PM, Michal Domagala >>>>> wrote: >>>>> >>>>> ? >>>>> Documentation says: "The finally block always executes when the try >>>>> block exits" >>>>> Not "The finally block always executes" >>>>> >>>>> I think there are 3 areas to seek an answer about correct VT behavior. >>>>> >>>>> First is general, "sky-level" rules. GC rule says that "what is >>>>> unreferenced and is not GC root, is collectable". The rule says that VT >>>>> should be collectable, but many may contest that the rule - as very generic >>>>> - is not applicable for blocked VT. But the rule works: blocked VT is >>>>> successfully GC-able, if only observability is off. >>>>> >>>>> Second is habits. I agree that there is a habit that "finally block" >>>>> is always executed. But maybe it is just a habit? I think VT GC case in >>>>> something fresh and cannot be matched to existing experience, but if do >>>>> "kill -s SIGTERM", which is more cooperative than SIGKILL or unplug power, >>>>> "finally block" is not executed >>>>> >>>>> Third is common sense. If something is unreachable, better reclaim >>>>> resources and pray it works than have a memory leak and countdown to OOM. >>>>> >>>>>> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From robaho at icloud.com Thu Aug 1 08:40:39 2024 From: robaho at icloud.com (robert engels) Date: Thu, 1 Aug 2024 03:40:39 -0500 Subject: [External] : Re: Virtual thread memory leak because TrackingRootContainer keeps threads In-Reply-To: References: Message-ID: An HTML attachment was scrubbed... URL: From robaho at icloud.com Thu Aug 1 09:11:42 2024 From: robaho at icloud.com (robert engels) Date: Thu, 1 Aug 2024 04:11:42 -0500 Subject: [External] : Re: Virtual thread memory leak because TrackingRootContainer keeps threads In-Reply-To: References: Message-ID: An HTML attachment was scrubbed... URL: From ron.pressler at oracle.com Thu Aug 1 09:20:22 2024 From: ron.pressler at oracle.com (Ron Pressler) Date: Thu, 1 Aug 2024 09:20:22 +0000 Subject: [External] : Re: Virtual thread memory leak because TrackingRootContainer keeps threads In-Reply-To: <076BCC86-4AF2-451F-9E26-8F0FF99EDC53@icloud.com> References: <8A9A26BA-960B-4239-814C-36C3F560C379@icloud.com> <076BCC86-4AF2-451F-9E26-8F0FF99EDC53@icloud.com> Message-ID: <5C6FDF93-EC29-4718-8D61-6B79F3389CF1@oracle.com> > On 25 Jul 2024, at 14:12, Robert Engels wrote: > > Here is a trivial example of why this must be so, > > Thread A: > > has WeakRef to object O. > > Thread B: > > Strong ref to object O. > > B blocks indefinitely on a queue that becomes unreachable except by B. > > ? other operations X1..Xn.. > > B sets O to null. > > ---- > > If B were ?cleaned up? auto-magically, O would no longer have a strong reference, A would see that O no longer existed, and could assume because of happens-before relationship that operations X1?Xn completed - which would break the happens-before relationship guarantees. Doing so would break sequential consistency. You seem to be under the impression that if a reference logically exists somewhere on a thread?s stack and the thread has not terminated, then the GC is not allowed to collect it. That is not the case. The GC is already allowed to collect objects that are referenced by a thread if the VM can prove that the thread will never access them again, so the assumption that this is not the case is misplaced. In fact, ReachbilityFence exists because your assumption is *not* generally guaranteed (and, indeed, not even kept) by the VM, not even for platform threads. An object that will provably never be accessed again can be collected. While we?re on the subject, it is a very bad idea to rely on logic based on weakrefs being enqueued. How WeakRefs behave is entirely dependent on the implemementation details of the particular GC, and they significantly differ from one another in that area. GCs don?t know when objects become unreachable, they?re not obligated to *ever* enqueue weak references, and even those that do may do that a very long time (and I don?t mean seconds) after an object becomes unreachable. ? Ron From ron.pressler at oracle.com Thu Aug 1 09:23:02 2024 From: ron.pressler at oracle.com (Ron Pressler) Date: Thu, 1 Aug 2024 09:23:02 +0000 Subject: [External] : Re: Virtual thread memory leak because TrackingRootContainer keeps threads In-Reply-To: References: Message-ID: <1D1A95E1-3EBD-4714-918B-85EDF89077D8@oracle.com> > On 1 Aug 2024, at 00:15, Robert Engels wrote: > > Here we are talking about something even worse - no exception up the stack - just object references vanishing - regardless of locks, stack-levels, etc. Java objects always ?just vanish? without any exceptions, and I?m not sure what locks and stack levels have to do with it. If a thread is provably stuck forever *and* you?re not able to observe that it?s stuck forever, then you?re not able to know anything about it whether or not it is collected (the assumption that the objects that are logically referenced by the thread?s stack will not be collected until the thread is collected is not true). If you are interested in observe the thread, and so it won?t be collected as long as you?re interested in observing it. I honestly don?t understand what your complaint is. Those who are interested in observing all threads will not have anything collected until the threads terminate, and those who may have millions of threads and aren?t interested in observing each and every one of them may want to reuse the memory of stuck threads. There is no right and wrong here, and people will have the option to choose. > > Imagine an auxiliary thread that had a soft/weak reference to A and and a reference queue. It would see A reference added to the code - but no review of any logs, etc. would allow the developer to determine why it became unreachable. > > The logs would be inconsistent. > All Java object become unreachable once some thread does something that loses a previously strong reference somewhere in the object graph. I don?t know how you?re able to normally track the change in visibility to objects in your logs (even the GCs don?t track that and don?t know when an object becomes unreachable), but this is just how Java works. ? Ron From ron.pressler at oracle.com Thu Aug 1 09:28:07 2024 From: ron.pressler at oracle.com (Ron Pressler) Date: Thu, 1 Aug 2024 09:28:07 +0000 Subject: [External] : Re: Virtual thread memory leak because TrackingRootContainer keeps threads In-Reply-To: <8A9A26BA-960B-4239-814C-36C3F560C379@icloud.com> References: <8A9A26BA-960B-4239-814C-36C3F560C379@icloud.com> Message-ID: <46AD68DF-888C-45AA-AF71-73182E36EB43@oracle.com> > On 25 Jul 2024, at 14:05, Robert Engels wrote: > > > I believe section 12.6.1of the language spec covers this. Since it states that an object is reachable if it is reachable from any live thread. Thread ?liveness? is not specified based on reachability. Since the spec doesn?t include anything about Thread methods, a Thread must be ?live? independent of its reachability (observability from Thread.getAllStackTraces()), otherwise as soon as a Thread is created it it would be unreachable, and any objects it created would be unreachable as well. > > Since a virtual thread inherits from Thread, it must be a Thread, and thus should be governed by the same rules. What that section says is "A reachable object is any object that can be accessed in any potential continuing computation from any live thread.? A thread that cannot perform any further computation, even potentially, cannot reach any object, therefore its references are irrelevant. The general idea is that an object that could be accessed in the future through strong references will not be collected, but a stuck thread can do nothing at all in the future, let alone access any objects. Also, while virtual threads and platform threads are both sets of instances of the Thread class, the method Thread.getAllStackTraces() is specified to list all platform threads, not all threads. Finally, I don?t understand why you?re bothered by any of this. If you?re interested in observing all of your threads, then they will not be collected. Others may use virtual threads in a different way, have millions of them, and would prefer that the memory of those threads that can no longer have any effect would be collected just like any other Java object. You do and will have a choice. ? Ron From oleksandr.otenko at gmail.com Thu Aug 1 09:29:50 2024 From: oleksandr.otenko at gmail.com (Alex Otenko) Date: Thu, 1 Aug 2024 10:29:50 +0100 Subject: [External] : Re: Virtual thread memory leak because TrackingRootContainer keeps threads In-Reply-To: References: Message-ID: I don't know if it helps, but Go has extra communication between the routine closing the channel and the routine "stuck" reading from it. It is not implicit in "this routine is stuck, let me behave like the channel is closed". In that vein one might ask why the queue became unreachable without extra communication, eg via interrupting the thread. You'd need to elaborate more why that would be a perfectly good concurrent system, not just puzzle over the contrived example. On Thu, 1 Aug 2024, 10:12 robert engels, wrote: > Go is not Java, but Go routines are very similar to the ephemeral virtual > threads it appears the Java team is striving for. > > Still, they use closable channels to implement this - with the goal of > readability and predictability in mind. > > I am not certain but I don?t think Erlang processes have this behavior > either. > > The software world is moving to ?being explicit? above all else. This > would go against that. > > Still, I would love to know how this would even be implemented. The easy > solution would be just to remove the VT thread stack memory and all > references would be cleanup by GC - but I think if you don?t go up the > stack with finally blocks you will have the same consistency problems as > Thread.stop() > > On Aug 1, 2024, at 3:42?AM, robert engels wrote: > > ? > You are absolutely correct, but I thought it was obvious that A is an > object with side effects that the runtime is not permitted to optimize away > because of which. > > Because the runtime is permitted in some cases to omit the calling of > certain methods doesn?t change the aspect of consistency I am referring to. > > On Aug 1, 2024, at 12:23?AM, Alex Otenko > wrote: > > ? > > I think this is only because you haven't encountered the problems that you > are describing elsewhere. > > Here's a modified example: no queues, no VT. > > a = new SomeLargeObject(); > > if (false) { > a.doSomethingSideEfdecting(); > } > > The code isn't written like that, but the condition is known to be false > to the optimiser. > > What should happen to a? When should its finalizer be invoked? What > guarantees that the object is even created? > > If you admit some things about this code, the same will apply to the stuck > VT. > > On Thu, 1 Aug 2024, 00:15 Robert Engels, wrote: > >> Also, I will share this, as it seems very similar to the Thread.stop() >> deprecation: >> >> Why is Thread.stop deprecated? >> Because it is inherently unsafe. Stopping a thread causes it to unlock >> all the monitors that it has locked. (The monitors are unlocked as the >> ThreadDeath exception propagates up the stack.) If any of the objects >> previously protected by these monitors were in an inconsistent state, other >> threads may now view these objects in an inconsistent state. Such objects >> are said to be damaged. When threads operate on damaged objects, arbitrary >> behavior can result. This behavior may be subtle and difficult to detect, >> or it may be pronounced. Unlike other unchecked exceptions, ThreadDeath kills >> threads silently; thus, the user has no warning that his program may be >> corrupted. The corruption can manifest itself at any time after the actual >> damage occurs, even hours or days in the future. >> >> Here we are talking about something even worse - no exception up the >> stack - just object references vanishing - regardless of locks, >> stack-levels, etc. >> >> Imagine an auxiliary thread that had a soft/weak reference to A and and a >> reference queue. It would see A reference added to the code - but no review >> of any logs, etc. would allow the developer to determine why it became >> unreachable. >> >> The logs would be inconsistent. >> >> >> On Jul 31, 2024, at 6:07 PM, Robert Engels wrote: >> >> The reason it needs to be there is that a developer needs to be able to >> reason about the code - and the state changes that moved the system to its >> current state. >> >> If you know you created an A, but the A does not appear in the heap dump, >> and you can determine that the finally block never executed - how are you >> supposed to reason and validate the system - remember the take() in this >> case could be several levels deep - so not anyway near obvious to say ?it >> must be due to a virtual thread vanishing?. >> >> >> >> On Jul 31, 2024, at 6:03 PM, Alex Otenko >> wrote: >> >> I don't see objects missing from a heap dump as a problem. I don't think >> there is any guarantee about that in the JVM spec. In fact, there is no >> requirement to provide any heap dump. Is there?.. >> >> So it really is just about the finalizers being executed or not. I >> actually think not executing them is better (no guarantees of when they >> should be executed, is there?), but maybe there are good reasons to get >> them executed. >> >> On Wed, 31 Jul 2024, 23:59 robert engels, wrote: >> >>> The program order - except in a case of abrupt termination - must hold. >>> So having A not be present in a heap dump with the finally block never >>> being executed is a problem. It is breaking the specification on >>> reachability. >>> >>> So change the spec but then you have different behavior if a platform >>> thread is executing the code versus a virtual thread - which would be >>> another nightmare for readability and auditing. >>> >>> I am honestly baffled how this has proceeded so far without someone from >>> the loom team saying - you?re right this would be crazy to do. >>> >>> It has if people are writing systems code with no concern for the >>> application code sitting on top. >>> >>> On Jul 31, 2024, at 5:28?PM, Alex Otenko >>> wrote: >>> >>> ? >>> >>> Like, imagine it is not GCed, but swapped out to /dev/null. Eh? What's >>> the problem with that? We'll swap it back in, when the VT can continue. >>> Deal? :) >>> >>> On Wed, 31 Jul 2024, 23:22 Alex Otenko, >>> wrote: >>> >>>> I think you may need to revisit heap dump format. It is all best effort >>>> to capture JVM state, not actual state, and not true memory representation. >>>> Like, the pointers are 64 bit, even if compressed oops are in use, ... >>>> >>>> I've seen heap dumps with missing stack traces and missing GC roots. >>>> So, no, I don't think we should worry too much about objects that get >>>> optimised away. >>>> >>>> Side-effecting finalizers bug me. But if you can reclaim memory without >>>> executing them, I think it may be fine. After all, that's the behaviour of >>>> the program where the object is still alive. >>>> >>>> On Wed, 31 Jul 2024, 23:03 robert engels, wrote: >>>> >>>>> As a follow-up, even if the heap dump could show the A instance - what >>>>> about inspection of its fields? Or if you trace its back references what is >>>>> its root? >>>>> >>>>> A virtual thread may not be a GC root, but it?s stack data has to be >>>>> or every monitoring/analysis technique is broken - and systems will be >>>>> impossible to audit. >>>>> >>>>> >>>>> On Jul 31, 2024, at 4:59?PM, robert engels wrote: >>>>> >>>>> ? >>>>> Yes, but it?s a graph, because if A doesn?t have a finalizer but >>>>> references something that does you face the same problem. >>>>> >>>>> I think it will. R very hard to profile / debug applications if this >>>>> were to come to pass. So I open a profiler and expect to see and instance >>>>> of A but I don?t, and I don?t see any log message (assume finally block >>>>> printed something) - am I just suppose to assume? well it was a virtual >>>>> thread and it ?vanished? because it couldn?t make progress. >>>>> >>>>> That is ludicrous imo. And also completely unnecessary and against 20 >>>>> plus years of Java design. >>>>> >>>>> On Jul 31, 2024, at 4:23?PM, Alex Otenko >>>>> wrote: >>>>> >>>>> ? >>>>> >>>>> I think your observation about finalizers is important. But without >>>>> finalizers - how do you detect that the object is not alive? >>>>> >>>>> More broadly - it is not the object that matters; the code must behave >>>>> like if the object were alive. (Think of unwrapped Optionals and Integers) >>>>> >>>>> On Wed, 31 Jul 2024, 22:03 robert engels, wrote: >>>>> >>>>>> This analysis is incorrect. The guarantees about program order say >>>>>> that ?a? must be alive OR the finally block must execute. There is no gray >>>>>> area here. This MUST hold. >>>>>> >>>>>> You don?t even need to references GC roots - the specification >>>>>> considers reachability from instance of Thread. A VirtualThread extends >>>>>> Thread so proper OO means it must act as a Thread for all behaviors of >>>>>> Thread. >>>>>> >>>>>> On Jul 31, 2024, at 1:29?PM, Michal Domagala >>>>>> wrote: >>>>>> >>>>>> ? >>>>>> Documentation says: "The finally block always executes when the try >>>>>> block exits" >>>>>> Not "The finally block always executes" >>>>>> >>>>>> I think there are 3 areas to seek an answer about correct VT behavior. >>>>>> >>>>>> First is general, "sky-level" rules. GC rule says that "what is >>>>>> unreferenced and is not GC root, is collectable". The rule says that VT >>>>>> should be collectable, but many may contest that the rule - as very generic >>>>>> - is not applicable for blocked VT. But the rule works: blocked VT is >>>>>> successfully GC-able, if only observability is off. >>>>>> >>>>>> Second is habits. I agree that there is a habit that "finally block" >>>>>> is always executed. But maybe it is just a habit? I think VT GC case in >>>>>> something fresh and cannot be matched to existing experience, but if do >>>>>> "kill -s SIGTERM", which is more cooperative than SIGKILL or unplug power, >>>>>> "finally block" is not executed >>>>>> >>>>>> Third is common sense. If something is unreachable, better reclaim >>>>>> resources and pray it works than have a memory leak and countdown to OOM. >>>>>> >>>>>>> >> >> -------------- next part -------------- An HTML attachment was scrubbed... URL: From robaho at icloud.com Thu Aug 1 09:41:53 2024 From: robaho at icloud.com (robert engels) Date: Thu, 1 Aug 2024 04:41:53 -0500 Subject: [External] : Re: Virtual thread memory leak because TrackingRootContainer keeps threads In-Reply-To: <5C6FDF93-EC29-4718-8D61-6B79F3389CF1@oracle.com> References: <5C6FDF93-EC29-4718-8D61-6B79F3389CF1@oracle.com> Message-ID: I was not aware of that! So are you saying that current JVMs will GC or not even create A in the following: A a = ? while(true) { ?never reference A? } a.doSomething(); > On Aug 1, 2024, at 4:21?AM, Ron Pressler wrote: > > ? > >> On 25 Jul 2024, at 14:12, Robert Engels wrote: >> >> Here is a trivial example of why this must be so, >> >> Thread A: >> >> has WeakRef to object O. >> >> Thread B: >> >> Strong ref to object O. >> >> B blocks indefinitely on a queue that becomes unreachable except by B. >> >> ? other operations X1..Xn.. >> >> B sets O to null. >> >> ---- >> >> If B were ?cleaned up? auto-magically, O would no longer have a strong reference, A would see that O no longer existed, and could assume because of happens-before relationship that operations X1?Xn completed - which would break the happens-before relationship guarantees. Doing so would break sequential consistency. > > You seem to be under the impression that if a reference logically exists somewhere on a thread?s stack and the thread has not terminated, then the GC is not allowed to collect it. That is not the case. The GC is already allowed to collect objects that are referenced by a thread if the VM can prove that the thread will never access them again, so the assumption that this is not the case is misplaced. In fact, ReachbilityFence exists because your assumption is *not* generally guaranteed (and, indeed, not even kept) by the VM, not even for platform threads. > > An object that will provably never be accessed again can be collected. > > While we?re on the subject, it is a very bad idea to rely on logic based on weakrefs being enqueued. How WeakRefs behave is entirely dependent on the implemementation details of the particular GC, and they significantly differ from one another in that area. GCs don?t know when objects become unreachable, they?re not obligated to *ever* enqueue weak references, and even those that do may do that a very long time (and I don?t mean seconds) after an object becomes unreachable. > > ? Ron From outsider404 at gmail.com Thu Aug 1 09:48:44 2024 From: outsider404 at gmail.com (Michal Domagala) Date: Thu, 1 Aug 2024 11:48:44 +0200 Subject: [External] : Re: Virtual thread memory leak because TrackingRootContainer keeps threads In-Reply-To: References: Message-ID: > > > > one might ask why the queue became unreachable without extra > communication, eg via interrupting the thread. You'd need to elaborate more > why that would be a perfectly good concurrent system, not just puzzle over > the contrived example > Answer is quite simple: queue became unreachable without extra communication because I want avoid extra communication, eg via interrupting the thread. I want producer and consumer be loosely coupled. They are connected only by blocking queue. When queue must be unreachable, it is enough that someone, for example consumer, producer or third actor makes the queue null. After that queue as well as consumer are GC'able All extra communication overhead is that producer must verify if *current *queue is not null -------------- next part -------------- An HTML attachment was scrubbed... URL: From rengels at ix.netcom.com Thu Aug 1 09:54:45 2024 From: rengels at ix.netcom.com (Robert Engels) Date: Thu, 1 Aug 2024 04:54:45 -0500 Subject: [External] : Re: Virtual thread memory leak because TrackingRootContainer keeps threads In-Reply-To: References: Message-ID: Wait?my brain is getting twisted - of course that is the case. The JVM has had dead code elimination and escape analysis for a while. Dead code elimination is arguably a bug in the code. I think that isn?t what is being discussed here. It comes back to observability. Either I can review the logs to see the consistent flow of an application and/or I can break/dump the current state to see the full state (stuck threads, inspect objects, etc) and these should align. I guess people can try and write toy systems where this is not the case. So go ahead and implement this - no sane systems engineer would ever rely on it. As Alex said, if you need to rely on this your code probably has concurrency/ structural issues to begin with. > On Aug 1, 2024, at 4:43?AM, robert engels wrote: > > ?I was not aware of that! So are you saying that current JVMs will GC or not even create A in the following: > > A a = ? > while(true) { > ?never reference A? > } > a.doSomething(); > > > >> On Aug 1, 2024, at 4:21?AM, Ron Pressler wrote: >> >> ? >> >>>> On 25 Jul 2024, at 14:12, Robert Engels wrote: >>> >>> Here is a trivial example of why this must be so, >>> >>> Thread A: >>> >>> has WeakRef to object O. >>> >>> Thread B: >>> >>> Strong ref to object O. >>> >>> B blocks indefinitely on a queue that becomes unreachable except by B. >>> >>> ? other operations X1..Xn.. >>> >>> B sets O to null. >>> >>> ---- >>> >>> If B were ?cleaned up? auto-magically, O would no longer have a strong reference, A would see that O no longer existed, and could assume because of happens-before relationship that operations X1?Xn completed - which would break the happens-before relationship guarantees. Doing so would break sequential consistency. >> >> You seem to be under the impression that if a reference logically exists somewhere on a thread?s stack and the thread has not terminated, then the GC is not allowed to collect it. That is not the case. The GC is already allowed to collect objects that are referenced by a thread if the VM can prove that the thread will never access them again, so the assumption that this is not the case is misplaced. In fact, ReachbilityFence exists because your assumption is *not* generally guaranteed (and, indeed, not even kept) by the VM, not even for platform threads. >> >> An object that will provably never be accessed again can be collected. >> >> While we?re on the subject, it is a very bad idea to rely on logic based on weakrefs being enqueued. How WeakRefs behave is entirely dependent on the implemementation details of the particular GC, and they significantly differ from one another in that area. GCs don?t know when objects become unreachable, they?re not obligated to *ever* enqueue weak references, and even those that do may do that a very long time (and I don?t mean seconds) after an object becomes unreachable. >> >> ? Ron From outsider404 at gmail.com Thu Aug 1 10:01:28 2024 From: outsider404 at gmail.com (Michal Domagala) Date: Thu, 1 Aug 2024 12:01:28 +0200 Subject: [External] : Re: Virtual thread memory leak because TrackingRootContainer keeps threads In-Reply-To: <46AD68DF-888C-45AA-AF71-73182E36EB43@oracle.com> References: <8A9A26BA-960B-4239-814C-36C3F560C379@icloud.com> <46AD68DF-888C-45AA-AF71-73182E36EB43@oracle.com> Message-ID: > Finally, I don?t understand why you?re bothered by any of this. If you?re > interested in observing all of your threads, then they will not be > collected. Others may use virtual threads in a different way, have millions > of them, and would prefer that the memory of those threads that can no > longer have any effect would be collected just like any other Java object. > You do and will have a choice. > Choice is flexibility what is good, but choice is also complexity, what is bad. Simpler system can be better than flexible system. In current case choice is not well designed IMHO. When you choice to enable observability, you risk memory leak. Well designed observability should be safe for application. Finally, choice is choice when if fair. Now choice is not undocumented and commonly unknown -------------- next part -------------- An HTML attachment was scrubbed... URL: From robaho at icloud.com Thu Aug 1 10:08:13 2024 From: robaho at icloud.com (robert engels) Date: Thu, 1 Aug 2024 05:08:13 -0500 Subject: [External] : Re: Virtual thread memory leak because TrackingRootContainer keeps threads In-Reply-To: References: Message-ID: <53ECF851-9519-4CEF-8E70-29D28F9BA73B@icloud.com> And actually it is even worse than that , because if you are relying on the differing behavior between virtual threads and platform threads to avoid resource leaks in your application, god help you. Imagine also the burden this is going to place on library and framework authors. Ugh. > On Aug 1, 2024, at 4:56?AM, Robert Engels wrote: > > ?Wait?my brain is getting twisted - of course that is the case. The JVM has had dead code elimination and escape analysis for a while. Dead code elimination is arguably a bug in the code. > > I think that isn?t what is being discussed here. It comes back to observability. Either I can review the logs to see the consistent flow of an application and/or I can break/dump the current state to see the full state (stuck threads, inspect objects, etc) and these should align. > > I guess people can try and write toy systems where this is not the case. > > So go ahead and implement this - no sane systems engineer would ever rely on it. As Alex said, if you need to rely on this your code probably has concurrency/ structural issues to begin with. > >> On Aug 1, 2024, at 4:43?AM, robert engels wrote: >> >> ?I was not aware of that! So are you saying that current JVMs will GC or not even create A in the following: >> >> A a = ? >> while(true) { >> ?never reference A? >> } >> a.doSomething(); >> >> >> >>>> On Aug 1, 2024, at 4:21?AM, Ron Pressler wrote: >>> >>> ? >>> >>>>> On 25 Jul 2024, at 14:12, Robert Engels wrote: >>>> >>>> Here is a trivial example of why this must be so, >>>> >>>> Thread A: >>>> >>>> has WeakRef to object O. >>>> >>>> Thread B: >>>> >>>> Strong ref to object O. >>>> >>>> B blocks indefinitely on a queue that becomes unreachable except by B. >>>> >>>> ? other operations X1..Xn.. >>>> >>>> B sets O to null. >>>> >>>> ---- >>>> >>>> If B were ?cleaned up? auto-magically, O would no longer have a strong reference, A would see that O no longer existed, and could assume because of happens-before relationship that operations X1?Xn completed - which would break the happens-before relationship guarantees. Doing so would break sequential consistency. >>> >>> You seem to be under the impression that if a reference logically exists somewhere on a thread?s stack and the thread has not terminated, then the GC is not allowed to collect it. That is not the case. The GC is already allowed to collect objects that are referenced by a thread if the VM can prove that the thread will never access them again, so the assumption that this is not the case is misplaced. In fact, ReachbilityFence exists because your assumption is *not* generally guaranteed (and, indeed, not even kept) by the VM, not even for platform threads. >>> >>> An object that will provably never be accessed again can be collected. >>> >>> While we?re on the subject, it is a very bad idea to rely on logic based on weakrefs being enqueued. How WeakRefs behave is entirely dependent on the implemementation details of the particular GC, and they significantly differ from one another in that area. GCs don?t know when objects become unreachable, they?re not obligated to *ever* enqueue weak references, and even those that do may do that a very long time (and I don?t mean seconds) after an object becomes unreachable. >>> >>> ? Ron From oleksandr.otenko at gmail.com Thu Aug 1 10:11:36 2024 From: oleksandr.otenko at gmail.com (Alex Otenko) Date: Thu, 1 Aug 2024 11:11:36 +0100 Subject: [External] : Re: Virtual thread memory leak because TrackingRootContainer keeps threads In-Reply-To: References: Message-ID: That doesn't seem to be sufficient to work. You can't GC the queue and not GC VT at the same time. Since they reference each other, you can only either keep both or GC both. So you can't have the smart close that is based on reachability of queue. On Thu, 1 Aug 2024, 10:49 Michal Domagala, wrote: > >> >> one might ask why the queue became unreachable without extra >> communication, eg via interrupting the thread. You'd need to elaborate more >> why that would be a perfectly good concurrent system, not just puzzle over >> the contrived example >> > > Answer is quite simple: queue became unreachable without extra > communication because I want avoid extra communication, eg via interrupting > the thread. > I want producer and consumer be loosely coupled. They are connected only > by blocking queue. When queue must be unreachable, it is enough that > someone, for example consumer, producer or third actor makes the queue > null. After that queue as well as consumer are GC'able > > All extra communication overhead is that producer must verify if *current > *queue is not null > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ron.pressler at oracle.com Thu Aug 1 14:39:30 2024 From: ron.pressler at oracle.com (Ron Pressler) Date: Thu, 1 Aug 2024 14:39:30 +0000 Subject: [External] : Re: Virtual thread memory leak because TrackingRootContainer keeps threads In-Reply-To: <53ECF851-9519-4CEF-8E70-29D28F9BA73B@icloud.com> References: <53ECF851-9519-4CEF-8E70-29D28F9BA73B@icloud.com> Message-ID: > On 1 Aug 2024, at 11:08, robert engels wrote: > > And actually it is even worse than that , because if you are relying on the differing behavior between virtual threads and platform threads to avoid resource leaks in your application, god help you. I don?t know how you can use virtual threads and *not* rely on their different resource (and especially memory) consumption from platform threads. After all, virtual threads are a feature that allows the creation of many threads, and that is accomplished through different memory management. In other words, you use virtual threads *because* they use memory differently from platform threads (although, as I mentioned in other responses, I think you?re making some incorrect assumptions about how threads, including platform threads retain references, and it is not true that a reference that is logically on the stack is always retained). ?Thread leak? is a real problem in languages that allow creating lots of lightweight threads, such as Go. ? Ron From robaho at icloud.com Thu Aug 1 15:04:09 2024 From: robaho at icloud.com (Robert Engels) Date: Thu, 1 Aug 2024 10:04:09 -0500 Subject: [External] : Re: Virtual thread memory leak because TrackingRootContainer keeps threads In-Reply-To: References: <53ECF851-9519-4CEF-8E70-29D28F9BA73B@icloud.com> Message-ID: ?Thread leak? is real, but I don?t think the solution is to try add auto-cleanup. It almost always points to a poor or overly complicated design. I wrote a few samples in a branch using the Closable Queue https://github.com/robaho/closablequeue/blob/sample/src/main/java/robaho/queue/sample with the ?original? being one that was relying on the auto-cleanup provided by someone else, and these were to demonstrate what I think is a better, simpler, design. The techniques mimic https://go101.org/article/channel-closing.html and the proper use of channels. Go?s concurrency design is specifically to not share data, and is closer to CSP, so the heavy use of channels (closable queues) as communication between threads. Thread leak (or deadlock in a fixed pool environment) was an issue long before virtual threads. Virtual threads if anything will surface the bad code more quickly - as long as the monitoring tools make the VT leaks obvious. Even if this is implemented, most likely it won?t help, as if they have a leak in this case, they will probably leak the producer/queue reference, so the VT won?t be able to be collected anyway. I truly believe that freeing the resources as if the thread exited up the stack even though it didn?t is going to cause to a ton of problems - making debugging much harder. Yes, you may not have a resource leak, but you have probably masked the underlying problem, and the code is not correct. At least with a resource leak, it is easy to detect that it is happening and why. The auto-cleanup might solve this one particular issue but it won?t protect people from writing bad code - if anything this allows them to be less diligent and you are only going to make the problems harder to solve. > On Aug 1, 2024, at 9:39 AM, Ron Pressler wrote: > > > >> On 1 Aug 2024, at 11:08, robert engels wrote: >> >> And actually it is even worse than that , because if you are relying on the differing behavior between virtual threads and platform threads to avoid resource leaks in your application, god help you. > > I don?t know how you can use virtual threads and *not* rely on their different resource (and especially memory) consumption from platform threads. After all, virtual threads are a feature that allows the creation of many threads, and that is accomplished through different memory management. In other words, you use virtual threads *because* they use memory differently from platform threads (although, as I mentioned in other responses, I think you?re making some incorrect assumptions about how threads, including platform threads retain references, and it is not true that a reference that is logically on the stack is always retained). > > ?Thread leak? is a real problem in languages that allow creating lots of lightweight threads, such as Go. > > ? Ron -------------- next part -------------- An HTML attachment was scrubbed... URL: From yzheng at openjdk.org Thu Aug 1 15:15:41 2024 From: yzheng at openjdk.org (Yudi Zheng) Date: Thu, 1 Aug 2024 15:15:41 GMT Subject: RFR: Export JavaThread::_lock_id, ObjectMonitor::_stack_locker and markWord::marked_value. In-Reply-To: References: Message-ID: On Mon, 22 Jul 2024 16:00:00 GMT, Yudi Zheng wrote: > Essential exports for implementing fibers support in Graal. src/hotspot/share/jvmci/vmStructs_jvmci.cpp line 224: > 222: nonstatic_field(JavaThread, _scopedValueCache, OopHandle) \ > 223: nonstatic_field(JavaThread, _anchor, JavaFrameAnchor) \ > 224: nonstatic_field(JavaThread, _lock_id, int64_t) \ These exported fields are used in the inlined monitorenter/exit JIT code, e.g., https://github.com/oracle/graal/pull/9366/files#diff-25609d0f9d08c0d8a8e13f1f0b11c996f9fbe3f632a4a099bd1ee634a6748eb3R578-R579 ported from https://github.com/openjdk/loom/pull/210/files#diff-318d0e76b9a97e8cf8936be1de34e52735c4d947a77cac38babbbf9a081d16fcR540-R542 ------------- PR Review Comment: https://git.openjdk.org/loom/pull/211#discussion_r1700373159 From ron.pressler at oracle.com Thu Aug 1 15:46:33 2024 From: ron.pressler at oracle.com (Ron Pressler) Date: Thu, 1 Aug 2024 15:46:33 +0000 Subject: [External] : Re: Virtual thread memory leak because TrackingRootContainer keeps threads In-Reply-To: References: <53ECF851-9519-4CEF-8E70-29D28F9BA73B@icloud.com> Message-ID: > On 1 Aug 2024, at 16:04, Robert Engels wrote: > > ?Thread leak? is real, but I don?t think the solution is to try add auto-cleanup. No auto-cleanup is being discussed or suggested. Certainly new mechanisms are not being added. Unreachable memory may be overwritten and reused by the VM, and whether or not garbage collection is over-complicated, it is simply how the JDK works. ? Ron From robaho at icloud.com Thu Aug 1 15:51:20 2024 From: robaho at icloud.com (robert engels) Date: Thu, 1 Aug 2024 10:51:20 -0500 Subject: [External] : Re: Virtual thread memory leak because TrackingRootContainer keeps threads In-Reply-To: References: Message-ID: Then it really makes no sense. What if that thread has a reference to a reference counted object for a native resource, file, etc. Simply reusing the ram used by the vt stack wont help at all. > On Aug 1, 2024, at 10:48?AM, Ron Pressler wrote: > > ? > >> On 1 Aug 2024, at 16:04, Robert Engels wrote: >> >> ?Thread leak? is real, but I don?t think the solution is to try add auto-cleanup. > > No auto-cleanup is being discussed or suggested. Certainly new mechanisms are not being added. Unreachable memory may be overwritten and reused by the VM, and whether or not garbage collection is over-complicated, it is simply how the JDK works. > > ? Ron From robaho at icloud.com Thu Aug 1 15:55:19 2024 From: robaho at icloud.com (robert engels) Date: Thu, 1 Aug 2024 10:55:19 -0500 Subject: [External] : Re: Virtual thread memory leak because TrackingRootContainer keeps threads In-Reply-To: References: Message-ID: <03559FBD-C0C3-4FCC-B9C0-A5C7026D4B7D@icloud.com> Unless you are taking exception to my words ?auto-cleanup?. I mean this only that the vt and is references are subject to GC. Maybe it would be helpful if you state what the expected use case is? The JSR I thought was clear - but you are stating things from a direction the JSR doesn?t discuss. > On Aug 1, 2024, at 10:48?AM, Ron Pressler wrote: > > ? > >> On 1 Aug 2024, at 16:04, Robert Engels wrote: >> >> ?Thread leak? is real, but I don?t think the solution is to try add auto-cleanup. > > No auto-cleanup is being discussed or suggested. Certainly new mechanisms are not being added. Unreachable memory may be overwritten and reused by the VM, and whether or not garbage collection is over-complicated, it is simply how the JDK works. > > ? Ron From ron.pressler at oracle.com Thu Aug 1 16:26:23 2024 From: ron.pressler at oracle.com (Ron Pressler) Date: Thu, 1 Aug 2024 16:26:23 +0000 Subject: [External] : Re: Virtual thread memory leak because TrackingRootContainer keeps threads In-Reply-To: <03559FBD-C0C3-4FCC-B9C0-A5C7026D4B7D@icloud.com> References: <03559FBD-C0C3-4FCC-B9C0-A5C7026D4B7D@icloud.com> Message-ID: <70AEA725-0DF6-4B7C-84A0-568FBCB9DB43@oracle.com> > On 1 Aug 2024, at 16:55, robert engels wrote: > > Unless you are taking exception to my words ?auto-cleanup?. I mean this only that the vt and is references are subject to GC. All unreachable objects in Java are subject to GC. References in a thread stack are also subject to GC today regardless of whether the thread is reachable, alive, or collected, i.e.: void foo() { var x = new Object(); bar(); } While bar is executing, x may be collected even though it is still referenced from the stack (and it *will* be collected by most GCs, even when running on platform threads today), because the VM can prove that the thread will never again access x. Whether the thread itself is collected or not *once you cannot observe it* is an implementation detail, and it matters to Java?s memory management just as any other objects. Java objects are collected not because they vanish or are ?done" ? in fact, in the mental model allocated objects continue existing forever ? but once we can prove that the bytes in the memory holding their state cannot be read ? it may be reused. A C programmer may find it strange that the memory of some string has been reused (and so cannot be examined in a heap dump) without it being explicitly deallocated, but that?s just how Java works. If you?re wondering about use-cases, think about infinite (or very learge) streams in Java today. Infinite streams obviously don?t eagerly generate all their elements.They generate more elements when they?re asked, and consumers don?t necessarily tell them when they?re done asking. Now imagine you want to elements to be produced by a thread, and that you create 1M such streams per second. In any event, I think this subject has been discussed as long as it could be without any further experience reports. ? Ron From ron.pressler at oracle.com Thu Aug 1 17:11:23 2024 From: ron.pressler at oracle.com (Ron Pressler) Date: Thu, 1 Aug 2024 17:11:23 +0000 Subject: [External] : Re: Virtual thread memory leak because TrackingRootContainer keeps threads In-Reply-To: References: <5C6FDF93-EC29-4718-8D61-6B79F3389CF1@oracle.com> Message-ID: > On 1 Aug 2024, at 10:41, robert engels wrote: > > I was not aware of that! So are you saying that current JVMs will GC or not even create A in the following: > > A a = ? > while(true) { > ?never reference A? > } > a.doSomething(); > That depends on whether or not the VM is able to prove that the loop can never be exited (or if it is, then only through an exception that won?t be caught before a.doSomething, which also depends on the inference power of the implementation. But if the VM could prove that, then the object referenced by A is allowed to be collected (that is exactly what ReachabilityFence is for, although that API has some problems we won?t get into here). The rule is that when you access an object through a strong reference it will be there. The converse is that the VM may collect an object that will provably never be accessed through a strong reference. The rest is implementation details (and ReachabilityFence, which is problematic in multiple ways, including in how it?s specified). ? Ron From robaho at icloud.com Thu Aug 1 19:04:54 2024 From: robaho at icloud.com (Robert Engels) Date: Thu, 1 Aug 2024 14:04:54 -0500 Subject: [External] : Re: Virtual thread memory leak because TrackingRootContainer keeps threads In-Reply-To: References: <5C6FDF93-EC29-4718-8D61-6B79F3389CF1@oracle.com> Message-ID: <047690C8-2712-4CC9-BF42-4F69286F02DF@icloud.com> I created another more real-world test based on experience in debugging systems/memory leaks. The code is here https://github.com/robaho/closablequeue/blob/sample/src/main/java/robaho/queue/sample/SampleOrigWithRef.java At least for me, I have found it useful to take heap dumps / snapshots and check instance count invariants - e.g. number of reader threads should equal the number of Producer objects, etc. When the lifecycle is not correctly implemented using platform threads, you will get a continual increase in threads and the number of consumer objects. (A) With VT and tracking turned off, the number of threads and consumer objects will remain constant, but the behavior is not as expected (there is no printing of the stats) (B) With the lifecycle correctly implemented, the instance count invariant holds and the stats are printed. (C) You can argue that clearly B is broken because the stats line is not observable but this is only a trivial example and it isn?t always that easy. I find memory leaks - or lack there of - a decent check of correctness. With this VT change, that will no longer be the case. I also don?t like reviewing a piece of code - consumer() in this case - and having to determine if it is correct based on a system property value. This seems against Java?s explicitness (although I realize some system properties already alter behavior greatly). As an aside, based on your previous comments, it is curious that the objects are not collected in A. It is in the same state as B - the system knows that queue.take() can never advance - so if the references are not being held by stack entries then they should be collected, right - regardless that a Thread is a GC root? ----- A) With platform thread consumer: 0 ThirdActor: Queue created 2 Producer: no queue 4 Producer: enqueued message 4 Consumer 0: message received 6 Producer: enqueued message 6 Consumer 0: message received 6 Consumer 0: close shop 8 Producer: enqueued message 8 Consumer 0: message received 10 Producer: no queue 12 ThirdActor: Queue created 12 Producer: no queue 14 Producer: enqueued message 14 Consumer 12: message received 16 Producer: enqueued message 16 Consumer 12: message received 16 Consumer 12: close shop 18 Producer: enqueued message 18 Consumer 12: message received 20 Producer: no queue 22 Producer: no queue 24 ThirdActor: Queue created 24 Producer: no queue 26 Producer: enqueued message 26 Consumer 24: message received 28 Producer: enqueued message 28 Consumer 24: message received 28 Consumer 24: close shop B) and with virtual thread consumer and tracking turned off: 0 ThirdActor: Queue created 2 Producer: no queue 4 Producer: enqueued message 4 Consumer 0: message received 6 Producer: enqueued message 6 Consumer 0: message received 6 Consumer 0: close shop 8 Producer: enqueued message 8 Consumer 0: message received 10 Producer: no queue 12 Producer: no queue 12 ThirdActor: Queue created consumer object collected: java.lang.ref.PhantomReference at 7d52c835, thread count 13 queue collected: java.lang.ref.PhantomReference at 4a02d483, thread count 13 14 Producer: enqueued message 14 Consumer 12: message received 16 Producer: enqueued message 16 Consumer 12: message received 16 Consumer 12: close shop 18 Producer: enqueued message 18 Consumer 12: message received 20 Producer: no queue 22 Producer: no queue 24 ThirdActor: Queue created consumer object collected: java.lang.ref.PhantomReference at 26e0c418, thread count 13 queue collected: java.lang.ref.PhantomReference at 60aece00, thread count 13 24 Producer: no queue 26 Producer: enqueued message C) and with either type and correct lifecycle code: 0 ThirdActor: Queue created 2 Producer: no queue 4 Producer: enqueued message 4 Consumer 0: message received 6 Producer: enqueued message 6 Consumer 0: message received 6 Consumer 0: close shop 8 Producer: enqueued message 8 Consumer 0: message received 10 Producer: no queue 12 Producer: no queue consumer 0 interrupted consumer ended, stats = 3 12 ThirdActor: Queue created queue collected: java.lang.ref.PhantomReference at 4a02d483, thread count 13 consumer object collected: java.lang.ref.PhantomReference at 7d52c835, thread count 13 14 Producer: no queue 16 Producer: enqueued message 16 Consumer 12: message received 18 Producer: enqueued message 18 Consumer 12: message received 18 Consumer 12: close shop 20 Producer: enqueued message 20 Consumer 12: message received 22 Producer: no queue 24 Producer: no queue consumer 12 interrupted consumer ended, stats = 3 24 ThirdActor: Queue created queue collected: java.lang.ref.PhantomReference at 79a8a792, thread count 13 consumer object collected: java.lang.ref.PhantomReference at 4af7de55, thread count 13 26 Producer: no queue 28 Producer: enqueued message 28 Consumer 24: message received > On Aug 1, 2024, at 12:11 PM, Ron Pressler wrote: > > > >> On 1 Aug 2024, at 10:41, robert engels wrote: >> >> I was not aware of that! So are you saying that current JVMs will GC or not even create A in the following: >> >> A a = ? >> while(true) { >> ?never reference A? >> } >> a.doSomething(); >> > > That depends on whether or not the VM is able to prove that the loop can never be exited (or if it is, then only through an exception that won?t be caught before a.doSomething, which also depends on the inference power of the implementation. But if the VM could prove that, then the object referenced by A is allowed to be collected (that is exactly what ReachabilityFence is for, although that API has some problems we won?t get into here). > > The rule is that when you access an object through a strong reference it will be there. The converse is that the VM may collect an object that will provably never be accessed through a strong reference. The rest is implementation details (and ReachabilityFence, which is problematic in multiple ways, including in how it?s specified). > > ? Ron -------------- next part -------------- An HTML attachment was scrubbed... URL: From ron.pressler at oracle.com Thu Aug 1 21:54:30 2024 From: ron.pressler at oracle.com (Ron Pressler) Date: Thu, 1 Aug 2024 21:54:30 +0000 Subject: [External] : Re: Virtual thread memory leak because TrackingRootContainer keeps threads In-Reply-To: <047690C8-2712-4CC9-BF42-4F69286F02DF@icloud.com> References: <5C6FDF93-EC29-4718-8D61-6B79F3389CF1@oracle.com> <047690C8-2712-4CC9-BF42-4F69286F02DF@icloud.com> Message-ID: > On 1 Aug 2024, at 20:04, Robert Engels wrote: > > > I find memory leaks - or lack there of - a decent check of correctness. With this VT change, that will no longer be the case. If you find memory leaks an aid to debugging, by all means track all of your threads. > > I also don?t like reviewing a piece of code - consumer() in this case - and having to determine if it is correct based on a system property value. This seems against Java?s explicitness (although I realize some system properties already alter behavior greatly). It is not. Whether and when objects are collected is also subject to GC selection. One of the GCs in the JDK never collects any object. But it seems to me that all you?re doing is using an implementation detail as an aid to debugging the code, and that?s fine. > > As an aside, based on your previous comments, it is curious that the objects are not collected in A. It is in the same state as B - the system knows that queue.take() can never advance - so if the references are not being held by stack entries then they should be collected, right - regardless that a Thread is a GC root? Let?s forget about roots. Roots are an implementation detail of the GC, and even the same GC can treat different objects as roots or not depending on the type of the collection. What matters is whether or not an object is reachable. Well, platform threads do happen to be roots and that?s why they?re always considered reachable, but that?s not the point. What matters to the purpose of understanding the behaviour is that all platform threads are always considered reachable. Now, if a thread is reachable, it is much harder to prove that it is, indeed, stuck forever (e.g. you can obtain a reference to it and interrupt it). The simple proof that a thread is stuck forever is that it is blocked unreachable, because if it is unreachable it is neither currently scheduled nor can it ever be unblocked (or interrupted) because to unblock (or interrupt) a thread, you need a reference to it. Because a platform thread is reachable, the VM cannot prove that it?s stuck forever, and so it assumes it could continue, and if it can continue, then it may access certain references on the stack, so they?ll be considered live. ? Ron From robaho at icloud.com Thu Aug 1 22:20:19 2024 From: robaho at icloud.com (robert engels) Date: Thu, 1 Aug 2024 17:20:19 -0500 Subject: [Virus Error] Re: [External] : Re: Virtual thread memory leak because TrackingRootContainer keeps threads In-Reply-To: References: Message-ID: <063C19B3-A170-489E-87C6-F02695817D1B@icloud.com> Absence of memory leaks means a better change of the lifecycle management being correct. > On Aug 1, 2024, at 4:55?PM, Ron Pressler wrote: > > ? > >> On 1 Aug 2024, at 20:04, Robert Engels wrote: >> >> >> I find memory leaks - or lack there of - a decent check of correctness. With this VT change, that will no longer be the case. > > If you find memory leaks an aid to debugging, by all means track all of your threads. > >> >> I also don?t like reviewing a piece of code - consumer() in this case - and having to determine if it is correct based on a system property value. This seems against Java?s explicitness (although I realize some system properties already alter behavior greatly). > > It is not. Whether and when objects are collected is also subject to GC selection. One of the GCs in the JDK never collects any object. > > But it seems to me that all you?re doing is using an implementation detail as an aid to debugging the code, and that?s fine. > > >> >> As an aside, based on your previous comments, it is curious that the objects are not collected in A. It is in the same state as B - the system knows that queue.take() can never advance - so if the references are not being held by stack entries then they should be collected, right - regardless that a Thread is a GC root? > > Let?s forget about roots. Roots are an implementation detail of the GC, and even the same GC can treat different objects as roots or not depending on the type of the collection. What matters is whether or not an object is reachable. Well, platform threads do happen to be roots and that?s why they?re always considered reachable, but that?s not the point. What matters to the purpose of understanding the behaviour is that all platform threads are always considered reachable. > > Now, if a thread is reachable, it is much harder to prove that it is, indeed, stuck forever (e.g. you can obtain a reference to it and interrupt it). The simple proof that a thread is stuck forever is that it is blocked unreachable, because if it is unreachable it is neither currently scheduled nor can it ever be unblocked (or interrupted) because to unblock (or interrupt) a thread, you need a reference to it. > > Because a platform thread is reachable, the VM cannot prove that it?s stuck forever, and so it assumes it could continue, and if it can continue, then it may access certain references on the stack, so they?ll be considered live. > > ? Ron From rengels at ix.netcom.com Fri Aug 2 04:37:20 2024 From: rengels at ix.netcom.com (Robert Engels) Date: Thu, 1 Aug 2024 23:37:20 -0500 Subject: [External] : Re: Virtual thread memory leak because TrackingRootContainer keeps threads In-Reply-To: <063C19B3-A170-489E-87C6-F02695817D1B@icloud.com> References: <063C19B3-A170-489E-87C6-F02695817D1B@icloud.com> Message-ID: Chance. Sorry mobile with old eyes. > On Aug 1, 2024, at 5:21?PM, robert engels wrote: > > ?Absence of memory leaks means a better change of the lifecycle management being correct. > >> On Aug 1, 2024, at 4:55?PM, Ron Pressler wrote: >> >> ? >> >>>> On 1 Aug 2024, at 20:04, Robert Engels wrote: >>> >>> >>> I find memory leaks - or lack there of - a decent check of correctness. With this VT change, that will no longer be the case. >> >> If you find memory leaks an aid to debugging, by all means track all of your threads. >> >>> >>> I also don?t like reviewing a piece of code - consumer() in this case - and having to determine if it is correct based on a system property value. This seems against Java?s explicitness (although I realize some system properties already alter behavior greatly). >> >> It is not. Whether and when objects are collected is also subject to GC selection. One of the GCs in the JDK never collects any object. >> >> But it seems to me that all you?re doing is using an implementation detail as an aid to debugging the code, and that?s fine. >> >> >>> >>> As an aside, based on your previous comments, it is curious that the objects are not collected in A. It is in the same state as B - the system knows that queue.take() can never advance - so if the references are not being held by stack entries then they should be collected, right - regardless that a Thread is a GC root? >> >> Let?s forget about roots. Roots are an implementation detail of the GC, and even the same GC can treat different objects as roots or not depending on the type of the collection. What matters is whether or not an object is reachable. Well, platform threads do happen to be roots and that?s why they?re always considered reachable, but that?s not the point. What matters to the purpose of understanding the behaviour is that all platform threads are always considered reachable. >> >> Now, if a thread is reachable, it is much harder to prove that it is, indeed, stuck forever (e.g. you can obtain a reference to it and interrupt it). The simple proof that a thread is stuck forever is that it is blocked unreachable, because if it is unreachable it is neither currently scheduled nor can it ever be unblocked (or interrupted) because to unblock (or interrupt) a thread, you need a reference to it. >> >> Because a platform thread is reachable, the VM cannot prove that it?s stuck forever, and so it assumes it could continue, and if it can continue, then it may access certain references on the stack, so they?ll be considered live. >> >> ? Ron From yzheng at openjdk.org Fri Aug 2 05:19:41 2024 From: yzheng at openjdk.org (Yudi Zheng) Date: Fri, 2 Aug 2024 05:19:41 GMT Subject: Integrated: Export JavaThread::_lock_id, ObjectMonitor::_stack_locker and markWord::marked_value. In-Reply-To: References: Message-ID: On Mon, 22 Jul 2024 16:00:00 GMT, Yudi Zheng wrote: > Essential exports for implementing fibers support in Graal. This pull request has now been integrated. Changeset: 87fbbdde Author: Yudi Zheng Committer: Alan Bateman URL: https://git.openjdk.org/loom/commit/87fbbddec8aca2697ee98915272eaf4dd471061c Stats: 3 lines in 1 file changed: 3 ins; 0 del; 0 mod Export JavaThread::_lock_id, ObjectMonitor::_stack_locker and markWord::marked_value. Reviewed-by: alanb ------------- PR: https://git.openjdk.org/loom/pull/211 From robaho at icloud.com Fri Aug 2 14:58:28 2024 From: robaho at icloud.com (robert engels) Date: Fri, 2 Aug 2024 09:58:28 -0500 Subject: [External] : Re: Virtual thread memory leak because TrackingRootContainer keeps threads In-Reply-To: References: Message-ID: <878FCC74-0298-412C-8A55-A423EFFF90AB@icloud.com> Sorry to keep this thread going but in reviewing my test results I think this capability is now dangerous, as I related to the Thread.stop(). It is going to be the same issue. A lot of native resource backed objects have Java shadows with finalizers / reference queues. If the referenced are released without traveling up the stack the program/system can be in an inconsistent state. Take for instance a file system lock file that is removed on finalization. This would be removed allowing other processing to continue even though the locking process never completed nor rolled back. Maybe you could argue it is a bad design to do this but I think the pattern with Cleaners, etc is fairly pervasive. By releasing the objects program order guarantees are broken - I don?t think it is valid to do this - especially concerning try/finally. As I also said you could maybe be very tricky and just release the memory but that isn?t what is happening here. It is collecting the objects which allows side effects through finalization and reference queues. > On Aug 1, 2024, at 11:39?PM, Robert Engels wrote: > > ?Chance. Sorry mobile with old eyes. > >> On Aug 1, 2024, at 5:21?PM, robert engels wrote: >> >> ?Absence of memory leaks means a better change of the lifecycle management being correct. >> >>>> On Aug 1, 2024, at 4:55?PM, Ron Pressler wrote: >>> >>> ? >>> >>>>> On 1 Aug 2024, at 20:04, Robert Engels wrote: >>>> >>>> >>>> I find memory leaks - or lack there of - a decent check of correctness. With this VT change, that will no longer be the case. >>> >>> If you find memory leaks an aid to debugging, by all means track all of your threads. >>> >>>> >>>> I also don?t like reviewing a piece of code - consumer() in this case - and having to determine if it is correct based on a system property value. This seems against Java?s explicitness (although I realize some system properties already alter behavior greatly). >>> >>> It is not. Whether and when objects are collected is also subject to GC selection. One of the GCs in the JDK never collects any object. >>> >>> But it seems to me that all you?re doing is using an implementation detail as an aid to debugging the code, and that?s fine. >>> >>> >>>> >>>> As an aside, based on your previous comments, it is curious that the objects are not collected in A. It is in the same state as B - the system knows that queue.take() can never advance - so if the references are not being held by stack entries then they should be collected, right - regardless that a Thread is a GC root? >>> >>> Let?s forget about roots. Roots are an implementation detail of the GC, and even the same GC can treat different objects as roots or not depending on the type of the collection. What matters is whether or not an object is reachable. Well, platform threads do happen to be roots and that?s why they?re always considered reachable, but that?s not the point. What matters to the purpose of understanding the behaviour is that all platform threads are always considered reachable. >>> >>> Now, if a thread is reachable, it is much harder to prove that it is, indeed, stuck forever (e.g. you can obtain a reference to it and interrupt it). The simple proof that a thread is stuck forever is that it is blocked unreachable, because if it is unreachable it is neither currently scheduled nor can it ever be unblocked (or interrupted) because to unblock (or interrupt) a thread, you need a reference to it. >>> >>> Because a platform thread is reachable, the VM cannot prove that it?s stuck forever, and so it assumes it could continue, and if it can continue, then it may access certain references on the stack, so they?ll be considered live. >>> >>> ? Ron From duke at openjdk.org Sat Aug 3 09:27:32 2024 From: duke at openjdk.org (duke) Date: Sat, 3 Aug 2024 09:27:32 GMT Subject: git: openjdk/loom: fibers: 26 new changesets Message-ID: <508d6619-d5df-4d44-b2b3-a886f2711351@openjdk.org> Changeset: f2ba2ebb Branch: fibers Author: Jasmine Karthikeyan Date: 2024-07-31 15:16:21 +0000 URL: https://git.openjdk.org/loom/commit/f2ba2ebbcaba2784b24e7fe94c235ca652f7c9a2 8331090: Run Ideal_minmax before de-canonicalizing CMoves Reviewed-by: thartmann, epeter ! src/hotspot/share/opto/movenode.cpp ! test/hotspot/jtreg/compiler/c2/irTests/TestIfMinMax.java Changeset: fdb4350f Branch: fibers Author: Daniel Lund?n Date: 2024-07-31 16:05:42 +0000 URL: https://git.openjdk.org/loom/commit/fdb4350fcecef1915cdbc27ece24153a1b6c884d 8324345: Stack overflow during C2 compilation when splitting memory phi Reviewed-by: thartmann, kvn ! src/hotspot/share/opto/escape.cpp ! src/hotspot/share/opto/escape.hpp + test/hotspot/jtreg/compiler/escapeAnalysis/TestFindInstMemRecursion.java ! test/hotspot/jtreg/compiler/vectorapi/VectorReplicateLongSpecialImmTest.java Changeset: e4c7850c Branch: fibers Author: Albert Mingkun Yang Date: 2024-07-31 16:24:07 +0000 URL: https://git.openjdk.org/loom/commit/e4c7850c177899a5da6f5050cb0647a6e1a75d31 8337027: Parallel: Obsolete BaseFootPrintEstimate Reviewed-by: tschatzl, kbarrett ! src/hotspot/share/gc/parallel/psAdaptiveSizePolicy.cpp ! src/hotspot/share/gc/parallel/psAdaptiveSizePolicy.hpp ! src/hotspot/share/gc/parallel/psGCAdaptivePolicyCounters.cpp ! src/hotspot/share/gc/parallel/psGCAdaptivePolicyCounters.hpp ! src/hotspot/share/gc/shared/gc_globals.hpp ! src/hotspot/share/runtime/arguments.cpp ! src/jdk.internal.jvmstat/share/classes/sun/jvmstat/perfdata/resources/aliasmap Changeset: 8f039b56 Branch: fibers Author: Coleen Phillimore Date: 2024-07-31 17:55:01 +0000 URL: https://git.openjdk.org/loom/commit/8f039b56294604271c8ee896aca49d325b5472e5 8336919: Cleanup and rename tags in placeholders code Co-authored-by: Frederic Parain Reviewed-by: iklam, fparain, dholmes ! src/hotspot/share/classfile/classFileParser.cpp ! src/hotspot/share/classfile/placeholders.cpp ! src/hotspot/share/classfile/placeholders.hpp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionary.hpp ! test/hotspot/gtest/classfile/test_placeholders.cpp Changeset: a45bb55d Branch: fibers Author: Erik Gahlin Date: 2024-07-31 17:58:52 +0000 URL: https://git.openjdk.org/loom/commit/a45bb55ddb6abfa520a2e4d7a5cd4d638a526efd 8337501: JFR: Use TimespanUnit Reviewed-by: mgronlun ! src/jdk.jfr/share/classes/jdk/jfr/internal/dcmd/ArgumentParser.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/jfc/model/Utilities.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/util/TimespanUnit.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/util/ValueParser.java Changeset: 97f7c03d Branch: fibers Author: Sonia Zaldana Calles Date: 2024-07-31 18:05:49 +0000 URL: https://git.openjdk.org/loom/commit/97f7c03dd0ff389abefed7ea2a7257bcb42e0754 8336495: Remove unnecessary casts in output.cpp Reviewed-by: chagedorn, kvn ! src/hotspot/share/opto/output.cpp Changeset: 8af2ef35 Branch: fibers Author: Alex Menkov Date: 2024-07-31 20:02:25 +0000 URL: https://git.openjdk.org/loom/commit/8af2ef35b6f9399b6d25ff7a4a72ad283df63f03 8331015: Obsolete -XX:+UseNotificationThread Reviewed-by: dholmes, kevinw, sspitsyn, coleenp ! src/hotspot/share/jfr/recorder/repository/jfrEmergencyDump.cpp ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/runtime/serviceThread.cpp ! src/hotspot/share/services/lowMemoryDetector.hpp ! src/hotspot/share/services/management.cpp Changeset: 65646b5f Branch: fibers Author: Prasanta Sadhukhan Date: 2024-08-01 03:35:43 +0000 URL: https://git.openjdk.org/loom/commit/65646b5f81279a7fcef3ea04ef9894cf66f77a5a 8337457: Redundant Math.round call in AquaProgressBarUI#getStringPlacement Reviewed-by: azvegint ! src/java.desktop/macosx/classes/com/apple/laf/AquaProgressBarUI.java Changeset: cf1230a5 Branch: fibers Author: Albert Mingkun Yang Date: 2024-08-01 07:28:29 +0000 URL: https://git.openjdk.org/loom/commit/cf1230a5f7e5ae4c72ec6243fff1d0b0eb27779a 8337546: Remove unused GCCause::_adaptive_size_policy Reviewed-by: tschatzl, kbarrett ! src/hotspot/share/gc/shared/gcCause.cpp ! src/hotspot/share/gc/shared/gcCause.hpp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/shared/GCCause.java ! test/jdk/jdk/jfr/event/gc/collection/TestGCCauseWithParallelOld.java Changeset: 8eb56845 Branch: fibers Author: Albert Mingkun Yang Date: 2024-08-01 07:28:39 +0000 URL: https://git.openjdk.org/loom/commit/8eb56845e46e8e4867915c8c079adfe1196dcbbc 8337550: Add documentation to TestOutOfMemoryDuringInit.java Reviewed-by: dholmes ! test/hotspot/jtreg/runtime/ClassInitErrors/TestOutOfMemoryDuringInit.java Changeset: f174bbd3 Branch: fibers Author: Kevin Walls Date: 2024-08-01 08:14:17 +0000 URL: https://git.openjdk.org/loom/commit/f174bbd3baf351ae9248b70454b3bc5a89acd7c6 8337473: Remove sun/management/jdp tests from ProblemList on Linux-aarch64, MacOSX Reviewed-by: dcubed ! test/jdk/ProblemList.txt Changeset: c6f0a35e Branch: fibers Author: Matthew Donovan Date: 2024-08-01 11:40:44 +0000 URL: https://git.openjdk.org/loom/commit/c6f0a35e9e3eeaab1e238e8712051a626b337e0b 8333317: Test sun/security/pkcs11/sslecc/ClientJSSEServerJSSE.java failed with: Invalid ECDH ServerKeyExchange signature Reviewed-by: rhalade ! test/jdk/ProblemList.txt ! test/jdk/sun/security/pkcs11/PKCS11Test.java ! test/jdk/sun/security/pkcs11/Signature/TestDSAKeyLength.java Changeset: 022899a7 Branch: fibers Author: Albert Mingkun Yang Date: 2024-08-01 13:39:49 +0000 URL: https://git.openjdk.org/loom/commit/022899a7eb0100bd6d738471f52e5028e3e5f18e 8337641: G1: Remove unused G1CollectedHeap::alloc_highest_free_region Reviewed-by: tschatzl ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp ! src/hotspot/share/gc/g1/g1HeapRegionManager.cpp ! src/hotspot/share/gc/g1/g1HeapRegionManager.hpp Changeset: 27af80ef Branch: fibers Author: Jorn Vernee Date: 2024-08-01 14:36:03 +0000 URL: https://git.openjdk.org/loom/commit/27af80ef9e676aaf9016279ff0c7990e2cdfe9ed 8324260: java/foreign/TestStubAllocFailure.java run timeout with -Xcomp Reviewed-by: alanb, jpai, shade ! test/jdk/java/foreign/TestStubAllocFailure.java Changeset: 9fe6e231 Branch: fibers Author: Hannes Greule Committer: Chen Liang Date: 2024-08-01 14:41:25 +0000 URL: https://git.openjdk.org/loom/commit/9fe6e2316aef8fd125a7905cff2a2d9ae5d26109 8335638: Calling VarHandle.{access-mode} methods reflectively throws wrong exception Reviewed-by: liach ! src/hotspot/share/prims/methodHandles.cpp ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestReflection.java Changeset: f1fa64b6 Branch: fibers Author: Mark Powers Date: 2024-08-01 16:37:20 +0000 URL: https://git.openjdk.org/loom/commit/f1fa64b6b67f2eef916b8d92eb522ccb19035e12 4966250: SSLSessionContext.setSessionTimeout() documentation could be updated Reviewed-by: mullan ! src/java.base/share/classes/javax/net/ssl/SSLSessionContext.java Changeset: 21e86d10 Branch: fibers Author: Brian Burkhalter Date: 2024-08-01 19:02:33 +0000 URL: https://git.openjdk.org/loom/commit/21e86d10a726fe707febb0111f5b80d8d1d29f03 8334405: java/nio/channels/Selector/SelectWithConsumer.java#id0 failed in testWakeupDuringSelect Reviewed-by: dfuchs, alanb, vtewari ! test/jdk/java/nio/channels/Selector/SelectWithConsumer.java Changeset: dc35f3e8 Branch: fibers Author: Sandhya Viswanathan Date: 2024-08-01 23:02:23 +0000 URL: https://git.openjdk.org/loom/commit/dc35f3e8a84c8f622a4cabb8aee0f96de2e2ea30 8337062: x86_64: Unordered add/mul reduction support for vector api Reviewed-by: jbhateja, sgibbons ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.hpp ! src/hotspot/cpu/x86/x86.ad ! test/jdk/jdk/incubator/vector/Double128VectorTests.java ! test/jdk/jdk/incubator/vector/Double256VectorTests.java ! test/jdk/jdk/incubator/vector/Double512VectorTests.java ! test/jdk/jdk/incubator/vector/Double64VectorTests.java ! test/jdk/jdk/incubator/vector/DoubleMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Float128VectorTests.java ! test/jdk/jdk/incubator/vector/Float256VectorTests.java ! test/jdk/jdk/incubator/vector/Float512VectorTests.java ! test/jdk/jdk/incubator/vector/Float64VectorTests.java ! test/jdk/jdk/incubator/vector/FloatMaxVectorTests.java ! test/jdk/jdk/incubator/vector/gen-template.sh ! test/jdk/jdk/incubator/vector/templates/Unit-Reduction-Masked-op.template ! test/jdk/jdk/incubator/vector/templates/Unit-Reduction-op.template ! test/jdk/jdk/incubator/vector/templates/Unit-header.template Changeset: a89b5251 Branch: fibers Author: Albert Mingkun Yang Date: 2024-08-02 10:51:25 +0000 URL: https://git.openjdk.org/loom/commit/a89b525189fbc0559be9edc0de9f4288ca676139 8337721: G1: Remove unused G1CollectedHeap::young_collection_verify_type Reviewed-by: tschatzl ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp Changeset: 328a0533 Branch: fibers Author: Coleen Phillimore Date: 2024-08-02 11:47:26 +0000 URL: https://git.openjdk.org/loom/commit/328a0533b2ee6793130dfb68d931e0ebd60c6b5d 8335059: Consider renaming ClassLoaderData::keep_alive Reviewed-by: dholmes, stefank ! src/hotspot/cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/ppc/gc/shared/barrierSetAssembler_ppc.cpp ! src/hotspot/cpu/riscv/gc/shared/barrierSetAssembler_riscv.cpp ! src/hotspot/cpu/x86/gc/shared/barrierSetAssembler_x86.cpp ! src/hotspot/share/classfile/classLoaderData.cpp ! src/hotspot/share/classfile/classLoaderData.hpp ! src/hotspot/share/classfile/classLoaderDataGraph.cpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/moduleEntry.cpp ! src/hotspot/share/prims/jvm.cpp Changeset: 066db6eb Branch: fibers Author: Alexey Ivanov Date: 2024-08-02 13:06:22 +0000 URL: https://git.openjdk.org/loom/commit/066db6eb21e9c9202857f9f6adfcd537a0b82160 8337274: Remove repeated 'the' in StyleSheet.create{Small,Large}AttributeSet Reviewed-by: achung, honkar, prr ! src/java.desktop/share/classes/javax/swing/text/html/StyleSheet.java Changeset: f2e1205a Branch: fibers Author: Erik Gahlin Date: 2024-08-02 15:51:26 +0000 URL: https://git.openjdk.org/loom/commit/f2e1205abf915c7f036c58292c6f4d8602cb0e64 8337676: JFR: Change the label of the throttle setting Reviewed-by: mgronlun ! src/jdk.jfr/share/classes/jdk/jfr/internal/settings/ThrottleSetting.java Changeset: 7deee745 Branch: fibers Author: Jonathan Gibbons Date: 2024-08-02 17:53:23 +0000 URL: https://git.openjdk.org/loom/commit/7deee745254e5f32b75a09d84ac5078a122c8b8d 8335122: Reorganize internal low-level support for HTML in jdk.javadoc Reviewed-by: hannesw ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractExecutableMemberWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractMemberWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractOverviewIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractTreeWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AllClassesIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AllPackagesIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AnnotationTypeMemberWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassUseWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ConstantsSummaryWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ConstructorWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Contents.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DeprecatedListWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DocFilesHandler.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/EnumConstantWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ExternalSpecsWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/FieldWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Headings.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HelpWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlIds.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlIndexBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlLinkFactory.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlLinkInfo.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/IndexRedirectWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/IndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/MarkerComments.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/MethodWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ModuleIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ModuleWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Navigation.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/NestedClassWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/NewAPIListWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageTreeWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageUseWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PreviewListWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PropertyWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/RestrictedListWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SearchWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SerialFieldWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SerialMethodWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SerializedFormWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Signatures.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SourceToHTMLConverter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SubWriterHolderWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SummaryListWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SystemPropertiesWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Table.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TableHeader.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TableOfContents.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TreeWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/BodyContents.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Head.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlAttr.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlDocument.java = src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlStyles.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Links.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/TagName.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/package-info.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/taglets/BaseTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/taglets/DeprecatedTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/taglets/DocRootTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/taglets/IndexTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/taglets/InheritDocTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/taglets/LinkTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/taglets/LiteralTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/taglets/ParamTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/taglets/ReturnTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/taglets/SeeTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/taglets/SimpleTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/taglets/SnippetTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/taglets/SpecTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/taglets/SummaryTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/taglets/SystemPropertyTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/taglets/Taglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/taglets/TagletWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/taglets/ThrowsTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/taglets/UserTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/taglets/ValueTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/Checker.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/HtmlTag.java = src/jdk.javadoc/share/classes/jdk/javadoc/internal/html/Comment.java = src/jdk.javadoc/share/classes/jdk/javadoc/internal/html/Content.java = src/jdk.javadoc/share/classes/jdk/javadoc/internal/html/ContentBuilder.java = src/jdk.javadoc/share/classes/jdk/javadoc/internal/html/DocType.java = src/jdk.javadoc/share/classes/jdk/javadoc/internal/html/Entity.java + src/jdk.javadoc/share/classes/jdk/javadoc/internal/html/HtmlAttr.java = src/jdk.javadoc/share/classes/jdk/javadoc/internal/html/HtmlId.java + src/jdk.javadoc/share/classes/jdk/javadoc/internal/html/HtmlStyle.java + src/jdk.javadoc/share/classes/jdk/javadoc/internal/html/HtmlTag.java = src/jdk.javadoc/share/classes/jdk/javadoc/internal/html/HtmlTree.java = src/jdk.javadoc/share/classes/jdk/javadoc/internal/html/ListBuilder.java = src/jdk.javadoc/share/classes/jdk/javadoc/internal/html/RawHtml.java = src/jdk.javadoc/share/classes/jdk/javadoc/internal/html/Script.java = src/jdk.javadoc/share/classes/jdk/javadoc/internal/html/Text.java = src/jdk.javadoc/share/classes/jdk/javadoc/internal/html/TextBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/package-info.java ! test/langtools/jdk/javadoc/doclet/checkStylesheetClasses/CheckStylesheetClasses.java ! test/langtools/jdk/javadoc/doclet/testHtmlDocument/TestHtmlDocument.java ! test/langtools/jdk/javadoc/doclet/testHtmlTableStyles/TestHtmlTableStyles.java ! test/langtools/jdk/javadoc/doclet/testVoidHtmlElements/TestVoidHtmlElements.java ! test/langtools/tools/doclint/CoverageExtras.java ! test/langtools/tools/doclint/html/HtmlVersionTagsAttrsTest.java ! test/langtools/tools/doclint/html/HtmlVersionTagsAttrsTest.out ! test/langtools/tools/doclint/html/OtherTagsTest.java ! test/langtools/tools/doclint/html/OtherTagsTest.out Changeset: 22f1b23c Branch: fibers Author: Alan Bateman Date: 2024-08-03 07:05:18 +0000 URL: https://git.openjdk.org/loom/commit/22f1b23ca76a23f8af9b2fbd99592159c0d959bb Merge ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.hpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.hpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/runtime/globals.hpp Changeset: 7ba8ad30 Branch: fibers Author: Alan Bateman Date: 2024-08-03 10:24:01 +0000 URL: https://git.openjdk.org/loom/commit/7ba8ad30da50f2be393ebe88fd7e148a62e33cdd Test cleanup ! test/jdk/java/lang/Thread/virtual/MonitorEnterExit.java ! test/jdk/java/lang/Thread/virtual/MonitorWaitNotify.java ! test/jdk/java/lang/Thread/virtual/Parking.java ! test/jdk/java/lang/Thread/virtual/ThreadAPI.java Changeset: 8d40fcb0 Branch: fibers Author: Alan Bateman Date: 2024-08-03 10:24:53 +0000 URL: https://git.openjdk.org/loom/commit/8d40fcb0d5e35e35539a49faf55eb4288c7cd968 Improve join after cancelled by timeout ! src/java.base/share/classes/java/util/concurrent/StructuredTaskScope.java From duke at openjdk.org Sat Aug 3 09:28:47 2024 From: duke at openjdk.org (duke) Date: Sat, 3 Aug 2024 09:28:47 GMT Subject: git: openjdk/loom: master: 23 new changesets Message-ID: <95991bd9-580e-4cf3-ad75-dbb881d6ed09@openjdk.org> Changeset: f2ba2ebb Branch: master Author: Jasmine Karthikeyan Date: 2024-07-31 15:16:21 +0000 URL: https://git.openjdk.org/loom/commit/f2ba2ebbcaba2784b24e7fe94c235ca652f7c9a2 8331090: Run Ideal_minmax before de-canonicalizing CMoves Reviewed-by: thartmann, epeter ! src/hotspot/share/opto/movenode.cpp ! test/hotspot/jtreg/compiler/c2/irTests/TestIfMinMax.java Changeset: fdb4350f Branch: master Author: Daniel Lund?n Date: 2024-07-31 16:05:42 +0000 URL: https://git.openjdk.org/loom/commit/fdb4350fcecef1915cdbc27ece24153a1b6c884d 8324345: Stack overflow during C2 compilation when splitting memory phi Reviewed-by: thartmann, kvn ! src/hotspot/share/opto/escape.cpp ! src/hotspot/share/opto/escape.hpp + test/hotspot/jtreg/compiler/escapeAnalysis/TestFindInstMemRecursion.java ! test/hotspot/jtreg/compiler/vectorapi/VectorReplicateLongSpecialImmTest.java Changeset: e4c7850c Branch: master Author: Albert Mingkun Yang Date: 2024-07-31 16:24:07 +0000 URL: https://git.openjdk.org/loom/commit/e4c7850c177899a5da6f5050cb0647a6e1a75d31 8337027: Parallel: Obsolete BaseFootPrintEstimate Reviewed-by: tschatzl, kbarrett ! src/hotspot/share/gc/parallel/psAdaptiveSizePolicy.cpp ! src/hotspot/share/gc/parallel/psAdaptiveSizePolicy.hpp ! src/hotspot/share/gc/parallel/psGCAdaptivePolicyCounters.cpp ! src/hotspot/share/gc/parallel/psGCAdaptivePolicyCounters.hpp ! src/hotspot/share/gc/shared/gc_globals.hpp ! src/hotspot/share/runtime/arguments.cpp ! src/jdk.internal.jvmstat/share/classes/sun/jvmstat/perfdata/resources/aliasmap Changeset: 8f039b56 Branch: master Author: Coleen Phillimore Date: 2024-07-31 17:55:01 +0000 URL: https://git.openjdk.org/loom/commit/8f039b56294604271c8ee896aca49d325b5472e5 8336919: Cleanup and rename tags in placeholders code Co-authored-by: Frederic Parain Reviewed-by: iklam, fparain, dholmes ! src/hotspot/share/classfile/classFileParser.cpp ! src/hotspot/share/classfile/placeholders.cpp ! src/hotspot/share/classfile/placeholders.hpp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionary.hpp ! test/hotspot/gtest/classfile/test_placeholders.cpp Changeset: a45bb55d Branch: master Author: Erik Gahlin Date: 2024-07-31 17:58:52 +0000 URL: https://git.openjdk.org/loom/commit/a45bb55ddb6abfa520a2e4d7a5cd4d638a526efd 8337501: JFR: Use TimespanUnit Reviewed-by: mgronlun ! src/jdk.jfr/share/classes/jdk/jfr/internal/dcmd/ArgumentParser.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/jfc/model/Utilities.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/util/TimespanUnit.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/util/ValueParser.java Changeset: 97f7c03d Branch: master Author: Sonia Zaldana Calles Date: 2024-07-31 18:05:49 +0000 URL: https://git.openjdk.org/loom/commit/97f7c03dd0ff389abefed7ea2a7257bcb42e0754 8336495: Remove unnecessary casts in output.cpp Reviewed-by: chagedorn, kvn ! src/hotspot/share/opto/output.cpp Changeset: 8af2ef35 Branch: master Author: Alex Menkov Date: 2024-07-31 20:02:25 +0000 URL: https://git.openjdk.org/loom/commit/8af2ef35b6f9399b6d25ff7a4a72ad283df63f03 8331015: Obsolete -XX:+UseNotificationThread Reviewed-by: dholmes, kevinw, sspitsyn, coleenp ! src/hotspot/share/jfr/recorder/repository/jfrEmergencyDump.cpp ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/runtime/serviceThread.cpp ! src/hotspot/share/services/lowMemoryDetector.hpp ! src/hotspot/share/services/management.cpp Changeset: 65646b5f Branch: master Author: Prasanta Sadhukhan Date: 2024-08-01 03:35:43 +0000 URL: https://git.openjdk.org/loom/commit/65646b5f81279a7fcef3ea04ef9894cf66f77a5a 8337457: Redundant Math.round call in AquaProgressBarUI#getStringPlacement Reviewed-by: azvegint ! src/java.desktop/macosx/classes/com/apple/laf/AquaProgressBarUI.java Changeset: cf1230a5 Branch: master Author: Albert Mingkun Yang Date: 2024-08-01 07:28:29 +0000 URL: https://git.openjdk.org/loom/commit/cf1230a5f7e5ae4c72ec6243fff1d0b0eb27779a 8337546: Remove unused GCCause::_adaptive_size_policy Reviewed-by: tschatzl, kbarrett ! src/hotspot/share/gc/shared/gcCause.cpp ! src/hotspot/share/gc/shared/gcCause.hpp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/shared/GCCause.java ! test/jdk/jdk/jfr/event/gc/collection/TestGCCauseWithParallelOld.java Changeset: 8eb56845 Branch: master Author: Albert Mingkun Yang Date: 2024-08-01 07:28:39 +0000 URL: https://git.openjdk.org/loom/commit/8eb56845e46e8e4867915c8c079adfe1196dcbbc 8337550: Add documentation to TestOutOfMemoryDuringInit.java Reviewed-by: dholmes ! test/hotspot/jtreg/runtime/ClassInitErrors/TestOutOfMemoryDuringInit.java Changeset: f174bbd3 Branch: master Author: Kevin Walls Date: 2024-08-01 08:14:17 +0000 URL: https://git.openjdk.org/loom/commit/f174bbd3baf351ae9248b70454b3bc5a89acd7c6 8337473: Remove sun/management/jdp tests from ProblemList on Linux-aarch64, MacOSX Reviewed-by: dcubed ! test/jdk/ProblemList.txt Changeset: c6f0a35e Branch: master Author: Matthew Donovan Date: 2024-08-01 11:40:44 +0000 URL: https://git.openjdk.org/loom/commit/c6f0a35e9e3eeaab1e238e8712051a626b337e0b 8333317: Test sun/security/pkcs11/sslecc/ClientJSSEServerJSSE.java failed with: Invalid ECDH ServerKeyExchange signature Reviewed-by: rhalade ! test/jdk/ProblemList.txt ! test/jdk/sun/security/pkcs11/PKCS11Test.java ! test/jdk/sun/security/pkcs11/Signature/TestDSAKeyLength.java Changeset: 022899a7 Branch: master Author: Albert Mingkun Yang Date: 2024-08-01 13:39:49 +0000 URL: https://git.openjdk.org/loom/commit/022899a7eb0100bd6d738471f52e5028e3e5f18e 8337641: G1: Remove unused G1CollectedHeap::alloc_highest_free_region Reviewed-by: tschatzl ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp ! src/hotspot/share/gc/g1/g1HeapRegionManager.cpp ! src/hotspot/share/gc/g1/g1HeapRegionManager.hpp Changeset: 27af80ef Branch: master Author: Jorn Vernee Date: 2024-08-01 14:36:03 +0000 URL: https://git.openjdk.org/loom/commit/27af80ef9e676aaf9016279ff0c7990e2cdfe9ed 8324260: java/foreign/TestStubAllocFailure.java run timeout with -Xcomp Reviewed-by: alanb, jpai, shade ! test/jdk/java/foreign/TestStubAllocFailure.java Changeset: 9fe6e231 Branch: master Author: Hannes Greule Committer: Chen Liang Date: 2024-08-01 14:41:25 +0000 URL: https://git.openjdk.org/loom/commit/9fe6e2316aef8fd125a7905cff2a2d9ae5d26109 8335638: Calling VarHandle.{access-mode} methods reflectively throws wrong exception Reviewed-by: liach ! src/hotspot/share/prims/methodHandles.cpp ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestReflection.java Changeset: f1fa64b6 Branch: master Author: Mark Powers Date: 2024-08-01 16:37:20 +0000 URL: https://git.openjdk.org/loom/commit/f1fa64b6b67f2eef916b8d92eb522ccb19035e12 4966250: SSLSessionContext.setSessionTimeout() documentation could be updated Reviewed-by: mullan ! src/java.base/share/classes/javax/net/ssl/SSLSessionContext.java Changeset: 21e86d10 Branch: master Author: Brian Burkhalter Date: 2024-08-01 19:02:33 +0000 URL: https://git.openjdk.org/loom/commit/21e86d10a726fe707febb0111f5b80d8d1d29f03 8334405: java/nio/channels/Selector/SelectWithConsumer.java#id0 failed in testWakeupDuringSelect Reviewed-by: dfuchs, alanb, vtewari ! test/jdk/java/nio/channels/Selector/SelectWithConsumer.java Changeset: dc35f3e8 Branch: master Author: Sandhya Viswanathan Date: 2024-08-01 23:02:23 +0000 URL: https://git.openjdk.org/loom/commit/dc35f3e8a84c8f622a4cabb8aee0f96de2e2ea30 8337062: x86_64: Unordered add/mul reduction support for vector api Reviewed-by: jbhateja, sgibbons ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.hpp ! src/hotspot/cpu/x86/x86.ad ! test/jdk/jdk/incubator/vector/Double128VectorTests.java ! test/jdk/jdk/incubator/vector/Double256VectorTests.java ! test/jdk/jdk/incubator/vector/Double512VectorTests.java ! test/jdk/jdk/incubator/vector/Double64VectorTests.java ! test/jdk/jdk/incubator/vector/DoubleMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Float128VectorTests.java ! test/jdk/jdk/incubator/vector/Float256VectorTests.java ! test/jdk/jdk/incubator/vector/Float512VectorTests.java ! test/jdk/jdk/incubator/vector/Float64VectorTests.java ! test/jdk/jdk/incubator/vector/FloatMaxVectorTests.java ! test/jdk/jdk/incubator/vector/gen-template.sh ! test/jdk/jdk/incubator/vector/templates/Unit-Reduction-Masked-op.template ! test/jdk/jdk/incubator/vector/templates/Unit-Reduction-op.template ! test/jdk/jdk/incubator/vector/templates/Unit-header.template Changeset: a89b5251 Branch: master Author: Albert Mingkun Yang Date: 2024-08-02 10:51:25 +0000 URL: https://git.openjdk.org/loom/commit/a89b525189fbc0559be9edc0de9f4288ca676139 8337721: G1: Remove unused G1CollectedHeap::young_collection_verify_type Reviewed-by: tschatzl ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp Changeset: 328a0533 Branch: master Author: Coleen Phillimore Date: 2024-08-02 11:47:26 +0000 URL: https://git.openjdk.org/loom/commit/328a0533b2ee6793130dfb68d931e0ebd60c6b5d 8335059: Consider renaming ClassLoaderData::keep_alive Reviewed-by: dholmes, stefank ! src/hotspot/cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/ppc/gc/shared/barrierSetAssembler_ppc.cpp ! src/hotspot/cpu/riscv/gc/shared/barrierSetAssembler_riscv.cpp ! src/hotspot/cpu/x86/gc/shared/barrierSetAssembler_x86.cpp ! src/hotspot/share/classfile/classLoaderData.cpp ! src/hotspot/share/classfile/classLoaderData.hpp ! src/hotspot/share/classfile/classLoaderDataGraph.cpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/moduleEntry.cpp ! src/hotspot/share/prims/jvm.cpp Changeset: 066db6eb Branch: master Author: Alexey Ivanov Date: 2024-08-02 13:06:22 +0000 URL: https://git.openjdk.org/loom/commit/066db6eb21e9c9202857f9f6adfcd537a0b82160 8337274: Remove repeated 'the' in StyleSheet.create{Small,Large}AttributeSet Reviewed-by: achung, honkar, prr ! src/java.desktop/share/classes/javax/swing/text/html/StyleSheet.java Changeset: f2e1205a Branch: master Author: Erik Gahlin Date: 2024-08-02 15:51:26 +0000 URL: https://git.openjdk.org/loom/commit/f2e1205abf915c7f036c58292c6f4d8602cb0e64 8337676: JFR: Change the label of the throttle setting Reviewed-by: mgronlun ! src/jdk.jfr/share/classes/jdk/jfr/internal/settings/ThrottleSetting.java Changeset: 7deee745 Branch: master Author: Jonathan Gibbons Date: 2024-08-02 17:53:23 +0000 URL: https://git.openjdk.org/loom/commit/7deee745254e5f32b75a09d84ac5078a122c8b8d 8335122: Reorganize internal low-level support for HTML in jdk.javadoc Reviewed-by: hannesw ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractExecutableMemberWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractMemberWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractOverviewIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractTreeWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AllClassesIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AllPackagesIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AnnotationTypeMemberWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassUseWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ConstantsSummaryWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ConstructorWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Contents.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DeprecatedListWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DocFilesHandler.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/EnumConstantWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ExternalSpecsWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/FieldWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Headings.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HelpWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlIds.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlIndexBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlLinkFactory.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlLinkInfo.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/IndexRedirectWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/IndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/MarkerComments.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/MethodWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ModuleIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ModuleWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Navigation.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/NestedClassWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/NewAPIListWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageTreeWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageUseWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PreviewListWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PropertyWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/RestrictedListWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SearchWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SerialFieldWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SerialMethodWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SerializedFormWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Signatures.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SourceToHTMLConverter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SubWriterHolderWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SummaryListWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SystemPropertiesWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Table.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TableHeader.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TableOfContents.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TreeWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/BodyContents.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Head.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlAttr.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlDocument.java = src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlStyles.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Links.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/TagName.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/package-info.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/taglets/BaseTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/taglets/DeprecatedTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/taglets/DocRootTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/taglets/IndexTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/taglets/InheritDocTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/taglets/LinkTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/taglets/LiteralTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/taglets/ParamTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/taglets/ReturnTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/taglets/SeeTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/taglets/SimpleTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/taglets/SnippetTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/taglets/SpecTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/taglets/SummaryTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/taglets/SystemPropertyTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/taglets/Taglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/taglets/TagletWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/taglets/ThrowsTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/taglets/UserTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/taglets/ValueTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/Checker.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/HtmlTag.java = src/jdk.javadoc/share/classes/jdk/javadoc/internal/html/Comment.java = src/jdk.javadoc/share/classes/jdk/javadoc/internal/html/Content.java = src/jdk.javadoc/share/classes/jdk/javadoc/internal/html/ContentBuilder.java = src/jdk.javadoc/share/classes/jdk/javadoc/internal/html/DocType.java = src/jdk.javadoc/share/classes/jdk/javadoc/internal/html/Entity.java + src/jdk.javadoc/share/classes/jdk/javadoc/internal/html/HtmlAttr.java = src/jdk.javadoc/share/classes/jdk/javadoc/internal/html/HtmlId.java + src/jdk.javadoc/share/classes/jdk/javadoc/internal/html/HtmlStyle.java + src/jdk.javadoc/share/classes/jdk/javadoc/internal/html/HtmlTag.java = src/jdk.javadoc/share/classes/jdk/javadoc/internal/html/HtmlTree.java = src/jdk.javadoc/share/classes/jdk/javadoc/internal/html/ListBuilder.java = src/jdk.javadoc/share/classes/jdk/javadoc/internal/html/RawHtml.java = src/jdk.javadoc/share/classes/jdk/javadoc/internal/html/Script.java = src/jdk.javadoc/share/classes/jdk/javadoc/internal/html/Text.java = src/jdk.javadoc/share/classes/jdk/javadoc/internal/html/TextBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/package-info.java ! test/langtools/jdk/javadoc/doclet/checkStylesheetClasses/CheckStylesheetClasses.java ! test/langtools/jdk/javadoc/doclet/testHtmlDocument/TestHtmlDocument.java ! test/langtools/jdk/javadoc/doclet/testHtmlTableStyles/TestHtmlTableStyles.java ! test/langtools/jdk/javadoc/doclet/testVoidHtmlElements/TestVoidHtmlElements.java ! test/langtools/tools/doclint/CoverageExtras.java ! test/langtools/tools/doclint/html/HtmlVersionTagsAttrsTest.java ! test/langtools/tools/doclint/html/HtmlVersionTagsAttrsTest.out ! test/langtools/tools/doclint/html/OtherTagsTest.java ! test/langtools/tools/doclint/html/OtherTagsTest.out From ron.pressler at oracle.com Sat Aug 3 23:06:52 2024 From: ron.pressler at oracle.com (Ron Pressler) Date: Sat, 3 Aug 2024 23:06:52 +0000 Subject: [External] : Re: Virtual thread memory leak because TrackingRootContainer keeps threads In-Reply-To: <878FCC74-0298-412C-8A55-A423EFFF90AB@icloud.com> References: <878FCC74-0298-412C-8A55-A423EFFF90AB@icloud.com> Message-ID: <7C6305D4-AD71-4185-BD73-3BF8A0EC1E29@oracle.com> > On 2 Aug 2024, at 15:58, robert engels wrote: > > Sorry to keep this thread going but in reviewing my test results I think this capability is now dangerous, as I related to the Thread.stop(). It is going to be the same issue. > > A lot of native resource backed objects have Java shadows with finalizers / reference queues. If the referenced are released without traveling up the stack the program/system can be in an inconsistent state. > > Take for instance a file system lock file that is removed on finalization. This would be removed allowing other processing to continue even though the locking process never completed nor rolled back. > > Maybe you could argue it is a bad design to do this but I think the pattern with Cleaners, etc is fairly pervasive. > > By releasing the objects program order guarantees are broken - I don?t think it is valid to do this - especially concerning try/finally. > > As I also said you could maybe be very tricky and just release the memory but that isn?t what is happening here. It is collecting the objects which allows side effects through finalization and reference queues. You are absolutely right that finalizers (and reference queues/cleaners in general) are a dangerous feature that should be avoided, but that?s the case regardless of thread collection, and even in the case of thread stacks, remember that references on the stack may be collected even if the thread is reachable, which is why ReachabilityFence exists. It is simply *not* the case, neither in theory nor in practice, that only references that have been popped off the stack are collected. That is *not* a guarantee, and if it's your assumption, then you?re in for some surprises and shouldn?t use finalizers/cleaners. In fact, the general advice is not to use these mechanisms at all. They don?t work as most people might assume they do. Having said all that, collecting a thread whose references are already allowed to be collected is valid. From robaho at icloud.com Sat Aug 3 23:58:39 2024 From: robaho at icloud.com (robert engels) Date: Sat, 3 Aug 2024 18:58:39 -0500 Subject: [External] : Re: Virtual thread memory leak because TrackingRootContainer keeps threads In-Reply-To: <7C6305D4-AD71-4185-BD73-3BF8A0EC1E29@oracle.com> References: <7C6305D4-AD71-4185-BD73-3BF8A0EC1E29@oracle.com> Message-ID: <0DB2BB07-1E36-45CD-9D99-9977633801BF@icloud.com> Can you help me by stating why this is different than the thread stop? Because I think you could implement this by throwing a ThreadDeath - or as I suggested just reclaiming the memory. It feels like you are avoiding this issue for some reason. > On Aug 3, 2024, at 6:08?PM, Ron Pressler wrote: > > ? > >> On 2 Aug 2024, at 15:58, robert engels wrote: >> >> Sorry to keep this thread going but in reviewing my test results I think this capability is now dangerous, as I related to the Thread.stop(). It is going to be the same issue. >> >> A lot of native resource backed objects have Java shadows with finalizers / reference queues. If the referenced are released without traveling up the stack the program/system can be in an inconsistent state. >> >> Take for instance a file system lock file that is removed on finalization. This would be removed allowing other processing to continue even though the locking process never completed nor rolled back. >> >> Maybe you could argue it is a bad design to do this but I think the pattern with Cleaners, etc is fairly pervasive. >> >> By releasing the objects program order guarantees are broken - I don?t think it is valid to do this - especially concerning try/finally. >> >> As I also said you could maybe be very tricky and just release the memory but that isn?t what is happening here. It is collecting the objects which allows side effects through finalization and reference queues. > > > You are absolutely right that finalizers (and reference queues/cleaners in general) are a dangerous feature that should be avoided, but that?s the case regardless of thread collection, and even in the case of thread stacks, remember that references on the stack may be collected even if the thread is reachable, which is why ReachabilityFence exists. It is simply *not* the case, neither in theory nor in practice, that only references that have been popped off the stack are collected. That is *not* a guarantee, and if it's your assumption, then you?re in for some surprises and shouldn?t use finalizers/cleaners. In fact, the general advice is not to use these mechanisms at all. They don?t work as most people might assume they do. > > Having said all that, collecting a thread whose references are already allowed to be collected is valid. From robaho at icloud.com Sun Aug 4 11:04:38 2024 From: robaho at icloud.com (robert engels) Date: Sun, 4 Aug 2024 06:04:38 -0500 Subject: [External] : Re: Virtual thread memory leak because TrackingRootContainer keeps threads In-Reply-To: <0DB2BB07-1E36-45CD-9D99-9977633801BF@icloud.com> References: <0DB2BB07-1E36-45CD-9D99-9977633801BF@icloud.com> Message-ID: <7465A72E-731F-4A21-8973-8A8F6BBCEAB6@icloud.com> Avoiding was not the right word. Apologies. I only mean that I would like to understand the difference. I know it is at a know point vs arbitrary, but stop()could have been changed to only be at a safe point. Stop has an issue with possibly being in native code as well - but the deprecation justification doesn?t state any of this - only the stack unwinding which is the same issue that this capability in virtual thread has. > On Aug 3, 2024, at 7:00?PM, robert engels wrote: > > ?Can you help me by stating why this is different than the thread stop? > > Because I think you could implement this by throwing a ThreadDeath - or as I suggested just reclaiming the memory. It feels like you are avoiding this issue for some reason. > >> On Aug 3, 2024, at 6:08?PM, Ron Pressler wrote: >> >> ? >> >>>> On 2 Aug 2024, at 15:58, robert engels wrote: >>> >>> Sorry to keep this thread going but in reviewing my test results I think this capability is now dangerous, as I related to the Thread.stop(). It is going to be the same issue. >>> >>> A lot of native resource backed objects have Java shadows with finalizers / reference queues. If the referenced are released without traveling up the stack the program/system can be in an inconsistent state. >>> >>> Take for instance a file system lock file that is removed on finalization. This would be removed allowing other processing to continue even though the locking process never completed nor rolled back. >>> >>> Maybe you could argue it is a bad design to do this but I think the pattern with Cleaners, etc is fairly pervasive. >>> >>> By releasing the objects program order guarantees are broken - I don?t think it is valid to do this - especially concerning try/finally. >>> >>> As I also said you could maybe be very tricky and just release the memory but that isn?t what is happening here. It is collecting the objects which allows side effects through finalization and reference queues. >> >> >> You are absolutely right that finalizers (and reference queues/cleaners in general) are a dangerous feature that should be avoided, but that?s the case regardless of thread collection, and even in the case of thread stacks, remember that references on the stack may be collected even if the thread is reachable, which is why ReachabilityFence exists. It is simply *not* the case, neither in theory nor in practice, that only references that have been popped off the stack are collected. That is *not* a guarantee, and if it's your assumption, then you?re in for some surprises and shouldn?t use finalizers/cleaners. In fact, the general advice is not to use these mechanisms at all. They don?t work as most people might assume they do. >> >> Having said all that, collecting a thread whose references are already allowed to be collected is valid. From oleksandr.otenko at gmail.com Sun Aug 4 11:13:41 2024 From: oleksandr.otenko at gmail.com (Alex Otenko) Date: Sun, 4 Aug 2024 12:13:41 +0100 Subject: [External] : Re: Virtual thread memory leak because TrackingRootContainer keeps threads In-Reply-To: <7465A72E-731F-4A21-8973-8A8F6BBCEAB6@icloud.com> References: <0DB2BB07-1E36-45CD-9D99-9977633801BF@icloud.com> <7465A72E-731F-4A21-8973-8A8F6BBCEAB6@icloud.com> Message-ID: I think the anguish may be coming from the GC / GC roots / finalizer behaviour being undefined. We'd all prefer things to be deterministic, but this one thing isn't. So the solution is to not try and make a certain flavour of behaviour guaranteed, but to revisit our assumptions about the expected code behaviours. That some of our proofs of correctness may be based on implementation detail and not on real guarantees. On Sun, 4 Aug 2024, 12:05 robert engels, wrote: > Avoiding was not the right word. Apologies. I only mean that I would like > to understand the difference. I know it is at a know point vs arbitrary, > but stop()could have been changed to only be at a safe point. Stop has an > issue with possibly being in native code as well - but the deprecation > justification doesn?t state any of this - only the stack unwinding which is > the same issue that this capability in virtual thread has. > > > On Aug 3, 2024, at 7:00?PM, robert engels wrote: > > > > ?Can you help me by stating why this is different than the thread stop? > > > > Because I think you could implement this by throwing a ThreadDeath - or > as I suggested just reclaiming the memory. It feels like you are avoiding > this issue for some reason. > > > >> On Aug 3, 2024, at 6:08?PM, Ron Pressler > wrote: > >> > >> ? > >> > >>>> On 2 Aug 2024, at 15:58, robert engels wrote: > >>> > >>> Sorry to keep this thread going but in reviewing my test results I > think this capability is now dangerous, as I related to the Thread.stop(). > It is going to be the same issue. > >>> > >>> A lot of native resource backed objects have Java shadows with > finalizers / reference queues. If the referenced are released without > traveling up the stack the program/system can be in an inconsistent state. > >>> > >>> Take for instance a file system lock file that is removed on > finalization. This would be removed allowing other processing to continue > even though the locking process never completed nor rolled back. > >>> > >>> Maybe you could argue it is a bad design to do this but I think the > pattern with Cleaners, etc is fairly pervasive. > >>> > >>> By releasing the objects program order guarantees are broken - I don?t > think it is valid to do this - especially concerning try/finally. > >>> > >>> As I also said you could maybe be very tricky and just release the > memory but that isn?t what is happening here. It is collecting the objects > which allows side effects through finalization and reference queues. > >> > >> > >> You are absolutely right that finalizers (and reference queues/cleaners > in general) are a dangerous feature that should be avoided, but that?s the > case regardless of thread collection, and even in the case of thread > stacks, remember that references on the stack may be collected even if the > thread is reachable, which is why ReachabilityFence exists. It is simply > *not* the case, neither in theory nor in practice, that only references > that have been popped off the stack are collected. That is *not* a > guarantee, and if it's your assumption, then you?re in for some surprises > and shouldn?t use finalizers/cleaners. In fact, the general advice is not > to use these mechanisms at all. They don?t work as most people might assume > they do. > >> > >> Having said all that, collecting a thread whose references are already > allowed to be collected is valid. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From robaho at icloud.com Sun Aug 4 11:50:18 2024 From: robaho at icloud.com (robert engels) Date: Sun, 4 Aug 2024 06:50:18 -0500 Subject: [External] : Re: Virtual thread memory leak because TrackingRootContainer keeps threads In-Reply-To: References: Message-ID: An HTML attachment was scrubbed... URL: From oleksandr.otenko at gmail.com Sun Aug 4 12:16:07 2024 From: oleksandr.otenko at gmail.com (Alex Otenko) Date: Sun, 4 Aug 2024 13:16:07 +0100 Subject: [External] : Re: Virtual thread memory leak because TrackingRootContainer keeps threads In-Reply-To: References: Message-ID: > implementation You said it :) OK https://docs.oracle.com/javase/specs/jls/se7/html/jls-17.html#jls-17.4.9 - non-termination https://docs.oracle.com/javase/specs/jls/se7/html/jls-12.html#jls-12.6.2 - finalization It all checks out, I think. On Sun, 4 Aug 2024, 12:50 robert engels, wrote: > I can understand that reasoning but the problem is that it doesn?t align > with current openjdk implementation. The observed behavior is the exact > reason stop was deprecated with the exact same vulnerabilities. > > On Aug 4, 2024, at 6:14?AM, Alex Otenko > wrote: > > ? > > I think the anguish may be coming from the GC / GC roots / finalizer > behaviour being undefined. We'd all prefer things to be deterministic, but > this one thing isn't. > > So the solution is to not try and make a certain flavour of behaviour > guaranteed, but to revisit our assumptions about the expected code > behaviours. That some of our proofs of correctness may be based on > implementation detail and not on real guarantees. > > On Sun, 4 Aug 2024, 12:05 robert engels, wrote: > >> Avoiding was not the right word. Apologies. I only mean that I would like >> to understand the difference. I know it is at a know point vs arbitrary, >> but stop()could have been changed to only be at a safe point. Stop has an >> issue with possibly being in native code as well - but the deprecation >> justification doesn?t state any of this - only the stack unwinding which is >> the same issue that this capability in virtual thread has. >> >> > On Aug 3, 2024, at 7:00?PM, robert engels wrote: >> > >> > ?Can you help me by stating why this is different than the thread stop? >> > >> > Because I think you could implement this by throwing a ThreadDeath - or >> as I suggested just reclaiming the memory. It feels like you are avoiding >> this issue for some reason. >> > >> >> On Aug 3, 2024, at 6:08?PM, Ron Pressler >> wrote: >> >> >> >> ? >> >> >> >>>> On 2 Aug 2024, at 15:58, robert engels wrote: >> >>> >> >>> Sorry to keep this thread going but in reviewing my test results I >> think this capability is now dangerous, as I related to the Thread.stop(). >> It is going to be the same issue. >> >>> >> >>> A lot of native resource backed objects have Java shadows with >> finalizers / reference queues. If the referenced are released without >> traveling up the stack the program/system can be in an inconsistent state. >> >>> >> >>> Take for instance a file system lock file that is removed on >> finalization. This would be removed allowing other processing to continue >> even though the locking process never completed nor rolled back. >> >>> >> >>> Maybe you could argue it is a bad design to do this but I think the >> pattern with Cleaners, etc is fairly pervasive. >> >>> >> >>> By releasing the objects program order guarantees are broken - I >> don?t think it is valid to do this - especially concerning try/finally. >> >>> >> >>> As I also said you could maybe be very tricky and just release the >> memory but that isn?t what is happening here. It is collecting the objects >> which allows side effects through finalization and reference queues. >> >> >> >> >> >> You are absolutely right that finalizers (and reference >> queues/cleaners in general) are a dangerous feature that should be avoided, >> but that?s the case regardless of thread collection, and even in the case >> of thread stacks, remember that references on the stack may be collected >> even if the thread is reachable, which is why ReachabilityFence exists. It >> is simply *not* the case, neither in theory nor in practice, that only >> references that have been popped off the stack are collected. That is *not* >> a guarantee, and if it's your assumption, then you?re in for some surprises >> and shouldn?t use finalizers/cleaners. In fact, the general advice is not >> to use these mechanisms at all. They don?t work as most people might assume >> they do. >> >> >> >> Having said all that, collecting a thread whose references are already >> allowed to be collected is valid. >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From robaho at icloud.com Sun Aug 4 16:07:53 2024 From: robaho at icloud.com (robert engels) Date: Sun, 4 Aug 2024 11:07:53 -0500 Subject: [External] : Re: Virtual thread memory leak because TrackingRootContainer keeps threads In-Reply-To: References: Message-ID: <5AF7C01A-ADE1-4583-AB64-3604A85406F7@icloud.com> An HTML attachment was scrubbed... URL: From rengels at ix.netcom.com Sun Aug 4 16:12:51 2024 From: rengels at ix.netcom.com (Robert Engels) Date: Sun, 4 Aug 2024 11:12:51 -0500 Subject: [External] : Re: Virtual thread memory leak because TrackingRootContainer keeps threads In-Reply-To: <5AF7C01A-ADE1-4583-AB64-3604A85406F7@icloud.com> References: <5AF7C01A-ADE1-4583-AB64-3604A85406F7@icloud.com> Message-ID: <21579F1D-6272-4C28-8373-D6EA12337BAF@ix.netcom.com> An HTML attachment was scrubbed... URL: From oleksandr.otenko at gmail.com Sun Aug 4 16:18:42 2024 From: oleksandr.otenko at gmail.com (Alex Otenko) Date: Sun, 4 Aug 2024 17:18:42 +0100 Subject: [External] : Re: Virtual thread memory leak because TrackingRootContainer keeps threads In-Reply-To: <5AF7C01A-ADE1-4583-AB64-3604A85406F7@icloud.com> References: <5AF7C01A-ADE1-4583-AB64-3604A85406F7@icloud.com> Message-ID: I did. The statement that you copied means that no statement from the thread's code can be executed. Finalizer isn't part of that code. The finalizer section says that finalizer can be executed only after we can tell that no more actions to access the object can be performed. See, no notion of garbage, just that no further action can access it. Which is the case in the case of a hang. On Sun, 4 Aug 2024, 17:08 robert engels, wrote: > Did you read what you copied? It proves my point: > > ? In such cases, the actions generated by the blocked thread must consist > of all actions generated by that thread up to and including the action that > caused the thread to be blocked, and no actions that would be generated by > the thread after that action.? > > Given that, the objects that were held can not be observed as being > released - I.e. cannot placed in reference queues. > > So thank you, you provided the definitive answer that this ephemeral vt > handling is not permitted. > > > On Aug 4, 2024, at 7:17?AM, Alex Otenko > wrote: > > ? > > > implementation > > You said it :) > > OK > > https://docs.oracle.com/javase/specs/jls/se7/html/jls-17.html#jls-17.4.9 > - non-termination > > https://docs.oracle.com/javase/specs/jls/se7/html/jls-12.html#jls-12.6.2 > - finalization > > It all checks out, I think. > > On Sun, 4 Aug 2024, 12:50 robert engels, wrote: > >> I can understand that reasoning but the problem is that it doesn?t align >> with current openjdk implementation. The observed behavior is the exact >> reason stop was deprecated with the exact same vulnerabilities. >> >> On Aug 4, 2024, at 6:14?AM, Alex Otenko >> wrote: >> >> ? >> >> I think the anguish may be coming from the GC / GC roots / finalizer >> behaviour being undefined. We'd all prefer things to be deterministic, but >> this one thing isn't. >> >> So the solution is to not try and make a certain flavour of behaviour >> guaranteed, but to revisit our assumptions about the expected code >> behaviours. That some of our proofs of correctness may be based on >> implementation detail and not on real guarantees. >> >> On Sun, 4 Aug 2024, 12:05 robert engels, wrote: >> >>> Avoiding was not the right word. Apologies. I only mean that I would >>> like to understand the difference. I know it is at a know point vs >>> arbitrary, but stop()could have been changed to only be at a safe point. >>> Stop has an issue with possibly being in native code as well - but the >>> deprecation justification doesn?t state any of this - only the stack >>> unwinding which is the same issue that this capability in virtual thread >>> has. >>> >>> > On Aug 3, 2024, at 7:00?PM, robert engels wrote: >>> > >>> > ?Can you help me by stating why this is different than the thread stop? >>> > >>> > Because I think you could implement this by throwing a ThreadDeath - >>> or as I suggested just reclaiming the memory. It feels like you are >>> avoiding this issue for some reason. >>> > >>> >> On Aug 3, 2024, at 6:08?PM, Ron Pressler >>> wrote: >>> >> >>> >> ? >>> >> >>> >>>> On 2 Aug 2024, at 15:58, robert engels wrote: >>> >>> >>> >>> Sorry to keep this thread going but in reviewing my test results I >>> think this capability is now dangerous, as I related to the Thread.stop(). >>> It is going to be the same issue. >>> >>> >>> >>> A lot of native resource backed objects have Java shadows with >>> finalizers / reference queues. If the referenced are released without >>> traveling up the stack the program/system can be in an inconsistent state. >>> >>> >>> >>> Take for instance a file system lock file that is removed on >>> finalization. This would be removed allowing other processing to continue >>> even though the locking process never completed nor rolled back. >>> >>> >>> >>> Maybe you could argue it is a bad design to do this but I think the >>> pattern with Cleaners, etc is fairly pervasive. >>> >>> >>> >>> By releasing the objects program order guarantees are broken - I >>> don?t think it is valid to do this - especially concerning try/finally. >>> >>> >>> >>> As I also said you could maybe be very tricky and just release the >>> memory but that isn?t what is happening here. It is collecting the objects >>> which allows side effects through finalization and reference queues. >>> >> >>> >> >>> >> You are absolutely right that finalizers (and reference >>> queues/cleaners in general) are a dangerous feature that should be avoided, >>> but that?s the case regardless of thread collection, and even in the case >>> of thread stacks, remember that references on the stack may be collected >>> even if the thread is reachable, which is why ReachabilityFence exists. It >>> is simply *not* the case, neither in theory nor in practice, that only >>> references that have been popped off the stack are collected. That is *not* >>> a guarantee, and if it's your assumption, then you?re in for some surprises >>> and shouldn?t use finalizers/cleaners. In fact, the general advice is not >>> to use these mechanisms at all. They don?t work as most people might assume >>> they do. >>> >> >>> >> Having said all that, collecting a thread whose references are >>> already allowed to be collected is valid. >>> >> -------------- next part -------------- An HTML attachment was scrubbed... URL: From robaho at icloud.com Sun Aug 4 16:32:12 2024 From: robaho at icloud.com (robert engels) Date: Sun, 4 Aug 2024 11:32:12 -0500 Subject: [External] : Re: Virtual thread memory leak because TrackingRootContainer keeps threads In-Reply-To: References: Message-ID: <50AB951F-976C-4B2B-AD27-EC0AB24D40C2@icloud.com> An HTML attachment was scrubbed... URL: From robaho at icloud.com Sun Aug 4 16:35:43 2024 From: robaho at icloud.com (robert engels) Date: Sun, 4 Aug 2024 11:35:43 -0500 Subject: [External] : Re: Virtual thread memory leak because TrackingRootContainer keeps threads In-Reply-To: <50AB951F-976C-4B2B-AD27-EC0AB24D40C2@icloud.com> References: <50AB951F-976C-4B2B-AD27-EC0AB24D40C2@icloud.com> Message-ID: An HTML attachment was scrubbed... URL: From robaho at icloud.com Sun Aug 4 17:15:45 2024 From: robaho at icloud.com (robert engels) Date: Sun, 4 Aug 2024 12:15:45 -0500 Subject: [External] : Re: Virtual thread memory leak because TrackingRootContainer keeps threads In-Reply-To: References: Message-ID: <00F45AFE-B918-4776-8F91-42AB5D465BEF@icloud.com> An HTML attachment was scrubbed... URL: From oleksandr.otenko at gmail.com Sun Aug 4 19:37:25 2024 From: oleksandr.otenko at gmail.com (Alex Otenko) Date: Sun, 4 Aug 2024 20:37:25 +0100 Subject: [External] : Re: Virtual thread memory leak because TrackingRootContainer keeps threads In-Reply-To: <00F45AFE-B918-4776-8F91-42AB5D465BEF@icloud.com> References: <00F45AFE-B918-4776-8F91-42AB5D465BEF@icloud.com> Message-ID: I guess that's the learning we can take from this. That when you encounter non-termination, the program may behave in ways that you may find odd, even though the language specification allows it. On Sun, 4 Aug 2024, 18:15 robert engels, wrote: > Actually, an even simpler example would be try-with-resources. With this > proposed behavior you could see a resource enqueued as collected without > the close() ever being performed. This is an impossibility according to the > specification. > > On Aug 4, 2024, at 11:36?AM, robert engels wrote: > > ? > Put it another way for a reference to be enqueued it would require that > the thread executed the finally block - which is not happening in this > case. So you are observing an outcome that shouldn?t be possible given the > semantics of try/finally and reachability. > > On Aug 4, 2024, at 11:33?AM, robert engels wrote: > > ? > I?m sorry that is not correct. There is still a reference to the object. > The statements after the blocked statement clear the reference. There is > nothing in the spec that states an infinitely blocked thread means all of > the threads references are no longer valid and can be considered cleared. > > This is the exact reason Thread.stop() was deprecated as I shared. > > You simply can?t do this and create auditable systems - you are messing > with program order and reachability guarantees. > > On Aug 4, 2024, at 11:19?AM, Alex Otenko > wrote: > > ? > I did. The statement that you copied means that no statement from the > thread's code can be executed. Finalizer isn't part of that code. > > The finalizer section says that finalizer can be executed only after we > can tell that no more actions to access the object can be performed. See, > no notion of garbage, just that no further action can access it. Which is > the case in the case of a hang. > > On Sun, 4 Aug 2024, 17:08 robert engels, wrote: > >> Did you read what you copied? It proves my point: >> >> ? In such cases, the actions generated by the blocked thread must >> consist of all actions generated by that thread up to and including the >> action that caused the thread to be blocked, and no actions that would be >> generated by the thread after that action.? >> >> Given that, the objects that were held can not be observed as being >> released - I.e. cannot placed in reference queues. >> >> So thank you, you provided the definitive answer that this ephemeral vt >> handling is not permitted. >> >> >> On Aug 4, 2024, at 7:17?AM, Alex Otenko >> wrote: >> >> ? >> >> > implementation >> >> You said it :) >> >> OK >> >> https://docs.oracle.com/javase/specs/jls/se7/html/jls-17.html#jls-17.4.9 >> - non-termination >> >> https://docs.oracle.com/javase/specs/jls/se7/html/jls-12.html#jls-12.6.2 >> - finalization >> >> It all checks out, I think. >> >> On Sun, 4 Aug 2024, 12:50 robert engels, wrote: >> >>> I can understand that reasoning but the problem is that it doesn?t align >>> with current openjdk implementation. The observed behavior is the exact >>> reason stop was deprecated with the exact same vulnerabilities. >>> >>> On Aug 4, 2024, at 6:14?AM, Alex Otenko >>> wrote: >>> >>> ? >>> >>> I think the anguish may be coming from the GC / GC roots / finalizer >>> behaviour being undefined. We'd all prefer things to be deterministic, but >>> this one thing isn't. >>> >>> So the solution is to not try and make a certain flavour of behaviour >>> guaranteed, but to revisit our assumptions about the expected code >>> behaviours. That some of our proofs of correctness may be based on >>> implementation detail and not on real guarantees. >>> >>> On Sun, 4 Aug 2024, 12:05 robert engels, wrote: >>> >>>> Avoiding was not the right word. Apologies. I only mean that I would >>>> like to understand the difference. I know it is at a know point vs >>>> arbitrary, but stop()could have been changed to only be at a safe point. >>>> Stop has an issue with possibly being in native code as well - but the >>>> deprecation justification doesn?t state any of this - only the stack >>>> unwinding which is the same issue that this capability in virtual thread >>>> has. >>>> >>>> > On Aug 3, 2024, at 7:00?PM, robert engels wrote: >>>> > >>>> > ?Can you help me by stating why this is different than the thread >>>> stop? >>>> > >>>> > Because I think you could implement this by throwing a ThreadDeath - >>>> or as I suggested just reclaiming the memory. It feels like you are >>>> avoiding this issue for some reason. >>>> > >>>> >> On Aug 3, 2024, at 6:08?PM, Ron Pressler >>>> wrote: >>>> >> >>>> >> ? >>>> >> >>>> >>>> On 2 Aug 2024, at 15:58, robert engels wrote: >>>> >>> >>>> >>> Sorry to keep this thread going but in reviewing my test results I >>>> think this capability is now dangerous, as I related to the Thread.stop(). >>>> It is going to be the same issue. >>>> >>> >>>> >>> A lot of native resource backed objects have Java shadows with >>>> finalizers / reference queues. If the referenced are released without >>>> traveling up the stack the program/system can be in an inconsistent state. >>>> >>> >>>> >>> Take for instance a file system lock file that is removed on >>>> finalization. This would be removed allowing other processing to continue >>>> even though the locking process never completed nor rolled back. >>>> >>> >>>> >>> Maybe you could argue it is a bad design to do this but I think the >>>> pattern with Cleaners, etc is fairly pervasive. >>>> >>> >>>> >>> By releasing the objects program order guarantees are broken - I >>>> don?t think it is valid to do this - especially concerning try/finally. >>>> >>> >>>> >>> As I also said you could maybe be very tricky and just release the >>>> memory but that isn?t what is happening here. It is collecting the objects >>>> which allows side effects through finalization and reference queues. >>>> >> >>>> >> >>>> >> You are absolutely right that finalizers (and reference >>>> queues/cleaners in general) are a dangerous feature that should be avoided, >>>> but that?s the case regardless of thread collection, and even in the case >>>> of thread stacks, remember that references on the stack may be collected >>>> even if the thread is reachable, which is why ReachabilityFence exists. It >>>> is simply *not* the case, neither in theory nor in practice, that only >>>> references that have been popped off the stack are collected. That is *not* >>>> a guarantee, and if it's your assumption, then you?re in for some surprises >>>> and shouldn?t use finalizers/cleaners. In fact, the general advice is not >>>> to use these mechanisms at all. They don?t work as most people might assume >>>> they do. >>>> >> >>>> >> Having said all that, collecting a thread whose references are >>>> already allowed to be collected is valid. >>>> >>> -------------- next part -------------- An HTML attachment was scrubbed... URL: From robaho at icloud.com Sun Aug 4 20:14:19 2024 From: robaho at icloud.com (robert engels) Date: Sun, 4 Aug 2024 15:14:19 -0500 Subject: [External] : Re: Virtual thread memory leak because TrackingRootContainer keeps threads In-Reply-To: References: Message-ID: <991727C7-B468-475A-A900-25E5390C5F3E@icloud.com> An HTML attachment was scrubbed... URL: From ron.pressler at oracle.com Mon Aug 5 03:42:58 2024 From: ron.pressler at oracle.com (Ron Pressler) Date: Mon, 5 Aug 2024 03:42:58 +0000 Subject: [External] : Re: Virtual thread memory leak because TrackingRootContainer keeps threads In-Reply-To: <5AF7C01A-ADE1-4583-AB64-3604A85406F7@icloud.com> References: <5AF7C01A-ADE1-4583-AB64-3604A85406F7@icloud.com> Message-ID: <07D86673-2285-415A-BF42-9DB5AC534E53@oracle.com> > On 4 Aug 2024, at 09:07, robert engels wrote: > > > So thank you, you provided the definitive answer that this ephemeral vt handling is not permitted. > Not only is it very much permitted, but collecting the thread makes no difference. The GC can and does collect objects that are guaranteed not to be accessed again, even on platform threads, and the GC collecting objects is not considered an ?action generated by the thread? because it isn't. In other words, if a thread is blocked forever, all references on the stack are allowed to be collected, regardless of whether the thread itself is collected (BTW, even if it weren?t allowed by the spec, we can change the spec, although in this case it?s not needed). I suggest you read the Javadoc for Reference.reachabilityFence, not so much because it makes things clear (it doesn?t at all), but because it highlights how subtle the behaviour is. These subtleties around reference queues are the least of their problems. Their biggest problem is that they simply don?t do what people think they?re supposed to do. People think that reference queues are sort of an event the VM triggers when an object becomes unreachable (or shortly thereafter), but that is mostly a side effect of how the old GCs work, which made reference queues an approximation of that expectation. In actuality, the VM has no idea when an object becomes unreachable, and a reference is only enqueued if, by chance, the GC happens to decide to compact a certain region, at which point it will notice which objects in that region happen to be unreachable. With new GCs, the GC may never enqueue a reference for an object that?s become unreachable, or it may enqueue it hours after the fact. In short, collecting stuck threads is consistent with the current spec and doing that is OK, Cleaners and reference queues are not okay in general, but if you must use them and accept that they don?t actually do what many think they do, you also need to be aware of various subtleties that necessitate reachability fences ? and, as you?ll see, even reachabilityFence is tricky. Essentially, *if* the fence can be executed, then the reference won?t be dropped until after it?s executed. In other words, a rechabilityFence for a certain reference cannot be executed after the reference has been enqueued, but if the fence is never executed at all, well, then it says nothing about whether or not the reference can be enqueued. There?s a subtle but important difference between "X will not happen after Y" and ?X must happen before Y?. Since you seem to be concerned about different behaviour depending on implementation details, you should consider reference queues to be fundamentally useless even without their subtleties, and they?re becoming increasingly useless even in practice with new GCs and expected future GCs. In any event, I think this conversation has run its course. The discussion of how useful reference queues are if at all, when if ever they can and should be used, and how unintuitive their behaviour can be given that even in the best conditions reference queues should be avoided, is an interesting one, but this is neither the time nor the place. ? Ron From duke at openjdk.org Sat Aug 10 18:01:47 2024 From: duke at openjdk.org (duke) Date: Sat, 10 Aug 2024 18:01:47 GMT Subject: git: openjdk/loom: fibers: 80 new changesets Message-ID: <95d9f825-995b-4b79-9da7-eee0700a9cda@openjdk.org> Changeset: 34edc735 Branch: fibers Author: Vladimir Kozlov Date: 2024-08-03 06:21:28 +0000 URL: https://git.openjdk.org/loom/commit/34edc7358f733cdf433d0ff50921bcb5a94c5e35 8337396: Cleanup usage of ExternalAddess Co-authored-by: Fei Yang Reviewed-by: vlivanov, adinn ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp ! src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp ! src/hotspot/cpu/riscv/macroAssembler_riscv.cpp ! src/hotspot/cpu/riscv/stubGenerator_riscv.cpp ! src/hotspot/cpu/riscv/templateInterpreterGenerator_riscv.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp ! src/hotspot/cpu/x86/templateInterpreterGenerator_x86.cpp ! src/hotspot/cpu/x86/templateTable_x86.cpp ! src/hotspot/share/code/oopRecorder.cpp Changeset: 367e0a65 Branch: fibers Author: fabioromano1 <51378941+fabioromano1 at users.noreply.github.com> Committer: Raffaello Giulietti Date: 2024-08-03 13:08:54 +0000 URL: https://git.openjdk.org/loom/commit/367e0a65561f95aad61b40930d5f46843fee3444 8334755: Asymptotically faster implementation of square root algorithm Reviewed-by: rgiulietti ! src/java.base/share/classes/java/math/BigInteger.java ! src/java.base/share/classes/java/math/MutableBigInteger.java ! test/jdk/java/math/BigInteger/BigIntegerTest.java + test/micro/org/openjdk/bench/java/math/BigIntegerSquareRoot.java Changeset: 8bd3cd51 Branch: fibers Author: Brian Burkhalter Date: 2024-08-04 15:42:51 +0000 URL: https://git.openjdk.org/loom/commit/8bd3cd51562ff9e76fa0e3d49d38e6e19210f878 8337716: ByteBuffer hashCode implementations are inconsistent Reviewed-by: alanb, liach ! src/java.base/share/classes/java/nio/Heap-X-Buffer.java.template ! test/jdk/java/nio/Buffer/EqualsCompareTest.java ! test/micro/org/openjdk/bench/java/nio/ByteBuffers.java Changeset: dabdae6b Branch: fibers Author: Julian Waters Date: 2024-08-05 05:13:08 +0000 URL: https://git.openjdk.org/loom/commit/dabdae6b355b3e7a2795f6b01ba475652d483288 8334599: Improve code from JDK-8302671 Reviewed-by: aivanov, stuefe, prr ! src/java.desktop/windows/native/libawt/windows/awt_Component.cpp Changeset: fbe8a81d Branch: fibers Author: Matthias Baesken Date: 2024-08-05 05:57:41 +0000 URL: https://git.openjdk.org/loom/commit/fbe8a81d1900d0de1920ad1df6ad574f3da4bd51 8333144: docker tests do not work when ubsan is configured Reviewed-by: clanger, stuefe ! test/lib/jdk/test/lib/containers/docker/DockerTestUtils.java Changeset: be34730f Branch: fibers Author: Christian Hagedorn Date: 2024-08-05 09:52:07 +0000 URL: https://git.openjdk.org/loom/commit/be34730fb4e6818ac13c46b34b735c967351e5cd 8335257: Refactor code to create Initialized Assertion Predicates into separate class Reviewed-by: kvn, epeter ! src/hotspot/share/opto/cfgnode.hpp ! src/hotspot/share/opto/ifnode.cpp ! src/hotspot/share/opto/loopPredicate.cpp ! src/hotspot/share/opto/loopTransform.cpp ! src/hotspot/share/opto/loopnode.hpp ! src/hotspot/share/opto/predicates.cpp ! src/hotspot/share/opto/predicates.hpp ! src/hotspot/share/opto/split_if.cpp Changeset: d3e7b0c1 Branch: fibers Author: Viktor Klang Date: 2024-08-05 10:56:21 +0000 URL: https://git.openjdk.org/loom/commit/d3e7b0c12afde03985f1b06e6e7d789928971090 8336462: ConcurrentSkipListSet Javadoc incorrectly warns about size method complexity Reviewed-by: jpai ! src/java.base/share/classes/java/util/concurrent/ConcurrentSkipListSet.java Changeset: 2e093b06 Branch: fibers Author: Erik Gahlin Date: 2024-08-05 13:17:32 +0000 URL: https://git.openjdk.org/loom/commit/2e093b06916b72b4feae5635aa8c5aa90679172b 8337779: test/jdk/jdk/jfr/jvm/TestHiddenWait.java is a bit fragile Reviewed-by: mgronlun ! test/jdk/jdk/jfr/jvm/TestHiddenWait.java Changeset: 7e925d72 Branch: fibers Author: Aleksey Shipilev Date: 2024-08-05 14:05:00 +0000 URL: https://git.openjdk.org/loom/commit/7e925d727f716e5c366b0d85b9c0de24efe43103 8337283: configure.log is truncated when build dir is on different filesystem Reviewed-by: phh, stuefe, clanger, ihse ! make/autoconf/configure.ac Changeset: c095c0e6 Branch: fibers Author: Carlo Refice Date: 2024-08-05 14:09:54 +0000 URL: https://git.openjdk.org/loom/commit/c095c0e6a58b1665d51ff19381e32f168e99e8f5 8336489: Track scoped accesses in JVMCI compiled code Reviewed-by: dnsimon, never ! src/hotspot/share/jvmci/jvmciCodeInstaller.cpp ! src/hotspot/share/jvmci/jvmciRuntime.cpp ! src/hotspot/share/jvmci/jvmciRuntime.hpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotCompiledCodeStream.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotCompiledNmethod.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/HotSpotVMConfig.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/ResolvedJavaMethod.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestResolvedJavaMethod.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TypeUniverse.java Changeset: 97afbd96 Branch: fibers Author: Johan Sj?len Date: 2024-08-05 14:49:38 +0000 URL: https://git.openjdk.org/loom/commit/97afbd9603ba8ec1956c4cedf542667d33988661 8336410: runtime/NMT/TotalMallocMmapDiffTest.java Total malloc diff is incorrect. Expected malloc diff range Reviewed-by: gziemski, stuefe ! test/hotspot/jtreg/runtime/NMT/TotalMallocMmapDiffTest.java Changeset: 219e1eb1 Branch: fibers Author: Per Minborg Date: 2024-08-05 15:06:38 +0000 URL: https://git.openjdk.org/loom/commit/219e1eb13a688532705e603e276799c0157f5f28 8337712: Wrong javadoc in java.util.Date#toString(): "61" and right parenthesis Reviewed-by: rgiulietti ! src/java.base/share/classes/java/util/Date.java Changeset: 98562166 Branch: fibers Author: Zdenek Zambersky Committer: Magnus Ihse Bursie Date: 2024-08-05 15:09:45 +0000 URL: https://git.openjdk.org/loom/commit/98562166e4a4c8921709014423c6cbc993aa0d97 8336928: GHA: Bundle artifacts removal broken Reviewed-by: ihse ! .github/workflows/main.yml Changeset: e68df528 Branch: fibers Author: Damon Nguyen Date: 2024-08-05 16:48:18 +0000 URL: https://git.openjdk.org/loom/commit/e68df528f80cff3a5564a12b7ec71a920800ce28 8337054: JDK 23 RDP2 L10n resource files update Reviewed-by: naoto, jlu ! 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/launcher_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 Changeset: 807186ff Branch: fibers Author: Kim Barrett Date: 2024-08-05 16:53:30 +0000 URL: https://git.openjdk.org/loom/commit/807186ffc6a0a9f2515a66329c2a98a43385463c 8337784: Fix simple -Wzero-as-null-pointer-constant warnings in linux/posix code Reviewed-by: stefank, shade ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/os/posix/perfMemory_posix.cpp ! src/hotspot/os/posix/signals_posix.cpp Changeset: 42652b2e Branch: fibers Author: Kim Barrett Date: 2024-08-05 16:57:11 +0000 URL: https://git.openjdk.org/loom/commit/42652b2e5350bcab6fceb0148be8bf3d65a0e173 8337787: Fix -Wzero-as-null-pointer-constant warnings when JVMTI feature is disabled Reviewed-by: ayang, sspitsyn ! src/hotspot/share/prims/jvmtiExport.hpp Changeset: 08f697f4 Branch: fibers Author: Christoph Langer Date: 2024-08-05 17:58:12 +0000 URL: https://git.openjdk.org/loom/commit/08f697f4fcbcdd912c3aa5f331fbf8212906465f 8337819: Update GHA JDKs to 22.0.2 Reviewed-by: mbaesken, ihse, shade ! make/conf/github-actions.conf Changeset: e2c07d50 Branch: fibers Author: Chris Plummer Date: 2024-08-05 18:42:27 +0000 URL: https://git.openjdk.org/loom/commit/e2c07d5044587476fc0fff14260e2b73816d2062 8337299: vmTestbase/nsk/jdb/stop_at/stop_at002/stop_at002.java failure goes undetected Reviewed-by: amenkov, sspitsyn ! test/hotspot/jtreg/vmTestbase/nsk/jdb/stop_at/stop_at002/stop_at002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/stop_at/stop_at002/stop_at002a.java Changeset: 431d4f7e Branch: fibers Author: Kim Barrett Date: 2024-08-05 19:53:49 +0000 URL: https://git.openjdk.org/loom/commit/431d4f7e18369466eedd00926a5162a1461d0b25 8337785: Fix simple -Wzero-as-null-pointer-constant warnings in x86 code Reviewed-by: jwaters, ayang, shade ! src/hotspot/cpu/x86/frame_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86_sha.cpp ! src/hotspot/cpu/x86/methodHandles_x86.cpp ! src/hotspot/cpu/x86/vm_version_x86.cpp ! src/hotspot/os_cpu/linux_x86/os_linux_x86.cpp Changeset: 7146daee Branch: fibers Author: Kim Barrett Date: 2024-08-05 20:05:07 +0000 URL: https://git.openjdk.org/loom/commit/7146daee68788bf9a33d6eed6fb0614a82644cbc 8337783: Use THROW_NULL instead of THROW_0 in pointer contexts in misc runtime code Reviewed-by: stefank, shade ! src/hotspot/os/posix/perfMemory_posix.cpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/oops/objArrayKlass.cpp ! src/hotspot/share/runtime/perfData.cpp ! src/hotspot/share/runtime/reflection.cpp Changeset: 965d6b9c Branch: fibers Author: Serguei Spitsyn Date: 2024-08-05 23:29:17 +0000 URL: https://git.openjdk.org/loom/commit/965d6b9cbe2dd882fe3c3c955dfa08685af7d6c2 8335836: serviceability/jvmti/StartPhase/AllowedFunctions/AllowedFunctions.java fails with unexpected exit code: 112 Reviewed-by: cjplummer, amenkov ! test/hotspot/jtreg/serviceability/jvmti/StartPhase/AllowedFunctions/libAllowedFunctions.c Changeset: 73718fb8 Branch: fibers Author: Gui Cao Committer: Fei Yang Date: 2024-08-06 02:16:19 +0000 URL: https://git.openjdk.org/loom/commit/73718fb8a3570023e7855137eb008f78b8a1e8ce 8337788: RISC-V: Cleanup code in MacroAssembler::reserved_stack_check Reviewed-by: fyang, rehn, fjiang ! src/hotspot/cpu/riscv/macroAssembler_riscv.cpp Changeset: 20575949 Branch: fibers Author: Kim Barrett Date: 2024-08-06 05:34:33 +0000 URL: https://git.openjdk.org/loom/commit/20575949612a750a428316635715737183a2d58c 8337782: Use THROW_NULL instead of THROW_0 in pointer contexts in prims code Reviewed-by: shade, dholmes ! src/hotspot/share/prims/jni.cpp ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/prims/nativeLookup.cpp ! src/hotspot/share/prims/perf.cpp ! src/hotspot/share/prims/unsafe.cpp ! src/hotspot/share/prims/whitebox.cpp Changeset: 0d8ec429 Branch: fibers Author: Albert Mingkun Yang Date: 2024-08-06 06:59:11 +0000 URL: https://git.openjdk.org/loom/commit/0d8ec42969fb60c140aaed7795ea1b9591915b8d 8337642: Remove unused APIs of GCPolicyCounters Reviewed-by: tschatzl ! src/hotspot/share/gc/parallel/gcAdaptivePolicyCounters.hpp ! src/hotspot/share/gc/parallel/psGCAdaptivePolicyCounters.hpp ! src/hotspot/share/gc/serial/defNewGeneration.cpp ! src/hotspot/share/gc/shared/gcPolicyCounters.hpp Changeset: f92c60e1 Branch: fibers Author: Matthias Baesken Date: 2024-08-06 07:06:43 +0000 URL: https://git.openjdk.org/loom/commit/f92c60e1a9968620cbc92b52aa546b57c09da487 8337810: ProblemList BasicDirectoryModel/LoaderThreadCount.java on Windows Reviewed-by: clanger ! test/jdk/ProblemList.txt Changeset: 958786b2 Branch: fibers Author: Jan Lahoda Date: 2024-08-06 09:07:44 +0000 URL: https://git.openjdk.org/loom/commit/958786b28ffb532b38746640b6fc11242f056ad9 8332522: SwitchBootstraps::mappedEnumLookup constructs unused array Reviewed-by: liach, redestad ! src/java.base/share/classes/java/lang/runtime/SwitchBootstraps.java + test/micro/org/openjdk/bench/java/lang/runtime/SwitchEnum.java Changeset: f9b8a220 Branch: fibers Author: Erik Gahlin Date: 2024-08-06 09:28:12 +0000 URL: https://git.openjdk.org/loom/commit/f9b8a22062c7ad7ffb150394da6b3ab069785535 8337798: JFR: Remove jdk/jfr/api/consumer/recordingstream/TestOnEvent.java from ProblemList.txt Reviewed-by: mgronlun ! test/jdk/ProblemList.txt Changeset: a117945d Branch: fibers Author: Prasanta Sadhukhan Date: 2024-08-06 09:37:21 +0000 URL: https://git.openjdk.org/loom/commit/a117945d5a704781944ae15c852c31d090f03adb 8337344: Redundant javadoc at RasterPrinterJob.isCancelled Reviewed-by: aivanov, prr ! src/java.desktop/share/classes/sun/print/RasterPrinterJob.java Changeset: ef909bdf Branch: fibers Author: Markus Gr?nlund Date: 2024-08-06 11:32:24 +0000 URL: https://git.openjdk.org/loom/commit/ef909bdf7f08dfd67bac2665aa85f86c0e303db9 8335121: Native memory leak when not recording any events Reviewed-by: egahlin, shade ! src/hotspot/share/jfr/recorder/service/jfrRecorderService.cpp Changeset: 1348ece6 Branch: fibers Author: Coleen Phillimore Date: 2024-08-06 11:34:57 +0000 URL: https://git.openjdk.org/loom/commit/1348ece6df7b460501931533c238e819995a2086 8332120: Potential compilation failure in istream.cpp:205 - loss of data on conversion Reviewed-by: dholmes, iklam ! src/hotspot/share/utilities/istream.cpp ! src/hotspot/share/utilities/istream.hpp Changeset: ab509f1b Branch: fibers Author: Andrew Dinn Date: 2024-08-06 13:22:55 +0000 URL: https://git.openjdk.org/loom/commit/ab509f1b98329b1624a3111e226b640ee76f5969 8337654: Relocate uncommon trap stub from SharedRuntime to OptoRuntime Reviewed-by: kvn, vlivanov, fyang ! src/hotspot/cpu/aarch64/runtime_aarch64.cpp ! src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp ! src/hotspot/cpu/arm/runtime_arm.cpp ! src/hotspot/cpu/arm/sharedRuntime_arm.cpp ! src/hotspot/cpu/ppc/sharedRuntime_ppc.cpp + src/hotspot/cpu/riscv/runtime_riscv.cpp ! src/hotspot/cpu/riscv/sharedRuntime_riscv.cpp ! src/hotspot/cpu/s390/sharedRuntime_s390.cpp ! src/hotspot/cpu/x86/runtime_x86_32.cpp ! src/hotspot/cpu/x86/runtime_x86_64.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp ! src/hotspot/share/opto/graphKit.cpp ! src/hotspot/share/opto/lcm.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/matcher.cpp ! src/hotspot/share/opto/runtime.cpp ! src/hotspot/share/opto/runtime.hpp ! src/hotspot/share/opto/stringopts.cpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/hotspot/share/runtime/sharedRuntime.hpp Changeset: 53db937d Branch: fibers Author: Feilong Jiang Date: 2024-08-06 14:01:23 +0000 URL: https://git.openjdk.org/loom/commit/53db937dd0766695906dc20c1dbbd3228c02fe1e 8337780: RISC-V: C2: Change C calling convention for sp to NS Reviewed-by: fyang, rehn ! src/hotspot/cpu/riscv/riscv.ad Changeset: 3f8b3e55 Branch: fibers Author: Doug Simon Date: 2024-08-06 16:37:59 +0000 URL: https://git.openjdk.org/loom/commit/3f8b3e55276336cbb814d3b746d4337678389969 8337887: [JVMCI] Clarify jdk.vm.ci.code.Architecture.getName javadoc Reviewed-by: never ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/aarch64/AArch64.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/amd64/AMD64.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/code/Architecture.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/riscv64/RISCV64.java Changeset: ff634a96 Branch: fibers Author: Naoto Sato Date: 2024-08-06 20:11:21 +0000 URL: https://git.openjdk.org/loom/commit/ff634a967027cfa56b666d31c45db9a4acc09ea4 8337506: Disable "best-fit" mapping on Windows command line Reviewed-by: alanb ! src/java.base/share/native/launcher/main.c + test/jdk/tools/launcher/DisableBestFitMappingTest.java Changeset: 22a34213 Branch: fibers Author: Kim Barrett Date: 2024-08-06 20:15:47 +0000 URL: https://git.openjdk.org/loom/commit/22a3421379162bb302fb8e5ccc315e53d95b6245 8337786: Fix simple -Wzero-as-null-pointer-constant warnings in aarch64 code Reviewed-by: shade, tschatzl ! src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/c1_Runtime1_aarch64.cpp ! src/hotspot/cpu/aarch64/frame_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/nativeInst_aarch64.cpp ! src/hotspot/cpu/aarch64/vm_version_aarch64.cpp Changeset: fc652d2a Branch: fibers Author: Alisen Chung Date: 2024-08-06 21:10:06 +0000 URL: https://git.openjdk.org/loom/commit/fc652d2a58bfd99b05011c051e5710d1dac049ab 8235404: [macos] JOptionPane blocks drawing string on another component Reviewed-by: honkar, dnguyen ! src/java.desktop/share/classes/javax/swing/JOptionPane.java + test/jdk/javax/swing/JOptionPane/OptionPaneInput.java Changeset: 6733b89d Branch: fibers Author: Chris Plummer Date: 2024-08-06 21:44:30 +0000 URL: https://git.openjdk.org/loom/commit/6733b89de1ed9ebcc1e8a8271970048ad0f0aac3 8337667: sun/tools/jcmd/TestJcmdPIDSubstitution.java is failing on mac and windows Reviewed-by: stuefe, kevinw ! test/jdk/sun/tools/jcmd/TestJcmdPIDSubstitution.java Changeset: 920751e5 Branch: fibers Author: Alex Menkov Date: 2024-08-06 21:56:48 +0000 URL: https://git.openjdk.org/loom/commit/920751e5d5838dab90438117a77f43876902eb72 8311990: Two JDI tests may interfere with each other Reviewed-by: dholmes, sspitsyn ! test/jdk/com/sun/jdi/JdwpListenTest.java ! test/jdk/com/sun/jdi/JdwpNetProps.java Changeset: 66286b25 Branch: fibers Author: Tobias Hartmann Date: 2024-08-07 05:32:28 +0000 URL: https://git.openjdk.org/loom/commit/66286b25a183de2ffd0689da9c2bd1978b881aa7 8337968: Problem list compiler/vectorapi/VectorRebracket128Test.java Reviewed-by: chagedorn ! test/hotspot/jtreg/ProblemList.txt Changeset: 41f784fe Branch: fibers Author: Albert Mingkun Yang Date: 2024-08-07 07:48:05 +0000 URL: https://git.openjdk.org/loom/commit/41f784fe63f8e06a25e1fe00dc96e398874adf81 8335925: Serial: Move allocation API from Generation to subclasses Reviewed-by: gli, kbarrett, iwalulya ! src/hotspot/share/gc/serial/defNewGeneration.cpp ! src/hotspot/share/gc/serial/defNewGeneration.hpp ! src/hotspot/share/gc/serial/generation.hpp ! src/hotspot/share/gc/serial/serialHeap.cpp ! src/hotspot/share/gc/serial/tenuredGeneration.cpp ! src/hotspot/share/gc/serial/tenuredGeneration.hpp ! src/hotspot/share/gc/serial/tenuredGeneration.inline.hpp Changeset: 88a05a85 Branch: fibers Author: Markus Gr?nlund Date: 2024-08-07 10:24:34 +0000 URL: https://git.openjdk.org/loom/commit/88a05a853ed9e0425ba3315b751a5015bed62675 8337975: [BACKOUT] Native memory leak when not recording any events Reviewed-by: jpai, egahlin ! src/hotspot/share/jfr/recorder/service/jfrRecorderService.cpp Changeset: 21f710e7 Branch: fibers Author: Joel Sikstr?m Committer: Albert Mingkun Yang Date: 2024-08-07 14:16:01 +0000 URL: https://git.openjdk.org/loom/commit/21f710e7f6698b12b06cc3685cefa31f5fcff2a2 8310675: Fix -Wconversion warnings in ZGC code Reviewed-by: stefank, ayang ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp ! src/hotspot/share/gc/z/zArguments.cpp ! src/hotspot/share/gc/z/zArray.inline.hpp ! src/hotspot/share/gc/z/zBarrier.cpp ! src/hotspot/share/gc/z/zBarrierSetNMethod.cpp ! src/hotspot/share/gc/z/zCPU.inline.hpp ! src/hotspot/share/gc/z/zDirector.cpp ! src/hotspot/share/gc/z/zForwardingAllocator.inline.hpp ! src/hotspot/share/gc/z/zGeneration.cpp ! src/hotspot/share/gc/z/zGeneration.hpp ! src/hotspot/share/gc/z/zHeapIterator.cpp ! src/hotspot/share/gc/z/zHeuristics.cpp ! src/hotspot/share/gc/z/zIndexDistributor.inline.hpp ! src/hotspot/share/gc/z/zLiveMap.cpp ! src/hotspot/share/gc/z/zLiveMap.hpp ! src/hotspot/share/gc/z/zMarkCache.cpp ! src/hotspot/share/gc/z/zMarkStack.cpp ! src/hotspot/share/gc/z/zMetronome.cpp ! src/hotspot/share/gc/z/zNMethod.cpp ! src/hotspot/share/gc/z/zNMethodTable.cpp ! src/hotspot/share/gc/z/zObjArrayAllocator.cpp ! src/hotspot/share/gc/z/zPage.inline.hpp ! src/hotspot/share/gc/z/zPageCache.cpp ! src/hotspot/share/gc/z/zPageTable.inline.hpp ! src/hotspot/share/gc/z/zRelocationSet.cpp ! src/hotspot/share/gc/z/zRelocationSetSelector.cpp ! src/hotspot/share/gc/z/zStat.cpp ! src/hotspot/share/gc/z/zStat.hpp ! src/hotspot/share/gc/z/zStoreBarrierBuffer.cpp ! src/hotspot/share/gc/z/zStoreBarrierBuffer.hpp ! src/hotspot/share/gc/z/zStoreBarrierBuffer.inline.hpp ! src/hotspot/share/gc/z/zUnmapper.cpp ! src/hotspot/share/gc/z/zVerify.cpp Changeset: d19ba81c Branch: fibers Author: Naoto Sato Date: 2024-08-07 15:58:03 +0000 URL: https://git.openjdk.org/loom/commit/d19ba81ce12a99de1114c1bfe67392f5aee2104e 8337603: Change in behavior with -Djava.locale.useOldISOCodes=true Reviewed-by: iris, bpb ! src/java.base/share/classes/sun/util/locale/provider/LocaleResources.java ! test/jdk/java/util/Locale/LocaleTest.java Changeset: 36d08c21 Branch: fibers Author: Serguei Spitsyn Date: 2024-08-07 17:41:23 +0000 URL: https://git.openjdk.org/loom/commit/36d08c213d03deddf69ecb9770a3afef73a15444 8336846: assert(state->get_thread() == jt) failed: handshake unsafe conditions Reviewed-by: amenkov, dholmes, cjplummer, pchilanomate, lmesnik ! src/hotspot/share/prims/jvmtiEventController.cpp ! src/hotspot/share/runtime/mutexLocker.cpp Changeset: a5c2d7b3 Branch: fibers Author: Fernando Guallini Committer: Rajan Halade Date: 2024-08-07 18:24:08 +0000 URL: https://git.openjdk.org/loom/commit/a5c2d7b305407974b3f67c48b8dcb1f8e77abde3 8335172: Add manual steps to run security/auth/callback/TextCallbackHandler/Password.java test Reviewed-by: rhalade ! test/jdk/ProblemList.txt ! test/jdk/TEST.groups ! test/jdk/com/sun/security/auth/callback/TextCallbackHandler/Password.java Changeset: 5e021cbc Branch: fibers Author: Leonid Mesnik Date: 2024-08-07 20:25:51 +0000 URL: https://git.openjdk.org/loom/commit/5e021cbcc7a6cb30a27380950e115ff12846239c 8337410: The makefiles should set problemlist and adjust timeout basing on the given VM flags Reviewed-by: ihse ! make/RunTests.gmk Changeset: 9b11bd7f Branch: fibers Author: Jamil Nimeh Date: 2024-08-07 21:06:47 +0000 URL: https://git.openjdk.org/loom/commit/9b11bd7f4a511ddadf9f02e82aab6ba78beb6763 8337826: Improve logging in OCSPTimeout and SimpleOCSPResponder to help diagnose JDK-8309754 Reviewed-by: mullan ! test/jdk/java/security/cert/CertPathValidator/OCSP/OCSPTimeout.java ! test/jdk/java/security/testlibrary/SimpleOCSPServer.java Changeset: 16df9c33 Branch: fibers Author: Gui Cao Committer: Fei Yang Date: 2024-08-08 05:22:20 +0000 URL: https://git.openjdk.org/loom/commit/16df9c33e9bbc9329ae60ba14332c09aadaba3f0 8337971: Problem list several jvmci tests on linux-riscv64 until JDK-8331704 is fixed Reviewed-by: fyang, shade ! test/hotspot/jtreg/ProblemList.txt Changeset: 1846a65e Branch: fibers Author: Turkhan Badalov Committer: Chen Liang Date: 2024-08-08 05:34:32 +0000 URL: https://git.openjdk.org/loom/commit/1846a65e32624f6da691c1072f44fcb762b43233 8337205: Typo in Stack vs Deque Method table in Deque specification Reviewed-by: liach ! src/java.base/share/classes/java/util/Deque.java Changeset: fa183590 Branch: fibers Author: Afshin Zafari Date: 2024-08-08 08:55:05 +0000 URL: https://git.openjdk.org/loom/commit/fa18359007bd80d2e74c07a5a1ea6170e1bd474d 8335981: ProblemList runtime/Thread/TestAlwaysPreTouchStacks.java for MacOS Reviewed-by: tschatzl ! test/hotspot/jtreg/ProblemList.txt Changeset: a9460a69 Branch: fibers Author: Casper Norrbin Committer: Stefan Karlsson Date: 2024-08-08 10:38:02 +0000 URL: https://git.openjdk.org/loom/commit/a9460a69e74f876274ec64394ac6504580041b21 8337982: Remove dead undef assrt0n Reviewed-by: stefank, dholmes ! src/hotspot/share/memory/metaspace/blockTree.cpp Changeset: 3bc4a1ac Branch: fibers Author: Tejesh R Date: 2024-08-08 10:40:56 +0000 URL: https://git.openjdk.org/loom/commit/3bc4a1acc4bb1885ddba69283b99bbe02f8e43b7 8233068: HIDPI: Linux: AWT Checkbox check mark is unscaled Reviewed-by: jdv, abhiscxk, honkar ! src/java.desktop/unix/classes/sun/awt/X11/XCheckboxPeer.java + test/jdk/java/awt/Checkbox/CheckboxCheckerScalingTest.java Changeset: 088871ce Branch: fibers Author: Alexander Zvegintsev Date: 2024-08-08 10:51:47 +0000 URL: https://git.openjdk.org/loom/commit/088871ce36f85fb30b24c49146f547bc8e2b0dcb 8335267: [XWayland] move screencast tokens from .awt to .java folder Reviewed-by: prr, avu ! src/java.desktop/unix/classes/sun/awt/screencast/TokenStorage.java Changeset: 12c553f1 Branch: fibers Author: Alexander Zvegintsev Date: 2024-08-08 10:51:58 +0000 URL: https://git.openjdk.org/loom/commit/12c553f12876b4095685676f800119c0e275bf44 8329471: Remove GTK2 Reviewed-by: abhiscxk, prr, ihse ! make/modules/java.desktop/lib/AwtLibraries.gmk ! src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKEngine.java ! src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKIconFactory.java ! src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKLookAndFeel.java ! src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKPainter.java ! src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKStyle.java ! src/java.desktop/unix/classes/sun/awt/UNIXToolkit.java - src/java.desktop/unix/native/libawt_xawt/awt/gtk2_interface.c - src/java.desktop/unix/native/libawt_xawt/awt/gtk2_interface.h ! src/java.desktop/unix/native/libawt_xawt/awt/gtk_interface.c ! src/java.desktop/unix/native/libawt_xawt/awt/screencast_pipewire.c ! test/jdk/java/awt/Gtk/GtkVersionTest/GtkVersionTest.java ! test/jdk/java/awt/Robot/HiDPIScreenCapture/ScreenCaptureGtkTest.java ! test/jdk/javax/swing/LookAndFeel/8145547/DemandGTK.java - test/jdk/javax/swing/LookAndFeel/8145547/DemandGTK2.sh - test/jdk/javax/swing/LookAndFeel/8145547/DemandGTK2.txt ! test/jdk/javax/swing/LookAndFeel/8145547/DemandGTK3.sh Changeset: ddbd7a78 Branch: fibers Author: Alexander Zvegintsev Date: 2024-08-08 10:53:23 +0000 URL: https://git.openjdk.org/loom/commit/ddbd7a78f191462695ecbeeef7fd6312e322b15a 8337320: Update ProblemList.txt with tests known to fail on XWayland Reviewed-by: prr ! test/jdk/ProblemList.txt Changeset: 4b740d87 Branch: fibers Author: Erik Gahlin Date: 2024-08-08 10:57:43 +0000 URL: https://git.openjdk.org/loom/commit/4b740d87ee50ba49305add4aae6490bebb6963ba 8225209: jdk/jfr/event/compiler/TestCodeSweeper.java fails Reviewed-by: mgronlun ! test/jdk/ProblemList.txt ! test/jdk/jdk/jfr/event/compiler/TestCodeSweeper.java Changeset: 6a9a867d Branch: fibers Author: Markus Gr?nlund Date: 2024-08-08 14:38:46 +0000 URL: https://git.openjdk.org/loom/commit/6a9a867d645b8fe86f4ca2b04a43bf5aa8f9d487 8337994: [REDO] Native memory leak when not recording any events Reviewed-by: egahlin ! src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeSet.cpp ! src/hotspot/share/jfr/recorder/service/jfrRecorderService.cpp Changeset: 78773b17 Branch: fibers Author: Joe Darcy Date: 2024-08-08 15:52:17 +0000 URL: https://git.openjdk.org/loom/commit/78773b1769922611318243b6680d59518ed4e015 8338015: Fix "Java Java" typo in package info file of java.lang.classfile Reviewed-by: jiefu, jpai, liach ! src/java.base/share/classes/java/lang/classfile/package-info.java Changeset: 9695f095 Branch: fibers Author: Coleen Phillimore Date: 2024-08-08 16:11:08 +0000 URL: https://git.openjdk.org/loom/commit/9695f09581bac856ad97943cca15c65dc21d2adf 8337683: Fix -Wconversion problem with arrayOop.hpp Reviewed-by: stefank, dholmes ! src/hotspot/share/oops/arrayOop.hpp ! src/hotspot/share/runtime/atomic.hpp ! src/hotspot/share/utilities/byteswap.hpp Changeset: 53c9f037 Branch: fibers Author: Jiangli Zhou Date: 2024-08-08 16:31:02 +0000 URL: https://git.openjdk.org/loom/commit/53c9f037fb2805aab5ab9729166ce7d5bc7a77f9 8336849: Remove .llvm_addrsig section from JDK/VM static libraries (.a files) Reviewed-by: ihse ! make/common/native/Link.gmk Changeset: bfb75b96 Branch: fibers Author: Roger Riggs Date: 2024-08-08 16:53:38 +0000 URL: https://git.openjdk.org/loom/commit/bfb75b96266f4c5840e2edea13f9aa2c801518cf 8336926: jdk/internal/util/ReferencedKeyTest.java can fail with ConcurrentModificationException Reviewed-by: bpb, shade, dfuchs ! src/java.base/share/classes/jdk/internal/util/ReferencedKeyMap.java Changeset: e7a0b5b0 Branch: fibers Author: Markus Gr?nlund Date: 2024-08-08 18:45:11 +0000 URL: https://git.openjdk.org/loom/commit/e7a0b5b09bcfcd8b09667e51ec588e206f0652ff 8334780: Crash: assert(h_array_list.not_null()) failed: invariant Reviewed-by: egahlin, shade ! src/hotspot/share/jfr/support/jfrJdkJfrEvent.cpp Changeset: 9f08a01c Branch: fibers Author: Leonid Mesnik Date: 2024-08-08 19:47:50 +0000 URL: https://git.openjdk.org/loom/commit/9f08a01cb6ebb08f67749aabdff4efaedfaf3228 8338010: WB_IsFrameDeoptimized miss ResourceMark Reviewed-by: dholmes, shade ! src/hotspot/share/prims/whitebox.cpp Changeset: 55c50970 Branch: fibers Author: Jiawei Tang Date: 2024-08-09 02:29:15 +0000 URL: https://git.openjdk.org/loom/commit/55c509708e9b89a7609fd41b6e5a271f250bbacd 8337331: crash: pinned virtual thread will lead to jvm crash when running with the javaagent option Reviewed-by: dholmes, sspitsyn ! src/hotspot/share/prims/jvmtiExport.cpp + test/hotspot/jtreg/serviceability/jvmti/vthread/TestPinCaseWithCFLH/TestPinCaseWithCFLH.java Changeset: 0c1e9111 Branch: fibers Author: Gui Cao Committer: Fei Yang Date: 2024-08-09 02:59:37 +0000 URL: https://git.openjdk.org/loom/commit/0c1e9111d226b601236b9826e27ecc67a8b625fb 8338019: Fix simple -Wzero-as-null-pointer-constant warnings in riscv code Reviewed-by: fyang, mli, luhenry ! src/hotspot/cpu/riscv/c1_LIRAssembler_riscv.cpp ! src/hotspot/cpu/riscv/c1_Runtime1_riscv.cpp ! src/hotspot/cpu/riscv/frame_riscv.cpp ! src/hotspot/cpu/riscv/nativeInst_riscv.cpp Changeset: 9ab8c6b9 Branch: fibers Author: Abhishek Kumar Date: 2024-08-09 05:09:27 +0000 URL: https://git.openjdk.org/loom/commit/9ab8c6b9ba90ffd12600a250c8704571e9feb78d 8335130: The test "javax/swing/plaf/synth/ComponentsOrientationSupport/5033822/bug5033822.java" fails because the background color of the tabs is displayed incorrectly. Reviewed-by: achung, psadhukhan ! src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKPainter.java ! src/java.desktop/share/classes/javax/swing/plaf/nimbus/SynthPainterImpl.java ! src/java.desktop/share/classes/javax/swing/plaf/synth/SynthTabbedPaneUI.java Changeset: 00aac409 Branch: fibers Author: Matthias Baesken Date: 2024-08-09 06:26:22 +0000 URL: https://git.openjdk.org/loom/commit/00aac4097abd3c5e6144734cfd44228bc31892fb 8338058: map_or_reserve_memory_aligned Windows enhance remap assertion Reviewed-by: mdoerr, clanger ! src/hotspot/os/windows/os_windows.cpp Changeset: c01f53ac Branch: fibers Author: Christian Hagedorn Date: 2024-08-09 07:17:59 +0000 URL: https://git.openjdk.org/loom/commit/c01f53ac2dab1d4d2cd1e4d45a67f9373d4a9c7e 8337876: [IR Framework] Add support for IR tests with @Stable Reviewed-by: shade, kvn ! test/hotspot/jtreg/compiler/lib/ir_framework/README.md ! test/hotspot/jtreg/compiler/lib/ir_framework/TestFramework.java ! test/hotspot/jtreg/compiler/lib/ir_framework/driver/TestVMProcess.java ! test/hotspot/jtreg/testlibrary_tests/ir_framework/tests/TestPhaseIRMatching.java + test/hotspot/jtreg/testlibrary_tests/ir_framework/tests/TestPrivilegedMode.java Changeset: 82d5768c Branch: fibers Author: Andrey Turbanov Date: 2024-08-09 07:20:01 +0000 URL: https://git.openjdk.org/loom/commit/82d5768c1bdccfaf97a41f32a8bfcfd03a0fb378 8337840: Remove redundant null check in ObjectOutputStream.writeProxyDesc Reviewed-by: rriggs ! src/java.base/share/classes/java/io/ObjectOutputStream.java Changeset: f74109bd Branch: fibers Author: Joel Sikstr?m Date: 2024-08-09 07:29:56 +0000 URL: https://git.openjdk.org/loom/commit/f74109bd178c92a9dff1ca6fce03b25f51a0384f 8337939: ZGC: Make assertions and checks less convoluted and explicit Reviewed-by: stefank, ayang, eosterlund ! src/hotspot/share/gc/z/zAddress.cpp ! src/hotspot/share/gc/z/zAddress.inline.hpp ! src/hotspot/share/gc/z/zBarrier.inline.hpp ! src/hotspot/share/gc/z/zBarrierSet.inline.hpp ! src/hotspot/share/gc/z/zHeapIterator.cpp ! src/hotspot/share/gc/z/zMark.cpp ! src/hotspot/share/gc/z/zMark.inline.hpp ! src/hotspot/share/gc/z/zPage.inline.hpp ! src/hotspot/share/gc/z/zReferenceProcessor.cpp ! src/hotspot/share/gc/z/zVerify.cpp Changeset: 53fce38a Branch: fibers Author: Erik Gahlin Date: 2024-08-09 07:53:15 +0000 URL: https://git.openjdk.org/loom/commit/53fce38a3ff8700fef640fffc066efc21ff9c25f 8338062: JFR: Remove TestStartDuration.java and TestStartName.java from ProblemList.txt Reviewed-by: mgronlun ! test/jdk/ProblemList.txt Changeset: 6ebd5d74 Branch: fibers Author: Albert Mingkun Yang Date: 2024-08-09 08:23:44 +0000 URL: https://git.openjdk.org/loom/commit/6ebd5d74d57b334e7cf0b1282d7bb469a56fb3d6 8338036: Serial: Remove Generation::update_counters Reviewed-by: kbarrett ! src/hotspot/share/gc/serial/generation.hpp Changeset: c37e8638 Branch: fibers Author: Hamlin Li Date: 2024-08-09 09:12:41 +0000 URL: https://git.openjdk.org/loom/commit/c37e8638c98cb4516569304e9a0ab477affb0641 8314125: RISC-V: implement Base64 intrinsic - encoding Reviewed-by: fyang, luhenry ! src/hotspot/cpu/riscv/assembler_riscv.hpp ! src/hotspot/cpu/riscv/stubGenerator_riscv.cpp ! src/hotspot/cpu/riscv/vm_version_riscv.cpp Changeset: 14071607 Branch: fibers Author: Hannes Walln?fer Date: 2024-08-09 09:24:50 +0000 URL: https://git.openjdk.org/loom/commit/140716078694a338e2c2f837841761262cee5542 8313931: Javadoc: links to type parameters actually generate links to classes Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlIds.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlLinkFactory.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script.js.template ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/stylesheet.css ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/taglets/LinkTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/taglets/ParamTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/CommentHelper.java ! test/langtools/jdk/javadoc/doclet/testDeprecatedDocs/TestDeprecatedDocs.java ! test/langtools/jdk/javadoc/doclet/testDirectedInheritance/TestDirectedInheritance.java ! test/langtools/jdk/javadoc/doclet/testErasure/TestErasure.java ! test/langtools/jdk/javadoc/doclet/testGenericMethodLinkTaglet/TestGenericMethodLinkTaglet.java ! test/langtools/jdk/javadoc/doclet/testHref/TestHref.java ! test/langtools/jdk/javadoc/doclet/testInterface/TestInterface.java + test/langtools/jdk/javadoc/doclet/testLinkTaglet/TestLinkTagletTypeParam.java ! test/langtools/jdk/javadoc/doclet/testMemberInheritance/TestMemberInheritance.java ! test/langtools/jdk/javadoc/doclet/testModules/TestModules.java ! test/langtools/jdk/javadoc/doclet/testNewLanguageFeatures/TestNewLanguageFeatures.java ! test/langtools/jdk/javadoc/doclet/testParamTaglet/TestParamTaglet.java ! test/langtools/jdk/javadoc/doclet/testProperty/TestProperty.java ! test/langtools/jdk/javadoc/doclet/testRecordTypes/TestRecordTypes.java ! test/langtools/jdk/javadoc/doclet/testSerializedForm/TestSerializedForm.java ! test/langtools/jdk/javadoc/doclet/testThrows/TestThrows.java ! test/langtools/jdk/javadoc/doclet/testTypeParams/TestTypeParameters.java ! test/langtools/jdk/javadoc/doclet/testTypeParams/pkg/CtorTypeParam.java ! test/langtools/jdk/javadoc/doclet/testUnicode/TestUnicode.java Changeset: 2b5aec2a Branch: fibers Author: Alexander Zvegintsev Date: 2024-08-09 11:28:59 +0000 URL: https://git.openjdk.org/loom/commit/2b5aec2aad3883d4d407ec3a572f78755d60190d 8338109: java/awt/Mouse/EnterExitEvents/ResizingFrameTest.java duplicate in ProblemList Reviewed-by: aivanov ! test/jdk/ProblemList.txt Changeset: 069e0ea6 Branch: fibers Author: Coleen Phillimore Date: 2024-08-09 12:00:15 +0000 URL: https://git.openjdk.org/loom/commit/069e0ea69f43960164d3e077d2c7b950cde77927 8338064: Give better error for ConcurrentHashTable corruption Reviewed-by: dholmes, shade ! src/hotspot/share/utilities/concurrentHashTable.hpp ! src/hotspot/share/utilities/concurrentHashTable.inline.hpp + test/hotspot/jtreg/runtime/stringtable/StringTableCorruptionTest.java Changeset: 3cf3f300 Branch: fibers Author: Casper Norrbin Committer: Sonia Zaldana Calles Date: 2024-08-09 14:32:29 +0000 URL: https://git.openjdk.org/loom/commit/3cf3f300de1e9d2c8767877ed3a26679e34b7d22 8330191: Fix typo in precompiled.hpp Reviewed-by: jsjolen, szaldana ! src/hotspot/share/precompiled/precompiled.hpp Changeset: 60fa08fc Branch: fibers Author: Vladimir Kozlov Date: 2024-08-09 17:08:19 +0000 URL: https://git.openjdk.org/loom/commit/60fa08fcfe5c6551ee3120330ade93e45df618c7 8337797: Additional ExternalAddress cleanup Reviewed-by: adinn, thartmann ! src/hotspot/cpu/aarch64/jniFastGetField_aarch64.cpp ! src/hotspot/cpu/riscv/jniFastGetField_riscv.cpp ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/jniFastGetField_x86_32.cpp ! src/hotspot/cpu/x86/jniFastGetField_x86_64.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64_arraycopy.cpp ! src/hotspot/os_cpu/windows_x86/os_windows_x86.cpp Changeset: 358d77da Branch: fibers Author: Dmitry Chuyko Date: 2024-08-09 17:56:37 +0000 URL: https://git.openjdk.org/loom/commit/358d77dafbe0e35d5b20340fccddc0fb8f3db82a 8337657: AArch64: No need for acquire fence in safepoint poll during JNI calls Reviewed-by: phh ! src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp ! src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp Changeset: 1ab0dda8 Branch: fibers Author: Alan Bateman Date: 2024-08-10 17:01:57 +0000 URL: https://git.openjdk.org/loom/commit/1ab0dda8190cd69c622a901d6ce840e46655f989 Merge ! src/hotspot/cpu/aarch64/c1_Runtime1_aarch64.cpp ! src/hotspot/cpu/aarch64/frame_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp ! src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp ! src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp ! src/hotspot/cpu/arm/sharedRuntime_arm.cpp ! src/hotspot/cpu/ppc/sharedRuntime_ppc.cpp ! src/hotspot/cpu/riscv/c1_Runtime1_riscv.cpp ! src/hotspot/cpu/riscv/sharedRuntime_riscv.cpp ! src/hotspot/cpu/riscv/templateInterpreterGenerator_riscv.cpp ! src/hotspot/cpu/s390/sharedRuntime_s390.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp ! src/hotspot/cpu/x86/templateInterpreterGenerator_x86.cpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/prims/jvmtiExport.cpp ! src/hotspot/share/prims/jvmtiExport.hpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/hotspot/share/runtime/sharedRuntime.hpp ! src/java.base/share/classes/jdk/internal/util/ReferencedKeyMap.java ! test/hotspot/jtreg/ProblemList.txt ! src/hotspot/cpu/aarch64/c1_Runtime1_aarch64.cpp ! src/hotspot/cpu/aarch64/frame_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp ! src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp ! src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp ! src/hotspot/cpu/arm/sharedRuntime_arm.cpp ! src/hotspot/cpu/ppc/sharedRuntime_ppc.cpp ! src/hotspot/cpu/riscv/c1_Runtime1_riscv.cpp ! src/hotspot/cpu/riscv/sharedRuntime_riscv.cpp ! src/hotspot/cpu/riscv/templateInterpreterGenerator_riscv.cpp ! src/hotspot/cpu/s390/sharedRuntime_s390.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp ! src/hotspot/cpu/x86/templateInterpreterGenerator_x86.cpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/prims/jvmtiExport.cpp ! src/hotspot/share/prims/jvmtiExport.hpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/hotspot/share/runtime/sharedRuntime.hpp ! src/java.base/share/classes/jdk/internal/util/ReferencedKeyMap.java ! test/hotspot/jtreg/ProblemList.txt From duke at openjdk.org Sat Aug 10 18:06:09 2024 From: duke at openjdk.org (duke) Date: Sat, 10 Aug 2024 18:06:09 GMT Subject: git: openjdk/loom: master: 79 new changesets Message-ID: <51fe41ab-49b1-417c-be28-b05cd4322e76@openjdk.org> Changeset: 34edc735 Branch: master Author: Vladimir Kozlov Date: 2024-08-03 06:21:28 +0000 URL: https://git.openjdk.org/loom/commit/34edc7358f733cdf433d0ff50921bcb5a94c5e35 8337396: Cleanup usage of ExternalAddess Co-authored-by: Fei Yang Reviewed-by: vlivanov, adinn ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp ! src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp ! src/hotspot/cpu/riscv/macroAssembler_riscv.cpp ! src/hotspot/cpu/riscv/stubGenerator_riscv.cpp ! src/hotspot/cpu/riscv/templateInterpreterGenerator_riscv.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp ! src/hotspot/cpu/x86/templateInterpreterGenerator_x86.cpp ! src/hotspot/cpu/x86/templateTable_x86.cpp ! src/hotspot/share/code/oopRecorder.cpp Changeset: 367e0a65 Branch: master Author: fabioromano1 <51378941+fabioromano1 at users.noreply.github.com> Committer: Raffaello Giulietti Date: 2024-08-03 13:08:54 +0000 URL: https://git.openjdk.org/loom/commit/367e0a65561f95aad61b40930d5f46843fee3444 8334755: Asymptotically faster implementation of square root algorithm Reviewed-by: rgiulietti ! src/java.base/share/classes/java/math/BigInteger.java ! src/java.base/share/classes/java/math/MutableBigInteger.java ! test/jdk/java/math/BigInteger/BigIntegerTest.java + test/micro/org/openjdk/bench/java/math/BigIntegerSquareRoot.java Changeset: 8bd3cd51 Branch: master Author: Brian Burkhalter Date: 2024-08-04 15:42:51 +0000 URL: https://git.openjdk.org/loom/commit/8bd3cd51562ff9e76fa0e3d49d38e6e19210f878 8337716: ByteBuffer hashCode implementations are inconsistent Reviewed-by: alanb, liach ! src/java.base/share/classes/java/nio/Heap-X-Buffer.java.template ! test/jdk/java/nio/Buffer/EqualsCompareTest.java ! test/micro/org/openjdk/bench/java/nio/ByteBuffers.java Changeset: dabdae6b Branch: master Author: Julian Waters Date: 2024-08-05 05:13:08 +0000 URL: https://git.openjdk.org/loom/commit/dabdae6b355b3e7a2795f6b01ba475652d483288 8334599: Improve code from JDK-8302671 Reviewed-by: aivanov, stuefe, prr ! src/java.desktop/windows/native/libawt/windows/awt_Component.cpp Changeset: fbe8a81d Branch: master Author: Matthias Baesken Date: 2024-08-05 05:57:41 +0000 URL: https://git.openjdk.org/loom/commit/fbe8a81d1900d0de1920ad1df6ad574f3da4bd51 8333144: docker tests do not work when ubsan is configured Reviewed-by: clanger, stuefe ! test/lib/jdk/test/lib/containers/docker/DockerTestUtils.java Changeset: be34730f Branch: master Author: Christian Hagedorn Date: 2024-08-05 09:52:07 +0000 URL: https://git.openjdk.org/loom/commit/be34730fb4e6818ac13c46b34b735c967351e5cd 8335257: Refactor code to create Initialized Assertion Predicates into separate class Reviewed-by: kvn, epeter ! src/hotspot/share/opto/cfgnode.hpp ! src/hotspot/share/opto/ifnode.cpp ! src/hotspot/share/opto/loopPredicate.cpp ! src/hotspot/share/opto/loopTransform.cpp ! src/hotspot/share/opto/loopnode.hpp ! src/hotspot/share/opto/predicates.cpp ! src/hotspot/share/opto/predicates.hpp ! src/hotspot/share/opto/split_if.cpp Changeset: d3e7b0c1 Branch: master Author: Viktor Klang Date: 2024-08-05 10:56:21 +0000 URL: https://git.openjdk.org/loom/commit/d3e7b0c12afde03985f1b06e6e7d789928971090 8336462: ConcurrentSkipListSet Javadoc incorrectly warns about size method complexity Reviewed-by: jpai ! src/java.base/share/classes/java/util/concurrent/ConcurrentSkipListSet.java Changeset: 2e093b06 Branch: master Author: Erik Gahlin Date: 2024-08-05 13:17:32 +0000 URL: https://git.openjdk.org/loom/commit/2e093b06916b72b4feae5635aa8c5aa90679172b 8337779: test/jdk/jdk/jfr/jvm/TestHiddenWait.java is a bit fragile Reviewed-by: mgronlun ! test/jdk/jdk/jfr/jvm/TestHiddenWait.java Changeset: 7e925d72 Branch: master Author: Aleksey Shipilev Date: 2024-08-05 14:05:00 +0000 URL: https://git.openjdk.org/loom/commit/7e925d727f716e5c366b0d85b9c0de24efe43103 8337283: configure.log is truncated when build dir is on different filesystem Reviewed-by: phh, stuefe, clanger, ihse ! make/autoconf/configure.ac Changeset: c095c0e6 Branch: master Author: Carlo Refice Date: 2024-08-05 14:09:54 +0000 URL: https://git.openjdk.org/loom/commit/c095c0e6a58b1665d51ff19381e32f168e99e8f5 8336489: Track scoped accesses in JVMCI compiled code Reviewed-by: dnsimon, never ! src/hotspot/share/jvmci/jvmciCodeInstaller.cpp ! src/hotspot/share/jvmci/jvmciRuntime.cpp ! src/hotspot/share/jvmci/jvmciRuntime.hpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotCompiledCodeStream.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotCompiledNmethod.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/HotSpotVMConfig.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/ResolvedJavaMethod.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestResolvedJavaMethod.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TypeUniverse.java Changeset: 97afbd96 Branch: master Author: Johan Sj?len Date: 2024-08-05 14:49:38 +0000 URL: https://git.openjdk.org/loom/commit/97afbd9603ba8ec1956c4cedf542667d33988661 8336410: runtime/NMT/TotalMallocMmapDiffTest.java Total malloc diff is incorrect. Expected malloc diff range Reviewed-by: gziemski, stuefe ! test/hotspot/jtreg/runtime/NMT/TotalMallocMmapDiffTest.java Changeset: 219e1eb1 Branch: master Author: Per Minborg Date: 2024-08-05 15:06:38 +0000 URL: https://git.openjdk.org/loom/commit/219e1eb13a688532705e603e276799c0157f5f28 8337712: Wrong javadoc in java.util.Date#toString(): "61" and right parenthesis Reviewed-by: rgiulietti ! src/java.base/share/classes/java/util/Date.java Changeset: 98562166 Branch: master Author: Zdenek Zambersky Committer: Magnus Ihse Bursie Date: 2024-08-05 15:09:45 +0000 URL: https://git.openjdk.org/loom/commit/98562166e4a4c8921709014423c6cbc993aa0d97 8336928: GHA: Bundle artifacts removal broken Reviewed-by: ihse ! .github/workflows/main.yml Changeset: e68df528 Branch: master Author: Damon Nguyen Date: 2024-08-05 16:48:18 +0000 URL: https://git.openjdk.org/loom/commit/e68df528f80cff3a5564a12b7ec71a920800ce28 8337054: JDK 23 RDP2 L10n resource files update Reviewed-by: naoto, jlu ! 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/launcher_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 Changeset: 807186ff Branch: master Author: Kim Barrett Date: 2024-08-05 16:53:30 +0000 URL: https://git.openjdk.org/loom/commit/807186ffc6a0a9f2515a66329c2a98a43385463c 8337784: Fix simple -Wzero-as-null-pointer-constant warnings in linux/posix code Reviewed-by: stefank, shade ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/os/posix/perfMemory_posix.cpp ! src/hotspot/os/posix/signals_posix.cpp Changeset: 42652b2e Branch: master Author: Kim Barrett Date: 2024-08-05 16:57:11 +0000 URL: https://git.openjdk.org/loom/commit/42652b2e5350bcab6fceb0148be8bf3d65a0e173 8337787: Fix -Wzero-as-null-pointer-constant warnings when JVMTI feature is disabled Reviewed-by: ayang, sspitsyn ! src/hotspot/share/prims/jvmtiExport.hpp Changeset: 08f697f4 Branch: master Author: Christoph Langer Date: 2024-08-05 17:58:12 +0000 URL: https://git.openjdk.org/loom/commit/08f697f4fcbcdd912c3aa5f331fbf8212906465f 8337819: Update GHA JDKs to 22.0.2 Reviewed-by: mbaesken, ihse, shade ! make/conf/github-actions.conf Changeset: e2c07d50 Branch: master Author: Chris Plummer Date: 2024-08-05 18:42:27 +0000 URL: https://git.openjdk.org/loom/commit/e2c07d5044587476fc0fff14260e2b73816d2062 8337299: vmTestbase/nsk/jdb/stop_at/stop_at002/stop_at002.java failure goes undetected Reviewed-by: amenkov, sspitsyn ! test/hotspot/jtreg/vmTestbase/nsk/jdb/stop_at/stop_at002/stop_at002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/stop_at/stop_at002/stop_at002a.java Changeset: 431d4f7e Branch: master Author: Kim Barrett Date: 2024-08-05 19:53:49 +0000 URL: https://git.openjdk.org/loom/commit/431d4f7e18369466eedd00926a5162a1461d0b25 8337785: Fix simple -Wzero-as-null-pointer-constant warnings in x86 code Reviewed-by: jwaters, ayang, shade ! src/hotspot/cpu/x86/frame_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86_sha.cpp ! src/hotspot/cpu/x86/methodHandles_x86.cpp ! src/hotspot/cpu/x86/vm_version_x86.cpp ! src/hotspot/os_cpu/linux_x86/os_linux_x86.cpp Changeset: 7146daee Branch: master Author: Kim Barrett Date: 2024-08-05 20:05:07 +0000 URL: https://git.openjdk.org/loom/commit/7146daee68788bf9a33d6eed6fb0614a82644cbc 8337783: Use THROW_NULL instead of THROW_0 in pointer contexts in misc runtime code Reviewed-by: stefank, shade ! src/hotspot/os/posix/perfMemory_posix.cpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/oops/objArrayKlass.cpp ! src/hotspot/share/runtime/perfData.cpp ! src/hotspot/share/runtime/reflection.cpp Changeset: 965d6b9c Branch: master Author: Serguei Spitsyn Date: 2024-08-05 23:29:17 +0000 URL: https://git.openjdk.org/loom/commit/965d6b9cbe2dd882fe3c3c955dfa08685af7d6c2 8335836: serviceability/jvmti/StartPhase/AllowedFunctions/AllowedFunctions.java fails with unexpected exit code: 112 Reviewed-by: cjplummer, amenkov ! test/hotspot/jtreg/serviceability/jvmti/StartPhase/AllowedFunctions/libAllowedFunctions.c Changeset: 73718fb8 Branch: master Author: Gui Cao Committer: Fei Yang Date: 2024-08-06 02:16:19 +0000 URL: https://git.openjdk.org/loom/commit/73718fb8a3570023e7855137eb008f78b8a1e8ce 8337788: RISC-V: Cleanup code in MacroAssembler::reserved_stack_check Reviewed-by: fyang, rehn, fjiang ! src/hotspot/cpu/riscv/macroAssembler_riscv.cpp Changeset: 20575949 Branch: master Author: Kim Barrett Date: 2024-08-06 05:34:33 +0000 URL: https://git.openjdk.org/loom/commit/20575949612a750a428316635715737183a2d58c 8337782: Use THROW_NULL instead of THROW_0 in pointer contexts in prims code Reviewed-by: shade, dholmes ! src/hotspot/share/prims/jni.cpp ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/prims/nativeLookup.cpp ! src/hotspot/share/prims/perf.cpp ! src/hotspot/share/prims/unsafe.cpp ! src/hotspot/share/prims/whitebox.cpp Changeset: 0d8ec429 Branch: master Author: Albert Mingkun Yang Date: 2024-08-06 06:59:11 +0000 URL: https://git.openjdk.org/loom/commit/0d8ec42969fb60c140aaed7795ea1b9591915b8d 8337642: Remove unused APIs of GCPolicyCounters Reviewed-by: tschatzl ! src/hotspot/share/gc/parallel/gcAdaptivePolicyCounters.hpp ! src/hotspot/share/gc/parallel/psGCAdaptivePolicyCounters.hpp ! src/hotspot/share/gc/serial/defNewGeneration.cpp ! src/hotspot/share/gc/shared/gcPolicyCounters.hpp Changeset: f92c60e1 Branch: master Author: Matthias Baesken Date: 2024-08-06 07:06:43 +0000 URL: https://git.openjdk.org/loom/commit/f92c60e1a9968620cbc92b52aa546b57c09da487 8337810: ProblemList BasicDirectoryModel/LoaderThreadCount.java on Windows Reviewed-by: clanger ! test/jdk/ProblemList.txt Changeset: 958786b2 Branch: master Author: Jan Lahoda Date: 2024-08-06 09:07:44 +0000 URL: https://git.openjdk.org/loom/commit/958786b28ffb532b38746640b6fc11242f056ad9 8332522: SwitchBootstraps::mappedEnumLookup constructs unused array Reviewed-by: liach, redestad ! src/java.base/share/classes/java/lang/runtime/SwitchBootstraps.java + test/micro/org/openjdk/bench/java/lang/runtime/SwitchEnum.java Changeset: f9b8a220 Branch: master Author: Erik Gahlin Date: 2024-08-06 09:28:12 +0000 URL: https://git.openjdk.org/loom/commit/f9b8a22062c7ad7ffb150394da6b3ab069785535 8337798: JFR: Remove jdk/jfr/api/consumer/recordingstream/TestOnEvent.java from ProblemList.txt Reviewed-by: mgronlun ! test/jdk/ProblemList.txt Changeset: a117945d Branch: master Author: Prasanta Sadhukhan Date: 2024-08-06 09:37:21 +0000 URL: https://git.openjdk.org/loom/commit/a117945d5a704781944ae15c852c31d090f03adb 8337344: Redundant javadoc at RasterPrinterJob.isCancelled Reviewed-by: aivanov, prr ! src/java.desktop/share/classes/sun/print/RasterPrinterJob.java Changeset: ef909bdf Branch: master Author: Markus Gr?nlund Date: 2024-08-06 11:32:24 +0000 URL: https://git.openjdk.org/loom/commit/ef909bdf7f08dfd67bac2665aa85f86c0e303db9 8335121: Native memory leak when not recording any events Reviewed-by: egahlin, shade ! src/hotspot/share/jfr/recorder/service/jfrRecorderService.cpp Changeset: 1348ece6 Branch: master Author: Coleen Phillimore Date: 2024-08-06 11:34:57 +0000 URL: https://git.openjdk.org/loom/commit/1348ece6df7b460501931533c238e819995a2086 8332120: Potential compilation failure in istream.cpp:205 - loss of data on conversion Reviewed-by: dholmes, iklam ! src/hotspot/share/utilities/istream.cpp ! src/hotspot/share/utilities/istream.hpp Changeset: ab509f1b Branch: master Author: Andrew Dinn Date: 2024-08-06 13:22:55 +0000 URL: https://git.openjdk.org/loom/commit/ab509f1b98329b1624a3111e226b640ee76f5969 8337654: Relocate uncommon trap stub from SharedRuntime to OptoRuntime Reviewed-by: kvn, vlivanov, fyang ! src/hotspot/cpu/aarch64/runtime_aarch64.cpp ! src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp ! src/hotspot/cpu/arm/runtime_arm.cpp ! src/hotspot/cpu/arm/sharedRuntime_arm.cpp ! src/hotspot/cpu/ppc/sharedRuntime_ppc.cpp + src/hotspot/cpu/riscv/runtime_riscv.cpp ! src/hotspot/cpu/riscv/sharedRuntime_riscv.cpp ! src/hotspot/cpu/s390/sharedRuntime_s390.cpp ! src/hotspot/cpu/x86/runtime_x86_32.cpp ! src/hotspot/cpu/x86/runtime_x86_64.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp ! src/hotspot/share/opto/graphKit.cpp ! src/hotspot/share/opto/lcm.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/matcher.cpp ! src/hotspot/share/opto/runtime.cpp ! src/hotspot/share/opto/runtime.hpp ! src/hotspot/share/opto/stringopts.cpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/hotspot/share/runtime/sharedRuntime.hpp Changeset: 53db937d Branch: master Author: Feilong Jiang Date: 2024-08-06 14:01:23 +0000 URL: https://git.openjdk.org/loom/commit/53db937dd0766695906dc20c1dbbd3228c02fe1e 8337780: RISC-V: C2: Change C calling convention for sp to NS Reviewed-by: fyang, rehn ! src/hotspot/cpu/riscv/riscv.ad Changeset: 3f8b3e55 Branch: master Author: Doug Simon Date: 2024-08-06 16:37:59 +0000 URL: https://git.openjdk.org/loom/commit/3f8b3e55276336cbb814d3b746d4337678389969 8337887: [JVMCI] Clarify jdk.vm.ci.code.Architecture.getName javadoc Reviewed-by: never ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/aarch64/AArch64.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/amd64/AMD64.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/code/Architecture.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/riscv64/RISCV64.java Changeset: ff634a96 Branch: master Author: Naoto Sato Date: 2024-08-06 20:11:21 +0000 URL: https://git.openjdk.org/loom/commit/ff634a967027cfa56b666d31c45db9a4acc09ea4 8337506: Disable "best-fit" mapping on Windows command line Reviewed-by: alanb ! src/java.base/share/native/launcher/main.c + test/jdk/tools/launcher/DisableBestFitMappingTest.java Changeset: 22a34213 Branch: master Author: Kim Barrett Date: 2024-08-06 20:15:47 +0000 URL: https://git.openjdk.org/loom/commit/22a3421379162bb302fb8e5ccc315e53d95b6245 8337786: Fix simple -Wzero-as-null-pointer-constant warnings in aarch64 code Reviewed-by: shade, tschatzl ! src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/c1_Runtime1_aarch64.cpp ! src/hotspot/cpu/aarch64/frame_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/nativeInst_aarch64.cpp ! src/hotspot/cpu/aarch64/vm_version_aarch64.cpp Changeset: fc652d2a Branch: master Author: Alisen Chung Date: 2024-08-06 21:10:06 +0000 URL: https://git.openjdk.org/loom/commit/fc652d2a58bfd99b05011c051e5710d1dac049ab 8235404: [macos] JOptionPane blocks drawing string on another component Reviewed-by: honkar, dnguyen ! src/java.desktop/share/classes/javax/swing/JOptionPane.java + test/jdk/javax/swing/JOptionPane/OptionPaneInput.java Changeset: 6733b89d Branch: master Author: Chris Plummer Date: 2024-08-06 21:44:30 +0000 URL: https://git.openjdk.org/loom/commit/6733b89de1ed9ebcc1e8a8271970048ad0f0aac3 8337667: sun/tools/jcmd/TestJcmdPIDSubstitution.java is failing on mac and windows Reviewed-by: stuefe, kevinw ! test/jdk/sun/tools/jcmd/TestJcmdPIDSubstitution.java Changeset: 920751e5 Branch: master Author: Alex Menkov Date: 2024-08-06 21:56:48 +0000 URL: https://git.openjdk.org/loom/commit/920751e5d5838dab90438117a77f43876902eb72 8311990: Two JDI tests may interfere with each other Reviewed-by: dholmes, sspitsyn ! test/jdk/com/sun/jdi/JdwpListenTest.java ! test/jdk/com/sun/jdi/JdwpNetProps.java Changeset: 66286b25 Branch: master Author: Tobias Hartmann Date: 2024-08-07 05:32:28 +0000 URL: https://git.openjdk.org/loom/commit/66286b25a183de2ffd0689da9c2bd1978b881aa7 8337968: Problem list compiler/vectorapi/VectorRebracket128Test.java Reviewed-by: chagedorn ! test/hotspot/jtreg/ProblemList.txt Changeset: 41f784fe Branch: master Author: Albert Mingkun Yang Date: 2024-08-07 07:48:05 +0000 URL: https://git.openjdk.org/loom/commit/41f784fe63f8e06a25e1fe00dc96e398874adf81 8335925: Serial: Move allocation API from Generation to subclasses Reviewed-by: gli, kbarrett, iwalulya ! src/hotspot/share/gc/serial/defNewGeneration.cpp ! src/hotspot/share/gc/serial/defNewGeneration.hpp ! src/hotspot/share/gc/serial/generation.hpp ! src/hotspot/share/gc/serial/serialHeap.cpp ! src/hotspot/share/gc/serial/tenuredGeneration.cpp ! src/hotspot/share/gc/serial/tenuredGeneration.hpp ! src/hotspot/share/gc/serial/tenuredGeneration.inline.hpp Changeset: 88a05a85 Branch: master Author: Markus Gr?nlund Date: 2024-08-07 10:24:34 +0000 URL: https://git.openjdk.org/loom/commit/88a05a853ed9e0425ba3315b751a5015bed62675 8337975: [BACKOUT] Native memory leak when not recording any events Reviewed-by: jpai, egahlin ! src/hotspot/share/jfr/recorder/service/jfrRecorderService.cpp Changeset: 21f710e7 Branch: master Author: Joel Sikstr?m Committer: Albert Mingkun Yang Date: 2024-08-07 14:16:01 +0000 URL: https://git.openjdk.org/loom/commit/21f710e7f6698b12b06cc3685cefa31f5fcff2a2 8310675: Fix -Wconversion warnings in ZGC code Reviewed-by: stefank, ayang ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp ! src/hotspot/share/gc/z/zArguments.cpp ! src/hotspot/share/gc/z/zArray.inline.hpp ! src/hotspot/share/gc/z/zBarrier.cpp ! src/hotspot/share/gc/z/zBarrierSetNMethod.cpp ! src/hotspot/share/gc/z/zCPU.inline.hpp ! src/hotspot/share/gc/z/zDirector.cpp ! src/hotspot/share/gc/z/zForwardingAllocator.inline.hpp ! src/hotspot/share/gc/z/zGeneration.cpp ! src/hotspot/share/gc/z/zGeneration.hpp ! src/hotspot/share/gc/z/zHeapIterator.cpp ! src/hotspot/share/gc/z/zHeuristics.cpp ! src/hotspot/share/gc/z/zIndexDistributor.inline.hpp ! src/hotspot/share/gc/z/zLiveMap.cpp ! src/hotspot/share/gc/z/zLiveMap.hpp ! src/hotspot/share/gc/z/zMarkCache.cpp ! src/hotspot/share/gc/z/zMarkStack.cpp ! src/hotspot/share/gc/z/zMetronome.cpp ! src/hotspot/share/gc/z/zNMethod.cpp ! src/hotspot/share/gc/z/zNMethodTable.cpp ! src/hotspot/share/gc/z/zObjArrayAllocator.cpp ! src/hotspot/share/gc/z/zPage.inline.hpp ! src/hotspot/share/gc/z/zPageCache.cpp ! src/hotspot/share/gc/z/zPageTable.inline.hpp ! src/hotspot/share/gc/z/zRelocationSet.cpp ! src/hotspot/share/gc/z/zRelocationSetSelector.cpp ! src/hotspot/share/gc/z/zStat.cpp ! src/hotspot/share/gc/z/zStat.hpp ! src/hotspot/share/gc/z/zStoreBarrierBuffer.cpp ! src/hotspot/share/gc/z/zStoreBarrierBuffer.hpp ! src/hotspot/share/gc/z/zStoreBarrierBuffer.inline.hpp ! src/hotspot/share/gc/z/zUnmapper.cpp ! src/hotspot/share/gc/z/zVerify.cpp Changeset: d19ba81c Branch: master Author: Naoto Sato Date: 2024-08-07 15:58:03 +0000 URL: https://git.openjdk.org/loom/commit/d19ba81ce12a99de1114c1bfe67392f5aee2104e 8337603: Change in behavior with -Djava.locale.useOldISOCodes=true Reviewed-by: iris, bpb ! src/java.base/share/classes/sun/util/locale/provider/LocaleResources.java ! test/jdk/java/util/Locale/LocaleTest.java Changeset: 36d08c21 Branch: master Author: Serguei Spitsyn Date: 2024-08-07 17:41:23 +0000 URL: https://git.openjdk.org/loom/commit/36d08c213d03deddf69ecb9770a3afef73a15444 8336846: assert(state->get_thread() == jt) failed: handshake unsafe conditions Reviewed-by: amenkov, dholmes, cjplummer, pchilanomate, lmesnik ! src/hotspot/share/prims/jvmtiEventController.cpp ! src/hotspot/share/runtime/mutexLocker.cpp Changeset: a5c2d7b3 Branch: master Author: Fernando Guallini Committer: Rajan Halade Date: 2024-08-07 18:24:08 +0000 URL: https://git.openjdk.org/loom/commit/a5c2d7b305407974b3f67c48b8dcb1f8e77abde3 8335172: Add manual steps to run security/auth/callback/TextCallbackHandler/Password.java test Reviewed-by: rhalade ! test/jdk/ProblemList.txt ! test/jdk/TEST.groups ! test/jdk/com/sun/security/auth/callback/TextCallbackHandler/Password.java Changeset: 5e021cbc Branch: master Author: Leonid Mesnik Date: 2024-08-07 20:25:51 +0000 URL: https://git.openjdk.org/loom/commit/5e021cbcc7a6cb30a27380950e115ff12846239c 8337410: The makefiles should set problemlist and adjust timeout basing on the given VM flags Reviewed-by: ihse ! make/RunTests.gmk Changeset: 9b11bd7f Branch: master Author: Jamil Nimeh Date: 2024-08-07 21:06:47 +0000 URL: https://git.openjdk.org/loom/commit/9b11bd7f4a511ddadf9f02e82aab6ba78beb6763 8337826: Improve logging in OCSPTimeout and SimpleOCSPResponder to help diagnose JDK-8309754 Reviewed-by: mullan ! test/jdk/java/security/cert/CertPathValidator/OCSP/OCSPTimeout.java ! test/jdk/java/security/testlibrary/SimpleOCSPServer.java Changeset: 16df9c33 Branch: master Author: Gui Cao Committer: Fei Yang Date: 2024-08-08 05:22:20 +0000 URL: https://git.openjdk.org/loom/commit/16df9c33e9bbc9329ae60ba14332c09aadaba3f0 8337971: Problem list several jvmci tests on linux-riscv64 until JDK-8331704 is fixed Reviewed-by: fyang, shade ! test/hotspot/jtreg/ProblemList.txt Changeset: 1846a65e Branch: master Author: Turkhan Badalov Committer: Chen Liang Date: 2024-08-08 05:34:32 +0000 URL: https://git.openjdk.org/loom/commit/1846a65e32624f6da691c1072f44fcb762b43233 8337205: Typo in Stack vs Deque Method table in Deque specification Reviewed-by: liach ! src/java.base/share/classes/java/util/Deque.java Changeset: fa183590 Branch: master Author: Afshin Zafari Date: 2024-08-08 08:55:05 +0000 URL: https://git.openjdk.org/loom/commit/fa18359007bd80d2e74c07a5a1ea6170e1bd474d 8335981: ProblemList runtime/Thread/TestAlwaysPreTouchStacks.java for MacOS Reviewed-by: tschatzl ! test/hotspot/jtreg/ProblemList.txt Changeset: a9460a69 Branch: master Author: Casper Norrbin Committer: Stefan Karlsson Date: 2024-08-08 10:38:02 +0000 URL: https://git.openjdk.org/loom/commit/a9460a69e74f876274ec64394ac6504580041b21 8337982: Remove dead undef assrt0n Reviewed-by: stefank, dholmes ! src/hotspot/share/memory/metaspace/blockTree.cpp Changeset: 3bc4a1ac Branch: master Author: Tejesh R Date: 2024-08-08 10:40:56 +0000 URL: https://git.openjdk.org/loom/commit/3bc4a1acc4bb1885ddba69283b99bbe02f8e43b7 8233068: HIDPI: Linux: AWT Checkbox check mark is unscaled Reviewed-by: jdv, abhiscxk, honkar ! src/java.desktop/unix/classes/sun/awt/X11/XCheckboxPeer.java + test/jdk/java/awt/Checkbox/CheckboxCheckerScalingTest.java Changeset: 088871ce Branch: master Author: Alexander Zvegintsev Date: 2024-08-08 10:51:47 +0000 URL: https://git.openjdk.org/loom/commit/088871ce36f85fb30b24c49146f547bc8e2b0dcb 8335267: [XWayland] move screencast tokens from .awt to .java folder Reviewed-by: prr, avu ! src/java.desktop/unix/classes/sun/awt/screencast/TokenStorage.java Changeset: 12c553f1 Branch: master Author: Alexander Zvegintsev Date: 2024-08-08 10:51:58 +0000 URL: https://git.openjdk.org/loom/commit/12c553f12876b4095685676f800119c0e275bf44 8329471: Remove GTK2 Reviewed-by: abhiscxk, prr, ihse ! make/modules/java.desktop/lib/AwtLibraries.gmk ! src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKEngine.java ! src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKIconFactory.java ! src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKLookAndFeel.java ! src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKPainter.java ! src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKStyle.java ! src/java.desktop/unix/classes/sun/awt/UNIXToolkit.java - src/java.desktop/unix/native/libawt_xawt/awt/gtk2_interface.c - src/java.desktop/unix/native/libawt_xawt/awt/gtk2_interface.h ! src/java.desktop/unix/native/libawt_xawt/awt/gtk_interface.c ! src/java.desktop/unix/native/libawt_xawt/awt/screencast_pipewire.c ! test/jdk/java/awt/Gtk/GtkVersionTest/GtkVersionTest.java ! test/jdk/java/awt/Robot/HiDPIScreenCapture/ScreenCaptureGtkTest.java ! test/jdk/javax/swing/LookAndFeel/8145547/DemandGTK.java - test/jdk/javax/swing/LookAndFeel/8145547/DemandGTK2.sh - test/jdk/javax/swing/LookAndFeel/8145547/DemandGTK2.txt ! test/jdk/javax/swing/LookAndFeel/8145547/DemandGTK3.sh Changeset: ddbd7a78 Branch: master Author: Alexander Zvegintsev Date: 2024-08-08 10:53:23 +0000 URL: https://git.openjdk.org/loom/commit/ddbd7a78f191462695ecbeeef7fd6312e322b15a 8337320: Update ProblemList.txt with tests known to fail on XWayland Reviewed-by: prr ! test/jdk/ProblemList.txt Changeset: 4b740d87 Branch: master Author: Erik Gahlin Date: 2024-08-08 10:57:43 +0000 URL: https://git.openjdk.org/loom/commit/4b740d87ee50ba49305add4aae6490bebb6963ba 8225209: jdk/jfr/event/compiler/TestCodeSweeper.java fails Reviewed-by: mgronlun ! test/jdk/ProblemList.txt ! test/jdk/jdk/jfr/event/compiler/TestCodeSweeper.java Changeset: 6a9a867d Branch: master Author: Markus Gr?nlund Date: 2024-08-08 14:38:46 +0000 URL: https://git.openjdk.org/loom/commit/6a9a867d645b8fe86f4ca2b04a43bf5aa8f9d487 8337994: [REDO] Native memory leak when not recording any events Reviewed-by: egahlin ! src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeSet.cpp ! src/hotspot/share/jfr/recorder/service/jfrRecorderService.cpp Changeset: 78773b17 Branch: master Author: Joe Darcy Date: 2024-08-08 15:52:17 +0000 URL: https://git.openjdk.org/loom/commit/78773b1769922611318243b6680d59518ed4e015 8338015: Fix "Java Java" typo in package info file of java.lang.classfile Reviewed-by: jiefu, jpai, liach ! src/java.base/share/classes/java/lang/classfile/package-info.java Changeset: 9695f095 Branch: master Author: Coleen Phillimore Date: 2024-08-08 16:11:08 +0000 URL: https://git.openjdk.org/loom/commit/9695f09581bac856ad97943cca15c65dc21d2adf 8337683: Fix -Wconversion problem with arrayOop.hpp Reviewed-by: stefank, dholmes ! src/hotspot/share/oops/arrayOop.hpp ! src/hotspot/share/runtime/atomic.hpp ! src/hotspot/share/utilities/byteswap.hpp Changeset: 53c9f037 Branch: master Author: Jiangli Zhou Date: 2024-08-08 16:31:02 +0000 URL: https://git.openjdk.org/loom/commit/53c9f037fb2805aab5ab9729166ce7d5bc7a77f9 8336849: Remove .llvm_addrsig section from JDK/VM static libraries (.a files) Reviewed-by: ihse ! make/common/native/Link.gmk Changeset: bfb75b96 Branch: master Author: Roger Riggs Date: 2024-08-08 16:53:38 +0000 URL: https://git.openjdk.org/loom/commit/bfb75b96266f4c5840e2edea13f9aa2c801518cf 8336926: jdk/internal/util/ReferencedKeyTest.java can fail with ConcurrentModificationException Reviewed-by: bpb, shade, dfuchs ! src/java.base/share/classes/jdk/internal/util/ReferencedKeyMap.java Changeset: e7a0b5b0 Branch: master Author: Markus Gr?nlund Date: 2024-08-08 18:45:11 +0000 URL: https://git.openjdk.org/loom/commit/e7a0b5b09bcfcd8b09667e51ec588e206f0652ff 8334780: Crash: assert(h_array_list.not_null()) failed: invariant Reviewed-by: egahlin, shade ! src/hotspot/share/jfr/support/jfrJdkJfrEvent.cpp Changeset: 9f08a01c Branch: master Author: Leonid Mesnik Date: 2024-08-08 19:47:50 +0000 URL: https://git.openjdk.org/loom/commit/9f08a01cb6ebb08f67749aabdff4efaedfaf3228 8338010: WB_IsFrameDeoptimized miss ResourceMark Reviewed-by: dholmes, shade ! src/hotspot/share/prims/whitebox.cpp Changeset: 55c50970 Branch: master Author: Jiawei Tang Date: 2024-08-09 02:29:15 +0000 URL: https://git.openjdk.org/loom/commit/55c509708e9b89a7609fd41b6e5a271f250bbacd 8337331: crash: pinned virtual thread will lead to jvm crash when running with the javaagent option Reviewed-by: dholmes, sspitsyn ! src/hotspot/share/prims/jvmtiExport.cpp + test/hotspot/jtreg/serviceability/jvmti/vthread/TestPinCaseWithCFLH/TestPinCaseWithCFLH.java Changeset: 0c1e9111 Branch: master Author: Gui Cao Committer: Fei Yang Date: 2024-08-09 02:59:37 +0000 URL: https://git.openjdk.org/loom/commit/0c1e9111d226b601236b9826e27ecc67a8b625fb 8338019: Fix simple -Wzero-as-null-pointer-constant warnings in riscv code Reviewed-by: fyang, mli, luhenry ! src/hotspot/cpu/riscv/c1_LIRAssembler_riscv.cpp ! src/hotspot/cpu/riscv/c1_Runtime1_riscv.cpp ! src/hotspot/cpu/riscv/frame_riscv.cpp ! src/hotspot/cpu/riscv/nativeInst_riscv.cpp Changeset: 9ab8c6b9 Branch: master Author: Abhishek Kumar Date: 2024-08-09 05:09:27 +0000 URL: https://git.openjdk.org/loom/commit/9ab8c6b9ba90ffd12600a250c8704571e9feb78d 8335130: The test "javax/swing/plaf/synth/ComponentsOrientationSupport/5033822/bug5033822.java" fails because the background color of the tabs is displayed incorrectly. Reviewed-by: achung, psadhukhan ! src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKPainter.java ! src/java.desktop/share/classes/javax/swing/plaf/nimbus/SynthPainterImpl.java ! src/java.desktop/share/classes/javax/swing/plaf/synth/SynthTabbedPaneUI.java Changeset: 00aac409 Branch: master Author: Matthias Baesken Date: 2024-08-09 06:26:22 +0000 URL: https://git.openjdk.org/loom/commit/00aac4097abd3c5e6144734cfd44228bc31892fb 8338058: map_or_reserve_memory_aligned Windows enhance remap assertion Reviewed-by: mdoerr, clanger ! src/hotspot/os/windows/os_windows.cpp Changeset: c01f53ac Branch: master Author: Christian Hagedorn Date: 2024-08-09 07:17:59 +0000 URL: https://git.openjdk.org/loom/commit/c01f53ac2dab1d4d2cd1e4d45a67f9373d4a9c7e 8337876: [IR Framework] Add support for IR tests with @Stable Reviewed-by: shade, kvn ! test/hotspot/jtreg/compiler/lib/ir_framework/README.md ! test/hotspot/jtreg/compiler/lib/ir_framework/TestFramework.java ! test/hotspot/jtreg/compiler/lib/ir_framework/driver/TestVMProcess.java ! test/hotspot/jtreg/testlibrary_tests/ir_framework/tests/TestPhaseIRMatching.java + test/hotspot/jtreg/testlibrary_tests/ir_framework/tests/TestPrivilegedMode.java Changeset: 82d5768c Branch: master Author: Andrey Turbanov Date: 2024-08-09 07:20:01 +0000 URL: https://git.openjdk.org/loom/commit/82d5768c1bdccfaf97a41f32a8bfcfd03a0fb378 8337840: Remove redundant null check in ObjectOutputStream.writeProxyDesc Reviewed-by: rriggs ! src/java.base/share/classes/java/io/ObjectOutputStream.java Changeset: f74109bd Branch: master Author: Joel Sikstr?m Date: 2024-08-09 07:29:56 +0000 URL: https://git.openjdk.org/loom/commit/f74109bd178c92a9dff1ca6fce03b25f51a0384f 8337939: ZGC: Make assertions and checks less convoluted and explicit Reviewed-by: stefank, ayang, eosterlund ! src/hotspot/share/gc/z/zAddress.cpp ! src/hotspot/share/gc/z/zAddress.inline.hpp ! src/hotspot/share/gc/z/zBarrier.inline.hpp ! src/hotspot/share/gc/z/zBarrierSet.inline.hpp ! src/hotspot/share/gc/z/zHeapIterator.cpp ! src/hotspot/share/gc/z/zMark.cpp ! src/hotspot/share/gc/z/zMark.inline.hpp ! src/hotspot/share/gc/z/zPage.inline.hpp ! src/hotspot/share/gc/z/zReferenceProcessor.cpp ! src/hotspot/share/gc/z/zVerify.cpp Changeset: 53fce38a Branch: master Author: Erik Gahlin Date: 2024-08-09 07:53:15 +0000 URL: https://git.openjdk.org/loom/commit/53fce38a3ff8700fef640fffc066efc21ff9c25f 8338062: JFR: Remove TestStartDuration.java and TestStartName.java from ProblemList.txt Reviewed-by: mgronlun ! test/jdk/ProblemList.txt Changeset: 6ebd5d74 Branch: master Author: Albert Mingkun Yang Date: 2024-08-09 08:23:44 +0000 URL: https://git.openjdk.org/loom/commit/6ebd5d74d57b334e7cf0b1282d7bb469a56fb3d6 8338036: Serial: Remove Generation::update_counters Reviewed-by: kbarrett ! src/hotspot/share/gc/serial/generation.hpp Changeset: c37e8638 Branch: master Author: Hamlin Li Date: 2024-08-09 09:12:41 +0000 URL: https://git.openjdk.org/loom/commit/c37e8638c98cb4516569304e9a0ab477affb0641 8314125: RISC-V: implement Base64 intrinsic - encoding Reviewed-by: fyang, luhenry ! src/hotspot/cpu/riscv/assembler_riscv.hpp ! src/hotspot/cpu/riscv/stubGenerator_riscv.cpp ! src/hotspot/cpu/riscv/vm_version_riscv.cpp Changeset: 14071607 Branch: master Author: Hannes Walln?fer Date: 2024-08-09 09:24:50 +0000 URL: https://git.openjdk.org/loom/commit/140716078694a338e2c2f837841761262cee5542 8313931: Javadoc: links to type parameters actually generate links to classes Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlIds.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlLinkFactory.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script.js.template ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/stylesheet.css ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/taglets/LinkTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/taglets/ParamTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/CommentHelper.java ! test/langtools/jdk/javadoc/doclet/testDeprecatedDocs/TestDeprecatedDocs.java ! test/langtools/jdk/javadoc/doclet/testDirectedInheritance/TestDirectedInheritance.java ! test/langtools/jdk/javadoc/doclet/testErasure/TestErasure.java ! test/langtools/jdk/javadoc/doclet/testGenericMethodLinkTaglet/TestGenericMethodLinkTaglet.java ! test/langtools/jdk/javadoc/doclet/testHref/TestHref.java ! test/langtools/jdk/javadoc/doclet/testInterface/TestInterface.java + test/langtools/jdk/javadoc/doclet/testLinkTaglet/TestLinkTagletTypeParam.java ! test/langtools/jdk/javadoc/doclet/testMemberInheritance/TestMemberInheritance.java ! test/langtools/jdk/javadoc/doclet/testModules/TestModules.java ! test/langtools/jdk/javadoc/doclet/testNewLanguageFeatures/TestNewLanguageFeatures.java ! test/langtools/jdk/javadoc/doclet/testParamTaglet/TestParamTaglet.java ! test/langtools/jdk/javadoc/doclet/testProperty/TestProperty.java ! test/langtools/jdk/javadoc/doclet/testRecordTypes/TestRecordTypes.java ! test/langtools/jdk/javadoc/doclet/testSerializedForm/TestSerializedForm.java ! test/langtools/jdk/javadoc/doclet/testThrows/TestThrows.java ! test/langtools/jdk/javadoc/doclet/testTypeParams/TestTypeParameters.java ! test/langtools/jdk/javadoc/doclet/testTypeParams/pkg/CtorTypeParam.java ! test/langtools/jdk/javadoc/doclet/testUnicode/TestUnicode.java Changeset: 2b5aec2a Branch: master Author: Alexander Zvegintsev Date: 2024-08-09 11:28:59 +0000 URL: https://git.openjdk.org/loom/commit/2b5aec2aad3883d4d407ec3a572f78755d60190d 8338109: java/awt/Mouse/EnterExitEvents/ResizingFrameTest.java duplicate in ProblemList Reviewed-by: aivanov ! test/jdk/ProblemList.txt Changeset: 069e0ea6 Branch: master Author: Coleen Phillimore Date: 2024-08-09 12:00:15 +0000 URL: https://git.openjdk.org/loom/commit/069e0ea69f43960164d3e077d2c7b950cde77927 8338064: Give better error for ConcurrentHashTable corruption Reviewed-by: dholmes, shade ! src/hotspot/share/utilities/concurrentHashTable.hpp ! src/hotspot/share/utilities/concurrentHashTable.inline.hpp + test/hotspot/jtreg/runtime/stringtable/StringTableCorruptionTest.java Changeset: 3cf3f300 Branch: master Author: Casper Norrbin Committer: Sonia Zaldana Calles Date: 2024-08-09 14:32:29 +0000 URL: https://git.openjdk.org/loom/commit/3cf3f300de1e9d2c8767877ed3a26679e34b7d22 8330191: Fix typo in precompiled.hpp Reviewed-by: jsjolen, szaldana ! src/hotspot/share/precompiled/precompiled.hpp Changeset: 60fa08fc Branch: master Author: Vladimir Kozlov Date: 2024-08-09 17:08:19 +0000 URL: https://git.openjdk.org/loom/commit/60fa08fcfe5c6551ee3120330ade93e45df618c7 8337797: Additional ExternalAddress cleanup Reviewed-by: adinn, thartmann ! src/hotspot/cpu/aarch64/jniFastGetField_aarch64.cpp ! src/hotspot/cpu/riscv/jniFastGetField_riscv.cpp ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/jniFastGetField_x86_32.cpp ! src/hotspot/cpu/x86/jniFastGetField_x86_64.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64_arraycopy.cpp ! src/hotspot/os_cpu/windows_x86/os_windows_x86.cpp Changeset: 358d77da Branch: master Author: Dmitry Chuyko Date: 2024-08-09 17:56:37 +0000 URL: https://git.openjdk.org/loom/commit/358d77dafbe0e35d5b20340fccddc0fb8f3db82a 8337657: AArch64: No need for acquire fence in safepoint poll during JNI calls Reviewed-by: phh ! src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp ! src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp From duke at openjdk.org Mon Aug 12 09:16:39 2024 From: duke at openjdk.org (duke) Date: Mon, 12 Aug 2024 09:16:39 GMT Subject: git: openjdk/loom: fibers: 7 new changesets Message-ID: <3ce15c28-6209-4721-a38a-35c39b4919ba@openjdk.org> Changeset: 94461d27 Branch: fibers Author: Alan Bateman Date: 2024-08-12 08:27:15 +0000 URL: https://git.openjdk.org/loom/commit/94461d279644ac07b3a33231a300adc31b227729 VirtualThreadSchedulerMXBean ! src/java.base/share/classes/module-info.java ! src/jdk.management/share/classes/com/sun/management/internal/PlatformMBeanProviderImpl.java + src/jdk.management/share/classes/com/sun/management/internal/VirtualThreadSchedulerImpl.java ! src/jdk.management/share/classes/com/sun/management/package-info.java + src/jdk.management/share/classes/jdk/management/VirtualThreadSchedulerMXBean.java + src/jdk.management/share/classes/jdk/management/package-info.java ! src/jdk.management/share/classes/module-info.java ! test/jdk/TEST.groups + test/jdk/jdk/management/VirtualThreadSchedulerMXBean/VirtualThreadSchedulerMXBeanTest.java ! test/lib/jdk/test/lib/thread/VThreadRunner.java Changeset: bb50726f Branch: fibers Author: Alan Bateman Date: 2024-08-12 08:27:38 +0000 URL: https://git.openjdk.org/loom/commit/bb50726f8a262688da6c9691031ade1eaac58fa6 jcmd Thread.vthread_summary cleanup ! src/java.base/share/classes/jdk/internal/vm/VThreadSummary.java Changeset: 4ff20085 Branch: fibers Author: Alan Bateman Date: 2024-08-12 08:31:16 +0000 URL: https://git.openjdk.org/loom/commit/4ff20085a522a77bf0411197569225bde0634c29 Rename setLockId to setCurrentLockId ! src/hotspot/share/classfile/vmIntrinsics.cpp ! src/hotspot/share/classfile/vmIntrinsics.hpp ! src/hotspot/share/include/jvm.h ! src/hotspot/share/opto/c2compiler.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/library_call.hpp ! src/hotspot/share/prims/jvm.cpp ! src/java.base/share/classes/java/lang/Thread.java ! src/java.base/share/classes/java/lang/VirtualThread.java ! src/java.base/share/native/libjava/Thread.c ! src/java.base/share/native/libjava/VirtualThread.c Changeset: 51c49257 Branch: fibers Author: Alan Bateman Date: 2024-08-12 08:42:05 +0000 URL: https://git.openjdk.org/loom/commit/51c492579b832f1fe51cae141a717e0a41b6833c Print warning if experimental implClass used ! src/java.base/share/classes/java/lang/VirtualThread.java Changeset: c559cd80 Branch: fibers Author: Alan Bateman Date: 2024-08-12 08:44:36 +0000 URL: https://git.openjdk.org/loom/commit/c559cd80248f093932f3bb57aefe7fedd14b9bd7 Add RE as possible condition to resubmit ! src/java.base/share/classes/java/lang/VirtualThread.java Changeset: 4a9247f2 Branch: fibers Author: Alan Bateman Date: 2024-08-12 08:44:56 +0000 URL: https://git.openjdk.org/loom/commit/4a9247f23e8fcb1e95e2ec39dcfb0d8425b7d7ee cap delay to 146 years to avoid overflow in STPE ! src/java.base/share/classes/java/lang/VirtualThread.java Changeset: cfcc05f5 Branch: fibers Author: Alan Bateman Date: 2024-08-12 09:46:44 +0000 URL: https://git.openjdk.org/loom/commit/cfcc05f57f0b5f212493da3a2abbac6abed2a48e ensureParallelism should be no-op when testing with -XX:-VMContinuations ! test/lib/jdk/test/lib/thread/VThreadRunner.java From robaho at icloud.com Mon Aug 12 19:03:53 2024 From: robaho at icloud.com (robert engels) Date: Mon, 12 Aug 2024 14:03:53 -0500 Subject: Loom and high performance networking Message-ID: <85633494-27F6-427E-96B1-40D9CFBBC50D@icloud.com> Hi. I believe I have discovered what is essentially a priority inversion problem in the Loom network stack. I have been comparing a NIO based http server framework with one using VT. The VT framework when using the Loom defaults consistently uses significantly more CPU and achieves less throughput and overall performance. By lowering the parallelism, the VT framework exceeds the NIO framework in throughput and overall performance. My research and hypothesis is that if you create as many carrier threads as CPUs, then they compete withe the network poller threads. By reducing the number of carrier threads, the poller can run. If the poller can?t run, then many/all of the carrier threads will eventually park waiting for a runnable task, but there won?t be one until the poller runs - which is why the poller must have priority over the carrier threads. I believe the best solution would be to lower the native priority of carrier threads as explicitly configuring the number of carrier threads accurately will be nearly impossible for varied workloads. I suspect this would also help GC be more deterministic as well. Using default parallelism: robertengels at macmini go-wrk % ./go-wrk -c 1000 -d 30 -T 10000 http://imac:8080/plaintext Running 30s test @ http://imac:8080/plaintext 1000 goroutine(s) running concurrently 3557027 requests in 29.525311463s, 424.03MB read Requests/sec: 120473.82 Transfer/sec: 14.36MB Overall Requests/sec: 116021.08 Overall Transfer/sec: 13.83MB Fastest Request: 112?s Avg Req Time: 8.3ms Slowest Request: 839.967ms Number of Errors: 2465 Error Counts: broken pipe=2,connection reset by peer=2451,net/http: timeout awaiting response headers=12 10%: 2.102ms 50%: 2.958ms 75%: 3.108ms 99%: 3.198ms 99.9%: 3.201ms 99.9999%: 3.201ms 99.99999%: 3.201ms stddev: 32.52ms and using reduced parallelism of 3: robertengels at macmini go-wrk % ./go-wrk -c 1000 -d 30 -T 10000 http://imac:8080/plaintext Running 30s test @ http://imac:8080/plaintext 1000 goroutine(s) running concurrently 4059418 requests in 29.092649689s, 483.92MB read Requests/sec: 139534.14 Transfer/sec: 16.63MB Overall Requests/sec: 132608.44 Overall Transfer/sec: 15.81MB Fastest Request: 115?s Avg Req Time: 7.166ms Slowest Request: 811.999ms Number of Errors: 2361 Error Counts: net/http: timeout awaiting response headers=51,connection reset by peer=2310 10%: 1.899ms 50%: 2.383ms 75%: 2.478ms 99%: 2.541ms 99.9%: 2.543ms 99.9999%: 2.544ms 99.99999%: 2.544ms stddev: 32.88ms More importantly, the reduced parallelism has a cpu idle percentage of 30% (which matches the NIO framework) whereas the default parallelism has an idle of near 0 % (due to scheduler thrashing). The attached JFR screenshot (I have also attached the JFR captures) tells the story. #2 is the VT with default parallelism. #3 is the NIO based framework, and #4 is VT with reduced parallelism. #2 clearly shows the thrashing that is occurring with threads parking and unparking and the scheduler waiting for work. -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: PastedGraphic-1.png Type: image/png Size: 1006974 bytes Desc: not available URL: -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: profile2.jfr Type: application/octet-stream Size: 586573 bytes Desc: not available URL: -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: profile3.jfr Type: application/octet-stream Size: 451624 bytes Desc: not available URL: -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: profile4.jfr Type: application/octet-stream Size: 466975 bytes Desc: not available URL: -------------- next part -------------- An HTML attachment was scrubbed... URL: From ron.pressler at oracle.com Mon Aug 12 19:17:47 2024 From: ron.pressler at oracle.com (Ron Pressler) Date: Mon, 12 Aug 2024 19:17:47 +0000 Subject: Loom and high performance networking In-Reply-To: <85633494-27F6-427E-96B1-40D9CFBBC50D@icloud.com> References: <85633494-27F6-427E-96B1-40D9CFBBC50D@icloud.com> Message-ID: <72D202DE-3BD2-43EE-8B41-8A89E80F2479@oracle.com> What JDK are you using? I believe that as of JDK 22 there are no longer poller threads (polling is done by virtual threads running under the same scheduler). If you haven?t tried with JDK 22, try it; you may get better results. There is an inherent tension between scheduling under high loads and scheduling under lower loads. The problem is that to make a scheduler highly efficient at high loads you need to minimise the coordination among threads, which means that under utilisation cannot be easily detected (it?s easy for a thread to unilaterally detect it?s under heavy load when its submission queue grows, but detecting that fewer threads are needed requires coordination). The virtual thread scheduler is a work-stealing scheduler that prioritises higher loads over lower loads. In the future we may allow plugging in schedulers that are more adaptive to changing loads in exchange for being less efficient under high loads. Note that sizing the virtual thread scheduler is no harder than sizing a thread pool. The difference is that people are more used to more adaptive but less efficient thread pools. ? Ron > On 12 Aug 2024, at 20:03, robert engels wrote: > > Hi. > > I believe I have discovered what is essentially a priority inversion problem in the Loom network stack. > > I have been comparing a NIO based http server framework with one using VT. > > The VT framework when using the Loom defaults consistently uses significantly more CPU and achieves less throughput and overall performance. > > By lowering the parallelism, the VT framework exceeds the NIO framework in throughput and overall performance. > > My research and hypothesis is that if you create as many carrier threads as CPUs, then they compete withe the network poller threads. By reducing the number of carrier threads, the poller can run. If the poller can?t run, then many/all of the carrier threads will eventually park waiting for a runnable task, but there won?t be one until the poller runs - which is why the poller must have priority over the carrier threads. > > I believe the best solution would be to lower the native priority of carrier threads as explicitly configuring the number of carrier threads accurately will be nearly impossible for varied workloads. I suspect this would also help GC be more deterministic as well. > > Using default parallelism: > > robertengels at macmini go-wrk % ./go-wrk -c 1000 -d 30 -T 10000 http://imac:8080/plaintext > Running 30s test @ http://imac:8080/plaintext > 1000 goroutine(s) running concurrently > 3557027 requests in 29.525311463s, 424.03MB read > Requests/sec: 120473.82 > Transfer/sec: 14.36MB > Overall Requests/sec: 116021.08 > Overall Transfer/sec: 13.83MB > Fastest Request: 112?s > Avg Req Time: 8.3ms > Slowest Request: 839.967ms > Number of Errors: 2465 > Error Counts: broken pipe=2,connection reset by peer=2451,net/http: timeout awaiting response headers=12 > 10%: 2.102ms > 50%: 2.958ms > 75%: 3.108ms > 99%: 3.198ms > 99.9%: 3.201ms > 99.9999%: 3.201ms > 99.99999%: 3.201ms > stddev: 32.52ms > > and using reduced parallelism of 3: > > robertengels at macmini go-wrk % ./go-wrk -c 1000 -d 30 -T 10000 http://imac:8080/plaintext > Running 30s test @ http://imac:8080/plaintext > 1000 goroutine(s) running concurrently > 4059418 requests in 29.092649689s, 483.92MB read > Requests/sec: 139534.14 > Transfer/sec: 16.63MB > Overall Requests/sec: 132608.44 > Overall Transfer/sec: 15.81MB > Fastest Request: 115?s > Avg Req Time: 7.166ms > Slowest Request: 811.999ms > Number of Errors: 2361 > Error Counts: net/http: timeout awaiting response headers=51,connection reset by peer=2310 > 10%: 1.899ms > 50%: 2.383ms > 75%: 2.478ms > 99%: 2.541ms > 99.9%: 2.543ms > 99.9999%: 2.544ms > 99.99999%: 2.544ms > stddev: 32.88ms > > More importantly, the reduced parallelism has a cpu idle percentage of 30% (which matches the NIO framework) whereas the default parallelism has an idle of near 0 % (due to scheduler thrashing). > > The attached JFR screenshot (I have also attached the JFR captures) tells the story. #2 is the VT with default parallelism. #3 is the NIO based framework, and #4 is VT with reduced parallelism. #2 clearly shows the thrashing that is occurring with threads parking and unparking and the scheduler waiting for work. > > > > > From robaho at icloud.com Mon Aug 12 19:29:43 2024 From: robaho at icloud.com (Robert Engels) Date: Mon, 12 Aug 2024 14:29:43 -0500 Subject: Loom and high performance networking In-Reply-To: <72D202DE-3BD2-43EE-8B41-8A89E80F2479@oracle.com> References: <85633494-27F6-427E-96B1-40D9CFBBC50D@icloud.com> <72D202DE-3BD2-43EE-8B41-8A89E80F2479@oracle.com> Message-ID: Sorry, I should have included that. I am using (build 24-loom+3-33) - which is still using Pollers. As to sizing the pool - it would need to be based on the current connect count and their activity (and the configuration of number of pollers, etc.) - which I think for many (most?) systems would be hard to predict? This is why I contend that it would be better to lower the native priority of the carrier threads - I think it solves the sizing problem nicely (sorry the pun). If the available CPU is being exhausted by platform threads, then most likely the VT threads shouldn?t run at all (especially since they are non timesliced) - as the system is already in an overloaded state - and this would accomplish that. In this particular case it is a very high load, so unless I am misunderstanding you, I don?t think the scheduler is prioritizing correctly - since lowering the parallelism improves the situation. > On Aug 12, 2024, at 2:17 PM, Ron Pressler wrote: > > What JDK are you using? I believe that as of JDK 22 there are no longer poller threads (polling is done by virtual threads running under the same scheduler). If you haven?t tried with JDK 22, try it; you may get better results. > > There is an inherent tension between scheduling under high loads and scheduling under lower loads. The problem is that to make a scheduler highly efficient at high loads you need to minimise the coordination among threads, which means that under utilisation cannot be easily detected (it?s easy for a thread to unilaterally detect it?s under heavy load when its submission queue grows, but detecting that fewer threads are needed requires coordination). > > The virtual thread scheduler is a work-stealing scheduler that prioritises higher loads over lower loads. In the future we may allow plugging in schedulers that are more adaptive to changing loads in exchange for being less efficient under high loads. Note that sizing the virtual thread scheduler is no harder than sizing a thread pool. The difference is that people are more used to more adaptive but less efficient thread pools. > > ? Ron > > >> On 12 Aug 2024, at 20:03, robert engels wrote: >> >> Hi. >> >> I believe I have discovered what is essentially a priority inversion problem in the Loom network stack. >> >> I have been comparing a NIO based http server framework with one using VT. >> >> The VT framework when using the Loom defaults consistently uses significantly more CPU and achieves less throughput and overall performance. >> >> By lowering the parallelism, the VT framework exceeds the NIO framework in throughput and overall performance. >> >> My research and hypothesis is that if you create as many carrier threads as CPUs, then they compete withe the network poller threads. By reducing the number of carrier threads, the poller can run. If the poller can?t run, then many/all of the carrier threads will eventually park waiting for a runnable task, but there won?t be one until the poller runs - which is why the poller must have priority over the carrier threads. >> >> I believe the best solution would be to lower the native priority of carrier threads as explicitly configuring the number of carrier threads accurately will be nearly impossible for varied workloads. I suspect this would also help GC be more deterministic as well. >> >> Using default parallelism: >> >> robertengels at macmini go-wrk % ./go-wrk -c 1000 -d 30 -T 10000 http://imac:8080/plaintext >> Running 30s test @ http://imac:8080/plaintext >> 1000 goroutine(s) running concurrently >> 3557027 requests in 29.525311463s, 424.03MB read >> Requests/sec: 120473.82 >> Transfer/sec: 14.36MB >> Overall Requests/sec: 116021.08 >> Overall Transfer/sec: 13.83MB >> Fastest Request: 112?s >> Avg Req Time: 8.3ms >> Slowest Request: 839.967ms >> Number of Errors: 2465 >> Error Counts: broken pipe=2,connection reset by peer=2451,net/http: timeout awaiting response headers=12 >> 10%: 2.102ms >> 50%: 2.958ms >> 75%: 3.108ms >> 99%: 3.198ms >> 99.9%: 3.201ms >> 99.9999%: 3.201ms >> 99.99999%: 3.201ms >> stddev: 32.52ms >> >> and using reduced parallelism of 3: >> >> robertengels at macmini go-wrk % ./go-wrk -c 1000 -d 30 -T 10000 http://imac:8080/plaintext >> Running 30s test @ http://imac:8080/plaintext >> 1000 goroutine(s) running concurrently >> 4059418 requests in 29.092649689s, 483.92MB read >> Requests/sec: 139534.14 >> Transfer/sec: 16.63MB >> Overall Requests/sec: 132608.44 >> Overall Transfer/sec: 15.81MB >> Fastest Request: 115?s >> Avg Req Time: 7.166ms >> Slowest Request: 811.999ms >> Number of Errors: 2361 >> Error Counts: net/http: timeout awaiting response headers=51,connection reset by peer=2310 >> 10%: 1.899ms >> 50%: 2.383ms >> 75%: 2.478ms >> 99%: 2.541ms >> 99.9%: 2.543ms >> 99.9999%: 2.544ms >> 99.99999%: 2.544ms >> stddev: 32.88ms >> >> More importantly, the reduced parallelism has a cpu idle percentage of 30% (which matches the NIO framework) whereas the default parallelism has an idle of near 0 % (due to scheduler thrashing). >> >> The attached JFR screenshot (I have also attached the JFR captures) tells the story. #2 is the VT with default parallelism. #3 is the NIO based framework, and #4 is VT with reduced parallelism. #2 clearly shows the thrashing that is occurring with threads parking and unparking and the scheduler waiting for work. >> >> >> >> >> > From robaho at icloud.com Mon Aug 12 19:32:20 2024 From: robaho at icloud.com (Robert Engels) Date: Mon, 12 Aug 2024 14:32:20 -0500 Subject: Loom and high performance networking In-Reply-To: References: <85633494-27F6-427E-96B1-40D9CFBBC50D@icloud.com> <72D202DE-3BD2-43EE-8B41-8A89E80F2479@oracle.com> Message-ID: Also, the JDK poller may be specific in that I am on OSX, but when I look at the default poller mode code, it is system threads: https://github.com/openjdk/loom/blob/cfcc05f57f0b5f212493da3a2abbac6abed2a48e/src/java.base/share/classes/sun/nio/ch/PollerProvider.java#L48 I think for Linux it is changed to be VT threads : https://github.com/openjdk/loom/blob/cfcc05f57f0b5f212493da3a2abbac6abed2a48e/src/java.base/linux/classes/sun/nio/ch/DefaultPollerProvider.java#L38 > On Aug 12, 2024, at 2:29 PM, Robert Engels wrote: > > Sorry, I should have included that. I am using (build 24-loom+3-33) - which is still using Pollers. > > As to sizing the pool - it would need to be based on the current connect count and their activity (and the configuration of number of pollers, etc.) - which I think for many (most?) systems would be hard to predict? > > This is why I contend that it would be better to lower the native priority of the carrier threads - I think it solves the sizing problem nicely (sorry the pun). > > If the available CPU is being exhausted by platform threads, then most likely the VT threads shouldn?t run at all (especially since they are non timesliced) - as the system is already in an overloaded state - and this would accomplish that. > > In this particular case it is a very high load, so unless I am misunderstanding you, I don?t think the scheduler is prioritizing correctly - since lowering the parallelism improves the situation. > >> On Aug 12, 2024, at 2:17 PM, Ron Pressler wrote: >> >> What JDK are you using? I believe that as of JDK 22 there are no longer poller threads (polling is done by virtual threads running under the same scheduler). If you haven?t tried with JDK 22, try it; you may get better results. >> >> There is an inherent tension between scheduling under high loads and scheduling under lower loads. The problem is that to make a scheduler highly efficient at high loads you need to minimise the coordination among threads, which means that under utilisation cannot be easily detected (it?s easy for a thread to unilaterally detect it?s under heavy load when its submission queue grows, but detecting that fewer threads are needed requires coordination). >> >> The virtual thread scheduler is a work-stealing scheduler that prioritises higher loads over lower loads. In the future we may allow plugging in schedulers that are more adaptive to changing loads in exchange for being less efficient under high loads. Note that sizing the virtual thread scheduler is no harder than sizing a thread pool. The difference is that people are more used to more adaptive but less efficient thread pools. >> >> ? Ron >> >> >>> On 12 Aug 2024, at 20:03, robert engels wrote: >>> >>> Hi. >>> >>> I believe I have discovered what is essentially a priority inversion problem in the Loom network stack. >>> >>> I have been comparing a NIO based http server framework with one using VT. >>> >>> The VT framework when using the Loom defaults consistently uses significantly more CPU and achieves less throughput and overall performance. >>> >>> By lowering the parallelism, the VT framework exceeds the NIO framework in throughput and overall performance. >>> >>> My research and hypothesis is that if you create as many carrier threads as CPUs, then they compete withe the network poller threads. By reducing the number of carrier threads, the poller can run. If the poller can?t run, then many/all of the carrier threads will eventually park waiting for a runnable task, but there won?t be one until the poller runs - which is why the poller must have priority over the carrier threads. >>> >>> I believe the best solution would be to lower the native priority of carrier threads as explicitly configuring the number of carrier threads accurately will be nearly impossible for varied workloads. I suspect this would also help GC be more deterministic as well. >>> >>> Using default parallelism: >>> >>> robertengels at macmini go-wrk % ./go-wrk -c 1000 -d 30 -T 10000 http://imac:8080/plaintext >>> Running 30s test @ http://imac:8080/plaintext >>> 1000 goroutine(s) running concurrently >>> 3557027 requests in 29.525311463s, 424.03MB read >>> Requests/sec: 120473.82 >>> Transfer/sec: 14.36MB >>> Overall Requests/sec: 116021.08 >>> Overall Transfer/sec: 13.83MB >>> Fastest Request: 112?s >>> Avg Req Time: 8.3ms >>> Slowest Request: 839.967ms >>> Number of Errors: 2465 >>> Error Counts: broken pipe=2,connection reset by peer=2451,net/http: timeout awaiting response headers=12 >>> 10%: 2.102ms >>> 50%: 2.958ms >>> 75%: 3.108ms >>> 99%: 3.198ms >>> 99.9%: 3.201ms >>> 99.9999%: 3.201ms >>> 99.99999%: 3.201ms >>> stddev: 32.52ms >>> >>> and using reduced parallelism of 3: >>> >>> robertengels at macmini go-wrk % ./go-wrk -c 1000 -d 30 -T 10000 http://imac:8080/plaintext >>> Running 30s test @ http://imac:8080/plaintext >>> 1000 goroutine(s) running concurrently >>> 4059418 requests in 29.092649689s, 483.92MB read >>> Requests/sec: 139534.14 >>> Transfer/sec: 16.63MB >>> Overall Requests/sec: 132608.44 >>> Overall Transfer/sec: 15.81MB >>> Fastest Request: 115?s >>> Avg Req Time: 7.166ms >>> Slowest Request: 811.999ms >>> Number of Errors: 2361 >>> Error Counts: net/http: timeout awaiting response headers=51,connection reset by peer=2310 >>> 10%: 1.899ms >>> 50%: 2.383ms >>> 75%: 2.478ms >>> 99%: 2.541ms >>> 99.9%: 2.543ms >>> 99.9999%: 2.544ms >>> 99.99999%: 2.544ms >>> stddev: 32.88ms >>> >>> More importantly, the reduced parallelism has a cpu idle percentage of 30% (which matches the NIO framework) whereas the default parallelism has an idle of near 0 % (due to scheduler thrashing). >>> >>> The attached JFR screenshot (I have also attached the JFR captures) tells the story. #2 is the VT with default parallelism. #3 is the NIO based framework, and #4 is VT with reduced parallelism. #2 clearly shows the thrashing that is occurring with threads parking and unparking and the scheduler waiting for work. >>> >>> >>> >>> >>> >> > From robaho at icloud.com Mon Aug 12 19:34:14 2024 From: robaho at icloud.com (Robert Engels) Date: Mon, 12 Aug 2024 14:34:14 -0500 Subject: Loom and high performance networking In-Reply-To: References: <85633494-27F6-427E-96B1-40D9CFBBC50D@icloud.com> <72D202DE-3BD2-43EE-8B41-8A89E80F2479@oracle.com> Message-ID: I tested previously using VT pollers and saw no difference in performance - I expect it would be worse - as it would take even longer for the poller to run as it would be behind all of the other VT tasks. I think reducing the parallelism with VT pollers would be even worse still. > On Aug 12, 2024, at 2:32 PM, Robert Engels wrote: > > Also, the JDK poller may be specific in that I am on OSX, but when I look at the default poller mode code, it is system threads: https://github.com/openjdk/loom/blob/cfcc05f57f0b5f212493da3a2abbac6abed2a48e/src/java.base/share/classes/sun/nio/ch/PollerProvider.java#L48 > > I think for Linux it is changed to be VT threads : https://github.com/openjdk/loom/blob/cfcc05f57f0b5f212493da3a2abbac6abed2a48e/src/java.base/linux/classes/sun/nio/ch/DefaultPollerProvider.java#L38 > >> On Aug 12, 2024, at 2:29 PM, Robert Engels wrote: >> >> Sorry, I should have included that. I am using (build 24-loom+3-33) - which is still using Pollers. >> >> As to sizing the pool - it would need to be based on the current connect count and their activity (and the configuration of number of pollers, etc.) - which I think for many (most?) systems would be hard to predict? >> >> This is why I contend that it would be better to lower the native priority of the carrier threads - I think it solves the sizing problem nicely (sorry the pun). >> >> If the available CPU is being exhausted by platform threads, then most likely the VT threads shouldn?t run at all (especially since they are non timesliced) - as the system is already in an overloaded state - and this would accomplish that. >> >> In this particular case it is a very high load, so unless I am misunderstanding you, I don?t think the scheduler is prioritizing correctly - since lowering the parallelism improves the situation. >> >>> On Aug 12, 2024, at 2:17 PM, Ron Pressler wrote: >>> >>> What JDK are you using? I believe that as of JDK 22 there are no longer poller threads (polling is done by virtual threads running under the same scheduler). If you haven?t tried with JDK 22, try it; you may get better results. >>> >>> There is an inherent tension between scheduling under high loads and scheduling under lower loads. The problem is that to make a scheduler highly efficient at high loads you need to minimise the coordination among threads, which means that under utilisation cannot be easily detected (it?s easy for a thread to unilaterally detect it?s under heavy load when its submission queue grows, but detecting that fewer threads are needed requires coordination). >>> >>> The virtual thread scheduler is a work-stealing scheduler that prioritises higher loads over lower loads. In the future we may allow plugging in schedulers that are more adaptive to changing loads in exchange for being less efficient under high loads. Note that sizing the virtual thread scheduler is no harder than sizing a thread pool. The difference is that people are more used to more adaptive but less efficient thread pools. >>> >>> ? Ron >>> >>> >>>> On 12 Aug 2024, at 20:03, robert engels wrote: >>>> >>>> Hi. >>>> >>>> I believe I have discovered what is essentially a priority inversion problem in the Loom network stack. >>>> >>>> I have been comparing a NIO based http server framework with one using VT. >>>> >>>> The VT framework when using the Loom defaults consistently uses significantly more CPU and achieves less throughput and overall performance. >>>> >>>> By lowering the parallelism, the VT framework exceeds the NIO framework in throughput and overall performance. >>>> >>>> My research and hypothesis is that if you create as many carrier threads as CPUs, then they compete withe the network poller threads. By reducing the number of carrier threads, the poller can run. If the poller can?t run, then many/all of the carrier threads will eventually park waiting for a runnable task, but there won?t be one until the poller runs - which is why the poller must have priority over the carrier threads. >>>> >>>> I believe the best solution would be to lower the native priority of carrier threads as explicitly configuring the number of carrier threads accurately will be nearly impossible for varied workloads. I suspect this would also help GC be more deterministic as well. >>>> >>>> Using default parallelism: >>>> >>>> robertengels at macmini go-wrk % ./go-wrk -c 1000 -d 30 -T 10000 http://imac:8080/plaintext >>>> Running 30s test @ http://imac:8080/plaintext >>>> 1000 goroutine(s) running concurrently >>>> 3557027 requests in 29.525311463s, 424.03MB read >>>> Requests/sec: 120473.82 >>>> Transfer/sec: 14.36MB >>>> Overall Requests/sec: 116021.08 >>>> Overall Transfer/sec: 13.83MB >>>> Fastest Request: 112?s >>>> Avg Req Time: 8.3ms >>>> Slowest Request: 839.967ms >>>> Number of Errors: 2465 >>>> Error Counts: broken pipe=2,connection reset by peer=2451,net/http: timeout awaiting response headers=12 >>>> 10%: 2.102ms >>>> 50%: 2.958ms >>>> 75%: 3.108ms >>>> 99%: 3.198ms >>>> 99.9%: 3.201ms >>>> 99.9999%: 3.201ms >>>> 99.99999%: 3.201ms >>>> stddev: 32.52ms >>>> >>>> and using reduced parallelism of 3: >>>> >>>> robertengels at macmini go-wrk % ./go-wrk -c 1000 -d 30 -T 10000 http://imac:8080/plaintext >>>> Running 30s test @ http://imac:8080/plaintext >>>> 1000 goroutine(s) running concurrently >>>> 4059418 requests in 29.092649689s, 483.92MB read >>>> Requests/sec: 139534.14 >>>> Transfer/sec: 16.63MB >>>> Overall Requests/sec: 132608.44 >>>> Overall Transfer/sec: 15.81MB >>>> Fastest Request: 115?s >>>> Avg Req Time: 7.166ms >>>> Slowest Request: 811.999ms >>>> Number of Errors: 2361 >>>> Error Counts: net/http: timeout awaiting response headers=51,connection reset by peer=2310 >>>> 10%: 1.899ms >>>> 50%: 2.383ms >>>> 75%: 2.478ms >>>> 99%: 2.541ms >>>> 99.9%: 2.543ms >>>> 99.9999%: 2.544ms >>>> 99.99999%: 2.544ms >>>> stddev: 32.88ms >>>> >>>> More importantly, the reduced parallelism has a cpu idle percentage of 30% (which matches the NIO framework) whereas the default parallelism has an idle of near 0 % (due to scheduler thrashing). >>>> >>>> The attached JFR screenshot (I have also attached the JFR captures) tells the story. #2 is the VT with default parallelism. #3 is the NIO based framework, and #4 is VT with reduced parallelism. #2 clearly shows the thrashing that is occurring with threads parking and unparking and the scheduler waiting for work. >>>> >>>> >>>> >>>> >>>> >>> >> > From robaho at icloud.com Mon Aug 12 19:53:06 2024 From: robaho at icloud.com (Robert Engels) Date: Mon, 12 Aug 2024 14:53:06 -0500 Subject: Loom and high performance networking In-Reply-To: References: <85633494-27F6-427E-96B1-40D9CFBBC50D@icloud.com> <72D202DE-3BD2-43EE-8B41-8A89E80F2479@oracle.com> Message-ID: <74E102D2-C461-4430-950E-3BDE50045660@icloud.com> Using VT pollers is about the same performance and still 100% CPU utilization. Using VT pollers with reduced parallelism is even slower, but it improved the worst case performance, and lowered the variance considerably: VT pollers: robertengels at macmini go-wrk % ./go-wrk -c 1000 -d 30 -T 10000 http://imac:8080/plaintext Running 30s test @ http://imac:8080/plaintext 1000 goroutine(s) running concurrently 3545553 requests in 29.463345004s, 422.66MB read Requests/sec: 120337.76 Transfer/sec: 14.35MB Overall Requests/sec: 115846.04 Overall Transfer/sec: 13.81MB Fastest Request: 144?s Avg Req Time: 8.309ms Slowest Request: 1.418687s Number of Errors: 2200 Error Counts: connection reset by peer=2174,net/http: timeout awaiting response headers=26 10%: 2.33ms 50%: 2.869ms 75%: 3.004ms 99%: 3.093ms 99.9%: 3.096ms 99.9999%: 3.097ms 99.99999%: 3.097ms stddev: 34.259ms VT pollers with parallelism=3: robertengels at macmini go-wrk % ./go-wrk -c 1000 -d 30 -T 10000 http://imac:8080/plaintext Running 30s test @ http://imac:8080/plaintext 1000 goroutine(s) running concurrently 3351695 requests in 29.724461752s, 399.55MB read Requests/sec: 112758.81 Transfer/sec: 13.44MB Overall Requests/sec: 110119.93 Overall Transfer/sec: 13.13MB Fastest Request: 145?s Avg Req Time: 8.868ms Slowest Request: 411.775ms Number of Errors: 2308 Error Counts: connection reset by peer=2308 10%: 3.429ms 50%: 3.867ms 75%: 3.975ms 99%: 4.076ms 99.9%: 4.08ms 99.9999%: 4.081ms 99.99999%: 4.081ms stddev: 5.346ms > On Aug 12, 2024, at 2:34 PM, Robert Engels wrote: > > I tested previously using VT pollers and saw no difference in performance - I expect it would be worse - as it would take even longer for the poller to run as it would be behind all of the other VT tasks. I think reducing the parallelism with VT pollers would be even worse still. > >> On Aug 12, 2024, at 2:32 PM, Robert Engels wrote: >> >> Also, the JDK poller may be specific in that I am on OSX, but when I look at the default poller mode code, it is system threads: https://github.com/openjdk/loom/blob/cfcc05f57f0b5f212493da3a2abbac6abed2a48e/src/java.base/share/classes/sun/nio/ch/PollerProvider.java#L48 >> >> I think for Linux it is changed to be VT threads : https://github.com/openjdk/loom/blob/cfcc05f57f0b5f212493da3a2abbac6abed2a48e/src/java.base/linux/classes/sun/nio/ch/DefaultPollerProvider.java#L38 >> >>> On Aug 12, 2024, at 2:29 PM, Robert Engels wrote: >>> >>> Sorry, I should have included that. I am using (build 24-loom+3-33) - which is still using Pollers. >>> >>> As to sizing the pool - it would need to be based on the current connect count and their activity (and the configuration of number of pollers, etc.) - which I think for many (most?) systems would be hard to predict? >>> >>> This is why I contend that it would be better to lower the native priority of the carrier threads - I think it solves the sizing problem nicely (sorry the pun). >>> >>> If the available CPU is being exhausted by platform threads, then most likely the VT threads shouldn?t run at all (especially since they are non timesliced) - as the system is already in an overloaded state - and this would accomplish that. >>> >>> In this particular case it is a very high load, so unless I am misunderstanding you, I don?t think the scheduler is prioritizing correctly - since lowering the parallelism improves the situation. >>> >>>> On Aug 12, 2024, at 2:17 PM, Ron Pressler wrote: >>>> >>>> What JDK are you using? I believe that as of JDK 22 there are no longer poller threads (polling is done by virtual threads running under the same scheduler). If you haven?t tried with JDK 22, try it; you may get better results. >>>> >>>> There is an inherent tension between scheduling under high loads and scheduling under lower loads. The problem is that to make a scheduler highly efficient at high loads you need to minimise the coordination among threads, which means that under utilisation cannot be easily detected (it?s easy for a thread to unilaterally detect it?s under heavy load when its submission queue grows, but detecting that fewer threads are needed requires coordination). >>>> >>>> The virtual thread scheduler is a work-stealing scheduler that prioritises higher loads over lower loads. In the future we may allow plugging in schedulers that are more adaptive to changing loads in exchange for being less efficient under high loads. Note that sizing the virtual thread scheduler is no harder than sizing a thread pool. The difference is that people are more used to more adaptive but less efficient thread pools. >>>> >>>> ? Ron >>>> >>>> >>>>> On 12 Aug 2024, at 20:03, robert engels wrote: >>>>> >>>>> Hi. >>>>> >>>>> I believe I have discovered what is essentially a priority inversion problem in the Loom network stack. >>>>> >>>>> I have been comparing a NIO based http server framework with one using VT. >>>>> >>>>> The VT framework when using the Loom defaults consistently uses significantly more CPU and achieves less throughput and overall performance. >>>>> >>>>> By lowering the parallelism, the VT framework exceeds the NIO framework in throughput and overall performance. >>>>> >>>>> My research and hypothesis is that if you create as many carrier threads as CPUs, then they compete withe the network poller threads. By reducing the number of carrier threads, the poller can run. If the poller can?t run, then many/all of the carrier threads will eventually park waiting for a runnable task, but there won?t be one until the poller runs - which is why the poller must have priority over the carrier threads. >>>>> >>>>> I believe the best solution would be to lower the native priority of carrier threads as explicitly configuring the number of carrier threads accurately will be nearly impossible for varied workloads. I suspect this would also help GC be more deterministic as well. >>>>> >>>>> Using default parallelism: >>>>> >>>>> robertengels at macmini go-wrk % ./go-wrk -c 1000 -d 30 -T 10000 http://imac:8080/plaintext >>>>> Running 30s test @ http://imac:8080/plaintext >>>>> 1000 goroutine(s) running concurrently >>>>> 3557027 requests in 29.525311463s, 424.03MB read >>>>> Requests/sec: 120473.82 >>>>> Transfer/sec: 14.36MB >>>>> Overall Requests/sec: 116021.08 >>>>> Overall Transfer/sec: 13.83MB >>>>> Fastest Request: 112?s >>>>> Avg Req Time: 8.3ms >>>>> Slowest Request: 839.967ms >>>>> Number of Errors: 2465 >>>>> Error Counts: broken pipe=2,connection reset by peer=2451,net/http: timeout awaiting response headers=12 >>>>> 10%: 2.102ms >>>>> 50%: 2.958ms >>>>> 75%: 3.108ms >>>>> 99%: 3.198ms >>>>> 99.9%: 3.201ms >>>>> 99.9999%: 3.201ms >>>>> 99.99999%: 3.201ms >>>>> stddev: 32.52ms >>>>> >>>>> and using reduced parallelism of 3: >>>>> >>>>> robertengels at macmini go-wrk % ./go-wrk -c 1000 -d 30 -T 10000 http://imac:8080/plaintext >>>>> Running 30s test @ http://imac:8080/plaintext >>>>> 1000 goroutine(s) running concurrently >>>>> 4059418 requests in 29.092649689s, 483.92MB read >>>>> Requests/sec: 139534.14 >>>>> Transfer/sec: 16.63MB >>>>> Overall Requests/sec: 132608.44 >>>>> Overall Transfer/sec: 15.81MB >>>>> Fastest Request: 115?s >>>>> Avg Req Time: 7.166ms >>>>> Slowest Request: 811.999ms >>>>> Number of Errors: 2361 >>>>> Error Counts: net/http: timeout awaiting response headers=51,connection reset by peer=2310 >>>>> 10%: 1.899ms >>>>> 50%: 2.383ms >>>>> 75%: 2.478ms >>>>> 99%: 2.541ms >>>>> 99.9%: 2.543ms >>>>> 99.9999%: 2.544ms >>>>> 99.99999%: 2.544ms >>>>> stddev: 32.88ms >>>>> >>>>> More importantly, the reduced parallelism has a cpu idle percentage of 30% (which matches the NIO framework) whereas the default parallelism has an idle of near 0 % (due to scheduler thrashing). >>>>> >>>>> The attached JFR screenshot (I have also attached the JFR captures) tells the story. #2 is the VT with default parallelism. #3 is the NIO based framework, and #4 is VT with reduced parallelism. #2 clearly shows the thrashing that is occurring with threads parking and unparking and the scheduler waiting for work. >>>>> >>>>> >>>>> >>>>> >>>>> >>>> >>> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From alan.bateman at oracle.com Tue Aug 13 07:25:00 2024 From: alan.bateman at oracle.com (Alan Bateman) Date: Tue, 13 Aug 2024 08:25:00 +0100 Subject: Loom and high performance networking In-Reply-To: References: <85633494-27F6-427E-96B1-40D9CFBBC50D@icloud.com> <72D202DE-3BD2-43EE-8B41-8A89E80F2479@oracle.com> Message-ID: <7106cdcb-ffa3-413d-afeb-e7552f6fc88b@oracle.com> On 12/08/2024 20:29, Robert Engels wrote: > Sorry, I should have included that. I am using (build 24-loom+3-33) - which is still using Pollers. > That's based on jdk-24+8 so up to date. There are two "poller modes". On macOS it uses the "system thread" poller mode by default but you can experiment with -Djdk.pollerMode=2 to have the poller threads be virtual threads, same as the default on Linux. To do this will also mean setting -Djdk.readPollers=4 or some power of 2 value. Our testing on macOS some time ago didn't converge on the best default. There seems to be a lot of errors (broken pipe, connection reset, and other timeouts) in your results. Do you have some TCP/networking tuning to remove these from the runs as I assume timeouts will skew some of the results. -Alan -------------- next part -------------- An HTML attachment was scrubbed... URL: From robaho at icloud.com Tue Aug 13 11:25:20 2024 From: robaho at icloud.com (Robert Engels) Date: Tue, 13 Aug 2024 06:25:20 -0500 Subject: Loom and high performance networking In-Reply-To: <7106cdcb-ffa3-413d-afeb-e7552f6fc88b@oracle.com> References: <85633494-27F6-427E-96B1-40D9CFBBC50D@icloud.com> <72D202DE-3BD2-43EE-8B41-8A89E80F2479@oracle.com> <7106cdcb-ffa3-413d-afeb-e7552f6fc88b@oracle.com> Message-ID: <5040C3A9-CD49-4B20-864C-80CB7166637F@icloud.com> I noticed the errors too, but I have tested with two different client impls and two different server impls, and both report similar error rates (about .25%). I believe it is the OSX networking layer closing connections due to lack of buffer space or detecting what it thinks is a DoS attack. Anyway, with a different client (no http pipelining) I get similar results: With default parallelism: robertengels at macmini go-wrk % wrk -H 'Host: imac' -H 'Accept: text/plain,text/html;q=0.9,application/xhtml+xml;q=0.9,application/xml;q=0.8,*/*;q=0.7' -H 'Connection: keep-alive' --latency -d 20 -c 1000 --timeout 8 -t 8 http://imac:8080/plaintext Running 20s test @ http://imac:8080/plaintext 8 threads and 1000 connections Thread Stats Avg Stdev Max +/- Stdev Latency 60.53ms 137.57ms 2.41s 88.69% Req/Sec 14.71k 2.13k 22.55k 77.25% Latency Distribution 50% 4.98ms 75% 34.80ms 90% 229.44ms 99% 658.57ms 2342553 requests in 20.02s, 317.23MB read Socket errors: connect 0, read 1926, write 4, timeout 0 Requests/sec: 116990.94 Transfer/sec: 15.84MB and with parallelism=3: robertengels at macmini go-wrk % wrk -H 'Host: imac' -H 'Accept: text/plain,text/html;q=0.9,application/xhtml+xml;q=0.9,application/xml;q=0.8,*/*;q=0.7' -H 'Connection: keep-alive' --latency -d 20 -c 1000 --timeout 8 -t 8 http://imac:8080/plaintext Running 20s test @ http://imac:8080/plaintext 8 threads and 1000 connections Thread Stats Avg Stdev Max +/- Stdev Latency 39.91ms 90.53ms 822.66ms 89.29% Req/Sec 14.99k 2.84k 23.83k 75.06% Latency Distribution 50% 6.62ms 75% 9.54ms 90% 148.83ms 99% 392.24ms 2386247 requests in 20.02s, 323.15MB read Socket errors: connect 0, read 2833, write 5, timeout 0 Requests/sec: 119201.21 Transfer/sec: 16.14MB and similarly, the default parallelism shows much higher cpu usage - 8% idle vs 25% idle for the latter. Using VT pollers (pollerMode=2) and default parallelism: robertengels at macmini go-wrk % wrk -H 'Host: imac' -H 'Accept: text/plain,text/html;q=0.9,application/xhtml+xml;q=0.9,application/xml;q=0.8,*/*;q=0.7' -H 'Connection: keep-alive' --latency -d 20 -c 1000 --timeout 8 -t 8 http://imac:8080/plaintext Running 20s test @ http://imac:8080/plaintext 8 threads and 1000 connections Thread Stats Avg Stdev Max +/- Stdev Latency 66.76ms 137.25ms 1.70s 87.06% Req/Sec 14.38k 2.36k 21.94k 75.88% Latency Distribution 50% 4.74ms 75% 51.68ms 90% 263.08ms 99% 664.99ms 2289858 requests in 20.02s, 310.10MB read Socket errors: connect 0, read 2135, write 7, timeout 0 Requests/sec: 114360.91 Transfer/sec: 15.49MB and the same 8% idle. So I am pretty sure my hypothesis is correct. I may try and build a Loom / use a library to lower priority of the carrier threads. I suspect I will see similar performance to the reduced parallelism case. > On Aug 13, 2024, at 2:25 AM, Alan Bateman wrote: > > > > On 12/08/2024 20:29, Robert Engels wrote: >> Sorry, I should have included that. I am using (build 24-loom+3-33) - which is still using Pollers. >> > That's based on jdk-24+8 so up to date. > > There are two "poller modes". On macOS it uses the "system thread" poller mode by default but you can experiment with -Djdk.pollerMode=2 to have the poller threads be virtual threads, same as the default on Linux. To do this will also mean setting -Djdk.readPollers=4 or some power of 2 value. Our testing on macOS some time ago didn't converge on the best default. > > There seems to be a lot of errors (broken pipe, connection reset, and other timeouts) in your results. Do you have some TCP/networking tuning to remove these from the runs as I assume timeouts will skew some of the results. > > -Alan -------------- next part -------------- An HTML attachment was scrubbed... URL: From alan.bateman at oracle.com Tue Aug 13 12:32:29 2024 From: alan.bateman at oracle.com (Alan Bateman) Date: Tue, 13 Aug 2024 13:32:29 +0100 Subject: Loom and high performance networking In-Reply-To: <5040C3A9-CD49-4B20-864C-80CB7166637F@icloud.com> References: <85633494-27F6-427E-96B1-40D9CFBBC50D@icloud.com> <72D202DE-3BD2-43EE-8B41-8A89E80F2479@oracle.com> <7106cdcb-ffa3-413d-afeb-e7552f6fc88b@oracle.com> <5040C3A9-CD49-4B20-864C-80CB7166637F@icloud.com> Message-ID: <00ed702e-9d2d-42f7-916e-d138908936cb@oracle.com> On 13/08/2024 12:25, Robert Engels wrote: > : > > Using VT pollers (pollerMode=2) and default parallelism: > > robertengels at macmini go-wrk %? wrk -H 'Host: imac' -H 'Accept: > text/plain,text/html;q=0.9,application/xhtml+xml;q=0.9,application/xml;q=0.8,*/*;q=0.7' > -H 'Connection: keep-alive' --latency -d 20 -c 1000 --timeout 8 -t 8 > http://imac:8080/plaintext > > Running 20s test @ http://imac:8080/plaintext > > ? 8 threads and 1000 connections > ? Thread Stats ? Avg? ? ? Stdev ? ? Max ? +/- Stdev > ? ? Latency? ? 66.76ms? 137.25ms ? 1.70s 87.06% > ? ? Req/Sec? ? 14.38k ? ? 2.36k ? 21.94k 75.88% > ? Latency Distribution > ?? ? 50%? ? 4.74ms > ?? ? 75% ? 51.68ms > ?? ? 90%? 263.08ms > ?? ? 99%? 664.99ms > ? 2289858 requests in 20.02s, 310.10MB read > ? Socket errors: connect 0, read 2135, write 7, timeout 0 > Requests/sec: 114360.91 > Transfer/sec: ? ? 15.49MB > > and the same 8% idle. > > So I am pretty sure my hypothesis is correct. I may try and build a > Loom / use a library to lower priority of the carrier threads. I > suspect I will see similar performance to the reduced parallelism case. With -Djdk.pollerMode=2 then the poller threads are virtual threads and so run on the same carrier. You'll need to play with -Djdk.readPollers=N as there isn't a good default for this on macOS. -Alan. -------------- next part -------------- An HTML attachment was scrubbed... URL: From robaho at icloud.com Tue Aug 13 14:59:44 2024 From: robaho at icloud.com (robert engels) Date: Tue, 13 Aug 2024 09:59:44 -0500 Subject: Loom and high performance networking In-Reply-To: <00ed702e-9d2d-42f7-916e-d138908936cb@oracle.com> References: <00ed702e-9d2d-42f7-916e-d138908936cb@oracle.com> Message-ID: An HTML attachment was scrubbed... URL: From alan.bateman at oracle.com Tue Aug 13 15:25:03 2024 From: alan.bateman at oracle.com (Alan Bateman) Date: Tue, 13 Aug 2024 16:25:03 +0100 Subject: Loom and high performance networking In-Reply-To: References: <00ed702e-9d2d-42f7-916e-d138908936cb@oracle.com> Message-ID: <348ae1d1-f193-493d-9f94-c6794cb3fc8b@oracle.com> On 13/08/2024 15:59, robert engels wrote: > Surprisingly, lowering the priority of the carrier threads did not > result in the same performance gains as reducing the parallelism. > Did you do any experiments with -Djdk.readPollers=2 or -Djdk.readPollers=4 to remove contention from the kqueue from the picture. -Alan From robaho at icloud.com Tue Aug 13 15:34:07 2024 From: robaho at icloud.com (robert engels) Date: Tue, 13 Aug 2024 10:34:07 -0500 Subject: Loom and high performance networking In-Reply-To: <348ae1d1-f193-493d-9f94-c6794cb3fc8b@oracle.com> References: <348ae1d1-f193-493d-9f94-c6794cb3fc8b@oracle.com> Message-ID: <2B441D52-0910-47E4-8656-BCFE26964965@icloud.com> I did. It didn?t make any difference. I checked the thread dump as well and the extras were created. Surprised that lowering the priority didn?t help - so now I need to think about other options. It feels like something when the carriers can use all the cores that the poller is prevented from running - like some sort of lock being held by the carrier/vt and do it thrashes around until it eventually gets a chance. > On Aug 13, 2024, at 10:26?AM, Alan Bateman wrote: > > ?On 13/08/2024 15:59, robert engels wrote: >> Surprisingly, lowering the priority of the carrier threads did not result in the same performance gains as reducing the parallelism. >> > Did you do any experiments with -Djdk.readPollers=2 or -Djdk.readPollers=4 to remove contention from the kqueue from the picture. > > -Alan From robaho at icloud.com Tue Aug 13 21:11:17 2024 From: robaho at icloud.com (Robert Engels) Date: Tue, 13 Aug 2024 16:11:17 -0500 Subject: Loom and high performance networking In-Reply-To: <2B441D52-0910-47E4-8656-BCFE26964965@icloud.com> References: <348ae1d1-f193-493d-9f94-c6794cb3fc8b@oracle.com> <2B441D52-0910-47E4-8656-BCFE26964965@icloud.com> Message-ID: It?s been a long time since I?ve looked at the ForkJoinPool code and it appears to have become way more complex than I remember. Can someone point me to the code area where after a task completes the CarrierThread/ForkJoinThread tries to get more work? Is there any spin loop here at all? My new hypothesis is that we enough parallelism the task completes but there is no waiting work, so it parks. And the park/unpark is way more expensive than the time until the poller enqueues another VT as read - so with less parallelism there is a higher chance of work being available - and thus limits the number of park/unpark cycles - improving the overall performance. I would think a queue like this should spin at least as long as the expected park/unpark cost (time). > On Aug 13, 2024, at 10:34 AM, robert engels wrote: > > I did. It didn?t make any difference. I checked the thread dump as well and the extras were created. > > Surprised that lowering the priority didn?t help - so now I need to think about other options. It feels like something when the carriers can use all the cores that the poller is prevented from running - like some sort of lock being held by the carrier/vt and do it thrashes around until it eventually gets a chance. > >> On Aug 13, 2024, at 10:26?AM, Alan Bateman wrote: >> >> ?On 13/08/2024 15:59, robert engels wrote: >>> Surprisingly, lowering the priority of the carrier threads did not result in the same performance gains as reducing the parallelism. >>> >> Did you do any experiments with -Djdk.readPollers=2 or -Djdk.readPollers=4 to remove contention from the kqueue from the picture. >> >> -Alan From robaho at icloud.com Tue Aug 13 21:13:30 2024 From: robaho at icloud.com (Robert Engels) Date: Tue, 13 Aug 2024 16:13:30 -0500 Subject: Loom and high performance networking In-Reply-To: References: <348ae1d1-f193-493d-9f94-c6794cb3fc8b@oracle.com> <2B441D52-0910-47E4-8656-BCFE26964965@icloud.com> Message-ID: I found it. It is ForkJoinPool::awaitWork() and it does appear to spin. > On Aug 13, 2024, at 4:11 PM, Robert Engels wrote: > > It?s been a long time since I?ve looked at the ForkJoinPool code and it appears to have become way more complex than I remember. > > Can someone point me to the code area where after a task completes the CarrierThread/ForkJoinThread tries to get more work? Is there any spin loop here at all? > > My new hypothesis is that we enough parallelism the task completes but there is no waiting work, so it parks. And the park/unpark is way more expensive than the time until the poller enqueues another VT as read - so with less parallelism there is a higher chance of work being available - and thus limits the number of park/unpark cycles - improving the overall performance. > > I would think a queue like this should spin at least as long as the expected park/unpark cost (time). > >> On Aug 13, 2024, at 10:34 AM, robert engels wrote: >> >> I did. It didn?t make any difference. I checked the thread dump as well and the extras were created. >> >> Surprised that lowering the priority didn?t help - so now I need to think about other options. It feels like something when the carriers can use all the cores that the poller is prevented from running - like some sort of lock being held by the carrier/vt and do it thrashes around until it eventually gets a chance. >> >>> On Aug 13, 2024, at 10:26?AM, Alan Bateman wrote: >>> >>> ?On 13/08/2024 15:59, robert engels wrote: >>>> Surprisingly, lowering the priority of the carrier threads did not result in the same performance gains as reducing the parallelism. >>>> >>> Did you do any experiments with -Djdk.readPollers=2 or -Djdk.readPollers=4 to remove contention from the kqueue from the picture. >>> >>> -Alan > From robaho at icloud.com Tue Aug 13 21:21:12 2024 From: robaho at icloud.com (Robert Engels) Date: Tue, 13 Aug 2024 16:21:12 -0500 Subject: Loom and high performance networking In-Reply-To: References: <348ae1d1-f193-493d-9f94-c6794cb3fc8b@oracle.com> <2B441D52-0910-47E4-8656-BCFE26964965@icloud.com> Message-ID: Actually, it seems the spin was taken out sometime after JDK-21. Anyone know why? (Maybe it is not, but the awaitWork is far more complex with no spins variable and little documentation). > On Aug 13, 2024, at 4:13 PM, Robert Engels wrote: > > I found it. It is ForkJoinPool::awaitWork() and it does appear to spin. > >> On Aug 13, 2024, at 4:11 PM, Robert Engels wrote: >> >> It?s been a long time since I?ve looked at the ForkJoinPool code and it appears to have become way more complex than I remember. >> >> Can someone point me to the code area where after a task completes the CarrierThread/ForkJoinThread tries to get more work? Is there any spin loop here at all? >> >> My new hypothesis is that we enough parallelism the task completes but there is no waiting work, so it parks. And the park/unpark is way more expensive than the time until the poller enqueues another VT as read - so with less parallelism there is a higher chance of work being available - and thus limits the number of park/unpark cycles - improving the overall performance. >> >> I would think a queue like this should spin at least as long as the expected park/unpark cost (time). >> >>> On Aug 13, 2024, at 10:34 AM, robert engels wrote: >>> >>> I did. It didn?t make any difference. I checked the thread dump as well and the extras were created. >>> >>> Surprised that lowering the priority didn?t help - so now I need to think about other options. It feels like something when the carriers can use all the cores that the poller is prevented from running - like some sort of lock being held by the carrier/vt and do it thrashes around until it eventually gets a chance. >>> >>>> On Aug 13, 2024, at 10:26?AM, Alan Bateman wrote: >>>> >>>> ?On 13/08/2024 15:59, robert engels wrote: >>>>> Surprisingly, lowering the priority of the carrier threads did not result in the same performance gains as reducing the parallelism. >>>>> >>>> Did you do any experiments with -Djdk.readPollers=2 or -Djdk.readPollers=4 to remove contention from the kqueue from the picture. >>>> >>>> -Alan >> > From robaho at icloud.com Tue Aug 13 21:24:01 2024 From: robaho at icloud.com (Robert Engels) Date: Tue, 13 Aug 2024 16:24:01 -0500 Subject: Loom and high performance networking In-Reply-To: References: <348ae1d1-f193-493d-9f94-c6794cb3fc8b@oracle.com> <2B441D52-0910-47E4-8656-BCFE26964965@icloud.com> Message-ID: <8F774CC9-7D4D-4E71-8A1C-2559C870EAAE@icloud.com> Sorry for the spam, it spins in the deactivate(). > On Aug 13, 2024, at 4:21 PM, Robert Engels wrote: > > Actually, it seems the spin was taken out sometime after JDK-21. Anyone know why? (Maybe it is not, but the awaitWork is far more complex with no spins variable and little documentation). > >> On Aug 13, 2024, at 4:13 PM, Robert Engels wrote: >> >> I found it. It is ForkJoinPool::awaitWork() and it does appear to spin. >> >>> On Aug 13, 2024, at 4:11 PM, Robert Engels wrote: >>> >>> It?s been a long time since I?ve looked at the ForkJoinPool code and it appears to have become way more complex than I remember. >>> >>> Can someone point me to the code area where after a task completes the CarrierThread/ForkJoinThread tries to get more work? Is there any spin loop here at all? >>> >>> My new hypothesis is that we enough parallelism the task completes but there is no waiting work, so it parks. And the park/unpark is way more expensive than the time until the poller enqueues another VT as read - so with less parallelism there is a higher chance of work being available - and thus limits the number of park/unpark cycles - improving the overall performance. >>> >>> I would think a queue like this should spin at least as long as the expected park/unpark cost (time). >>> >>>> On Aug 13, 2024, at 10:34 AM, robert engels wrote: >>>> >>>> I did. It didn?t make any difference. I checked the thread dump as well and the extras were created. >>>> >>>> Surprised that lowering the priority didn?t help - so now I need to think about other options. It feels like something when the carriers can use all the cores that the poller is prevented from running - like some sort of lock being held by the carrier/vt and do it thrashes around until it eventually gets a chance. >>>> >>>>> On Aug 13, 2024, at 10:26?AM, Alan Bateman wrote: >>>>> >>>>> ?On 13/08/2024 15:59, robert engels wrote: >>>>>> Surprisingly, lowering the priority of the carrier threads did not result in the same performance gains as reducing the parallelism. >>>>>> >>>>> Did you do any experiments with -Djdk.readPollers=2 or -Djdk.readPollers=4 to remove contention from the kqueue from the picture. >>>>> >>>>> -Alan >>> >> > From david.holmes at oracle.com Wed Aug 14 05:04:03 2024 From: david.holmes at oracle.com (David Holmes) Date: Wed, 14 Aug 2024 15:04:03 +1000 Subject: Loom and high performance networking In-Reply-To: References: <00ed702e-9d2d-42f7-916e-d138908936cb@oracle.com> Message-ID: <6c47f16a-a855-4102-a678-82a88307aa02@oracle.com> On 14/08/2024 12:59 am, robert engels wrote: > Surprisingly, lowering the priority of the carrier threads did not > result in the same performance gains as reducing the parallelism. To change priorities you also need to set ThreadPriorityPolicy=1 ? product(int, ThreadPriorityPolicy, 0,???????????????????????????????????? \ ????????? "0 : Normal.???????????????????????????????????????????????????? "\ ????????? "??? VM chooses priorities that are appropriate for normal?????? "\ ????????? " applications.?????????????????????????????????????????????? "\ ????????? "??? On Windows applications are allowed to use higher native??? "\ ????????? "??? priorities. However, with ThreadPriorityPolicy=0, VM will?? "\ ????????? "??? not use the highest possible native priority,?????????????? "\ ????????? "??? THREAD_PRIORITY_TIME_CRITICAL, as it may interfere with???? "\ ????????? "??? system threads. On Linux thread priorities are ignored????? "\ ????????? "??? because the OS does not support static priority in????????? "\ ????????? "??? SCHED_OTHER scheduling class which is the only choice for?? "\ ????????? "??? non-root, non-realtime applications.??????????????????????? "\ ????????? "1 : Aggressive.???????????????????????????????????????????????? "\ ????????? "??? Java thread priorities map over to the entire range of????? "\ ????????? "??? native thread priorities. Higher Java thread priorities map "\ ????????? "??? to higher native thread priorities. This policy should be?? "\ ????????? "??? used with care, as sometimes it can cause performance?????? "\ ????????? "??? degradation in the application and/or the entire system. On "\ ????????? "??? Linux/BSD/macOS this policy requires root privilege or an?? "\ ????????? "??? extended capability.")?????????????????????????????????????? \ ????????? range(0, 1)?????????????????????????????????????????????????????? \ David ------- >> On Aug 13, 2024, at 7:33?AM, Alan Bateman >> wrote: >> >> ? On 13/08/2024 12:25, Robert Engels wrote: >>> : >>> >>> Using VT pollers (pollerMode=2) and default parallelism: >>> >>> robertengels at macmini go-wrk %? wrk -H 'Host: imac' -H 'Accept: >>> text/plain,text/html;q=0.9,application/xhtml+xml;q=0.9,application/xml;q=0.8,*/*;q=0.7' >>> -H 'Connection: keep-alive' --latency -d 20 -c 1000 --timeout 8 -t 8 >>> http://imac:8080/plaintext >>> >>> Running 20s test @ http://imac:8080/plaintext >>> >>> ? 8 threads and 1000 connections >>> ? Thread Stats ? Avg? ? ? Stdev ? ? Max +/- Stdev >>> ? ? Latency? ? 66.76ms? 137.25ms ? 1.70s 87.06% >>> ? ? Req/Sec? ? 14.38k ? ? 2.36k ? 21.94k 75.88% >>> ? Latency Distribution >>> ?? ? 50%? ? 4.74ms >>> ?? ? 75% ? 51.68ms >>> ?? ? 90%? 263.08ms >>> ?? ? 99%? 664.99ms >>> ? 2289858 requests in 20.02s, 310.10MB read >>> ? Socket errors: connect 0, read 2135, write 7, timeout 0 >>> Requests/sec: 114360.91 >>> Transfer/sec: ? ? 15.49MB >>> >>> and the same 8% idle. >>> >>> So I am pretty sure my hypothesis is correct. I may try and build a >>> Loom / use a library to lower priority of the carrier threads. I >>> suspect I will see similar performance to the reduced parallelism case. >> >> With -Djdk.pollerMode=2 then the poller threads are virtual threads >> and so run on the same carrier. You'll need to play with >> -Djdk.readPollers=N as there isn't a good default for this on macOS. >> >> -Alan. -------------- next part -------------- An HTML attachment was scrubbed... URL: From alan.bateman at oracle.com Wed Aug 14 06:14:20 2024 From: alan.bateman at oracle.com (Alan Bateman) Date: Wed, 14 Aug 2024 07:14:20 +0100 Subject: Loom and high performance networking In-Reply-To: <2B441D52-0910-47E4-8656-BCFE26964965@icloud.com> References: <348ae1d1-f193-493d-9f94-c6794cb3fc8b@oracle.com> <2B441D52-0910-47E4-8656-BCFE26964965@icloud.com> Message-ID: On 13/08/2024 16:34, robert engels wrote: > I did. It didn?t make any difference. I checked the thread dump as well and the extras were created. > > Surprised that lowering the priority didn?t help - so now I need to think about other options. It feels like something when the carriers can use all the cores that the poller is prevented from running - like some sort of lock being held by the carrier/vt and do it thrashes around until it eventually gets a chance. > With pollerMode=2 then the the work is done on virtual threads so I assume you don't see the master poller stealing CPU cycles. In any case, what you describe sounds a bit like bursty usage where all FJP workers are scanning for work before parking, and/or something else that may be macOS specific when running out of some resource. I suspect tuning the networking params to remove the errors/timeouts might make it a bit easier to study. -Alan -------------- next part -------------- An HTML attachment was scrubbed... URL: From duke at openjdk.org Wed Aug 14 08:39:27 2024 From: duke at openjdk.org (duke) Date: Wed, 14 Aug 2024 08:39:27 GMT Subject: git: openjdk/loom: fibers: 39 new changesets Message-ID: <219cfe09-04ff-410f-a6a6-8cf3fa466360@openjdk.org> Changeset: 6a3d0452 Branch: fibers Author: Kim Barrett Date: 2024-08-11 18:34:18 +0000 URL: https://git.openjdk.org/loom/commit/6a3d045221c338fefec9bd59245324eae60b156b 8337709: Use allocated states for chunking large array processing Reviewed-by: iwalulya, tschatzl ! src/hotspot/share/gc/g1/g1ParScanThreadState.cpp ! src/hotspot/share/gc/g1/g1ParScanThreadState.hpp + src/hotspot/share/gc/shared/partialArrayState.cpp + src/hotspot/share/gc/shared/partialArrayState.hpp ! src/hotspot/share/gc/shared/partialArrayTaskStepper.cpp ! src/hotspot/share/gc/shared/partialArrayTaskStepper.hpp ! src/hotspot/share/gc/shared/partialArrayTaskStepper.inline.hpp ! src/hotspot/share/gc/shared/taskqueue.hpp ! test/hotspot/gtest/gc/shared/test_partialArrayTaskStepper.cpp Changeset: 0e7c1c1a Branch: fibers Author: SendaoYan Committer: Jie Fu Date: 2024-08-12 06:26:27 +0000 URL: https://git.openjdk.org/loom/commit/0e7c1c1afeaba1c125b70cabe7b1b7a3193ee5c3 8338112: Test testlibrary_tests/ir_framework/tests/TestPrivilegedMode.java fails with release build Reviewed-by: chagedorn, thartmann ! test/hotspot/jtreg/testlibrary_tests/ir_framework/tests/TestPrivilegedMode.java Changeset: 692f5cbd Branch: fibers Author: Matthias Baesken Date: 2024-08-12 07:32:10 +0000 URL: https://git.openjdk.org/loom/commit/692f5cbdb9bd94f03e5f18ddf07d56fbb5c0d456 8338101: remove old remap assertion in map_or_reserve_memory_aligned after JDK-8338058 Reviewed-by: mdoerr, clanger ! src/hotspot/os/windows/os_windows.cpp Changeset: 03204600 Branch: fibers Author: Andrew Haley Date: 2024-08-12 07:38:43 +0000 URL: https://git.openjdk.org/loom/commit/03204600c596214895ef86581eba9722f76d39b3 8337958: Out-of-bounds array access in secondary_super_cache Reviewed-by: vlivanov, shade ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/riscv/macroAssembler_riscv.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/share/oops/klass.cpp Changeset: a6c06307 Branch: fibers Author: Joel Sikstr?m Committer: Stefan Karlsson Date: 2024-08-12 10:58:05 +0000 URL: https://git.openjdk.org/loom/commit/a6c0630737bbf2f2e6c64863ff9b43c50c4742b6 8337938: ZUtils::alloc_aligned allocates without reporting to NMT Reviewed-by: stefank, kbarrett - src/hotspot/os/posix/gc/z/zUtils_posix.cpp - src/hotspot/os/windows/gc/z/zUtils_windows.cpp ! src/hotspot/share/gc/z/zStat.cpp ! src/hotspot/share/gc/z/zUtils.hpp ! src/hotspot/share/gc/z/zUtils.inline.hpp ! src/hotspot/share/gc/z/zValue.inline.hpp Changeset: 89a15f14 Branch: fibers Author: Daniel Gredler Committer: Laurent Bourg?s Date: 2024-08-12 12:09:22 +0000 URL: https://git.openjdk.org/loom/commit/89a15f1414f89d2dd32eac791e9155fcb4207e56 8337681: PNGImageWriter uses much more memory than necessary Reviewed-by: prr, lbourges ! src/java.desktop/share/classes/com/sun/imageio/plugins/png/PNGImageWriter.java + test/jdk/javax/imageio/plugins/png/RasterReuseWriteTest.java Changeset: 61d1dc59 Branch: fibers Author: Vicente Romero Date: 2024-08-12 13:52:57 +0000 URL: https://git.openjdk.org/loom/commit/61d1dc59535a3dc186bc1986a04efdb4e5a8fa18 8334466: Ambiguous method call with generics may cause FunctionDescriptorLookupError Reviewed-by: jlahoda ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Resolve.java + test/langtools/tools/javac/lambda/CrashWithFunctionDescriptorLookupErrorTest.java + test/langtools/tools/javac/lambda/CrashWithFunctionDescriptorLookupErrorTest.out Changeset: a36fb368 Branch: fibers Author: Magnus Ihse Bursie Date: 2024-08-12 15:33:31 +0000 URL: https://git.openjdk.org/loom/commit/a36fb368e1a3630d32908884f4abdc3382eb9aaa 8338108: Give better error message in configure if a full XCode is missing Reviewed-by: jwaters, erikj, shade ! make/autoconf/toolchain.m4 Changeset: 04b146a3 Branch: fibers Author: SendaoYan Committer: Vicente Romero Date: 2024-08-12 15:43:40 +0000 URL: https://git.openjdk.org/loom/commit/04b146a31f55825e2c8e3c8e42310b3b3337ae95 8337334: Test tools/javac/7142086/T7142086.java timeout with fastdebug binary Reviewed-by: vromero ! test/langtools/TEST.ROOT ! test/langtools/tools/javac/7142086/T7142086.java Changeset: f84240bc Branch: fibers Author: Ioi Lam Date: 2024-08-12 16:03:41 +0000 URL: https://git.openjdk.org/loom/commit/f84240bca80d2ff01e198bb67931ad4725a5b334 8338011: CDS archived heap object support for 64-bit Windows Reviewed-by: stuefe, shade, ccheung ! src/hotspot/share/cds/filemap.cpp ! src/hotspot/share/cds/heapShared.cpp ! src/hotspot/share/utilities/macros.hpp Changeset: 8d083147 Branch: fibers Author: Liam Miller-Cushon Date: 2024-08-12 17:15:39 +0000 URL: https://git.openjdk.org/loom/commit/8d0831478338e9b084b2c47f46eba9faae3a5eb6 8337795: Type annotation attached to incorrect type during class reading Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassReader.java ! test/langtools/tools/javac/processing/model/type/BasicAnnoTests.java Changeset: 99edb4a4 Branch: fibers Author: Vladimir Kozlov Date: 2024-08-12 17:20:20 +0000 URL: https://git.openjdk.org/loom/commit/99edb4a45d6a4a871dec9c07b41b3ab66b89a4b6 8337702: Use new ForwardExceptionNode to call StubRoutines::forward_exception_entry() Reviewed-by: thartmann ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/arm/arm.ad ! src/hotspot/cpu/ppc/ppc.ad ! src/hotspot/cpu/riscv/riscv.ad ! src/hotspot/cpu/s390/s390.ad ! src/hotspot/cpu/x86/x86_32.ad ! src/hotspot/cpu/x86/x86_64.ad ! src/hotspot/share/adlc/formssel.cpp ! src/hotspot/share/opto/callnode.hpp ! src/hotspot/share/opto/classes.hpp ! src/hotspot/share/opto/domgraph.cpp ! src/hotspot/share/opto/gcm.cpp ! src/hotspot/share/opto/generateOptoStub.cpp ! src/hotspot/share/opto/matcher.cpp ! src/hotspot/share/runtime/vmStructs.cpp Changeset: 2ca136a7 Branch: fibers Author: Ben Taylor Committer: Aleksey Shipilev Date: 2024-08-12 17:26:51 +0000 URL: https://git.openjdk.org/loom/commit/2ca136a7adb6defaea3b7a69d30e6c36bda66e6a 8337815: Relax G1EvacStats atomic operations Reviewed-by: kbarrett, tschatzl, shade ! src/hotspot/share/gc/g1/g1EvacStats.inline.hpp Changeset: 41e31d6b Branch: fibers Author: Coleen Phillimore Date: 2024-08-12 17:56:46 +0000 URL: https://git.openjdk.org/loom/commit/41e31d6b0ae00d70b6fb20c89318fde2bc605edb 8337622: IllegalArgumentException in java.lang.reflect.Field.get Reviewed-by: dholmes, shade ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/javaClasses.hpp + test/hotspot/jtreg/runtime/reflect/ComponentTypeFieldTest.java Changeset: b93b74e3 Branch: fibers Author: Roger Riggs Date: 2024-08-12 19:28:46 +0000 URL: https://git.openjdk.org/loom/commit/b93b74e3ebd220e94fb5e33d2ebc62181db97bb0 8338060: jdk/internal/util/ReferencedKeyTest should be more robust Reviewed-by: never ! test/jdk/jdk/internal/util/ReferencedKeyTest.java Changeset: 4417c276 Branch: fibers Author: Leonid Mesnik Date: 2024-08-12 19:43:36 +0000 URL: https://git.openjdk.org/loom/commit/4417c276e484c1fe137ed7f4a7c28709d0c99af2 8330535: Update nsk/jdb tests to use driver instead of othervm Reviewed-by: cjplummer ! test/hotspot/jtreg/vmTestbase/nsk/jdb/caught_exception/caught_exception002/caught_exception002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/classes/classes001/classes001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/classpath/classpath001/classpath001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/clear/clear002/clear002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/clear/clear003/clear003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/clear/clear004/clear004.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/down/down002/down002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/dump/dump002/dump002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/eval/eval001/eval001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/exclude/exclude001/exclude001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/fields/fields001/fields001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/hidden_class/hc001/hc001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/ignore/ignore001/ignore001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/interrupt/interrupt001/interrupt001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/kill/kill001/kill001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/kill/kill002/kill002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/klass/class001/class001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/list/list002/list002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/list/list003/list003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/locals/locals002/locals002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/methods/methods002/methods002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/monitor/monitor001/monitor001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/monitor/monitor002/monitor002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/next/next001/next001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/options/connect/connect001/connect001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/options/connect/connect002/connect002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/options/connect/connect003/connect003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/options/connect/connect004/connect004.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/options/connect/connect005/connect005.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/options/listconnectors/listconnectors001/listconnectors001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/pop/pop001/pop001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/pop_exception/pop_exception001/pop_exception001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/print/print002/print002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/read/read001/read001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/redefine/redefine001/redefine001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/reenter/reenter001/reenter001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/regression/b4689395/b4689395.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/repeat/repeat001/repeat001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/resume/resume002/resume002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/run/run002/run002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/set/set001/set001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/set/set002/set002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/step/step002/step002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/step_up/step_up001/step_up001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/stop_at/stop_at002/stop_at002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/stop_at/stop_at003/stop_at003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/stop_in/stop_in002/stop_in002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/suspend/suspend001/suspend001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/thread/thread002/thread002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/threadgroup/threadgroup002/threadgroup002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/threadgroups/threadgroups002/threadgroups002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/threads/threads002/threads002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/threads/threads003/threads003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/trace/trace001/trace001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/uncaught_exception/uncaught_exception002/uncaught_exception002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/unmonitor/unmonitor001/unmonitor001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/untrace/untrace001/untrace001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/unwatch/unwatch001/unwatch001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/unwatch/unwatch002/unwatch002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/up/up002/up002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/use/use001/use001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/watch/watch001/watch001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/watch/watch002/watch002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/where/where004/where004.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/where/where005/where005.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/where/where006/where006.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/wherei/wherei001/wherei001.java ! test/hotspot/jtreg/vmTestbase/nsk/share/jdb/JdbTest.java ! test/hotspot/jtreg/vmTestbase/nsk/share/jdb/Launcher.java Changeset: 5079c38d Branch: fibers Author: Kim Barrett Date: 2024-08-12 22:12:01 +0000 URL: https://git.openjdk.org/loom/commit/5079c38ddf345b21d8cb1c959bc36c4341e11da6 8338160: Fix -Wzero-as-null-pointer-constant warnings in management.cpp Reviewed-by: dholmes ! src/hotspot/share/services/management.cpp Changeset: e70c9bcc Branch: fibers Author: Zhengyu Gu Date: 2024-08-12 23:00:04 +0000 URL: https://git.openjdk.org/loom/commit/e70c9bccaae375be1ee6812dabc9fbaff01a6ab0 8338248: PartialArrayStateAllocator::Impl leaks Arena array Reviewed-by: kbarrett, shade ! src/hotspot/share/gc/shared/partialArrayState.cpp Changeset: d77e6fe4 Branch: fibers Author: Kim Barrett Date: 2024-08-13 05:46:38 +0000 URL: https://git.openjdk.org/loom/commit/d77e6fe45c7b834db457a772ce0bea514d2e44f3 8338154: Fix -Wzero-as-null-pointer-constant warnings in gtest framework Reviewed-by: ihse, dholmes, jwaters ! make/hotspot/lib/CompileGtest.gmk ! test/hotspot/gtest/gtestMain.cpp Changeset: 73ddb7de Branch: fibers Author: Emanuel Peter Date: 2024-08-13 05:52:44 +0000 URL: https://git.openjdk.org/loom/commit/73ddb7deab26c526337ec6e7cd5f528f698a552c 8335628: C2 SuperWord: cleanup: remove SuperWord::longer_type_for_conversion Reviewed-by: chagedorn, kvn ! src/hotspot/share/opto/superword.cpp ! src/hotspot/share/opto/superword.hpp Changeset: c27a8c8c Branch: fibers Author: Emanuel Peter Date: 2024-08-13 05:52:58 +0000 URL: https://git.openjdk.org/loom/commit/c27a8c8c8b867e6812b905f6154762802a498dbd 8338124: C2 SuperWord: MulAddS2I input permutation still partially broken after JDK-8333840 Reviewed-by: chagedorn, thartmann, kvn ! src/hotspot/share/opto/superword.cpp ! test/hotspot/jtreg/compiler/loopopts/superword/TestMulAddS2I.java Changeset: 73f7a5f1 Branch: fibers Author: Kim Barrett Date: 2024-08-13 07:27:49 +0000 URL: https://git.openjdk.org/loom/commit/73f7a5f15dbba54a98f3916ff1190520ac07874d 8338155: Fix -Wzero-as-null-pointer-constant warnings involving PTHREAD_MUTEX_INITIALIZER Reviewed-by: dholmes, dlong ! src/hotspot/os/linux/os_perf_linux.cpp ! src/hotspot/os/posix/threadCritical_posix.cpp ! src/hotspot/share/utilities/compilerWarnings.hpp ! src/hotspot/share/utilities/compilerWarnings_gcc.hpp Changeset: 5bf27098 Branch: fibers Author: Saint Wesonga Committer: Axel Boldt-Christmas Date: 2024-08-13 08:10:29 +0000 URL: https://git.openjdk.org/loom/commit/5bf27098e22172ed5d3ec0c43fe0553f8322c4b1 8334475: UnsafeIntrinsicsTest.java#ZGenerationalDebug assert(!assert_on_failure) failed: Has low-order bits set Reviewed-by: stefank, eosterlund, aboldtch ! src/hotspot/os_cpu/windows_aarch64/copy_windows_aarch64.hpp Changeset: ba69ed7c Branch: fibers Author: Aleksey Shipilev Date: 2024-08-13 08:11:47 +0000 URL: https://git.openjdk.org/loom/commit/ba69ed7c58fcf99ed18dfd8840125ddcac9460bb 8338202: Shenandoah: Improve handshake closure labels Reviewed-by: rkennke, ysr, wkemper ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahUnload.cpp Changeset: fbe4cc96 Branch: fibers Author: Viktor Klang Date: 2024-08-13 09:51:08 +0000 URL: https://git.openjdk.org/loom/commit/fbe4cc96e223882a18c7ff666fe6f68b3fa2cfe4 8336384: AbstractQueuedSynchronizer.acquire should cancel acquire when failing due to a LinkageError or other errors Reviewed-by: alanb ! src/java.base/share/classes/java/util/concurrent/locks/AbstractQueuedLongSynchronizer.java ! src/java.base/share/classes/java/util/concurrent/locks/AbstractQueuedSynchronizer.java Changeset: ff8a9f92 Branch: fibers Author: Coleen Phillimore Date: 2024-08-13 11:48:50 +0000 URL: https://git.openjdk.org/loom/commit/ff8a9f9267c480fe0be8470cda870fd77763fb31 8337318: Deoptimization::relock_objects fails assert(monitor->owner() == Thread::current()) failed: must be Co-authored-by: Richard Reingruber Reviewed-by: rrich, dholmes, shade, pchilanomate ! src/hotspot/share/runtime/synchronizer.cpp ! test/jdk/com/sun/jdi/EATests.java Changeset: 76e33b6c Branch: fibers Author: Axel Boldt-Christmas Date: 2024-08-13 13:13:14 +0000 URL: https://git.openjdk.org/loom/commit/76e33b6c1517599e14ee34371c945aafcd752e4e 8336148: Test runtime/locking/TestRecursiveMonitorChurn.java failed: Unexpected Inflation Reviewed-by: dholmes, eosterlund ! test/hotspot/jtreg/runtime/locking/TestRecursiveMonitorChurn.java Changeset: 877fd5a7 Branch: fibers Author: Casper Norrbin Committer: Julian Waters Date: 2024-08-13 14:43:44 +0000 URL: https://git.openjdk.org/loom/commit/877fd5a768647790d0a43aaca247043bae70d708 8337595: Remove empty statements in src/hotspot/share/memory/metaspace Reviewed-by: stefank, dholmes, jwaters ! src/hotspot/share/memory/metaspace/metaspaceCommon.hpp Changeset: 9e282e5c Branch: fibers Author: Liam Miller-Cushon Date: 2024-08-13 15:05:49 +0000 URL: https://git.openjdk.org/loom/commit/9e282e5c966a9c065de8b901b7d30bb5c9ccf243 8337998: CompletionFailure in getEnclosingType attaching type annotations Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassReader.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties + test/langtools/tools/javac/annotations/typeAnnotations/CompletionErrorOnEnclosingType.java ! test/langtools/tools/javac/diags/examples.not-yet.txt Changeset: 6af1d6ff Branch: fibers Author: Chen Liang Date: 2024-08-13 15:14:06 +0000 URL: https://git.openjdk.org/loom/commit/6af1d6ff210b3ddbc7d1585428b49631248a500b 8335927: Revisit AnnotationConstantValueEntry and AnnotationValue.OfConstant Reviewed-by: asotona ! src/java.base/share/classes/java/lang/classfile/AnnotationValue.java ! src/java.base/share/classes/java/lang/classfile/constantpool/AnnotationConstantValueEntry.java ! src/java.base/share/classes/java/lang/classfile/constantpool/ConstantPoolBuilder.java ! src/java.base/share/classes/jdk/internal/classfile/impl/AnnotationImpl.java ! src/java.base/share/classes/jdk/internal/classfile/impl/AnnotationReader.java ! src/java.base/share/classes/jdk/internal/classfile/impl/ClassPrinterImpl.java ! test/jdk/jdk/classfile/AnnotationTest.java ! test/jdk/jdk/classfile/ClassPrinterTest.java ! test/jdk/jdk/classfile/helpers/RebuildingTransformation.java ! test/langtools/tools/javac/annotations/typeAnnotations/classfile/AnonymousClassTest.java ! test/langtools/tools/javac/classfiles/attributes/AnnotationDefault/AnnotationDefaultVerifier.java ! test/langtools/tools/javac/classfiles/attributes/annotations/TestAnnotationInfo.java Changeset: 58b95705 Branch: fibers Author: Alan Bateman Date: 2024-08-13 16:05:38 +0000 URL: https://git.openjdk.org/loom/commit/58b957054437edee7d0abc365133985ac30a6af4 8338142: (dc) DatagramChannelImpl.blockingReceive can use untimed-park when no timeout set Reviewed-by: dfuchs ! src/java.base/share/classes/sun/nio/ch/DatagramChannelImpl.java Changeset: 21ca91e5 Branch: fibers Author: Afshin Zafari Date: 2024-08-13 16:25:43 +0000 URL: https://git.openjdk.org/loom/commit/21ca91e55dd83dc011e67a2d056e3e3bd44d40b5 8300800: UB: Shift exponent 32 is too large for 32-bit type 'int' Reviewed-by: kbarrett, adinn, gziemski ! src/hotspot/cpu/aarch64/immediate_aarch64.cpp Changeset: 84c3065e Branch: fibers Author: Neethu Prasad Committer: Aleksey Shipilev Date: 2024-08-13 17:22:41 +0000 URL: https://git.openjdk.org/loom/commit/84c3065e8004122f3455a8c28c8719b2c8111c17 8335865: Shenandoah: Improve THP pretouch after JDK-8315923 Reviewed-by: shade, wkemper ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp Changeset: ca99f37f Branch: fibers Author: Kim Barrett Date: 2024-08-13 18:02:24 +0000 URL: https://git.openjdk.org/loom/commit/ca99f37f82bf59fc720babbc155502ef92d34de6 8338156: Fix -Wzero-as-null-pointer-constant warnings in jvmciCompilerToVM.cpp Reviewed-by: tschatzl, jwaters, dnsimon ! src/hotspot/share/jvmci/jvmciCompilerToVM.cpp Changeset: 8e682aca Branch: fibers Author: Kim Barrett Date: 2024-08-13 18:03:52 +0000 URL: https://git.openjdk.org/loom/commit/8e682aca24fba0803dceef513957fb2122895b87 8338158: Cleanup ShouldNotXXX uses in machnode.cpp Reviewed-by: chagedorn, kvn, dlong ! src/hotspot/share/opto/machnode.cpp Changeset: 90527a57 Branch: fibers Author: Neethu Prasad Committer: Aleksey Shipilev Date: 2024-08-13 19:56:07 +0000 URL: https://git.openjdk.org/loom/commit/90527a57848f452be3be089a703cbc2af2d1657a 8336742: Shenandoah: Add more verbose logging/stats for mark termination attempts Reviewed-by: shade, wkemper, rkennke ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.cpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.hpp Changeset: f132b347 Branch: fibers Author: SendaoYan Committer: Rajan Halade Date: 2024-08-13 22:59:13 +0000 URL: https://git.openjdk.org/loom/commit/f132b347e13a57d9654f0ab11db0636999576036 8336854: CAInterop.java#actalisauthenticationrootca conflicted with /manual and /timeout Reviewed-by: rhalade ! test/jdk/security/infra/java/security/cert/CertPathValidator/certification/CAInterop.java Changeset: 720b4464 Branch: fibers Author: Jaikiran Pai Date: 2024-08-14 05:42:14 +0000 URL: https://git.openjdk.org/loom/commit/720b44648bcff997278af92746f942b2425298a5 8335181: Incorrect handling of HTTP/2 GOAWAY frames in HttpClient Reviewed-by: dfuchs ! src/java.net.http/share/classes/jdk/internal/net/http/ExchangeImpl.java ! src/java.net.http/share/classes/jdk/internal/net/http/Http2Connection.java ! src/java.net.http/share/classes/jdk/internal/net/http/MultiExchange.java ! src/java.net.http/share/classes/jdk/internal/net/http/Stream.java ! src/java.net.http/share/classes/jdk/internal/net/http/WindowController.java ! src/java.net.http/share/classes/jdk/internal/net/http/frame/GoAwayFrame.java + test/jdk/java/net/httpclient/http2/H2GoAwayTest.java ! test/jdk/java/net/httpclient/lib/jdk/httpclient/test/lib/common/HttpServerAdapters.java ! test/jdk/java/net/httpclient/lib/jdk/httpclient/test/lib/http2/Http2TestExchange.java ! test/jdk/java/net/httpclient/lib/jdk/httpclient/test/lib/http2/Http2TestExchangeImpl.java ! test/jdk/java/net/httpclient/lib/jdk/httpclient/test/lib/http2/Http2TestServer.java ! test/jdk/java/net/httpclient/lib/jdk/httpclient/test/lib/http2/Http2TestServerConnection.java Changeset: 9023b0e3 Branch: fibers Author: Alan Bateman Date: 2024-08-14 09:35:26 +0000 URL: https://git.openjdk.org/loom/commit/9023b0e3ee62c1d3b1c8f245595da23f8b7546c9 Merge ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/x86_32.ad ! src/hotspot/cpu/x86/x86_64.ad ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/runtime/synchronizer.cpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/hotspot/share/utilities/macros.hpp ! test/hotspot/jtreg/runtime/locking/TestRecursiveMonitorChurn.java ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/x86_32.ad ! src/hotspot/cpu/x86/x86_64.ad ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/runtime/synchronizer.cpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/hotspot/share/utilities/macros.hpp ! test/hotspot/jtreg/runtime/locking/TestRecursiveMonitorChurn.java From duke at openjdk.org Wed Aug 14 08:41:43 2024 From: duke at openjdk.org (duke) Date: Wed, 14 Aug 2024 08:41:43 GMT Subject: git: openjdk/loom: master: 38 new changesets Message-ID: <092191e7-e199-4777-8def-dfd7e2826b02@openjdk.org> Changeset: 6a3d0452 Branch: master Author: Kim Barrett Date: 2024-08-11 18:34:18 +0000 URL: https://git.openjdk.org/loom/commit/6a3d045221c338fefec9bd59245324eae60b156b 8337709: Use allocated states for chunking large array processing Reviewed-by: iwalulya, tschatzl ! src/hotspot/share/gc/g1/g1ParScanThreadState.cpp ! src/hotspot/share/gc/g1/g1ParScanThreadState.hpp + src/hotspot/share/gc/shared/partialArrayState.cpp + src/hotspot/share/gc/shared/partialArrayState.hpp ! src/hotspot/share/gc/shared/partialArrayTaskStepper.cpp ! src/hotspot/share/gc/shared/partialArrayTaskStepper.hpp ! src/hotspot/share/gc/shared/partialArrayTaskStepper.inline.hpp ! src/hotspot/share/gc/shared/taskqueue.hpp ! test/hotspot/gtest/gc/shared/test_partialArrayTaskStepper.cpp Changeset: 0e7c1c1a Branch: master Author: SendaoYan Committer: Jie Fu Date: 2024-08-12 06:26:27 +0000 URL: https://git.openjdk.org/loom/commit/0e7c1c1afeaba1c125b70cabe7b1b7a3193ee5c3 8338112: Test testlibrary_tests/ir_framework/tests/TestPrivilegedMode.java fails with release build Reviewed-by: chagedorn, thartmann ! test/hotspot/jtreg/testlibrary_tests/ir_framework/tests/TestPrivilegedMode.java Changeset: 692f5cbd Branch: master Author: Matthias Baesken Date: 2024-08-12 07:32:10 +0000 URL: https://git.openjdk.org/loom/commit/692f5cbdb9bd94f03e5f18ddf07d56fbb5c0d456 8338101: remove old remap assertion in map_or_reserve_memory_aligned after JDK-8338058 Reviewed-by: mdoerr, clanger ! src/hotspot/os/windows/os_windows.cpp Changeset: 03204600 Branch: master Author: Andrew Haley Date: 2024-08-12 07:38:43 +0000 URL: https://git.openjdk.org/loom/commit/03204600c596214895ef86581eba9722f76d39b3 8337958: Out-of-bounds array access in secondary_super_cache Reviewed-by: vlivanov, shade ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/riscv/macroAssembler_riscv.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/share/oops/klass.cpp Changeset: a6c06307 Branch: master Author: Joel Sikstr?m Committer: Stefan Karlsson Date: 2024-08-12 10:58:05 +0000 URL: https://git.openjdk.org/loom/commit/a6c0630737bbf2f2e6c64863ff9b43c50c4742b6 8337938: ZUtils::alloc_aligned allocates without reporting to NMT Reviewed-by: stefank, kbarrett - src/hotspot/os/posix/gc/z/zUtils_posix.cpp - src/hotspot/os/windows/gc/z/zUtils_windows.cpp ! src/hotspot/share/gc/z/zStat.cpp ! src/hotspot/share/gc/z/zUtils.hpp ! src/hotspot/share/gc/z/zUtils.inline.hpp ! src/hotspot/share/gc/z/zValue.inline.hpp Changeset: 89a15f14 Branch: master Author: Daniel Gredler Committer: Laurent Bourg?s Date: 2024-08-12 12:09:22 +0000 URL: https://git.openjdk.org/loom/commit/89a15f1414f89d2dd32eac791e9155fcb4207e56 8337681: PNGImageWriter uses much more memory than necessary Reviewed-by: prr, lbourges ! src/java.desktop/share/classes/com/sun/imageio/plugins/png/PNGImageWriter.java + test/jdk/javax/imageio/plugins/png/RasterReuseWriteTest.java Changeset: 61d1dc59 Branch: master Author: Vicente Romero Date: 2024-08-12 13:52:57 +0000 URL: https://git.openjdk.org/loom/commit/61d1dc59535a3dc186bc1986a04efdb4e5a8fa18 8334466: Ambiguous method call with generics may cause FunctionDescriptorLookupError Reviewed-by: jlahoda ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Resolve.java + test/langtools/tools/javac/lambda/CrashWithFunctionDescriptorLookupErrorTest.java + test/langtools/tools/javac/lambda/CrashWithFunctionDescriptorLookupErrorTest.out Changeset: a36fb368 Branch: master Author: Magnus Ihse Bursie Date: 2024-08-12 15:33:31 +0000 URL: https://git.openjdk.org/loom/commit/a36fb368e1a3630d32908884f4abdc3382eb9aaa 8338108: Give better error message in configure if a full XCode is missing Reviewed-by: jwaters, erikj, shade ! make/autoconf/toolchain.m4 Changeset: 04b146a3 Branch: master Author: SendaoYan Committer: Vicente Romero Date: 2024-08-12 15:43:40 +0000 URL: https://git.openjdk.org/loom/commit/04b146a31f55825e2c8e3c8e42310b3b3337ae95 8337334: Test tools/javac/7142086/T7142086.java timeout with fastdebug binary Reviewed-by: vromero ! test/langtools/TEST.ROOT ! test/langtools/tools/javac/7142086/T7142086.java Changeset: f84240bc Branch: master Author: Ioi Lam Date: 2024-08-12 16:03:41 +0000 URL: https://git.openjdk.org/loom/commit/f84240bca80d2ff01e198bb67931ad4725a5b334 8338011: CDS archived heap object support for 64-bit Windows Reviewed-by: stuefe, shade, ccheung ! src/hotspot/share/cds/filemap.cpp ! src/hotspot/share/cds/heapShared.cpp ! src/hotspot/share/utilities/macros.hpp Changeset: 8d083147 Branch: master Author: Liam Miller-Cushon Date: 2024-08-12 17:15:39 +0000 URL: https://git.openjdk.org/loom/commit/8d0831478338e9b084b2c47f46eba9faae3a5eb6 8337795: Type annotation attached to incorrect type during class reading Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassReader.java ! test/langtools/tools/javac/processing/model/type/BasicAnnoTests.java Changeset: 99edb4a4 Branch: master Author: Vladimir Kozlov Date: 2024-08-12 17:20:20 +0000 URL: https://git.openjdk.org/loom/commit/99edb4a45d6a4a871dec9c07b41b3ab66b89a4b6 8337702: Use new ForwardExceptionNode to call StubRoutines::forward_exception_entry() Reviewed-by: thartmann ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/arm/arm.ad ! src/hotspot/cpu/ppc/ppc.ad ! src/hotspot/cpu/riscv/riscv.ad ! src/hotspot/cpu/s390/s390.ad ! src/hotspot/cpu/x86/x86_32.ad ! src/hotspot/cpu/x86/x86_64.ad ! src/hotspot/share/adlc/formssel.cpp ! src/hotspot/share/opto/callnode.hpp ! src/hotspot/share/opto/classes.hpp ! src/hotspot/share/opto/domgraph.cpp ! src/hotspot/share/opto/gcm.cpp ! src/hotspot/share/opto/generateOptoStub.cpp ! src/hotspot/share/opto/matcher.cpp ! src/hotspot/share/runtime/vmStructs.cpp Changeset: 2ca136a7 Branch: master Author: Ben Taylor Committer: Aleksey Shipilev Date: 2024-08-12 17:26:51 +0000 URL: https://git.openjdk.org/loom/commit/2ca136a7adb6defaea3b7a69d30e6c36bda66e6a 8337815: Relax G1EvacStats atomic operations Reviewed-by: kbarrett, tschatzl, shade ! src/hotspot/share/gc/g1/g1EvacStats.inline.hpp Changeset: 41e31d6b Branch: master Author: Coleen Phillimore Date: 2024-08-12 17:56:46 +0000 URL: https://git.openjdk.org/loom/commit/41e31d6b0ae00d70b6fb20c89318fde2bc605edb 8337622: IllegalArgumentException in java.lang.reflect.Field.get Reviewed-by: dholmes, shade ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/javaClasses.hpp + test/hotspot/jtreg/runtime/reflect/ComponentTypeFieldTest.java Changeset: b93b74e3 Branch: master Author: Roger Riggs Date: 2024-08-12 19:28:46 +0000 URL: https://git.openjdk.org/loom/commit/b93b74e3ebd220e94fb5e33d2ebc62181db97bb0 8338060: jdk/internal/util/ReferencedKeyTest should be more robust Reviewed-by: never ! test/jdk/jdk/internal/util/ReferencedKeyTest.java Changeset: 4417c276 Branch: master Author: Leonid Mesnik Date: 2024-08-12 19:43:36 +0000 URL: https://git.openjdk.org/loom/commit/4417c276e484c1fe137ed7f4a7c28709d0c99af2 8330535: Update nsk/jdb tests to use driver instead of othervm Reviewed-by: cjplummer ! test/hotspot/jtreg/vmTestbase/nsk/jdb/caught_exception/caught_exception002/caught_exception002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/classes/classes001/classes001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/classpath/classpath001/classpath001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/clear/clear002/clear002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/clear/clear003/clear003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/clear/clear004/clear004.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/down/down002/down002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/dump/dump002/dump002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/eval/eval001/eval001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/exclude/exclude001/exclude001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/fields/fields001/fields001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/hidden_class/hc001/hc001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/ignore/ignore001/ignore001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/interrupt/interrupt001/interrupt001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/kill/kill001/kill001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/kill/kill002/kill002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/klass/class001/class001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/list/list002/list002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/list/list003/list003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/locals/locals002/locals002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/methods/methods002/methods002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/monitor/monitor001/monitor001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/monitor/monitor002/monitor002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/next/next001/next001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/options/connect/connect001/connect001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/options/connect/connect002/connect002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/options/connect/connect003/connect003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/options/connect/connect004/connect004.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/options/connect/connect005/connect005.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/options/listconnectors/listconnectors001/listconnectors001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/pop/pop001/pop001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/pop_exception/pop_exception001/pop_exception001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/print/print002/print002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/read/read001/read001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/redefine/redefine001/redefine001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/reenter/reenter001/reenter001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/regression/b4689395/b4689395.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/repeat/repeat001/repeat001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/resume/resume002/resume002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/run/run002/run002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/set/set001/set001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/set/set002/set002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/step/step002/step002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/step_up/step_up001/step_up001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/stop_at/stop_at002/stop_at002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/stop_at/stop_at003/stop_at003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/stop_in/stop_in002/stop_in002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/suspend/suspend001/suspend001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/thread/thread002/thread002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/threadgroup/threadgroup002/threadgroup002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/threadgroups/threadgroups002/threadgroups002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/threads/threads002/threads002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/threads/threads003/threads003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/trace/trace001/trace001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/uncaught_exception/uncaught_exception002/uncaught_exception002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/unmonitor/unmonitor001/unmonitor001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/untrace/untrace001/untrace001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/unwatch/unwatch001/unwatch001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/unwatch/unwatch002/unwatch002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/up/up002/up002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/use/use001/use001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/watch/watch001/watch001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/watch/watch002/watch002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/where/where004/where004.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/where/where005/where005.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/where/where006/where006.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/wherei/wherei001/wherei001.java ! test/hotspot/jtreg/vmTestbase/nsk/share/jdb/JdbTest.java ! test/hotspot/jtreg/vmTestbase/nsk/share/jdb/Launcher.java Changeset: 5079c38d Branch: master Author: Kim Barrett Date: 2024-08-12 22:12:01 +0000 URL: https://git.openjdk.org/loom/commit/5079c38ddf345b21d8cb1c959bc36c4341e11da6 8338160: Fix -Wzero-as-null-pointer-constant warnings in management.cpp Reviewed-by: dholmes ! src/hotspot/share/services/management.cpp Changeset: e70c9bcc Branch: master Author: Zhengyu Gu Date: 2024-08-12 23:00:04 +0000 URL: https://git.openjdk.org/loom/commit/e70c9bccaae375be1ee6812dabc9fbaff01a6ab0 8338248: PartialArrayStateAllocator::Impl leaks Arena array Reviewed-by: kbarrett, shade ! src/hotspot/share/gc/shared/partialArrayState.cpp Changeset: d77e6fe4 Branch: master Author: Kim Barrett Date: 2024-08-13 05:46:38 +0000 URL: https://git.openjdk.org/loom/commit/d77e6fe45c7b834db457a772ce0bea514d2e44f3 8338154: Fix -Wzero-as-null-pointer-constant warnings in gtest framework Reviewed-by: ihse, dholmes, jwaters ! make/hotspot/lib/CompileGtest.gmk ! test/hotspot/gtest/gtestMain.cpp Changeset: 73ddb7de Branch: master Author: Emanuel Peter Date: 2024-08-13 05:52:44 +0000 URL: https://git.openjdk.org/loom/commit/73ddb7deab26c526337ec6e7cd5f528f698a552c 8335628: C2 SuperWord: cleanup: remove SuperWord::longer_type_for_conversion Reviewed-by: chagedorn, kvn ! src/hotspot/share/opto/superword.cpp ! src/hotspot/share/opto/superword.hpp Changeset: c27a8c8c Branch: master Author: Emanuel Peter Date: 2024-08-13 05:52:58 +0000 URL: https://git.openjdk.org/loom/commit/c27a8c8c8b867e6812b905f6154762802a498dbd 8338124: C2 SuperWord: MulAddS2I input permutation still partially broken after JDK-8333840 Reviewed-by: chagedorn, thartmann, kvn ! src/hotspot/share/opto/superword.cpp ! test/hotspot/jtreg/compiler/loopopts/superword/TestMulAddS2I.java Changeset: 73f7a5f1 Branch: master Author: Kim Barrett Date: 2024-08-13 07:27:49 +0000 URL: https://git.openjdk.org/loom/commit/73f7a5f15dbba54a98f3916ff1190520ac07874d 8338155: Fix -Wzero-as-null-pointer-constant warnings involving PTHREAD_MUTEX_INITIALIZER Reviewed-by: dholmes, dlong ! src/hotspot/os/linux/os_perf_linux.cpp ! src/hotspot/os/posix/threadCritical_posix.cpp ! src/hotspot/share/utilities/compilerWarnings.hpp ! src/hotspot/share/utilities/compilerWarnings_gcc.hpp Changeset: 5bf27098 Branch: master Author: Saint Wesonga Committer: Axel Boldt-Christmas Date: 2024-08-13 08:10:29 +0000 URL: https://git.openjdk.org/loom/commit/5bf27098e22172ed5d3ec0c43fe0553f8322c4b1 8334475: UnsafeIntrinsicsTest.java#ZGenerationalDebug assert(!assert_on_failure) failed: Has low-order bits set Reviewed-by: stefank, eosterlund, aboldtch ! src/hotspot/os_cpu/windows_aarch64/copy_windows_aarch64.hpp Changeset: ba69ed7c Branch: master Author: Aleksey Shipilev Date: 2024-08-13 08:11:47 +0000 URL: https://git.openjdk.org/loom/commit/ba69ed7c58fcf99ed18dfd8840125ddcac9460bb 8338202: Shenandoah: Improve handshake closure labels Reviewed-by: rkennke, ysr, wkemper ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahUnload.cpp Changeset: fbe4cc96 Branch: master Author: Viktor Klang Date: 2024-08-13 09:51:08 +0000 URL: https://git.openjdk.org/loom/commit/fbe4cc96e223882a18c7ff666fe6f68b3fa2cfe4 8336384: AbstractQueuedSynchronizer.acquire should cancel acquire when failing due to a LinkageError or other errors Reviewed-by: alanb ! src/java.base/share/classes/java/util/concurrent/locks/AbstractQueuedLongSynchronizer.java ! src/java.base/share/classes/java/util/concurrent/locks/AbstractQueuedSynchronizer.java Changeset: ff8a9f92 Branch: master Author: Coleen Phillimore Date: 2024-08-13 11:48:50 +0000 URL: https://git.openjdk.org/loom/commit/ff8a9f9267c480fe0be8470cda870fd77763fb31 8337318: Deoptimization::relock_objects fails assert(monitor->owner() == Thread::current()) failed: must be Co-authored-by: Richard Reingruber Reviewed-by: rrich, dholmes, shade, pchilanomate ! src/hotspot/share/runtime/synchronizer.cpp ! test/jdk/com/sun/jdi/EATests.java Changeset: 76e33b6c Branch: master Author: Axel Boldt-Christmas Date: 2024-08-13 13:13:14 +0000 URL: https://git.openjdk.org/loom/commit/76e33b6c1517599e14ee34371c945aafcd752e4e 8336148: Test runtime/locking/TestRecursiveMonitorChurn.java failed: Unexpected Inflation Reviewed-by: dholmes, eosterlund ! test/hotspot/jtreg/runtime/locking/TestRecursiveMonitorChurn.java Changeset: 877fd5a7 Branch: master Author: Casper Norrbin Committer: Julian Waters Date: 2024-08-13 14:43:44 +0000 URL: https://git.openjdk.org/loom/commit/877fd5a768647790d0a43aaca247043bae70d708 8337595: Remove empty statements in src/hotspot/share/memory/metaspace Reviewed-by: stefank, dholmes, jwaters ! src/hotspot/share/memory/metaspace/metaspaceCommon.hpp Changeset: 9e282e5c Branch: master Author: Liam Miller-Cushon Date: 2024-08-13 15:05:49 +0000 URL: https://git.openjdk.org/loom/commit/9e282e5c966a9c065de8b901b7d30bb5c9ccf243 8337998: CompletionFailure in getEnclosingType attaching type annotations Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassReader.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties + test/langtools/tools/javac/annotations/typeAnnotations/CompletionErrorOnEnclosingType.java ! test/langtools/tools/javac/diags/examples.not-yet.txt Changeset: 6af1d6ff Branch: master Author: Chen Liang Date: 2024-08-13 15:14:06 +0000 URL: https://git.openjdk.org/loom/commit/6af1d6ff210b3ddbc7d1585428b49631248a500b 8335927: Revisit AnnotationConstantValueEntry and AnnotationValue.OfConstant Reviewed-by: asotona ! src/java.base/share/classes/java/lang/classfile/AnnotationValue.java ! src/java.base/share/classes/java/lang/classfile/constantpool/AnnotationConstantValueEntry.java ! src/java.base/share/classes/java/lang/classfile/constantpool/ConstantPoolBuilder.java ! src/java.base/share/classes/jdk/internal/classfile/impl/AnnotationImpl.java ! src/java.base/share/classes/jdk/internal/classfile/impl/AnnotationReader.java ! src/java.base/share/classes/jdk/internal/classfile/impl/ClassPrinterImpl.java ! test/jdk/jdk/classfile/AnnotationTest.java ! test/jdk/jdk/classfile/ClassPrinterTest.java ! test/jdk/jdk/classfile/helpers/RebuildingTransformation.java ! test/langtools/tools/javac/annotations/typeAnnotations/classfile/AnonymousClassTest.java ! test/langtools/tools/javac/classfiles/attributes/AnnotationDefault/AnnotationDefaultVerifier.java ! test/langtools/tools/javac/classfiles/attributes/annotations/TestAnnotationInfo.java Changeset: 58b95705 Branch: master Author: Alan Bateman Date: 2024-08-13 16:05:38 +0000 URL: https://git.openjdk.org/loom/commit/58b957054437edee7d0abc365133985ac30a6af4 8338142: (dc) DatagramChannelImpl.blockingReceive can use untimed-park when no timeout set Reviewed-by: dfuchs ! src/java.base/share/classes/sun/nio/ch/DatagramChannelImpl.java Changeset: 21ca91e5 Branch: master Author: Afshin Zafari Date: 2024-08-13 16:25:43 +0000 URL: https://git.openjdk.org/loom/commit/21ca91e55dd83dc011e67a2d056e3e3bd44d40b5 8300800: UB: Shift exponent 32 is too large for 32-bit type 'int' Reviewed-by: kbarrett, adinn, gziemski ! src/hotspot/cpu/aarch64/immediate_aarch64.cpp Changeset: 84c3065e Branch: master Author: Neethu Prasad Committer: Aleksey Shipilev Date: 2024-08-13 17:22:41 +0000 URL: https://git.openjdk.org/loom/commit/84c3065e8004122f3455a8c28c8719b2c8111c17 8335865: Shenandoah: Improve THP pretouch after JDK-8315923 Reviewed-by: shade, wkemper ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp Changeset: ca99f37f Branch: master Author: Kim Barrett Date: 2024-08-13 18:02:24 +0000 URL: https://git.openjdk.org/loom/commit/ca99f37f82bf59fc720babbc155502ef92d34de6 8338156: Fix -Wzero-as-null-pointer-constant warnings in jvmciCompilerToVM.cpp Reviewed-by: tschatzl, jwaters, dnsimon ! src/hotspot/share/jvmci/jvmciCompilerToVM.cpp Changeset: 8e682aca Branch: master Author: Kim Barrett Date: 2024-08-13 18:03:52 +0000 URL: https://git.openjdk.org/loom/commit/8e682aca24fba0803dceef513957fb2122895b87 8338158: Cleanup ShouldNotXXX uses in machnode.cpp Reviewed-by: chagedorn, kvn, dlong ! src/hotspot/share/opto/machnode.cpp Changeset: 90527a57 Branch: master Author: Neethu Prasad Committer: Aleksey Shipilev Date: 2024-08-13 19:56:07 +0000 URL: https://git.openjdk.org/loom/commit/90527a57848f452be3be089a703cbc2af2d1657a 8336742: Shenandoah: Add more verbose logging/stats for mark termination attempts Reviewed-by: shade, wkemper, rkennke ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.cpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.hpp Changeset: f132b347 Branch: master Author: SendaoYan Committer: Rajan Halade Date: 2024-08-13 22:59:13 +0000 URL: https://git.openjdk.org/loom/commit/f132b347e13a57d9654f0ab11db0636999576036 8336854: CAInterop.java#actalisauthenticationrootca conflicted with /manual and /timeout Reviewed-by: rhalade ! test/jdk/security/infra/java/security/cert/CertPathValidator/certification/CAInterop.java Changeset: 720b4464 Branch: master Author: Jaikiran Pai Date: 2024-08-14 05:42:14 +0000 URL: https://git.openjdk.org/loom/commit/720b44648bcff997278af92746f942b2425298a5 8335181: Incorrect handling of HTTP/2 GOAWAY frames in HttpClient Reviewed-by: dfuchs ! src/java.net.http/share/classes/jdk/internal/net/http/ExchangeImpl.java ! src/java.net.http/share/classes/jdk/internal/net/http/Http2Connection.java ! src/java.net.http/share/classes/jdk/internal/net/http/MultiExchange.java ! src/java.net.http/share/classes/jdk/internal/net/http/Stream.java ! src/java.net.http/share/classes/jdk/internal/net/http/WindowController.java ! src/java.net.http/share/classes/jdk/internal/net/http/frame/GoAwayFrame.java + test/jdk/java/net/httpclient/http2/H2GoAwayTest.java ! test/jdk/java/net/httpclient/lib/jdk/httpclient/test/lib/common/HttpServerAdapters.java ! test/jdk/java/net/httpclient/lib/jdk/httpclient/test/lib/http2/Http2TestExchange.java ! test/jdk/java/net/httpclient/lib/jdk/httpclient/test/lib/http2/Http2TestExchangeImpl.java ! test/jdk/java/net/httpclient/lib/jdk/httpclient/test/lib/http2/Http2TestServer.java ! test/jdk/java/net/httpclient/lib/jdk/httpclient/test/lib/http2/Http2TestServerConnection.java From robaho at icloud.com Wed Aug 14 09:48:12 2024 From: robaho at icloud.com (robert engels) Date: Wed, 14 Aug 2024 04:48:12 -0500 Subject: Loom and high performance networking In-Reply-To: <6c47f16a-a855-4102-a678-82a88307aa02@oracle.com> References: <6c47f16a-a855-4102-a678-82a88307aa02@oracle.com> Message-ID: An HTML attachment was scrubbed... URL: From robaho at icloud.com Wed Aug 14 13:44:52 2024 From: robaho at icloud.com (robert engels) Date: Wed, 14 Aug 2024 08:44:52 -0500 Subject: Loom and high performance networking In-Reply-To: References: Message-ID: Hi Alan. I agree and I?ll try to resolve this today. But what I am struggling with is why the parallelism is the only thing that matters. The poller mode or number of pollers make no difference. If I lower the parallelism I get better performance (matches the NIO - all systems have roughly the same error rate regardless of throughput). > On Aug 14, 2024, at 1:15?AM, Alan Bateman wrote: > > ? > > On 13/08/2024 16:34, robert engels wrote: >> I did. It didn?t make any difference. I checked the thread dump as well and the extras were created. >> >> Surprised that lowering the priority didn?t help - so now I need to think about other options. It feels like something when the carriers can use all the cores that the poller is prevented from running - like some sort of lock being held by the carrier/vt and do it thrashes around until it eventually gets a chance. >> > With pollerMode=2 then the the work is done on virtual threads so I assume you don't see the master poller stealing CPU cycles. > > In any case, what you describe sounds a bit like bursty usage where all FJP workers are scanning for work before parking, and/or something else that may be macOS specific when running out of some resource. I suspect tuning the networking params to remove the errors/timeouts might make it a bit easier to study. > > -Alan > > From robaho at icloud.com Wed Aug 14 15:47:09 2024 From: robaho at icloud.com (Robert Engels) Date: Wed, 14 Aug 2024 10:47:09 -0500 Subject: Loom and high performance networking In-Reply-To: References: Message-ID: I was able to correct the errors. The initial accepts were failing. I adjusted kern.ipc.somaxconn appropriately and it was resolved. So back to the problem. I have a new theory that maybe someone can validate. I theorize that without reducing the parallelism all cores are in use, which means that any GC activity has no cores to run on and competes with the carrier thread - introducing latency - and since this is a ping/pong RTT type test, the delay is enough to make the processors go into a park/unpark cycle. Which leads me to the question does Java need a better (or dynamic) way of determining the optimum parallelism based on load? It seems the only way to set the parallelism is at startup, and it is constant. With default parallelism: robertengels at macmini go-wrk % wrk -H 'Host: imac' -H 'Accept: text/plain,text/html;q=0.9,application/xhtml+xml;q=0.9,application/xml;q=0.8,*/*;q=0.7' -H 'Connection: keep-alive' --latency -d 20 -c 1000 --timeout 8 -t 2 http://imac:8080/plaintext Running 20s test @ http://imac:8080/plaintext 2 threads and 1000 connections Thread Stats Avg Stdev Max +/- Stdev Latency 83.98ms 199.72ms 4.22s 89.05% Req/Sec 51.75k 5.30k 61.84k 75.75% Latency Distribution 50% 5.29ms 75% 65.42ms 90% 301.31ms 99% 788.27ms 2059873 requests in 20.03s, 278.95MB read Requests/sec: 102854.15 Transfer/sec: 13.93MB and with reduced parallelism (3): robertengels at macmini go-wrk % wrk -H 'Host: imac' -H 'Accept: text/plain,text/html;q=0.9,application/xhtml+xml;q=0.9,application/xml;q=0.8,*/*;q=0.7' -H 'Connection: keep-alive' --latency -d 20 -c 1000 --timeout 8 -t 2 http://imac:8080/plaintext Running 20s test @ http://imac:8080/plaintext 2 threads and 1000 connections Thread Stats Avg Stdev Max +/- Stdev Latency 10.08ms 13.10ms 408.99ms 96.65% Req/Sec 56.10k 5.95k 65.77k 74.25% Latency Distribution 50% 8.55ms 75% 9.86ms 90% 13.21ms 99% 45.54ms 2232236 requests in 20.02s, 302.29MB read Requests/sec: 111475.38 Transfer/sec: 15.10MB notice the huge difference in average, tail and variance of latency. The more than order of magnitude in max latency is very concerning. > On Aug 14, 2024, at 8:44 AM, robert engels wrote: > > Hi Alan. I agree and I?ll try to resolve this today. But what I am struggling with is why the parallelism is the only thing that matters. The poller mode or number of pollers make no difference. > > If I lower the parallelism I get better performance (matches the NIO - all systems have roughly the same error rate regardless of throughput). > >> On Aug 14, 2024, at 1:15?AM, Alan Bateman wrote: >> >> ? >> >> On 13/08/2024 16:34, robert engels wrote: >>> I did. It didn?t make any difference. I checked the thread dump as well and the extras were created. >>> >>> Surprised that lowering the priority didn?t help - so now I need to think about other options. It feels like something when the carriers can use all the cores that the poller is prevented from running - like some sort of lock being held by the carrier/vt and do it thrashes around until it eventually gets a chance. >>> >> With pollerMode=2 then the the work is done on virtual threads so I assume you don't see the master poller stealing CPU cycles. >> >> In any case, what you describe sounds a bit like bursty usage where all FJP workers are scanning for work before parking, and/or something else that may be macOS specific when running out of some resource. I suspect tuning the networking params to remove the errors/timeouts might make it a bit easier to study. >> >> -Alan >> >> -------------- next part -------------- An HTML attachment was scrubbed... URL: From robaho at icloud.com Wed Aug 14 16:01:17 2024 From: robaho at icloud.com (Robert Engels) Date: Wed, 14 Aug 2024 11:01:17 -0500 Subject: Loom and high performance networking In-Reply-To: References: Message-ID: Also, for comparison purposes, using platform threads over virtual threads with default parallelism shows much better avg/tail latency and a slightly less throughput. Using platform thread per connection: robertengels at macmini go-wrk % wrk -H 'Host: imac' -H 'Accept: text/plain,text/html;q=0.9,application/xhtml+xml;q=0.9,application/xml;q=0.8,*/*;q=0.7' -H 'Connection: keep-alive' --latency -d 20 -c 1000 --timeout 8 -t 2 http://imac:8080/plaintext Running 20s test @ http://imac:8080/plaintext 2 threads and 1000 connections Thread Stats Avg Stdev Max +/- Stdev Latency 28.09ms 70.26ms 818.88ms 92.55% Req/Sec 53.96k 4.02k 63.58k 71.25% Latency Distribution 50% 8.51ms 75% 9.44ms 90% 41.65ms 99% 378.31ms 2148390 requests in 20.03s, 290.94MB read Requests/sec: 107280.14 Transfer/sec: 14.53MB Using virtual threads with default parallelism: robertengels at macmini go-wrk % wrk -H 'Host: imac' -H 'Accept: text/plain,text/html;q=0.9,application/xhtml+xml;q=0.9,application/xml;q=0.8,*/*;q=0.7' -H 'Connection: keep-alive' --latency -d 20 -c 1000 --timeout 8 -t 2 http://imac:8080/plaintext Running 20s test @ http://imac:8080/plaintext 2 threads and 1000 connections Thread Stats Avg Stdev Max +/- Stdev Latency 67.63ms 146.27ms 2.42s 87.57% Req/Sec 55.05k 4.93k 70.66k 73.50% Latency Distribution 50% 5.63ms 75% 48.40ms 90% 262.75ms 99% 674.56ms 2192116 requests in 20.03s, 296.86MB read Requests/sec: 109430.53 Transfer/sec: 14.82MB > On Aug 14, 2024, at 10:47 AM, Robert Engels wrote: > > I was able to correct the errors. The initial accepts were failing. I adjusted kern.ipc.somaxconn appropriately and it was resolved. So back to the problem. I have a new theory that maybe someone can validate. > > I theorize that without reducing the parallelism all cores are in use, which means that any GC activity has no cores to run on and competes with the carrier thread - introducing latency - and since this is a ping/pong RTT type test, the delay is enough to make the processors go into a park/unpark cycle. > > Which leads me to the question does Java need a better (or dynamic) way of determining the optimum parallelism based on load? It seems the only way to set the parallelism is at startup, and it is constant. > > With default parallelism: > > robertengels at macmini go-wrk % wrk -H 'Host: imac' -H 'Accept: text/plain,text/html;q=0.9,application/xhtml+xml;q=0.9,application/xml;q=0.8,*/*;q=0.7' -H 'Connection: keep-alive' --latency -d 20 -c 1000 --timeout 8 -t 2 http://imac:8080/plaintext > Running 20s test @ http://imac:8080/plaintext > 2 threads and 1000 connections > Thread Stats Avg Stdev Max +/- Stdev > Latency 83.98ms 199.72ms 4.22s 89.05% > Req/Sec 51.75k 5.30k 61.84k 75.75% > Latency Distribution > 50% 5.29ms > 75% 65.42ms > 90% 301.31ms > 99% 788.27ms > 2059873 requests in 20.03s, 278.95MB read > Requests/sec: 102854.15 > Transfer/sec: 13.93MB > > and with reduced parallelism (3): > > robertengels at macmini go-wrk % wrk -H 'Host: imac' -H 'Accept: text/plain,text/html;q=0.9,application/xhtml+xml;q=0.9,application/xml;q=0.8,*/*;q=0.7' -H 'Connection: keep-alive' --latency -d 20 -c 1000 --timeout 8 -t 2 http://imac:8080/plaintext > Running 20s test @ http://imac:8080/plaintext > 2 threads and 1000 connections > Thread Stats Avg Stdev Max +/- Stdev > Latency 10.08ms 13.10ms 408.99ms 96.65% > Req/Sec 56.10k 5.95k 65.77k 74.25% > Latency Distribution > 50% 8.55ms > 75% 9.86ms > 90% 13.21ms > 99% 45.54ms > 2232236 requests in 20.02s, 302.29MB read > Requests/sec: 111475.38 > Transfer/sec: 15.10MB > > notice the huge difference in average, tail and variance of latency. The more than order of magnitude in max latency is very concerning. > >> On Aug 14, 2024, at 8:44 AM, robert engels > wrote: >> >> Hi Alan. I agree and I?ll try to resolve this today. But what I am struggling with is why the parallelism is the only thing that matters. The poller mode or number of pollers make no difference. >> >> If I lower the parallelism I get better performance (matches the NIO - all systems have roughly the same error rate regardless of throughput). >> >>> On Aug 14, 2024, at 1:15?AM, Alan Bateman > wrote: >>> >>> ? >>> >>> On 13/08/2024 16:34, robert engels wrote: >>>> I did. It didn?t make any difference. I checked the thread dump as well and the extras were created. >>>> >>>> Surprised that lowering the priority didn?t help - so now I need to think about other options. It feels like something when the carriers can use all the cores that the poller is prevented from running - like some sort of lock being held by the carrier/vt and do it thrashes around until it eventually gets a chance. >>>> >>> With pollerMode=2 then the the work is done on virtual threads so I assume you don't see the master poller stealing CPU cycles. >>> >>> In any case, what you describe sounds a bit like bursty usage where all FJP workers are scanning for work before parking, and/or something else that may be macOS specific when running out of some resource. I suspect tuning the networking params to remove the errors/timeouts might make it a bit easier to study. >>> >>> -Alan >>> >>> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From alan.bateman at oracle.com Wed Aug 14 19:16:23 2024 From: alan.bateman at oracle.com (Alan Bateman) Date: Wed, 14 Aug 2024 20:16:23 +0100 Subject: Loom and high performance networking In-Reply-To: References: Message-ID: On 14/08/2024 16:47, Robert Engels wrote: > : > > Which leads me to the question does Java need a better (or dynamic) > way of determining the optimum parallelism based on load? It seems the > only way to set the parallelism is at startup, and it is constant. > VirtualThreadSchedulerMXBean provides a monitoring and management interface to the virtual thread scheduler. It exposes the current parallelism and allows it be changed. There are also methods to get the thread count, and estimates for the current number of carriers and number of virtual threads queued to execute. It may potentially be used to dynamically adjust parallelism but nothing is using it at this time. -Alan From viktor.klang at oracle.com Thu Aug 15 10:39:14 2024 From: viktor.klang at oracle.com (Viktor Klang) Date: Thu, 15 Aug 2024 10:39:14 +0000 Subject: Loom and high performance networking In-Reply-To: References: Message-ID: For non-CPU-bound workloads using ForkJoinPool, my own personal experience is that setting the parallelism to around a factor of 0.7-0.8x the number of physical cores tends to provide a decent starting point for tuning. Cheers, ? Viktor Klang Software Architect, Java Platform Group Oracle ________________________________ From: loom-dev on behalf of Alan Bateman Sent: Wednesday, 14 August 2024 21:16 To: Robert Engels Cc: loom-dev Subject: Re: Loom and high performance networking On 14/08/2024 16:47, Robert Engels wrote: > : > > Which leads me to the question does Java need a better (or dynamic) > way of determining the optimum parallelism based on load? It seems the > only way to set the parallelism is at startup, and it is constant. > VirtualThreadSchedulerMXBean provides a monitoring and management interface to the virtual thread scheduler. It exposes the current parallelism and allows it be changed. There are also methods to get the thread count, and estimates for the current number of carriers and number of virtual threads queued to execute. It may potentially be used to dynamically adjust parallelism but nothing is using it at this time. -Alan -------------- next part -------------- An HTML attachment was scrubbed... URL: From duke at openjdk.org Thu Aug 15 13:16:08 2024 From: duke at openjdk.org (duke) Date: Thu, 15 Aug 2024 13:16:08 GMT Subject: git: openjdk/loom: fibers: 23 new changesets Message-ID: <3bf3f2be-df06-487a-814f-c57c80f9b6e9@openjdk.org> Changeset: 3dd07b91 Branch: fibers Author: Qizheng Xing Committer: Eric Liu Date: 2024-08-14 06:28:34 +0000 URL: https://git.openjdk.org/loom/commit/3dd07b91bbf644aa867452806e9388089fa97548 8336163: Remove declarations of some debug-only methods in release build Reviewed-by: dholmes, eliu, kvn ! src/hotspot/share/cds/heapShared.hpp ! src/hotspot/share/compiler/compilationPolicy.hpp ! src/hotspot/share/opto/node.hpp ! src/hotspot/share/runtime/frame.hpp ! src/hotspot/share/runtime/registerMap.hpp Changeset: 66bee253 Branch: fibers Author: Ivan Walulya Date: 2024-08-14 09:13:21 +0000 URL: https://git.openjdk.org/loom/commit/66bee2532f849cfb7ab63857ecd7d773c2566722 8338315: G1: G1CardTableEntryClosure:do_card_ptr remove unused parameter worker_id Reviewed-by: tschatzl ! src/hotspot/share/gc/g1/g1CardTableEntryClosure.hpp ! src/hotspot/share/gc/g1/g1RemSet.cpp ! src/hotspot/share/gc/g1/g1YoungGCPostEvacuateTasks.cpp Changeset: 9fe1777f Branch: fibers Author: Albert Mingkun Yang Date: 2024-08-14 09:16:02 +0000 URL: https://git.openjdk.org/loom/commit/9fe1777fafca30cf60acb5402c7c70800137136e 8338280: Parallel: Inline ParallelCompactData::verify_clear Reviewed-by: tschatzl ! src/hotspot/share/gc/parallel/psParallelCompact.cpp ! src/hotspot/share/gc/parallel/psParallelCompact.hpp Changeset: 38bd8a36 Branch: fibers Author: Matthias Baesken Date: 2024-08-14 09:52:23 +0000 URL: https://git.openjdk.org/loom/commit/38bd8a36704a962f0ad1052fd2ec150a61663256 8338236: Compile error in cgroup code on Linux when using clang Reviewed-by: mdoerr, sgehwolf ! src/hotspot/os/linux/cgroupV1Subsystem_linux.hpp ! src/hotspot/os/linux/cgroupV2Subsystem_linux.hpp Changeset: fbe4f056 Branch: fibers Author: Jan Lahoda Date: 2024-08-14 12:20:17 +0000 URL: https://git.openjdk.org/loom/commit/fbe4f05636c8f692bd40bbe11fb5bb8b77b77042 8337976: Insufficient error recovery in parser for switch inside class body Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/VirtualParser.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties = test/langtools/tools/javac/diags/examples/StatementNotExpected.java ! test/langtools/tools/javac/parser/JavacParserTest.java ! test/langtools/tools/javac/records/RecordCompilationTests.java + test/langtools/tools/javac/recovery/T8337976.java + test/langtools/tools/javac/recovery/T8337976.out Changeset: a5d948fb Branch: fibers Author: John Engebretson Committer: Aleksey Shipilev Date: 2024-08-14 14:11:53 +0000 URL: https://git.openjdk.org/loom/commit/a5d948fb9841f654cccc9567c60e8d28e7d719ae 8332842: Optimize empty CopyOnWriteArrayList allocations Reviewed-by: shade, alanb ! src/java.base/share/classes/java/util/concurrent/CopyOnWriteArrayList.java + test/micro/org/openjdk/bench/java/util/concurrent/CopyOnWriteArrayListBenchmark.java Changeset: d8e4d3f2 Branch: fibers Author: Zdenek Zambersky Committer: Aleksey Shipilev Date: 2024-08-14 15:20:07 +0000 URL: https://git.openjdk.org/loom/commit/d8e4d3f2d6c187f2487acd390a4e5fa2a99010ea 8338402: GHA: some of bundles may not get removed Reviewed-by: ihse, shade ! .github/workflows/main.yml Changeset: 0e3903f2 Branch: fibers Author: Albert Mingkun Yang Date: 2024-08-14 16:49:11 +0000 URL: https://git.openjdk.org/loom/commit/0e3903f2eb854715acee92cfc5ee2d4a2e800f61 8338393: Parallel: Remove unused ParallelCompactData::clear_range Reviewed-by: tschatzl ! src/hotspot/share/gc/parallel/psParallelCompact.hpp Changeset: 6a390147 Branch: fibers Author: Matthias Baesken Date: 2024-08-14 16:56:28 +0000 URL: https://git.openjdk.org/loom/commit/6a390147959e0fb88de6ee13204cff72cd910f09 8338110: Exclude Fingerprinter::do_type from ubsan checks Reviewed-by: jwaters, rrich ! src/hotspot/share/runtime/signature.hpp Changeset: c0384b6f Branch: fibers Author: Phil Race Date: 2024-08-14 17:58:24 +0000 URL: https://git.openjdk.org/loom/commit/c0384b6f3584501fb3bd93854734eeacf6620a7e 8337237: Use FFM instead of Unsafe for Java 2D RenderBuffer class Reviewed-by: jvernee, jdv ! src/java.desktop/share/classes/sun/java2d/pipe/RenderBuffer.java Changeset: 723ac576 Branch: fibers Author: Chris Plummer Date: 2024-08-14 18:41:24 +0000 URL: https://git.openjdk.org/loom/commit/723ac5763aed0d67516c6746f39a066efc412b48 8332488: Add JVMTI DataDumpRequest to the debug agent Reviewed-by: sspitsyn, lmesnik ! src/jdk.jdwp.agent/share/native/libjdwp/debugInit.c ! src/jdk.jdwp.agent/share/native/libjdwp/eventFilter.c ! src/jdk.jdwp.agent/share/native/libjdwp/eventFilter.h ! src/jdk.jdwp.agent/share/native/libjdwp/eventHandler.c ! src/jdk.jdwp.agent/share/native/libjdwp/eventHandler.h ! src/jdk.jdwp.agent/share/native/libjdwp/threadControl.c ! src/jdk.jdwp.agent/share/native/libjdwp/threadControl.h ! src/jdk.jdwp.agent/share/native/libjdwp/util.c ! src/jdk.jdwp.agent/share/native/libjdwp/util.h + test/jdk/com/sun/jdi/DataDumpTest.java Changeset: aff7936f Branch: fibers Author: Joe Darcy Date: 2024-08-14 18:42:59 +0000 URL: https://git.openjdk.org/loom/commit/aff7936ff088249d1fc787a9f9ef687f987f556c 8338333: Add jls links to javax.lang.model.element.Modifier Reviewed-by: liach, iris, prappo, vromero, jlahoda ! src/java.compiler/share/classes/javax/lang/model/element/Modifier.java Changeset: e3a5e265 Branch: fibers Author: SendaoYan Committer: Aleksey Shipilev Date: 2024-08-14 18:55:58 +0000 URL: https://git.openjdk.org/loom/commit/e3a5e265a7747b02b8f828fbedea0dda7246fc51 8338344: Test TestPrivilegedMode.java intermittent fails java.lang.NoClassDefFoundError: jdk/test/lib/Platform Reviewed-by: chagedorn, shade ! test/hotspot/jtreg/compiler/lib/ir_framework/driver/TestVMProcess.java Changeset: 4669e7b7 Branch: fibers Author: Evgeny Nikitin Committer: Tobias Hartmann Date: 2024-08-15 05:36:11 +0000 URL: https://git.openjdk.org/loom/commit/4669e7b7b02636a8bd7381a9d401aaaf0c1d7294 8337102: JITTester: Fix breaks in static initialization blocks Reviewed-by: kvn, iveresov ! test/hotspot/jtreg/testlibrary/jittester/conf/default.properties ! test/hotspot/jtreg/testlibrary/jittester/src/jdk/test/lib/jittester/factories/StaticConstructorDefinitionFactory.java Changeset: 4c344335 Branch: fibers Author: Matthias Baesken Date: 2024-08-15 07:39:31 +0000 URL: https://git.openjdk.org/loom/commit/4c344335fe0abc04308f4bfc62c6b3afc110240c 8338304: clang on Linux - check for lld presence after JDK-8333189 Reviewed-by: erikj, ihse ! make/autoconf/flags-ldflags.m4 Changeset: f536f5ab Branch: fibers Author: Ivan Walulya Date: 2024-08-15 08:26:22 +0000 URL: https://git.openjdk.org/loom/commit/f536f5ab68235d27e9708674f707bcbff7840730 8336086: G1: Use one G1CardSet instance for all young regions Reviewed-by: tschatzl, ayang ! src/hotspot/share/gc/g1/g1CardSet.cpp ! src/hotspot/share/gc/g1/g1CardSet.hpp ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp ! src/hotspot/share/gc/g1/g1CollectionSet.cpp ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/g1/g1ConcurrentMark.hpp ! src/hotspot/share/gc/g1/g1ConcurrentRefine.cpp ! src/hotspot/share/gc/g1/g1FullCollector.cpp ! src/hotspot/share/gc/g1/g1HeapRegion.cpp ! src/hotspot/share/gc/g1/g1HeapRegion.hpp ! src/hotspot/share/gc/g1/g1HeapRegion.inline.hpp ! src/hotspot/share/gc/g1/g1HeapRegionRemSet.cpp ! src/hotspot/share/gc/g1/g1HeapRegionRemSet.hpp ! src/hotspot/share/gc/g1/g1HeapRegionRemSet.inline.hpp ! src/hotspot/share/gc/g1/g1Policy.cpp ! src/hotspot/share/gc/g1/g1Policy.hpp ! src/hotspot/share/gc/g1/g1RemSet.cpp ! src/hotspot/share/gc/g1/g1RemSetSummary.cpp ! src/hotspot/share/gc/g1/g1YoungCollector.cpp ! src/hotspot/share/gc/g1/g1YoungGCPostEvacuateTasks.cpp Changeset: da7311bb Branch: fibers Author: Aleksey Shipilev Date: 2024-08-15 08:50:29 +0000 URL: https://git.openjdk.org/loom/commit/da7311bbe37c2b9632b117d52a77c659047820b7 8338286: GHA: Demote x86_32 to hotspot build only Reviewed-by: ihse ! .github/workflows/main.yml Changeset: 2c627f14 Branch: fibers Author: Alan Bateman Date: 2024-08-15 11:49:23 +0000 URL: https://git.openjdk.org/loom/commit/2c627f14a9d28890924bfb791c6dcacaf8b354c9 Merge ! src/hotspot/share/runtime/frame.hpp = src/hotspot/share/runtime/frame.hpp.orig ! src/hotspot/share/runtime/frame.hpp = src/hotspot/share/runtime/frame.hpp.orig Changeset: 20d40c8f Branch: fibers Author: Alan Bateman Date: 2024-08-15 10:44:47 +0000 URL: https://git.openjdk.org/loom/commit/20d40c8f63c5fcb6ab1aba676c4d726dbc7d8589 OOME robustness ! src/java.base/share/classes/java/lang/VirtualThread.java Changeset: d048c61d Branch: fibers Author: Alan Bateman Date: 2024-08-15 11:45:12 +0000 URL: https://git.openjdk.org/loom/commit/d048c61db1a0b7909315e8e0d6f7dd0cae4aef98 VirtualThreadSchedulerMXBean cleanup ! src/java.base/share/classes/java/lang/Thread.java ! src/jdk.management/share/classes/com/sun/management/internal/PlatformMBeanProviderImpl.java - src/jdk.management/share/classes/com/sun/management/internal/VirtualThreadSchedulerImpl.java + src/jdk.management/share/classes/com/sun/management/internal/VirtualThreadSchedulerImpls.java ! src/jdk.management/share/classes/jdk/management/VirtualThreadSchedulerMXBean.java Changeset: adfa2fb6 Branch: fibers Author: Alan Bateman Date: 2024-08-15 11:54:28 +0000 URL: https://git.openjdk.org/loom/commit/adfa2fb6eedfff6c4e0b744909308169ae938f2a Merge Changeset: cc0d5584 Branch: fibers Author: Alan Bateman Date: 2024-08-15 12:23:15 +0000 URL: https://git.openjdk.org/loom/commit/cc0d5584c5b25ab3668850885f59927ecee40675 Exclude TestRedirectLinks.java for now ! test/langtools/ProblemList-Virtual.txt Changeset: 362c7267 Branch: fibers Author: Alan Bateman Date: 2024-08-15 14:13:05 +0000 URL: https://git.openjdk.org/loom/commit/362c7267f692ebd907fb3556e34f9c58bcf1a443 Initial fix for JDK-8338417 ! src/java.base/share/classes/module-info.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/StringPool.java From duke at openjdk.org Fri Aug 16 07:02:42 2024 From: duke at openjdk.org (duke) Date: Fri, 16 Aug 2024 07:02:42 GMT Subject: git: openjdk/loom: master: 17 new changesets Message-ID: <23198640-6cc7-471a-89c5-325497628a6b@openjdk.org> Changeset: 3dd07b91 Branch: master Author: Qizheng Xing Committer: Eric Liu Date: 2024-08-14 06:28:34 +0000 URL: https://git.openjdk.org/loom/commit/3dd07b91bbf644aa867452806e9388089fa97548 8336163: Remove declarations of some debug-only methods in release build Reviewed-by: dholmes, eliu, kvn ! src/hotspot/share/cds/heapShared.hpp ! src/hotspot/share/compiler/compilationPolicy.hpp ! src/hotspot/share/opto/node.hpp ! src/hotspot/share/runtime/frame.hpp ! src/hotspot/share/runtime/registerMap.hpp Changeset: 66bee253 Branch: master Author: Ivan Walulya Date: 2024-08-14 09:13:21 +0000 URL: https://git.openjdk.org/loom/commit/66bee2532f849cfb7ab63857ecd7d773c2566722 8338315: G1: G1CardTableEntryClosure:do_card_ptr remove unused parameter worker_id Reviewed-by: tschatzl ! src/hotspot/share/gc/g1/g1CardTableEntryClosure.hpp ! src/hotspot/share/gc/g1/g1RemSet.cpp ! src/hotspot/share/gc/g1/g1YoungGCPostEvacuateTasks.cpp Changeset: 9fe1777f Branch: master Author: Albert Mingkun Yang Date: 2024-08-14 09:16:02 +0000 URL: https://git.openjdk.org/loom/commit/9fe1777fafca30cf60acb5402c7c70800137136e 8338280: Parallel: Inline ParallelCompactData::verify_clear Reviewed-by: tschatzl ! src/hotspot/share/gc/parallel/psParallelCompact.cpp ! src/hotspot/share/gc/parallel/psParallelCompact.hpp Changeset: 38bd8a36 Branch: master Author: Matthias Baesken Date: 2024-08-14 09:52:23 +0000 URL: https://git.openjdk.org/loom/commit/38bd8a36704a962f0ad1052fd2ec150a61663256 8338236: Compile error in cgroup code on Linux when using clang Reviewed-by: mdoerr, sgehwolf ! src/hotspot/os/linux/cgroupV1Subsystem_linux.hpp ! src/hotspot/os/linux/cgroupV2Subsystem_linux.hpp Changeset: fbe4f056 Branch: master Author: Jan Lahoda Date: 2024-08-14 12:20:17 +0000 URL: https://git.openjdk.org/loom/commit/fbe4f05636c8f692bd40bbe11fb5bb8b77b77042 8337976: Insufficient error recovery in parser for switch inside class body Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/VirtualParser.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties = test/langtools/tools/javac/diags/examples/StatementNotExpected.java ! test/langtools/tools/javac/parser/JavacParserTest.java ! test/langtools/tools/javac/records/RecordCompilationTests.java + test/langtools/tools/javac/recovery/T8337976.java + test/langtools/tools/javac/recovery/T8337976.out Changeset: a5d948fb Branch: master Author: John Engebretson Committer: Aleksey Shipilev Date: 2024-08-14 14:11:53 +0000 URL: https://git.openjdk.org/loom/commit/a5d948fb9841f654cccc9567c60e8d28e7d719ae 8332842: Optimize empty CopyOnWriteArrayList allocations Reviewed-by: shade, alanb ! src/java.base/share/classes/java/util/concurrent/CopyOnWriteArrayList.java + test/micro/org/openjdk/bench/java/util/concurrent/CopyOnWriteArrayListBenchmark.java Changeset: d8e4d3f2 Branch: master Author: Zdenek Zambersky Committer: Aleksey Shipilev Date: 2024-08-14 15:20:07 +0000 URL: https://git.openjdk.org/loom/commit/d8e4d3f2d6c187f2487acd390a4e5fa2a99010ea 8338402: GHA: some of bundles may not get removed Reviewed-by: ihse, shade ! .github/workflows/main.yml Changeset: 0e3903f2 Branch: master Author: Albert Mingkun Yang Date: 2024-08-14 16:49:11 +0000 URL: https://git.openjdk.org/loom/commit/0e3903f2eb854715acee92cfc5ee2d4a2e800f61 8338393: Parallel: Remove unused ParallelCompactData::clear_range Reviewed-by: tschatzl ! src/hotspot/share/gc/parallel/psParallelCompact.hpp Changeset: 6a390147 Branch: master Author: Matthias Baesken Date: 2024-08-14 16:56:28 +0000 URL: https://git.openjdk.org/loom/commit/6a390147959e0fb88de6ee13204cff72cd910f09 8338110: Exclude Fingerprinter::do_type from ubsan checks Reviewed-by: jwaters, rrich ! src/hotspot/share/runtime/signature.hpp Changeset: c0384b6f Branch: master Author: Phil Race Date: 2024-08-14 17:58:24 +0000 URL: https://git.openjdk.org/loom/commit/c0384b6f3584501fb3bd93854734eeacf6620a7e 8337237: Use FFM instead of Unsafe for Java 2D RenderBuffer class Reviewed-by: jvernee, jdv ! src/java.desktop/share/classes/sun/java2d/pipe/RenderBuffer.java Changeset: 723ac576 Branch: master Author: Chris Plummer Date: 2024-08-14 18:41:24 +0000 URL: https://git.openjdk.org/loom/commit/723ac5763aed0d67516c6746f39a066efc412b48 8332488: Add JVMTI DataDumpRequest to the debug agent Reviewed-by: sspitsyn, lmesnik ! src/jdk.jdwp.agent/share/native/libjdwp/debugInit.c ! src/jdk.jdwp.agent/share/native/libjdwp/eventFilter.c ! src/jdk.jdwp.agent/share/native/libjdwp/eventFilter.h ! src/jdk.jdwp.agent/share/native/libjdwp/eventHandler.c ! src/jdk.jdwp.agent/share/native/libjdwp/eventHandler.h ! src/jdk.jdwp.agent/share/native/libjdwp/threadControl.c ! src/jdk.jdwp.agent/share/native/libjdwp/threadControl.h ! src/jdk.jdwp.agent/share/native/libjdwp/util.c ! src/jdk.jdwp.agent/share/native/libjdwp/util.h + test/jdk/com/sun/jdi/DataDumpTest.java Changeset: aff7936f Branch: master Author: Joe Darcy Date: 2024-08-14 18:42:59 +0000 URL: https://git.openjdk.org/loom/commit/aff7936ff088249d1fc787a9f9ef687f987f556c 8338333: Add jls links to javax.lang.model.element.Modifier Reviewed-by: liach, iris, prappo, vromero, jlahoda ! src/java.compiler/share/classes/javax/lang/model/element/Modifier.java Changeset: e3a5e265 Branch: master Author: SendaoYan Committer: Aleksey Shipilev Date: 2024-08-14 18:55:58 +0000 URL: https://git.openjdk.org/loom/commit/e3a5e265a7747b02b8f828fbedea0dda7246fc51 8338344: Test TestPrivilegedMode.java intermittent fails java.lang.NoClassDefFoundError: jdk/test/lib/Platform Reviewed-by: chagedorn, shade ! test/hotspot/jtreg/compiler/lib/ir_framework/driver/TestVMProcess.java Changeset: 4669e7b7 Branch: master Author: Evgeny Nikitin Committer: Tobias Hartmann Date: 2024-08-15 05:36:11 +0000 URL: https://git.openjdk.org/loom/commit/4669e7b7b02636a8bd7381a9d401aaaf0c1d7294 8337102: JITTester: Fix breaks in static initialization blocks Reviewed-by: kvn, iveresov ! test/hotspot/jtreg/testlibrary/jittester/conf/default.properties ! test/hotspot/jtreg/testlibrary/jittester/src/jdk/test/lib/jittester/factories/StaticConstructorDefinitionFactory.java Changeset: 4c344335 Branch: master Author: Matthias Baesken Date: 2024-08-15 07:39:31 +0000 URL: https://git.openjdk.org/loom/commit/4c344335fe0abc04308f4bfc62c6b3afc110240c 8338304: clang on Linux - check for lld presence after JDK-8333189 Reviewed-by: erikj, ihse ! make/autoconf/flags-ldflags.m4 Changeset: f536f5ab Branch: master Author: Ivan Walulya Date: 2024-08-15 08:26:22 +0000 URL: https://git.openjdk.org/loom/commit/f536f5ab68235d27e9708674f707bcbff7840730 8336086: G1: Use one G1CardSet instance for all young regions Reviewed-by: tschatzl, ayang ! src/hotspot/share/gc/g1/g1CardSet.cpp ! src/hotspot/share/gc/g1/g1CardSet.hpp ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp ! src/hotspot/share/gc/g1/g1CollectionSet.cpp ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/g1/g1ConcurrentMark.hpp ! src/hotspot/share/gc/g1/g1ConcurrentRefine.cpp ! src/hotspot/share/gc/g1/g1FullCollector.cpp ! src/hotspot/share/gc/g1/g1HeapRegion.cpp ! src/hotspot/share/gc/g1/g1HeapRegion.hpp ! src/hotspot/share/gc/g1/g1HeapRegion.inline.hpp ! src/hotspot/share/gc/g1/g1HeapRegionRemSet.cpp ! src/hotspot/share/gc/g1/g1HeapRegionRemSet.hpp ! src/hotspot/share/gc/g1/g1HeapRegionRemSet.inline.hpp ! src/hotspot/share/gc/g1/g1Policy.cpp ! src/hotspot/share/gc/g1/g1Policy.hpp ! src/hotspot/share/gc/g1/g1RemSet.cpp ! src/hotspot/share/gc/g1/g1RemSetSummary.cpp ! src/hotspot/share/gc/g1/g1YoungCollector.cpp ! src/hotspot/share/gc/g1/g1YoungGCPostEvacuateTasks.cpp Changeset: da7311bb Branch: master Author: Aleksey Shipilev Date: 2024-08-15 08:50:29 +0000 URL: https://git.openjdk.org/loom/commit/da7311bbe37c2b9632b117d52a77c659047820b7 8338286: GHA: Demote x86_32 to hotspot build only Reviewed-by: ihse ! .github/workflows/main.yml From duke at openjdk.org Tue Aug 20 12:36:12 2024 From: duke at openjdk.org (duke) Date: Tue, 20 Aug 2024 12:36:12 GMT Subject: git: openjdk/loom: fibers: 3 new changesets Message-ID: <916c2d27-9c27-4e99-9124-7e1d826043fd@openjdk.org> Changeset: 3ebd29ec Branch: fibers Author: Alan Bateman Date: 2024-08-15 17:42:26 +0000 URL: https://git.openjdk.org/loom/commit/3ebd29ec1170eff6fed0432306a3fd276efcaa5e ensureParallelism does not need to catch IAE ! test/lib/jdk/test/lib/thread/VThreadRunner.java Changeset: 21d8b918 Branch: fibers Author: Alan Bateman Date: 2024-08-19 16:29:20 +0000 URL: https://git.openjdk.org/loom/commit/21d8b918fdcd83e0b263a2eafdcd50ce5e90c5b9 Clarify statement on subtasks that do not respond to interrupt ! src/java.base/share/classes/java/util/concurrent/StructuredTaskScope.java Changeset: d1dfdf0c Branch: fibers Author: Alan Bateman Date: 2024-08-20 12:10:26 +0000 URL: https://git.openjdk.org/loom/commit/d1dfdf0ce7be212821dcd361d10540d04fcf45a1 VirtualThreadSchedulerMXBean should lazily load default scheduler ! src/jdk.management/share/classes/com/sun/management/internal/VirtualThreadSchedulerImpls.java ! src/jdk.management/share/classes/jdk/management/VirtualThreadSchedulerMXBean.java From Rick.Hendricksen at vanderlande.com Tue Aug 20 15:32:30 2024 From: Rick.Hendricksen at vanderlande.com (Rick Hendricksen) Date: Tue, 20 Aug 2024 15:32:30 +0000 Subject: java.lang.ThreadBuilders and java.lang.ThreadBuilders.newVirtualThread() are not public Message-ID: Hi, We have implemented a Discrete Event Simulator, and we want to use virtual threads to write our business logic (that uses the DES) in a more readable way. This business logic has a lot of blocking operations, so it seems to be a good fit for virtual threads. However, we must ensure that all those virtual threads run on the same carrier thread, because the simulation has to be deterministic. We also often run multiple separate simulations in parallel, so it?s important that virtual threads end up on the right scheduler. This means we need to use our own scheduler. To achieve this we call newVirtualThread with reflection (and we have to add --add-opens), and that works. But we'd like to have a solution that continues working in future java versions, so we'd like this use case to be officially supported. Can this method become public? Best regards, Rick Hendricksen ________________________________ ** Disclaimer ** This e-mail, including any attachments, may include proprietary and confidential information of Vanderlande and may only be read by the person or those persons to whom it is addressed. This document is forwarded to you in such a form (e-mail) that Vanderlande cannot guarantee the completeness and/or correctness of its contents and information. If you have received this e-mail message in error, please notify us immediately. Please also delete this document from your computer. This document may not be reproduced, copied, distributed, published, modified, or furnished to third parties, without the prior written consent of Vanderlande. -------------- next part -------------- An HTML attachment was scrubbed... URL: From alan.bateman at oracle.com Tue Aug 20 15:44:53 2024 From: alan.bateman at oracle.com (Alan Bateman) Date: Tue, 20 Aug 2024 16:44:53 +0100 Subject: java.lang.ThreadBuilders and java.lang.ThreadBuilders.newVirtualThread() are not public In-Reply-To: References: Message-ID: <46dc5665-f950-45da-8f87-71a5867b969b@oracle.com> On 20/08/2024 16:32, Rick Hendricksen wrote: > > Hi, > > We have implemented a Discrete Event Simulator, and we want to use > virtual threads to write our business logic (that uses the DES) in a > more readable way. This business logic has a lot of blocking > operations, so it seems to be a good fit for virtual threads. However, > we must ensure that all those virtual threads run on the same carrier > thread, because the simulation has to be deterministic. We also often > run multiple separate simulations in parallel, so it?s important that > virtual threads end up on the right scheduler. This means we need to > use our own scheduler. > Can the simulation be run with a single carrier thread (-Djdk.virtualThreadScheduler.maxPoolSize=1) ? There are a number of explorations into using custom schedulers but impossible to say at this point if anything will be exposed. -Alan -------------- next part -------------- An HTML attachment was scrubbed... URL: From duke at openjdk.org Tue Aug 20 22:15:32 2024 From: duke at openjdk.org (duke) Date: Tue, 20 Aug 2024 22:15:32 GMT Subject: git: openjdk/loom: master: 31 new changesets Message-ID: Changeset: 74fdd686 Branch: master Author: Aleksey Shipilev Date: 2024-08-15 11:24:22 +0000 URL: https://git.openjdk.org/loom/commit/74fdd6868d3f71d44ef9f71a0ca9506c04d39148 8333791: Fix memory barriers for @Stable fields Reviewed-by: liach, vlivanov ! src/hotspot/share/c1/c1_GraphBuilder.cpp ! src/hotspot/share/c1/c1_IR.cpp ! src/hotspot/share/c1/c1_IR.hpp ! src/hotspot/share/opto/parse.hpp ! src/hotspot/share/opto/parse1.cpp ! src/hotspot/share/opto/parse3.cpp + test/hotspot/jtreg/compiler/c2/irTests/stable/StablePrimArrayTest.java + test/hotspot/jtreg/compiler/c2/irTests/stable/StablePrimFinalTest.java + test/hotspot/jtreg/compiler/c2/irTests/stable/StablePrimPlainTest.java + test/hotspot/jtreg/compiler/c2/irTests/stable/StablePrimVolatileTest.java + test/hotspot/jtreg/compiler/c2/irTests/stable/StableRefArrayTest.java + test/hotspot/jtreg/compiler/c2/irTests/stable/StableRefFinalTest.java + test/hotspot/jtreg/compiler/c2/irTests/stable/StableRefPlainTest.java + test/hotspot/jtreg/compiler/c2/irTests/stable/StableRefVolatileTest.java Changeset: 56dec215 Branch: master Author: Sonia Zaldana Calles Date: 2024-08-15 13:28:25 +0000 URL: https://git.openjdk.org/loom/commit/56dec215b0d056fc23137372ecb3376af2a7b891 8338014: Improve usage of @jvms tags in class file API Reviewed-by: darcy, liach, asotona ! src/java.base/share/classes/java/lang/classfile/AnnotationValue.java ! src/java.base/share/classes/java/lang/classfile/Attribute.java ! src/java.base/share/classes/java/lang/classfile/ClassSignature.java ! src/java.base/share/classes/java/lang/classfile/MethodSignature.java ! src/java.base/share/classes/java/lang/classfile/Opcode.java ! src/java.base/share/classes/java/lang/classfile/Signature.java ! src/java.base/share/classes/java/lang/classfile/TypeAnnotation.java ! src/java.base/share/classes/java/lang/classfile/attribute/AnnotationDefaultAttribute.java ! src/java.base/share/classes/java/lang/classfile/attribute/BootstrapMethodsAttribute.java ! src/java.base/share/classes/java/lang/classfile/attribute/CodeAttribute.java ! src/java.base/share/classes/java/lang/classfile/attribute/ConstantValueAttribute.java ! src/java.base/share/classes/java/lang/classfile/attribute/DeprecatedAttribute.java ! src/java.base/share/classes/java/lang/classfile/attribute/EnclosingMethodAttribute.java ! src/java.base/share/classes/java/lang/classfile/attribute/ExceptionsAttribute.java ! src/java.base/share/classes/java/lang/classfile/attribute/InnerClassesAttribute.java ! src/java.base/share/classes/java/lang/classfile/attribute/LineNumberTableAttribute.java ! src/java.base/share/classes/java/lang/classfile/attribute/LocalVariableTableAttribute.java ! src/java.base/share/classes/java/lang/classfile/attribute/LocalVariableTypeTableAttribute.java ! src/java.base/share/classes/java/lang/classfile/attribute/MethodParametersAttribute.java ! src/java.base/share/classes/java/lang/classfile/attribute/ModuleAttribute.java ! src/java.base/share/classes/java/lang/classfile/attribute/ModuleMainClassAttribute.java ! src/java.base/share/classes/java/lang/classfile/attribute/ModulePackagesAttribute.java ! src/java.base/share/classes/java/lang/classfile/attribute/NestHostAttribute.java ! src/java.base/share/classes/java/lang/classfile/attribute/NestMembersAttribute.java ! src/java.base/share/classes/java/lang/classfile/attribute/PermittedSubclassesAttribute.java ! src/java.base/share/classes/java/lang/classfile/attribute/RecordAttribute.java ! src/java.base/share/classes/java/lang/classfile/attribute/RuntimeInvisibleAnnotationsAttribute.java ! src/java.base/share/classes/java/lang/classfile/attribute/RuntimeInvisibleParameterAnnotationsAttribute.java ! src/java.base/share/classes/java/lang/classfile/attribute/RuntimeInvisibleTypeAnnotationsAttribute.java ! src/java.base/share/classes/java/lang/classfile/attribute/RuntimeVisibleAnnotationsAttribute.java ! src/java.base/share/classes/java/lang/classfile/attribute/RuntimeVisibleParameterAnnotationsAttribute.java ! src/java.base/share/classes/java/lang/classfile/attribute/RuntimeVisibleTypeAnnotationsAttribute.java ! src/java.base/share/classes/java/lang/classfile/attribute/SignatureAttribute.java ! src/java.base/share/classes/java/lang/classfile/attribute/SourceFileAttribute.java ! src/java.base/share/classes/java/lang/classfile/attribute/StackMapFrameInfo.java ! src/java.base/share/classes/java/lang/classfile/attribute/StackMapTableAttribute.java ! src/java.base/share/classes/java/lang/classfile/attribute/SyntheticAttribute.java ! src/java.base/share/classes/java/lang/classfile/constantpool/ConstantPoolBuilder.java ! src/java.base/share/classes/java/lang/classfile/constantpool/MethodHandleEntry.java ! src/java.base/share/classes/java/lang/classfile/instruction/InvokeInstruction.java Changeset: 38591315 Branch: master Author: Fei Gao Date: 2024-08-15 15:16:14 +0000 URL: https://git.openjdk.org/loom/commit/38591315058e6d3b764ca325facc5bf46bf7b16b 8338442: AArch64: Clean up IndOffXX type and let legitimize_address() fix out-of-range operands Reviewed-by: aph, dlong ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/aarch64_vector.ad ! src/hotspot/cpu/aarch64/aarch64_vector_ad.m4 ! src/hotspot/cpu/aarch64/ad_encode.m4 ! src/hotspot/cpu/aarch64/gc/x/x_aarch64.ad ! src/hotspot/cpu/aarch64/gc/z/z_aarch64.ad ! test/hotspot/jtreg/compiler/c2/TestUnalignedAccess.java Changeset: 6169613d Branch: master Author: Daniel Fuchs Date: 2024-08-15 15:34:08 +0000 URL: https://git.openjdk.org/loom/commit/6169613d9f3f0bf019d04a37a1d8f28f1463c17c 8336655: java/net/httpclient/DigestEchoClient.java IOException: HTTP/1.1 header parser received no bytes Reviewed-by: jpai ! src/java.net.http/share/classes/jdk/internal/net/http/ConnectionPool.java ! src/java.net.http/share/classes/jdk/internal/net/http/SocketTube.java ! test/jdk/java/net/httpclient/DigestEchoClient.java Changeset: 7d1bbff0 Branch: master Author: lawrence.andrews Committer: Harshitha Onkar Date: 2024-08-15 16:36:15 +0000 URL: https://git.openjdk.org/loom/commit/7d1bbff076c063d066951eedb21de7e694e588b3 8328553: Get rid of JApplet in test/jdk/sanity/client/lib/SwingSet2/src/DemoModule.java Reviewed-by: honkar, prr ! test/jdk/sanity/client/lib/SwingSet2/src/DemoModule.java Changeset: ef54af39 Branch: master Author: Aleksey Shipilev Date: 2024-08-15 16:45:43 +0000 URL: https://git.openjdk.org/loom/commit/ef54af39883e76c80a3e012ed91b90973da51bb4 8338444: Shenandoah: Remove ShenandoahHumongousThreshold tunable Reviewed-by: rkennke, wkemper, ysr ! src/hotspot/share/gc/shenandoah/shenandoahAsserts.cpp ! src/hotspot/share/gc/shenandoah/shenandoahController.cpp ! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp ! src/hotspot/share/gc/shenandoah/shenandoahInitLogger.cpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp - test/hotspot/jtreg/gc/shenandoah/TestHumongousThreshold.java - test/hotspot/jtreg/gc/shenandoah/options/TestHumongousThresholdArgs.java Changeset: e51e40c2 Branch: master Author: Satyen Subramaniam Committer: Aleksey Shipilev Date: 2024-08-15 16:47:08 +0000 URL: https://git.openjdk.org/loom/commit/e51e40c2b9f51d012c01407e0b8dadaab464753e 8336914: Shenandoah: Missing verification steps after JDK-8255765 Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.cpp Changeset: f308b2d5 Branch: master Author: Satyen Subramaniam Committer: Aleksey Shipilev Date: 2024-08-15 16:47:45 +0000 URL: https://git.openjdk.org/loom/commit/f308b2d59672b39ddca502baff50ab20ab781047 8336915: Shenandoah: Remove unused ShenandoahVerifier::verify_after_evacuation Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/shenandoahVerifier.cpp ! src/hotspot/share/gc/shenandoah/shenandoahVerifier.hpp Changeset: 96550827 Branch: master Author: Kim Barrett Date: 2024-08-15 17:43:09 +0000 URL: https://git.openjdk.org/loom/commit/965508270ecd092019f7bea3a1605c5d9f19d81e 8338330: Fix -Wzero-as-null-pointer-constant warnings from THROW_XXX_0 Reviewed-by: dlong, dholmes, shade ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/runtime/reflection.cpp ! src/hotspot/share/utilities/exceptions.hpp Changeset: ace49651 Branch: master Author: Chen Liang Date: 2024-08-15 17:50:34 +0000 URL: https://git.openjdk.org/loom/commit/ace496515f4f91e802a51cec43d387eed61bd935 8338406: BytecodeHelpers using wrong bootstrap method descriptor for condy Reviewed-by: asotona ! src/java.base/share/classes/jdk/internal/classfile/impl/BytecodeHelpers.java + test/jdk/jdk/classfile/ConstantDescSymbolsTest.java - test/jdk/jdk/classfile/PrimitiveClassConstantTest.java Changeset: 52d9d69d Branch: master Author: Kim Barrett Date: 2024-08-15 17:50:44 +0000 URL: https://git.openjdk.org/loom/commit/52d9d69db5c1853445a95794c5bf21243aefa852 8338331: Fix -Wzero-as-null-pointer-constant warnings from CHECK_0 in jni.cpp Reviewed-by: dholmes, shade ! src/hotspot/share/prims/jni.cpp Changeset: 1cd48843 Branch: master Author: Coleen Phillimore Date: 2024-08-15 18:20:20 +0000 URL: https://git.openjdk.org/loom/commit/1cd488436880b00c55fa91f44c115999cf686afd 8338447: Remove InstanceKlass::_is_marked_dependent Reviewed-by: shade ! src/hotspot/share/oops/instanceKlass.hpp ! src/hotspot/share/runtime/vmStructs.cpp Changeset: d86e99c3 Branch: master Author: Aleksey Shipilev Date: 2024-08-15 20:52:07 +0000 URL: https://git.openjdk.org/loom/commit/d86e99c3ca94ee8705e44fe2830edd3ceb0a7f64 8293650: Shenandoah: Support archived heap objects Reviewed-by: rkennke, wkemper, iklam ! src/hotspot/share/cds/archiveHeapWriter.hpp ! src/hotspot/share/cds/filemap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahAsserts.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp + test/hotspot/jtreg/runtime/cds/appcds/TestShenandoahWithCDS.java Changeset: 74066bcc Branch: master Author: Shaojin Wen Committer: Claes Redestad Date: 2024-08-15 22:57:33 +0000 URL: https://git.openjdk.org/loom/commit/74066bcca82749722e6fee57469520d418bf3430 8338409: Use record to simplify code Reviewed-by: redestad, liach ! src/java.base/share/classes/java/util/Formatter.java Changeset: bd4160ce Branch: master Author: Axel Boldt-Christmas Date: 2024-08-16 06:20:17 +0000 URL: https://git.openjdk.org/loom/commit/bd4160cea8b6b0fcf0507199ed76a12f5d0aaba9 8315884: New Object to ObjectMonitor mapping Co-authored-by: Erik ?sterlund Co-authored-by: Stefan Karlsson Co-authored-by: Coleen Phillimore Reviewed-by: rkennke, coleenp, dcubed ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/c1_MacroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/c2_MacroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/c2_MacroAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/interp_masm_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp ! src/hotspot/cpu/arm/interp_masm_arm.cpp ! src/hotspot/cpu/ppc/interp_masm_ppc_64.cpp ! src/hotspot/cpu/ppc/macroAssembler_ppc.cpp ! src/hotspot/cpu/riscv/c2_MacroAssembler_riscv.cpp ! src/hotspot/cpu/riscv/interp_masm_riscv.cpp ! src/hotspot/cpu/s390/interp_masm_s390.cpp ! src/hotspot/cpu/s390/macroAssembler_s390.cpp ! src/hotspot/cpu/x86/c1_MacroAssembler_x86.cpp ! src/hotspot/cpu/x86/c2_CodeStubs_x86.cpp ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp ! src/hotspot/cpu/x86/interp_masm_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.hpp ! src/hotspot/cpu/x86/sharedRuntime_x86.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp ! src/hotspot/cpu/zero/zeroInterpreter_zero.cpp ! src/hotspot/share/c1/c1_Runtime1.cpp ! src/hotspot/share/interpreter/interpreterRuntime.cpp ! src/hotspot/share/interpreter/zero/bytecodeInterpreter.cpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/logging/logTag.hpp ! src/hotspot/share/oops/markWord.cpp ! src/hotspot/share/oops/markWord.hpp ! src/hotspot/share/opto/c2_CodeStubs.hpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/prims/jvmtiEnvBase.cpp ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/basicLock.cpp ! src/hotspot/share/runtime/basicLock.hpp + src/hotspot/share/runtime/basicLock.inline.hpp ! src/hotspot/share/runtime/deoptimization.cpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/javaThread.cpp ! src/hotspot/share/runtime/javaThread.hpp ! src/hotspot/share/runtime/javaThread.inline.hpp + src/hotspot/share/runtime/lightweightSynchronizer.cpp + src/hotspot/share/runtime/lightweightSynchronizer.hpp ! src/hotspot/share/runtime/lockStack.cpp ! src/hotspot/share/runtime/lockStack.hpp ! src/hotspot/share/runtime/lockStack.inline.hpp ! src/hotspot/share/runtime/objectMonitor.cpp ! src/hotspot/share/runtime/objectMonitor.hpp ! src/hotspot/share/runtime/objectMonitor.inline.hpp ! src/hotspot/share/runtime/safepoint.cpp ! src/hotspot/share/runtime/serviceThread.cpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/hotspot/share/runtime/synchronizer.cpp ! src/hotspot/share/runtime/synchronizer.hpp + src/hotspot/share/runtime/synchronizer.inline.hpp ! src/hotspot/share/runtime/vframe.cpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/Mark.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/BasicLock.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/ObjectMonitor.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/ObjectSynchronizer.java ! test/hotspot/gtest/runtime/test_objectMonitor.cpp + test/hotspot/jtreg/runtime/Monitor/UseObjectMonitorTableTest.java ! test/hotspot/jtreg/runtime/logging/MonitorInflationTest.java ! test/micro/org/openjdk/bench/vm/lang/LockUnlock.java Changeset: 60c9b5cd Branch: master Author: Andrey Turbanov Date: 2024-08-16 08:49:18 +0000 URL: https://git.openjdk.org/loom/commit/60c9b5cd9f18830f0fb1aea6cb3dc43af3908cc5 8337839: Make a few fields in MergeCollation static Reviewed-by: jpai, naoto ! src/java.base/share/classes/java/text/MergeCollation.java Changeset: ddbc0b6a Branch: master Author: Daniel Fuchs Date: 2024-08-16 11:24:40 +0000 URL: https://git.openjdk.org/loom/commit/ddbc0b6a39148cb30a8fda80fa7290e90e2a77d6 8338495: Revert "8336655: java/net/httpclient/DigestEchoClient.java IOException: HTTP/1.1 header parser received no bytes" Reviewed-by: jpai ! src/java.net.http/share/classes/jdk/internal/net/http/ConnectionPool.java ! src/java.net.http/share/classes/jdk/internal/net/http/SocketTube.java ! test/jdk/java/net/httpclient/DigestEchoClient.java Changeset: 5022109b Branch: master Author: Shaojin Wen Committer: Claes Redestad Date: 2024-08-16 13:18:02 +0000 URL: https://git.openjdk.org/loom/commit/5022109b2a33a8cf2608eb829098b27641b731a4 8336856: Efficient hidden class-based string concatenation strategy Co-authored-by: Claes Redestad Reviewed-by: redestad, liach ! src/java.base/share/classes/java/lang/StringConcatHelper.java ! src/java.base/share/classes/java/lang/System.java ! src/java.base/share/classes/java/lang/invoke/StringConcatFactory.java ! src/java.base/share/classes/jdk/internal/access/JavaLangAccess.java ! src/java.base/share/classes/jdk/internal/util/ClassFileDumper.java + test/jdk/java/lang/String/concat/HiddenClassUnloading.java ! test/micro/org/openjdk/bench/java/lang/StringConcat.java ! test/micro/org/openjdk/bench/java/lang/StringConcatStartup.java Changeset: 07352c67 Branch: master Author: Pavel Rappo Date: 2024-08-16 14:06:10 +0000 URL: https://git.openjdk.org/loom/commit/07352c67448f3f35827395c83ac95e3ca0e4c6bc 8338398: Trivially fix grammar and typos Reviewed-by: aivanov ! src/java.base/share/classes/java/util/concurrent/CompletableFuture.java ! src/java.base/share/classes/java/util/concurrent/ForkJoinPool.java ! src/java.base/share/classes/java/util/concurrent/ForkJoinTask.java Changeset: 961e944f Branch: master Author: Chen Liang Date: 2024-08-16 15:48:54 +0000 URL: https://git.openjdk.org/loom/commit/961e944fa731dc84be2764c01e4b326187474605 8336754: Remodel TypeAnnotation to "has" instead of "be" an Annotation Co-authored-by: Alex Buckley Reviewed-by: asotona ! src/java.base/share/classes/java/lang/classfile/Annotation.java ! src/java.base/share/classes/java/lang/classfile/AnnotationElement.java ! src/java.base/share/classes/java/lang/classfile/AnnotationValue.java ! src/java.base/share/classes/java/lang/classfile/TypeAnnotation.java ! src/java.base/share/classes/jdk/internal/classfile/impl/AbstractAttributeMapper.java ! src/java.base/share/classes/jdk/internal/classfile/impl/AnnotationReader.java ! src/java.base/share/classes/jdk/internal/classfile/impl/ClassPrinterImpl.java ! src/java.base/share/classes/jdk/internal/classfile/impl/ClassRemapperImpl.java ! src/java.base/share/classes/jdk/internal/classfile/impl/UnboundAttribute.java ! src/java.base/share/classes/jdk/internal/classfile/impl/verifier/ParserVerifier.java ! src/jdk.jdeps/share/classes/com/sun/tools/javap/AnnotationWriter.java ! test/jdk/jdk/classfile/ClassPrinterTest.java ! test/jdk/jdk/classfile/TransformTests.java ! test/jdk/jdk/classfile/helpers/ClassRecord.java ! test/jdk/jdk/classfile/helpers/RebuildingTransformation.java ! test/langtools/lib/annotations/annotations/classfile/ClassfileInspector.java ! test/langtools/tools/javac/annotations/typeAnnotations/classfile/AnonymousClassTest.java ! test/langtools/tools/javac/annotations/typeAnnotations/referenceinfos/ReferenceInfoUtil.java ! test/langtools/tools/javac/patterns/Annotations.java ! test/langtools/tools/javac/records/RecordCompilationTests.java Changeset: 8635642d Branch: master Author: Chris Plummer Date: 2024-08-16 16:39:36 +0000 URL: https://git.openjdk.org/loom/commit/8635642dbdfb74d2ae50a51611fd2c5980fe6e74 8338469: com/sun/jdi/DataDumpTest.java failed with Not a debuggee, or not listening for debugger to attach Reviewed-by: dcubed ! test/jdk/com/sun/jdi/DataDumpTest.java Changeset: 2f7ba781 Branch: master Author: SendaoYan Committer: Jaikiran Pai Date: 2024-08-19 04:44:24 +0000 URL: https://git.openjdk.org/loom/commit/2f7ba781bf2e4e6d0fa658c19f86c6c05d60358a 8335150: Test LogGeneratedClassesTest.java fails on rpmbuild mock enviroment Reviewed-by: jpai ! test/jdk/java/lang/invoke/lambda/LogGeneratedClassesTest.java Changeset: 56a007dd Branch: master Author: Tejesh R Date: 2024-08-19 06:42:51 +0000 URL: https://git.openjdk.org/loom/commit/56a007dd32061695d7bb0faf47e1793728e86c88 8338488: Add screen capture for failure case Reviewed-by: azvegint ! test/jdk/java/awt/Checkbox/CheckboxCheckerScalingTest.java Changeset: 15b20cb1 Branch: master Author: Manukumar V S Committer: Tejesh R Date: 2024-08-19 07:17:37 +0000 URL: https://git.openjdk.org/loom/commit/15b20cb1fd18b849e49c175737dd3826c8d0ceff 8337886: java/awt/Frame/MaximizeUndecoratedTest.java fails in OEL due to a slight color difference Reviewed-by: dnguyen, honkar, serb ! test/jdk/java/awt/Frame/MaximizeUndecoratedTest.java Changeset: f0374a0b Branch: master Author: Andrew Dinn Date: 2024-08-19 09:00:19 +0000 URL: https://git.openjdk.org/loom/commit/f0374a0bc181d0f2a8c0aa9aa032b07998ffaf60 8337987: Relocate jfr and throw_exception stubs from StubGenerator to SharedRuntime Reviewed-by: fyang, kvn, yzheng ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/methodHandles_aarch64.cpp ! src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp ! src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp ! src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp ! src/hotspot/cpu/arm/methodHandles_arm.cpp ! src/hotspot/cpu/arm/sharedRuntime_arm.cpp ! src/hotspot/cpu/arm/stubGenerator_arm.cpp ! src/hotspot/cpu/arm/templateInterpreterGenerator_arm.cpp ! src/hotspot/cpu/ppc/macroAssembler_ppc.cpp ! src/hotspot/cpu/ppc/methodHandles_ppc.cpp ! src/hotspot/cpu/ppc/sharedRuntime_ppc.cpp ! src/hotspot/cpu/ppc/stubGenerator_ppc.cpp ! src/hotspot/cpu/ppc/templateInterpreterGenerator_ppc.cpp ! src/hotspot/cpu/riscv/macroAssembler_riscv.cpp ! src/hotspot/cpu/riscv/methodHandles_riscv.cpp ! src/hotspot/cpu/riscv/sharedRuntime_riscv.cpp ! src/hotspot/cpu/riscv/stubGenerator_riscv.cpp ! src/hotspot/cpu/riscv/templateInterpreterGenerator_riscv.cpp ! src/hotspot/cpu/s390/macroAssembler_s390.cpp ! src/hotspot/cpu/s390/methodHandles_s390.cpp ! src/hotspot/cpu/s390/sharedRuntime_s390.cpp ! src/hotspot/cpu/s390/stubGenerator_s390.cpp ! src/hotspot/cpu/s390/templateInterpreterGenerator_s390.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/methodHandles_x86.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_32.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.hpp ! src/hotspot/cpu/x86/templateInterpreterGenerator_x86.cpp ! src/hotspot/cpu/zero/sharedRuntime_zero.cpp ! src/hotspot/cpu/zero/stubGenerator_zero.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVM.hpp ! src/hotspot/share/jvmci/jvmciCompilerToVMInit.cpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/runtime/init.cpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/hotspot/share/runtime/sharedRuntime.hpp ! src/hotspot/share/runtime/stubRoutines.cpp ! src/hotspot/share/runtime/stubRoutines.hpp Changeset: 6d430f24 Branch: master Author: Aleksey Shipilev Date: 2024-08-19 09:08:54 +0000 URL: https://git.openjdk.org/loom/commit/6d430f24df9d599fe1e12c6b65117c02773ae5d8 8338314: JFR: Split JFRCheckpoint VM operation Reviewed-by: mgronlun, egahlin ! src/hotspot/share/jfr/recorder/service/jfrRecorderService.cpp ! src/hotspot/share/jfr/recorder/service/jfrRecorderService.hpp ! src/hotspot/share/runtime/vmOperation.hpp Changeset: e07a5b66 Branch: master Author: Erik Gahlin Date: 2024-08-19 10:42:58 +0000 URL: https://git.openjdk.org/loom/commit/e07a5b66267156f55ee1c28579382990e58f15eb 8338512: JFR: Revert changes to TestCodeSweeper Reviewed-by: mgronlun ! test/jdk/ProblemList.txt ! test/jdk/jdk/jfr/event/compiler/TestCodeSweeper.java Changeset: 6ff6b099 Branch: master Author: Renjith Kannath Pariyangad Date: 2024-08-19 12:40:35 +0000 URL: https://git.openjdk.org/loom/commit/6ff6b0994380276e0096f7b55a0d659803344679 8290501: Typo in javax.swing.BoundedRangeModel documentation Reviewed-by: aivanov, prr, honkar ! src/java.desktop/share/classes/javax/swing/BoundedRangeModel.java Changeset: f0fe3138 Branch: master Author: Adam Sotona Date: 2024-08-19 12:57:17 +0000 URL: https://git.openjdk.org/loom/commit/f0fe31383aec652ad4e3cc4873cd3ff9b918fef7 8338564: Remove obsolete AbstractNamedEntry::equals method Reviewed-by: liach ! src/java.base/share/classes/jdk/internal/classfile/impl/AbstractPoolEntry.java Changeset: 2766b09e Branch: master Author: Alan Bateman Committer: Jaikiran Pai Date: 2024-08-19 12:57:29 +0000 URL: https://git.openjdk.org/loom/commit/2766b09e29d7c1c31fdef20f016a181eedb2d429 8338452: (dc) DatagramChannelImpl.blockingReceive with timeout may block indefinitely if all datagrams blocked by SecurityManager Reviewed-by: dfuchs ! src/java.base/share/classes/sun/nio/ch/DatagramChannelImpl.java Changeset: 3ca359ad Branch: master Author: Daniel Fuchs Date: 2024-08-19 13:47:40 +0000 URL: https://git.openjdk.org/loom/commit/3ca359ad224b07f283c99eb43bed02eb93ef2dc7 8335771: Improve stability of java/nio/channels/DatagramChannel tests Reviewed-by: alanb ! test/jdk/java/nio/channels/DatagramChannel/AdaptorMulticasting.java ! test/jdk/java/nio/channels/DatagramChannel/AfterDisconnect.java ! test/jdk/java/nio/channels/DatagramChannel/Connect.java ! test/jdk/java/nio/channels/DatagramChannel/ManySourcesAndTargets.java ! test/jdk/java/nio/channels/DatagramChannel/MulticastSendReceiveTests.java ! test/jdk/java/nio/channels/DatagramChannel/NotBound.java ! test/jdk/java/nio/channels/DatagramChannel/Promiscuous.java ! test/jdk/java/nio/channels/DatagramChannel/ReceiveISA.java ! test/jdk/java/nio/channels/DatagramChannel/SelectWhenRefused.java ! test/jdk/java/nio/channels/DatagramChannel/SendReceiveMaxSize.java ! test/jdk/java/nio/channels/DatagramChannel/Sender.java From duke at openjdk.org Tue Aug 20 22:19:06 2024 From: duke at openjdk.org (duke) Date: Tue, 20 Aug 2024 22:19:06 GMT Subject: git: openjdk/loom: fibers: 33 new changesets Message-ID: <0126d5d3-80da-4220-9673-e6d26b427f4a@openjdk.org> Changeset: 74fdd686 Branch: fibers Author: Aleksey Shipilev Date: 2024-08-15 11:24:22 +0000 URL: https://git.openjdk.org/loom/commit/74fdd6868d3f71d44ef9f71a0ca9506c04d39148 8333791: Fix memory barriers for @Stable fields Reviewed-by: liach, vlivanov ! src/hotspot/share/c1/c1_GraphBuilder.cpp ! src/hotspot/share/c1/c1_IR.cpp ! src/hotspot/share/c1/c1_IR.hpp ! src/hotspot/share/opto/parse.hpp ! src/hotspot/share/opto/parse1.cpp ! src/hotspot/share/opto/parse3.cpp + test/hotspot/jtreg/compiler/c2/irTests/stable/StablePrimArrayTest.java + test/hotspot/jtreg/compiler/c2/irTests/stable/StablePrimFinalTest.java + test/hotspot/jtreg/compiler/c2/irTests/stable/StablePrimPlainTest.java + test/hotspot/jtreg/compiler/c2/irTests/stable/StablePrimVolatileTest.java + test/hotspot/jtreg/compiler/c2/irTests/stable/StableRefArrayTest.java + test/hotspot/jtreg/compiler/c2/irTests/stable/StableRefFinalTest.java + test/hotspot/jtreg/compiler/c2/irTests/stable/StableRefPlainTest.java + test/hotspot/jtreg/compiler/c2/irTests/stable/StableRefVolatileTest.java Changeset: 56dec215 Branch: fibers Author: Sonia Zaldana Calles Date: 2024-08-15 13:28:25 +0000 URL: https://git.openjdk.org/loom/commit/56dec215b0d056fc23137372ecb3376af2a7b891 8338014: Improve usage of @jvms tags in class file API Reviewed-by: darcy, liach, asotona ! src/java.base/share/classes/java/lang/classfile/AnnotationValue.java ! src/java.base/share/classes/java/lang/classfile/Attribute.java ! src/java.base/share/classes/java/lang/classfile/ClassSignature.java ! src/java.base/share/classes/java/lang/classfile/MethodSignature.java ! src/java.base/share/classes/java/lang/classfile/Opcode.java ! src/java.base/share/classes/java/lang/classfile/Signature.java ! src/java.base/share/classes/java/lang/classfile/TypeAnnotation.java ! src/java.base/share/classes/java/lang/classfile/attribute/AnnotationDefaultAttribute.java ! src/java.base/share/classes/java/lang/classfile/attribute/BootstrapMethodsAttribute.java ! src/java.base/share/classes/java/lang/classfile/attribute/CodeAttribute.java ! src/java.base/share/classes/java/lang/classfile/attribute/ConstantValueAttribute.java ! src/java.base/share/classes/java/lang/classfile/attribute/DeprecatedAttribute.java ! src/java.base/share/classes/java/lang/classfile/attribute/EnclosingMethodAttribute.java ! src/java.base/share/classes/java/lang/classfile/attribute/ExceptionsAttribute.java ! src/java.base/share/classes/java/lang/classfile/attribute/InnerClassesAttribute.java ! src/java.base/share/classes/java/lang/classfile/attribute/LineNumberTableAttribute.java ! src/java.base/share/classes/java/lang/classfile/attribute/LocalVariableTableAttribute.java ! src/java.base/share/classes/java/lang/classfile/attribute/LocalVariableTypeTableAttribute.java ! src/java.base/share/classes/java/lang/classfile/attribute/MethodParametersAttribute.java ! src/java.base/share/classes/java/lang/classfile/attribute/ModuleAttribute.java ! src/java.base/share/classes/java/lang/classfile/attribute/ModuleMainClassAttribute.java ! src/java.base/share/classes/java/lang/classfile/attribute/ModulePackagesAttribute.java ! src/java.base/share/classes/java/lang/classfile/attribute/NestHostAttribute.java ! src/java.base/share/classes/java/lang/classfile/attribute/NestMembersAttribute.java ! src/java.base/share/classes/java/lang/classfile/attribute/PermittedSubclassesAttribute.java ! src/java.base/share/classes/java/lang/classfile/attribute/RecordAttribute.java ! src/java.base/share/classes/java/lang/classfile/attribute/RuntimeInvisibleAnnotationsAttribute.java ! src/java.base/share/classes/java/lang/classfile/attribute/RuntimeInvisibleParameterAnnotationsAttribute.java ! src/java.base/share/classes/java/lang/classfile/attribute/RuntimeInvisibleTypeAnnotationsAttribute.java ! src/java.base/share/classes/java/lang/classfile/attribute/RuntimeVisibleAnnotationsAttribute.java ! src/java.base/share/classes/java/lang/classfile/attribute/RuntimeVisibleParameterAnnotationsAttribute.java ! src/java.base/share/classes/java/lang/classfile/attribute/RuntimeVisibleTypeAnnotationsAttribute.java ! src/java.base/share/classes/java/lang/classfile/attribute/SignatureAttribute.java ! src/java.base/share/classes/java/lang/classfile/attribute/SourceFileAttribute.java ! src/java.base/share/classes/java/lang/classfile/attribute/StackMapFrameInfo.java ! src/java.base/share/classes/java/lang/classfile/attribute/StackMapTableAttribute.java ! src/java.base/share/classes/java/lang/classfile/attribute/SyntheticAttribute.java ! src/java.base/share/classes/java/lang/classfile/constantpool/ConstantPoolBuilder.java ! src/java.base/share/classes/java/lang/classfile/constantpool/MethodHandleEntry.java ! src/java.base/share/classes/java/lang/classfile/instruction/InvokeInstruction.java Changeset: 38591315 Branch: fibers Author: Fei Gao Date: 2024-08-15 15:16:14 +0000 URL: https://git.openjdk.org/loom/commit/38591315058e6d3b764ca325facc5bf46bf7b16b 8338442: AArch64: Clean up IndOffXX type and let legitimize_address() fix out-of-range operands Reviewed-by: aph, dlong ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/aarch64_vector.ad ! src/hotspot/cpu/aarch64/aarch64_vector_ad.m4 ! src/hotspot/cpu/aarch64/ad_encode.m4 ! src/hotspot/cpu/aarch64/gc/x/x_aarch64.ad ! src/hotspot/cpu/aarch64/gc/z/z_aarch64.ad ! test/hotspot/jtreg/compiler/c2/TestUnalignedAccess.java Changeset: 6169613d Branch: fibers Author: Daniel Fuchs Date: 2024-08-15 15:34:08 +0000 URL: https://git.openjdk.org/loom/commit/6169613d9f3f0bf019d04a37a1d8f28f1463c17c 8336655: java/net/httpclient/DigestEchoClient.java IOException: HTTP/1.1 header parser received no bytes Reviewed-by: jpai ! src/java.net.http/share/classes/jdk/internal/net/http/ConnectionPool.java ! src/java.net.http/share/classes/jdk/internal/net/http/SocketTube.java ! test/jdk/java/net/httpclient/DigestEchoClient.java Changeset: 7d1bbff0 Branch: fibers Author: lawrence.andrews Committer: Harshitha Onkar Date: 2024-08-15 16:36:15 +0000 URL: https://git.openjdk.org/loom/commit/7d1bbff076c063d066951eedb21de7e694e588b3 8328553: Get rid of JApplet in test/jdk/sanity/client/lib/SwingSet2/src/DemoModule.java Reviewed-by: honkar, prr ! test/jdk/sanity/client/lib/SwingSet2/src/DemoModule.java Changeset: ef54af39 Branch: fibers Author: Aleksey Shipilev Date: 2024-08-15 16:45:43 +0000 URL: https://git.openjdk.org/loom/commit/ef54af39883e76c80a3e012ed91b90973da51bb4 8338444: Shenandoah: Remove ShenandoahHumongousThreshold tunable Reviewed-by: rkennke, wkemper, ysr ! src/hotspot/share/gc/shenandoah/shenandoahAsserts.cpp ! src/hotspot/share/gc/shenandoah/shenandoahController.cpp ! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp ! src/hotspot/share/gc/shenandoah/shenandoahInitLogger.cpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp - test/hotspot/jtreg/gc/shenandoah/TestHumongousThreshold.java - test/hotspot/jtreg/gc/shenandoah/options/TestHumongousThresholdArgs.java Changeset: e51e40c2 Branch: fibers Author: Satyen Subramaniam Committer: Aleksey Shipilev Date: 2024-08-15 16:47:08 +0000 URL: https://git.openjdk.org/loom/commit/e51e40c2b9f51d012c01407e0b8dadaab464753e 8336914: Shenandoah: Missing verification steps after JDK-8255765 Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.cpp Changeset: f308b2d5 Branch: fibers Author: Satyen Subramaniam Committer: Aleksey Shipilev Date: 2024-08-15 16:47:45 +0000 URL: https://git.openjdk.org/loom/commit/f308b2d59672b39ddca502baff50ab20ab781047 8336915: Shenandoah: Remove unused ShenandoahVerifier::verify_after_evacuation Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/shenandoahVerifier.cpp ! src/hotspot/share/gc/shenandoah/shenandoahVerifier.hpp Changeset: 96550827 Branch: fibers Author: Kim Barrett Date: 2024-08-15 17:43:09 +0000 URL: https://git.openjdk.org/loom/commit/965508270ecd092019f7bea3a1605c5d9f19d81e 8338330: Fix -Wzero-as-null-pointer-constant warnings from THROW_XXX_0 Reviewed-by: dlong, dholmes, shade ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/runtime/reflection.cpp ! src/hotspot/share/utilities/exceptions.hpp Changeset: ace49651 Branch: fibers Author: Chen Liang Date: 2024-08-15 17:50:34 +0000 URL: https://git.openjdk.org/loom/commit/ace496515f4f91e802a51cec43d387eed61bd935 8338406: BytecodeHelpers using wrong bootstrap method descriptor for condy Reviewed-by: asotona ! src/java.base/share/classes/jdk/internal/classfile/impl/BytecodeHelpers.java + test/jdk/jdk/classfile/ConstantDescSymbolsTest.java - test/jdk/jdk/classfile/PrimitiveClassConstantTest.java Changeset: 52d9d69d Branch: fibers Author: Kim Barrett Date: 2024-08-15 17:50:44 +0000 URL: https://git.openjdk.org/loom/commit/52d9d69db5c1853445a95794c5bf21243aefa852 8338331: Fix -Wzero-as-null-pointer-constant warnings from CHECK_0 in jni.cpp Reviewed-by: dholmes, shade ! src/hotspot/share/prims/jni.cpp Changeset: 1cd48843 Branch: fibers Author: Coleen Phillimore Date: 2024-08-15 18:20:20 +0000 URL: https://git.openjdk.org/loom/commit/1cd488436880b00c55fa91f44c115999cf686afd 8338447: Remove InstanceKlass::_is_marked_dependent Reviewed-by: shade ! src/hotspot/share/oops/instanceKlass.hpp ! src/hotspot/share/runtime/vmStructs.cpp Changeset: d86e99c3 Branch: fibers Author: Aleksey Shipilev Date: 2024-08-15 20:52:07 +0000 URL: https://git.openjdk.org/loom/commit/d86e99c3ca94ee8705e44fe2830edd3ceb0a7f64 8293650: Shenandoah: Support archived heap objects Reviewed-by: rkennke, wkemper, iklam ! src/hotspot/share/cds/archiveHeapWriter.hpp ! src/hotspot/share/cds/filemap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahAsserts.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp + test/hotspot/jtreg/runtime/cds/appcds/TestShenandoahWithCDS.java Changeset: 74066bcc Branch: fibers Author: Shaojin Wen Committer: Claes Redestad Date: 2024-08-15 22:57:33 +0000 URL: https://git.openjdk.org/loom/commit/74066bcca82749722e6fee57469520d418bf3430 8338409: Use record to simplify code Reviewed-by: redestad, liach ! src/java.base/share/classes/java/util/Formatter.java Changeset: bd4160ce Branch: fibers Author: Axel Boldt-Christmas Date: 2024-08-16 06:20:17 +0000 URL: https://git.openjdk.org/loom/commit/bd4160cea8b6b0fcf0507199ed76a12f5d0aaba9 8315884: New Object to ObjectMonitor mapping Co-authored-by: Erik ?sterlund Co-authored-by: Stefan Karlsson Co-authored-by: Coleen Phillimore Reviewed-by: rkennke, coleenp, dcubed ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/c1_MacroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/c2_MacroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/c2_MacroAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/interp_masm_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp ! src/hotspot/cpu/arm/interp_masm_arm.cpp ! src/hotspot/cpu/ppc/interp_masm_ppc_64.cpp ! src/hotspot/cpu/ppc/macroAssembler_ppc.cpp ! src/hotspot/cpu/riscv/c2_MacroAssembler_riscv.cpp ! src/hotspot/cpu/riscv/interp_masm_riscv.cpp ! src/hotspot/cpu/s390/interp_masm_s390.cpp ! src/hotspot/cpu/s390/macroAssembler_s390.cpp ! src/hotspot/cpu/x86/c1_MacroAssembler_x86.cpp ! src/hotspot/cpu/x86/c2_CodeStubs_x86.cpp ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp ! src/hotspot/cpu/x86/interp_masm_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.hpp ! src/hotspot/cpu/x86/sharedRuntime_x86.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp ! src/hotspot/cpu/zero/zeroInterpreter_zero.cpp ! src/hotspot/share/c1/c1_Runtime1.cpp ! src/hotspot/share/interpreter/interpreterRuntime.cpp ! src/hotspot/share/interpreter/zero/bytecodeInterpreter.cpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/logging/logTag.hpp ! src/hotspot/share/oops/markWord.cpp ! src/hotspot/share/oops/markWord.hpp ! src/hotspot/share/opto/c2_CodeStubs.hpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/prims/jvmtiEnvBase.cpp ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/basicLock.cpp ! src/hotspot/share/runtime/basicLock.hpp + src/hotspot/share/runtime/basicLock.inline.hpp ! src/hotspot/share/runtime/deoptimization.cpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/javaThread.cpp ! src/hotspot/share/runtime/javaThread.hpp ! src/hotspot/share/runtime/javaThread.inline.hpp + src/hotspot/share/runtime/lightweightSynchronizer.cpp + src/hotspot/share/runtime/lightweightSynchronizer.hpp ! src/hotspot/share/runtime/lockStack.cpp ! src/hotspot/share/runtime/lockStack.hpp ! src/hotspot/share/runtime/lockStack.inline.hpp ! src/hotspot/share/runtime/objectMonitor.cpp ! src/hotspot/share/runtime/objectMonitor.hpp ! src/hotspot/share/runtime/objectMonitor.inline.hpp ! src/hotspot/share/runtime/safepoint.cpp ! src/hotspot/share/runtime/serviceThread.cpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/hotspot/share/runtime/synchronizer.cpp ! src/hotspot/share/runtime/synchronizer.hpp + src/hotspot/share/runtime/synchronizer.inline.hpp ! src/hotspot/share/runtime/vframe.cpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/Mark.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/BasicLock.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/ObjectMonitor.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/ObjectSynchronizer.java ! test/hotspot/gtest/runtime/test_objectMonitor.cpp + test/hotspot/jtreg/runtime/Monitor/UseObjectMonitorTableTest.java ! test/hotspot/jtreg/runtime/logging/MonitorInflationTest.java ! test/micro/org/openjdk/bench/vm/lang/LockUnlock.java Changeset: 60c9b5cd Branch: fibers Author: Andrey Turbanov Date: 2024-08-16 08:49:18 +0000 URL: https://git.openjdk.org/loom/commit/60c9b5cd9f18830f0fb1aea6cb3dc43af3908cc5 8337839: Make a few fields in MergeCollation static Reviewed-by: jpai, naoto ! src/java.base/share/classes/java/text/MergeCollation.java Changeset: ddbc0b6a Branch: fibers Author: Daniel Fuchs Date: 2024-08-16 11:24:40 +0000 URL: https://git.openjdk.org/loom/commit/ddbc0b6a39148cb30a8fda80fa7290e90e2a77d6 8338495: Revert "8336655: java/net/httpclient/DigestEchoClient.java IOException: HTTP/1.1 header parser received no bytes" Reviewed-by: jpai ! src/java.net.http/share/classes/jdk/internal/net/http/ConnectionPool.java ! src/java.net.http/share/classes/jdk/internal/net/http/SocketTube.java ! test/jdk/java/net/httpclient/DigestEchoClient.java Changeset: 5022109b Branch: fibers Author: Shaojin Wen Committer: Claes Redestad Date: 2024-08-16 13:18:02 +0000 URL: https://git.openjdk.org/loom/commit/5022109b2a33a8cf2608eb829098b27641b731a4 8336856: Efficient hidden class-based string concatenation strategy Co-authored-by: Claes Redestad Reviewed-by: redestad, liach ! src/java.base/share/classes/java/lang/StringConcatHelper.java ! src/java.base/share/classes/java/lang/System.java ! src/java.base/share/classes/java/lang/invoke/StringConcatFactory.java ! src/java.base/share/classes/jdk/internal/access/JavaLangAccess.java ! src/java.base/share/classes/jdk/internal/util/ClassFileDumper.java + test/jdk/java/lang/String/concat/HiddenClassUnloading.java ! test/micro/org/openjdk/bench/java/lang/StringConcat.java ! test/micro/org/openjdk/bench/java/lang/StringConcatStartup.java Changeset: 07352c67 Branch: fibers Author: Pavel Rappo Date: 2024-08-16 14:06:10 +0000 URL: https://git.openjdk.org/loom/commit/07352c67448f3f35827395c83ac95e3ca0e4c6bc 8338398: Trivially fix grammar and typos Reviewed-by: aivanov ! src/java.base/share/classes/java/util/concurrent/CompletableFuture.java ! src/java.base/share/classes/java/util/concurrent/ForkJoinPool.java ! src/java.base/share/classes/java/util/concurrent/ForkJoinTask.java Changeset: 961e944f Branch: fibers Author: Chen Liang Date: 2024-08-16 15:48:54 +0000 URL: https://git.openjdk.org/loom/commit/961e944fa731dc84be2764c01e4b326187474605 8336754: Remodel TypeAnnotation to "has" instead of "be" an Annotation Co-authored-by: Alex Buckley Reviewed-by: asotona ! src/java.base/share/classes/java/lang/classfile/Annotation.java ! src/java.base/share/classes/java/lang/classfile/AnnotationElement.java ! src/java.base/share/classes/java/lang/classfile/AnnotationValue.java ! src/java.base/share/classes/java/lang/classfile/TypeAnnotation.java ! src/java.base/share/classes/jdk/internal/classfile/impl/AbstractAttributeMapper.java ! src/java.base/share/classes/jdk/internal/classfile/impl/AnnotationReader.java ! src/java.base/share/classes/jdk/internal/classfile/impl/ClassPrinterImpl.java ! src/java.base/share/classes/jdk/internal/classfile/impl/ClassRemapperImpl.java ! src/java.base/share/classes/jdk/internal/classfile/impl/UnboundAttribute.java ! src/java.base/share/classes/jdk/internal/classfile/impl/verifier/ParserVerifier.java ! src/jdk.jdeps/share/classes/com/sun/tools/javap/AnnotationWriter.java ! test/jdk/jdk/classfile/ClassPrinterTest.java ! test/jdk/jdk/classfile/TransformTests.java ! test/jdk/jdk/classfile/helpers/ClassRecord.java ! test/jdk/jdk/classfile/helpers/RebuildingTransformation.java ! test/langtools/lib/annotations/annotations/classfile/ClassfileInspector.java ! test/langtools/tools/javac/annotations/typeAnnotations/classfile/AnonymousClassTest.java ! test/langtools/tools/javac/annotations/typeAnnotations/referenceinfos/ReferenceInfoUtil.java ! test/langtools/tools/javac/patterns/Annotations.java ! test/langtools/tools/javac/records/RecordCompilationTests.java Changeset: 8635642d Branch: fibers Author: Chris Plummer Date: 2024-08-16 16:39:36 +0000 URL: https://git.openjdk.org/loom/commit/8635642dbdfb74d2ae50a51611fd2c5980fe6e74 8338469: com/sun/jdi/DataDumpTest.java failed with Not a debuggee, or not listening for debugger to attach Reviewed-by: dcubed ! test/jdk/com/sun/jdi/DataDumpTest.java Changeset: 2f7ba781 Branch: fibers Author: SendaoYan Committer: Jaikiran Pai Date: 2024-08-19 04:44:24 +0000 URL: https://git.openjdk.org/loom/commit/2f7ba781bf2e4e6d0fa658c19f86c6c05d60358a 8335150: Test LogGeneratedClassesTest.java fails on rpmbuild mock enviroment Reviewed-by: jpai ! test/jdk/java/lang/invoke/lambda/LogGeneratedClassesTest.java Changeset: 56a007dd Branch: fibers Author: Tejesh R Date: 2024-08-19 06:42:51 +0000 URL: https://git.openjdk.org/loom/commit/56a007dd32061695d7bb0faf47e1793728e86c88 8338488: Add screen capture for failure case Reviewed-by: azvegint ! test/jdk/java/awt/Checkbox/CheckboxCheckerScalingTest.java Changeset: 15b20cb1 Branch: fibers Author: Manukumar V S Committer: Tejesh R Date: 2024-08-19 07:17:37 +0000 URL: https://git.openjdk.org/loom/commit/15b20cb1fd18b849e49c175737dd3826c8d0ceff 8337886: java/awt/Frame/MaximizeUndecoratedTest.java fails in OEL due to a slight color difference Reviewed-by: dnguyen, honkar, serb ! test/jdk/java/awt/Frame/MaximizeUndecoratedTest.java Changeset: f0374a0b Branch: fibers Author: Andrew Dinn Date: 2024-08-19 09:00:19 +0000 URL: https://git.openjdk.org/loom/commit/f0374a0bc181d0f2a8c0aa9aa032b07998ffaf60 8337987: Relocate jfr and throw_exception stubs from StubGenerator to SharedRuntime Reviewed-by: fyang, kvn, yzheng ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/methodHandles_aarch64.cpp ! src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp ! src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp ! src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp ! src/hotspot/cpu/arm/methodHandles_arm.cpp ! src/hotspot/cpu/arm/sharedRuntime_arm.cpp ! src/hotspot/cpu/arm/stubGenerator_arm.cpp ! src/hotspot/cpu/arm/templateInterpreterGenerator_arm.cpp ! src/hotspot/cpu/ppc/macroAssembler_ppc.cpp ! src/hotspot/cpu/ppc/methodHandles_ppc.cpp ! src/hotspot/cpu/ppc/sharedRuntime_ppc.cpp ! src/hotspot/cpu/ppc/stubGenerator_ppc.cpp ! src/hotspot/cpu/ppc/templateInterpreterGenerator_ppc.cpp ! src/hotspot/cpu/riscv/macroAssembler_riscv.cpp ! src/hotspot/cpu/riscv/methodHandles_riscv.cpp ! src/hotspot/cpu/riscv/sharedRuntime_riscv.cpp ! src/hotspot/cpu/riscv/stubGenerator_riscv.cpp ! src/hotspot/cpu/riscv/templateInterpreterGenerator_riscv.cpp ! src/hotspot/cpu/s390/macroAssembler_s390.cpp ! src/hotspot/cpu/s390/methodHandles_s390.cpp ! src/hotspot/cpu/s390/sharedRuntime_s390.cpp ! src/hotspot/cpu/s390/stubGenerator_s390.cpp ! src/hotspot/cpu/s390/templateInterpreterGenerator_s390.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/methodHandles_x86.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_32.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.hpp ! src/hotspot/cpu/x86/templateInterpreterGenerator_x86.cpp ! src/hotspot/cpu/zero/sharedRuntime_zero.cpp ! src/hotspot/cpu/zero/stubGenerator_zero.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVM.hpp ! src/hotspot/share/jvmci/jvmciCompilerToVMInit.cpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/runtime/init.cpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/hotspot/share/runtime/sharedRuntime.hpp ! src/hotspot/share/runtime/stubRoutines.cpp ! src/hotspot/share/runtime/stubRoutines.hpp Changeset: 6d430f24 Branch: fibers Author: Aleksey Shipilev Date: 2024-08-19 09:08:54 +0000 URL: https://git.openjdk.org/loom/commit/6d430f24df9d599fe1e12c6b65117c02773ae5d8 8338314: JFR: Split JFRCheckpoint VM operation Reviewed-by: mgronlun, egahlin ! src/hotspot/share/jfr/recorder/service/jfrRecorderService.cpp ! src/hotspot/share/jfr/recorder/service/jfrRecorderService.hpp ! src/hotspot/share/runtime/vmOperation.hpp Changeset: e07a5b66 Branch: fibers Author: Erik Gahlin Date: 2024-08-19 10:42:58 +0000 URL: https://git.openjdk.org/loom/commit/e07a5b66267156f55ee1c28579382990e58f15eb 8338512: JFR: Revert changes to TestCodeSweeper Reviewed-by: mgronlun ! test/jdk/ProblemList.txt ! test/jdk/jdk/jfr/event/compiler/TestCodeSweeper.java Changeset: 6ff6b099 Branch: fibers Author: Renjith Kannath Pariyangad Date: 2024-08-19 12:40:35 +0000 URL: https://git.openjdk.org/loom/commit/6ff6b0994380276e0096f7b55a0d659803344679 8290501: Typo in javax.swing.BoundedRangeModel documentation Reviewed-by: aivanov, prr, honkar ! src/java.desktop/share/classes/javax/swing/BoundedRangeModel.java Changeset: f0fe3138 Branch: fibers Author: Adam Sotona Date: 2024-08-19 12:57:17 +0000 URL: https://git.openjdk.org/loom/commit/f0fe31383aec652ad4e3cc4873cd3ff9b918fef7 8338564: Remove obsolete AbstractNamedEntry::equals method Reviewed-by: liach ! src/java.base/share/classes/jdk/internal/classfile/impl/AbstractPoolEntry.java Changeset: 2766b09e Branch: fibers Author: Alan Bateman Committer: Jaikiran Pai Date: 2024-08-19 12:57:29 +0000 URL: https://git.openjdk.org/loom/commit/2766b09e29d7c1c31fdef20f016a181eedb2d429 8338452: (dc) DatagramChannelImpl.blockingReceive with timeout may block indefinitely if all datagrams blocked by SecurityManager Reviewed-by: dfuchs ! src/java.base/share/classes/sun/nio/ch/DatagramChannelImpl.java Changeset: 3ca359ad Branch: fibers Author: Daniel Fuchs Date: 2024-08-19 13:47:40 +0000 URL: https://git.openjdk.org/loom/commit/3ca359ad224b07f283c99eb43bed02eb93ef2dc7 8335771: Improve stability of java/nio/channels/DatagramChannel tests Reviewed-by: alanb ! test/jdk/java/nio/channels/DatagramChannel/AdaptorMulticasting.java ! test/jdk/java/nio/channels/DatagramChannel/AfterDisconnect.java ! test/jdk/java/nio/channels/DatagramChannel/Connect.java ! test/jdk/java/nio/channels/DatagramChannel/ManySourcesAndTargets.java ! test/jdk/java/nio/channels/DatagramChannel/MulticastSendReceiveTests.java ! test/jdk/java/nio/channels/DatagramChannel/NotBound.java ! test/jdk/java/nio/channels/DatagramChannel/Promiscuous.java ! test/jdk/java/nio/channels/DatagramChannel/ReceiveISA.java ! test/jdk/java/nio/channels/DatagramChannel/SelectWhenRefused.java ! test/jdk/java/nio/channels/DatagramChannel/SendReceiveMaxSize.java ! test/jdk/java/nio/channels/DatagramChannel/Sender.java Changeset: ea95d95b Branch: fibers Author: Patricio Chilano Mateo Date: 2024-08-19 17:52:43 +0000 URL: https://git.openjdk.org/loom/commit/ea95d95b481197fe07b4ebfbb981bf574995353a Merge branch 'master' into fibers ! src/hotspot/cpu/aarch64/c1_MacroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/c2_MacroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/interp_masm_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp ! src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp ! src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp ! src/hotspot/cpu/arm/sharedRuntime_arm.cpp ! src/hotspot/cpu/arm/templateInterpreterGenerator_arm.cpp ! src/hotspot/cpu/ppc/macroAssembler_ppc.cpp ! src/hotspot/cpu/ppc/sharedRuntime_ppc.cpp ! src/hotspot/cpu/ppc/templateInterpreterGenerator_ppc.cpp ! src/hotspot/cpu/riscv/c2_MacroAssembler_riscv.cpp ! src/hotspot/cpu/riscv/sharedRuntime_riscv.cpp ! src/hotspot/cpu/riscv/templateInterpreterGenerator_riscv.cpp ! src/hotspot/cpu/s390/macroAssembler_s390.cpp ! src/hotspot/cpu/s390/sharedRuntime_s390.cpp ! src/hotspot/cpu/s390/templateInterpreterGenerator_s390.cpp ! src/hotspot/cpu/x86/c1_MacroAssembler_x86.cpp ! src/hotspot/cpu/x86/c2_CodeStubs_x86.cpp ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp ! src/hotspot/cpu/x86/interp_masm_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.hpp ! src/hotspot/cpu/x86/templateInterpreterGenerator_x86.cpp ! src/hotspot/share/interpreter/interpreterRuntime.cpp ! src/hotspot/share/interpreter/interpreterRuntime.hpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/opto/c2_CodeStubs.hpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/prims/jvmtiEnvBase.cpp ! src/hotspot/share/runtime/basicLock.hpp ! src/hotspot/share/runtime/deoptimization.cpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/javaThread.cpp ! src/hotspot/share/runtime/javaThread.hpp ! src/hotspot/share/runtime/javaThread.inline.hpp + src/hotspot/share/runtime/lightweightSynchronizer.cpp ! src/hotspot/share/runtime/lockStack.hpp ! src/hotspot/share/runtime/lockStack.inline.hpp ! src/hotspot/share/runtime/objectMonitor.cpp ! src/hotspot/share/runtime/objectMonitor.hpp ! src/hotspot/share/runtime/objectMonitor.inline.hpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/hotspot/share/runtime/sharedRuntime.hpp ! src/hotspot/share/runtime/stubRoutines.cpp ! src/hotspot/share/runtime/stubRoutines.hpp ! src/hotspot/share/runtime/synchronizer.cpp ! src/hotspot/share/runtime/synchronizer.hpp ! src/hotspot/share/runtime/vframe.cpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/java.base/share/classes/java/lang/System.java ! src/java.base/share/classes/java/lang/invoke/StringConcatFactory.java ! src/java.base/share/classes/jdk/internal/access/JavaLangAccess.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/ObjectMonitor.java ! src/hotspot/cpu/aarch64/c1_MacroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/c2_MacroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/interp_masm_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp ! src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp ! src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp ! src/hotspot/cpu/arm/sharedRuntime_arm.cpp ! src/hotspot/cpu/arm/templateInterpreterGenerator_arm.cpp ! src/hotspot/cpu/ppc/macroAssembler_ppc.cpp ! src/hotspot/cpu/ppc/sharedRuntime_ppc.cpp ! src/hotspot/cpu/ppc/templateInterpreterGenerator_ppc.cpp ! src/hotspot/cpu/riscv/c2_MacroAssembler_riscv.cpp ! src/hotspot/cpu/riscv/sharedRuntime_riscv.cpp ! src/hotspot/cpu/riscv/templateInterpreterGenerator_riscv.cpp ! src/hotspot/cpu/s390/macroAssembler_s390.cpp ! src/hotspot/cpu/s390/sharedRuntime_s390.cpp ! src/hotspot/cpu/s390/templateInterpreterGenerator_s390.cpp ! src/hotspot/cpu/x86/c1_MacroAssembler_x86.cpp ! src/hotspot/cpu/x86/c2_CodeStubs_x86.cpp ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp ! src/hotspot/cpu/x86/interp_masm_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.hpp ! src/hotspot/cpu/x86/templateInterpreterGenerator_x86.cpp ! src/hotspot/share/interpreter/interpreterRuntime.cpp ! src/hotspot/share/interpreter/interpreterRuntime.hpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/opto/c2_CodeStubs.hpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/prims/jvmtiEnvBase.cpp ! src/hotspot/share/runtime/basicLock.hpp ! src/hotspot/share/runtime/deoptimization.cpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/javaThread.cpp ! src/hotspot/share/runtime/javaThread.hpp ! src/hotspot/share/runtime/javaThread.inline.hpp ! src/hotspot/share/runtime/lightweightSynchronizer.cpp ! src/hotspot/share/runtime/lockStack.hpp ! src/hotspot/share/runtime/lockStack.inline.hpp ! src/hotspot/share/runtime/objectMonitor.cpp ! src/hotspot/share/runtime/objectMonitor.hpp ! src/hotspot/share/runtime/objectMonitor.inline.hpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/hotspot/share/runtime/sharedRuntime.hpp ! src/hotspot/share/runtime/stubRoutines.cpp ! src/hotspot/share/runtime/stubRoutines.hpp ! src/hotspot/share/runtime/synchronizer.cpp ! src/hotspot/share/runtime/synchronizer.hpp ! src/hotspot/share/runtime/vframe.cpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/java.base/share/classes/java/lang/System.java ! src/java.base/share/classes/java/lang/invoke/StringConcatFactory.java ! src/java.base/share/classes/jdk/internal/access/JavaLangAccess.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/ObjectMonitor.java Changeset: e1f3c6ec Branch: fibers Author: Patricio Chilano Mateo Date: 2024-08-20 17:18:40 +0000 URL: https://git.openjdk.org/loom/commit/e1f3c6ec4e1e104cf8b345dbda1abbf2f0f793d7 Merge remote fibers From Rick.Hendricksen at vanderlande.com Wed Aug 21 08:13:59 2024 From: Rick.Hendricksen at vanderlande.com (Rick Hendricksen) Date: Wed, 21 Aug 2024 08:13:59 +0000 Subject: java.lang.ThreadBuilders and java.lang.ThreadBuilders.newVirtualThread() are not public In-Reply-To: <46dc5665-f950-45da-8f87-71a5867b969b@oracle.com> References: <46dc5665-f950-45da-8f87-71a5867b969b@oracle.com> Message-ID: Hi Alan, Thanks for taking the time to help us with this issue. We see three problems with using the default scheduler with maxPoolSize: * Other virtual threads which are not directly related to the simulation would slow down the simulation * Running multiple simulations in parallel would not be possible * We need full control over which thread runs, and how to treat yield. If the thread is yielding because of a simulation-related blocking operation, we want to run the next thread. If it?s yielding due to IO, we don?t want to switch to another thread. If IO wait would result in a yield, that would be unpredictable, and would affect the result of our simulation. It would be very helpful for us if custom schedulers would be exposed. Could you tell us more about the explorations you mentioned? And is it an option to take our use case into account there? Best regards, Rick Hendricksen From: Alan Bateman Sent: Tuesday, 20 August 2024 17:45 To: Rick Hendricksen ; loom-dev at openjdk.org Cc: Dennis van den Berg Subject: Re: java.lang.ThreadBuilders and java.lang.ThreadBuilders.newVirtualThread() are not public Be aware: This email was created outside of Vanderlande. Be cautious of its contents and do not click any links or attachments unless you recognise the sender and know the content is safe. On 20/08/2024 16:32, Rick Hendricksen wrote: Hi, We have implemented a Discrete Event Simulator, and we want to use virtual threads to write our business logic (that uses the DES) in a more readable way. This business logic has a lot of blocking operations, so it seems to be a good fit for virtual threads. However, we must ensure that all those virtual threads run on the same carrier thread, because the simulation has to be deterministic. We also often run multiple separate simulations in parallel, so it?s important that virtual threads end up on the right scheduler. This means we need to use our own scheduler. Can the simulation be run with a single carrier thread (-Djdk.virtualThreadScheduler.maxPoolSize=1) ? There are a number of explorations into using custom schedulers but impossible to say at this point if anything will be exposed. -Alan ________________________________ ** Disclaimer ** This e-mail, including any attachments, may include proprietary and confidential information of Vanderlande and may only be read by the person or those persons to whom it is addressed. This document is forwarded to you in such a form (e-mail) that Vanderlande cannot guarantee the completeness and/or correctness of its contents and information. If you have received this e-mail message in error, please notify us immediately. Please also delete this document from your computer. This document may not be reproduced, copied, distributed, published, modified, or furnished to third parties, without the prior written consent of Vanderlande. -------------- next part -------------- An HTML attachment was scrubbed... URL: From alan.bateman at oracle.com Wed Aug 21 09:16:58 2024 From: alan.bateman at oracle.com (Alan Bateman) Date: Wed, 21 Aug 2024 10:16:58 +0100 Subject: java.lang.ThreadBuilders and java.lang.ThreadBuilders.newVirtualThread() are not public In-Reply-To: References: <46dc5665-f950-45da-8f87-71a5867b969b@oracle.com> Message-ID: <32867f5e-9061-49e6-9fa8-990a3816344c@oracle.com> On 21/08/2024 09:13, Rick Hendricksen wrote: > > Hi Alan, > > Thanks for taking the time to help us with this issue. > > We see three problems with using the default scheduler with maxPoolSize: > > * Other virtual threads which are not directly related to the > simulation would slow down the simulation > * Running multiple simulations in parallel would not be possible > In that case, parallelism means several VMs, each running with maxPoolSize=1, rather than running several simulations in the same VM at the same time. > > * We need full control over which thread runs, and how to treat > yield. If the thread is yielding because of a simulation-related > blocking operation, we want to run the next thread. If it?s > yielding due to IO, we don?t want to switch to another thread. If > IO wait would result in a yield, that would be unpredictable, and > would affect the result of our simulation. > > It would be very helpful for us if custom schedulers would be exposed. > Could you tell us more about the explorations you mentioned? And is it > an option to take our use case into account there? > > There are two explorations at this time. One is allowing the scheduler be selected at virtual Thread create time, like the prototype API on the builder that was in EA builds for a long time but didn't get any feedback. One of the use-cases for this is servers that want to use their own event loop thread as a carrier to avoid hand-off. The other exploration is exposing a way to replace the system-wide scheduler for servers that want to manage their own thread pool rather than use a work stealing scheduler. We talked about this a bit at JVMLS 2024, I think the recordings will be posted soon. Note that the problem space and the possible interface for custom schedulers is larger than might initially seem. You touched on exposing the "reason" for preemption and that is one of several things that a scheduler may need to be notified of. One thing that would be useful to know from your experiments is how you distinguish between your "simulation-related blocking operation" and the dozens of other possible cases where a thread may be preempted. In any case, the summary on this topic is that it is being explored again but proceeding with great caution. -Alan -------------- next part -------------- An HTML attachment was scrubbed... URL: From Rick.Hendricksen at vanderlande.com Wed Aug 21 10:04:58 2024 From: Rick.Hendricksen at vanderlande.com (Rick Hendricksen) Date: Wed, 21 Aug 2024 10:04:58 +0000 Subject: java.lang.ThreadBuilders and java.lang.ThreadBuilders.newVirtualThread() are not public In-Reply-To: <32867f5e-9061-49e6-9fa8-990a3816344c@oracle.com> References: <46dc5665-f950-45da-8f87-71a5867b969b@oracle.com> <32867f5e-9061-49e6-9fa8-990a3816344c@oracle.com> Message-ID: Hi Alan, The way we identify simulation related blocking operations is by setting a variable right before parking the thread. The scheduler then checks if that variable is null or not, and if null it was not a simulation related blocking operation and we wait until we get a simulation related blocking operation. We can get away with this because we know we are running on a single thread. We agree that if the API would have a way to communicate the reason for parking the thread, that would be preferable to setting a variable before parking. Best regards, / Met vriendelijke groet, Rick Hendricksen Specialist Software Engineering From: Alan Bateman Sent: Wednesday, 21 August 2024 11:17 To: Rick Hendricksen ; loom-dev at openjdk.org Cc: Dennis van den Berg Subject: Re: java.lang.ThreadBuilders and java.lang.ThreadBuilders.newVirtualThread() are not public Be aware: This email was created outside of Vanderlande. Be cautious of its contents and do not click any links or attachments unless you recognise the sender and know the content is safe. On 21/08/2024 09:13, Rick Hendricksen wrote: Hi Alan, Thanks for taking the time to help us with this issue. We see three problems with using the default scheduler with maxPoolSize: 1. Other virtual threads which are not directly related to the simulation would slow down the simulation 2. Running multiple simulations in parallel would not be possible In that case, parallelism means several VMs, each running with maxPoolSize=1, rather than running several simulations in the same VM at the same time. 1. We need full control over which thread runs, and how to treat yield. If the thread is yielding because of a simulation-related blocking operation, we want to run the next thread. If it?s yielding due to IO, we don?t want to switch to another thread. If IO wait would result in a yield, that would be unpredictable, and would affect the result of our simulation. It would be very helpful for us if custom schedulers would be exposed. Could you tell us more about the explorations you mentioned? And is it an option to take our use case into account there? There are two explorations at this time. One is allowing the scheduler be selected at virtual Thread create time, like the prototype API on the builder that was in EA builds for a long time but didn't get any feedback. One of the use-cases for this is servers that want to use their own event loop thread as a carrier to avoid hand-off. The other exploration is exposing a way to replace the system-wide scheduler for servers that want to manage their own thread pool rather than use a work stealing scheduler. We talked about this a bit at JVMLS 2024, I think the recordings will be posted soon. Note that the problem space and the possible interface for custom schedulers is larger than might initially seem. You touched on exposing the "reason" for preemption and that is one of several things that a scheduler may need to be notified of. One thing that would be useful to know from your experiments is how you distinguish between your "simulation-related blocking operation" and the dozens of other possible cases where a thread may be preempted. In any case, the summary on this topic is that it is being explored again but proceeding with great caution. -Alan ________________________________ ** Disclaimer ** This e-mail, including any attachments, may include proprietary and confidential information of Vanderlande and may only be read by the person or those persons to whom it is addressed. This document is forwarded to you in such a form (e-mail) that Vanderlande cannot guarantee the completeness and/or correctness of its contents and information. If you have received this e-mail message in error, please notify us immediately. Please also delete this document from your computer. This document may not be reproduced, copied, distributed, published, modified, or furnished to third parties, without the prior written consent of Vanderlande. -------------- next part -------------- An HTML attachment was scrubbed... URL: From robaho at icloud.com Wed Aug 21 11:35:40 2024 From: robaho at icloud.com (robert engels) Date: Wed, 21 Aug 2024 06:35:40 -0500 Subject: java.lang.ThreadBuilders and java.lang.ThreadBuilders.newVirtualThread() are not public In-Reply-To: References: Message-ID: If you?re doing this, instead of setting a variable - why not use a semaphore per logical cpu then you can run as many simulations in parallel across as many logical cpus as desired. > On Aug 21, 2024, at 6:20?AM, Rick Hendricksen wrote: > > ? > Hi Alan, > > The way we identify simulation related blocking operations is by setting a variable right before parking the thread. The scheduler then checks if that variable is null or not, and if null it was not a simulation related blocking operation and we wait until we get a simulation related blocking operation. We can get away with this because we know we are running on a single thread. > > We agree that if the API would have a way to communicate the reason for parking the thread, that would be preferable to setting a variable before parking. > > > Best regards, / Met vriendelijke groet, > > Rick Hendricksen > Specialist Software Engineering > > From: Alan Bateman > Sent: Wednesday, 21 August 2024 11:17 > To: Rick Hendricksen ; loom-dev at openjdk.org > Cc: Dennis van den Berg > Subject: Re: java.lang.ThreadBuilders and java.lang.ThreadBuilders.newVirtualThread() are not public > > Be aware: This email was created outside of Vanderlande. Be cautious of its contents and do not click any links or attachments unless you recognise the sender and know the content is safe. > > > > On 21/08/2024 09:13, Rick Hendricksen wrote: > Hi Alan, > > Thanks for taking the time to help us with this issue. > > We see three problems with using the default scheduler with maxPoolSize: > Other virtual threads which are not directly related to the simulation would slow down the simulation > Running multiple simulations in parallel would not be possible > In that case, parallelism means several VMs, each running with maxPoolSize=1, rather than running several simulations in the same VM at the same time. > > > > > We need full control over which thread runs, and how to treat yield. If the thread is yielding because of a simulation-related blocking operation, we want to run the next thread. If it?s yielding due to IO, we don?t want to switch to another thread. If IO wait would result in a yield, that would be unpredictable, and would affect the result of our simulation. > > It would be very helpful for us if custom schedulers would be exposed. Could you tell us more about the explorations you mentioned? And is it an option to take our use case into account there? > > There are two explorations at this time. One is allowing the scheduler be selected at virtual Thread create time, like the prototype API on the builder that was in EA builds for a long time but didn't get any feedback. One of the use-cases for this is servers that want to use their own event loop thread as a carrier to avoid hand-off. The other exploration is exposing a way to replace the system-wide scheduler for servers that want to manage their own thread pool rather than use a work stealing scheduler. We talked about this a bit at JVMLS 2024, I think the recordings will be posted soon. > > Note that the problem space and the possible interface for custom schedulers is larger than might initially seem. You touched on exposing the "reason" for preemption and that is one of several things that a scheduler may need to be notified of. One thing that would be useful to know from your experiments is how you distinguish between your "simulation-related blocking operation" and the dozens of other possible cases where a thread may be preempted. > > In any case, the summary on this topic is that it is being explored again but proceeding with great caution. > > -Alan > ** Disclaimer ** > > This e-mail, including any attachments, may include proprietary and confidential information of Vanderlande and may only be read by the person or those persons to whom it is addressed. > This document is forwarded to you in such a form (e-mail) that Vanderlande cannot guarantee the completeness and/or correctness of its contents and information. > If you have received this e-mail message in error, please notify us immediately. > Please also delete this document from your computer. > This document may not be reproduced, copied, distributed, published, modified, or furnished to third parties, without the prior written consent of Vanderlande. -------------- next part -------------- An HTML attachment was scrubbed... URL: From robaho at icloud.com Wed Aug 21 11:41:40 2024 From: robaho at icloud.com (robert engels) Date: Wed, 21 Aug 2024 06:41:40 -0500 Subject: java.lang.ThreadBuilders and java.lang.ThreadBuilders.newVirtualThread() are not public In-Reply-To: References: Message-ID: <660C3F93-9FFA-46D7-9D23-547DCDAA4C58@icloud.com> To clarify, if you are guarding every possible blocking operation, you can easily implement your own continuations/scheduler with locks - you don?t need virtual threads. > On Aug 21, 2024, at 6:36?AM, robert engels wrote: > > ? > If you?re doing this, instead of setting a variable - why not use a semaphore per logical cpu then you can run as many simulations in parallel across as many logical cpus as desired. > >>> On Aug 21, 2024, at 6:20?AM, Rick Hendricksen wrote: >>> >> ? >> Hi Alan, >> >> The way we identify simulation related blocking operations is by setting a variable right before parking the thread. The scheduler then checks if that variable is null or not, and if null it was not a simulation related blocking operation and we wait until we get a simulation related blocking operation. We can get away with this because we know we are running on a single thread. >> >> We agree that if the API would have a way to communicate the reason for parking the thread, that would be preferable to setting a variable before parking. >> >> >> Best regards, / Met vriendelijke groet, >> >> Rick Hendricksen >> Specialist Software Engineering >> >> From: Alan Bateman >> Sent: Wednesday, 21 August 2024 11:17 >> To: Rick Hendricksen ; loom-dev at openjdk.org >> Cc: Dennis van den Berg >> Subject: Re: java.lang.ThreadBuilders and java.lang.ThreadBuilders.newVirtualThread() are not public >> >> Be aware: This email was created outside of Vanderlande. Be cautious of its contents and do not click any links or attachments unless you recognise the sender and know the content is safe. >> >> >> >> On 21/08/2024 09:13, Rick Hendricksen wrote: >> Hi Alan, >> >> Thanks for taking the time to help us with this issue. >> >> We see three problems with using the default scheduler with maxPoolSize: >> Other virtual threads which are not directly related to the simulation would slow down the simulation >> Running multiple simulations in parallel would not be possible >> In that case, parallelism means several VMs, each running with maxPoolSize=1, rather than running several simulations in the same VM at the same time. >> >> >> >> >> We need full control over which thread runs, and how to treat yield. If the thread is yielding because of a simulation-related blocking operation, we want to run the next thread. If it?s yielding due to IO, we don?t want to switch to another thread. If IO wait would result in a yield, that would be unpredictable, and would affect the result of our simulation. >> >> It would be very helpful for us if custom schedulers would be exposed. Could you tell us more about the explorations you mentioned? And is it an option to take our use case into account there? >> >> There are two explorations at this time. One is allowing the scheduler be selected at virtual Thread create time, like the prototype API on the builder that was in EA builds for a long time but didn't get any feedback. One of the use-cases for this is servers that want to use their own event loop thread as a carrier to avoid hand-off. The other exploration is exposing a way to replace the system-wide scheduler for servers that want to manage their own thread pool rather than use a work stealing scheduler. We talked about this a bit at JVMLS 2024, I think the recordings will be posted soon. >> >> Note that the problem space and the possible interface for custom schedulers is larger than might initially seem. You touched on exposing the "reason" for preemption and that is one of several things that a scheduler may need to be notified of. One thing that would be useful to know from your experiments is how you distinguish between your "simulation-related blocking operation" and the dozens of other possible cases where a thread may be preempted. >> >> In any case, the summary on this topic is that it is being explored again but proceeding with great caution. >> >> -Alan >> ** Disclaimer ** >> >> This e-mail, including any attachments, may include proprietary and confidential information of Vanderlande and may only be read by the person or those persons to whom it is addressed. >> This document is forwarded to you in such a form (e-mail) that Vanderlande cannot guarantee the completeness and/or correctness of its contents and information. >> If you have received this e-mail message in error, please notify us immediately. >> Please also delete this document from your computer. >> This document may not be reproduced, copied, distributed, published, modified, or furnished to third parties, without the prior written consent of Vanderlande. -------------- next part -------------- An HTML attachment was scrubbed... URL: From alan.bateman at oracle.com Wed Aug 21 12:39:52 2024 From: alan.bateman at oracle.com (Alan Bateman) Date: Wed, 21 Aug 2024 13:39:52 +0100 Subject: java.lang.ThreadBuilders and java.lang.ThreadBuilders.newVirtualThread() are not public In-Reply-To: References: <46dc5665-f950-45da-8f87-71a5867b969b@oracle.com> <32867f5e-9061-49e6-9fa8-990a3816344c@oracle.com> Message-ID: On 21/08/2024 11:04, Rick Hendricksen wrote: > > Hi Alan, > > The way we identify simulation related blocking operations is by > setting a variable right before parking the thread. The scheduler then > checks if that variable is null or not, and if null it was not a > simulation related blocking operation and we wait until we get a > simulation related blocking operation. We can get away with this > because we know we are running on a single thread. > > Is this LockSupport.park or blocking on something else? I'm wondering if the park blocker is set as that is something we've been mulling over whether to expose to the scheduler. -Alan -------------- next part -------------- An HTML attachment was scrubbed... URL: From Rick.Hendricksen at vanderlande.com Wed Aug 21 13:54:15 2024 From: Rick.Hendricksen at vanderlande.com (Rick Hendricksen) Date: Wed, 21 Aug 2024 13:54:15 +0000 Subject: java.lang.ThreadBuilders and java.lang.ThreadBuilders.newVirtualThread() are not public In-Reply-To: <660C3F93-9FFA-46D7-9D23-547DCDAA4C58@icloud.com> References: <660C3F93-9FFA-46D7-9D23-547DCDAA4C58@icloud.com> Message-ID: Hi Robert, You mean using normal threads? We tried that years ago, and performance was awful. Best regards, / Met vriendelijke groet, Rick Hendricksen Specialist Software Engineering From: robert engels Sent: Wednesday, 21 August 2024 13:42 To: Rick Hendricksen Cc: Alan Bateman ; loom-dev at openjdk.org; Dennis van den Berg Subject: Re: java.lang.ThreadBuilders and java.lang.ThreadBuilders.newVirtualThread() are not public To clarify, if you are guarding every possible blocking operation, you can easily implement your own continuations/scheduler with locks - you don?t need virtual threads. On Aug 21, 2024, at 6:36?AM, robert engels > wrote: ? If you?re doing this, instead of setting a variable - why not use a semaphore per logical cpu then you can run as many simulations in parallel across as many logical cpus as desired. On Aug 21, 2024, at 6:20?AM, Rick Hendricksen > wrote: ? Hi Alan, The way we identify simulation related blocking operations is by setting a variable right before parking the thread. The scheduler then checks if that variable is null or not, and if null it was not a simulation related blocking operation and we wait until we get a simulation related blocking operation. We can get away with this because we know we are running on a single thread. We agree that if the API would have a way to communicate the reason for parking the thread, that would be preferable to setting a variable before parking. Best regards, / Met vriendelijke groet, Rick Hendricksen Specialist Software Engineering From: Alan Bateman > Sent: Wednesday, 21 August 2024 11:17 To: Rick Hendricksen >; loom-dev at openjdk.org Cc: Dennis van den Berg > Subject: Re: java.lang.ThreadBuilders and java.lang.ThreadBuilders.newVirtualThread() are not public Be aware: This email was created outside of Vanderlande. Be cautious of its contents and do not click any links or attachments unless you recognise the sender and know the content is safe. On 21/08/2024 09:13, Rick Hendricksen wrote: Hi Alan, Thanks for taking the time to help us with this issue. We see three problems with using the default scheduler with maxPoolSize: 1. Other virtual threads which are not directly related to the simulation would slow down the simulation 2. Running multiple simulations in parallel would not be possible In that case, parallelism means several VMs, each running with maxPoolSize=1, rather than running several simulations in the same VM at the same time. 1. We need full control over which thread runs, and how to treat yield. If the thread is yielding because of a simulation-related blocking operation, we want to run the next thread. If it?s yielding due to IO, we don?t want to switch to another thread. If IO wait would result in a yield, that would be unpredictable, and would affect the result of our simulation. It would be very helpful for us if custom schedulers would be exposed. Could you tell us more about the explorations you mentioned? And is it an option to take our use case into account there? There are two explorations at this time. One is allowing the scheduler be selected at virtual Thread create time, like the prototype API on the builder that was in EA builds for a long time but didn't get any feedback. One of the use-cases for this is servers that want to use their own event loop thread as a carrier to avoid hand-off. The other exploration is exposing a way to replace the system-wide scheduler for servers that want to manage their own thread pool rather than use a work stealing scheduler. We talked about this a bit at JVMLS 2024, I think the recordings will be posted soon. Note that the problem space and the possible interface for custom schedulers is larger than might initially seem. You touched on exposing the "reason" for preemption and that is one of several things that a scheduler may need to be notified of. One thing that would be useful to know from your experiments is how you distinguish between your "simulation-related blocking operation" and the dozens of other possible cases where a thread may be preempted. In any case, the summary on this topic is that it is being explored again but proceeding with great caution. -Alan ________________________________ ** Disclaimer ** This e-mail, including any attachments, may include proprietary and confidential information of Vanderlande and may only be read by the person or those persons to whom it is addressed. This document is forwarded to you in such a form (e-mail) that Vanderlande cannot guarantee the completeness and/or correctness of its contents and information. If you have received this e-mail message in error, please notify us immediately. Please also delete this document from your computer. This document may not be reproduced, copied, distributed, published, modified, or furnished to third parties, without the prior written consent of Vanderlande. -------------- next part -------------- An HTML attachment was scrubbed... URL: From Rick.Hendricksen at vanderlande.com Wed Aug 21 14:31:43 2024 From: Rick.Hendricksen at vanderlande.com (Rick Hendricksen) Date: Wed, 21 Aug 2024 14:31:43 +0000 Subject: java.lang.ThreadBuilders and java.lang.ThreadBuilders.newVirtualThread() are not public In-Reply-To: References: <46dc5665-f950-45da-8f87-71a5867b969b@oracle.com> <32867f5e-9061-49e6-9fa8-990a3816344c@oracle.com> Message-ID: Yeah, LockSupport.park(). But that?s used by other things in the JVM too, right? - Rick From: Alan Bateman Sent: Wednesday, 21 August 2024 14:40 To: Rick Hendricksen ; loom-dev at openjdk.org Cc: Dennis van den Berg Subject: Re: java.lang.ThreadBuilders and java.lang.ThreadBuilders.newVirtualThread() are not public Be aware: This email was created outside of Vanderlande. Be cautious of its contents and do not click any links or attachments unless you recognise the sender and know the content is safe. On 21/08/2024 11:04, Rick Hendricksen wrote: Hi Alan, The way we identify simulation related blocking operations is by setting a variable right before parking the thread. The scheduler then checks if that variable is null or not, and if null it was not a simulation related blocking operation and we wait until we get a simulation related blocking operation. We can get away with this because we know we are running on a single thread. Is this LockSupport.park or blocking on something else? I'm wondering if the park blocker is set as that is something we've been mulling over whether to expose to the scheduler. -Alan ________________________________ ** Disclaimer ** This e-mail, including any attachments, may include proprietary and confidential information of Vanderlande and may only be read by the person or those persons to whom it is addressed. This document is forwarded to you in such a form (e-mail) that Vanderlande cannot guarantee the completeness and/or correctness of its contents and information. If you have received this e-mail message in error, please notify us immediately. Please also delete this document from your computer. This document may not be reproduced, copied, distributed, published, modified, or furnished to third parties, without the prior written consent of Vanderlande. -------------- next part -------------- An HTML attachment was scrubbed... URL: From robaho at icloud.com Wed Aug 21 14:34:03 2024 From: robaho at icloud.com (Robert Engels) Date: Wed, 21 Aug 2024 09:34:03 -0500 Subject: java.lang.ThreadBuilders and java.lang.ThreadBuilders.newVirtualThread() are not public In-Reply-To: References: <660C3F93-9FFA-46D7-9D23-547DCDAA4C58@icloud.com> Message-ID: <65A41AD6-4098-443B-90E4-9C1A45EC5BF7@icloud.com> It doesn?t have to be with platform threads you could use virtual threads - its more the concept of using locks to simulate a cpu (and its scheduling) - i.e. all virtual tasks sharing a lock can essentially serialize their execution. E.g. ? with cpuLock? acquire ioLock (per cpuLock) release cpuLock // allows other tasks to run on this cpu, but not perform IO perform IO acquire cpuLock // wait for other tasks to get to yield point release ioLock end or similar - I?m sure you get the idea of how you can use locks to order the events. If all of the lock contention is VT thread based it can be very efficient. > On Aug 21, 2024, at 8:54 AM, Rick Hendricksen wrote: > > Hi Robert, > > You mean using normal threads? We tried that years ago, and performance was awful. > > > Best regards, / Met vriendelijke groet, > > Rick Hendricksen > Specialist Software Engineering > > From: robert engels > Sent: Wednesday, 21 August 2024 13:42 > To: Rick Hendricksen > Cc: Alan Bateman ; loom-dev at openjdk.org; Dennis van den Berg > Subject: Re: java.lang.ThreadBuilders and java.lang.ThreadBuilders.newVirtualThread() are not public > > To clarify, if you are guarding every possible blocking operation, you can easily implement your own continuations/scheduler with locks - you don?t need virtual threads. > > > On Aug 21, 2024, at 6:36?AM, robert engels > wrote: > > ? > If you?re doing this, instead of setting a variable - why not use a semaphore per logical cpu then you can run as many simulations in parallel across as many logical cpus as desired. > > > On Aug 21, 2024, at 6:20?AM, Rick Hendricksen > wrote: > > ? > Hi Alan, > > The way we identify simulation related blocking operations is by setting a variable right before parking the thread. The scheduler then checks if that variable is null or not, and if null it was not a simulation related blocking operation and we wait until we get a simulation related blocking operation. We can get away with this because we know we are running on a single thread. > > We agree that if the API would have a way to communicate the reason for parking the thread, that would be preferable to setting a variable before parking. > > > Best regards, / Met vriendelijke groet, > > Rick Hendricksen > Specialist Software Engineering > > From: Alan Bateman > > Sent: Wednesday, 21 August 2024 11:17 > To: Rick Hendricksen >; loom-dev at openjdk.org > Cc: Dennis van den Berg > > Subject: Re: java.lang.ThreadBuilders and java.lang.ThreadBuilders.newVirtualThread() are not public > > Be aware: This email was created outside of Vanderlande. Be cautious of its contents and do not clickany links or attachments unless you recognise the sender and know the content is safe. > > > > On 21/08/2024 09:13, Rick Hendricksen wrote: > Hi Alan, > > Thanks for taking the time to help us with this issue. > > We see three problems with using the default scheduler with maxPoolSize: > Other virtual threads which are not directly related to the simulation would slow down the simulation > Running multiple simulations in parallel would not be possible > In that case, parallelism means several VMs, each running with maxPoolSize=1, rather than running several simulations in the same VM at the same time. > > > > > > We need full control over which thread runs, and how to treat yield. If the thread is yielding because of a simulation-related blocking operation, we want to run the next thread. If it?s yielding due to IO, we don?t want to switch to another thread. If IO wait would result in a yield, that would be unpredictable, and would affect the result of our simulation. > > It would be very helpful for us if custom schedulers would be exposed. Could you tell us more about the explorations you mentioned? And is it an option to take our use case into account there? > > There are two explorations at this time. One is allowing the scheduler be selected at virtual Thread create time, like the prototype API on the builder that was in EA builds for a long time but didn't get any feedback. One of the use-cases for this is servers that want to use their own event loop thread as a carrier to avoid hand-off. The other exploration is exposing a way to replace the system-wide scheduler for servers that want to manage their own thread pool rather than use a work stealing scheduler. We talked about this a bit at JVMLS 2024, I think the recordings will be posted soon. > > Note that the problem space and the possible interface for custom schedulers is larger than might initially seem. You touched on exposing the "reason" for preemption and that is one of several things that a scheduler may need to be notified of. One thing that would be useful to know from your experiments is how you distinguish between your "simulation-related blocking operation" and the dozens of other possible cases where a thread may be preempted. > > In any case, the summary on this topic is that it is being explored again but proceeding with great caution. > > -Alan > ** Disclaimer ** > > This e-mail, including any attachments, may include proprietary and confidential information of Vanderlande and may only be read by the person or those persons to whom it is addressed. > This document is forwarded to you in such a form (e-mail) that Vanderlande cannot guarantee the completeness and/or correctness of its contents and information. > If you have received this e-mail message in error, please notify us immediately. > Please also delete this document from your computer. > This document may not be reproduced, copied, distributed, published, modified, or furnished to third parties, without the prior written consent of Vanderlande. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From alan.bateman at oracle.com Wed Aug 21 14:48:27 2024 From: alan.bateman at oracle.com (Alan Bateman) Date: Wed, 21 Aug 2024 15:48:27 +0100 Subject: java.lang.ThreadBuilders and java.lang.ThreadBuilders.newVirtualThread() are not public In-Reply-To: References: <46dc5665-f950-45da-8f87-71a5867b969b@oracle.com> <32867f5e-9061-49e6-9fa8-990a3816344c@oracle.com> Message-ID: <249990ee-1af9-41a1-8d79-5e2307ebead4@oracle.com> On 21/08/2024 15:31, Rick Hendricksen wrote: > > Yeah, LockSupport.park(). But that?s used by other things in the JVM > too, right? > > The no-arg park doesn't set the park blocker, park(Object) does. I was just trying to understand which you are you using. -Alan -------------- next part -------------- An HTML attachment was scrubbed... URL: From Rick.Hendricksen at vanderlande.com Wed Aug 21 15:09:49 2024 From: Rick.Hendricksen at vanderlande.com (Rick Hendricksen) Date: Wed, 21 Aug 2024 15:09:49 +0000 Subject: java.lang.ThreadBuilders and java.lang.ThreadBuilders.newVirtualThread() are not public In-Reply-To: <249990ee-1af9-41a1-8d79-5e2307ebead4@oracle.com> References: <46dc5665-f950-45da-8f87-71a5867b969b@oracle.com> <32867f5e-9061-49e6-9fa8-990a3816344c@oracle.com> <249990ee-1af9-41a1-8d79-5e2307ebead4@oracle.com> Message-ID: I wasn?t aware of that blocker object, thanks! And yes, it would be very useful if that was available to the scheduler. - Rick From: Alan Bateman Sent: Wednesday, 21 August 2024 16:48 To: Rick Hendricksen ; loom-dev at openjdk.org Cc: Dennis van den Berg Subject: Re: java.lang.ThreadBuilders and java.lang.ThreadBuilders.newVirtualThread() are not public Be aware: This email was created outside of Vanderlande. Be cautious of its contents and do not click any links or attachments unless you recognise the sender and know the content is safe. On 21/08/2024 15:31, Rick Hendricksen wrote: Yeah, LockSupport.park(). But that?s used by other things in the JVM too, right? The no-arg park doesn't set the park blocker, park(Object) does. I was just trying to understand which you are you using. -Alan ________________________________ ** Disclaimer ** This e-mail, including any attachments, may include proprietary and confidential information of Vanderlande and may only be read by the person or those persons to whom it is addressed. This document is forwarded to you in such a form (e-mail) that Vanderlande cannot guarantee the completeness and/or correctness of its contents and information. If you have received this e-mail message in error, please notify us immediately. Please also delete this document from your computer. This document may not be reproduced, copied, distributed, published, modified, or furnished to third parties, without the prior written consent of Vanderlande. -------------- next part -------------- An HTML attachment was scrubbed... URL: From duke at openjdk.org Thu Aug 22 06:32:05 2024 From: duke at openjdk.org (duke) Date: Thu, 22 Aug 2024 06:32:05 GMT Subject: git: openjdk/loom: fibers: 37 new changesets Message-ID: Changeset: 6460b300 Branch: fibers Author: Damon Nguyen Date: 2024-08-19 16:43:43 +0000 URL: https://git.openjdk.org/loom/commit/6460b300487071bcf98f5ac70d9c0a6fd6b94083 8321140: Add comment to note difference in Metal's JButton margins Reviewed-by: honkar, aivanov ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicLookAndFeel.java ! src/java.desktop/share/classes/javax/swing/plaf/metal/MetalLookAndFeel.java Changeset: c7690c34 Branch: fibers Author: Hannes Walln?fer Date: 2024-08-19 17:47:25 +0000 URL: https://git.openjdk.org/loom/commit/c7690c34c2d7bff11501188266b7be7a486c1bd0 8338190: TOC vertical offsets not updated when document size changes Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script.js.template Changeset: 55851a31 Branch: fibers Author: Hannes Walln?fer Date: 2024-08-19 18:05:37 +0000 URL: https://git.openjdk.org/loom/commit/55851a312baaea5af14c04fb1b436313fe0deac7 8281533: Odd "preview" label in link/linkplain Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlLinkFactory.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/taglets/LinkTaglet.java ! test/langtools/jdk/javadoc/doclet/testPreview/TestPreview.java ! test/langtools/jdk/javadoc/doclet/testPreview/api/preview/Core.java Changeset: 68d1f5c3 Branch: fibers Author: Chen Liang Date: 2024-08-20 05:43:04 +0000 URL: https://git.openjdk.org/loom/commit/68d1f5c33bf3f64f44f8a10c2f9e4007cfd07d2b 8338543: ClassBuilder withMethod builders should cache the method type symbol Reviewed-by: asotona ! src/java.base/share/classes/java/lang/classfile/ClassBuilder.java ! src/java.base/share/classes/jdk/internal/classfile/impl/ChainedClassBuilder.java ! src/java.base/share/classes/jdk/internal/classfile/impl/DirectClassBuilder.java Changeset: 9775d571 Branch: fibers Author: Stefan Karlsson Date: 2024-08-20 06:15:56 +0000 URL: https://git.openjdk.org/loom/commit/9775d57168695dc0d758e017fe5069d93d593f3e 8338139: {ClassLoading,Memory}MXBean::isVerbose methods are inconsistent with their setVerbose methods Co-authored-by: David Holmes Reviewed-by: lmesnik, dcubed, dholmes ! src/hotspot/share/services/classLoadingService.cpp ! src/hotspot/share/services/classLoadingService.hpp ! src/hotspot/share/services/memoryService.cpp ! src/hotspot/share/services/memoryService.hpp + test/jdk/java/lang/management/ClassLoadingMXBean/TestVerboseClassLoading.java + test/jdk/java/lang/management/MemoryMXBean/TestVerboseMemory.java Changeset: b9d49dce Branch: fibers Author: Aleksey Shipilev Date: 2024-08-20 08:40:45 +0000 URL: https://git.openjdk.org/loom/commit/b9d49dcef22ab81a087d890bbac0329a5244a2ef 8337981: ShenandoahHeap::is_in should check for alive regions Reviewed-by: rkennke, wkemper ! src/hotspot/share/gc/shenandoah/shenandoahAsserts.cpp ! src/hotspot/share/gc/shenandoah/shenandoahAsserts.hpp ! src/hotspot/share/gc/shenandoah/shenandoahCollectionSet.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahForwarding.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkBitMap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkingContext.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkingContext.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahReferenceProcessor.cpp ! src/hotspot/share/gc/shenandoah/shenandoahVerifier.cpp Changeset: 89ca5b6f Branch: fibers Author: Amit Kumar Date: 2024-08-20 09:54:20 +0000 URL: https://git.openjdk.org/loom/commit/89ca5b6fbd82f00375b4f96b2f3526078088d3f9 8338365: [PPC64, s390] Out-of-bounds array access in secondary_super_cache Reviewed-by: mdoerr, aph, rrich ! src/hotspot/cpu/ppc/macroAssembler_ppc.cpp ! src/hotspot/cpu/s390/macroAssembler_s390.cpp Changeset: 7933e45c Branch: fibers Author: Matthias Baesken Date: 2024-08-20 10:43:16 +0000 URL: https://git.openjdk.org/loom/commit/7933e45cda7e3eaeabd3b3fa81492ade8e1cc2dc 8338550: Do libubsan1 installation in test container only if requested Reviewed-by: sgehwolf ! test/lib/jdk/test/lib/containers/docker/DockerTestUtils.java ! test/lib/jdk/test/lib/containers/docker/DockerfileConfig.java Changeset: 01d03e07 Branch: fibers Author: Darragh Clarke Date: 2024-08-20 11:10:18 +0000 URL: https://git.openjdk.org/loom/commit/01d03e07c7642e148e4e17848d28686858ea37a7 8324209: Check implementation of Expect: 100-continue in the java.net.http.HttpClient Reviewed-by: dfuchs, jpai ! src/java.net.http/share/classes/jdk/internal/net/http/Exchange.java ! src/java.net.http/share/classes/jdk/internal/net/http/ExchangeImpl.java ! src/java.net.http/share/classes/jdk/internal/net/http/Stream.java ! test/jdk/java/net/httpclient/ExpectContinueTest.java Changeset: 686eb233 Branch: fibers Author: Jaikiran Pai Date: 2024-08-20 12:28:56 +0000 URL: https://git.openjdk.org/loom/commit/686eb233d59ab72e872b8dc32cb14bf74519efc5 8336817: Several methods on DatagramSocket and MulticastSocket do not specify behaviour when already closed or connected Reviewed-by: dfuchs, alanb ! src/java.base/share/classes/java/net/DatagramSocket.java ! src/java.base/share/classes/java/net/MulticastSocket.java Changeset: bc2700b7 Branch: fibers Author: George Adams Committer: Magnus Ihse Bursie Date: 2024-08-20 14:38:31 +0000 URL: https://git.openjdk.org/loom/commit/bc2700b7dc6039e2a17124a0ca32780383c4a43f 8282944: GHA: Add Alpine Linux x86_64 pre-integration check Reviewed-by: ihse ! .github/actions/config/action.yml + .github/workflows/build-alpine-linux.yml ! .github/workflows/main.yml ! make/conf/github-actions.conf Changeset: b4420030 Branch: fibers Author: Chen Liang Date: 2024-08-20 14:44:37 +0000 URL: https://git.openjdk.org/loom/commit/b442003048559fc35cafddb62885d3ba75b70838 8338623: StackCounter adding extraneous slots for receiver invoke instructions Reviewed-by: asotona ! src/java.base/share/classes/jdk/internal/classfile/impl/StackCounter.java ! test/jdk/jdk/classfile/StackMapsTest.java Changeset: 55a97ec8 Branch: fibers Author: Christian Hagedorn Date: 2024-08-20 15:47:16 +0000 URL: https://git.openjdk.org/loom/commit/55a97ec8793242c0cacbafd3a4fead25cdce2934 8336729: C2: Div/Mod nodes without zero check could be split through iv phi of outer loop of long counted loop nest resulting in SIGFPE Co-authored-by: Emanuel Peter Reviewed-by: epeter, kvn, thartmann ! src/hotspot/share/opto/loopnode.hpp ! src/hotspot/share/opto/loopopts.cpp ! test/hotspot/jtreg/compiler/splitif/TestSplitDivisionThroughPhi.java Changeset: 285ceb9e Branch: fibers Author: Vladimir Petko Date: 2024-08-20 15:51:40 +0000 URL: https://git.openjdk.org/loom/commit/285ceb9ee51e064687da6fc3fbed984e34cf02e6 8336529: (fs) UnixFileAttributeViews setTimes() failing on armhf, Ubuntu noble Reviewed-by: bpb, alanb ! src/java.base/unix/native/libnio/fs/UnixNativeDispatcher.c Changeset: c646efc3 Branch: fibers Author: Leonid Mesnik Date: 2024-08-20 18:41:15 +0000 URL: https://git.openjdk.org/loom/commit/c646efc366342564baebd2f17133e14780abcaa8 8205957: setfldw001/TestDescription.java fails with bad field value Reviewed-by: sspitsyn, dlong ! src/hotspot/share/runtime/javaCalls.cpp ! test/hotspot/jtreg/ProblemList-Xcomp.txt ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetFieldModificationWatch/setfmodw001/TestDescription.java Changeset: 0267284c Branch: fibers Author: Mark Reinhold Date: 2024-08-20 18:50:17 +0000 URL: https://git.openjdk.org/loom/commit/0267284c52a450afaec78a542910381f5bff58fb 8338611: java.lang.module specification wording not aligned with JEP 261 Reviewed-by: alanb ! src/java.base/share/classes/java/lang/module/package-info.java Changeset: 1ebf2cf6 Branch: fibers Author: Chen Liang Date: 2024-08-20 19:02:38 +0000 URL: https://git.openjdk.org/loom/commit/1ebf2cf639300728ffc024784f5dc1704317b0b3 8336756: Improve ClassFile Annotation writing Reviewed-by: asotona ! src/java.base/share/classes/java/lang/classfile/AnnotationValue.java ! src/java.base/share/classes/jdk/internal/classfile/impl/AnnotationImpl.java ! src/java.base/share/classes/jdk/internal/classfile/impl/AnnotationReader.java Changeset: d7281079 Branch: fibers Author: Chris Plummer Date: 2024-08-20 23:34:31 +0000 URL: https://git.openjdk.org/loom/commit/d72810794bf70f82e46f7220698e4d27d5973d5b 8338482: com/sun/jdi/ThreadMemoryLeakTest.java requires that compressed oops are enabled Reviewed-by: amenkov, kevinw ! test/jdk/com/sun/jdi/ThreadMemoryLeakTest.java Changeset: 88ccbb60 Branch: fibers Author: Chen Liang Date: 2024-08-21 01:05:41 +0000 URL: https://git.openjdk.org/loom/commit/88ccbb60919e4523064b0da17184eedcd9efa087 8336934: Clean up JavaLangReflectAccess Reviewed-by: rriggs, darcy ! src/java.base/share/classes/java/lang/reflect/Constructor.java ! src/java.base/share/classes/java/lang/reflect/Method.java ! src/java.base/share/classes/java/lang/reflect/ReflectAccess.java ! src/java.base/share/classes/jdk/internal/access/JavaLangReflectAccess.java ! src/java.base/share/classes/jdk/internal/access/SharedSecrets.java ! src/java.base/share/classes/jdk/internal/reflect/ReflectionFactory.java Changeset: cafb3dc4 Branch: fibers Author: Prasanta Sadhukhan Date: 2024-08-21 07:04:05 +0000 URL: https://git.openjdk.org/loom/commit/cafb3dc49157daf12c1a0e5d78acca8188c56918 6318027: BasicScrollBarUI does not disable timer when enclosing frame is disabled. Reviewed-by: abhiscxk, tr ! src/java.desktop/macosx/classes/com/apple/laf/AquaScrollBarUI.java ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicScrollBarUI.java + test/jdk/javax/swing/JScrollBar/DisableFrameFromScrollBar.java Changeset: 59816975 Branch: fibers Author: Aleksey Shipilev Date: 2024-08-21 08:17:01 +0000 URL: https://git.openjdk.org/loom/commit/598169756c903bb1f77e35ea32717043bc166e3c 8337828: CDS: Trim down minimum GC region alignment Reviewed-by: iklam, phh ! src/hotspot/share/cds/archiveHeapWriter.hpp Changeset: e88a3b05 Branch: fibers Author: Adam Sotona Date: 2024-08-21 08:19:35 +0000 URL: https://git.openjdk.org/loom/commit/e88a3b0574c0a6c6acb5faf7b67674d5b7f0797c 8338661: StackMapTable is invalid if frames appear in dead code Reviewed-by: liach ! src/java.base/share/classes/jdk/internal/classfile/impl/AttributeHolder.java ! src/java.base/share/classes/jdk/internal/classfile/impl/StackCounter.java ! test/jdk/jdk/classfile/StackMapsTest.java ! test/micro/org/openjdk/bench/jdk/classfile/CodeAttributeTools.java Changeset: 715fa8f9 Branch: fibers Author: Lutz Schmidt Date: 2024-08-21 08:23:31 +0000 URL: https://git.openjdk.org/loom/commit/715fa8f9fe7242e86b985aece3d078b226f53fb9 8336498: [macos] [build]: install-file macro may run into permission denied error Reviewed-by: clanger, erikj ! make/common/FileUtils.gmk Changeset: c4cf1e93 Branch: fibers Author: Gui Cao Committer: Hamlin Li Date: 2024-08-21 08:58:40 +0000 URL: https://git.openjdk.org/loom/commit/c4cf1e93bb22bf7c65ce1943fff91f74839434df 8338539: New Object to ObjectMonitor mapping: riscv64 implementation Reviewed-by: fyang, rehn, mli ! src/hotspot/cpu/riscv/c1_MacroAssembler_riscv.cpp ! src/hotspot/cpu/riscv/c2_MacroAssembler_riscv.cpp ! src/hotspot/cpu/riscv/c2_MacroAssembler_riscv.hpp ! src/hotspot/cpu/riscv/interp_masm_riscv.cpp ! src/hotspot/cpu/riscv/macroAssembler_riscv.cpp ! src/hotspot/cpu/riscv/macroAssembler_riscv.hpp ! src/hotspot/cpu/riscv/riscv.ad ! src/hotspot/cpu/riscv/sharedRuntime_riscv.cpp ! src/hotspot/share/runtime/basicLock.inline.hpp Changeset: 7458952d Branch: fibers Author: Hamlin Li Date: 2024-08-21 10:17:51 +0000 URL: https://git.openjdk.org/loom/commit/7458952dedc0a34b5c7f3e9e228f9b18e08f19e3 8338595: Add more linesize for MIME decoder in macro bench test Base64Decode Reviewed-by: rehn ! test/micro/org/openjdk/bench/java/util/Base64Decode.java Changeset: 80adea8e Branch: fibers Author: Chen Liang Date: 2024-08-21 11:58:21 +0000 URL: https://git.openjdk.org/loom/commit/80adea8e0ab3753c3623267c6a2bd3eaed69ad29 8338545: Functional interface implementations for common pre-boot ClassFile operations Reviewed-by: asotona ! src/java.base/share/classes/java/lang/classfile/ClassBuilder.java ! src/java.base/share/classes/java/lang/invoke/ClassSpecializer.java ! src/java.base/share/classes/java/lang/invoke/InnerClassLambdaMetafactory.java ! src/java.base/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java ! src/java.base/share/classes/jdk/internal/classfile/impl/BufferedCodeBuilder.java ! src/java.base/share/classes/jdk/internal/classfile/impl/BufferedFieldBuilder.java ! src/java.base/share/classes/jdk/internal/classfile/impl/BufferedMethodBuilder.java ! src/java.base/share/classes/jdk/internal/classfile/impl/CodeImpl.java ! src/java.base/share/classes/jdk/internal/classfile/impl/FieldImpl.java ! src/java.base/share/classes/jdk/internal/classfile/impl/MethodImpl.java ! src/java.base/share/classes/jdk/internal/classfile/impl/Util.java Changeset: 918cf114 Branch: fibers Author: Albert Mingkun Yang Date: 2024-08-21 12:01:57 +0000 URL: https://git.openjdk.org/loom/commit/918cf114548d0098cf6a8a50032b78ee04d453db 8338490: Serial: Move Generation::print_on to subclasses Reviewed-by: gli ! src/hotspot/share/gc/serial/defNewGeneration.cpp ! src/hotspot/share/gc/serial/defNewGeneration.hpp ! src/hotspot/share/gc/serial/generation.cpp ! src/hotspot/share/gc/serial/generation.hpp ! src/hotspot/share/gc/serial/serialHeap.cpp ! src/hotspot/share/gc/serial/tenuredGeneration.cpp ! src/hotspot/share/gc/serial/tenuredGeneration.hpp Changeset: 3aeb6733 Branch: fibers Author: Shaojin Wen Committer: Chen Liang Date: 2024-08-21 14:56:30 +0000 URL: https://git.openjdk.org/loom/commit/3aeb6733f958bc2b0132494b8ac51a4cfa6b98de 8338532: Speed up the ClassFile API MethodTypeDesc#ofDescriptor Reviewed-by: redestad, liach ! src/java.base/share/classes/java/lang/constant/ClassDesc.java ! src/java.base/share/classes/java/lang/constant/ConstantDescs.java ! src/java.base/share/classes/java/lang/invoke/ConstantBootstraps.java ! src/java.base/share/classes/jdk/internal/constant/ConstantUtils.java ! src/java.base/share/classes/jdk/internal/constant/MethodTypeDescImpl.java ! src/java.base/share/classes/jdk/internal/constant/PrimitiveClassDescImpl.java ! src/java.base/share/classes/jdk/internal/constant/ReferenceClassDescImpl.java ! src/java.base/share/classes/sun/invoke/util/Wrapper.java ! test/jdk/java/lang/constant/boottest/java.base/jdk/internal/constant/ConstantUtilsTest.java ! test/micro/org/openjdk/bench/java/lang/constant/MethodTypeDescFactories.java ! test/micro/org/openjdk/bench/java/lang/invoke/Wrappers.java Changeset: 0e8fe355 Branch: fibers Author: Maurizio Cimadamore Date: 2024-08-21 15:11:32 +0000 URL: https://git.openjdk.org/loom/commit/0e8fe3550b628c6617ac7593d7e17ef7d9bc0869 8338677: Improve startup of memory access var handles by simplifying combinator chains Reviewed-by: redestad ! src/java.base/share/classes/java/lang/invoke/X-VarHandleSegmentView.java.template ! src/java.base/share/classes/jdk/internal/foreign/AbstractMemorySegmentImpl.java ! src/java.base/share/classes/jdk/internal/foreign/LayoutPath.java ! src/java.base/share/classes/jdk/internal/foreign/Utils.java Changeset: e297e881 Branch: fibers Author: Aleksey Shipilev Date: 2024-08-21 16:10:41 +0000 URL: https://git.openjdk.org/loom/commit/e297e8817f486e4af850c97fcff859c3e9a9e21c 8338688: Shenandoah: Avoid calling java_lang_Class accessors in asserts/verifier Reviewed-by: rkennke, wkemper ! src/hotspot/share/gc/shenandoah/shenandoahAsserts.cpp ! src/hotspot/share/gc/shenandoah/shenandoahVerifier.cpp Changeset: ab8071d2 Branch: fibers Author: Doug Lea
Date: 2024-08-21 18:22:24 +0000 URL: https://git.openjdk.org/loom/commit/ab8071d28027ecbf5e8984c30b35fa1c2d934de7 8338146: Improve Exchanger performance with VirtualThreads Reviewed-by: alanb ! src/java.base/share/classes/java/util/concurrent/Exchanger.java ! src/java.base/share/classes/java/util/concurrent/ForkJoinWorkerThread.java ! src/java.base/share/classes/java/util/concurrent/LinkedTransferQueue.java Changeset: b5d2c362 Branch: fibers Author: Alan Bateman Date: 2024-08-21 20:01:36 +0000 URL: https://git.openjdk.org/loom/commit/b5d2c362a3ff17ce4fd0cb9f8fbf3c78571c81f4 Merge ! src/hotspot/cpu/ppc/macroAssembler_ppc.cpp ! src/hotspot/cpu/riscv/c2_MacroAssembler_riscv.cpp ! src/hotspot/cpu/riscv/sharedRuntime_riscv.cpp ! src/hotspot/cpu/s390/macroAssembler_s390.cpp ! test/hotspot/jtreg/ProblemList-Xcomp.txt ! src/hotspot/cpu/ppc/macroAssembler_ppc.cpp ! src/hotspot/cpu/riscv/c2_MacroAssembler_riscv.cpp ! src/hotspot/cpu/riscv/sharedRuntime_riscv.cpp ! src/hotspot/cpu/s390/macroAssembler_s390.cpp ! test/hotspot/jtreg/ProblemList-Xcomp.txt Changeset: fdb393cc Branch: fibers Author: Alan Bateman Date: 2024-08-21 08:09:09 +0000 URL: https://git.openjdk.org/loom/commit/fdb393ccf860d949aff2c6779bd5f84d0d63cd00 Remove frame.hpp.orig - src/hotspot/share/runtime/frame.hpp.orig Changeset: 542d15a4 Branch: fibers Author: Alan Bateman Date: 2024-08-21 08:34:12 +0000 URL: https://git.openjdk.org/loom/commit/542d15a4205ea87b68e06db08b55b740ca70b057 Add JBS issues to excluded tests ! test/hotspot/jtreg/ProblemList-Virtual.txt Changeset: 512eab08 Branch: fibers Author: Alan Bateman Date: 2024-08-21 11:42:43 +0000 URL: https://git.openjdk.org/loom/commit/512eab080418af8d1aa0dc30b7b406bcd9274eb4 Change code to use pattern matching for switch ! src/jdk.management/share/classes/com/sun/management/internal/VirtualThreadSchedulerImpls.java Changeset: a3cbca95 Branch: fibers Author: Alan Bateman Date: 2024-08-21 12:25:22 +0000 URL: https://git.openjdk.org/loom/commit/a3cbca95e8f6b331d8d0ad01691f484b6970fe0e More tests for join after join ! src/java.base/share/classes/java/util/concurrent/StructuredTaskScope.java ! test/jdk/java/util/concurrent/StructuredTaskScope/StructuredTaskScopeTest.java Changeset: 67bee6d3 Branch: fibers Author: Alan Bateman Date: 2024-08-22 06:34:40 +0000 URL: https://git.openjdk.org/loom/commit/67bee6d3e96d8bfb2207e58c69a2f51905264404 Merge From duke at openjdk.org Thu Aug 22 06:33:49 2024 From: duke at openjdk.org (duke) Date: Thu, 22 Aug 2024 06:33:49 GMT Subject: git: openjdk/loom: master: 31 new changesets Message-ID: <5f49666d-7e44-4e1d-bb8f-a4b909717d2e@openjdk.org> Changeset: 6460b300 Branch: master Author: Damon Nguyen Date: 2024-08-19 16:43:43 +0000 URL: https://git.openjdk.org/loom/commit/6460b300487071bcf98f5ac70d9c0a6fd6b94083 8321140: Add comment to note difference in Metal's JButton margins Reviewed-by: honkar, aivanov ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicLookAndFeel.java ! src/java.desktop/share/classes/javax/swing/plaf/metal/MetalLookAndFeel.java Changeset: c7690c34 Branch: master Author: Hannes Walln?fer Date: 2024-08-19 17:47:25 +0000 URL: https://git.openjdk.org/loom/commit/c7690c34c2d7bff11501188266b7be7a486c1bd0 8338190: TOC vertical offsets not updated when document size changes Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script.js.template Changeset: 55851a31 Branch: master Author: Hannes Walln?fer Date: 2024-08-19 18:05:37 +0000 URL: https://git.openjdk.org/loom/commit/55851a312baaea5af14c04fb1b436313fe0deac7 8281533: Odd "preview" label in link/linkplain Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlLinkFactory.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/taglets/LinkTaglet.java ! test/langtools/jdk/javadoc/doclet/testPreview/TestPreview.java ! test/langtools/jdk/javadoc/doclet/testPreview/api/preview/Core.java Changeset: 68d1f5c3 Branch: master Author: Chen Liang Date: 2024-08-20 05:43:04 +0000 URL: https://git.openjdk.org/loom/commit/68d1f5c33bf3f64f44f8a10c2f9e4007cfd07d2b 8338543: ClassBuilder withMethod builders should cache the method type symbol Reviewed-by: asotona ! src/java.base/share/classes/java/lang/classfile/ClassBuilder.java ! src/java.base/share/classes/jdk/internal/classfile/impl/ChainedClassBuilder.java ! src/java.base/share/classes/jdk/internal/classfile/impl/DirectClassBuilder.java Changeset: 9775d571 Branch: master Author: Stefan Karlsson Date: 2024-08-20 06:15:56 +0000 URL: https://git.openjdk.org/loom/commit/9775d57168695dc0d758e017fe5069d93d593f3e 8338139: {ClassLoading,Memory}MXBean::isVerbose methods are inconsistent with their setVerbose methods Co-authored-by: David Holmes Reviewed-by: lmesnik, dcubed, dholmes ! src/hotspot/share/services/classLoadingService.cpp ! src/hotspot/share/services/classLoadingService.hpp ! src/hotspot/share/services/memoryService.cpp ! src/hotspot/share/services/memoryService.hpp + test/jdk/java/lang/management/ClassLoadingMXBean/TestVerboseClassLoading.java + test/jdk/java/lang/management/MemoryMXBean/TestVerboseMemory.java Changeset: b9d49dce Branch: master Author: Aleksey Shipilev Date: 2024-08-20 08:40:45 +0000 URL: https://git.openjdk.org/loom/commit/b9d49dcef22ab81a087d890bbac0329a5244a2ef 8337981: ShenandoahHeap::is_in should check for alive regions Reviewed-by: rkennke, wkemper ! src/hotspot/share/gc/shenandoah/shenandoahAsserts.cpp ! src/hotspot/share/gc/shenandoah/shenandoahAsserts.hpp ! src/hotspot/share/gc/shenandoah/shenandoahCollectionSet.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahForwarding.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkBitMap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkingContext.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkingContext.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahReferenceProcessor.cpp ! src/hotspot/share/gc/shenandoah/shenandoahVerifier.cpp Changeset: 89ca5b6f Branch: master Author: Amit Kumar Date: 2024-08-20 09:54:20 +0000 URL: https://git.openjdk.org/loom/commit/89ca5b6fbd82f00375b4f96b2f3526078088d3f9 8338365: [PPC64, s390] Out-of-bounds array access in secondary_super_cache Reviewed-by: mdoerr, aph, rrich ! src/hotspot/cpu/ppc/macroAssembler_ppc.cpp ! src/hotspot/cpu/s390/macroAssembler_s390.cpp Changeset: 7933e45c Branch: master Author: Matthias Baesken Date: 2024-08-20 10:43:16 +0000 URL: https://git.openjdk.org/loom/commit/7933e45cda7e3eaeabd3b3fa81492ade8e1cc2dc 8338550: Do libubsan1 installation in test container only if requested Reviewed-by: sgehwolf ! test/lib/jdk/test/lib/containers/docker/DockerTestUtils.java ! test/lib/jdk/test/lib/containers/docker/DockerfileConfig.java Changeset: 01d03e07 Branch: master Author: Darragh Clarke Date: 2024-08-20 11:10:18 +0000 URL: https://git.openjdk.org/loom/commit/01d03e07c7642e148e4e17848d28686858ea37a7 8324209: Check implementation of Expect: 100-continue in the java.net.http.HttpClient Reviewed-by: dfuchs, jpai ! src/java.net.http/share/classes/jdk/internal/net/http/Exchange.java ! src/java.net.http/share/classes/jdk/internal/net/http/ExchangeImpl.java ! src/java.net.http/share/classes/jdk/internal/net/http/Stream.java ! test/jdk/java/net/httpclient/ExpectContinueTest.java Changeset: 686eb233 Branch: master Author: Jaikiran Pai Date: 2024-08-20 12:28:56 +0000 URL: https://git.openjdk.org/loom/commit/686eb233d59ab72e872b8dc32cb14bf74519efc5 8336817: Several methods on DatagramSocket and MulticastSocket do not specify behaviour when already closed or connected Reviewed-by: dfuchs, alanb ! src/java.base/share/classes/java/net/DatagramSocket.java ! src/java.base/share/classes/java/net/MulticastSocket.java Changeset: bc2700b7 Branch: master Author: George Adams Committer: Magnus Ihse Bursie Date: 2024-08-20 14:38:31 +0000 URL: https://git.openjdk.org/loom/commit/bc2700b7dc6039e2a17124a0ca32780383c4a43f 8282944: GHA: Add Alpine Linux x86_64 pre-integration check Reviewed-by: ihse ! .github/actions/config/action.yml + .github/workflows/build-alpine-linux.yml ! .github/workflows/main.yml ! make/conf/github-actions.conf Changeset: b4420030 Branch: master Author: Chen Liang Date: 2024-08-20 14:44:37 +0000 URL: https://git.openjdk.org/loom/commit/b442003048559fc35cafddb62885d3ba75b70838 8338623: StackCounter adding extraneous slots for receiver invoke instructions Reviewed-by: asotona ! src/java.base/share/classes/jdk/internal/classfile/impl/StackCounter.java ! test/jdk/jdk/classfile/StackMapsTest.java Changeset: 55a97ec8 Branch: master Author: Christian Hagedorn Date: 2024-08-20 15:47:16 +0000 URL: https://git.openjdk.org/loom/commit/55a97ec8793242c0cacbafd3a4fead25cdce2934 8336729: C2: Div/Mod nodes without zero check could be split through iv phi of outer loop of long counted loop nest resulting in SIGFPE Co-authored-by: Emanuel Peter Reviewed-by: epeter, kvn, thartmann ! src/hotspot/share/opto/loopnode.hpp ! src/hotspot/share/opto/loopopts.cpp ! test/hotspot/jtreg/compiler/splitif/TestSplitDivisionThroughPhi.java Changeset: 285ceb9e Branch: master Author: Vladimir Petko Date: 2024-08-20 15:51:40 +0000 URL: https://git.openjdk.org/loom/commit/285ceb9ee51e064687da6fc3fbed984e34cf02e6 8336529: (fs) UnixFileAttributeViews setTimes() failing on armhf, Ubuntu noble Reviewed-by: bpb, alanb ! src/java.base/unix/native/libnio/fs/UnixNativeDispatcher.c Changeset: c646efc3 Branch: master Author: Leonid Mesnik Date: 2024-08-20 18:41:15 +0000 URL: https://git.openjdk.org/loom/commit/c646efc366342564baebd2f17133e14780abcaa8 8205957: setfldw001/TestDescription.java fails with bad field value Reviewed-by: sspitsyn, dlong ! src/hotspot/share/runtime/javaCalls.cpp ! test/hotspot/jtreg/ProblemList-Xcomp.txt ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetFieldModificationWatch/setfmodw001/TestDescription.java Changeset: 0267284c Branch: master Author: Mark Reinhold Date: 2024-08-20 18:50:17 +0000 URL: https://git.openjdk.org/loom/commit/0267284c52a450afaec78a542910381f5bff58fb 8338611: java.lang.module specification wording not aligned with JEP 261 Reviewed-by: alanb ! src/java.base/share/classes/java/lang/module/package-info.java Changeset: 1ebf2cf6 Branch: master Author: Chen Liang Date: 2024-08-20 19:02:38 +0000 URL: https://git.openjdk.org/loom/commit/1ebf2cf639300728ffc024784f5dc1704317b0b3 8336756: Improve ClassFile Annotation writing Reviewed-by: asotona ! src/java.base/share/classes/java/lang/classfile/AnnotationValue.java ! src/java.base/share/classes/jdk/internal/classfile/impl/AnnotationImpl.java ! src/java.base/share/classes/jdk/internal/classfile/impl/AnnotationReader.java Changeset: d7281079 Branch: master Author: Chris Plummer Date: 2024-08-20 23:34:31 +0000 URL: https://git.openjdk.org/loom/commit/d72810794bf70f82e46f7220698e4d27d5973d5b 8338482: com/sun/jdi/ThreadMemoryLeakTest.java requires that compressed oops are enabled Reviewed-by: amenkov, kevinw ! test/jdk/com/sun/jdi/ThreadMemoryLeakTest.java Changeset: 88ccbb60 Branch: master Author: Chen Liang Date: 2024-08-21 01:05:41 +0000 URL: https://git.openjdk.org/loom/commit/88ccbb60919e4523064b0da17184eedcd9efa087 8336934: Clean up JavaLangReflectAccess Reviewed-by: rriggs, darcy ! src/java.base/share/classes/java/lang/reflect/Constructor.java ! src/java.base/share/classes/java/lang/reflect/Method.java ! src/java.base/share/classes/java/lang/reflect/ReflectAccess.java ! src/java.base/share/classes/jdk/internal/access/JavaLangReflectAccess.java ! src/java.base/share/classes/jdk/internal/access/SharedSecrets.java ! src/java.base/share/classes/jdk/internal/reflect/ReflectionFactory.java Changeset: cafb3dc4 Branch: master Author: Prasanta Sadhukhan Date: 2024-08-21 07:04:05 +0000 URL: https://git.openjdk.org/loom/commit/cafb3dc49157daf12c1a0e5d78acca8188c56918 6318027: BasicScrollBarUI does not disable timer when enclosing frame is disabled. Reviewed-by: abhiscxk, tr ! src/java.desktop/macosx/classes/com/apple/laf/AquaScrollBarUI.java ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicScrollBarUI.java + test/jdk/javax/swing/JScrollBar/DisableFrameFromScrollBar.java Changeset: 59816975 Branch: master Author: Aleksey Shipilev Date: 2024-08-21 08:17:01 +0000 URL: https://git.openjdk.org/loom/commit/598169756c903bb1f77e35ea32717043bc166e3c 8337828: CDS: Trim down minimum GC region alignment Reviewed-by: iklam, phh ! src/hotspot/share/cds/archiveHeapWriter.hpp Changeset: e88a3b05 Branch: master Author: Adam Sotona Date: 2024-08-21 08:19:35 +0000 URL: https://git.openjdk.org/loom/commit/e88a3b0574c0a6c6acb5faf7b67674d5b7f0797c 8338661: StackMapTable is invalid if frames appear in dead code Reviewed-by: liach ! src/java.base/share/classes/jdk/internal/classfile/impl/AttributeHolder.java ! src/java.base/share/classes/jdk/internal/classfile/impl/StackCounter.java ! test/jdk/jdk/classfile/StackMapsTest.java ! test/micro/org/openjdk/bench/jdk/classfile/CodeAttributeTools.java Changeset: 715fa8f9 Branch: master Author: Lutz Schmidt Date: 2024-08-21 08:23:31 +0000 URL: https://git.openjdk.org/loom/commit/715fa8f9fe7242e86b985aece3d078b226f53fb9 8336498: [macos] [build]: install-file macro may run into permission denied error Reviewed-by: clanger, erikj ! make/common/FileUtils.gmk Changeset: c4cf1e93 Branch: master Author: Gui Cao Committer: Hamlin Li Date: 2024-08-21 08:58:40 +0000 URL: https://git.openjdk.org/loom/commit/c4cf1e93bb22bf7c65ce1943fff91f74839434df 8338539: New Object to ObjectMonitor mapping: riscv64 implementation Reviewed-by: fyang, rehn, mli ! src/hotspot/cpu/riscv/c1_MacroAssembler_riscv.cpp ! src/hotspot/cpu/riscv/c2_MacroAssembler_riscv.cpp ! src/hotspot/cpu/riscv/c2_MacroAssembler_riscv.hpp ! src/hotspot/cpu/riscv/interp_masm_riscv.cpp ! src/hotspot/cpu/riscv/macroAssembler_riscv.cpp ! src/hotspot/cpu/riscv/macroAssembler_riscv.hpp ! src/hotspot/cpu/riscv/riscv.ad ! src/hotspot/cpu/riscv/sharedRuntime_riscv.cpp ! src/hotspot/share/runtime/basicLock.inline.hpp Changeset: 7458952d Branch: master Author: Hamlin Li Date: 2024-08-21 10:17:51 +0000 URL: https://git.openjdk.org/loom/commit/7458952dedc0a34b5c7f3e9e228f9b18e08f19e3 8338595: Add more linesize for MIME decoder in macro bench test Base64Decode Reviewed-by: rehn ! test/micro/org/openjdk/bench/java/util/Base64Decode.java Changeset: 80adea8e Branch: master Author: Chen Liang Date: 2024-08-21 11:58:21 +0000 URL: https://git.openjdk.org/loom/commit/80adea8e0ab3753c3623267c6a2bd3eaed69ad29 8338545: Functional interface implementations for common pre-boot ClassFile operations Reviewed-by: asotona ! src/java.base/share/classes/java/lang/classfile/ClassBuilder.java ! src/java.base/share/classes/java/lang/invoke/ClassSpecializer.java ! src/java.base/share/classes/java/lang/invoke/InnerClassLambdaMetafactory.java ! src/java.base/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java ! src/java.base/share/classes/jdk/internal/classfile/impl/BufferedCodeBuilder.java ! src/java.base/share/classes/jdk/internal/classfile/impl/BufferedFieldBuilder.java ! src/java.base/share/classes/jdk/internal/classfile/impl/BufferedMethodBuilder.java ! src/java.base/share/classes/jdk/internal/classfile/impl/CodeImpl.java ! src/java.base/share/classes/jdk/internal/classfile/impl/FieldImpl.java ! src/java.base/share/classes/jdk/internal/classfile/impl/MethodImpl.java ! src/java.base/share/classes/jdk/internal/classfile/impl/Util.java Changeset: 918cf114 Branch: master Author: Albert Mingkun Yang Date: 2024-08-21 12:01:57 +0000 URL: https://git.openjdk.org/loom/commit/918cf114548d0098cf6a8a50032b78ee04d453db 8338490: Serial: Move Generation::print_on to subclasses Reviewed-by: gli ! src/hotspot/share/gc/serial/defNewGeneration.cpp ! src/hotspot/share/gc/serial/defNewGeneration.hpp ! src/hotspot/share/gc/serial/generation.cpp ! src/hotspot/share/gc/serial/generation.hpp ! src/hotspot/share/gc/serial/serialHeap.cpp ! src/hotspot/share/gc/serial/tenuredGeneration.cpp ! src/hotspot/share/gc/serial/tenuredGeneration.hpp Changeset: 3aeb6733 Branch: master Author: Shaojin Wen Committer: Chen Liang Date: 2024-08-21 14:56:30 +0000 URL: https://git.openjdk.org/loom/commit/3aeb6733f958bc2b0132494b8ac51a4cfa6b98de 8338532: Speed up the ClassFile API MethodTypeDesc#ofDescriptor Reviewed-by: redestad, liach ! src/java.base/share/classes/java/lang/constant/ClassDesc.java ! src/java.base/share/classes/java/lang/constant/ConstantDescs.java ! src/java.base/share/classes/java/lang/invoke/ConstantBootstraps.java ! src/java.base/share/classes/jdk/internal/constant/ConstantUtils.java ! src/java.base/share/classes/jdk/internal/constant/MethodTypeDescImpl.java ! src/java.base/share/classes/jdk/internal/constant/PrimitiveClassDescImpl.java ! src/java.base/share/classes/jdk/internal/constant/ReferenceClassDescImpl.java ! src/java.base/share/classes/sun/invoke/util/Wrapper.java ! test/jdk/java/lang/constant/boottest/java.base/jdk/internal/constant/ConstantUtilsTest.java ! test/micro/org/openjdk/bench/java/lang/constant/MethodTypeDescFactories.java ! test/micro/org/openjdk/bench/java/lang/invoke/Wrappers.java Changeset: 0e8fe355 Branch: master Author: Maurizio Cimadamore Date: 2024-08-21 15:11:32 +0000 URL: https://git.openjdk.org/loom/commit/0e8fe3550b628c6617ac7593d7e17ef7d9bc0869 8338677: Improve startup of memory access var handles by simplifying combinator chains Reviewed-by: redestad ! src/java.base/share/classes/java/lang/invoke/X-VarHandleSegmentView.java.template ! src/java.base/share/classes/jdk/internal/foreign/AbstractMemorySegmentImpl.java ! src/java.base/share/classes/jdk/internal/foreign/LayoutPath.java ! src/java.base/share/classes/jdk/internal/foreign/Utils.java Changeset: e297e881 Branch: master Author: Aleksey Shipilev Date: 2024-08-21 16:10:41 +0000 URL: https://git.openjdk.org/loom/commit/e297e8817f486e4af850c97fcff859c3e9a9e21c 8338688: Shenandoah: Avoid calling java_lang_Class accessors in asserts/verifier Reviewed-by: rkennke, wkemper ! src/hotspot/share/gc/shenandoah/shenandoahAsserts.cpp ! src/hotspot/share/gc/shenandoah/shenandoahVerifier.cpp Changeset: ab8071d2 Branch: master Author: Doug Lea
Date: 2024-08-21 18:22:24 +0000 URL: https://git.openjdk.org/loom/commit/ab8071d28027ecbf5e8984c30b35fa1c2d934de7 8338146: Improve Exchanger performance with VirtualThreads Reviewed-by: alanb ! src/java.base/share/classes/java/util/concurrent/Exchanger.java ! src/java.base/share/classes/java/util/concurrent/ForkJoinWorkerThread.java ! src/java.base/share/classes/java/util/concurrent/LinkedTransferQueue.java From duke at openjdk.org Thu Aug 22 16:48:29 2024 From: duke at openjdk.org (duke) Date: Thu, 22 Aug 2024 16:48:29 GMT Subject: git: openjdk/loom: fibers: Scoped values API Message-ID: <6c2e56d9-d86e-4a00-82ce-a081fbcb1d4e@openjdk.org> Changeset: a739748b Branch: fibers Author: Andrew Haley Date: 2024-08-22 17:45:39 +0000 URL: https://git.openjdk.org/loom/commit/a739748bce18ce5feb7a15faccd762136799c91b Scoped values API ! src/java.base/share/classes/java/lang/ScopedValue.java ! src/java.base/share/classes/java/util/concurrent/StructuredTaskScope.java ! src/java.base/share/classes/javax/security/auth/Subject.java ! test/jdk/java/lang/ScopedValue/ScopedValueAPI.java ! test/jdk/java/util/concurrent/StructuredTaskScope/WithScopedValue.java ! test/jdk/jdk/internal/misc/ThreadFlock/WithScopedValue.java From aph at redhat.com Thu Aug 22 16:55:55 2024 From: aph at redhat.com (Andrew Haley) Date: Thu, 22 Aug 2024 17:55:55 +0100 Subject: Scoped Values (Fourth Preview) Message-ID: <31b926ff-05b0-40e2-bacf-d79fa779c8e4@redhat.com> One change: The fluent API that is described in the Javadoc is now the only API supported. The previous "shorthand" form is gone, simplifying the API. The only way now to invoke Java code with a bound ScopedValue is via the ScopedValue.Carrier.call() and ScopedValue.Carrier.bind() methods. This results in a small API surface, which I rather like. The draft JEP is at https://bugs.openjdk.org/browse/JDK-8338456 I pushed the source changes to the fibers branch. Alan (Bateman), will you please put the Javadoc somewhere and send me a link, so I can link it to the PR? Thanks. -- Andrew Haley (he/him) Java Platform Lead Engineer Red Hat UK Ltd. https://keybase.io/andrewhaley EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 From duke at openjdk.org Thu Aug 22 18:17:11 2024 From: duke at openjdk.org (duke) Date: Thu, 22 Aug 2024 18:17:11 GMT Subject: git: openjdk/loom: fibers: 2 new changesets Message-ID: <1da77dad-cd5e-4f17-abcf-16f57bc2647a@openjdk.org> Changeset: 300f747f Branch: fibers Author: Alan Bateman Date: 2024-08-22 07:42:19 +0000 URL: https://git.openjdk.org/loom/commit/300f747ffa5c75d75fc21ae0e565a854f8746885 Cleanup imports ! src/jdk.management/share/classes/jdk/management/VirtualThreadSchedulerMXBean.java Changeset: a54cf045 Branch: fibers Author: Alan Bateman Date: 2024-08-22 18:39:49 +0000 URL: https://git.openjdk.org/loom/commit/a54cf045b4f7857e4f45943e7312dc66292cacf3 Fix compilation error ! test/jdk/java/util/concurrent/StructuredTaskScope/WithScopedValue.java ! test/jdk/jdk/internal/misc/ThreadFlock/WithScopedValue.java From duke at openjdk.org Sat Aug 24 08:09:35 2024 From: duke at openjdk.org (duke) Date: Sat, 24 Aug 2024 08:09:35 GMT Subject: git: openjdk/loom: fibers: 30 new changesets Message-ID: <9af33900-8ae1-4e33-a5ba-6ea8c1063c62@openjdk.org> Changeset: 47c8a6a8 Branch: fibers Author: Claes Redestad Date: 2024-08-21 22:10:06 +0000 URL: https://git.openjdk.org/loom/commit/47c8a6a8db979fe862be876008feb76cdc9dccfd 8333265: De-duplicate method references in java.util.stream.FindOps Reviewed-by: liach ! src/java.base/share/classes/java/util/stream/FindOps.java ! test/micro/org/openjdk/bench/java/util/stream/ops/ref/FindAny.java Changeset: 1d05989b Branch: fibers Author: Axel Boldt-Christmas Date: 2024-08-22 06:23:06 +0000 URL: https://git.openjdk.org/loom/commit/1d05989bb4bcc08ef6f7c408ec987ea43995eb07 8334357: Use NonInterleavingLogStream for report_metadata_oome Reviewed-by: jsjolen, stuefe ! src/hotspot/share/memory/metaspace.cpp Changeset: 6644dd33 Branch: fibers Author: Hamlin Li Date: 2024-08-22 07:22:35 +0000 URL: https://git.openjdk.org/loom/commit/6644dd33f6f4b440105d84ef187a0ff6b1d60827 8338760: Adjust the comment after UseObjectMonitorTable Reviewed-by: coleenp, dcubed ! src/hotspot/share/oops/markWord.hpp Changeset: 129f527f Branch: fibers Author: Magnus Ihse Bursie Date: 2024-08-22 10:31:34 +0000 URL: https://git.openjdk.org/loom/commit/129f527f4f6de04897440a11f0be024f1a378433 8338290: Xcode project generator for hotspot Co-authored-by: Gerard Ziemski Co-authored-by: Magnus Ihse Bursie Reviewed-by: azafari, erikj ! make/Main.gmk ! make/common/FileUtils.gmk ! make/common/NativeCompilation.gmk ! make/common/native/Link.gmk ! make/ide/visualstudio/hotspot/CreateVSProject.gmk + make/ide/xcode/hotspot/CreateXcodeProject.gmk + make/ide/xcode/hotspot/data/Breakpoints_v2.xcbkptlist.template + make/ide/xcode/hotspot/data/jvm.xcscheme.template + make/ide/xcode/hotspot/data/project.pbxproj.template + make/ide/xcode/hotspot/data/runJ2Demo.xcscheme.template + make/ide/xcode/hotspot/data/script_after.sh + make/ide/xcode/hotspot/data/script_before.sh + make/ide/xcode/hotspot/src/classes/DiskFile.java + make/ide/xcode/hotspot/src/classes/XcodeProjectMaker.java ! make/modules/java.base/Copy.gmk Changeset: 6cf7f9c4 Branch: fibers Author: Aleksey Shipilev Date: 2024-08-22 11:39:47 +0000 URL: https://git.openjdk.org/loom/commit/6cf7f9c4a76b99ed7aa4dc7ee54692331fc73408 8338662: Shenandoah: Remove excessive ShenandoahVerifier::verify_during_evacuation Reviewed-by: wkemper, ysr ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahDegeneratedGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahVerifier.cpp ! src/hotspot/share/gc/shenandoah/shenandoahVerifier.hpp Changeset: 6041c936 Branch: fibers Author: Matias Saavedra Silva Date: 2024-08-22 15:55:02 +0000 URL: https://git.openjdk.org/loom/commit/6041c936d6dd39c5b3a89ed2823b25a8aef42b9f 8335664: Parsing jsr broken: assert(bci>= 0 && bci < c->method()->code_size()) failed: index out of bounds Co-authored-by: Emanuel Peter Reviewed-by: dlong, thartmann ! src/hotspot/share/oops/generateOopMap.cpp + test/hotspot/jtreg/runtime/interpreter/LastJsr.jasm + test/hotspot/jtreg/runtime/interpreter/LastJsrReachable.jasm + test/hotspot/jtreg/runtime/interpreter/LastJsrTest.java Changeset: 0b5c8870 Branch: fibers Author: Matthew Donovan Date: 2024-08-22 17:58:08 +0000 URL: https://git.openjdk.org/loom/commit/0b5c8870e5aa4fd0889d60faa9b1f65a9c338fff 8338380: Update TLSCommon/interop/AbstractServer to specify an interface to listen for connections Reviewed-by: rhalade ! test/jdk/javax/net/ssl/TLSCommon/interop/AbstractServer.java ! test/jdk/javax/net/ssl/TLSCommon/interop/JdkServer.java Changeset: 813546f9 Branch: fibers Author: Aleksey Shipilev Date: 2024-08-22 19:48:25 +0000 URL: https://git.openjdk.org/loom/commit/813546f9236d278c380888f1f90cd49b23792d92 8338856: [BACKOUT] JDK-8337828: CDS: Trim down minimum GC region alignment Reviewed-by: dcubed ! src/hotspot/share/cds/archiveHeapWriter.hpp Changeset: c89a1c35 Branch: fibers Author: Brian Burkhalter Date: 2024-08-22 21:41:25 +0000 URL: https://git.openjdk.org/loom/commit/c89a1c35bda9002ee687b3fa267f3ef9cba78b00 8338696: (fs) BasicFileAttributes.creationTime() falls back to epoch if birth time is unavailable (Linux) Reviewed-by: sgehwolf, alanb ! src/java.base/unix/native/libnio/fs/UnixNativeDispatcher.c Changeset: ea337098 Branch: fibers Author: David Holmes Date: 2024-08-23 02:35:48 +0000 URL: https://git.openjdk.org/loom/commit/ea3370982bfd3da4b200b738dd3b8c16cebb3a34 8328880: Events::log_exception should limit the size of the logging message Reviewed-by: shade, kvn ! src/hotspot/share/utilities/events.cpp ! src/hotspot/share/utilities/events.hpp ! src/hotspot/share/utilities/exceptions.cpp Changeset: e06652ad Branch: fibers Author: Axel Boldt-Christmas Date: 2024-08-23 05:47:29 +0000 URL: https://git.openjdk.org/loom/commit/e06652ad3c02dfe54104eaa04eaa3d117699b27f 8338810: PPC, s390x: LightweightSynchronizer::exit asserts, missing lock Reviewed-by: mdoerr, amitkumar ! src/hotspot/cpu/ppc/macroAssembler_ppc.cpp ! src/hotspot/cpu/s390/macroAssembler_s390.cpp Changeset: 8e0d0190 Branch: fibers Author: SendaoYan Date: 2024-08-23 06:26:24 +0000 URL: https://git.openjdk.org/loom/commit/8e0d0190ed19bc1a9d4ec0c6ee3aa6454542989f 8338630: Test java/nio/channels/DatagramChannel/SendReceiveMaxSize.java timeout Reviewed-by: dfuchs, jpai, djelinski ! test/lib/jdk/test/lib/NetworkConfiguration.java Changeset: 9cbf685b Branch: fibers Author: Stefan Karlsson Date: 2024-08-23 07:09:40 +0000 URL: https://git.openjdk.org/loom/commit/9cbf685b0b1ade5e6ddebfeec225b2efb5cf4cfc 8337658: ZGC: Move soft reference handling out of the driver loop function Reviewed-by: gli, aboldtch, eosterlund ! src/hotspot/share/gc/z/zDriver.cpp ! src/hotspot/share/gc/z/zDriver.hpp ! src/hotspot/share/gc/z/zGeneration.cpp ! src/hotspot/share/gc/z/zGeneration.hpp ! src/hotspot/share/gc/z/zHeap.inline.hpp ! src/hotspot/share/gc/z/zPageAllocator.cpp ! src/hotspot/share/gc/z/zReferenceProcessor.cpp ! src/hotspot/share/gc/z/zReferenceProcessor.hpp Changeset: a5e28005 Branch: fibers Author: Pavel Rappo Date: 2024-08-23 08:05:16 +0000 URL: https://git.openjdk.org/loom/commit/a5e28005fa95426f811e1ed98a7d726cbdbe196d 8338834: Remove unused import declarations in java.compiler Reviewed-by: darcy ! src/java.compiler/share/classes/javax/annotation/processing/Filer.java ! src/java.compiler/share/classes/javax/lang/model/SourceVersion.java ! src/java.compiler/share/classes/javax/lang/model/element/Element.java ! src/java.compiler/share/classes/javax/lang/model/element/TypeElement.java ! src/java.compiler/share/classes/javax/lang/model/element/VariableElement.java ! src/java.compiler/share/classes/javax/lang/model/type/TypeVariable.java ! src/java.compiler/share/classes/javax/lang/model/type/TypeVisitor.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitorPreview.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitorPreview.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitor9.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitorPreview.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor6.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor9.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitorPreview.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementScanner14.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementScanner6.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementScanner7.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementScanner9.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementScannerPreview.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitorPreview.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor6.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor7.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitorPreview.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitor6.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitor7.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitor9.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitorPreview.java ! src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitorPreview.java ! src/java.compiler/share/classes/javax/lang/model/util/Types.java Changeset: fead3cf5 Branch: fibers Author: Markus Gr?nlund Date: 2024-08-23 09:26:00 +0000 URL: https://git.openjdk.org/loom/commit/fead3cf54130e3ab10f94a94dfbd382e4cb1e597 8338745: Intrinsify Continuation.pin() and Continuation.unpin() Reviewed-by: kvn ! src/hotspot/share/classfile/vmIntrinsics.cpp ! src/hotspot/share/classfile/vmIntrinsics.hpp ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/opto/c2compiler.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/library_call.hpp ! src/hotspot/share/runtime/continuationEntry.hpp ! src/java.base/share/classes/jdk/internal/vm/Continuation.java Changeset: 69bd227e Branch: fibers Author: Markus Gr?nlund Date: 2024-08-23 09:29:23 +0000 URL: https://git.openjdk.org/loom/commit/69bd227e6c497eb82c46ab85125610c0b44dc04e 8338417: Explicitly pin a virtual thread before acquiring the JFR string pool monitor Reviewed-by: alanb, egahlin, dholmes ! src/hotspot/share/jfr/writers/jfrJavaEventWriter.cpp ! src/hotspot/share/opto/library_call.cpp ! src/java.base/share/classes/module-info.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/StringPool.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/event/EventWriter.java + test/jdk/jdk/jfr/threading/TestStringPoolVirtualThreadPinning.java Changeset: 965dd1ac Branch: fibers Author: Qizheng Xing Date: 2024-08-23 09:30:47 +0000 URL: https://git.openjdk.org/loom/commit/965dd1acd0ce5b225d85e2c55cc097856e0e9f3c 8333334: C2: Make result of `Node::dominates` more precise to enhance scalar replacement Reviewed-by: chagedorn, kvn, thartmann ! src/hotspot/share/opto/memnode.cpp ! src/hotspot/share/opto/memnode.hpp ! src/hotspot/share/opto/node.cpp ! src/hotspot/share/opto/node.hpp + test/hotspot/jtreg/compiler/c2/irTests/scalarReplacement/ScalarReplacementWithGCBarrierTests.java ! test/micro/org/openjdk/bench/java/util/concurrent/Maps.java Changeset: 21d1e4d8 Branch: fibers Author: Erik Gahlin Date: 2024-08-23 09:59:15 +0000 URL: https://git.openjdk.org/loom/commit/21d1e4d8039ecccbf60138ede574e0177ee5550f 8338819: JFR: Internal events causes crash when no other events are in use Reviewed-by: mgronlun, sjohanss ! src/hotspot/share/jfr/jni/jfrUpcalls.cpp Changeset: 916f1aa0 Branch: fibers Author: Tejesh R Date: 2024-08-23 10:51:12 +0000 URL: https://git.openjdk.org/loom/commit/916f1aa04f6fcc6da9bf9d725e3639cf4c0755a1 8329756: [macos] "javax/swing/JTable/KeyBoardNavigation.java" fail because most combinations of navigational keys with the Ctrl key do not work Reviewed-by: abhiscxk, dnguyen ! src/java.desktop/macosx/classes/com/apple/laf/AquaKeyBindings.java ! test/jdk/javax/swing/JTable/KeyBoardNavigation.java Changeset: a461369f Branch: fibers Author: Chen Liang Date: 2024-08-23 15:16:44 +0000 URL: https://git.openjdk.org/loom/commit/a461369f16a2d92ab428d14c36dd69fa5942bbc5 8338700: AttributeMapper type parameter should be bounded by Attribute Reviewed-by: asotona ! src/java.base/share/classes/java/lang/classfile/AttributeMapper.java ! src/java.base/share/classes/java/lang/classfile/package-info.java ! src/java.base/share/classes/jdk/internal/classfile/impl/AttributeHolder.java ! src/java.base/share/classes/jdk/internal/classfile/impl/BoundAttribute.java ! src/java.base/share/classes/jdk/internal/classfile/impl/Util.java Changeset: 23dc3b02 Branch: fibers Author: Brian Burkhalter Date: 2024-08-23 16:32:14 +0000 URL: https://git.openjdk.org/loom/commit/23dc3b02468836f4c9b4303f2c7c0a7305461ce1 8324048: (fc) Make FileKey fields final Reviewed-by: djelinski, alanb, jpai ! src/java.base/unix/classes/sun/nio/ch/FileKey.java ! src/java.base/unix/native/libnio/ch/FileKey.c ! src/java.base/windows/classes/sun/nio/ch/FileKey.java ! src/java.base/windows/native/libnio/ch/FileKey.c Changeset: 2432eeaa Branch: fibers Author: Alan Bateman Date: 2024-08-23 19:01:24 +0000 URL: https://git.openjdk.org/loom/commit/2432eeaabb1b7e95a19cb35cd890ad32b1d7a305 Merge ! src/hotspot/cpu/ppc/macroAssembler_ppc.cpp ! src/hotspot/cpu/s390/macroAssembler_s390.cpp ! src/hotspot/share/classfile/vmIntrinsics.cpp ! src/hotspot/share/classfile/vmIntrinsics.hpp ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/opto/c2compiler.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/library_call.hpp ! src/hotspot/share/runtime/continuationEntry.hpp ! src/java.base/share/classes/jdk/internal/vm/Continuation.java ! src/hotspot/cpu/ppc/macroAssembler_ppc.cpp ! src/hotspot/cpu/s390/macroAssembler_s390.cpp ! src/hotspot/share/classfile/vmIntrinsics.cpp ! src/hotspot/share/classfile/vmIntrinsics.hpp ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/opto/c2compiler.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/library_call.hpp ! src/hotspot/share/runtime/continuationEntry.hpp ! src/java.base/share/classes/jdk/internal/vm/Continuation.java Changeset: 05f8fab1 Branch: fibers Author: Alan Bateman Date: 2024-08-23 09:25:53 +0000 URL: https://git.openjdk.org/loom/commit/05f8fab152a59abbabe48d286cd0e500b281fdc1 @enablePreview not needed ! test/hotspot/jtreg/serviceability/dcmd/thread/VThreadSummaryTest.java Changeset: 0a8f5001 Branch: fibers Author: Alan Bateman Date: 2024-08-23 19:01:47 +0000 URL: https://git.openjdk.org/loom/commit/0a8f5001c8ee256689a55f2c8b9ffcdd07e017a2 Merge Changeset: 5d12ac3f Branch: fibers Author: Joe Darcy Date: 2024-08-23 20:01:16 +0000 URL: https://git.openjdk.org/loom/commit/5d12ac3fcb076bf701d7a572942f57f4de7a9ca0 8337715: Update --release 23 symbol information for JDK 23 build 37 Reviewed-by: iris, liach ! src/jdk.compiler/share/data/symbols/java.base-N.sym.txt Changeset: 32b3d707 Branch: fibers Author: Daniel D. Daugherty Date: 2024-08-23 22:04:43 +0000 URL: https://git.openjdk.org/loom/commit/32b3d707c1b3a9a0d127684e245e5c975ac5566a 8338925: ProblemList runtime/interpreter/LastJsrTest.java on linux-all Reviewed-by: matsaave ! test/hotspot/jtreg/ProblemList.txt Changeset: 5671f836 Branch: fibers Author: Sergey Bylokhov Date: 2024-08-24 00:05:30 +0000 URL: https://git.openjdk.org/loom/commit/5671f836039ef1683e3e9ce5b7cf0fa2f1860e2d 8338785: The java.awt.datatransfer.SystemFlavorMap#FLAVOR_MAP_KEY field is not used Reviewed-by: honkar, dnguyen, prr ! src/java.datatransfer/share/classes/java/awt/datatransfer/SystemFlavorMap.java Changeset: e12e2237 Branch: fibers Author: Alan Bateman Date: 2024-08-24 06:33:35 +0000 URL: https://git.openjdk.org/loom/commit/e12e2237df5a19335743a37206b856d63a3bd4ac Merge ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/ProblemList.txt Changeset: e04d3bf6 Branch: fibers Author: Alan Bateman Date: 2024-08-24 08:58:07 +0000 URL: https://git.openjdk.org/loom/commit/e04d3bf6df4539f503d82bd8171ed0d21d24f593 Improve javadoc ! src/jdk.management/share/classes/jdk/management/VirtualThreadSchedulerMXBean.java Changeset: 979a762e Branch: fibers Author: Alan Bateman Date: 2024-08-24 08:59:24 +0000 URL: https://git.openjdk.org/loom/commit/979a762e83ea1ee7c791579b9d013ac5d8e74b29 Merge From duke at openjdk.org Sat Aug 24 08:10:57 2024 From: duke at openjdk.org (duke) Date: Sat, 24 Aug 2024 08:10:57 GMT Subject: git: openjdk/loom: master: 24 new changesets Message-ID: <1529220c-890a-4d5c-8bd9-4f2e2feba0d0@openjdk.org> Changeset: 47c8a6a8 Branch: master Author: Claes Redestad Date: 2024-08-21 22:10:06 +0000 URL: https://git.openjdk.org/loom/commit/47c8a6a8db979fe862be876008feb76cdc9dccfd 8333265: De-duplicate method references in java.util.stream.FindOps Reviewed-by: liach ! src/java.base/share/classes/java/util/stream/FindOps.java ! test/micro/org/openjdk/bench/java/util/stream/ops/ref/FindAny.java Changeset: 1d05989b Branch: master Author: Axel Boldt-Christmas Date: 2024-08-22 06:23:06 +0000 URL: https://git.openjdk.org/loom/commit/1d05989bb4bcc08ef6f7c408ec987ea43995eb07 8334357: Use NonInterleavingLogStream for report_metadata_oome Reviewed-by: jsjolen, stuefe ! src/hotspot/share/memory/metaspace.cpp Changeset: 6644dd33 Branch: master Author: Hamlin Li Date: 2024-08-22 07:22:35 +0000 URL: https://git.openjdk.org/loom/commit/6644dd33f6f4b440105d84ef187a0ff6b1d60827 8338760: Adjust the comment after UseObjectMonitorTable Reviewed-by: coleenp, dcubed ! src/hotspot/share/oops/markWord.hpp Changeset: 129f527f Branch: master Author: Magnus Ihse Bursie Date: 2024-08-22 10:31:34 +0000 URL: https://git.openjdk.org/loom/commit/129f527f4f6de04897440a11f0be024f1a378433 8338290: Xcode project generator for hotspot Co-authored-by: Gerard Ziemski Co-authored-by: Magnus Ihse Bursie Reviewed-by: azafari, erikj ! make/Main.gmk ! make/common/FileUtils.gmk ! make/common/NativeCompilation.gmk ! make/common/native/Link.gmk ! make/ide/visualstudio/hotspot/CreateVSProject.gmk + make/ide/xcode/hotspot/CreateXcodeProject.gmk + make/ide/xcode/hotspot/data/Breakpoints_v2.xcbkptlist.template + make/ide/xcode/hotspot/data/jvm.xcscheme.template + make/ide/xcode/hotspot/data/project.pbxproj.template + make/ide/xcode/hotspot/data/runJ2Demo.xcscheme.template + make/ide/xcode/hotspot/data/script_after.sh + make/ide/xcode/hotspot/data/script_before.sh + make/ide/xcode/hotspot/src/classes/DiskFile.java + make/ide/xcode/hotspot/src/classes/XcodeProjectMaker.java ! make/modules/java.base/Copy.gmk Changeset: 6cf7f9c4 Branch: master Author: Aleksey Shipilev Date: 2024-08-22 11:39:47 +0000 URL: https://git.openjdk.org/loom/commit/6cf7f9c4a76b99ed7aa4dc7ee54692331fc73408 8338662: Shenandoah: Remove excessive ShenandoahVerifier::verify_during_evacuation Reviewed-by: wkemper, ysr ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahDegeneratedGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahVerifier.cpp ! src/hotspot/share/gc/shenandoah/shenandoahVerifier.hpp Changeset: 6041c936 Branch: master Author: Matias Saavedra Silva Date: 2024-08-22 15:55:02 +0000 URL: https://git.openjdk.org/loom/commit/6041c936d6dd39c5b3a89ed2823b25a8aef42b9f 8335664: Parsing jsr broken: assert(bci>= 0 && bci < c->method()->code_size()) failed: index out of bounds Co-authored-by: Emanuel Peter Reviewed-by: dlong, thartmann ! src/hotspot/share/oops/generateOopMap.cpp + test/hotspot/jtreg/runtime/interpreter/LastJsr.jasm + test/hotspot/jtreg/runtime/interpreter/LastJsrReachable.jasm + test/hotspot/jtreg/runtime/interpreter/LastJsrTest.java Changeset: 0b5c8870 Branch: master Author: Matthew Donovan Date: 2024-08-22 17:58:08 +0000 URL: https://git.openjdk.org/loom/commit/0b5c8870e5aa4fd0889d60faa9b1f65a9c338fff 8338380: Update TLSCommon/interop/AbstractServer to specify an interface to listen for connections Reviewed-by: rhalade ! test/jdk/javax/net/ssl/TLSCommon/interop/AbstractServer.java ! test/jdk/javax/net/ssl/TLSCommon/interop/JdkServer.java Changeset: 813546f9 Branch: master Author: Aleksey Shipilev Date: 2024-08-22 19:48:25 +0000 URL: https://git.openjdk.org/loom/commit/813546f9236d278c380888f1f90cd49b23792d92 8338856: [BACKOUT] JDK-8337828: CDS: Trim down minimum GC region alignment Reviewed-by: dcubed ! src/hotspot/share/cds/archiveHeapWriter.hpp Changeset: c89a1c35 Branch: master Author: Brian Burkhalter Date: 2024-08-22 21:41:25 +0000 URL: https://git.openjdk.org/loom/commit/c89a1c35bda9002ee687b3fa267f3ef9cba78b00 8338696: (fs) BasicFileAttributes.creationTime() falls back to epoch if birth time is unavailable (Linux) Reviewed-by: sgehwolf, alanb ! src/java.base/unix/native/libnio/fs/UnixNativeDispatcher.c Changeset: ea337098 Branch: master Author: David Holmes Date: 2024-08-23 02:35:48 +0000 URL: https://git.openjdk.org/loom/commit/ea3370982bfd3da4b200b738dd3b8c16cebb3a34 8328880: Events::log_exception should limit the size of the logging message Reviewed-by: shade, kvn ! src/hotspot/share/utilities/events.cpp ! src/hotspot/share/utilities/events.hpp ! src/hotspot/share/utilities/exceptions.cpp Changeset: e06652ad Branch: master Author: Axel Boldt-Christmas Date: 2024-08-23 05:47:29 +0000 URL: https://git.openjdk.org/loom/commit/e06652ad3c02dfe54104eaa04eaa3d117699b27f 8338810: PPC, s390x: LightweightSynchronizer::exit asserts, missing lock Reviewed-by: mdoerr, amitkumar ! src/hotspot/cpu/ppc/macroAssembler_ppc.cpp ! src/hotspot/cpu/s390/macroAssembler_s390.cpp Changeset: 8e0d0190 Branch: master Author: SendaoYan Date: 2024-08-23 06:26:24 +0000 URL: https://git.openjdk.org/loom/commit/8e0d0190ed19bc1a9d4ec0c6ee3aa6454542989f 8338630: Test java/nio/channels/DatagramChannel/SendReceiveMaxSize.java timeout Reviewed-by: dfuchs, jpai, djelinski ! test/lib/jdk/test/lib/NetworkConfiguration.java Changeset: 9cbf685b Branch: master Author: Stefan Karlsson Date: 2024-08-23 07:09:40 +0000 URL: https://git.openjdk.org/loom/commit/9cbf685b0b1ade5e6ddebfeec225b2efb5cf4cfc 8337658: ZGC: Move soft reference handling out of the driver loop function Reviewed-by: gli, aboldtch, eosterlund ! src/hotspot/share/gc/z/zDriver.cpp ! src/hotspot/share/gc/z/zDriver.hpp ! src/hotspot/share/gc/z/zGeneration.cpp ! src/hotspot/share/gc/z/zGeneration.hpp ! src/hotspot/share/gc/z/zHeap.inline.hpp ! src/hotspot/share/gc/z/zPageAllocator.cpp ! src/hotspot/share/gc/z/zReferenceProcessor.cpp ! src/hotspot/share/gc/z/zReferenceProcessor.hpp Changeset: a5e28005 Branch: master Author: Pavel Rappo Date: 2024-08-23 08:05:16 +0000 URL: https://git.openjdk.org/loom/commit/a5e28005fa95426f811e1ed98a7d726cbdbe196d 8338834: Remove unused import declarations in java.compiler Reviewed-by: darcy ! src/java.compiler/share/classes/javax/annotation/processing/Filer.java ! src/java.compiler/share/classes/javax/lang/model/SourceVersion.java ! src/java.compiler/share/classes/javax/lang/model/element/Element.java ! src/java.compiler/share/classes/javax/lang/model/element/TypeElement.java ! src/java.compiler/share/classes/javax/lang/model/element/VariableElement.java ! src/java.compiler/share/classes/javax/lang/model/type/TypeVariable.java ! src/java.compiler/share/classes/javax/lang/model/type/TypeVisitor.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitorPreview.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitorPreview.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitor9.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitorPreview.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor6.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor9.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitorPreview.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementScanner14.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementScanner6.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementScanner7.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementScanner9.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementScannerPreview.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitorPreview.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor6.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor7.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitorPreview.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitor6.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitor7.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitor9.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitorPreview.java ! src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitorPreview.java ! src/java.compiler/share/classes/javax/lang/model/util/Types.java Changeset: fead3cf5 Branch: master Author: Markus Gr?nlund Date: 2024-08-23 09:26:00 +0000 URL: https://git.openjdk.org/loom/commit/fead3cf54130e3ab10f94a94dfbd382e4cb1e597 8338745: Intrinsify Continuation.pin() and Continuation.unpin() Reviewed-by: kvn ! src/hotspot/share/classfile/vmIntrinsics.cpp ! src/hotspot/share/classfile/vmIntrinsics.hpp ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/opto/c2compiler.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/library_call.hpp ! src/hotspot/share/runtime/continuationEntry.hpp ! src/java.base/share/classes/jdk/internal/vm/Continuation.java Changeset: 69bd227e Branch: master Author: Markus Gr?nlund Date: 2024-08-23 09:29:23 +0000 URL: https://git.openjdk.org/loom/commit/69bd227e6c497eb82c46ab85125610c0b44dc04e 8338417: Explicitly pin a virtual thread before acquiring the JFR string pool monitor Reviewed-by: alanb, egahlin, dholmes ! src/hotspot/share/jfr/writers/jfrJavaEventWriter.cpp ! src/hotspot/share/opto/library_call.cpp ! src/java.base/share/classes/module-info.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/StringPool.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/event/EventWriter.java + test/jdk/jdk/jfr/threading/TestStringPoolVirtualThreadPinning.java Changeset: 965dd1ac Branch: master Author: Qizheng Xing Date: 2024-08-23 09:30:47 +0000 URL: https://git.openjdk.org/loom/commit/965dd1acd0ce5b225d85e2c55cc097856e0e9f3c 8333334: C2: Make result of `Node::dominates` more precise to enhance scalar replacement Reviewed-by: chagedorn, kvn, thartmann ! src/hotspot/share/opto/memnode.cpp ! src/hotspot/share/opto/memnode.hpp ! src/hotspot/share/opto/node.cpp ! src/hotspot/share/opto/node.hpp + test/hotspot/jtreg/compiler/c2/irTests/scalarReplacement/ScalarReplacementWithGCBarrierTests.java ! test/micro/org/openjdk/bench/java/util/concurrent/Maps.java Changeset: 21d1e4d8 Branch: master Author: Erik Gahlin Date: 2024-08-23 09:59:15 +0000 URL: https://git.openjdk.org/loom/commit/21d1e4d8039ecccbf60138ede574e0177ee5550f 8338819: JFR: Internal events causes crash when no other events are in use Reviewed-by: mgronlun, sjohanss ! src/hotspot/share/jfr/jni/jfrUpcalls.cpp Changeset: 916f1aa0 Branch: master Author: Tejesh R Date: 2024-08-23 10:51:12 +0000 URL: https://git.openjdk.org/loom/commit/916f1aa04f6fcc6da9bf9d725e3639cf4c0755a1 8329756: [macos] "javax/swing/JTable/KeyBoardNavigation.java" fail because most combinations of navigational keys with the Ctrl key do not work Reviewed-by: abhiscxk, dnguyen ! src/java.desktop/macosx/classes/com/apple/laf/AquaKeyBindings.java ! test/jdk/javax/swing/JTable/KeyBoardNavigation.java Changeset: a461369f Branch: master Author: Chen Liang Date: 2024-08-23 15:16:44 +0000 URL: https://git.openjdk.org/loom/commit/a461369f16a2d92ab428d14c36dd69fa5942bbc5 8338700: AttributeMapper type parameter should be bounded by Attribute Reviewed-by: asotona ! src/java.base/share/classes/java/lang/classfile/AttributeMapper.java ! src/java.base/share/classes/java/lang/classfile/package-info.java ! src/java.base/share/classes/jdk/internal/classfile/impl/AttributeHolder.java ! src/java.base/share/classes/jdk/internal/classfile/impl/BoundAttribute.java ! src/java.base/share/classes/jdk/internal/classfile/impl/Util.java Changeset: 23dc3b02 Branch: master Author: Brian Burkhalter Date: 2024-08-23 16:32:14 +0000 URL: https://git.openjdk.org/loom/commit/23dc3b02468836f4c9b4303f2c7c0a7305461ce1 8324048: (fc) Make FileKey fields final Reviewed-by: djelinski, alanb, jpai ! src/java.base/unix/classes/sun/nio/ch/FileKey.java ! src/java.base/unix/native/libnio/ch/FileKey.c ! src/java.base/windows/classes/sun/nio/ch/FileKey.java ! src/java.base/windows/native/libnio/ch/FileKey.c Changeset: 5d12ac3f Branch: master Author: Joe Darcy Date: 2024-08-23 20:01:16 +0000 URL: https://git.openjdk.org/loom/commit/5d12ac3fcb076bf701d7a572942f57f4de7a9ca0 8337715: Update --release 23 symbol information for JDK 23 build 37 Reviewed-by: iris, liach ! src/jdk.compiler/share/data/symbols/java.base-N.sym.txt Changeset: 32b3d707 Branch: master Author: Daniel D. Daugherty Date: 2024-08-23 22:04:43 +0000 URL: https://git.openjdk.org/loom/commit/32b3d707c1b3a9a0d127684e245e5c975ac5566a 8338925: ProblemList runtime/interpreter/LastJsrTest.java on linux-all Reviewed-by: matsaave ! test/hotspot/jtreg/ProblemList.txt Changeset: 5671f836 Branch: master Author: Sergey Bylokhov Date: 2024-08-24 00:05:30 +0000 URL: https://git.openjdk.org/loom/commit/5671f836039ef1683e3e9ce5b7cf0fa2f1860e2d 8338785: The java.awt.datatransfer.SystemFlavorMap#FLAVOR_MAP_KEY field is not used Reviewed-by: honkar, dnguyen, prr ! src/java.datatransfer/share/classes/java/awt/datatransfer/SystemFlavorMap.java From alan.bateman at oracle.com Tue Aug 27 06:39:57 2024 From: alan.bateman at oracle.com (Alan Bateman) Date: Tue, 27 Aug 2024 07:39:57 +0100 Subject: Scoped Values (Fourth Preview) In-Reply-To: <31b926ff-05b0-40e2-bacf-d79fa779c8e4@redhat.com> References: <31b926ff-05b0-40e2-bacf-d79fa779c8e4@redhat.com> Message-ID: <71216c54-88d4-4fd8-a429-d6e126040c81@oracle.com> On 22/08/2024 17:55, Andrew Haley wrote: > : > > Alan (Bateman), will you please put the Javadoc somewhere and send me > a link, > so I can link it to the PR? Thanks. > The EA builds on jdk.java.net have been refreshed and this includes the updated API docs [1]. -Alan [1] https://download.java.net/java/early_access/loom/docs/api/java.base/java/lang/ScopedValue.html From duke at openjdk.org Tue Aug 27 16:57:18 2024 From: duke at openjdk.org (duke) Date: Tue, 27 Aug 2024 16:57:18 GMT Subject: git: openjdk/loom: fibers: 24 new changesets Message-ID: <8c79b778-a8b2-447c-89f3-fef09c127cba@openjdk.org> Changeset: 0c14579f Branch: fibers Author: Roland Westrelin Date: 2024-08-26 07:31:04 +0000 URL: https://git.openjdk.org/loom/commit/0c14579fef902f0501d0510bdc32e8cece34834a 8336830: C2: assert(get_loop(lca)->_nest < n_loop->_nest || lca->in(0)->is_NeverBranch()) failed: must not be moved into inner loop Co-authored-by: Emanuel Peter Reviewed-by: thartmann, chagedorn, epeter ! src/hotspot/share/opto/loopopts.cpp + test/hotspot/jtreg/compiler/loopopts/TestSunkNodeInInfiniteLoop.java Changeset: ce83f6af Branch: fibers Author: Roland Westrelin Date: 2024-08-26 07:32:19 +0000 URL: https://git.openjdk.org/loom/commit/ce83f6af64efd673b83c945765f68e8a3bf89774 8338844: C2: remove useless code in PhaseIdealLoop::place_outside_loop() after 8335709 Reviewed-by: chagedorn, thartmann ! src/hotspot/share/opto/loopopts.cpp Changeset: 20d8f58c Branch: fibers Author: Maurizio Cimadamore Date: 2024-08-26 09:17:45 +0000 URL: https://git.openjdk.org/loom/commit/20d8f58c92009a46dfb91b951e7d87b4cb8e8b41 8331671: Implement JEP 472: Prepare to Restrict the Use of JNI Reviewed-by: jpai, prr, ihse, kcr, alanb ! make/conf/module-loader-map.conf ! make/test/BuildTestLib.gmk ! src/hotspot/share/classfile/vmClassMacros.hpp ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/prims/nativeLookup.cpp ! src/hotspot/share/runtime/arguments.cpp ! src/java.base/share/classes/java/lang/ClassLoader.java ! src/java.base/share/classes/java/lang/Module.java ! src/java.base/share/classes/java/lang/ModuleLayer.java ! src/java.base/share/classes/java/lang/Runtime.java ! src/java.base/share/classes/java/lang/System.java ! src/java.base/share/classes/java/lang/foreign/AddressLayout.java ! src/java.base/share/classes/java/lang/foreign/Linker.java ! src/java.base/share/classes/java/lang/foreign/SymbolLookup.java ! src/java.base/share/classes/java/lang/foreign/package-info.java ! src/java.base/share/classes/jdk/internal/access/JavaLangAccess.java ! src/java.base/share/classes/jdk/internal/foreign/AbstractMemorySegmentImpl.java ! src/java.base/share/classes/jdk/internal/foreign/abi/AbstractLinker.java ! src/java.base/share/classes/jdk/internal/foreign/abi/fallback/LibFallback.java ! src/java.base/share/classes/jdk/internal/foreign/layout/ValueLayouts.java ! src/java.base/share/classes/jdk/internal/jimage/NativeImageBuffer.java ! src/java.base/share/classes/jdk/internal/module/ModuleBootstrap.java ! src/java.base/share/classes/jdk/internal/reflect/Reflection.java ! src/java.base/share/classes/sun/launcher/resources/launcher.properties ! src/java.base/share/man/java.1 ! src/java.desktop/macosx/classes/com/apple/eio/FileManager.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaFileView.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaLookAndFeel.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaMenuBarUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaNativeResources.java ! src/java.desktop/macosx/classes/com/apple/laf/ScreenMenu.java ! src/java.desktop/macosx/classes/sun/awt/PlatformGraphicsInfo.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CAccessibility.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/LWCToolkit.java ! src/java.desktop/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java ! src/java.desktop/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageWriter.java ! src/java.desktop/share/classes/com/sun/media/sound/Platform.java ! src/java.desktop/share/classes/java/awt/SplashScreen.java ! src/java.desktop/share/classes/java/awt/Toolkit.java ! src/java.desktop/share/classes/java/awt/event/NativeLibLoader.java ! src/java.desktop/share/classes/java/awt/image/ColorModel.java ! src/java.desktop/share/classes/sun/awt/NativeLibLoader.java ! src/java.desktop/share/classes/sun/awt/image/ImagingLib.java ! src/java.desktop/share/classes/sun/awt/image/JPEGImageDecoder.java ! src/java.desktop/share/classes/sun/awt/image/NativeLibLoader.java ! src/java.desktop/share/classes/sun/font/FontManagerNativeLibrary.java ! src/java.desktop/share/classes/sun/java2d/Disposer.java ! src/java.desktop/share/classes/sun/java2d/cmm/lcms/LCMS.java ! src/java.desktop/unix/classes/sun/awt/X11GraphicsEnvironment.java ! src/java.desktop/unix/classes/sun/print/CUPSPrinter.java ! src/java.desktop/windows/classes/sun/awt/PlatformGraphicsInfo.java ! src/java.desktop/windows/classes/sun/awt/windows/WToolkit.java ! src/java.desktop/windows/classes/sun/print/PrintServiceLookupProvider.java ! src/java.instrument/share/classes/sun/instrument/InstrumentationImpl.java ! src/java.management/share/classes/java/lang/management/ManagementFactory.java ! src/java.prefs/macosx/classes/java/util/prefs/MacOSXPreferencesFile.java ! src/java.prefs/unix/classes/java/util/prefs/FileSystemPreferences.java ! src/java.prefs/windows/classes/java/util/prefs/WindowsPreferences.java ! src/java.rmi/share/classes/sun/rmi/transport/GC.java ! src/java.security.jgss/share/classes/sun/security/jgss/wrapper/SunNativeProvider.java ! src/java.security.jgss/share/classes/sun/security/krb5/Credentials.java ! src/java.security.jgss/share/classes/sun/security/krb5/SCDynamicStoreConfig.java ! src/java.smartcardio/unix/classes/sun/security/smartcardio/PlatformPCSC.java ! src/java.smartcardio/windows/classes/sun/security/smartcardio/PlatformPCSC.java ! src/jdk.accessibility/windows/classes/com/sun/java/accessibility/internal/AccessBridge.java ! src/jdk.attach/aix/classes/sun/tools/attach/VirtualMachineImpl.java ! src/jdk.attach/linux/classes/sun/tools/attach/VirtualMachineImpl.java ! src/jdk.attach/macosx/classes/sun/tools/attach/VirtualMachineImpl.java ! src/jdk.attach/windows/classes/sun/tools/attach/AttachProviderImpl.java ! src/jdk.attach/windows/classes/sun/tools/attach/VirtualMachineImpl.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/wrapper/PKCS11.java ! src/jdk.crypto.mscapi/windows/classes/sun/security/mscapi/SunMSCAPI.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/bsd/BsdDebuggerLocal.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/LinuxDebuggerLocal.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/windbg/WindbgDebuggerLocal.java ! src/jdk.jdi/windows/classes/com/sun/tools/jdi/SharedMemoryTransportService.java ! src/jdk.jpackage/windows/classes/jdk/jpackage/internal/ExecutableRebrander.java ! src/jdk.jpackage/windows/classes/jdk/jpackage/internal/WinExeBundler.java ! src/jdk.jpackage/windows/classes/jdk/jpackage/internal/WindowsRegistry.java ! src/jdk.management.agent/unix/classes/jdk/internal/agent/FileSystemImpl.java ! src/jdk.management.agent/windows/classes/jdk/internal/agent/FileSystemImpl.java ! src/jdk.management/share/classes/com/sun/management/internal/Flag.java ! src/jdk.management/share/classes/com/sun/management/internal/PlatformMBeanProviderImpl.java ! src/jdk.net/aix/classes/jdk/net/AIXSocketOptions.java ! src/jdk.net/linux/classes/jdk/net/LinuxSocketOptions.java ! src/jdk.net/macosx/classes/jdk/net/MacOSXSocketOptions.java ! src/jdk.net/windows/classes/jdk/net/WindowsSocketOptions.java ! src/jdk.sctp/unix/classes/sun/nio/ch/sctp/SctpChannelImpl.java ! src/jdk.sctp/unix/classes/sun/nio/ch/sctp/SctpNet.java ! src/jdk.security.auth/share/classes/com/sun/security/auth/module/NTSystem.java ! src/jdk.security.auth/share/classes/com/sun/security/auth/module/UnixSystem.java ! test/hotspot/jtreg/runtime/jni/checked/TestCheckedReleaseArrayElements.java ! test/jdk/java/foreign/TestRestricted.java ! test/jdk/java/foreign/enablenativeaccess/TestEnableNativeAccess.java ! test/jdk/java/foreign/enablenativeaccess/TestEnableNativeAccessBase.java ! test/jdk/java/foreign/enablenativeaccess/TestEnableNativeAccessDynamic.java = test/jdk/java/foreign/enablenativeaccess/panama_jni_def_module/module-info.java + test/jdk/java/foreign/enablenativeaccess/panama_jni_def_module/org/openjdk/jni/def/PanamaJNIDef.java = test/jdk/java/foreign/enablenativeaccess/panama_jni_def_module/org/openjdk/jni/def/libLinkerInvokerModule.cpp = test/jdk/java/foreign/enablenativeaccess/panama_jni_load_module/module-info.java + test/jdk/java/foreign/enablenativeaccess/panama_jni_load_module/org/openjdk/jni/PanamaMainJNI.java = test/jdk/java/foreign/enablenativeaccess/panama_jni_use_module/module-info.java + test/jdk/java/foreign/enablenativeaccess/panama_jni_use_module/org/openjdk/jni/use/PanamaJNIUse.java - test/jdk/java/foreign/enablenativeaccess/panama_module/org/openjdk/foreigntest/PanamaMainJNI.java ! test/jdk/java/foreign/handles/Driver.java ! test/jdk/java/foreign/handles/invoker_module/handle/invoker/MethodHandleInvoker.java ! test/jdk/java/foreign/handles/lookup_module/handle/lookup/MethodHandleLookup.java Changeset: e63418ee Branch: fibers Author: Claes Redestad Date: 2024-08-26 14:29:09 +0000 URL: https://git.openjdk.org/loom/commit/e63418ee017def80689c88671e5d124b2d453fda 8338979: Avoid bootstrapped switches in the classfile API Reviewed-by: liach, asotona ! src/java.base/share/classes/jdk/internal/classfile/impl/ClassFileImpl.java ! src/java.base/share/classes/jdk/internal/classfile/impl/StackMapDecoder.java Changeset: 3f00da84 Branch: fibers Author: Claes Redestad Date: 2024-08-26 15:58:25 +0000 URL: https://git.openjdk.org/loom/commit/3f00da84b3e6fb001e7d56acb198292b28d40c8b 8338906: Avoid passing EnumDescs and extra classes to type switch methods that don't use them Reviewed-by: liach, jlahoda ! src/java.base/share/classes/java/lang/runtime/SwitchBootstraps.java Changeset: a15af699 Branch: fibers Author: Tom?? Zezula Committer: Doug Simon Date: 2024-08-26 16:49:48 +0000 URL: https://git.openjdk.org/loom/commit/a15af6998e8f7adac2ded94ef5a47e22ddb53452 8338538: [JVMCI] Allow HotSpotJVMCIRuntime#getJObjectValue to be called by a HotSpot CompileBroker compiler thread Reviewed-by: dnsimon ! src/hotspot/share/jvmci/jvmciCompilerToVM.cpp Changeset: 0c744ea7 Branch: fibers Author: Phil Race Date: 2024-08-26 18:52:36 +0000 URL: https://git.openjdk.org/loom/commit/0c744ea7e75ba117503afe9c03993f3532742bb3 8338928: Update SwingSet2 "About" image to reference openjdk.org Reviewed-by: abhiscxk, honkar ! src/demo/share/jfc/SwingSet2/resources/images/About.jpg Changeset: 5ecbecfb Branch: fibers Author: Shaojin Wen Committer: Chen Liang Date: 2024-08-26 20:26:17 +0000 URL: https://git.openjdk.org/loom/commit/5ecbecfbcac681e9e6750be37ca4bc2591db21e6 8338936: StringConcatFactory optimize the construction of MethodType and MethodTypeDesc Reviewed-by: redestad, liach ! src/java.base/share/classes/java/lang/invoke/StringConcatFactory.java Changeset: a827ff05 Branch: fibers Author: Calvin Cheung Date: 2024-08-26 21:26:12 +0000 URL: https://git.openjdk.org/loom/commit/a827ff05dba0c9b7c74d83053a35c8041c1ac5cc 8335577: runtime/cds/appcds/TestParallelGCWithCDS.java still fails with JNI error Reviewed-by: dholmes, iklam ! test/hotspot/jtreg/runtime/cds/appcds/TestParallelGCWithCDS.java Changeset: 16df0907 Branch: fibers Author: David Holmes Date: 2024-08-26 22:26:40 +0000 URL: https://git.openjdk.org/loom/commit/16df0907842af4729e72fe706c76681c8c799c03 8338947: Deprecate the UseLinuxPosixThreadCPUClocks flag and remove it in a future release Reviewed-by: kbarrett, stuefe ! src/hotspot/os/linux/globals_linux.hpp ! src/hotspot/share/runtime/arguments.cpp ! test/hotspot/jtreg/runtime/CommandLine/VMDeprecatedOptions.java Changeset: 78f53efc Branch: fibers Author: Chihiro Ito Date: 2024-08-27 00:24:46 +0000 URL: https://git.openjdk.org/loom/commit/78f53efcd6a886375fac3fad69f428ecc852fcd6 8338938: The result of the combine method of SettingsControl is not used Reviewed-by: egahlin ! src/jdk.jfr/share/classes/jdk/jfr/internal/Control.java ! test/jdk/jdk/jfr/api/settings/TestFilterEvents.java Changeset: cd9e241f Branch: fibers Author: Julian Waters Date: 2024-08-27 04:13:54 +0000 URL: https://git.openjdk.org/loom/commit/cd9e241f0ec10c7b31d36cbfb994bc20d81a0517 8336289: Obliterate most references to _snprintf in the Windows JDK Reviewed-by: kbarrett, dholmes, jpai, mullan, djelinski, prr ! src/hotspot/os/windows/attachListener_windows.cpp ! src/hotspot/os/windows/os_windows.cpp ! src/hotspot/os/windows/perfMemory_windows.cpp ! src/java.base/windows/native/libjli/cmdtoargs.c ! src/java.desktop/share/native/libsplashscreen/splashscreen_impl.c ! src/java.desktop/windows/native/libawt/windows/awt_Debug.cpp ! src/jdk.accessibility/windows/native/jaccessinspector/jaccessinspector.cpp ! src/jdk.crypto.cryptoki/windows/native/libj2pkcs11/j2secmod_md.c ! src/jdk.hotspot.agent/share/native/libsaproc/sadis.c ! src/jdk.jdwp.agent/windows/native/libjdwp/linker_md.c ! src/jdk.jdwp.agent/windows/native/libjdwp/util_md.h ! src/jdk.management/windows/native/libmanagement_ext/OperatingSystemImpl.c Changeset: b8e8e965 Branch: fibers Author: Abhishek Kumar Date: 2024-08-27 04:15:08 +0000 URL: https://git.openjdk.org/loom/commit/b8e8e965e541881605f9dbcd4d9871d4952b9232 8338668: Test javax/swing/JFileChooser/8080628/bug8080628.java doesn't test for GTK L&F Reviewed-by: aivanov, honkar, prr ! test/jdk/javax/swing/JFileChooser/8080628/bug8080628.java Changeset: b704bfa2 Branch: fibers Author: Jan Lahoda Date: 2024-08-27 07:23:15 +0000 URL: https://git.openjdk.org/loom/commit/b704bfa205bbd8c56f128ce5d727d40c8a3ec613 8298920: Improve microbenchmark build times Reviewed-by: erikj, ihse, djelinski ! make/common/JavaCompilation.gmk ! make/test/BuildMicrobenchmark.gmk Changeset: aefdbdc7 Branch: fibers Author: Robbin Ehn Date: 2024-08-27 08:42:06 +0000 URL: https://git.openjdk.org/loom/commit/aefdbdc7e54ae92b5c2113504ce17abf00681e62 8338727: RISC-V: Avoid synthetic data dependency in nmethod barrier on Ztso Reviewed-by: mli, fyang ! src/hotspot/cpu/riscv/gc/shared/barrierSetAssembler_riscv.cpp Changeset: 2edf574f Branch: fibers Author: Martin Doerr Date: 2024-08-27 11:51:28 +0000 URL: https://git.openjdk.org/loom/commit/2edf574f62837678e621e1dfdd8d8a77dbe17ad6 8338814: [PPC64] Unify interface of cmpxchg for different types Reviewed-by: lucy ! src/hotspot/cpu/ppc/assembler_ppc.cpp ! src/hotspot/cpu/ppc/assembler_ppc.hpp ! src/hotspot/cpu/ppc/c1_LIRAssembler_ppc.cpp ! src/hotspot/cpu/ppc/gc/shenandoah/shenandoahBarrierSetAssembler_ppc.cpp ! src/hotspot/cpu/ppc/gc/z/zBarrierSetAssembler_ppc.cpp ! src/hotspot/cpu/ppc/macroAssembler_ppc.cpp ! src/hotspot/cpu/ppc/macroAssembler_ppc.hpp ! src/hotspot/cpu/ppc/ppc.ad ! src/hotspot/cpu/ppc/vtableStubs_ppc_64.cpp Changeset: d5c6158c Branch: fibers Author: Joakim Nordstr?m Committer: Markus Gr?nlund Date: 2024-08-27 13:17:21 +0000 URL: https://git.openjdk.org/loom/commit/d5c6158cedfd96a9f97d83355b10730b81274648 8338389: [JFR] Long strings should be added to the string pool Reviewed-by: mgronlun ! src/jdk.jfr/share/classes/jdk/jfr/internal/StringPool.java + test/jdk/jdk/jfr/jvm/TestLongStringsInPool.java Changeset: 414d23cb Branch: fibers Author: Viktor Klang Date: 2024-08-27 13:23:02 +0000 URL: https://git.openjdk.org/loom/commit/414d23cb8f3c2765ac6ba2da930f2cfe7a9ad419 8338765: ScheduledThreadPoolExecutor struggles with extremely long delays Reviewed-by: alanb ! src/java.base/share/classes/java/util/concurrent/ScheduledThreadPoolExecutor.java Changeset: 041a9f81 Branch: fibers Author: Alan Bateman Date: 2024-08-27 14:29:36 +0000 URL: https://git.openjdk.org/loom/commit/041a9f816b6edd31f4ffb9d47804d06f7b1271c3 Merge ! src/hotspot/cpu/ppc/macroAssembler_ppc.cpp ! src/hotspot/share/classfile/vmSymbols.hpp ! src/java.base/share/classes/java/lang/System.java ! src/java.base/share/classes/java/lang/invoke/StringConcatFactory.java ! src/java.base/share/classes/jdk/internal/access/JavaLangAccess.java ! src/jdk.management/share/classes/com/sun/management/internal/PlatformMBeanProviderImpl.java ! src/hotspot/cpu/ppc/macroAssembler_ppc.cpp ! src/hotspot/share/classfile/vmSymbols.hpp ! src/java.base/share/classes/java/lang/System.java ! src/java.base/share/classes/java/lang/invoke/StringConcatFactory.java ! src/java.base/share/classes/jdk/internal/access/JavaLangAccess.java ! src/jdk.management/share/classes/com/sun/management/internal/PlatformMBeanProviderImpl.java Changeset: 5448d3c2 Branch: fibers Author: Alan Bateman Date: 2024-08-27 14:36:59 +0000 URL: https://git.openjdk.org/loom/commit/5448d3c265db6388f8c6c26325298964842595b2 Remove workaround for JDK-8338765 ! src/java.base/share/classes/java/lang/VirtualThread.java Changeset: fdd199de Branch: fibers Author: Alan Bateman Date: 2024-08-25 10:09:12 +0000 URL: https://git.openjdk.org/loom/commit/fdd199de1ca41e972924e62ebf8a3cbf772d47fb No arg open method ! src/java.base/share/classes/java/lang/ScopedValue.java ! src/java.base/share/classes/java/util/concurrent/StructuredTaskScope.java ! test/jdk/java/util/concurrent/StructuredTaskScope/StructuredTaskScopeTest.java Changeset: bf3105e3 Branch: fibers Author: Alan Bateman Date: 2024-08-25 16:56:53 +0000 URL: https://git.openjdk.org/loom/commit/bf3105e316718aec7c91720225d5f463a303607a Spurious } in object name ! src/jdk.management/share/classes/jdk/management/VirtualThreadSchedulerMXBean.java Changeset: 195c4dc7 Branch: fibers Author: Alan Bateman Date: 2024-08-27 14:37:10 +0000 URL: https://git.openjdk.org/loom/commit/195c4dc7875e59c4561102d89b8a36ef72b8f3c9 Merge Changeset: 66860a86 Branch: fibers Author: Alan Bateman Date: 2024-08-27 17:41:50 +0000 URL: https://git.openjdk.org/loom/commit/66860a863b2ff1ba56afbec39bd1a83dfb8c939a Exclude runtime/interpreter/LastJsrTest.java on all platforms ! test/hotspot/jtreg/ProblemList.txt From duke at openjdk.org Tue Aug 27 16:58:22 2024 From: duke at openjdk.org (duke) Date: Tue, 27 Aug 2024 16:58:22 GMT Subject: git: openjdk/loom: master: 18 new changesets Message-ID: <3b66dc53-68b3-4850-90ee-3ec994292059@openjdk.org> Changeset: 0c14579f Branch: master Author: Roland Westrelin Date: 2024-08-26 07:31:04 +0000 URL: https://git.openjdk.org/loom/commit/0c14579fef902f0501d0510bdc32e8cece34834a 8336830: C2: assert(get_loop(lca)->_nest < n_loop->_nest || lca->in(0)->is_NeverBranch()) failed: must not be moved into inner loop Co-authored-by: Emanuel Peter Reviewed-by: thartmann, chagedorn, epeter ! src/hotspot/share/opto/loopopts.cpp + test/hotspot/jtreg/compiler/loopopts/TestSunkNodeInInfiniteLoop.java Changeset: ce83f6af Branch: master Author: Roland Westrelin Date: 2024-08-26 07:32:19 +0000 URL: https://git.openjdk.org/loom/commit/ce83f6af64efd673b83c945765f68e8a3bf89774 8338844: C2: remove useless code in PhaseIdealLoop::place_outside_loop() after 8335709 Reviewed-by: chagedorn, thartmann ! src/hotspot/share/opto/loopopts.cpp Changeset: 20d8f58c Branch: master Author: Maurizio Cimadamore Date: 2024-08-26 09:17:45 +0000 URL: https://git.openjdk.org/loom/commit/20d8f58c92009a46dfb91b951e7d87b4cb8e8b41 8331671: Implement JEP 472: Prepare to Restrict the Use of JNI Reviewed-by: jpai, prr, ihse, kcr, alanb ! make/conf/module-loader-map.conf ! make/test/BuildTestLib.gmk ! src/hotspot/share/classfile/vmClassMacros.hpp ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/prims/nativeLookup.cpp ! src/hotspot/share/runtime/arguments.cpp ! src/java.base/share/classes/java/lang/ClassLoader.java ! src/java.base/share/classes/java/lang/Module.java ! src/java.base/share/classes/java/lang/ModuleLayer.java ! src/java.base/share/classes/java/lang/Runtime.java ! src/java.base/share/classes/java/lang/System.java ! src/java.base/share/classes/java/lang/foreign/AddressLayout.java ! src/java.base/share/classes/java/lang/foreign/Linker.java ! src/java.base/share/classes/java/lang/foreign/SymbolLookup.java ! src/java.base/share/classes/java/lang/foreign/package-info.java ! src/java.base/share/classes/jdk/internal/access/JavaLangAccess.java ! src/java.base/share/classes/jdk/internal/foreign/AbstractMemorySegmentImpl.java ! src/java.base/share/classes/jdk/internal/foreign/abi/AbstractLinker.java ! src/java.base/share/classes/jdk/internal/foreign/abi/fallback/LibFallback.java ! src/java.base/share/classes/jdk/internal/foreign/layout/ValueLayouts.java ! src/java.base/share/classes/jdk/internal/jimage/NativeImageBuffer.java ! src/java.base/share/classes/jdk/internal/module/ModuleBootstrap.java ! src/java.base/share/classes/jdk/internal/reflect/Reflection.java ! src/java.base/share/classes/sun/launcher/resources/launcher.properties ! src/java.base/share/man/java.1 ! src/java.desktop/macosx/classes/com/apple/eio/FileManager.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaFileView.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaLookAndFeel.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaMenuBarUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaNativeResources.java ! src/java.desktop/macosx/classes/com/apple/laf/ScreenMenu.java ! src/java.desktop/macosx/classes/sun/awt/PlatformGraphicsInfo.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CAccessibility.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/LWCToolkit.java ! src/java.desktop/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java ! src/java.desktop/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageWriter.java ! src/java.desktop/share/classes/com/sun/media/sound/Platform.java ! src/java.desktop/share/classes/java/awt/SplashScreen.java ! src/java.desktop/share/classes/java/awt/Toolkit.java ! src/java.desktop/share/classes/java/awt/event/NativeLibLoader.java ! src/java.desktop/share/classes/java/awt/image/ColorModel.java ! src/java.desktop/share/classes/sun/awt/NativeLibLoader.java ! src/java.desktop/share/classes/sun/awt/image/ImagingLib.java ! src/java.desktop/share/classes/sun/awt/image/JPEGImageDecoder.java ! src/java.desktop/share/classes/sun/awt/image/NativeLibLoader.java ! src/java.desktop/share/classes/sun/font/FontManagerNativeLibrary.java ! src/java.desktop/share/classes/sun/java2d/Disposer.java ! src/java.desktop/share/classes/sun/java2d/cmm/lcms/LCMS.java ! src/java.desktop/unix/classes/sun/awt/X11GraphicsEnvironment.java ! src/java.desktop/unix/classes/sun/print/CUPSPrinter.java ! src/java.desktop/windows/classes/sun/awt/PlatformGraphicsInfo.java ! src/java.desktop/windows/classes/sun/awt/windows/WToolkit.java ! src/java.desktop/windows/classes/sun/print/PrintServiceLookupProvider.java ! src/java.instrument/share/classes/sun/instrument/InstrumentationImpl.java ! src/java.management/share/classes/java/lang/management/ManagementFactory.java ! src/java.prefs/macosx/classes/java/util/prefs/MacOSXPreferencesFile.java ! src/java.prefs/unix/classes/java/util/prefs/FileSystemPreferences.java ! src/java.prefs/windows/classes/java/util/prefs/WindowsPreferences.java ! src/java.rmi/share/classes/sun/rmi/transport/GC.java ! src/java.security.jgss/share/classes/sun/security/jgss/wrapper/SunNativeProvider.java ! src/java.security.jgss/share/classes/sun/security/krb5/Credentials.java ! src/java.security.jgss/share/classes/sun/security/krb5/SCDynamicStoreConfig.java ! src/java.smartcardio/unix/classes/sun/security/smartcardio/PlatformPCSC.java ! src/java.smartcardio/windows/classes/sun/security/smartcardio/PlatformPCSC.java ! src/jdk.accessibility/windows/classes/com/sun/java/accessibility/internal/AccessBridge.java ! src/jdk.attach/aix/classes/sun/tools/attach/VirtualMachineImpl.java ! src/jdk.attach/linux/classes/sun/tools/attach/VirtualMachineImpl.java ! src/jdk.attach/macosx/classes/sun/tools/attach/VirtualMachineImpl.java ! src/jdk.attach/windows/classes/sun/tools/attach/AttachProviderImpl.java ! src/jdk.attach/windows/classes/sun/tools/attach/VirtualMachineImpl.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/wrapper/PKCS11.java ! src/jdk.crypto.mscapi/windows/classes/sun/security/mscapi/SunMSCAPI.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/bsd/BsdDebuggerLocal.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/LinuxDebuggerLocal.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/windbg/WindbgDebuggerLocal.java ! src/jdk.jdi/windows/classes/com/sun/tools/jdi/SharedMemoryTransportService.java ! src/jdk.jpackage/windows/classes/jdk/jpackage/internal/ExecutableRebrander.java ! src/jdk.jpackage/windows/classes/jdk/jpackage/internal/WinExeBundler.java ! src/jdk.jpackage/windows/classes/jdk/jpackage/internal/WindowsRegistry.java ! src/jdk.management.agent/unix/classes/jdk/internal/agent/FileSystemImpl.java ! src/jdk.management.agent/windows/classes/jdk/internal/agent/FileSystemImpl.java ! src/jdk.management/share/classes/com/sun/management/internal/Flag.java ! src/jdk.management/share/classes/com/sun/management/internal/PlatformMBeanProviderImpl.java ! src/jdk.net/aix/classes/jdk/net/AIXSocketOptions.java ! src/jdk.net/linux/classes/jdk/net/LinuxSocketOptions.java ! src/jdk.net/macosx/classes/jdk/net/MacOSXSocketOptions.java ! src/jdk.net/windows/classes/jdk/net/WindowsSocketOptions.java ! src/jdk.sctp/unix/classes/sun/nio/ch/sctp/SctpChannelImpl.java ! src/jdk.sctp/unix/classes/sun/nio/ch/sctp/SctpNet.java ! src/jdk.security.auth/share/classes/com/sun/security/auth/module/NTSystem.java ! src/jdk.security.auth/share/classes/com/sun/security/auth/module/UnixSystem.java ! test/hotspot/jtreg/runtime/jni/checked/TestCheckedReleaseArrayElements.java ! test/jdk/java/foreign/TestRestricted.java ! test/jdk/java/foreign/enablenativeaccess/TestEnableNativeAccess.java ! test/jdk/java/foreign/enablenativeaccess/TestEnableNativeAccessBase.java ! test/jdk/java/foreign/enablenativeaccess/TestEnableNativeAccessDynamic.java = test/jdk/java/foreign/enablenativeaccess/panama_jni_def_module/module-info.java + test/jdk/java/foreign/enablenativeaccess/panama_jni_def_module/org/openjdk/jni/def/PanamaJNIDef.java = test/jdk/java/foreign/enablenativeaccess/panama_jni_def_module/org/openjdk/jni/def/libLinkerInvokerModule.cpp = test/jdk/java/foreign/enablenativeaccess/panama_jni_load_module/module-info.java + test/jdk/java/foreign/enablenativeaccess/panama_jni_load_module/org/openjdk/jni/PanamaMainJNI.java = test/jdk/java/foreign/enablenativeaccess/panama_jni_use_module/module-info.java + test/jdk/java/foreign/enablenativeaccess/panama_jni_use_module/org/openjdk/jni/use/PanamaJNIUse.java - test/jdk/java/foreign/enablenativeaccess/panama_module/org/openjdk/foreigntest/PanamaMainJNI.java ! test/jdk/java/foreign/handles/Driver.java ! test/jdk/java/foreign/handles/invoker_module/handle/invoker/MethodHandleInvoker.java ! test/jdk/java/foreign/handles/lookup_module/handle/lookup/MethodHandleLookup.java Changeset: e63418ee Branch: master Author: Claes Redestad Date: 2024-08-26 14:29:09 +0000 URL: https://git.openjdk.org/loom/commit/e63418ee017def80689c88671e5d124b2d453fda 8338979: Avoid bootstrapped switches in the classfile API Reviewed-by: liach, asotona ! src/java.base/share/classes/jdk/internal/classfile/impl/ClassFileImpl.java ! src/java.base/share/classes/jdk/internal/classfile/impl/StackMapDecoder.java Changeset: 3f00da84 Branch: master Author: Claes Redestad Date: 2024-08-26 15:58:25 +0000 URL: https://git.openjdk.org/loom/commit/3f00da84b3e6fb001e7d56acb198292b28d40c8b 8338906: Avoid passing EnumDescs and extra classes to type switch methods that don't use them Reviewed-by: liach, jlahoda ! src/java.base/share/classes/java/lang/runtime/SwitchBootstraps.java Changeset: a15af699 Branch: master Author: Tom?? Zezula Committer: Doug Simon Date: 2024-08-26 16:49:48 +0000 URL: https://git.openjdk.org/loom/commit/a15af6998e8f7adac2ded94ef5a47e22ddb53452 8338538: [JVMCI] Allow HotSpotJVMCIRuntime#getJObjectValue to be called by a HotSpot CompileBroker compiler thread Reviewed-by: dnsimon ! src/hotspot/share/jvmci/jvmciCompilerToVM.cpp Changeset: 0c744ea7 Branch: master Author: Phil Race Date: 2024-08-26 18:52:36 +0000 URL: https://git.openjdk.org/loom/commit/0c744ea7e75ba117503afe9c03993f3532742bb3 8338928: Update SwingSet2 "About" image to reference openjdk.org Reviewed-by: abhiscxk, honkar ! src/demo/share/jfc/SwingSet2/resources/images/About.jpg Changeset: 5ecbecfb Branch: master Author: Shaojin Wen Committer: Chen Liang Date: 2024-08-26 20:26:17 +0000 URL: https://git.openjdk.org/loom/commit/5ecbecfbcac681e9e6750be37ca4bc2591db21e6 8338936: StringConcatFactory optimize the construction of MethodType and MethodTypeDesc Reviewed-by: redestad, liach ! src/java.base/share/classes/java/lang/invoke/StringConcatFactory.java Changeset: a827ff05 Branch: master Author: Calvin Cheung Date: 2024-08-26 21:26:12 +0000 URL: https://git.openjdk.org/loom/commit/a827ff05dba0c9b7c74d83053a35c8041c1ac5cc 8335577: runtime/cds/appcds/TestParallelGCWithCDS.java still fails with JNI error Reviewed-by: dholmes, iklam ! test/hotspot/jtreg/runtime/cds/appcds/TestParallelGCWithCDS.java Changeset: 16df0907 Branch: master Author: David Holmes Date: 2024-08-26 22:26:40 +0000 URL: https://git.openjdk.org/loom/commit/16df0907842af4729e72fe706c76681c8c799c03 8338947: Deprecate the UseLinuxPosixThreadCPUClocks flag and remove it in a future release Reviewed-by: kbarrett, stuefe ! src/hotspot/os/linux/globals_linux.hpp ! src/hotspot/share/runtime/arguments.cpp ! test/hotspot/jtreg/runtime/CommandLine/VMDeprecatedOptions.java Changeset: 78f53efc Branch: master Author: Chihiro Ito Date: 2024-08-27 00:24:46 +0000 URL: https://git.openjdk.org/loom/commit/78f53efcd6a886375fac3fad69f428ecc852fcd6 8338938: The result of the combine method of SettingsControl is not used Reviewed-by: egahlin ! src/jdk.jfr/share/classes/jdk/jfr/internal/Control.java ! test/jdk/jdk/jfr/api/settings/TestFilterEvents.java Changeset: cd9e241f Branch: master Author: Julian Waters Date: 2024-08-27 04:13:54 +0000 URL: https://git.openjdk.org/loom/commit/cd9e241f0ec10c7b31d36cbfb994bc20d81a0517 8336289: Obliterate most references to _snprintf in the Windows JDK Reviewed-by: kbarrett, dholmes, jpai, mullan, djelinski, prr ! src/hotspot/os/windows/attachListener_windows.cpp ! src/hotspot/os/windows/os_windows.cpp ! src/hotspot/os/windows/perfMemory_windows.cpp ! src/java.base/windows/native/libjli/cmdtoargs.c ! src/java.desktop/share/native/libsplashscreen/splashscreen_impl.c ! src/java.desktop/windows/native/libawt/windows/awt_Debug.cpp ! src/jdk.accessibility/windows/native/jaccessinspector/jaccessinspector.cpp ! src/jdk.crypto.cryptoki/windows/native/libj2pkcs11/j2secmod_md.c ! src/jdk.hotspot.agent/share/native/libsaproc/sadis.c ! src/jdk.jdwp.agent/windows/native/libjdwp/linker_md.c ! src/jdk.jdwp.agent/windows/native/libjdwp/util_md.h ! src/jdk.management/windows/native/libmanagement_ext/OperatingSystemImpl.c Changeset: b8e8e965 Branch: master Author: Abhishek Kumar Date: 2024-08-27 04:15:08 +0000 URL: https://git.openjdk.org/loom/commit/b8e8e965e541881605f9dbcd4d9871d4952b9232 8338668: Test javax/swing/JFileChooser/8080628/bug8080628.java doesn't test for GTK L&F Reviewed-by: aivanov, honkar, prr ! test/jdk/javax/swing/JFileChooser/8080628/bug8080628.java Changeset: b704bfa2 Branch: master Author: Jan Lahoda Date: 2024-08-27 07:23:15 +0000 URL: https://git.openjdk.org/loom/commit/b704bfa205bbd8c56f128ce5d727d40c8a3ec613 8298920: Improve microbenchmark build times Reviewed-by: erikj, ihse, djelinski ! make/common/JavaCompilation.gmk ! make/test/BuildMicrobenchmark.gmk Changeset: aefdbdc7 Branch: master Author: Robbin Ehn Date: 2024-08-27 08:42:06 +0000 URL: https://git.openjdk.org/loom/commit/aefdbdc7e54ae92b5c2113504ce17abf00681e62 8338727: RISC-V: Avoid synthetic data dependency in nmethod barrier on Ztso Reviewed-by: mli, fyang ! src/hotspot/cpu/riscv/gc/shared/barrierSetAssembler_riscv.cpp Changeset: 2edf574f Branch: master Author: Martin Doerr Date: 2024-08-27 11:51:28 +0000 URL: https://git.openjdk.org/loom/commit/2edf574f62837678e621e1dfdd8d8a77dbe17ad6 8338814: [PPC64] Unify interface of cmpxchg for different types Reviewed-by: lucy ! src/hotspot/cpu/ppc/assembler_ppc.cpp ! src/hotspot/cpu/ppc/assembler_ppc.hpp ! src/hotspot/cpu/ppc/c1_LIRAssembler_ppc.cpp ! src/hotspot/cpu/ppc/gc/shenandoah/shenandoahBarrierSetAssembler_ppc.cpp ! src/hotspot/cpu/ppc/gc/z/zBarrierSetAssembler_ppc.cpp ! src/hotspot/cpu/ppc/macroAssembler_ppc.cpp ! src/hotspot/cpu/ppc/macroAssembler_ppc.hpp ! src/hotspot/cpu/ppc/ppc.ad ! src/hotspot/cpu/ppc/vtableStubs_ppc_64.cpp Changeset: d5c6158c Branch: master Author: Joakim Nordstr?m Committer: Markus Gr?nlund Date: 2024-08-27 13:17:21 +0000 URL: https://git.openjdk.org/loom/commit/d5c6158cedfd96a9f97d83355b10730b81274648 8338389: [JFR] Long strings should be added to the string pool Reviewed-by: mgronlun ! src/jdk.jfr/share/classes/jdk/jfr/internal/StringPool.java + test/jdk/jdk/jfr/jvm/TestLongStringsInPool.java Changeset: 414d23cb Branch: master Author: Viktor Klang Date: 2024-08-27 13:23:02 +0000 URL: https://git.openjdk.org/loom/commit/414d23cb8f3c2765ac6ba2da930f2cfe7a9ad419 8338765: ScheduledThreadPoolExecutor struggles with extremely long delays Reviewed-by: alanb ! src/java.base/share/classes/java/util/concurrent/ScheduledThreadPoolExecutor.java From fyang at openjdk.org Wed Aug 28 08:15:24 2024 From: fyang at openjdk.org (Fei Yang) Date: Wed, 28 Aug 2024 08:15:24 GMT Subject: RFR: RISC-V vthread support for JVM intrinsic monitors Message-ID: Testing: `make test TEST="hotspot_loom jdk_loom"` on linux-riscv64 platform with both release and fastdebug builds. ------------- Commit messages: - RISC-V vthread support for JVM intrinsic monitors Changes: https://git.openjdk.org/loom/pull/212/files Webrev: https://webrevs.openjdk.org/?repo=loom&pr=212&range=00 Stats: 594 lines in 25 files changed: 408 ins; 82 del; 104 mod Patch: https://git.openjdk.org/loom/pull/212.diff Fetch: git fetch https://git.openjdk.org/loom.git pull/212/head:pull/212 PR: https://git.openjdk.org/loom/pull/212 From rehn at openjdk.org Wed Aug 28 09:49:37 2024 From: rehn at openjdk.org (Robbin Ehn) Date: Wed, 28 Aug 2024 09:49:37 GMT Subject: RFR: RISC-V vthread support for JVM intrinsic monitors In-Reply-To: References: Message-ID: <28i1nBVTIWkYjc03n-IuRBx7W1RJ3YQZP9mgXpvMlb8=.58dd0e25-3d1c-478e-907a-2902549d7412@github.com> On Wed, 28 Aug 2024 08:08:34 GMT, Fei Yang wrote: > This ported vthread support for JVM intrinsic monitors to linux-riscv64 platform. > > Testing on linux-riscv64: > - [x] make test TEST="hotspot_loom jdk_loom" (release & fastdebug) > - [x] make test TEST=tier1/2/3 (release) > - [x] make test TEST=hotspot:tier4 (release) Nice work! ------------- PR Comment: https://git.openjdk.org/loom/pull/212#issuecomment-2314848827 From pchilanomate at openjdk.org Wed Aug 28 16:12:28 2024 From: pchilanomate at openjdk.org (Patricio Chilano Mateo) Date: Wed, 28 Aug 2024 16:12:28 GMT Subject: RFR: RISC-V vthread support for JVM intrinsic monitors In-Reply-To: References: Message-ID: On Wed, 28 Aug 2024 08:08:34 GMT, Fei Yang wrote: > This ported vthread support for JVM intrinsic monitors to linux-riscv64 platform. > > Testing on linux-riscv64: > - [x] make test TEST="hotspot_loom jdk_loom" (release & fastdebug) > - [x] make test TEST=tier1/2/3 (release) > - [x] make test TEST=hotspot:tier4 (release) Great! I see test jdk/java/lang/Thread/virtual/Parking.java should also have os.arch=="riscv64" added. ------------- PR Comment: https://git.openjdk.org/loom/pull/212#issuecomment-2315759945 From fyang at openjdk.org Thu Aug 29 01:08:28 2024 From: fyang at openjdk.org (Fei Yang) Date: Thu, 29 Aug 2024 01:08:28 GMT Subject: RFR: RISC-V vthread support for JVM intrinsic monitors [v2] In-Reply-To: References: Message-ID: > This ported vthread support for JVM intrinsic monitors to linux-riscv64 platform. > > Testing on linux-riscv64: > - [x] make test TEST="hotspot_loom jdk_loom" (release & fastdebug) > - [x] make test TEST=tier1/2/3 (release) > - [x] make test TEST=hotspot:tier4 (release) Fei Yang has updated the pull request incrementally with one additional commit since the last revision: Comment ------------- Changes: - all: https://git.openjdk.org/loom/pull/212/files - new: https://git.openjdk.org/loom/pull/212/files/663cad33..649a8b5a Webrevs: - full: https://webrevs.openjdk.org/?repo=loom&pr=212&range=01 - incr: https://webrevs.openjdk.org/?repo=loom&pr=212&range=00-01 Stats: 4 lines in 1 file changed: 0 ins; 0 del; 4 mod Patch: https://git.openjdk.org/loom/pull/212.diff Fetch: git fetch https://git.openjdk.org/loom.git pull/212/head:pull/212 PR: https://git.openjdk.org/loom/pull/212 From fyang at openjdk.org Thu Aug 29 01:59:36 2024 From: fyang at openjdk.org (Fei Yang) Date: Thu, 29 Aug 2024 01:59:36 GMT Subject: RFR: RISC-V vthread support for JVM intrinsic monitors In-Reply-To: References: Message-ID: On Wed, 28 Aug 2024 16:09:22 GMT, Patricio Chilano Mateo wrote: > Great! I see test jdk/java/lang/Thread/virtual/Parking.java should also have os.arch=="riscv64" added. Thanks for finding this! Seems that I missed this test somehow. Added and tested with both release and fastdebug builds on linux-riscv64. ------------- PR Comment: https://git.openjdk.org/loom/pull/212#issuecomment-2316567308 From alanb at openjdk.org Thu Aug 29 06:41:35 2024 From: alanb at openjdk.org (Alan Bateman) Date: Thu, 29 Aug 2024 06:41:35 GMT Subject: RFR: RISC-V vthread support for JVM intrinsic monitors In-Reply-To: References: Message-ID: On Thu, 29 Aug 2024 01:56:29 GMT, Fei Yang wrote: > Thanks for finding this! Seems that I missed this test somehow. Added and tested with both release and fastdebug builds on linux-riscv64. Thanks for the update. Once all ports that support VMContinuations are aligned then I think we can drop this `@requires` and have them be selected with `@requires vm.continuations` like the other tests. ------------- PR Comment: https://git.openjdk.org/loom/pull/212#issuecomment-2316823888 From duke at openjdk.org Thu Aug 29 08:19:02 2024 From: duke at openjdk.org (duke) Date: Thu, 29 Aug 2024 08:19:02 GMT Subject: git: openjdk/loom: fibers: 34 new changesets Message-ID: <69928287-3538-491b-894f-12252db2f721@openjdk.org> Changeset: b25095b0 Branch: fibers Author: Maurizio Cimadamore Date: 2024-08-27 14:26:31 +0000 URL: https://git.openjdk.org/loom/commit/b25095b08e4d21b95177a5fa3fff3807b2cf81e0 8338728: Misc issues in memory layout javadoc Reviewed-by: pminborg, psandoz ! src/java.base/share/classes/java/lang/foreign/MemoryLayout.java ! test/jdk/java/foreign/TestDereferencePath.java Changeset: 0f667103 Branch: fibers Author: Markus Gr?nlund Date: 2024-08-27 14:33:31 +0000 URL: https://git.openjdk.org/loom/commit/0f667103db7842fe9d3399f56baee0a5def4529e 8338939: Simplify processing of hidden class names Reviewed-by: egahlin ! src/hotspot/share/jfr/support/jfrSymbolTable.cpp ! src/hotspot/share/jfr/support/jfrSymbolTable.hpp Changeset: 1ff5f8d6 Branch: fibers Author: Albert Mingkun Yang Date: 2024-08-27 15:18:34 +0000 URL: https://git.openjdk.org/loom/commit/1ff5f8d65cf6153e517ee7a242d10536eee0d637 8338440: Parallel: Improve fragmentation mitigation in Full GC Co-authored-by: Guoxiong Li Reviewed-by: iwalulya, zgu, gli ! src/hotspot/share/gc/parallel/psParallelCompact.cpp ! src/hotspot/share/gc/parallel/psParallelCompact.hpp Changeset: fa4ff78b Branch: fibers Author: Naoto Sato Date: 2024-08-27 15:34:50 +0000 URL: https://git.openjdk.org/loom/commit/fa4ff78bd4ed029120717142eec6fb6352cb8e79 8338690: CompactNumberInstance.format incorrectly formats some numbers (few vs many) Reviewed-by: joehw, rriggs, jlu ! src/java.base/share/classes/java/text/CompactNumberFormat.java ! src/java.base/share/classes/java/text/DecimalFormat.java ! test/jdk/java/text/Format/CompactNumberFormat/TestCompactNumber.java Changeset: daf26178 Branch: fibers Author: Thomas Stuefe Date: 2024-08-27 15:46:10 +0000 URL: https://git.openjdk.org/loom/commit/daf26178be07bfe4a46592bcde092ce297a092bb 8338929: Make Metaspace::deallocate space-aware Reviewed-by: coleenp, adinn ! src/hotspot/share/memory/classLoaderMetaspace.cpp ! src/hotspot/share/memory/classLoaderMetaspace.hpp ! src/hotspot/share/memory/metadataFactory.hpp ! src/hotspot/share/memory/metaspace.cpp ! src/hotspot/share/memory/metaspace.hpp ! test/hotspot/gtest/metaspace/test_metaspace_misc.cpp Changeset: 44d3a68d Branch: fibers Author: Hamlin Li Date: 2024-08-27 16:20:18 +0000 URL: https://git.openjdk.org/loom/commit/44d3a68d8a73c119b64772687d74e5ce25926f4f 8314124: RISC-V: implement Base64 intrinsic - decoding Reviewed-by: fyang, rehn, tonyp ! src/hotspot/cpu/riscv/assembler_riscv.hpp ! src/hotspot/cpu/riscv/stubGenerator_riscv.cpp Changeset: 2e96f159 Branch: fibers Author: Per Minborg Date: 2024-08-27 16:24:50 +0000 URL: https://git.openjdk.org/loom/commit/2e96f159aaee782a627902c04dbd51daa3406ab5 8338489: Typo in MemorySegment doc Reviewed-by: rriggs, mcimadamore, iris ! src/java.base/share/classes/java/lang/foreign/MemorySegment.java Changeset: 284c3cde Branch: fibers Author: Neethu Prasad Date: 2024-08-27 16:45:34 +0000 URL: https://git.openjdk.org/loom/commit/284c3cde5e1b7115fb17c51f3ed17c1be95845bc 8336299: Improve GCLocker stall diagnostics Reviewed-by: ayang, shade, tschatzl ! src/hotspot/share/gc/shared/gcLocker.cpp Changeset: b1b4cd42 Branch: fibers Author: Alexander Zvegintsev Date: 2024-08-27 17:16:09 +0000 URL: https://git.openjdk.org/loom/commit/b1b4cd429a4135840966975dd0c068fe428e2ee6 8332158: [XWayland] test/jdk/java/awt/Mouse/EnterExitEvents/ResizingFrameTest.java Reviewed-by: serb, honkar ! test/jdk/ProblemList.txt ! test/jdk/java/awt/Mouse/EnterExitEvents/ResizingFrameTest.java Changeset: 449ca2c3 Branch: fibers Author: Shaojin Wen Committer: Chen Liang Date: 2024-08-27 22:10:05 +0000 URL: https://git.openjdk.org/loom/commit/449ca2c3c1cb5d056a2d259be2ff069ba2a36b80 8337832: Optimize datetime toString Reviewed-by: scolebourne, liach, naoto ! src/java.base/share/classes/java/time/LocalDateTime.java ! src/java.base/share/classes/java/time/OffsetDateTime.java ! src/java.base/share/classes/java/time/OffsetTime.java ! src/java.base/share/classes/java/time/ZonedDateTime.java Changeset: 8e88da05 Branch: fibers Author: Tejesh R Date: 2024-08-28 04:43:10 +0000 URL: https://git.openjdk.org/loom/commit/8e88da05b9966892e117b779d59a2e311a557a8d 8338041: Keyboard Navigation of JTable, Ctrl Shift RIGHT/LEFT doesn't follow native action in GTK L&F Reviewed-by: honkar, prr, abhiscxk ! src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKLookAndFeel.java + test/jdk/javax/swing/plaf/gtk/JTableCtrlShiftRightLeftKeyTest.java Changeset: 2e174c63 Branch: fibers Author: Jaikiran Pai Date: 2024-08-28 09:29:18 +0000 URL: https://git.openjdk.org/loom/commit/2e174c6367c7755d8541f9669f7f10ed89878f58 8338445: jdk.internal.loader.URLClassPath may leak JarFile instance when dealing with unexpected Class-Path entry in manifest Reviewed-by: michaelm, cstein, alanb ! src/java.base/share/classes/jdk/internal/loader/URLClassPath.java + test/jdk/java/net/URLClassLoader/JarLoaderCloseTest.java Changeset: 1ff9ac72 Branch: fibers Author: Maurizio Cimadamore Date: 2024-08-28 10:22:34 +0000 URL: https://git.openjdk.org/loom/commit/1ff9ac7233d51a58fd54a92d2c45761478574cc7 8338731: MemoryLayout::offsetHandle can return a negative offset Reviewed-by: pminborg, psandoz ! src/java.base/share/classes/java/lang/foreign/MemoryLayout.java ! src/java.base/share/classes/jdk/internal/foreign/LayoutPath.java ! test/jdk/java/foreign/TestLayoutPaths.java Changeset: 21505216 Branch: fibers Author: Nizar Benalla Committer: Pavel Rappo Date: 2024-08-28 11:01:15 +0000 URL: https://git.openjdk.org/loom/commit/2150521650d6b730cfe9d3ecb91d589c96862475 8322036: Improve help output from the javadoc tool Reviewed-by: prappo ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/ToolOptions.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/resources/javadoc.properties Changeset: 9d183bd0 Branch: fibers Author: Markus Gr?nlund Date: 2024-08-28 12:19:58 +0000 URL: https://git.openjdk.org/loom/commit/9d183bd02763ee4ff5aa8388e039d8b5a6964328 8339149: jfr_flush_event_writer - return value type mismatch Reviewed-by: egahlin ! src/hotspot/share/jfr/jni/jfrJniMethod.hpp Changeset: 32c97509 Branch: fibers Author: Albert Mingkun Yang Date: 2024-08-28 13:28:01 +0000 URL: https://git.openjdk.org/loom/commit/32c975098521e830ce706b67e7232a007c0846c7 8339160: [BACKOUT] JDK-8338440 Parallel: Improve fragmentation mitigation in Full GC Reviewed-by: tschatzl ! src/hotspot/share/gc/parallel/psParallelCompact.cpp ! src/hotspot/share/gc/parallel/psParallelCompact.hpp Changeset: b6700095 Branch: fibers Author: Eirik Bj?rsn?s Date: 2024-08-28 15:23:50 +0000 URL: https://git.openjdk.org/loom/commit/b6700095c018a67a55b746cd4eee763c68f538e0 8338729: Retire the test jdk/java/util/zip/TestZipError.java Reviewed-by: lancea - test/jdk/java/util/zip/TestZipError.java Changeset: 379f3db0 Branch: fibers Author: Daniel D. Daugherty Date: 2024-08-28 16:47:30 +0000 URL: https://git.openjdk.org/loom/commit/379f3db001fe4bffd3a00e0363a98275e7b2eba8 8339175: ProblemList runtime/interpreter/LastJsrTest.java on all platforms with Xcomp Reviewed-by: matsaave ! test/hotspot/jtreg/ProblemList-Xcomp.txt ! test/hotspot/jtreg/ProblemList.txt Changeset: 0c2b1758 Branch: fibers Author: Anthony Scarpino Date: 2024-08-28 17:24:33 +0000 URL: https://git.openjdk.org/loom/commit/0c2b175898d13b58ffe56e2f9cbc9d88173a61cf 8328608: Multiple NewSessionTicket support for TLS Reviewed-by: djelinski ! src/java.base/share/classes/sun/security/ssl/Finished.java ! src/java.base/share/classes/sun/security/ssl/NewSessionTicket.java ! src/java.base/share/classes/sun/security/ssl/PreSharedKeyExtension.java ! src/java.base/share/classes/sun/security/ssl/SSLConfiguration.java ! src/java.base/share/classes/sun/security/ssl/SSLEngineImpl.java ! src/java.base/share/classes/sun/security/ssl/SSLSessionContextImpl.java ! src/java.base/share/classes/sun/security/ssl/SSLSessionImpl.java ! src/java.base/share/classes/sun/security/ssl/SSLSocketImpl.java ! src/java.base/share/classes/sun/security/util/Cache.java ! test/jdk/javax/net/ssl/SSLSession/CertMsgCheck.java ! test/jdk/javax/net/ssl/SSLSession/CheckSessionContext.java ! test/jdk/javax/net/ssl/templates/TLSBase.java + test/jdk/sun/security/ssl/SSLSessionImpl/MultiNSTClient.java + test/jdk/sun/security/ssl/SSLSessionImpl/MultiNSTNoSessionCreation.java + test/jdk/sun/security/ssl/SSLSessionImpl/MultiNSTParallel.java + test/jdk/sun/security/ssl/SSLSessionImpl/MultiNSTSequence.java Changeset: 3d49fb8a Branch: fibers Author: Manukumar V S Date: 2024-08-28 17:54:43 +0000 URL: https://git.openjdk.org/loom/commit/3d49fb8a17ceec6e23595bc8affc89765899f72b 8338103: Stabilize and open source a Swing OGL ButtonResizeTest Reviewed-by: abhiscxk, prr, tr + test/jdk/javax/swing/JButton/SwingButtonResizeTestWithOpenGL.java Changeset: a98ecad0 Branch: fibers Author: Claes Redestad Date: 2024-08-28 18:16:00 +0000 URL: https://git.openjdk.org/loom/commit/a98ecad0a920f12d81386de3d0f549d542014773 8338897: Small startup regression remains after JDK-8309622 and JDK-8331932 Reviewed-by: liach, naoto ! src/java.base/share/classes/java/util/Locale.java ! src/java.base/share/classes/sun/util/locale/BaseLocale.java Changeset: eff6d9cd Branch: fibers Author: Claes Redestad Date: 2024-08-28 18:22:30 +0000 URL: https://git.openjdk.org/loom/commit/eff6d9cd23f9da8720a44ad628aa0a3e6f58facf 8339167: Remove AbstractPoolEntry.PrimitiveEntry to reduce boxing overheads Reviewed-by: liach ! src/java.base/share/classes/jdk/internal/classfile/impl/AbstractPoolEntry.java ! src/java.base/share/classes/jdk/internal/classfile/impl/SplitConstantPool.java Changeset: d03ec7aa Branch: fibers Author: Leonid Mesnik Date: 2024-08-28 20:17:25 +0000 URL: https://git.openjdk.org/loom/commit/d03ec7aad41d830b47801b7af75ee5e278128e69 8339030: frame::print_value_on(outputStream* st, JavaThread *thread) doesn't need thread argument Reviewed-by: dholmes, coleenp ! src/hotspot/share/oops/instanceStackChunkKlass.cpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/runtime/continuationFreezeThaw.cpp ! src/hotspot/share/runtime/frame.cpp ! src/hotspot/share/runtime/frame.hpp ! src/hotspot/share/runtime/javaThread.cpp ! src/hotspot/share/runtime/vframe.cpp Changeset: d08b5bd9 Branch: fibers Author: Leonid Mesnik Date: 2024-08-28 20:18:51 +0000 URL: https://git.openjdk.org/loom/commit/d08b5bd9f5f740d75c1acfbd644ce1c822e03833 8258483: [TESTBUG] gtest CollectorPolicy.young_scaled_initial_ergo_vm fails if heap is too small Reviewed-by: ayang ! test/hotspot/gtest/gc/shared/test_collectorPolicy.cpp Changeset: a8ac2872 Branch: fibers Author: Justin Lu Date: 2024-08-28 21:14:29 +0000 URL: https://git.openjdk.org/loom/commit/a8ac28725bfc22867c76856ddce094588a97b84c 8339126: JNI exception pending in Inflater.c Reviewed-by: lancea, vtewari, jpai, naoto ! src/java.base/share/native/libzip/Inflater.c Changeset: 72a49005 Branch: fibers Author: David Holmes Date: 2024-08-28 21:16:18 +0000 URL: https://git.openjdk.org/loom/commit/72a49005ee8c4aeb6dcf3eff4c56576a2b4d0081 8338888: SystemDictionary::class_name_symbol has incorrect length check Reviewed-by: stuefe, kbarrett, coleenp ! src/hotspot/share/classfile/systemDictionary.cpp ! test/hotspot/jtreg/runtime/exceptionMsgs/NoClassDefFoundError/NoClassDefFoundErrorTest.java ! test/hotspot/jtreg/runtime/exceptionMsgs/NoClassDefFoundError/libNoClassDefFoundErrorTest.c Changeset: 26e3d535 Branch: fibers Author: Brent Christian Date: 2024-08-28 22:54:38 +0000 URL: https://git.openjdk.org/loom/commit/26e3d535ad4d6e5d78ca50941cfa39dd337892a9 8338716: Re-visit "interrupt handling" in jdk.internal.loader.Resource Reviewed-by: alanb ! src/java.base/share/classes/jdk/internal/loader/Resource.java Changeset: 0ddcd701 Branch: fibers Author: Dean Long Date: 2024-08-29 00:34:11 +0000 URL: https://git.openjdk.org/loom/commit/0ddcd7017576a0f9c97a74b7d47624ae06ed06d6 8335120: assert(!target->can_be_statically_bound() || target == cha_monomorphic_target) failed Reviewed-by: kvn, vlivanov ! src/hotspot/share/c1/c1_GraphBuilder.cpp ! src/hotspot/share/ci/ciMethod.cpp ! src/hotspot/share/ci/ciMethod.hpp Changeset: eb7ead58 Branch: fibers Author: Prasanta Sadhukhan Date: 2024-08-29 05:03:15 +0000 URL: https://git.openjdk.org/loom/commit/eb7ead58fd70822669d2aa1a0053814e58955f82 8336873: BasicSplitPaneDivider:oneTouchExpandableChanged() should mention that implementation depends on SplitPane.supportsOneTouchButtons property Reviewed-by: prr, abhiscxk ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicSplitPaneDivider.java Changeset: 42aef900 Branch: fibers Author: Alan Bateman Date: 2024-08-29 06:38:17 +0000 URL: https://git.openjdk.org/loom/commit/42aef900210014927ea64ce028d042d544c77f97 Merge ! src/hotspot/share/oops/instanceStackChunkKlass.cpp ! src/hotspot/share/runtime/continuationFreezeThaw.cpp ! src/hotspot/share/runtime/frame.cpp ! src/hotspot/share/runtime/frame.hpp ! src/hotspot/share/runtime/javaThread.cpp ! src/hotspot/share/runtime/vframe.cpp ! test/hotspot/jtreg/ProblemList-Xcomp.txt ! test/hotspot/jtreg/ProblemList.txt ! src/hotspot/share/oops/instanceStackChunkKlass.cpp ! src/hotspot/share/runtime/continuationFreezeThaw.cpp ! src/hotspot/share/runtime/frame.cpp ! src/hotspot/share/runtime/frame.hpp ! src/hotspot/share/runtime/javaThread.cpp ! src/hotspot/share/runtime/vframe.cpp ! test/hotspot/jtreg/ProblemList-Xcomp.txt ! test/hotspot/jtreg/ProblemList.txt Changeset: f96747b4 Branch: fibers Author: Alan Bateman Date: 2024-08-28 15:34:58 +0000 URL: https://git.openjdk.org/loom/commit/f96747b48c7b8352ea9d0dc41de914323b6bb33f STS improvements, avoid dealing with checked ExecutionException ! src/java.base/share/classes/java/util/concurrent/StructuredTaskScope.java ! test/jdk/java/util/concurrent/StructuredTaskScope/StructuredTaskScopeTest.java Changeset: ef84eca9 Branch: fibers Author: Alan Bateman Date: 2024-08-29 06:38:23 +0000 URL: https://git.openjdk.org/loom/commit/ef84eca96d7ac8929b0dd5ba9d9d56f7722fd274 Merge Changeset: 7767d10d Branch: fibers Author: Alan Bateman Date: 2024-08-29 08:23:51 +0000 URL: https://git.openjdk.org/loom/commit/7767d10da49318ac23095f82327981da98275320 Fix typo in javadoc ! src/java.base/share/classes/java/util/concurrent/StructuredTaskScope.java Changeset: a1e56e7a Branch: fibers Author: Alan Bateman Date: 2024-08-29 08:23:59 +0000 URL: https://git.openjdk.org/loom/commit/a1e56e7a481da252709b8289549e471c7d81a7eb Merge From duke at openjdk.org Thu Aug 29 08:20:39 2024 From: duke at openjdk.org (duke) Date: Thu, 29 Aug 2024 08:20:39 GMT Subject: git: openjdk/loom: master: 29 new changesets Message-ID: Changeset: b25095b0 Branch: master Author: Maurizio Cimadamore Date: 2024-08-27 14:26:31 +0000 URL: https://git.openjdk.org/loom/commit/b25095b08e4d21b95177a5fa3fff3807b2cf81e0 8338728: Misc issues in memory layout javadoc Reviewed-by: pminborg, psandoz ! src/java.base/share/classes/java/lang/foreign/MemoryLayout.java ! test/jdk/java/foreign/TestDereferencePath.java Changeset: 0f667103 Branch: master Author: Markus Gr?nlund Date: 2024-08-27 14:33:31 +0000 URL: https://git.openjdk.org/loom/commit/0f667103db7842fe9d3399f56baee0a5def4529e 8338939: Simplify processing of hidden class names Reviewed-by: egahlin ! src/hotspot/share/jfr/support/jfrSymbolTable.cpp ! src/hotspot/share/jfr/support/jfrSymbolTable.hpp Changeset: 1ff5f8d6 Branch: master Author: Albert Mingkun Yang Date: 2024-08-27 15:18:34 +0000 URL: https://git.openjdk.org/loom/commit/1ff5f8d65cf6153e517ee7a242d10536eee0d637 8338440: Parallel: Improve fragmentation mitigation in Full GC Co-authored-by: Guoxiong Li Reviewed-by: iwalulya, zgu, gli ! src/hotspot/share/gc/parallel/psParallelCompact.cpp ! src/hotspot/share/gc/parallel/psParallelCompact.hpp Changeset: fa4ff78b Branch: master Author: Naoto Sato Date: 2024-08-27 15:34:50 +0000 URL: https://git.openjdk.org/loom/commit/fa4ff78bd4ed029120717142eec6fb6352cb8e79 8338690: CompactNumberInstance.format incorrectly formats some numbers (few vs many) Reviewed-by: joehw, rriggs, jlu ! src/java.base/share/classes/java/text/CompactNumberFormat.java ! src/java.base/share/classes/java/text/DecimalFormat.java ! test/jdk/java/text/Format/CompactNumberFormat/TestCompactNumber.java Changeset: daf26178 Branch: master Author: Thomas Stuefe Date: 2024-08-27 15:46:10 +0000 URL: https://git.openjdk.org/loom/commit/daf26178be07bfe4a46592bcde092ce297a092bb 8338929: Make Metaspace::deallocate space-aware Reviewed-by: coleenp, adinn ! src/hotspot/share/memory/classLoaderMetaspace.cpp ! src/hotspot/share/memory/classLoaderMetaspace.hpp ! src/hotspot/share/memory/metadataFactory.hpp ! src/hotspot/share/memory/metaspace.cpp ! src/hotspot/share/memory/metaspace.hpp ! test/hotspot/gtest/metaspace/test_metaspace_misc.cpp Changeset: 44d3a68d Branch: master Author: Hamlin Li Date: 2024-08-27 16:20:18 +0000 URL: https://git.openjdk.org/loom/commit/44d3a68d8a73c119b64772687d74e5ce25926f4f 8314124: RISC-V: implement Base64 intrinsic - decoding Reviewed-by: fyang, rehn, tonyp ! src/hotspot/cpu/riscv/assembler_riscv.hpp ! src/hotspot/cpu/riscv/stubGenerator_riscv.cpp Changeset: 2e96f159 Branch: master Author: Per Minborg Date: 2024-08-27 16:24:50 +0000 URL: https://git.openjdk.org/loom/commit/2e96f159aaee782a627902c04dbd51daa3406ab5 8338489: Typo in MemorySegment doc Reviewed-by: rriggs, mcimadamore, iris ! src/java.base/share/classes/java/lang/foreign/MemorySegment.java Changeset: 284c3cde Branch: master Author: Neethu Prasad Date: 2024-08-27 16:45:34 +0000 URL: https://git.openjdk.org/loom/commit/284c3cde5e1b7115fb17c51f3ed17c1be95845bc 8336299: Improve GCLocker stall diagnostics Reviewed-by: ayang, shade, tschatzl ! src/hotspot/share/gc/shared/gcLocker.cpp Changeset: b1b4cd42 Branch: master Author: Alexander Zvegintsev Date: 2024-08-27 17:16:09 +0000 URL: https://git.openjdk.org/loom/commit/b1b4cd429a4135840966975dd0c068fe428e2ee6 8332158: [XWayland] test/jdk/java/awt/Mouse/EnterExitEvents/ResizingFrameTest.java Reviewed-by: serb, honkar ! test/jdk/ProblemList.txt ! test/jdk/java/awt/Mouse/EnterExitEvents/ResizingFrameTest.java Changeset: 449ca2c3 Branch: master Author: Shaojin Wen Committer: Chen Liang Date: 2024-08-27 22:10:05 +0000 URL: https://git.openjdk.org/loom/commit/449ca2c3c1cb5d056a2d259be2ff069ba2a36b80 8337832: Optimize datetime toString Reviewed-by: scolebourne, liach, naoto ! src/java.base/share/classes/java/time/LocalDateTime.java ! src/java.base/share/classes/java/time/OffsetDateTime.java ! src/java.base/share/classes/java/time/OffsetTime.java ! src/java.base/share/classes/java/time/ZonedDateTime.java Changeset: 8e88da05 Branch: master Author: Tejesh R Date: 2024-08-28 04:43:10 +0000 URL: https://git.openjdk.org/loom/commit/8e88da05b9966892e117b779d59a2e311a557a8d 8338041: Keyboard Navigation of JTable, Ctrl Shift RIGHT/LEFT doesn't follow native action in GTK L&F Reviewed-by: honkar, prr, abhiscxk ! src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKLookAndFeel.java + test/jdk/javax/swing/plaf/gtk/JTableCtrlShiftRightLeftKeyTest.java Changeset: 2e174c63 Branch: master Author: Jaikiran Pai Date: 2024-08-28 09:29:18 +0000 URL: https://git.openjdk.org/loom/commit/2e174c6367c7755d8541f9669f7f10ed89878f58 8338445: jdk.internal.loader.URLClassPath may leak JarFile instance when dealing with unexpected Class-Path entry in manifest Reviewed-by: michaelm, cstein, alanb ! src/java.base/share/classes/jdk/internal/loader/URLClassPath.java + test/jdk/java/net/URLClassLoader/JarLoaderCloseTest.java Changeset: 1ff9ac72 Branch: master Author: Maurizio Cimadamore Date: 2024-08-28 10:22:34 +0000 URL: https://git.openjdk.org/loom/commit/1ff9ac7233d51a58fd54a92d2c45761478574cc7 8338731: MemoryLayout::offsetHandle can return a negative offset Reviewed-by: pminborg, psandoz ! src/java.base/share/classes/java/lang/foreign/MemoryLayout.java ! src/java.base/share/classes/jdk/internal/foreign/LayoutPath.java ! test/jdk/java/foreign/TestLayoutPaths.java Changeset: 21505216 Branch: master Author: Nizar Benalla Committer: Pavel Rappo Date: 2024-08-28 11:01:15 +0000 URL: https://git.openjdk.org/loom/commit/2150521650d6b730cfe9d3ecb91d589c96862475 8322036: Improve help output from the javadoc tool Reviewed-by: prappo ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/ToolOptions.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/resources/javadoc.properties Changeset: 9d183bd0 Branch: master Author: Markus Gr?nlund Date: 2024-08-28 12:19:58 +0000 URL: https://git.openjdk.org/loom/commit/9d183bd02763ee4ff5aa8388e039d8b5a6964328 8339149: jfr_flush_event_writer - return value type mismatch Reviewed-by: egahlin ! src/hotspot/share/jfr/jni/jfrJniMethod.hpp Changeset: 32c97509 Branch: master Author: Albert Mingkun Yang Date: 2024-08-28 13:28:01 +0000 URL: https://git.openjdk.org/loom/commit/32c975098521e830ce706b67e7232a007c0846c7 8339160: [BACKOUT] JDK-8338440 Parallel: Improve fragmentation mitigation in Full GC Reviewed-by: tschatzl ! src/hotspot/share/gc/parallel/psParallelCompact.cpp ! src/hotspot/share/gc/parallel/psParallelCompact.hpp Changeset: b6700095 Branch: master Author: Eirik Bj?rsn?s Date: 2024-08-28 15:23:50 +0000 URL: https://git.openjdk.org/loom/commit/b6700095c018a67a55b746cd4eee763c68f538e0 8338729: Retire the test jdk/java/util/zip/TestZipError.java Reviewed-by: lancea - test/jdk/java/util/zip/TestZipError.java Changeset: 379f3db0 Branch: master Author: Daniel D. Daugherty Date: 2024-08-28 16:47:30 +0000 URL: https://git.openjdk.org/loom/commit/379f3db001fe4bffd3a00e0363a98275e7b2eba8 8339175: ProblemList runtime/interpreter/LastJsrTest.java on all platforms with Xcomp Reviewed-by: matsaave ! test/hotspot/jtreg/ProblemList-Xcomp.txt ! test/hotspot/jtreg/ProblemList.txt Changeset: 0c2b1758 Branch: master Author: Anthony Scarpino Date: 2024-08-28 17:24:33 +0000 URL: https://git.openjdk.org/loom/commit/0c2b175898d13b58ffe56e2f9cbc9d88173a61cf 8328608: Multiple NewSessionTicket support for TLS Reviewed-by: djelinski ! src/java.base/share/classes/sun/security/ssl/Finished.java ! src/java.base/share/classes/sun/security/ssl/NewSessionTicket.java ! src/java.base/share/classes/sun/security/ssl/PreSharedKeyExtension.java ! src/java.base/share/classes/sun/security/ssl/SSLConfiguration.java ! src/java.base/share/classes/sun/security/ssl/SSLEngineImpl.java ! src/java.base/share/classes/sun/security/ssl/SSLSessionContextImpl.java ! src/java.base/share/classes/sun/security/ssl/SSLSessionImpl.java ! src/java.base/share/classes/sun/security/ssl/SSLSocketImpl.java ! src/java.base/share/classes/sun/security/util/Cache.java ! test/jdk/javax/net/ssl/SSLSession/CertMsgCheck.java ! test/jdk/javax/net/ssl/SSLSession/CheckSessionContext.java ! test/jdk/javax/net/ssl/templates/TLSBase.java + test/jdk/sun/security/ssl/SSLSessionImpl/MultiNSTClient.java + test/jdk/sun/security/ssl/SSLSessionImpl/MultiNSTNoSessionCreation.java + test/jdk/sun/security/ssl/SSLSessionImpl/MultiNSTParallel.java + test/jdk/sun/security/ssl/SSLSessionImpl/MultiNSTSequence.java Changeset: 3d49fb8a Branch: master Author: Manukumar V S Date: 2024-08-28 17:54:43 +0000 URL: https://git.openjdk.org/loom/commit/3d49fb8a17ceec6e23595bc8affc89765899f72b 8338103: Stabilize and open source a Swing OGL ButtonResizeTest Reviewed-by: abhiscxk, prr, tr + test/jdk/javax/swing/JButton/SwingButtonResizeTestWithOpenGL.java Changeset: a98ecad0 Branch: master Author: Claes Redestad Date: 2024-08-28 18:16:00 +0000 URL: https://git.openjdk.org/loom/commit/a98ecad0a920f12d81386de3d0f549d542014773 8338897: Small startup regression remains after JDK-8309622 and JDK-8331932 Reviewed-by: liach, naoto ! src/java.base/share/classes/java/util/Locale.java ! src/java.base/share/classes/sun/util/locale/BaseLocale.java Changeset: eff6d9cd Branch: master Author: Claes Redestad Date: 2024-08-28 18:22:30 +0000 URL: https://git.openjdk.org/loom/commit/eff6d9cd23f9da8720a44ad628aa0a3e6f58facf 8339167: Remove AbstractPoolEntry.PrimitiveEntry to reduce boxing overheads Reviewed-by: liach ! src/java.base/share/classes/jdk/internal/classfile/impl/AbstractPoolEntry.java ! src/java.base/share/classes/jdk/internal/classfile/impl/SplitConstantPool.java Changeset: d03ec7aa Branch: master Author: Leonid Mesnik Date: 2024-08-28 20:17:25 +0000 URL: https://git.openjdk.org/loom/commit/d03ec7aad41d830b47801b7af75ee5e278128e69 8339030: frame::print_value_on(outputStream* st, JavaThread *thread) doesn't need thread argument Reviewed-by: dholmes, coleenp ! src/hotspot/share/oops/instanceStackChunkKlass.cpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/runtime/continuationFreezeThaw.cpp ! src/hotspot/share/runtime/frame.cpp ! src/hotspot/share/runtime/frame.hpp ! src/hotspot/share/runtime/javaThread.cpp ! src/hotspot/share/runtime/vframe.cpp Changeset: d08b5bd9 Branch: master Author: Leonid Mesnik Date: 2024-08-28 20:18:51 +0000 URL: https://git.openjdk.org/loom/commit/d08b5bd9f5f740d75c1acfbd644ce1c822e03833 8258483: [TESTBUG] gtest CollectorPolicy.young_scaled_initial_ergo_vm fails if heap is too small Reviewed-by: ayang ! test/hotspot/gtest/gc/shared/test_collectorPolicy.cpp Changeset: a8ac2872 Branch: master Author: Justin Lu Date: 2024-08-28 21:14:29 +0000 URL: https://git.openjdk.org/loom/commit/a8ac28725bfc22867c76856ddce094588a97b84c 8339126: JNI exception pending in Inflater.c Reviewed-by: lancea, vtewari, jpai, naoto ! src/java.base/share/native/libzip/Inflater.c Changeset: 72a49005 Branch: master Author: David Holmes Date: 2024-08-28 21:16:18 +0000 URL: https://git.openjdk.org/loom/commit/72a49005ee8c4aeb6dcf3eff4c56576a2b4d0081 8338888: SystemDictionary::class_name_symbol has incorrect length check Reviewed-by: stuefe, kbarrett, coleenp ! src/hotspot/share/classfile/systemDictionary.cpp ! test/hotspot/jtreg/runtime/exceptionMsgs/NoClassDefFoundError/NoClassDefFoundErrorTest.java ! test/hotspot/jtreg/runtime/exceptionMsgs/NoClassDefFoundError/libNoClassDefFoundErrorTest.c Changeset: 26e3d535 Branch: master Author: Brent Christian Date: 2024-08-28 22:54:38 +0000 URL: https://git.openjdk.org/loom/commit/26e3d535ad4d6e5d78ca50941cfa39dd337892a9 8338716: Re-visit "interrupt handling" in jdk.internal.loader.Resource Reviewed-by: alanb ! src/java.base/share/classes/jdk/internal/loader/Resource.java Changeset: 0ddcd701 Branch: master Author: Dean Long Date: 2024-08-29 00:34:11 +0000 URL: https://git.openjdk.org/loom/commit/0ddcd7017576a0f9c97a74b7d47624ae06ed06d6 8335120: assert(!target->can_be_statically_bound() || target == cha_monomorphic_target) failed Reviewed-by: kvn, vlivanov ! src/hotspot/share/c1/c1_GraphBuilder.cpp ! src/hotspot/share/ci/ciMethod.cpp ! src/hotspot/share/ci/ciMethod.hpp Changeset: eb7ead58 Branch: master Author: Prasanta Sadhukhan Date: 2024-08-29 05:03:15 +0000 URL: https://git.openjdk.org/loom/commit/eb7ead58fd70822669d2aa1a0053814e58955f82 8336873: BasicSplitPaneDivider:oneTouchExpandableChanged() should mention that implementation depends on SplitPane.supportsOneTouchButtons property Reviewed-by: prr, abhiscxk ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicSplitPaneDivider.java From fyang at openjdk.org Thu Aug 29 08:32:42 2024 From: fyang at openjdk.org (Fei Yang) Date: Thu, 29 Aug 2024 08:32:42 GMT Subject: RFR: RISC-V vthread support for JVM intrinsic monitors [v3] In-Reply-To: References: Message-ID: > This ported vthread support for JVM intrinsic monitors to linux-riscv64 platform. > > Testing on linux-riscv64: > - [x] make test TEST="hotspot_loom jdk_loom" (release & fastdebug) > - [x] make test TEST=tier1/2/3 (release) > - [x] make test TEST=hotspot:tier4 (release) Fei Yang has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains three additional commits since the last revision: - Merge branch 'fibers' into riscv-vthread-monitors - Comment - RISC-V vthread support for JVM intrinsic monitors ------------- Changes: - all: https://git.openjdk.org/loom/pull/212/files - new: https://git.openjdk.org/loom/pull/212/files/649a8b5a..e0bb7ccf Webrevs: - full: https://webrevs.openjdk.org/?repo=loom&pr=212&range=02 - incr: https://webrevs.openjdk.org/?repo=loom&pr=212&range=01-02 Stats: 3350 lines in 76 files changed: 2456 ins; 469 del; 425 mod Patch: https://git.openjdk.org/loom/pull/212.diff Fetch: git fetch https://git.openjdk.org/loom.git pull/212/head:pull/212 PR: https://git.openjdk.org/loom/pull/212 From pchilanomate at openjdk.org Thu Aug 29 13:38:56 2024 From: pchilanomate at openjdk.org (Patricio Chilano Mateo) Date: Thu, 29 Aug 2024 13:38:56 GMT Subject: RFR: RISC-V vthread support for JVM intrinsic monitors In-Reply-To: References: Message-ID: <6Ow_QFJzLiAWDUAHO7C9Zlz4vkvuuTgUestWBjGU5y0=.ced90dad-8989-41ff-a3bd-f1ec1aa9d01b@github.com> On Thu, 29 Aug 2024 01:56:29 GMT, Fei Yang wrote: >> Great! I see test jdk/java/lang/Thread/virtual/Parking.java should also have os.arch=="riscv64" added. > >> Great! I see test jdk/java/lang/Thread/virtual/Parking.java should also have os.arch=="riscv64" added. > > Thanks for finding this! Seems that I missed this test somehow. Added and tested with both release and fastdebug builds on linux-riscv64. Great, thanks @RealFYang! ------------- PR Comment: https://git.openjdk.org/loom/pull/212#issuecomment-2317679233 From pchilanomate at openjdk.org Thu Aug 29 13:48:40 2024 From: pchilanomate at openjdk.org (Patricio Chilano Mateo) Date: Thu, 29 Aug 2024 13:48:40 GMT Subject: RFR: RISC-V vthread support for JVM intrinsic monitors [v3] In-Reply-To: References: Message-ID: <88U3eUM7ZVl-v1qXtVKMHRplnB_sybKKnvsIejgvjmU=.4e995466-8823-4950-a983-3afbd4e6d985@github.com> On Thu, 29 Aug 2024 08:32:42 GMT, Fei Yang wrote: >> This ported vthread support for JVM intrinsic monitors to linux-riscv64 platform. >> >> Testing on linux-riscv64: >> - [x] make test TEST="hotspot_loom jdk_loom" (release & fastdebug) >> - [x] make test TEST=tier1/2/3 (release) >> - [x] make test TEST=hotspot:tier4 (release) > > Fei Yang has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains three additional commits since the last revision: > > - Merge branch 'fibers' into riscv-vthread-monitors > - Comment > - RISC-V vthread support for JVM intrinsic monitors Marked as reviewed by pchilanomate (Committer). ------------- PR Review: https://git.openjdk.org/loom/pull/212#pullrequestreview-2268817593 From alanb at openjdk.org Fri Aug 30 04:53:27 2024 From: alanb at openjdk.org (Alan Bateman) Date: Fri, 30 Aug 2024 04:53:27 GMT Subject: RFR: RISC-V vthread support for JVM intrinsic monitors In-Reply-To: References: Message-ID: On Thu, 29 Aug 2024 01:56:29 GMT, Fei Yang wrote: >> Great! I see test jdk/java/lang/Thread/virtual/Parking.java should also have os.arch=="riscv64" added. > >> Great! I see test jdk/java/lang/Thread/virtual/Parking.java should also have os.arch=="riscv64" added. > > Thanks for finding this! Seems that I missed this test somehow. Added and tested with both release and fastdebug builds on linux-riscv64. @RealFYang If you "/integrate" then we should be able to sponsor. ------------- PR Comment: https://git.openjdk.org/loom/pull/212#issuecomment-2320041315 From fyang at openjdk.org Fri Aug 30 05:35:49 2024 From: fyang at openjdk.org (Fei Yang) Date: Fri, 30 Aug 2024 05:35:49 GMT Subject: RFR: RISC-V vthread support for JVM intrinsic monitors [v3] In-Reply-To: References: Message-ID: On Thu, 29 Aug 2024 08:32:42 GMT, Fei Yang wrote: >> This ported vthread support for JVM intrinsic monitors to linux-riscv64 platform. >> >> Testing on linux-riscv64: >> - [x] make test TEST="hotspot_loom jdk_loom" (release & fastdebug) >> - [x] make test TEST=tier1/2/3 (release) >> - [x] make test TEST=hotspot:tier4 (release) > > Fei Yang has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains three additional commits since the last revision: > > - Merge branch 'fibers' into riscv-vthread-monitors > - Comment > - RISC-V vthread support for JVM intrinsic monitors All right. Let's get this integrated. Thanks everyone for having a look. ------------- PR Comment: https://git.openjdk.org/loom/pull/212#issuecomment-2320105336 From duke at openjdk.org Fri Aug 30 05:35:49 2024 From: duke at openjdk.org (duke) Date: Fri, 30 Aug 2024 05:35:49 GMT Subject: RFR: RISC-V vthread support for JVM intrinsic monitors [v3] In-Reply-To: References: Message-ID: On Thu, 29 Aug 2024 08:32:42 GMT, Fei Yang wrote: >> This ported vthread support for JVM intrinsic monitors to linux-riscv64 platform. >> >> Testing on linux-riscv64: >> - [x] make test TEST="hotspot_loom jdk_loom" (release & fastdebug) >> - [x] make test TEST=tier1/2/3 (release) >> - [x] make test TEST=hotspot:tier4 (release) > > Fei Yang has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains three additional commits since the last revision: > > - Merge branch 'fibers' into riscv-vthread-monitors > - Comment > - RISC-V vthread support for JVM intrinsic monitors @RealFYang Your change (at version e0bb7ccf6d497d67f79a51591aaeae3286632520) is now ready to be sponsored by a Committer. ------------- PR Comment: https://git.openjdk.org/loom/pull/212#issuecomment-2320108185 From fyang at openjdk.org Fri Aug 30 05:44:50 2024 From: fyang at openjdk.org (Fei Yang) Date: Fri, 30 Aug 2024 05:44:50 GMT Subject: Integrated: RISC-V vthread support for JVM intrinsic monitors In-Reply-To: References: Message-ID: On Wed, 28 Aug 2024 08:08:34 GMT, Fei Yang wrote: > This ported vthread support for JVM intrinsic monitors to linux-riscv64 platform. > > Testing on linux-riscv64: > - [x] make test TEST="hotspot_loom jdk_loom" (release & fastdebug) > - [x] make test TEST=tier1/2/3 (release) > - [x] make test TEST=hotspot:tier4 (release) This pull request has now been integrated. Changeset: 5a3deae3 Author: Fei Yang Committer: Alan Bateman URL: https://git.openjdk.org/loom/commit/5a3deae36b5a59daf1ca6c7476bd12bc48219cf0 Stats: 598 lines in 26 files changed: 408 ins; 82 del; 108 mod RISC-V vthread support for JVM intrinsic monitors Reviewed-by: pchilanomate ------------- PR: https://git.openjdk.org/loom/pull/212 From duke at openjdk.org Fri Aug 30 09:54:36 2024 From: duke at openjdk.org (duke) Date: Fri, 30 Aug 2024 09:54:36 GMT Subject: git: openjdk/loom: fibers: 4 new changesets Message-ID: Changeset: 91c6860a Branch: fibers Author: Alan Bateman Date: 2024-08-30 08:53:03 +0000 URL: https://git.openjdk.org/loom/commit/91c6860ac12faa5b18776f98291e0590e43e39e8 Tests for redefine Object ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/serviceability/jvmti/RedefineClasses/RedefineObject.java - test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/bcinstr/BI04/bi04t002.java - test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/bcinstr/BI04/bi04t002/TestDescription.java - test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/bcinstr/BI04/bi04t002/bi04t002.cpp - test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/bcinstr/BI04/bi04t002/libbi04t002.cpp - test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/bcinstr/BI04/bi04t002/newclass02/java.base/java/lang/Object.java - test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/bcinstr/BI04/bi04t002a.java ! test/lib/jdk/test/lib/thread/VThreadRunner.java Changeset: fcd3b09c Branch: fibers Author: Alan Bateman Date: 2024-08-30 08:53:41 +0000 URL: https://git.openjdk.org/loom/commit/fcd3b09c3c98a38814c2bafb22ab2165ab485085 Tweak javadoc ! src/java.base/share/classes/java/util/concurrent/StructuredTaskScope.java Changeset: 83b940f8 Branch: fibers Author: Alan Bateman Date: 2024-08-30 08:53:55 +0000 URL: https://git.openjdk.org/loom/commit/83b940f8a28ea725f79e93b7a4bdf454bdeab1de Update copyright headers ! src/java.base/linux/classes/sun/nio/ch/EPollSelectorImpl.java ! src/java.base/macosx/classes/sun/nio/ch/KQueueSelectorImpl.java ! src/java.base/share/classes/jdk/internal/misc/InternalLock.java ! src/java.base/share/native/libjava/Thread.c ! src/java.base/share/native/libjava/VirtualThread.c ! src/jdk.management/share/classes/jdk/management/VirtualThreadSchedulerMXBean.java Changeset: f4263232 Branch: fibers Author: Alan Bateman Date: 2024-08-30 10:30:02 +0000 URL: https://git.openjdk.org/loom/commit/f4263232ea8d4a65daf878b84daddf607c713025 Add bug tag to tests, misc. cleanup ! test/hotspot/jtreg/serviceability/dcmd/thread/VThreadSummaryTest.java ! test/jdk/java/lang/instrument/TraceUsageAgent.java ! test/jdk/java/util/concurrent/StructuredTaskScope/StructuredTaskScopeTest.java ! test/jdk/jdk/management/VirtualThreadSchedulerMXBean/VirtualThreadSchedulerMXBeanTest.java From duke at openjdk.org Sat Aug 31 06:26:20 2024 From: duke at openjdk.org (duke) Date: Sat, 31 Aug 2024 06:26:20 GMT Subject: git: openjdk/loom: fibers: 34 new changesets Message-ID: Changeset: 1383fec4 Branch: fibers Author: Kangcheng Xu Date: 2024-08-29 05:34:08 +0000 URL: https://git.openjdk.org/loom/commit/1383fec41756322bf2832c55633e46395b937b40 8327381: Refactor type-improving transformations in BoolNode::Ideal to BoolNode::Value Reviewed-by: chagedorn, thartmann, jkarthikeyan, epeter ! src/hotspot/share/opto/subnode.cpp ! src/hotspot/share/opto/subnode.hpp + test/hotspot/jtreg/compiler/c2/gvn/TestBoolNodeGVN.java ! test/hotspot/jtreg/compiler/lib/ir_framework/IRNode.java Changeset: 0b4a7d53 Branch: fibers Author: Jan Lahoda Date: 2024-08-29 06:25:27 +0000 URL: https://git.openjdk.org/loom/commit/0b4a7d534204b7b3b041f5117282dd13b1c7c62f 8324859: Improve error recovery Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! test/langtools/tools/javac/parser/JavacParserTest.java Changeset: ff59532d Branch: fibers Author: Jan Lahoda Date: 2024-08-29 06:28:05 +0000 URL: https://git.openjdk.org/loom/commit/ff59532ddd3002df61e46d58b3f29d26c78295da 8338678: Erroneous parameterized type represented as Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Type.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! test/langtools/tools/javac/recovery/AttrRecovery.java Changeset: f080b4bb Branch: fibers Author: Matthias Baesken Date: 2024-08-29 07:07:12 +0000 URL: https://git.openjdk.org/loom/commit/f080b4bb8a75284db1b6037f8c00ef3b1ef1add1 8333098: ubsan: bytecodeInfo.cpp:318:59: runtime error: division by zero Reviewed-by: kvn, iveresov ! src/hotspot/share/opto/bytecodeInfo.cpp Changeset: 362f9ce0 Branch: fibers Author: Magnus Ihse Bursie Date: 2024-08-29 07:29:12 +0000 URL: https://git.openjdk.org/loom/commit/362f9ce077baa900ed81a0473ec0187efde132ef 8339120: Use more fine-granular gcc unused warnings Reviewed-by: jwaters, kbarrett, erikj ! make/autoconf/flags-cflags.m4 ! make/common/TestFilesCompilation.gmk ! make/common/modules/LauncherCommon.gmk ! make/hotspot/lib/CompileGtest.gmk ! make/hotspot/lib/CompileJvm.gmk ! make/modules/java.base/Lib.gmk ! make/modules/java.base/lib/CoreLibraries.gmk ! make/modules/java.desktop/Lib.gmk ! make/modules/java.desktop/lib/AwtLibraries.gmk ! make/modules/java.desktop/lib/ClientLibraries.gmk ! make/modules/java.management/Lib.gmk ! make/modules/java.security.jgss/Lib.gmk ! make/modules/jdk.crypto.cryptoki/Lib.gmk ! make/modules/jdk.hotspot.agent/Lib.gmk ! make/modules/jdk.jdwp.agent/Lib.gmk ! make/modules/jdk.jpackage/Lib.gmk ! make/modules/jdk.management/Lib.gmk Changeset: 723588a4 Branch: fibers Author: Daniel Fuchs Date: 2024-08-29 08:54:02 +0000 URL: https://git.openjdk.org/loom/commit/723588a4e78d25f0ef3c4cdaeb377aedc3a352d4 8338569: HTTP/1.1 CleanupTrigger may be triggerred after the next exchange started Reviewed-by: jpai ! src/java.net.http/share/classes/jdk/internal/net/http/ConnectionPool.java ! src/java.net.http/share/classes/jdk/internal/net/http/SocketTube.java ! src/java.net.http/share/classes/jdk/internal/net/http/common/FlowTube.java ! test/jdk/java/net/httpclient/DigestEchoClient.java ! test/jdk/java/net/httpclient/ShutdownNow.java ! test/jdk/java/net/httpclient/SmokeTest.java Changeset: d35ffa4f Branch: fibers Author: Andrey Turbanov Date: 2024-08-29 09:57:52 +0000 URL: https://git.openjdk.org/loom/commit/d35ffa4f6afb7df052103cee8544e4e707b72cc1 8339017: Make a couple of fields in DoubleByte static Reviewed-by: bpb, naoto ! src/java.base/share/classes/sun/nio/cs/DoubleByte.java Changeset: 8c8b5801 Branch: fibers Author: Jan Lahoda Date: 2024-08-29 10:06:08 +0000 URL: https://git.openjdk.org/loom/commit/8c8b5801fd9d28a71edf3bd8d1fae857817e27de 8338281: jshell does not run shutdown hooks Reviewed-by: asotona ! src/jdk.jshell/share/classes/jdk/jshell/execution/ExecutionControlForwarder.java ! src/jdk.jshell/share/classes/jdk/jshell/execution/JdiDefaultExecutionControl.java ! test/langtools/jdk/jshell/ShutdownTest.java Changeset: e57b5932 Branch: fibers Author: Johan Sj?len Date: 2024-08-29 11:23:04 +0000 URL: https://git.openjdk.org/loom/commit/e57b59325831247818cb4b07c4fd43e4556effca 8335062: NMT: Make StackIndex non-opaque Reviewed-by: stuefe, gziemski ! src/hotspot/share/nmt/nmtNativeCallStackStorage.hpp ! src/hotspot/share/nmt/vmatree.hpp ! test/hotspot/gtest/nmt/test_nmt_nativecallstackstorage.cpp Changeset: 777ed2b5 Branch: fibers Author: Chen Liang Date: 2024-08-29 15:45:52 +0000 URL: https://git.openjdk.org/loom/commit/777ed2b5d2ef8371407cc9bf0370a7cef937cfb7 8339132: Make DirectCodeBuilder write through without allocating instruction objects Reviewed-by: asotona, redestad ! src/java.base/share/classes/java/lang/classfile/CodeBuilder.java ! src/java.base/share/classes/jdk/internal/classfile/impl/AbstractInstruction.java ! src/java.base/share/classes/jdk/internal/classfile/impl/BytecodeHelpers.java ! src/java.base/share/classes/jdk/internal/classfile/impl/DirectCodeBuilder.java Changeset: a4962ace Branch: fibers Author: David Holmes Date: 2024-08-29 20:38:52 +0000 URL: https://git.openjdk.org/loom/commit/a4962ace4d3afb36e9d6822a4f02a1515fac40ed 8338257: UTF8 lengths should be size_t not int Reviewed-by: stuefe, coleenp, dlong ! src/hotspot/share/classfile/compactHashtable.cpp ! src/hotspot/share/classfile/compactHashtable.hpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/classfile/modules.cpp ! src/hotspot/share/classfile/stringTable.cpp ! src/hotspot/share/classfile/symbolTable.cpp ! src/hotspot/share/jfr/dcmd/jfrDcmds.cpp ! src/hotspot/share/jfr/jni/jfrJavaSupport.cpp ! src/hotspot/share/jfr/recorder/checkpoint/types/jfrThreadState.cpp ! src/hotspot/share/oops/symbol.cpp ! src/hotspot/share/prims/jni.cpp ! src/hotspot/share/prims/jvmtiEnv.cpp ! src/hotspot/share/services/finalizerService.cpp ! src/hotspot/share/utilities/utf8.cpp ! src/hotspot/share/utilities/utf8.hpp Changeset: f2968b34 Branch: fibers Author: Matias Saavedra Silva Date: 2024-08-29 21:06:05 +0000 URL: https://git.openjdk.org/loom/commit/f2968b34a55009fb195e381ffa615488974e9ba6 8339020: Remove unused HeapShared::calculate_oopmap Reviewed-by: coleenp ! src/hotspot/share/cds/heapShared.cpp ! src/hotspot/share/cds/heapShared.hpp Changeset: b711c41d Branch: fibers Author: Shaojin Wen Committer: Chen Liang Date: 2024-08-29 21:21:16 +0000 URL: https://git.openjdk.org/loom/commit/b711c41d442fc369a84745c0203db638e0b7e671 8339196: Optimize BufWriterImpl#writeU1/U2/Int/Long Reviewed-by: liach, redestad ! src/java.base/share/classes/jdk/internal/classfile/impl/BufWriterImpl.java Changeset: 4675913e Branch: fibers Author: Gui Cao Committer: Fei Yang Date: 2024-08-30 01:06:00 +0000 URL: https://git.openjdk.org/loom/commit/4675913edb16ec1dde5f0ba2dfcfada134ce17f1 8339237: RISC-V: Builds fail after JDK-8339120 Reviewed-by: fyang ! src/hotspot/cpu/riscv/c1_Runtime1_riscv.cpp Changeset: f927c121 Branch: fibers Author: Eirik Bj?rsn?s Date: 2024-08-30 06:21:49 +0000 URL: https://git.openjdk.org/loom/commit/f927c1210ee0675bb1196572177ffb505826d57a 8339154: Cleanups and JUnit conversion of test/jdk/java/util/zip/Available.java Reviewed-by: lancea ! test/jdk/java/util/zip/Available.java Changeset: b9e65f98 Branch: fibers Author: Matthias Baesken Date: 2024-08-30 06:47:49 +0000 URL: https://git.openjdk.org/loom/commit/b9e65f982fe6ae69d3912f32465a688d67c1c765 8337662: Improve os::print_hex_dump for printing Instructions sections Reviewed-by: stuefe, lucy ! src/hotspot/share/runtime/os.cpp ! src/hotspot/share/runtime/os.hpp ! test/hotspot/gtest/runtime/test_os.cpp Changeset: b8727181 Branch: fibers Author: Jan Lahoda Date: 2024-08-30 08:11:49 +0000 URL: https://git.openjdk.org/loom/commit/b8727181f3ceac6f37272a1152f267ed1b6e2297 8338301: Error recovery and reporting should be improved for erroneous implicitly declared classes Reviewed-by: cstein, vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties + test/langtools/tools/javac/ImplicitClass/ErrorRecovery.java + test/langtools/tools/javac/diags/examples/ClassMethodOrFieldExpected.java Changeset: bb28b0d2 Branch: fibers Author: Magnus Ihse Bursie Date: 2024-08-30 08:58:07 +0000 URL: https://git.openjdk.org/loom/commit/bb28b0d2292c0f45decfaac0fb2f4c4284e9c666 8338404: Cross-compilation to different endianness fails after JDK-8318913 Reviewed-by: erikj, fbredberg ! make/CreateJmods.gmk ! make/InterimImage.gmk Changeset: 2abe2ff6 Branch: fibers Author: Magnus Ihse Bursie Date: 2024-08-30 08:58:18 +0000 URL: https://git.openjdk.org/loom/commit/2abe2ff69b205ccaf502bf8b6de3ce9e1260c386 8339235: Fix indentation in build system Reviewed-by: erikj ! make/CompileInterimLangtools.gmk ! make/CompileJavaModules.gmk ! make/InitSupport.gmk ! make/autoconf/basic_tools.m4 ! make/autoconf/boot-jdk.m4 ! make/autoconf/flags-ldflags.m4 ! make/autoconf/jdk-options.m4 ! make/autoconf/jdk-version.m4 ! make/autoconf/lib-bundled.m4 ! make/autoconf/lib-freetype.m4 ! make/autoconf/lib-hsdis.m4 ! make/autoconf/libraries.m4 ! make/autoconf/platform.m4 ! make/autoconf/toolchain_microsoft.m4 ! make/common/FindTests.gmk ! make/common/JavaCompilation.gmk ! make/common/JdkNativeCompilation.gmk ! make/common/MakeBase.gmk ! make/common/Modules.gmk ! make/common/Utils.gmk ! make/common/native/DebugSymbols.gmk ! make/hotspot/gensrc/GensrcAdlc.gmk ! make/hotspot/lib/JvmFeatures.gmk ! make/modules/java.desktop/lib/ClientLibraries.gmk ! make/modules/jdk.accessibility/Launcher.gmk Changeset: 92c4704e Branch: fibers Author: Matthias Baesken Date: 2024-08-30 10:18:19 +0000 URL: https://git.openjdk.org/loom/commit/92c4704edf75534b825765d156a7f70377ccb3bb 8339166: java/lang/String/concat/HiddenClassUnloading.java fails on AIX and Linux ppc64le after JDK-8336856 Reviewed-by: redestad, mdoerr ! test/jdk/java/lang/String/concat/HiddenClassUnloading.java Changeset: 3a352b82 Branch: fibers Author: David Schlosnagle Committer: Erik Gahlin Date: 2024-08-30 12:36:33 +0000 URL: https://git.openjdk.org/loom/commit/3a352b82591eb522c24108de95e42a3d1e5ceb3a 8339191: JFR: Bulk read support for ChunkInputStream Reviewed-by: egahlin ! src/jdk.jfr/share/classes/jdk/jfr/internal/ChunkInputStream.java + test/jdk/jdk/jfr/api/consumer/TestChunkInputStreamBulkRead.java Changeset: 2fb83055 Branch: fibers Author: Jaikiran Pai Date: 2024-08-30 14:47:29 +0000 URL: https://git.openjdk.org/loom/commit/2fb830553f219e59a44c140e2441695a0d79c404 8339319: ProblemList runtime/exceptionMsgs/NoClassDefFoundError/NoClassDefFoundErrorTest.java Reviewed-by: dfuchs, dcubed ! test/hotspot/jtreg/ProblemList.txt Changeset: a528c4b3 Branch: fibers Author: Magnus Ihse Bursie Date: 2024-08-30 16:43:16 +0000 URL: https://git.openjdk.org/loom/commit/a528c4b370be1e7730778268cf8c52ffcfd27048 8339156: Use more fine-granular clang unused warnings Reviewed-by: erikj, kbarrett ! make/autoconf/flags-cflags.m4 ! make/common/TestFilesCompilation.gmk ! make/common/modules/LauncherCommon.gmk ! make/hotspot/lib/CompileJvm.gmk ! make/modules/java.base/Lib.gmk ! make/modules/java.base/lib/CoreLibraries.gmk ! make/modules/java.desktop/Lib.gmk ! make/modules/java.desktop/lib/AwtLibraries.gmk ! make/modules/java.desktop/lib/ClientLibraries.gmk ! make/modules/java.management/Lib.gmk ! make/modules/java.security.jgss/Lib.gmk ! make/modules/jdk.crypto.cryptoki/Lib.gmk ! make/modules/jdk.hotspot.agent/Lib.gmk ! make/modules/jdk.jdwp.agent/Lib.gmk ! make/modules/jdk.jpackage/Lib.gmk ! make/modules/jdk.management/Lib.gmk Changeset: fef1ef7d Branch: fibers Author: Brian Burkhalter Date: 2024-08-30 17:17:10 +0000 URL: https://git.openjdk.org/loom/commit/fef1ef7dfe1aed7729b182b2fc8d0dda7d546a56 6426678: (spec) File.createTempFile(prefix, suffix, dir) needs clarification for illegal symbols in suffix Reviewed-by: alanb ! src/java.base/share/classes/java/io/File.java Changeset: 25e03b52 Branch: fibers Author: Chen Liang Date: 2024-08-30 17:28:28 +0000 URL: https://git.openjdk.org/loom/commit/25e03b52094f46f89f2fe8f20e7e5622928add5f 8339115: Rename TypeKind enum constants to follow code style Reviewed-by: asotona ! make/jdk/src/classes/build/tools/taglet/JSpec.java ! src/java.base/share/classes/java/lang/classfile/AnnotationValue.java ! src/java.base/share/classes/java/lang/classfile/CodeBuilder.java ! src/java.base/share/classes/java/lang/classfile/Opcode.java ! src/java.base/share/classes/java/lang/classfile/TypeKind.java ! src/java.base/share/classes/java/lang/classfile/components/snippet-files/PackageSnippets.java ! src/java.base/share/classes/java/lang/classfile/constantpool/DoubleEntry.java ! src/java.base/share/classes/java/lang/classfile/constantpool/FloatEntry.java ! src/java.base/share/classes/java/lang/classfile/constantpool/IntegerEntry.java ! src/java.base/share/classes/java/lang/classfile/constantpool/LoadableConstantEntry.java ! src/java.base/share/classes/java/lang/classfile/constantpool/LongEntry.java ! src/java.base/share/classes/java/lang/classfile/instruction/ArrayLoadInstruction.java ! src/java.base/share/classes/java/lang/classfile/instruction/ArrayStoreInstruction.java ! src/java.base/share/classes/java/lang/classfile/instruction/NewPrimitiveArrayInstruction.java ! src/java.base/share/classes/java/lang/classfile/snippet-files/PackageSnippets.java ! src/java.base/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java ! src/java.base/share/classes/java/lang/invoke/LambdaForm.java ! src/java.base/share/classes/java/lang/invoke/StringConcatFactory.java ! src/java.base/share/classes/java/lang/invoke/TypeConvertingMethodAdapter.java ! src/java.base/share/classes/jdk/internal/classfile/impl/BytecodeHelpers.java ! src/java.base/share/classes/jdk/internal/classfile/impl/ClassPrinterImpl.java ! src/java.base/share/classes/jdk/internal/classfile/impl/CodeLocalsShifterImpl.java ! src/java.base/share/classes/jdk/internal/classfile/impl/CodeStackTrackerImpl.java ! src/java.base/share/classes/jdk/internal/classfile/impl/DirectCodeBuilder.java ! src/java.base/share/classes/jdk/internal/classfile/impl/verifier/ParserVerifier.java ! src/java.base/share/classes/jdk/internal/foreign/abi/BindingSpecializer.java ! src/jdk.jdeps/share/classes/com/sun/tools/javap/CodeWriter.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/SystemModulesPlugin.java ! test/jdk/jdk/classfile/AdvancedTransformationsTest.java ! test/jdk/jdk/classfile/ArrayTest.java ! test/jdk/jdk/classfile/BuilderBlockTest.java ! test/jdk/jdk/classfile/BuilderTryCatchTest.java ! test/jdk/jdk/classfile/StackTrackerTest.java ! test/jdk/jdk/classfile/TempConstantPoolBuilderTest.java ! test/jdk/jdk/classfile/Utf8EntryTest.java ! test/jdk/jdk/classfile/helpers/ClassRecord.java ! test/jdk/jdk/classfile/helpers/RebuildingTransformation.java ! test/micro/org/openjdk/bench/jdk/classfile/Write.java Changeset: 1d2a0514 Branch: fibers Author: Alan Bateman Date: 2024-08-30 18:42:37 +0000 URL: https://git.openjdk.org/loom/commit/1d2a0514b4814741e1fed14b260b6e2f57eeb961 Merge ! src/hotspot/cpu/riscv/c1_Runtime1_riscv.cpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/prims/jvmtiEnv.cpp ! src/java.base/share/classes/java/lang/invoke/StringConcatFactory.java ! test/hotspot/jtreg/ProblemList.txt ! src/hotspot/cpu/riscv/c1_Runtime1_riscv.cpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/prims/jvmtiEnv.cpp ! src/java.base/share/classes/java/lang/invoke/StringConcatFactory.java ! test/hotspot/jtreg/ProblemList.txt Changeset: 5239622f Branch: fibers Author: Alan Bateman Date: 2024-08-30 12:46:54 +0000 URL: https://git.openjdk.org/loom/commit/5239622f703ddd1826d40f381c36c3d5c9c18a3b jcmd man page ! src/jdk.jcmd/share/man/jcmd.1 Changeset: 5fa097d6 Branch: fibers Author: Alan Bateman Date: 2024-08-30 15:47:40 +0000 URL: https://git.openjdk.org/loom/commit/5fa097d69210bafbc3c3ab416477ba5730b24512 onFork/onComplete missing null check ! src/java.base/share/classes/java/util/concurrent/StructuredTaskScope.java ! src/java.base/share/classes/jdk/internal/misc/ThreadFlock.java ! test/jdk/java/util/concurrent/StructuredTaskScope/StructuredTaskScopeTest.java Changeset: 477f7d67 Branch: fibers Author: Alan Bateman Date: 2024-08-30 15:53:37 +0000 URL: https://git.openjdk.org/loom/commit/477f7d67b580ab4ee7297dff716aa12e7f907894 Update copyright ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/JavaThread.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/ObjectMonitor.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/Threads.java Changeset: 1a650a72 Branch: fibers Author: Alan Bateman Date: 2024-08-30 15:53:49 +0000 URL: https://git.openjdk.org/loom/commit/1a650a7205e76336da60694fd7e28a5630a15165 Remove experimental schema - src/jdk.management/share/classes/com/sun/management/doc-files/threadDump.schema.json Changeset: f1207ebb Branch: fibers Author: Alan Bateman Date: 2024-08-30 16:39:25 +0000 URL: https://git.openjdk.org/loom/commit/f1207ebb8b0ef18ef7f57360ec2e70cdc30895db Remove left over test - test/jdk/java/lang/Thread/virtual/TrackAllThreads.java Changeset: 0a6f0293 Branch: fibers Author: Alan Bateman Date: 2024-08-30 17:00:20 +0000 URL: https://git.openjdk.org/loom/commit/0a6f02936cc8e3d7a3f38b3756fc8eea276a6985 ensureParallism requires jdk.management ! test/hotspot/jtreg/serviceability/jvmti/vthread/GetThreadState/GetThreadStateTest.java ! test/hotspot/jtreg/serviceability/jvmti/vthread/VThreadEventTest/VThreadEventTest.java ! test/jdk/java/lang/Thread/virtual/JfrEvents.java ! test/jdk/java/lang/Thread/virtual/SynchronizedNative.java ! test/jdk/java/lang/Thread/virtual/stress/GetStackTraceALotWhenBlocking.java ! test/jdk/java/lang/Thread/virtual/stress/GetStackTraceALotWhenPinned.java Changeset: 1476e4f8 Branch: fibers Author: Alan Bateman Date: 2024-08-30 18:30:34 +0000 URL: https://git.openjdk.org/loom/commit/1476e4f8af7e7acbc46346384413275e886bdbd5 Update man page ! src/jdk.jcmd/share/man/jcmd.1 Changeset: c1602190 Branch: fibers Author: Alan Bateman Date: 2024-08-30 18:42:47 +0000 URL: https://git.openjdk.org/loom/commit/c1602190a135698898c06f749229ebe54eeedbff Merge From duke at openjdk.org Sat Aug 31 06:27:42 2024 From: duke at openjdk.org (duke) Date: Sat, 31 Aug 2024 06:27:42 GMT Subject: git: openjdk/loom: master: 25 new changesets Message-ID: Changeset: 1383fec4 Branch: master Author: Kangcheng Xu Date: 2024-08-29 05:34:08 +0000 URL: https://git.openjdk.org/loom/commit/1383fec41756322bf2832c55633e46395b937b40 8327381: Refactor type-improving transformations in BoolNode::Ideal to BoolNode::Value Reviewed-by: chagedorn, thartmann, jkarthikeyan, epeter ! src/hotspot/share/opto/subnode.cpp ! src/hotspot/share/opto/subnode.hpp + test/hotspot/jtreg/compiler/c2/gvn/TestBoolNodeGVN.java ! test/hotspot/jtreg/compiler/lib/ir_framework/IRNode.java Changeset: 0b4a7d53 Branch: master Author: Jan Lahoda Date: 2024-08-29 06:25:27 +0000 URL: https://git.openjdk.org/loom/commit/0b4a7d534204b7b3b041f5117282dd13b1c7c62f 8324859: Improve error recovery Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! test/langtools/tools/javac/parser/JavacParserTest.java Changeset: ff59532d Branch: master Author: Jan Lahoda Date: 2024-08-29 06:28:05 +0000 URL: https://git.openjdk.org/loom/commit/ff59532ddd3002df61e46d58b3f29d26c78295da 8338678: Erroneous parameterized type represented as Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Type.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! test/langtools/tools/javac/recovery/AttrRecovery.java Changeset: f080b4bb Branch: master Author: Matthias Baesken Date: 2024-08-29 07:07:12 +0000 URL: https://git.openjdk.org/loom/commit/f080b4bb8a75284db1b6037f8c00ef3b1ef1add1 8333098: ubsan: bytecodeInfo.cpp:318:59: runtime error: division by zero Reviewed-by: kvn, iveresov ! src/hotspot/share/opto/bytecodeInfo.cpp Changeset: 362f9ce0 Branch: master Author: Magnus Ihse Bursie Date: 2024-08-29 07:29:12 +0000 URL: https://git.openjdk.org/loom/commit/362f9ce077baa900ed81a0473ec0187efde132ef 8339120: Use more fine-granular gcc unused warnings Reviewed-by: jwaters, kbarrett, erikj ! make/autoconf/flags-cflags.m4 ! make/common/TestFilesCompilation.gmk ! make/common/modules/LauncherCommon.gmk ! make/hotspot/lib/CompileGtest.gmk ! make/hotspot/lib/CompileJvm.gmk ! make/modules/java.base/Lib.gmk ! make/modules/java.base/lib/CoreLibraries.gmk ! make/modules/java.desktop/Lib.gmk ! make/modules/java.desktop/lib/AwtLibraries.gmk ! make/modules/java.desktop/lib/ClientLibraries.gmk ! make/modules/java.management/Lib.gmk ! make/modules/java.security.jgss/Lib.gmk ! make/modules/jdk.crypto.cryptoki/Lib.gmk ! make/modules/jdk.hotspot.agent/Lib.gmk ! make/modules/jdk.jdwp.agent/Lib.gmk ! make/modules/jdk.jpackage/Lib.gmk ! make/modules/jdk.management/Lib.gmk Changeset: 723588a4 Branch: master Author: Daniel Fuchs Date: 2024-08-29 08:54:02 +0000 URL: https://git.openjdk.org/loom/commit/723588a4e78d25f0ef3c4cdaeb377aedc3a352d4 8338569: HTTP/1.1 CleanupTrigger may be triggerred after the next exchange started Reviewed-by: jpai ! src/java.net.http/share/classes/jdk/internal/net/http/ConnectionPool.java ! src/java.net.http/share/classes/jdk/internal/net/http/SocketTube.java ! src/java.net.http/share/classes/jdk/internal/net/http/common/FlowTube.java ! test/jdk/java/net/httpclient/DigestEchoClient.java ! test/jdk/java/net/httpclient/ShutdownNow.java ! test/jdk/java/net/httpclient/SmokeTest.java Changeset: d35ffa4f Branch: master Author: Andrey Turbanov Date: 2024-08-29 09:57:52 +0000 URL: https://git.openjdk.org/loom/commit/d35ffa4f6afb7df052103cee8544e4e707b72cc1 8339017: Make a couple of fields in DoubleByte static Reviewed-by: bpb, naoto ! src/java.base/share/classes/sun/nio/cs/DoubleByte.java Changeset: 8c8b5801 Branch: master Author: Jan Lahoda Date: 2024-08-29 10:06:08 +0000 URL: https://git.openjdk.org/loom/commit/8c8b5801fd9d28a71edf3bd8d1fae857817e27de 8338281: jshell does not run shutdown hooks Reviewed-by: asotona ! src/jdk.jshell/share/classes/jdk/jshell/execution/ExecutionControlForwarder.java ! src/jdk.jshell/share/classes/jdk/jshell/execution/JdiDefaultExecutionControl.java ! test/langtools/jdk/jshell/ShutdownTest.java Changeset: e57b5932 Branch: master Author: Johan Sj?len Date: 2024-08-29 11:23:04 +0000 URL: https://git.openjdk.org/loom/commit/e57b59325831247818cb4b07c4fd43e4556effca 8335062: NMT: Make StackIndex non-opaque Reviewed-by: stuefe, gziemski ! src/hotspot/share/nmt/nmtNativeCallStackStorage.hpp ! src/hotspot/share/nmt/vmatree.hpp ! test/hotspot/gtest/nmt/test_nmt_nativecallstackstorage.cpp Changeset: 777ed2b5 Branch: master Author: Chen Liang Date: 2024-08-29 15:45:52 +0000 URL: https://git.openjdk.org/loom/commit/777ed2b5d2ef8371407cc9bf0370a7cef937cfb7 8339132: Make DirectCodeBuilder write through without allocating instruction objects Reviewed-by: asotona, redestad ! src/java.base/share/classes/java/lang/classfile/CodeBuilder.java ! src/java.base/share/classes/jdk/internal/classfile/impl/AbstractInstruction.java ! src/java.base/share/classes/jdk/internal/classfile/impl/BytecodeHelpers.java ! src/java.base/share/classes/jdk/internal/classfile/impl/DirectCodeBuilder.java Changeset: a4962ace Branch: master Author: David Holmes Date: 2024-08-29 20:38:52 +0000 URL: https://git.openjdk.org/loom/commit/a4962ace4d3afb36e9d6822a4f02a1515fac40ed 8338257: UTF8 lengths should be size_t not int Reviewed-by: stuefe, coleenp, dlong ! src/hotspot/share/classfile/compactHashtable.cpp ! src/hotspot/share/classfile/compactHashtable.hpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/classfile/modules.cpp ! src/hotspot/share/classfile/stringTable.cpp ! src/hotspot/share/classfile/symbolTable.cpp ! src/hotspot/share/jfr/dcmd/jfrDcmds.cpp ! src/hotspot/share/jfr/jni/jfrJavaSupport.cpp ! src/hotspot/share/jfr/recorder/checkpoint/types/jfrThreadState.cpp ! src/hotspot/share/oops/symbol.cpp ! src/hotspot/share/prims/jni.cpp ! src/hotspot/share/prims/jvmtiEnv.cpp ! src/hotspot/share/services/finalizerService.cpp ! src/hotspot/share/utilities/utf8.cpp ! src/hotspot/share/utilities/utf8.hpp Changeset: f2968b34 Branch: master Author: Matias Saavedra Silva Date: 2024-08-29 21:06:05 +0000 URL: https://git.openjdk.org/loom/commit/f2968b34a55009fb195e381ffa615488974e9ba6 8339020: Remove unused HeapShared::calculate_oopmap Reviewed-by: coleenp ! src/hotspot/share/cds/heapShared.cpp ! src/hotspot/share/cds/heapShared.hpp Changeset: b711c41d Branch: master Author: Shaojin Wen Committer: Chen Liang Date: 2024-08-29 21:21:16 +0000 URL: https://git.openjdk.org/loom/commit/b711c41d442fc369a84745c0203db638e0b7e671 8339196: Optimize BufWriterImpl#writeU1/U2/Int/Long Reviewed-by: liach, redestad ! src/java.base/share/classes/jdk/internal/classfile/impl/BufWriterImpl.java Changeset: 4675913e Branch: master Author: Gui Cao Committer: Fei Yang Date: 2024-08-30 01:06:00 +0000 URL: https://git.openjdk.org/loom/commit/4675913edb16ec1dde5f0ba2dfcfada134ce17f1 8339237: RISC-V: Builds fail after JDK-8339120 Reviewed-by: fyang ! src/hotspot/cpu/riscv/c1_Runtime1_riscv.cpp Changeset: f927c121 Branch: master Author: Eirik Bj?rsn?s Date: 2024-08-30 06:21:49 +0000 URL: https://git.openjdk.org/loom/commit/f927c1210ee0675bb1196572177ffb505826d57a 8339154: Cleanups and JUnit conversion of test/jdk/java/util/zip/Available.java Reviewed-by: lancea ! test/jdk/java/util/zip/Available.java Changeset: b9e65f98 Branch: master Author: Matthias Baesken Date: 2024-08-30 06:47:49 +0000 URL: https://git.openjdk.org/loom/commit/b9e65f982fe6ae69d3912f32465a688d67c1c765 8337662: Improve os::print_hex_dump for printing Instructions sections Reviewed-by: stuefe, lucy ! src/hotspot/share/runtime/os.cpp ! src/hotspot/share/runtime/os.hpp ! test/hotspot/gtest/runtime/test_os.cpp Changeset: b8727181 Branch: master Author: Jan Lahoda Date: 2024-08-30 08:11:49 +0000 URL: https://git.openjdk.org/loom/commit/b8727181f3ceac6f37272a1152f267ed1b6e2297 8338301: Error recovery and reporting should be improved for erroneous implicitly declared classes Reviewed-by: cstein, vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties + test/langtools/tools/javac/ImplicitClass/ErrorRecovery.java + test/langtools/tools/javac/diags/examples/ClassMethodOrFieldExpected.java Changeset: bb28b0d2 Branch: master Author: Magnus Ihse Bursie Date: 2024-08-30 08:58:07 +0000 URL: https://git.openjdk.org/loom/commit/bb28b0d2292c0f45decfaac0fb2f4c4284e9c666 8338404: Cross-compilation to different endianness fails after JDK-8318913 Reviewed-by: erikj, fbredberg ! make/CreateJmods.gmk ! make/InterimImage.gmk Changeset: 2abe2ff6 Branch: master Author: Magnus Ihse Bursie Date: 2024-08-30 08:58:18 +0000 URL: https://git.openjdk.org/loom/commit/2abe2ff69b205ccaf502bf8b6de3ce9e1260c386 8339235: Fix indentation in build system Reviewed-by: erikj ! make/CompileInterimLangtools.gmk ! make/CompileJavaModules.gmk ! make/InitSupport.gmk ! make/autoconf/basic_tools.m4 ! make/autoconf/boot-jdk.m4 ! make/autoconf/flags-ldflags.m4 ! make/autoconf/jdk-options.m4 ! make/autoconf/jdk-version.m4 ! make/autoconf/lib-bundled.m4 ! make/autoconf/lib-freetype.m4 ! make/autoconf/lib-hsdis.m4 ! make/autoconf/libraries.m4 ! make/autoconf/platform.m4 ! make/autoconf/toolchain_microsoft.m4 ! make/common/FindTests.gmk ! make/common/JavaCompilation.gmk ! make/common/JdkNativeCompilation.gmk ! make/common/MakeBase.gmk ! make/common/Modules.gmk ! make/common/Utils.gmk ! make/common/native/DebugSymbols.gmk ! make/hotspot/gensrc/GensrcAdlc.gmk ! make/hotspot/lib/JvmFeatures.gmk ! make/modules/java.desktop/lib/ClientLibraries.gmk ! make/modules/jdk.accessibility/Launcher.gmk Changeset: 92c4704e Branch: master Author: Matthias Baesken Date: 2024-08-30 10:18:19 +0000 URL: https://git.openjdk.org/loom/commit/92c4704edf75534b825765d156a7f70377ccb3bb 8339166: java/lang/String/concat/HiddenClassUnloading.java fails on AIX and Linux ppc64le after JDK-8336856 Reviewed-by: redestad, mdoerr ! test/jdk/java/lang/String/concat/HiddenClassUnloading.java Changeset: 3a352b82 Branch: master Author: David Schlosnagle Committer: Erik Gahlin Date: 2024-08-30 12:36:33 +0000 URL: https://git.openjdk.org/loom/commit/3a352b82591eb522c24108de95e42a3d1e5ceb3a 8339191: JFR: Bulk read support for ChunkInputStream Reviewed-by: egahlin ! src/jdk.jfr/share/classes/jdk/jfr/internal/ChunkInputStream.java + test/jdk/jdk/jfr/api/consumer/TestChunkInputStreamBulkRead.java Changeset: 2fb83055 Branch: master Author: Jaikiran Pai Date: 2024-08-30 14:47:29 +0000 URL: https://git.openjdk.org/loom/commit/2fb830553f219e59a44c140e2441695a0d79c404 8339319: ProblemList runtime/exceptionMsgs/NoClassDefFoundError/NoClassDefFoundErrorTest.java Reviewed-by: dfuchs, dcubed ! test/hotspot/jtreg/ProblemList.txt Changeset: a528c4b3 Branch: master Author: Magnus Ihse Bursie Date: 2024-08-30 16:43:16 +0000 URL: https://git.openjdk.org/loom/commit/a528c4b370be1e7730778268cf8c52ffcfd27048 8339156: Use more fine-granular clang unused warnings Reviewed-by: erikj, kbarrett ! make/autoconf/flags-cflags.m4 ! make/common/TestFilesCompilation.gmk ! make/common/modules/LauncherCommon.gmk ! make/hotspot/lib/CompileJvm.gmk ! make/modules/java.base/Lib.gmk ! make/modules/java.base/lib/CoreLibraries.gmk ! make/modules/java.desktop/Lib.gmk ! make/modules/java.desktop/lib/AwtLibraries.gmk ! make/modules/java.desktop/lib/ClientLibraries.gmk ! make/modules/java.management/Lib.gmk ! make/modules/java.security.jgss/Lib.gmk ! make/modules/jdk.crypto.cryptoki/Lib.gmk ! make/modules/jdk.hotspot.agent/Lib.gmk ! make/modules/jdk.jdwp.agent/Lib.gmk ! make/modules/jdk.jpackage/Lib.gmk ! make/modules/jdk.management/Lib.gmk Changeset: fef1ef7d Branch: master Author: Brian Burkhalter Date: 2024-08-30 17:17:10 +0000 URL: https://git.openjdk.org/loom/commit/fef1ef7dfe1aed7729b182b2fc8d0dda7d546a56 6426678: (spec) File.createTempFile(prefix, suffix, dir) needs clarification for illegal symbols in suffix Reviewed-by: alanb ! src/java.base/share/classes/java/io/File.java Changeset: 25e03b52 Branch: master Author: Chen Liang Date: 2024-08-30 17:28:28 +0000 URL: https://git.openjdk.org/loom/commit/25e03b52094f46f89f2fe8f20e7e5622928add5f 8339115: Rename TypeKind enum constants to follow code style Reviewed-by: asotona ! make/jdk/src/classes/build/tools/taglet/JSpec.java ! src/java.base/share/classes/java/lang/classfile/AnnotationValue.java ! src/java.base/share/classes/java/lang/classfile/CodeBuilder.java ! src/java.base/share/classes/java/lang/classfile/Opcode.java ! src/java.base/share/classes/java/lang/classfile/TypeKind.java ! src/java.base/share/classes/java/lang/classfile/components/snippet-files/PackageSnippets.java ! src/java.base/share/classes/java/lang/classfile/constantpool/DoubleEntry.java ! src/java.base/share/classes/java/lang/classfile/constantpool/FloatEntry.java ! src/java.base/share/classes/java/lang/classfile/constantpool/IntegerEntry.java ! src/java.base/share/classes/java/lang/classfile/constantpool/LoadableConstantEntry.java ! src/java.base/share/classes/java/lang/classfile/constantpool/LongEntry.java ! src/java.base/share/classes/java/lang/classfile/instruction/ArrayLoadInstruction.java ! src/java.base/share/classes/java/lang/classfile/instruction/ArrayStoreInstruction.java ! src/java.base/share/classes/java/lang/classfile/instruction/NewPrimitiveArrayInstruction.java ! src/java.base/share/classes/java/lang/classfile/snippet-files/PackageSnippets.java ! src/java.base/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java ! src/java.base/share/classes/java/lang/invoke/LambdaForm.java ! src/java.base/share/classes/java/lang/invoke/StringConcatFactory.java ! src/java.base/share/classes/java/lang/invoke/TypeConvertingMethodAdapter.java ! src/java.base/share/classes/jdk/internal/classfile/impl/BytecodeHelpers.java ! src/java.base/share/classes/jdk/internal/classfile/impl/ClassPrinterImpl.java ! src/java.base/share/classes/jdk/internal/classfile/impl/CodeLocalsShifterImpl.java ! src/java.base/share/classes/jdk/internal/classfile/impl/CodeStackTrackerImpl.java ! src/java.base/share/classes/jdk/internal/classfile/impl/DirectCodeBuilder.java ! src/java.base/share/classes/jdk/internal/classfile/impl/verifier/ParserVerifier.java ! src/java.base/share/classes/jdk/internal/foreign/abi/BindingSpecializer.java ! src/jdk.jdeps/share/classes/com/sun/tools/javap/CodeWriter.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/SystemModulesPlugin.java ! test/jdk/jdk/classfile/AdvancedTransformationsTest.java ! test/jdk/jdk/classfile/ArrayTest.java ! test/jdk/jdk/classfile/BuilderBlockTest.java ! test/jdk/jdk/classfile/BuilderTryCatchTest.java ! test/jdk/jdk/classfile/StackTrackerTest.java ! test/jdk/jdk/classfile/TempConstantPoolBuilderTest.java ! test/jdk/jdk/classfile/Utf8EntryTest.java ! test/jdk/jdk/classfile/helpers/ClassRecord.java ! test/jdk/jdk/classfile/helpers/RebuildingTransformation.java ! test/micro/org/openjdk/bench/jdk/classfile/Write.java