From Xiaohong.Gong at arm.com Wed Feb 1 03:37:14 2023 From: Xiaohong.Gong at arm.com (Xiaohong Gong) Date: Wed, 1 Feb 2023 03:37:14 +0000 Subject: VectorShuffle performance & usability feedback Message-ID: Hi, Yes, the *VectorShuffle* still has some opportunities to improve, such as the *VectorShuffle.fromArray()*. It can be optimized by adding the vector intrinsic support which finally generates the SIMD instructions. And it has been in our optimization plan. Regarding to the example code in fftv2, there are the *FloatVector* and *VectorShuffle* instances stored into the static final field arrays. Each using of the instance in an API needs the vector unboxing inside each loop iteration, which could be eliminated by making the instances local variables (e.g. calling FloatVector.fromArray() inside the loop). This can save several memory load operations I think. Besides, there are two *FloatVector* instances (i.e. im, re) defined before a loop, updated inside a loop, and used after the loop. It may need vector boxing inside the loop, if the loop is compiled by OSR. Note that the vector boxing the main cause of the bad performance of Vector API. So maybe you could try again with "-XX:-UseOnStackReplacement", which disables the OSR optimization. This is not an issue for me, which may be optimized by Valhalla value types in future. Thanks, Xiaohong > > Thanks for your feedback on an interesting use-case.h > > > - I think you can avoid reflection by doing this > > VectorSpecies floatSpecies = FloatVector.SPECIES_PREFERRED; > VectorShape byteShape = VectorShape.forBitSize(floatSpecies.length() * 8); // <- throws if shape is not available > VectorSpecies byteSpecies = VectorSpecies.of(byte.class, byteShape); > assert byteSpecies.length() == floatSpecies.length(); > > > -The integral lane element values of a VectorShuffle are in effect "clamped" and those of an IntVector are not, and further its not possible to represent an IntVector holding the required number of lanes for indexing lane elements for all shapes of ByteVector. > (We also have some trouble with the internal representation of VectorShuffle for large vector sizes, such as that may be applicable in ARM AVE, although in practice are likely very rare.) > > > - So far we have avoided adding the set of integral operations on VectorShuffle (and dealing with the interval constraints) since its possible to lean into conversions, but unfortunately you are running into some performance pot holes. The VectorShuffle::cast methods is not yet optimized, sorry. The VectorShuffle::toVector is, but is alas of no use to you for this use-case. > > > - Your point about "If a JRE does not support vectorization" is well taken. Note that querying the preferred species will give a species whose vector size is supported on the platform, but there is no way to query if a particular species is optimally supported and if so what operations are also supported. Ideally we would prefer developers not have to reason about this and for the implementation to fall back efficiently, but that is not always practical, especially for a low-level API, so some sort of querying may be necessary. IMO I don't loop bound queries are the right place to surface this feature. > > > - Species is the factory for the VM to define both the vector size and the lane element type, from that the number of lanes is known and the VM knows what instructions to generate. I think what you are suggesting is that a VectorShuffle be just lane specific with a species lane type (I suppose the same could apply to masks). Any binding to a species with the required number of lanes would be an implementation detail. Any lane-based VectorShuffle could be used with vectors whose species have the same number of lanes. I would need to discuss the possibilities with other team members, but it's potentially a non-trivial change. > (If we can fix the VectorShuffle cast performance pothole then this really comes down to an API design question, assuming it's possible for the VM to easily optimize.) > > > Overall VectorShuffle needs a little more TLC. > > Sandhya, I think it is worth looking at the code generated from the benchmark for the fftV2 checking if there are any dangling optimization issues (e.g. constant loads from the VectorShuffle arrays.) > > Paul. From jincheng at ca.ibm.com Wed Feb 1 23:55:00 2023 From: jincheng at ca.ibm.com (Cheng Jin) Date: Wed, 1 Feb 2023 23:55:00 +0000 Subject: Why the signature of arrangeDowncall/arrangeUpcall in CallArranger.java is inconsistent between Aarch64 and x64? Message-ID: Hi there, Can anybody explain why the "static" keyword was removed from arrangeDowncall/arrangeUpcall on Aarch64 (since JDK18) in src/java.base/share/classes/jdk/internal/foreign/abi/aarch64/CallArranger.java? public MethodHandle arrangeDowncall(MethodType mt, FunctionDescriptor cDesc, LinkerOptions options) { ... } public MemorySegment arrangeUpcall(MethodHandle target, MethodType mt, FunctionDescriptor cDesc, SegmentScope session) { ... } It remains unchanged on x64 in src/java.base/share/classes/jdk/internal/foreign/abi/x64/sysv/CallArranger.java & src/java.base/share/classes/jdk/internal/foreign/abi/x64/windows/CallArranger.java public static MethodHandle arrangeDowncall(MethodType mt, FunctionDescriptor cDesc, LinkerOptions options) { ... } public static MemorySegment arrangeUpcall(MethodHandle target, MethodType mt, FunctionDescriptor cDesc, SegmentScope scope) { ... } I am wondering whether there was special reason for this or anything else I am unaware of. Thanks. Best Regards Cheng Jin -------------- next part -------------- An HTML attachment was scrubbed... URL: From maurizio.cimadamore at oracle.com Thu Feb 2 13:44:32 2023 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Thu, 2 Feb 2023 13:44:32 +0000 Subject: Doubling down on arenas in the FFM API In-Reply-To: References: Message-ID: <70c71221-4465-fe0d-7da9-1c8db7bf77b1@oracle.com> On 02/02/2023 13:15, radek at smogura.eu wrote: Hi Maurizio, Thank you for sharing this. I agree that there?s a tension between Scope and Arena, and for i.e. passing Arena to FileChannel::map look bit like we pass too big object there. I just thought (sorry if it was proposed somewhere else), to introduce supporting object Scopable (can?t imagine better name on short notice). So something which can have a scope (own - freshly generated or shared in some way). The Scopable would have single method scope(), and for simplicity Scope could be Scopable returning ?this?. If MemorySegment should be Scopable - I don?t know - as there?s next issue of allocating segments which are dependent in some way and deallocation should be executed in order. Hi Rado, Thanks for the comments. Having a common interface for all things with a scope accessor is possible, and something we have considered to bring Arena and SegmentScope under the same umbrella. The main problem though, is where do you put the ?allocate? method. It is unfortunate that, in the Java 20 API, there are /three/ ways to allocate a native segment: |MemorySegment.allocateNative(100, arena.scope()) // 1 arena.allocate(100) // 2 SegmentAllocator.nativeAllocator(arena.scope()).allocate(100); // 3 | This seems overkill, and adding an interface on top of Arena and SegmentScope doesn?t help much. Well, Scopeable might also extend SegmentAllocator, so you can do: |SegmentScope.auto().allocate(100) | But now this creates an issue: if a scope is an allocator, then an Arena provides /two/ allocators: the allocator in its ?allocate? method, and the ?fallback? allocator, available accessing the arena?s scope. This seemed overly confusing. There?s also another aspect in this: what we call SegmentScope.auto() really does act as an arena (as the document explains) - just one that cannot be closed explicitly. So having too much splitting in the API seems to create unnecessary asymmetries and non-orthogonality. Once you embrace the fact that Arena is your unit of allocation for native segments, everything becomes easier. In the API proposed in the document there is now only /one/ way to allocate a native segment, namely Arena::allocate. P.S. Related to this, we also considered adding a Scopeable/Scoped interface (implemented by MemorySegment) instead of a separate ?Scope? interface. While initially appealing, as: |segment.isAlive() | Seems better than: |segment.scope().isAlive() | That approach starts running out of gas when you consider things like ?how do you compare the lifetime of two Scoped/Scopeable? ? You can?t use ?equals? (as equals on MemorySegment means something else) - so you end up with something like this: |segment.isLifetimeEquals(....) | or, if we also consider lifetime containment: |segment.isLifetimeContainedBy(....) | Both of which seems less direct than: |segment.scope().equals(...) | or |segment.scope().containedBy(...) | On top of that, since now Arena does not have a scope, but /is/ a scope, we need to make arena an abstract class, which somewhat limits extension options for clients. So we have concluded that keeping a small scope interface off to the side (MemorySegment.Scope) represented the most pragmatic compromise. Maurizio Kind regards, Rados?aw Smogura On 31 Jan 2023, at 19:46, Maurizio Cimadamore maurizio.cimadamore at oracle.com wrote: Hi, as discussed here [1], it is not clear as to whether Java 20 iteration of the Foreign Function & Memory API (FFM API) has yet reached bottom, especially when it comes to managing the lifetime of the regions of memory backing memory segments. After collecting some rounds of internal and external feedback, it was clear that while the Java 20 API has all the functionalities we require for writing efficient and robust native interop code, some of the concepts in the API were made a bit harder to grok, as users had to choose between two toplevel abstractions, namely |SegmentScope| and |Arena|. This choice is made even more difficult, as some of the functionalities (e.g. allocation) is duplicated in both API points. As a result, we have been busy exploring different ways to restack the FFM API in search of something more approachable. The results of our findings are described in this document: http://cr.openjdk.java.net/~mcimadamore/panama/scoped_arenas.html Here, we propose a possible simplification of the FFM API, where we make |Arena| the true star of the show, which results in the following changes: * factories such as |SegmentScope::auto| are now moved to |Arena|; * all segment-producing methods (such as |FileChannel::map|) now accept an |Arena| parameter; /static factories such as |MemorySegment::allocateNative| have been dropped; / scopes are made less prominent, and moved to a nested class (|MemorySegment.Scope|). This gives us a remarkably simple API, which brings together the best aspects of the Java 19 and Java 20 FFM API iterations. On the one hand, |Arena| is now the most important abstraction that users of the FFM API have to deal with (in a way, |Arena| is the new |MemorySession|); at the same time, we still have a way to model the lifetime of an |Arena| (and all the segments allocated by it) using a |MemorySegment.Scope| - which is desirable both in terms of debugging (e.g. inspecting whether two segments/arenas have the same lifetime) and, more importantly, in terms of allowing the definition of custom arenas via simple delegation (as in Java 20). As always, feedback is welcome. While this proposal does not significantly alter the expressiveness of the FFM API, the proposed API comes with some limitations. For instance, since all allocation routines are now |Arena|-centric (see above), it is no longer possible to allocate a new segment if a corresponding arena is not available (we call this co-allocation). As explained in the document, while it would be possible to add back the missing co-allocation functionality, extensive analysis of the code using the FFM API has shown co-allocation to be /extremely/ rare (**) - and of dubious value. For these reasons, we would like to aim for a more principled approach which avoids co-allocation altogether, and allows for more encapsulation of the capabilities associated with an |Arena| object. Maurizio (**) We have only found /one/ usage [2] in over 10K Java files and more than 11M LoC analyzed. Moreover, this usage is only present in the Java 19 branch of the project, and removed in the ?main? branch (which tracks the Java 20 FFM API). We suspect that this use of co-allocation has been made irrelevant after the unification of |MemoryAddress| and |MemorySegment|. [1] - https://mail.openjdk.org/pipermail/panama-dev/2022-December/018182.html [2] - https://urldefense.com/v3/__https://github.com/boulder-on/JPassport/blob/Java_19/jpassport/src/main/java/jpassport/Utils.java*L418__;Iw!!ACWV5N9M2RV99hQ!N83lUkxsLt0-52DJ28iFtyghkVYTBrkIqpba_S_rHp-LgkOjS11XHE2aNR0-4t77U_S3UqP_HU-K1tufeLRhfQs$ ? -------------- next part -------------- An HTML attachment was scrubbed... URL: From maurizio.cimadamore at oracle.com Thu Feb 2 14:09:08 2023 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Thu, 2 Feb 2023 14:09:08 +0000 Subject: [External] : RE: Inappropriate use of the implicit session in allocating the upcall stub in SafeFunctionAccessTest.java In-Reply-To: <8512823c-855d-6a6e-75b2-640dd5326ca0@oracle.com> References: <017eed4a-f69d-bd16-dd48-59f3adcad226@oracle.com> <8512823c-855d-6a6e-75b2-640dd5326ca0@oracle.com> Message-ID: To add to Jorn?s great reply, let?s also look at this from a different angle. The question you are asking in reality has nothing to do with upcalls. It has to do with memory segments that are passed /by reference/ (e.g. by passing their address in some register and/or stack slot). Even a call to something as simple as this: |size_t strlen(const char *s); | can be problematic: consider the case where the string is stored in a memory segment whose lifetime is managed by an automatic scope. It would be bad if the segment could become unreachable /while/ executing |strlen|. This is why the Linker provides a lifetime guarantee for all memory segments passed by reference: such arguments will be forcefully kept alive for the entire duration of the call. This means that a segment passed to |strlen|, no matter how allocated, will never be deallocated while the |strlen| code is executing. This is, of course an 80% (90% ?) guarantee: it works well when the native code uses the provided segment /locally/. But in cases where the native code stashes the segment pointer somewhere (e.g. a global variable) and then, later on, re-access that same pointer (maybe while evaluating a different function) there can be issues. The problem here is that the native code as certain expectations on the lifetime of the provided pointer (e.g. this pointer should remain alive after the call). In such cases, the Java code using Linker should reflect the expected lifetime accordingly, either by adding reachability fences as required (if the segment is managed by the GC), or by keeping the Arena alive for as long as required. Whenever this doesn?t happen, the native code can be exposed to use-after-free bugs. There is nothing a Java API can do to protect against these sneaky cases: handling these cases correctly is really a result of a deeper understanding of the lifetime expectations of the library we?re interacting with. Upcall stubs are ?just another kind of segment? that can be passed by reference. As such, it is subject to the same guarantees described above, which can fail exactly in the same ways as described above for non-upcall segments. Cheers Maurizio On 31/01/2023 22:20, Jorn Vernee wrote: > Hi, > > The section of javadoc that you reference is talking about a case like > this: > > ??? static MemorySegment target() { > ??????? try (Arena arena = Arena.openConfined()) { > ??????????? return arena.allocate(JAVA_INT); > ??????? } > ??? } > > Note that the memory will be freed before the target function returns, > so if this function is used as the target method of an upcall stub, it > will effectively return a dangling pointer to native code. If the > native code then dereferences the returned pointer, this can crash the VM. > > > I don?t understand how/what clients should do to ensure the address > of the upcall stub is alive during the upcall invocation within an > implication session. > > In the case of an implicit scope, the scope of the upcall stub should > be kept reachable (per [1]) until the upcall stub can no longer be > called. The Reference::reachability fence method can be used for this. > But, it might be easier to use an explicitly closed scope for the > upcall stub instead, if you plan on storing it in native memory and > calling it later. > > > Does that mean the implicit session is ALREADY kept alive in the > existing implementation of OpenJDK (which I don?t think so) to > guarantee the upcall stub works during the upcall invocation based on > the explanation in [1]? > > Not quite. The current implementation guarantees that the implicit > session of an upcall stub is kept alive (and the upcall stub works) > during and invocation of a _downcall_ to which the upcall stub memory > segment is passed. i.e. if an upcall stub is passed to a downcall, the > scope it is attached to can not be closed for the duration of that > downcall (and this goes for any MemorySegment passed to a downcall). > This is achieved by calling ImplicitSession::release [2] after a > downcall returns. > > There is no guarantee that an arbitrary upcall stub will be kept alive > until it is invoked. For instance, if I pass an upcall stub to native > code, and store the pointer in some memory there (e.g. a global > variable), then I return back to Java. If I don't have a strong > reference to the upcall stub's scope, the upcall stub might be freed. > If I then later try to invoke the upcall stub again through the > pointer I stored in native code, the VM can crash. In short: the JVM > can not 'see' any pointer to the upcall stub from native code, so they > don't count toward its reachability. > > To illustrate the problematic case, consider this native library and > Java program that calls into it (using the Java 20 API): > > libMylib.c: > > typedef void (*callback_t)(void); > > static callback_t GLOBAL_CB; // global pointer variable > > void store(callback_t cb) { > ? GLOBAL_CB = cb; > } > > void call() { > ? GLOBAL_CB(); > } > > Main.java: > > import java.lang.foreign.*; > import java.lang.invoke.*; > > import static java.lang.foreign.ValueLayout.*; > > public class Main { > ? static final Linker LINKER = Linker.nativeLinker(); > > ? static final MethodHandle STORE; > ? static final MethodHandle CALL; > ? static final MethodHandle TARGET; > > ? static { > ??? System.loadLibrary("Mylib"); > ??? SymbolLookup lookup = SymbolLookup.loaderLookup(); > ??? STORE = LINKER.downcallHandle(lookup.find("store").get(), > FunctionDescriptor.ofVoid(ADDRESS)); > ??? CALL = LINKER.downcallHandle(lookup.find("call").get(), > FunctionDescriptor.ofVoid()); > ??? try { > ????? TARGET = MethodHandles.lookup().findStatic(Main.class, "target", > MethodType.methodType(void.class)); > ??? } catch (ReflectiveOperationException e) { > ????? throw new InternalError(e); > ??? } > ? } > ? public static void main(String[] args) throws Throwable { > ??? store(); > ??? System.gc(); // invoke gc which can clean up 'stub' > ??? call(); > ? } > > ? static void store() throws Throwable { > ??? MemorySegment stub = LINKER.upcallStub(TARGET, > FunctionDescriptor.ofVoid(), SegmentScope.auto()); > ??? STORE.invokeExact(stub); > ??? // stub is unreachable here > ? } > > ? static void call() throws Throwable { > ??? CALL.invokeExact(); > ? } > > ? static void target() {} > } > > On my machine this code reliably crashes the VM, since the upcall stub > is called after it becomes unreachable (and is freed). > > In order to fix this, I would have to keep the stub alive until after > I call the 'call' function from the native library: > > ? public static void main(String[] args) throws Throwable { > ??? MemorySegment stub = store(); // <----- > ??? System.gc(); // invoke gc > ??? call(); > ??? Reference.reachabilityFence(stub); // <----- keep stub alive until > after I call it > ? } > > ? static MemorySegment store() throws Throwable { > ??? MemorySegment stub = LINKER.upcallStub(TARGET, > FunctionDescriptor.ofVoid(), SegmentScope.auto()); > ??? STORE.invokeExact(stub); > ??? return stub;// <--- return stub here > ? } > > Hope that helps, > Jorn > > [1]: > https://docs.oracle.com/en/java/javase/19/docs/api/java.base/java/lang/ref/package-summary.html#reachability > [2]: > https://github.com/openjdk/panama-foreign/blob/a943c2eb10ba40c36d5a6e874160d0a747457510/src/java.base/share/classes/jdk/internal/foreign/ImplicitSession.java#L50 > > On 31/01/2023 21:01, Cheng Jin wrote: >> >> Hi Jorn, >> >> Correct but these bullets are only intended for the downcall >> invocation rather than the upcall stub. >> >> According to the explanation of upcall stub in [1] as follows: >> >> ?When creating upcall stubs the linker runtime.... >> >> Moreover, if the target method handle associated with an upcall stub >> returns a memory address, >> >> clients must ensure that this address cannot become invalid after the >> upcall completes. ?----------------- >> >> This can lead to unspecified behavior, and even JVM crashes, since an >> upcall is >> >> typically executed in the context of a downcall method handle >> invocation.? >> >> I don?t understand how/what clients should do to ensure the address >> of the upcall stub is alive during the upcall invocation within an >> implication session. >> >> Does that mean the implicit session is ALREADY kept alive in the >> existing implementation of OpenJDK (which I don?t think so) to >> guarantee the upcall stub works during the upcall invocation based on >> the explanation in [1]? >> >> Best Regards >> >> Cheng Jin >> >> *From:*Jorn Vernee >> *Sent:* January 31, 2023 2:14 PM >> *To:* Cheng Jin ; panama-dev at openjdk.org >> *Subject:* [EXTERNAL] Re: Inappropriate use of the implicit session >> in allocating the upcall stub in SafeFunctionAccessTest.java >> >> Hi Cheng Jin, Thanks for the email. In this case it is not a problem >> since memory sessions (including upcall stubs) are kept >> alive/reachable for the duration of a downcall (see the third bullet >> here: [1]) "The memory session of R is kept >> >> ZjQcmQRYFpfptBannerStart >> >> *This Message Is From an External Sender * >> >> This message came from outside your organization. >> >> ZjQcmQRYFpfptBannerEnd >> >> Hi Cheng Jin, >> >> Thanks for the email. >> >> In this case it is not a problem since memory sessions (including >> upcall stubs) are kept alive/reachable for the duration of a downcall >> (see the third bullet here: [1]) >> >> ??? "The memory session of R is kept alive (and cannot be closed) >> during the invocation." >> >> Since we don't store a reference to the upcall stub in native code >> until after the downcall returns, this is safe to rely on. >> >> Cheers, >> Jorn >> >> [1]: >> https://docs.oracle.com/en/java/javase/19/docs/api/java.base/java/lang/foreign/Linker.html#safety >> >> On 31/01/2023 18:49, Cheng Jin wrote: >> >> Hi there, >> >> I notice there might be an issue with the allocation of upcall >> stub under an implicit session at >> test/jdk/java/foreign/SafeFunctionAccessTest.java in JDK19+ as >> follows: >> >> e.g. >> >> ??? @Test >> >> ??? public void testClosedStructCallback() throws Throwable { >> >> ??????? MethodHandle handle = Linker.nativeLinker().downcallHandle( >> >> findNativeOrThrow("addr_func_cb"), >> >> FunctionDescriptor.ofVoid(C_POINTER, C_POINTER)); >> >> ??????? try (MemorySession session = MemorySession.openConfined()) { >> >> ???????????MemorySegment segment = >> MemorySegment.allocateNative(POINT, session); >> >> ??????????? handle.invoke(segment, sessionChecker(session)); >> ?--------------- the upcall stub is allocated in sessionChecker() >> >> ??????? } >> >> ??? } >> >> ??? MemorySegment sessionChecker(MemorySession session) { >> >> ????? ??try { >> >> ??????????? MethodHandle handle = >> MethodHandles.lookup().findStatic(SafeFunctionAccessTest.class, >> "checkSession", >> >> MethodType.methodType(void.class, MemorySession.class)); >> >> ??????????? handle = handle.bindTo(session); >> >> ??????????? return Linker.nativeLinker().upcallStub(handle, >> FunctionDescriptor.ofVoid(), MemorySession.openImplicit()); >> ?-----the upcall stub is allocated with an implicit session >> >> ??????? } catch (Throwable ex) { >> >> ??????????? throw new AssertionError(ex); >> >> ??????? } >> >> } >> >> It is correct to allocate the upcall stub with a session >> different from the current session in tests given these tests >> intend to close the current session in upcall to verify the >> behavior. But it is problematic to exploit an implicit session >> backed by GC, in which case the memory of the upcall stub is more >> likely to be forced to release by GC (when implicitly closing the >> session to free memory) especially on the memory-restricted >> machines, which leads to unexpected behavior in upcall (e.g. >> crash which was captured recently). To work around this case, I?d >> suggest to replace it with a global session or others so as to >> keep the upcall stub alive during the upcall. >> >> Best Regards >> >> Cheng Jin >> ? -------------- next part -------------- An HTML attachment was scrubbed... URL: From martin.pernollet at protonmail.com Thu Feb 2 15:52:14 2023 From: martin.pernollet at protonmail.com (Martin Pernollet) Date: Thu, 02 Feb 2023 15:52:14 +0000 Subject: Doubling down on arenas in the FFM API In-Reply-To: References: Message-ID: <_VYmoWwAZhgLcE39JxRbz65HRv-nkaaY3yDufHs8gD5zPfdauBKBFDlGDAMheQA6yxv9c2kUPcjpHs29IR8vLKm6q0t7NozIrdrQJFhQ3tw=@protonmail.com> Hi Maurizio, Thanks for sharing information about the future of Panama! I have no other comment on your roadmap notice than confirming that centering FFM API on Arena would make the API simpler and nice (although the API is really clear already). Do you think the API will still evolve through following releases? Cheers, Martin ps : Thank you for sharing information on the PanamaGL project in your december email! I just wish to warn that we moved to Gitlab (https://gitlab.com/jzy3d/panama-gl). Envoy? avec la messagerie s?curis?e Proton Mail. ------- Original Message ------- Le mardi 31 janvier 2023 ? 19:46, Maurizio Cimadamore a ?crit?: > Hi, > as discussed here [1], it is not clear as to whether Java 20 iteration > of the Foreign Function & Memory API (FFM API) has yet reached bottom, > especially when it comes to managing the lifetime of the regions of > memory backing memory segments. After collecting some rounds of internal > and external feedback, it was clear that while the Java 20 API has all > the functionalities we require for writing efficient and robust native > interop code, some of the concepts in the API were made a bit harder to > grok, as users had to choose between two toplevel abstractions, namely > `SegmentScope` and `Arena`. This choice is made even more difficult, as > some of the functionalities (e.g. allocation) is duplicated in both API > points. As a result, we have been busy exploring different ways to > restack the FFM API in search of something more approachable. > > The results of our findings are described in this document: > > http://cr.openjdk.java.net/~mcimadamore/panama/scoped_arenas.html > > Here, we propose a possible simplification of the FFM API, where we make > `Arena` the true star of the show, which results in the following changes: > > * factories such as `SegmentScope::auto` are now moved to `Arena`; > * all segment-producing methods (such as `FileChannel::map`) now accept > an `Arena` parameter; > * static factories such as `MemorySegment::allocateNative` have been > dropped; > * scopes are made less prominent, and moved to a nested class > (`MemorySegment.Scope`). > > This gives us a remarkably simple API, which brings together the best > aspects of the Java 19 and Java 20 FFM API iterations. On the one hand, > `Arena` is now the most important abstraction that users of the FFM API > have to deal with (in a way, `Arena` is the new `MemorySession`); at the > same time, we still have a way to model the lifetime of an `Arena` (and > all the segments allocated by it) using a `MemorySegment.Scope` - which > is desirable both in terms of debugging (e.g. inspecting whether two > segments/arenas have the same lifetime) and, more importantly, in terms > of allowing the definition of custom arenas via simple delegation (as in > Java 20). > > As always, feedback is welcome. While this proposal does not > significantly alter the expressiveness of the FFM API, the proposed API > comes with some limitations. For instance, since all allocation routines > are now `Arena`-centric (see above), it is no longer possible to > allocate a new segment if a corresponding arena is not available (we > call this co-allocation). As explained in the document, while it would > be possible to add back the missing co-allocation functionality, > extensive analysis of the code using the FFM API has shown co-allocation > to be extremely rare () - and of dubious value. For these reasons, > we would like to aim for a more principled approach which avoids > co-allocation altogether, and allows for more encapsulation of the > capabilities associated with an `Arena` object. > > Maurizio > > () We have only found one usage [2] in over 10K Java files and more > than 11M LoC analyzed. Moreover, this usage is only present in the Java > 19 branch of the project, and removed in the "main" branch (which tracks > the Java 20 FFM API). We suspect that this use of co-allocation has been > made irrelevant after the unification of `MemoryAddress` and > `MemorySegment`. > > [1] - > https://mail.openjdk.org/pipermail/panama-dev/2022-December/018182.html > [2] - > https://github.com/boulder-on/JPassport/blob/Java_19/jpassport/src/main/java/jpassport/Utils.java#L418 > > > > From maurizio.cimadamore at oracle.com Thu Feb 2 16:06:38 2023 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Thu, 2 Feb 2023 16:06:38 +0000 Subject: Doubling down on arenas in the FFM API In-Reply-To: <_VYmoWwAZhgLcE39JxRbz65HRv-nkaaY3yDufHs8gD5zPfdauBKBFDlGDAMheQA6yxv9c2kUPcjpHs29IR8vLKm6q0t7NozIrdrQJFhQ3tw=@protonmail.com> References: <_VYmoWwAZhgLcE39JxRbz65HRv-nkaaY3yDufHs8gD5zPfdauBKBFDlGDAMheQA6yxv9c2kUPcjpHs29IR8vLKm6q0t7NozIrdrQJFhQ3tw=@protonmail.com> Message-ID: <910c5dca-e50f-dd41-2cee-5ddd68a1a354@oracle.com> On 02/02/2023 15:52, Martin Pernollet wrote: > Hi Maurizio, > > Thanks for sharing information about the future of Panama! > > I have no other comment on your roadmap notice than confirming that centering FFM API on Arena would make the API simpler and nice (although the API is really clear already). > > Do you think the API will still evolve through following releases? Hi Martin, thanks for your comments. With these changes, the Arena API looks and feels relatively minimal and I would personally be happy if this API was finalized. I also believe that, while minimal, the proposed API has quite a lot of room to add to it at a later point if needed (e.g. support for co-allocation, structured and/or dependent arenas, more complex lifetime containment queries), so it feels like a good starting point. Because of this, I'd expect future updates to be either of a more superficial kind (e.g. perhaps some final renaming round - e.g. is MemorySegment.Scope the best name?), or targeted at specific improvements (e.g. as we have seen with the addition of fallback linker [1], trivial call support [2], better support for resizing segments [3] and for dereferencing address using layouts [4]). Cheers Maurizio [1] - https://git.openjdk.org/panama-foreign/pull/770 [2] - https://git.openjdk.org/panama-foreign/pull/771 [3] - https://git.openjdk.org/panama-foreign/pull/775 [4] - https://git.openjdk.org/panama-foreign/pull/776 > > Cheers, > > Martin > > ps : Thank you for sharing information on the PanamaGL project in your december email! I just wish to warn that we moved to Gitlab (https://urldefense.com/v3/__https://gitlab.com/jzy3d/panama-gl__;!!ACWV5N9M2RV99hQ!ICQO6mA3mg954D2ora3cmtPJwKpIKw8ylHDaSAw_Ff-9MKr2VvwW9-08CiX_ktIqLMRBiUO8pf5_b6b5UJ5Xl_pI4xNlX3hbsRmjfA$ ). > > > > > Envoy? avec la messagerie s?curis?e Proton Mail. > > ------- Original Message ------- > Le mardi 31 janvier 2023 ? 19:46, Maurizio Cimadamore a ?crit?: > > >> Hi, >> as discussed here [1], it is not clear as to whether Java 20 iteration >> of the Foreign Function & Memory API (FFM API) has yet reached bottom, >> especially when it comes to managing the lifetime of the regions of >> memory backing memory segments. After collecting some rounds of internal >> and external feedback, it was clear that while the Java 20 API has all >> the functionalities we require for writing efficient and robust native >> interop code, some of the concepts in the API were made a bit harder to >> grok, as users had to choose between two toplevel abstractions, namely >> `SegmentScope` and `Arena`. This choice is made even more difficult, as >> some of the functionalities (e.g. allocation) is duplicated in both API >> points. As a result, we have been busy exploring different ways to >> restack the FFM API in search of something more approachable. >> >> The results of our findings are described in this document: >> >> http://cr.openjdk.java.net/~mcimadamore/panama/scoped_arenas.html >> >> Here, we propose a possible simplification of the FFM API, where we make >> `Arena` the true star of the show, which results in the following changes: >> >> * factories such as `SegmentScope::auto` are now moved to `Arena`; >> * all segment-producing methods (such as `FileChannel::map`) now accept >> an `Arena` parameter; >> * static factories such as `MemorySegment::allocateNative` have been >> dropped; >> * scopes are made less prominent, and moved to a nested class >> (`MemorySegment.Scope`). >> >> This gives us a remarkably simple API, which brings together the best >> aspects of the Java 19 and Java 20 FFM API iterations. On the one hand, >> `Arena` is now the most important abstraction that users of the FFM API >> have to deal with (in a way, `Arena` is the new `MemorySession`); at the >> same time, we still have a way to model the lifetime of an `Arena` (and >> all the segments allocated by it) using a `MemorySegment.Scope` - which >> is desirable both in terms of debugging (e.g. inspecting whether two >> segments/arenas have the same lifetime) and, more importantly, in terms >> of allowing the definition of custom arenas via simple delegation (as in >> Java 20). >> >> As always, feedback is welcome. While this proposal does not >> significantly alter the expressiveness of the FFM API, the proposed API >> comes with some limitations. For instance, since all allocation routines >> are now `Arena`-centric (see above), it is no longer possible to >> allocate a new segment if a corresponding arena is not available (we >> call this co-allocation). As explained in the document, while it would >> be possible to add back the missing co-allocation functionality, >> extensive analysis of the code using the FFM API has shown co-allocation >> to be extremely rare () - and of dubious value. For these reasons, >> we would like to aim for a more principled approach which avoids >> co-allocation altogether, and allows for more encapsulation of the >> capabilities associated with an `Arena` object. >> >> Maurizio >> >> () We have only found one usage [2] in over 10K Java files and more >> than 11M LoC analyzed. Moreover, this usage is only present in the Java >> 19 branch of the project, and removed in the "main" branch (which tracks >> the Java 20 FFM API). We suspect that this use of co-allocation has been >> made irrelevant after the unification of `MemoryAddress` and >> `MemorySegment`. >> >> [1] - >> https://mail.openjdk.org/pipermail/panama-dev/2022-December/018182.html >> [2] - >> https://urldefense.com/v3/__https://github.com/boulder-on/JPassport/blob/Java_19/jpassport/src/main/java/jpassport/Utils.java*L418__;Iw!!ACWV5N9M2RV99hQ!ICQO6mA3mg954D2ora3cmtPJwKpIKw8ylHDaSAw_Ff-9MKr2VvwW9-08CiX_ktIqLMRBiUO8pf5_b6b5UJ5Xl_pI4xNlX3jH2TAkyA$ >> >> >> >> From remm at apache.org Thu Feb 2 16:23:55 2023 From: remm at apache.org (=?UTF-8?Q?R=C3=A9my_Maucherat?=) Date: Thu, 2 Feb 2023 17:23:55 +0100 Subject: Doubling down on arenas in the FFM API In-Reply-To: References: Message-ID: Hi Maurizio, Thanks for the update. On Tue, Jan 31, 2023 at 7:46 PM Maurizio Cimadamore wrote: > > Hi, > as discussed here [1], it is not clear as to whether Java 20 iteration > of the Foreign Function & Memory API (FFM API) has yet reached bottom, > especially when it comes to managing the lifetime of the regions of > memory backing memory segments. After collecting some rounds of internal > and external feedback, it was clear that while the Java 20 API has all > the functionalities we require for writing efficient and robust native > interop code, some of the concepts in the API were made a bit harder to > grok, as users had to choose between two toplevel abstractions, namely > `SegmentScope` and `Arena`. This choice is made even more difficult, as > some of the functionalities (e.g. allocation) is duplicated in both API > points. As a result, we have been busy exploring different ways to > restack the FFM API in search of something more approachable. > > The results of our findings are described in this document: > > http://cr.openjdk.java.net/~mcimadamore/panama/scoped_arenas.html > > Here, we propose a possible simplification of the FFM API, where we make > `Arena` the true star of the show, which results in the following changes: > > * factories such as `SegmentScope::auto` are now moved to `Arena`; > * all segment-producing methods (such as `FileChannel::map`) now accept > an `Arena` parameter; > * static factories such as `MemorySegment::allocateNative` have been > dropped; > * scopes are made less prominent, and moved to a nested class > (`MemorySegment.Scope`). > > This gives us a remarkably simple API, which brings together the best > aspects of the Java 19 and Java 20 FFM API iterations. On the one hand, > `Arena` is now the most important abstraction that users of the FFM API > have to deal with (in a way, `Arena` is the new `MemorySession`); at the > same time, we still have a way to model the lifetime of an `Arena` (and > all the segments allocated by it) using a `MemorySegment.Scope` - which > is desirable both in terms of debugging (e.g. inspecting whether two > segments/arenas have the same lifetime) and, more importantly, in terms > of allowing the definition of custom arenas via simple delegation (as in > Java 20). > > As always, feedback is welcome. While this proposal does not > significantly alter the expressiveness of the FFM API, the proposed API > comes with some limitations. For instance, since all allocation routines > are now `Arena`-centric (see above), it is no longer possible to > allocate a new segment if a corresponding arena is not available (we > call this co-allocation). As explained in the document, while it would > be possible to add back the missing co-allocation functionality, > extensive analysis of the code using the FFM API has shown co-allocation > to be _extremely_ rare (**) - and of dubious value. For these reasons, > we would like to aim for a more principled approach which avoids > co-allocation altogether, and allows for more encapsulation of the > capabilities associated with an `Arena` object. This fixes the concerns I had with the API being separated in two (SegmentScope and Arena) depending on what kind of close strategy is desired. So it seems like a very good update, despite backtracking on some of the Java 20 API changes. R?my > > Maurizio > > (**) We have only found _one_ usage [2] in over 10K Java files and more > than 11M LoC analyzed. Moreover, this usage is only present in the Java > 19 branch of the project, and removed in the "main" branch (which tracks > the Java 20 FFM API). We suspect that this use of co-allocation has been > made irrelevant after the unification of `MemoryAddress` and > `MemorySegment`. > > [1] - > https://mail.openjdk.org/pipermail/panama-dev/2022-December/018182.html > [2] - > https://github.com/boulder-on/JPassport/blob/Java_19/jpassport/src/main/java/jpassport/Utils.java#L418 > > > > > > From jorn.vernee at oracle.com Thu Feb 2 16:49:18 2023 From: jorn.vernee at oracle.com (Jorn Vernee) Date: Thu, 2 Feb 2023 17:49:18 +0100 Subject: Why the signature of arrangeDowncall/arrangeUpcall in CallArranger.java is inconsistent between Aarch64 and x64? In-Reply-To: References: Message-ID: <1a3e78ed-4447-816d-9940-490717ac643d@oracle.com> Hi, The AArch64 CallArranger has several different subclasses (for different OSes). The arrangeDowncall/arrangeUpcall method calls (indirectly through getBindings) several overridden instance methods in these subclasses (see the `abstract` methods in the AArch64 CallArranger), so it has to be non-static. For the x64 implementations of CallArranger we don't have any subclasses of CallArranger, so there the method can be static. Jorn On 02/02/2023 00:55, Cheng Jin wrote: > > Hi there, > > Can anybody explain why the ?static? keyword was removed from > arrangeDowncall/arrangeUpcall on Aarch64 (since JDK18) in > src/java.base/share/classes/jdk/internal/foreign/abi/aarch64/CallArranger.java? > > ?? public MethodHandle arrangeDowncall(MethodType mt, > FunctionDescriptor cDesc, LinkerOptions options) { > > ... > > ??? } > > ??? public MemorySegment arrangeUpcall(MethodHandle target, MethodType > mt, FunctionDescriptor cDesc, SegmentScope session) { > > ... > > ??? } > > It remains unchanged on x64 in > src/java.base/share/classes/jdk/internal/foreign/abi/x64/sysv/CallArranger.java > & > src/java.base/share/classes/jdk/internal/foreign/abi/x64/windows/CallArranger.java > > ??? public static MethodHandle arrangeDowncall(MethodType mt, > FunctionDescriptor cDesc, LinkerOptions options) { > > ... > > ??? } > > ??? public static MemorySegment arrangeUpcall(MethodHandle target, > MethodType mt, FunctionDescriptor cDesc, SegmentScope scope) { > > ... > > } > > I am wondering whether there was special reason for this or anything > else I am unaware of. ?Thanks. > > Best Regards > > Cheng Jin > -------------- next part -------------- An HTML attachment was scrubbed... URL: From radek at smogura.eu Thu Feb 2 13:15:31 2023 From: radek at smogura.eu (radek at smogura.eu) Date: Thu, 2 Feb 2023 14:15:31 +0100 Subject: Doubling down on arenas in the FFM API In-Reply-To: References: Message-ID: Hi Maurizio, Thank you for sharing this. I agree that there?s a tension between Scope and Arena, and for i.e. passing Arena to FileChannel::map look bit like we pass too big object there. I just thought (sorry if it was proposed somewhere else), to introduce supporting object Scopable (can?t imagine better name on short notice). So something which can have a scope (own - freshly generated or shared in some way). The Scopable would have single method scope(), and for simplicity Scope could be Scopable returning ?this". If MemorySegment should be Scopable - I don?t know - as there?s next issue of allocating segments which are dependent in some way and deallocation should be executed in order. Kind regards, Rados?aw Smogura > On 31 Jan 2023, at 19:46, Maurizio Cimadamore wrote: > > Hi, > as discussed here [1], it is not clear as to whether Java 20 iteration of the Foreign Function & Memory API (FFM API) has yet reached bottom, especially when it comes to managing the lifetime of the regions of memory backing memory segments. After collecting some rounds of internal and external feedback, it was clear that while the Java 20 API has all the functionalities we require for writing efficient and robust native interop code, some of the concepts in the API were made a bit harder to grok, as users had to choose between two toplevel abstractions, namely `SegmentScope` and `Arena`. This choice is made even more difficult, as some of the functionalities (e.g. allocation) is duplicated in both API points. As a result, we have been busy exploring different ways to restack the FFM API in search of something more approachable. > > The results of our findings are described in this document: > > http://cr.openjdk.java.net/~mcimadamore/panama/scoped_arenas.html > > Here, we propose a possible simplification of the FFM API, where we make `Arena` the true star of the show, which results in the following changes: > > * factories such as `SegmentScope::auto` are now moved to `Arena`; > * all segment-producing methods (such as `FileChannel::map`) now accept an `Arena` parameter; > * static factories such as `MemorySegment::allocateNative` have been dropped; > * scopes are made less prominent, and moved to a nested class (`MemorySegment.Scope`). > > This gives us a remarkably simple API, which brings together the best aspects of the Java 19 and Java 20 FFM API iterations. On the one hand, `Arena` is now the most important abstraction that users of the FFM API have to deal with (in a way, `Arena` is the new `MemorySession`); at the same time, we still have a way to model the lifetime of an `Arena` (and all the segments allocated by it) using a `MemorySegment.Scope` - which is desirable both in terms of debugging (e.g. inspecting whether two segments/arenas have the same lifetime) and, more importantly, in terms of allowing the definition of custom arenas via simple delegation (as in Java 20). > > As always, feedback is welcome. While this proposal does not significantly alter the expressiveness of the FFM API, the proposed API comes with some limitations. For instance, since all allocation routines are now `Arena`-centric (see above), it is no longer possible to allocate a new segment if a corresponding arena is not available (we call this co-allocation). As explained in the document, while it would be possible to add back the missing co-allocation functionality, extensive analysis of the code using the FFM API has shown co-allocation to be _extremely_ rare (**) - and of dubious value. For these reasons, we would like to aim for a more principled approach which avoids co-allocation altogether, and allows for more encapsulation of the capabilities associated with an `Arena` object. > > Maurizio > > (**) We have only found _one_ usage [2] in over 10K Java files and more than 11M LoC analyzed. Moreover, this usage is only present in the Java 19 branch of the project, and removed in the "main" branch (which tracks the Java 20 FFM API). We suspect that this use of co-allocation has been made irrelevant after the unification of `MemoryAddress` and `MemorySegment`. > > [1] - https://mail.openjdk.org/pipermail/panama-dev/2022-December/018182.html > [2] - https://github.com/boulder-on/JPassport/blob/Java_19/jpassport/src/main/java/jpassport/Utils.java#L418 > > > > > > From jincheng at ca.ibm.com Thu Feb 2 17:11:20 2023 From: jincheng at ca.ibm.com (Cheng Jin) Date: Thu, 2 Feb 2023 17:11:20 +0000 Subject: : RE: Inappropriate use of the implicit session in allocating the upcall stub in SafeFunctionAccessTest.java In-Reply-To: References: <017eed4a-f69d-bd16-dd48-59f3adcad226@oracle.com> <8512823c-855d-6a6e-75b2-640dd5326ca0@oracle.com> Message-ID: Hi Maurizio, I really appreciate your explanation in more details which helps me better understand how to deal with the lifetime of the memory segment in downcall/upcall. Best Regards Cheng Jin From: Maurizio Cimadamore Sent: February 2, 2023 9:09 AM To: Jorn Vernee ; Cheng Jin ; panama-dev at openjdk.org Subject: Re: [External] : RE: Inappropriate use of the implicit session in allocating the upcall stub in SafeFunctionAccessTest.java To add to Jorn?s great reply, let?s also look at this from a different angle. The question you are asking in reality has nothing to do with upcalls. It has to do with memory segments that are passed by reference (e.?g. by passing their address ZjQcmQRYFpfptBannerStart This Message Is From an External Sender This message came from outside your organization. ZjQcmQRYFpfptBannerEnd To add to Jorn?s great reply, let?s also look at this from a different angle. The question you are asking in reality has nothing to do with upcalls. It has to do with memory segments that are passed by reference (e.g. by passing their address in some register and/or stack slot). Even a call to something as simple as this: size_t strlen(const char *s); can be problematic: consider the case where the string is stored in a memory segment whose lifetime is managed by an automatic scope. It would be bad if the segment could become unreachable while executing strlen. This is why the Linker provides a lifetime guarantee for all memory segments passed by reference: such arguments will be forcefully kept alive for the entire duration of the call. This means that a segment passed to strlen, no matter how allocated, will never be deallocated while the strlen code is executing. This is, of course an 80% (90% ?) guarantee: it works well when the native code uses the provided segment locally. But in cases where the native code stashes the segment pointer somewhere (e.g. a global variable) and then, later on, re-access that same pointer (maybe while evaluating a different function) there can be issues. The problem here is that the native code as certain expectations on the lifetime of the provided pointer (e.g. this pointer should remain alive after the call). In such cases, the Java code using Linker should reflect the expected lifetime accordingly, either by adding reachability fences as required (if the segment is managed by the GC), or by keeping the Arena alive for as long as required. Whenever this doesn?t happen, the native code can be exposed to use-after-free bugs. There is nothing a Java API can do to protect against these sneaky cases: handling these cases correctly is really a result of a deeper understanding of the lifetime expectations of the library we?re interacting with. Upcall stubs are ?just another kind of segment? that can be passed by reference. As such, it is subject to the same guarantees described above, which can fail exactly in the same ways as described above for non-upcall segments. Cheers Maurizio On 31/01/2023 22:20, Jorn Vernee wrote: Hi, The section of javadoc that you reference is talking about a case like this: static MemorySegment target() { try (Arena arena = Arena.openConfined()) { return arena.allocate(JAVA_INT); } } Note that the memory will be freed before the target function returns, so if this function is used as the target method of an upcall stub, it will effectively return a dangling pointer to native code. If the native code then dereferences the returned pointer, this can crash the VM. > I don?t understand how/what clients should do to ensure the address of the upcall stub is alive during the upcall invocation within an implication session. In the case of an implicit scope, the scope of the upcall stub should be kept reachable (per [1]) until the upcall stub can no longer be called. The Reference::reachability fence method can be used for this. But, it might be easier to use an explicitly closed scope for the upcall stub instead, if you plan on storing it in native memory and calling it later. > Does that mean the implicit session is ALREADY kept alive in the existing implementation of OpenJDK (which I don?t think so) to guarantee the upcall stub works during the upcall invocation based on the explanation in [1]? Not quite. The current implementation guarantees that the implicit session of an upcall stub is kept alive (and the upcall stub works) during and invocation of a _downcall_ to which the upcall stub memory segment is passed. i.e. if an upcall stub is passed to a downcall, the scope it is attached to can not be closed for the duration of that downcall (and this goes for any MemorySegment passed to a downcall). This is achieved by calling ImplicitSession::release [2] after a downcall returns. There is no guarantee that an arbitrary upcall stub will be kept alive until it is invoked. For instance, if I pass an upcall stub to native code, and store the pointer in some memory there (e.g. a global variable), then I return back to Java. If I don't have a strong reference to the upcall stub's scope, the upcall stub might be freed. If I then later try to invoke the upcall stub again through the pointer I stored in native code, the VM can crash. In short: the JVM can not 'see' any pointer to the upcall stub from native code, so they don't count toward its reachability. To illustrate the problematic case, consider this native library and Java program that calls into it (using the Java 20 API): libMylib.c: typedef void (*callback_t)(void); static callback_t GLOBAL_CB; // global pointer variable void store(callback_t cb) { GLOBAL_CB = cb; } void call() { GLOBAL_CB(); } Main.java: import java.lang.foreign.*; import java.lang.invoke.*; import static java.lang.foreign.ValueLayout.*; public class Main { static final Linker LINKER = Linker.nativeLinker(); static final MethodHandle STORE; static final MethodHandle CALL; static final MethodHandle TARGET; static { System.loadLibrary("Mylib"); SymbolLookup lookup = SymbolLookup.loaderLookup(); STORE = LINKER.downcallHandle(lookup.find("store").get(), FunctionDescriptor.ofVoid(ADDRESS)); CALL = LINKER.downcallHandle(lookup.find("call").get(), FunctionDescriptor.ofVoid()); try { TARGET = MethodHandles.lookup().findStatic(Main.class, "target", MethodType.methodType(void.class)); } catch (ReflectiveOperationException e) { throw new InternalError(e); } } public static void main(String[] args) throws Throwable { store(); System.gc(); // invoke gc which can clean up 'stub' call(); } static void store() throws Throwable { MemorySegment stub = LINKER.upcallStub(TARGET, FunctionDescriptor.ofVoid(), SegmentScope.auto()); STORE.invokeExact(stub); // stub is unreachable here } static void call() throws Throwable { CALL.invokeExact(); } static void target() {} } On my machine this code reliably crashes the VM, since the upcall stub is called after it becomes unreachable (and is freed). In order to fix this, I would have to keep the stub alive until after I call the 'call' function from the native library: public static void main(String[] args) throws Throwable { MemorySegment stub = store(); // <----- System.gc(); // invoke gc call(); Reference.reachabilityFence(stub); // <----- keep stub alive until after I call it } static MemorySegment store() throws Throwable { MemorySegment stub = LINKER.upcallStub(TARGET, FunctionDescriptor.ofVoid(), SegmentScope.auto()); STORE.invokeExact(stub); return stub; // <--- return stub here } Hope that helps, Jorn [1]: https://docs.oracle.com/en/java/javase/19/docs/api/java.base/java/lang/ref/package-summary.html#reachability [2]: https://github.com/openjdk/panama-foreign/blob/a943c2eb10ba40c36d5a6e874160d0a747457510/src/java.base/share/classes/jdk/internal/foreign/ImplicitSession.java#L50 On 31/01/2023 21:01, Cheng Jin wrote: Hi Jorn, Correct but these bullets are only intended for the downcall invocation rather than the upcall stub. According to the explanation of upcall stub in [1] as follows: ?When creating upcall stubs the linker runtime.... Moreover, if the target method handle associated with an upcall stub returns a memory address, clients must ensure that this address cannot become invalid after the upcall completes. <------------------- This can lead to unspecified behavior, and even JVM crashes, since an upcall is typically executed in the context of a downcall method handle invocation.? I don?t understand how/what clients should do to ensure the address of the upcall stub is alive during the upcall invocation within an implication session. Does that mean the implicit session is ALREADY kept alive in the existing implementation of OpenJDK (which I don?t think so) to guarantee the upcall stub works during the upcall invocation based on the explanation in [1]? Best Regards Cheng Jin From: Jorn Vernee Sent: January 31, 2023 2:14 PM To: Cheng Jin ; panama-dev at openjdk.org Subject: [EXTERNAL] Re: Inappropriate use of the implicit session in allocating the upcall stub in SafeFunctionAccessTest.java Hi Cheng Jin, Thanks for the email. In this case it is not a problem since memory sessions (including upcall stubs) are kept alive/reachable for the duration of a downcall (see the third bullet here: [1]) "The memory session of R is kept ZjQcmQRYFpfptBannerStart This Message Is From an External Sender This message came from outside your organization. ZjQcmQRYFpfptBannerEnd Hi Cheng Jin, Thanks for the email. In this case it is not a problem since memory sessions (including upcall stubs) are kept alive/reachable for the duration of a downcall (see the third bullet here: [1]) "The memory session of R is kept alive (and cannot be closed) during the invocation." Since we don't store a reference to the upcall stub in native code until after the downcall returns, this is safe to rely on. Cheers, Jorn [1]: https://docs.oracle.com/en/java/javase/19/docs/api/java.base/java/lang/foreign/Linker.html#safety On 31/01/2023 18:49, Cheng Jin wrote: Hi there, I notice there might be an issue with the allocation of upcall stub under an implicit session at test/jdk/java/foreign/SafeFunctionAccessTest.java in JDK19+ as follows: e.g. @Test public void testClosedStructCallback() throws Throwable { MethodHandle handle = Linker.nativeLinker().downcallHandle( findNativeOrThrow("addr_func_cb"), FunctionDescriptor.ofVoid(C_POINTER, C_POINTER)); try (MemorySession session = MemorySession.openConfined()) { MemorySegment segment = MemorySegment.allocateNative(POINT, session); handle.invoke(segment, sessionChecker(session)); <----------------- the upcall stub is allocated in sessionChecker() } } MemorySegment sessionChecker(MemorySession session) { try { MethodHandle handle = MethodHandles.lookup().findStatic(SafeFunctionAccessTest.class, "checkSession", MethodType.methodType(void.class, MemorySession.class)); handle = handle.bindTo(session); return Linker.nativeLinker().upcallStub(handle, FunctionDescriptor.ofVoid(), MemorySession.openImplicit()); <-------the upcall stub is allocated with an implicit session } catch (Throwable ex) { throw new AssertionError(ex); } } It is correct to allocate the upcall stub with a session different from the current session in tests given these tests intend to close the current session in upcall to verify the behavior. But it is problematic to exploit an implicit session backed by GC, in which case the memory of the upcall stub is more likely to be forced to release by GC (when implicitly closing the session to free memory) especially on the memory-restricted machines, which leads to unexpected behavior in upcall (e.g. crash which was captured recently). To work around this case, I?d suggest to replace it with a global session or others so as to keep the upcall stub alive during the upcall. Best Regards Cheng Jin ? -------------- next part -------------- An HTML attachment was scrubbed... URL: From jvernee at openjdk.org Thu Feb 2 17:25:22 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Thu, 2 Feb 2023 17:25:22 GMT Subject: [foreign-memaccess+abi] RFR: 8300201: When storing MemoryAddress.ofLong(0x0000000080000000L), MemorySegment.get is not equal to MemorySegment.set because of the expanded sign [v2] In-Reply-To: References: Message-ID: <8w_vaJUTQfS4cHhgtcegafw9NOou_q3lmLl1YZDp_N8=.e55bd6bf-07ab-4be7-aaf6-268a6c788697@github.com> On Mon, 23 Jan 2023 17:47:40 GMT, Per Minborg wrote: >> This PR proposes to normalize the upper 32-bit to zero on 32-bit systems. > > Per Minborg has updated the pull request incrementally with two additional commits since the last revision: > > - Update comments for 32-bit platforms > - Update src/java.base/share/classes/java/lang/foreign/MemorySegment.java > > Co-authored-by: Maurizio Cimadamore <54672762+mcimadamore at users.noreply.github.com> Marked as reviewed by jvernee (Committer). ------------- PR: https://git.openjdk.org/panama-foreign/pull/774 From pminborg at openjdk.org Thu Feb 2 17:39:00 2023 From: pminborg at openjdk.org (Per Minborg) Date: Thu, 2 Feb 2023 17:39:00 GMT Subject: [foreign-memaccess+abi] Integrated: 8300201: When storing MemoryAddress.ofLong(0x0000000080000000L), MemorySegment.get is not equal to MemorySegment.set because of the expanded sign In-Reply-To: References: Message-ID: On Mon, 23 Jan 2023 16:52:39 GMT, Per Minborg wrote: > This PR proposes to normalize the upper 32-bit to zero on 32-bit systems. This pull request has now been integrated. Changeset: 8050ecb5 Author: Per Minborg URL: https://git.openjdk.org/panama-foreign/commit/8050ecb5505f2787308f47edd0c1d647a4b7b51b Stats: 26 lines in 2 files changed: 22 ins; 0 del; 4 mod 8300201: When storing MemoryAddress.ofLong(0x0000000080000000L), MemorySegment.get is not equal to MemorySegment.set because of the expanded sign Reviewed-by: jvernee ------------- PR: https://git.openjdk.org/panama-foreign/pull/774 From mcimadamore at openjdk.org Thu Feb 2 17:43:57 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Thu, 2 Feb 2023 17:43:57 GMT Subject: [foreign-memaccess+abi] RFR: 8300201: When storing MemoryAddress.ofLong(0x0000000080000000L), MemorySegment.get is not equal to MemorySegment.set because of the expanded sign [v2] In-Reply-To: References: Message-ID: <-9EUGuFYPeSwBVbySAKAqEKNelK8dnYW1VTVDeBWHSY=.0be55081-cfbe-4810-9bad-c3ae055d80be@github.com> On Mon, 23 Jan 2023 17:47:40 GMT, Per Minborg wrote: >> This PR proposes to normalize the upper 32-bit to zero on 32-bit systems. > > Per Minborg has updated the pull request incrementally with two additional commits since the last revision: > > - Update comments for 32-bit platforms > - Update src/java.base/share/classes/java/lang/foreign/MemorySegment.java > > Co-authored-by: Maurizio Cimadamore <54672762+mcimadamore at users.noreply.github.com> src/java.base/share/classes/java/lang/foreign/MemorySegment.java line 1071: > 1069: *

> 1070: * On 32-bit platforms, the given address value will be normalized such that the > 1071: * upper 32 bits of the {@link MemorySegment#address() address} of returned memory segment Ah - late to the party. Is "upper bits" correct here? E.g. doesn't it depend on endianness? Perhaps use "most-significant bits?" ------------- PR: https://git.openjdk.org/panama-foreign/pull/774 From mcimadamore at openjdk.org Thu Feb 2 17:49:00 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Thu, 2 Feb 2023 17:49:00 GMT Subject: [foreign-memaccess+abi] RFR: 8300201: When storing MemoryAddress.ofLong(0x0000000080000000L), MemorySegment.get is not equal to MemorySegment.set because of the expanded sign [v2] In-Reply-To: <-9EUGuFYPeSwBVbySAKAqEKNelK8dnYW1VTVDeBWHSY=.0be55081-cfbe-4810-9bad-c3ae055d80be@github.com> References: <-9EUGuFYPeSwBVbySAKAqEKNelK8dnYW1VTVDeBWHSY=.0be55081-cfbe-4810-9bad-c3ae055d80be@github.com> Message-ID: On Thu, 2 Feb 2023 17:41:01 GMT, Maurizio Cimadamore wrote: >> Per Minborg has updated the pull request incrementally with two additional commits since the last revision: >> >> - Update comments for 32-bit platforms >> - Update src/java.base/share/classes/java/lang/foreign/MemorySegment.java >> >> Co-authored-by: Maurizio Cimadamore <54672762+mcimadamore at users.noreply.github.com> > > src/java.base/share/classes/java/lang/foreign/MemorySegment.java line 1071: > >> 1069: *

>> 1070: * On 32-bit platforms, the given address value will be normalized such that the >> 1071: * upper 32 bits of the {@link MemorySegment#address() address} of returned memory segment > > Ah - late to the party. Is "upper bits" correct here? E.g. doesn't it depend on endianness? Perhaps use "most-significant bits?" I'm partly confusing myself, but we should still draw from javadoc in other areas: https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Long.html#highestOneBit(long) This seems to use highest-order/leftmost for "uppermost bit" :-) ------------- PR: https://git.openjdk.org/panama-foreign/pull/774 From jvernee at openjdk.org Thu Feb 2 18:45:41 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Thu, 2 Feb 2023 18:45:41 GMT Subject: [foreign-memaccess+abi] RFR: Fix javadoc "highest-order" rather than "upper" In-Reply-To: References: Message-ID: On Thu, 2 Feb 2023 18:38:02 GMT, Per Minborg wrote: > Minor Javadoc improvements I think `leftmost` is a but confusing, since they appear on the 'right' on little endian machines. I think saying highest-order is enough. (though, I think just 'high-order' sounds a little more colloquial, though I'm not sure which one is technically more correct). ------------- PR: https://git.openjdk.org/panama-foreign/pull/779 From pminborg at openjdk.org Thu Feb 2 18:45:40 2023 From: pminborg at openjdk.org (Per Minborg) Date: Thu, 2 Feb 2023 18:45:40 GMT Subject: [foreign-memaccess+abi] RFR: Fix javadoc "highest-order" rather than "upper" Message-ID: Minor Javadoc improvements ------------- Commit messages: - Fix javadoc highest-order Changes: https://git.openjdk.org/panama-foreign/pull/779/files Webrev: https://webrevs.openjdk.org/?repo=panama-foreign&pr=779&range=00 Stats: 8 lines in 1 file changed: 0 ins; 0 del; 8 mod Patch: https://git.openjdk.org/panama-foreign/pull/779.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/779/head:pull/779 PR: https://git.openjdk.org/panama-foreign/pull/779 From mcimadamore at openjdk.org Thu Feb 2 19:08:46 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Thu, 2 Feb 2023 19:08:46 GMT Subject: [foreign-memaccess+abi] RFR: Fix javadoc "highest-order" rather than "upper" In-Reply-To: References: Message-ID: <-JyLHLpAm51-903WGxZqUVQVIvn-Qb1jBe9ebyeG0gc=.25dc6a95-df5d-4897-a079-e1f44878415d@github.com> On Thu, 2 Feb 2023 18:38:02 GMT, Per Minborg wrote: > Minor Javadoc improvements Marked as reviewed by mcimadamore (Committer). ------------- PR: https://git.openjdk.org/panama-foreign/pull/779 From mcimadamore at openjdk.org Thu Feb 2 19:08:49 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Thu, 2 Feb 2023 19:08:49 GMT Subject: [foreign-memaccess+abi] RFR: Fix javadoc "highest-order" rather than "upper" In-Reply-To: References: Message-ID: On Thu, 2 Feb 2023 18:42:02 GMT, Jorn Vernee wrote: > I think `leftmost` is a bit confusing, since they appear on the 'right' on little endian machines. I think saying highest-order is enough. (though, I think just 'high-order' sounds a little more colloquial, though I'm not sure which one is technically more correct). It's perhaps not great - but it's backed by precedents (see bitwise methods in Long). Valuing consistency is, I think, important. ------------- PR: https://git.openjdk.org/panama-foreign/pull/779 From pminborg at openjdk.org Fri Feb 3 07:28:16 2023 From: pminborg at openjdk.org (Per Minborg) Date: Fri, 3 Feb 2023 07:28:16 GMT Subject: [foreign-memaccess+abi] Integrated: Fix javadoc "highest-order" rather than "upper" In-Reply-To: References: Message-ID: On Thu, 2 Feb 2023 18:38:02 GMT, Per Minborg wrote: > Minor Javadoc improvements This pull request has now been integrated. Changeset: e159f2f6 Author: Per Minborg URL: https://git.openjdk.org/panama-foreign/commit/e159f2f62459ed6f47fd1137cc75f992dba5f616 Stats: 8 lines in 1 file changed: 0 ins; 0 del; 8 mod Fix javadoc "highest-order" rather than "upper" Reviewed-by: mcimadamore ------------- PR: https://git.openjdk.org/panama-foreign/pull/779 From duke at openjdk.org Fri Feb 3 11:08:59 2023 From: duke at openjdk.org (duke) Date: Fri, 3 Feb 2023 11:08:59 GMT Subject: git: openjdk/panama-foreign: foreign-memaccess+abi: 128 new changesets Message-ID: <9c2534f4-4cde-499f-8c86-bb85a462bec6@openjdk.org> Changeset: 3758487f Author: Johan Sj?len Date: 2023-01-27 11:01:07 +0000 URL: https://git.openjdk.org/panama-foreign/commit/3758487fda61b27e7e684413793ed28c0b9e64d3 8301180: Replace NULL with nullptr in share/gc/parallel/ Reviewed-by: stefank, ayang ! src/hotspot/share/gc/parallel/gcAdaptivePolicyCounters.cpp ! src/hotspot/share/gc/parallel/mutableNUMASpace.cpp ! src/hotspot/share/gc/parallel/mutableNUMASpace.hpp ! src/hotspot/share/gc/parallel/mutableSpace.cpp ! src/hotspot/share/gc/parallel/mutableSpace.hpp ! src/hotspot/share/gc/parallel/parMarkBitMap.cpp ! src/hotspot/share/gc/parallel/parMarkBitMap.inline.hpp ! src/hotspot/share/gc/parallel/parallelScavengeHeap.cpp ! src/hotspot/share/gc/parallel/parallelScavengeHeap.hpp ! src/hotspot/share/gc/parallel/psCardTable.cpp ! src/hotspot/share/gc/parallel/psClosure.inline.hpp ! src/hotspot/share/gc/parallel/psCompactionManager.cpp ! src/hotspot/share/gc/parallel/psCompactionManager.hpp ! src/hotspot/share/gc/parallel/psCompactionManager.inline.hpp ! src/hotspot/share/gc/parallel/psGenerationCounters.hpp ! src/hotspot/share/gc/parallel/psOldGen.cpp ! src/hotspot/share/gc/parallel/psOldGen.hpp ! src/hotspot/share/gc/parallel/psParallelCompact.cpp ! src/hotspot/share/gc/parallel/psParallelCompact.hpp ! src/hotspot/share/gc/parallel/psParallelCompact.inline.hpp ! src/hotspot/share/gc/parallel/psPromotionLAB.cpp ! src/hotspot/share/gc/parallel/psPromotionLAB.hpp ! src/hotspot/share/gc/parallel/psPromotionLAB.inline.hpp ! src/hotspot/share/gc/parallel/psPromotionManager.cpp ! src/hotspot/share/gc/parallel/psPromotionManager.inline.hpp ! src/hotspot/share/gc/parallel/psScavenge.cpp ! src/hotspot/share/gc/parallel/psScavenge.hpp ! src/hotspot/share/gc/parallel/psVMOperations.cpp ! src/hotspot/share/gc/parallel/psVirtualspace.cpp ! src/hotspot/share/gc/parallel/psYoungGen.cpp Changeset: db8fa1be Author: Tejesh R Date: 2023-01-27 11:05:12 +0000 URL: https://git.openjdk.org/panama-foreign/commit/db8fa1be052c8558398ea5fea2105458f1a3cd16 8300405: Screen capture for test JFileChooserSetLocationTest.java, failure case Reviewed-by: serb ! test/jdk/javax/swing/JFileChooser/JFileChooserSetLocationTest.java Changeset: e4252bb9 Author: Damon Fenacci Committer: Tobias Hartmann Date: 2023-01-27 12:14:07 +0000 URL: https://git.openjdk.org/panama-foreign/commit/e4252bb91478e9c2f0a5bbdae7cd663838d91b1b 8300823: UB: Compile::_phase_optimize_finished is initialized too late Reviewed-by: thartmann, chagedorn ! src/hotspot/share/opto/compile.cpp Changeset: fccf8189 Author: Coleen Phillimore Date: 2023-01-27 14:56:29 +0000 URL: https://git.openjdk.org/panama-foreign/commit/fccf818972f15bc4f69ce9566b5cd4b7e7777107 8301123: Enable Symbol refcounting underflow checks in PRODUCT Reviewed-by: fparain, iklam ! src/hotspot/share/oops/symbol.cpp ! test/hotspot/gtest/classfile/test_symbolTable.cpp Changeset: e2a3b20c Author: Justin King Committer: Coleen Phillimore Date: 2023-01-27 14:58:22 +0000 URL: https://git.openjdk.org/panama-foreign/commit/e2a3b20ca80186a3d3d1a2a9029036b088b3fc9c 8301187: Memory leaks in OopMapCache Reviewed-by: fparain, coleenp ! src/hotspot/share/interpreter/oopMapCache.cpp Changeset: dff41316 Author: Deepa Kumari Committer: Tyler Steele Date: 2023-01-27 15:28:13 +0000 URL: https://git.openjdk.org/panama-foreign/commit/dff41316a2c07ef05b9f9421093ee78d6a80d92e 8285850: [AIX] unreachable code in basic_tools.m4 -> BASIC_CHECK_TAR Reviewed-by: erikj, tsteele ! make/autoconf/basic_tools.m4 Changeset: 5c1ec826 Author: Johan Sj?len Date: 2023-01-27 15:42:46 +0000 URL: https://git.openjdk.org/panama-foreign/commit/5c1ec82656323872c4628026662fe5b62e7a61e3 8301077: Replace NULL with nullptr in share/services/ Reviewed-by: cjplummer, coleenp ! src/hotspot/share/services/attachListener.cpp ! src/hotspot/share/services/attachListener.hpp ! src/hotspot/share/services/classLoadingService.cpp ! src/hotspot/share/services/diagnosticArgument.cpp ! src/hotspot/share/services/diagnosticArgument.hpp ! src/hotspot/share/services/diagnosticCommand.cpp ! src/hotspot/share/services/diagnosticCommand.hpp ! src/hotspot/share/services/diagnosticFramework.cpp ! src/hotspot/share/services/diagnosticFramework.hpp ! src/hotspot/share/services/gcNotifier.cpp ! src/hotspot/share/services/gcNotifier.hpp ! src/hotspot/share/services/heapDumper.cpp ! src/hotspot/share/services/heapDumper.hpp ! src/hotspot/share/services/heapDumperCompression.cpp ! src/hotspot/share/services/heapDumperCompression.hpp ! src/hotspot/share/services/lowMemoryDetector.cpp ! src/hotspot/share/services/lowMemoryDetector.hpp ! src/hotspot/share/services/mallocHeader.inline.hpp ! src/hotspot/share/services/mallocSiteTable.cpp ! src/hotspot/share/services/mallocSiteTable.hpp ! src/hotspot/share/services/mallocTracker.cpp ! src/hotspot/share/services/mallocTracker.hpp ! src/hotspot/share/services/management.cpp ! src/hotspot/share/services/management.hpp ! src/hotspot/share/services/memBaseline.cpp ! src/hotspot/share/services/memReporter.cpp ! src/hotspot/share/services/memTracker.cpp ! src/hotspot/share/services/memTracker.hpp ! src/hotspot/share/services/memoryManager.cpp ! src/hotspot/share/services/memoryPool.cpp ! src/hotspot/share/services/memoryService.cpp ! src/hotspot/share/services/nmtCommon.cpp ! src/hotspot/share/services/nmtDCmd.cpp ! src/hotspot/share/services/nmtDCmd.hpp ! src/hotspot/share/services/nmtPreInit.cpp ! src/hotspot/share/services/nmtPreInit.hpp ! src/hotspot/share/services/runtimeService.cpp ! src/hotspot/share/services/threadIdTable.cpp ! src/hotspot/share/services/threadService.cpp ! src/hotspot/share/services/threadService.hpp ! src/hotspot/share/services/threadStackTracker.cpp ! src/hotspot/share/services/virtualMemoryTracker.cpp ! src/hotspot/share/services/virtualMemoryTracker.hpp ! src/hotspot/share/services/writeableFlags.cpp Changeset: f52d35c8 Author: Johan Sj?len Date: 2023-01-27 15:43:34 +0000 URL: https://git.openjdk.org/panama-foreign/commit/f52d35c84b7333809156d201c866793854143888 8300240: Replace NULL with nullptr in share/ci/ Reviewed-by: kvn, coleenp ! src/hotspot/share/ci/bcEscapeAnalyzer.cpp ! src/hotspot/share/ci/bcEscapeAnalyzer.hpp ! src/hotspot/share/ci/ciArray.cpp ! src/hotspot/share/ci/ciCallProfile.hpp ! src/hotspot/share/ci/ciConstantPoolCache.cpp ! src/hotspot/share/ci/ciEnv.cpp ! src/hotspot/share/ci/ciEnv.hpp ! src/hotspot/share/ci/ciExceptionHandler.cpp ! src/hotspot/share/ci/ciExceptionHandler.hpp ! src/hotspot/share/ci/ciField.cpp ! src/hotspot/share/ci/ciField.hpp ! src/hotspot/share/ci/ciInstance.cpp ! src/hotspot/share/ci/ciInstance.hpp ! src/hotspot/share/ci/ciInstanceKlass.cpp ! src/hotspot/share/ci/ciInstanceKlass.hpp ! src/hotspot/share/ci/ciKlass.cpp ! src/hotspot/share/ci/ciKlass.hpp ! src/hotspot/share/ci/ciMetadata.hpp ! src/hotspot/share/ci/ciMethod.cpp ! src/hotspot/share/ci/ciMethod.hpp ! src/hotspot/share/ci/ciMethodBlocks.cpp ! src/hotspot/share/ci/ciMethodData.cpp ! src/hotspot/share/ci/ciMethodData.hpp ! src/hotspot/share/ci/ciObjArray.cpp ! src/hotspot/share/ci/ciObjArrayKlass.cpp ! src/hotspot/share/ci/ciObject.cpp ! src/hotspot/share/ci/ciObject.hpp ! src/hotspot/share/ci/ciObjectFactory.cpp ! src/hotspot/share/ci/ciReplay.cpp ! src/hotspot/share/ci/ciSignature.cpp ! src/hotspot/share/ci/ciStreams.hpp ! src/hotspot/share/ci/ciSymbol.cpp ! src/hotspot/share/ci/ciType.cpp ! src/hotspot/share/ci/ciTypeFlow.cpp ! src/hotspot/share/ci/ciTypeFlow.hpp ! src/hotspot/share/ci/ciUtilities.cpp Changeset: 49ff5208 Author: Johan Sj?len Date: 2023-01-27 16:15:29 +0000 URL: https://git.openjdk.org/panama-foreign/commit/49ff52087be8b95cbf369518281312ecc9d83618 8300241: Replace NULL with nullptr in share/classfile/ Reviewed-by: coleenp, iklam ! src/hotspot/share/classfile/classFileError.cpp ! src/hotspot/share/classfile/classFileParser.cpp ! src/hotspot/share/classfile/classFileParser.hpp ! src/hotspot/share/classfile/classFileStream.cpp ! src/hotspot/share/classfile/classLoadInfo.hpp ! src/hotspot/share/classfile/classLoader.cpp ! src/hotspot/share/classfile/classLoader.hpp ! src/hotspot/share/classfile/classLoader.inline.hpp ! src/hotspot/share/classfile/classLoaderData.cpp ! src/hotspot/share/classfile/classLoaderData.hpp ! src/hotspot/share/classfile/classLoaderData.inline.hpp ! src/hotspot/share/classfile/classLoaderDataGraph.cpp ! src/hotspot/share/classfile/classLoaderDataGraph.inline.hpp ! src/hotspot/share/classfile/classLoaderDataShared.cpp ! src/hotspot/share/classfile/classLoaderExt.cpp ! src/hotspot/share/classfile/classLoaderHierarchyDCmd.cpp ! src/hotspot/share/classfile/classLoaderHierarchyDCmd.hpp ! src/hotspot/share/classfile/classLoaderStats.cpp ! src/hotspot/share/classfile/classLoaderStats.hpp ! src/hotspot/share/classfile/classPrinter.cpp ! src/hotspot/share/classfile/compactHashtable.cpp ! src/hotspot/share/classfile/compactHashtable.hpp ! src/hotspot/share/classfile/defaultMethods.cpp ! src/hotspot/share/classfile/dictionary.cpp ! src/hotspot/share/classfile/fieldLayoutBuilder.cpp ! src/hotspot/share/classfile/fieldLayoutBuilder.hpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/classfile/javaClasses.inline.hpp ! src/hotspot/share/classfile/klassFactory.cpp ! src/hotspot/share/classfile/klassFactory.hpp ! src/hotspot/share/classfile/loaderConstraints.cpp ! src/hotspot/share/classfile/metadataOnStackMark.cpp ! src/hotspot/share/classfile/moduleEntry.cpp ! src/hotspot/share/classfile/moduleEntry.hpp ! src/hotspot/share/classfile/modules.cpp ! src/hotspot/share/classfile/modules.hpp ! src/hotspot/share/classfile/packageEntry.cpp ! src/hotspot/share/classfile/packageEntry.hpp ! src/hotspot/share/classfile/placeholders.cpp ! src/hotspot/share/classfile/placeholders.hpp ! src/hotspot/share/classfile/protectionDomainCache.cpp ! src/hotspot/share/classfile/resolutionErrors.cpp ! src/hotspot/share/classfile/stackMapFrame.hpp ! src/hotspot/share/classfile/stackMapTable.cpp ! src/hotspot/share/classfile/stackMapTable.hpp ! src/hotspot/share/classfile/stackMapTableFormat.hpp ! src/hotspot/share/classfile/stringTable.cpp ! src/hotspot/share/classfile/stringTable.hpp ! src/hotspot/share/classfile/symbolTable.cpp ! src/hotspot/share/classfile/symbolTable.hpp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/classfile/systemDictionaryShared.hpp ! src/hotspot/share/classfile/verificationType.cpp ! src/hotspot/share/classfile/verifier.cpp ! src/hotspot/share/classfile/verifier.hpp ! src/hotspot/share/classfile/vmClasses.cpp ! src/hotspot/share/classfile/vmClasses.hpp ! src/hotspot/share/classfile/vmIntrinsics.cpp ! src/hotspot/share/classfile/vmSymbols.cpp ! src/hotspot/share/classfile/vmSymbols.hpp Changeset: 7aaf76c5 Author: Mandy Chung Date: 2023-01-27 17:13:54 +0000 URL: https://git.openjdk.org/panama-foreign/commit/7aaf76c5290a1688f9450a357aaae964615c29d0 8300924: Method::invoke throws wrong exception type when passing wrong number of arguments to method with 4 or more parameters Reviewed-by: rriggs ! src/java.base/share/classes/jdk/internal/reflect/DirectConstructorHandleAccessor.java ! src/java.base/share/classes/jdk/internal/reflect/DirectMethodHandleAccessor.java ! test/jdk/java/lang/reflect/MethodHandleAccessorsTest.java Changeset: 22c976a9 Author: Justin Lu Committer: Naoto Sato Date: 2023-01-27 18:11:20 +0000 URL: https://git.openjdk.org/panama-foreign/commit/22c976a9b042b2d56e849ec8f9ef1dd3d146ca78 8177418: NPE is not apparent for methods in java.util.TimeZone API docs Reviewed-by: lancea, naoto ! src/java.base/share/classes/java/util/SimpleTimeZone.java ! src/java.base/share/classes/java/util/TimeZone.java Changeset: 7f05d57a Author: Mandy Chung Date: 2023-01-27 18:31:03 +0000 URL: https://git.openjdk.org/panama-foreign/commit/7f05d57a87d8b41b53194aa0dacc4057cbb58544 8217920: Lookup.defineClass injects a class that can access private members of any class in its own module Reviewed-by: psandoz, alanb, darcy ! src/java.base/share/classes/java/lang/Module.java ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java Changeset: 9c4bc2c3 Author: Xue-Lei Andrew Fan Date: 2023-01-27 19:01:01 +0000 URL: https://git.openjdk.org/panama-foreign/commit/9c4bc2c3954b97821a2bf371cab61edbc3d81d36 8301132: Test update for deprecated sprintf in Xcode 14 Reviewed-by: mikael ! test/jdk/sun/management/jmxremote/bootstrap/exelauncher.c ! test/jdk/sun/management/windows/exerevokeall.c Changeset: b8e5abc1 Author: Justin King Committer: Magnus Ihse Bursie Date: 2023-01-27 19:09:53 +0000 URL: https://git.openjdk.org/panama-foreign/commit/b8e5abc1e8f5c7e2f0af675abb0e2ed481ffe128 8301097: Update GHA XCode to 12.5.1 Reviewed-by: ihse ! .github/workflows/main.yml Changeset: ae0e76d3 Author: Tagir F. Valeev Date: 2023-01-27 19:23:53 +0000 URL: https://git.openjdk.org/panama-foreign/commit/ae0e76d3dd42de9e66196843e740e75b06894f1f 8301120: Cleanup utility classes java.util.Arrays and java.util.Collections Reviewed-by: smarks, darcy ! src/java.base/share/classes/java/util/Arrays.java ! src/java.base/share/classes/java/util/Collections.java Changeset: a67b1e77 Author: Damon Nguyen Committer: Naoto Sato Date: 2023-01-26 22:33:04 +0000 URL: https://git.openjdk.org/panama-foreign/commit/a67b1e77d33339f5db36c6d15bac0423a31eb5ee 8300719: JDK 20 RDP2 L10n resource files update Reviewed-by: cjplummer, naoto, prr, joehw, asemenyuk, jlu, lancea, ihse, jjg, weijun ! src/demo/share/jfc/SwingSet2/resources/swingset_de.properties ! src/demo/share/jfc/SwingSet2/resources/swingset_ja.properties ! src/demo/share/jfc/SwingSet2/resources/swingset_zh_CN.properties ! src/java.desktop/macosx/classes/com/apple/laf/resources/aqua_zh_CN.properties ! src/java.desktop/macosx/classes/com/apple/laf/resources/aqua_zh_TW.properties ! src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_zh_CN.properties ! src/java.desktop/share/classes/com/sun/java/swing/plaf/motif/resources/motif_it.properties ! src/java.desktop/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_de.properties ! src/java.desktop/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_es.properties ! src/java.desktop/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_fr.properties ! src/java.desktop/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_it.properties ! src/java.desktop/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_ja.properties ! src/java.desktop/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_sv.properties ! src/java.desktop/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_CN.properties ! src/java.desktop/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_TW.properties ! src/java.desktop/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_zh_CN.properties ! src/java.desktop/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_zh_TW.properties ! src/java.desktop/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_zh_CN.properties ! src/java.desktop/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_zh_TW.properties ! src/java.desktop/share/classes/sun/print/resources/serviceui_zh_CN.properties ! src/java.desktop/share/classes/sun/print/resources/serviceui_zh_TW.properties ! src/java.desktop/windows/classes/com/sun/java/swing/plaf/windows/resources/windows_zh_CN.properties ! src/java.desktop/windows/classes/com/sun/java/swing/plaf/windows/resources/windows_zh_TW.properties ! src/java.sql.rowset/share/classes/com/sun/rowset/RowSetResourceBundle_zh_TW.properties ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_es.properties ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_fr.properties ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_it.properties ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_ko.properties ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_pt_BR.properties ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_sv.properties ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/res/XPATHErrorResources_de.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/res/XPATHErrorResources_ja.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/res/XPATHErrorResources_zh_CN.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler_de.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler_ja.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler_zh_CN.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac_de.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac_ja.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac_zh_CN.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/launcher_de.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/launcher_ja.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/launcher_zh_CN.properties ! src/jdk.jartool/share/classes/sun/tools/jar/resources/jar_de.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard_de.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard_ja.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard_zh_CN.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets_de.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets_ja.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets_zh_CN.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/resources/doclint_de.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/resources/doclint_ja.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/resources/doclint_zh_CN.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/resources/javadoc_de.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/resources/javadoc_ja.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/resources/javadoc_zh_CN.properties ! src/jdk.jconsole/share/classes/sun/tools/jconsole/resources/messages_de.properties ! src/jdk.jconsole/share/classes/sun/tools/jconsole/resources/messages_zh_CN.properties ! src/jdk.jdeps/share/classes/com/sun/tools/javap/resources/javap_zh_CN.properties ! src/jdk.jlink/share/classes/jdk/tools/jlink/resources/jlink_ja.properties ! src/jdk.jlink/share/classes/jdk/tools/jlink/resources/jlink_zh_CN.properties ! src/jdk.jlink/share/classes/jdk/tools/jlink/resources/plugins_de.properties ! src/jdk.jlink/share/classes/jdk/tools/jlink/resources/plugins_ja.properties ! src/jdk.jlink/share/classes/jdk/tools/jlink/resources/plugins_zh_CN.properties ! src/jdk.jlink/share/classes/jdk/tools/jmod/resources/jmod_de.properties ! src/jdk.jlink/share/classes/jdk/tools/jmod/resources/jmod_ja.properties ! src/jdk.jlink/share/classes/jdk/tools/jmod/resources/jmod_zh_CN.properties ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/MainResources_de.properties ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/MainResources_ja.properties ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/MainResources_zh_CN.properties ! src/jdk.jpackage/windows/classes/jdk/jpackage/internal/resources/MsiInstallerStrings_de.wxl ! src/jdk.jpackage/windows/classes/jdk/jpackage/internal/resources/MsiInstallerStrings_ja.wxl ! src/jdk.jpackage/windows/classes/jdk/jpackage/internal/resources/MsiInstallerStrings_zh_CN.wxl ! src/jdk.jpackage/windows/classes/jdk/jpackage/internal/resources/WinResources_de.properties ! src/jdk.jpackage/windows/classes/jdk/jpackage/internal/resources/WinResources_ja.properties ! src/jdk.jpackage/windows/classes/jdk/jpackage/internal/resources/WinResources_zh_CN.properties ! src/jdk.jshell/share/classes/jdk/internal/jshell/tool/resources/l10n_de.properties ! src/jdk.jshell/share/classes/jdk/internal/jshell/tool/resources/l10n_ja.properties ! src/jdk.jshell/share/classes/jdk/internal/jshell/tool/resources/l10n_zh_CN.properties ! src/jdk.localedata/share/classes/sun/util/resources/ext/CurrencyNames_de.properties ! src/jdk.localedata/share/classes/sun/util/resources/ext/CurrencyNames_ja.properties ! src/jdk.localedata/share/classes/sun/util/resources/ext/CurrencyNames_zh_CN.properties ! src/jdk.management.agent/share/classes/jdk/internal/agent/resources/agent_zh_CN.properties Changeset: b22e5216 Author: Adam Sotona Date: 2023-01-27 15:09:53 +0000 URL: https://git.openjdk.org/panama-foreign/commit/b22e5216c4ead4621f137086db6f5b6a0c3982c7 8300953: ClassDesc::ofInternalName missing @since tag Reviewed-by: darcy, mchung, jjg ! src/java.base/share/classes/java/lang/constant/ClassDesc.java Changeset: e5860ef6 Author: Damon Nguyen Committer: Naoto Sato Date: 2023-01-27 17:22:05 +0000 URL: https://git.openjdk.org/panama-foreign/commit/e5860ef60a9353508afb09716158baf8bfb35559 8301206: Fix issue with LocaleData after JDK-8300719 Reviewed-by: naoto ! test/jdk/sun/text/resources/LocaleData ! test/jdk/sun/text/resources/LocaleDataTest.java Changeset: 5c59de52 Author: Jesper Wilhelmsson Date: 2023-01-27 22:46:31 +0000 URL: https://git.openjdk.org/panama-foreign/commit/5c59de52a31da937663ad2cef055213489b0516e Merge ! src/demo/share/jfc/SwingSet2/resources/swingset_de.properties ! src/demo/share/jfc/SwingSet2/resources/swingset_ja.properties ! src/demo/share/jfc/SwingSet2/resources/swingset_zh_CN.properties ! src/java.desktop/share/classes/com/sun/java/swing/plaf/motif/resources/motif_it.properties ! src/java.desktop/share/classes/sun/print/resources/serviceui_zh_CN.properties ! src/java.desktop/share/classes/sun/print/resources/serviceui_zh_TW.properties ! src/java.desktop/windows/classes/com/sun/java/swing/plaf/windows/resources/windows_zh_CN.properties ! src/java.desktop/windows/classes/com/sun/java/swing/plaf/windows/resources/windows_zh_TW.properties ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_es.properties ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_fr.properties ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_it.properties ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_ko.properties ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_pt_BR.properties ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_sv.properties ! src/demo/share/jfc/SwingSet2/resources/swingset_de.properties ! src/demo/share/jfc/SwingSet2/resources/swingset_ja.properties ! src/demo/share/jfc/SwingSet2/resources/swingset_zh_CN.properties ! src/java.desktop/share/classes/com/sun/java/swing/plaf/motif/resources/motif_it.properties ! src/java.desktop/share/classes/sun/print/resources/serviceui_zh_CN.properties ! src/java.desktop/share/classes/sun/print/resources/serviceui_zh_TW.properties ! src/java.desktop/windows/classes/com/sun/java/swing/plaf/windows/resources/windows_zh_CN.properties ! src/java.desktop/windows/classes/com/sun/java/swing/plaf/windows/resources/windows_zh_TW.properties ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_es.properties ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_fr.properties ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_it.properties ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_ko.properties ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_pt_BR.properties ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_sv.properties Changeset: 5dfc4ec7 Author: Eirik Bjorsnos Committer: Weijun Wang Date: 2023-01-27 22:47:51 +0000 URL: https://git.openjdk.org/panama-foreign/commit/5dfc4ec7d94af9fe39fdee9d83b06101b827a3c6 8300140: ZipFile.isSignatureRelated returns true for files in META-INF subdirectories Reviewed-by: weijun ! src/java.base/share/classes/java/util/jar/JarVerifier.java ! src/java.base/share/classes/java/util/zip/ZipFile.java ! src/java.base/share/classes/sun/security/util/SignatureFileVerifier.java ! src/jdk.jartool/share/classes/jdk/security/jarsigner/JarSigner.java ! src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Main.java + test/jdk/java/util/jar/JarFile/IgnoreUnrelatedSignatureFiles.java Changeset: af564e46 Author: Yadong Wang Committer: Fei Yang Date: 2023-01-28 02:17:44 +0000 URL: https://git.openjdk.org/panama-foreign/commit/af564e46b006fcd57ec7391cd1438b3b9311b1d6 8299844: RISC-V: Implement _onSpinWait intrinsic Reviewed-by: fjiang, fyang, luhenry ! src/hotspot/cpu/riscv/assembler_riscv.hpp ! src/hotspot/cpu/riscv/c1_LIRAssembler_riscv.cpp ! src/hotspot/cpu/riscv/globals_riscv.hpp ! src/hotspot/cpu/riscv/macroAssembler_riscv.hpp ! src/hotspot/cpu/riscv/riscv.ad ! src/hotspot/cpu/riscv/vm_version_riscv.cpp ! src/hotspot/cpu/riscv/vm_version_riscv.hpp + test/hotspot/jtreg/compiler/onSpinWait/TestOnSpinWaitRISCV64.java Changeset: 6475501a Author: Jatin Bhateja Date: 2023-01-29 01:55:46 +0000 URL: https://git.openjdk.org/panama-foreign/commit/6475501a01268f5c35a9bf30f4104ce7a40d8181 8300208: Optimize Adler32 stub for AVX-512 targets. Reviewed-by: kvn, sviswanathan ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/cpu/x86/stubGenerator_x86_64_adler.cpp ! test/hotspot/jtreg/compiler/intrinsics/zip/TestAdler32.java ! test/micro/org/openjdk/bench/java/util/TestAdler32.java Changeset: d4e9f5e5 Author: Sergey Bylokhov Date: 2023-01-29 20:04:37 +0000 URL: https://git.openjdk.org/panama-foreign/commit/d4e9f5e5f2c92964c3602f34a59b92947d1595a5 8238170: BeanContextSupport remove and propertyChange can deadlock Reviewed-by: phh ! src/java.desktop/share/classes/java/beans/beancontext/BeanContextSupport.java + test/jdk/java/beans/beancontext/BeanContextSupport/AddRemove.java + test/jdk/java/beans/beancontext/BeanContextSupport/NotificationDeadlock.java Changeset: 1ff4646e Author: Ioi Lam Date: 2023-01-29 21:59:48 +0000 URL: https://git.openjdk.org/panama-foreign/commit/1ff4646ed5f64a786a2f2688529e13d6d9f47fa3 8298612: Refactor archiving of java String objects Reviewed-by: ccheung ! src/hotspot/share/cds/heapShared.cpp ! src/hotspot/share/cds/heapShared.hpp ! src/hotspot/share/classfile/stringTable.cpp ! src/hotspot/share/classfile/stringTable.hpp Changeset: 64b25ea0 Author: David Holmes Date: 2023-01-29 23:14:39 +0000 URL: https://git.openjdk.org/panama-foreign/commit/64b25ea0b410542635b6d99a92ec290da47c85ce 8291569: Consider removing JNI checks for signals SIGPIPE and SIGXFSZ Reviewed-by: stuefe, rehn ! src/hotspot/os/posix/signals_posix.cpp Changeset: 4bd3f0a0 Author: Axel Boldt-Christmas Date: 2023-01-30 07:14:25 +0000 URL: https://git.openjdk.org/panama-foreign/commit/4bd3f0a0d5f0ad314cd4e7a68851c2db9100df67 8301088: oopDesc::print_on should consistently use a trailing newline Reviewed-by: tschatzl, coleenp ! src/hotspot/share/oops/oop.cpp ! src/hotspot/share/oops/stackChunkOop.cpp Changeset: c2ebd179 Author: Prasanta Sadhukhan Date: 2023-01-30 07:35:14 +0000 URL: https://git.openjdk.org/panama-foreign/commit/c2ebd179388cac5d6e10f98aab9a7ea909f8bc6b 6187113: DefaultListSelectionModel.removeIndexInterval(0, Integer.MAX_VALUE) fails Co-authored-by: Alexey Ivanov Reviewed-by: aivanov ! src/java.desktop/share/classes/javax/swing/DefaultListSelectionModel.java + test/jdk/javax/swing/TestDefListModelException.java Changeset: cbefe1fd Author: Matthias Baesken Date: 2023-01-30 08:15:10 +0000 URL: https://git.openjdk.org/panama-foreign/commit/cbefe1fd35a4ad59ec979bdaee519617efac9ecf 8301163: jdk/internal/vm/Continuation/Fuzz.java increase COMPILATION_TIMEOUT for Linux ppc64le Reviewed-by: rrich ! test/jdk/jdk/internal/vm/Continuation/Fuzz.java Changeset: 3db558b6 Author: Richard Reingruber Date: 2023-01-30 08:43:15 +0000 URL: https://git.openjdk.org/panama-foreign/commit/3db558b67bebfe559833331475f481c588147084 8300915: G1: incomplete SATB because nmethod entry barriers don't get armed Reviewed-by: tschatzl, eosterlund ! src/hotspot/share/code/codeCache.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/g1/g1FullCollector.cpp Changeset: 08b24ac7 Author: Koichi Sakata Committer: Tobias Holenstein Date: 2023-01-30 09:50:09 +0000 URL: https://git.openjdk.org/panama-foreign/commit/08b24ac7aacaff32577dc07e77ed0961dd804904 8294066: IGV: Graph changes when deleting a graph in the same group with smaller index Reviewed-by: rcastanedalo, tholenstein ! src/utils/IdealGraphVisualizer/Coordinator/src/main/java/com/sun/hotspot/igv/coordinator/actions/GraphRemoveCookie.java Changeset: f50cda7d Author: Albert Mingkun Yang Date: 2023-01-30 10:17:46 +0000 URL: https://git.openjdk.org/panama-foreign/commit/f50cda7d45f6d53a2b93715f11350e41411d84f2 8301217: Remove FilteringClosure Reviewed-by: iwalulya, tschatzl ! src/hotspot/share/gc/serial/tenuredGeneration.cpp ! src/hotspot/share/gc/shared/cardTableRS.cpp ! src/hotspot/share/gc/shared/cardTableRS.hpp ! src/hotspot/share/gc/shared/genOopClosures.hpp ! src/hotspot/share/gc/shared/genOopClosures.inline.hpp ! src/hotspot/share/gc/shared/space.cpp ! src/hotspot/share/gc/shared/space.hpp Changeset: 7fae3a1d Author: Erik ?sterlund Date: 2023-01-30 10:27:40 +0000 URL: https://git.openjdk.org/panama-foreign/commit/7fae3a1d8d39fe0ecef4a1887c4a6053b5d21ca1 8301229: Clean up SuspendibleThreadSet::_suspend_all Reviewed-by: stefank, kbarrett, tschatzl ! src/hotspot/share/gc/shared/suspendibleThreadSet.cpp ! src/hotspot/share/gc/shared/suspendibleThreadSet.hpp Changeset: cee4bd3e Author: Erik ?sterlund Date: 2023-01-30 10:28:40 +0000 URL: https://git.openjdk.org/panama-foreign/commit/cee4bd3ee610492aaa96cb0c5fcf2c32a1c12e2e 8301047: Clean up type unsafe uses of oop from compiler code Co-authored-by: Axel Boldt-Christmas Co-authored-by: Stefan Karlsson Reviewed-by: kvn, stefank ! src/hotspot/share/code/relocInfo.hpp ! src/hotspot/share/compiler/oopMap.cpp ! src/hotspot/share/compiler/oopMap.hpp ! src/hotspot/share/compiler/oopMap.inline.hpp ! src/hotspot/share/utilities/globalDefinitions.hpp Changeset: c672ed16 Author: Erik ?sterlund Date: 2023-01-30 10:29:47 +0000 URL: https://git.openjdk.org/panama-foreign/commit/c672ed16f363d9c92ccefe2e64a96e0a60a49588 8301248: Less side effects in InstanceRefKlass::trace_reference_gc Co-authored-by: Stefan Karlsson Co-authored-by: Axel Boldt-Christmas Reviewed-by: rkennke, stefank ! src/hotspot/share/oops/instanceRefKlass.inline.hpp Changeset: 82df4a2a Author: Albert Mingkun Yang Date: 2023-01-30 11:49:26 +0000 URL: https://git.openjdk.org/panama-foreign/commit/82df4a2aee2eebcce6f3bec1c870f74f237e593b 8301148: Serial: Remove ContiguousSpace::reset_saved_mark Reviewed-by: kbarrett, tschatzl ! src/hotspot/share/gc/serial/tenuredGeneration.cpp ! src/hotspot/share/gc/shared/space.hpp Changeset: 61a5f114 Author: Fei Yang Date: 2023-01-30 12:15:52 +0000 URL: https://git.openjdk.org/panama-foreign/commit/61a5f114eee3a90cfff9ab8b815bacca8985c211 8301033: RISC-V: Handle special cases for MinI/MaxI nodes for Zbb Reviewed-by: fjiang, luhenry, shade ! src/hotspot/cpu/riscv/riscv_b.ad Changeset: ebb84ad7 Author: Fei Yang Date: 2023-01-30 12:24:19 +0000 URL: https://git.openjdk.org/panama-foreign/commit/ebb84ad70d3295d9a429904fcdacdb8ecd1bf434 8301036: RISC-V: Factor out functions baseOffset & baseOffset32 from MacroAssembler Reviewed-by: luhenry, fjiang, shade ! src/hotspot/cpu/riscv/interp_masm_riscv.cpp ! src/hotspot/cpu/riscv/macroAssembler_riscv.cpp ! src/hotspot/cpu/riscv/macroAssembler_riscv.hpp Changeset: 476f58ad Author: Amit Kumar Committer: Tyler Steele Date: 2023-01-30 14:33:28 +0000 URL: https://git.openjdk.org/panama-foreign/commit/476f58adc131d9cf4b0dcca8ea974daf559f3f94 8298424: Remove redundant FOUND_CORES variable in build-performance.m4 Reviewed-by: erikj, tsteele ! make/autoconf/build-performance.m4 Changeset: 041a12e6 Author: Daniel Fuchs Date: 2023-01-30 14:36:36 +0000 URL: https://git.openjdk.org/panama-foreign/commit/041a12e65530b5832b4a500180c97a2a60e0dc51 8301255: Http2Connection may send too many GOAWAY frames Reviewed-by: jpai ! src/java.net.http/share/classes/jdk/internal/net/http/Http2ClientImpl.java ! src/java.net.http/share/classes/jdk/internal/net/http/Http2Connection.java ! test/jdk/java/net/httpclient/http2/NoBodyTest.java Changeset: a74ebd04 Author: Daniel Fuchs Date: 2023-01-30 14:41:59 +0000 URL: https://git.openjdk.org/panama-foreign/commit/a74ebd048ae569296619c112c23169c46b571863 8299325: java/net/httpclient/CancelRequestTest.java fails "test CancelRequestTest.testGetSendAsync("https://localhost:46509/https1/x/same/interrupt", true, true)" Reviewed-by: jpai ! test/jdk/java/net/httpclient/CancelRequestTest.java Changeset: f4592b14 Author: Afshin Zafari Committer: Thomas Schatzl Date: 2023-01-30 16:23:39 +0000 URL: https://git.openjdk.org/panama-foreign/commit/f4592b1471dff02f4e5e21da00c19b957b0a944b 8267935: Replace BasicHashtable and Hashtable Reviewed-by: coleenp, rehn, tschatzl ! src/hotspot/share/prims/jvmtiTagMapTable.hpp - src/hotspot/share/utilities/hashtable.cpp - src/hotspot/share/utilities/hashtable.hpp - src/hotspot/share/utilities/hashtable.inline.hpp Changeset: 32381398 Author: Naoto Sato Date: 2023-01-30 17:06:44 +0000 URL: https://git.openjdk.org/panama-foreign/commit/323813985b71c63c915cdfce5221fc65a2ad043d 8300916: Re-examine the initialization of JNU Charset in StaticProperty Reviewed-by: mchung, alanb ! src/java.base/share/classes/java/nio/charset/Charset.java ! src/java.base/share/classes/jdk/internal/util/StaticProperty.java ! src/java.base/unix/classes/java/lang/ProcessEnvironment.java ! src/java.base/unix/classes/java/lang/ProcessImpl.java Changeset: a91143cc Author: Leonid Mesnik Date: 2023-01-30 17:32:45 +0000 URL: https://git.openjdk.org/panama-foreign/commit/a91143cc93fe3810ecca4b04c9f81c1b967db0ed 8298907: nsk JDI tests pass if the debuggee failed to launch Reviewed-by: cjplummer, kevinw ! test/hotspot/jtreg/vmTestbase/nsk/jdi/BooleanType/_itself_/booleantype001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/BreakpointRequest/addInstanceFilter/instancefilter002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/BreakpointRequest/addInstanceFilter/instancefilter003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/BreakpointRequest/addThreadFilter/threadfilter002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/BreakpointRequest/addThreadFilter/threadfilter003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/BreakpointRequest/location/location001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ByteType/_itself_/bytetype001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/CharType/_itself_/chartype001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ClassLoaderReference/definedClasses/definedclasses001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ClassLoaderReference/visibleClasses/visibleclasses001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ClassPrepareRequest/addClassExclusionFilter/filter003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ClassPrepareRequest/addClassFilter_rt/filter_rt002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ClassPrepareRequest/addClassFilter_s/filter_s002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/DoubleType/_itself_/doubletype001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/Event/request/request001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventIterator/nextEvent/nextevent001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventQueue/remove/remove004.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventQueue/remove_l/remove_l004.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequest/addCountFilter/addcountfilter001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequest/disable/disable001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequest/disable/disable002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequest/enable/enable001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequest/enable/enable002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequest/getProperty/getproperty001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequest/isEnabled/isenabled001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequest/putProperty/putproperty001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequest/setEnabled/setenabled001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequest/setEnabled/setenabled002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequest/setEnabled/setenabled003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequest/setSuspendPolicy/setsuspendpolicy001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequest/suspendPolicy/suspendpolicy001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/accessWatchpointRequests/accwtchpreq002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/breakpointRequests/breakpreq002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/classPrepareRequests/clsprepreq002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/classUnloadRequests/clsunlreq002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/createAccessWatchpointRequest/craccwtchpreq003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/createBreakpointRequest/crbreakpreq003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/createClassPrepareRequest/cpreg001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/createClassUnloadRequest/cureg001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/createExceptionRequest/crexreq009.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/createExceptionRequest/crexreq010.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/createMethodEntryRequest/menreg001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/createMethodExitRequest/mexreg001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/createModificationWatchpointRequest/crmodwtchpreq003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/createStepRequest/crstepreq002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/createThreadDeathRequest/tdreg001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/createThreadStartRequest/tsreg001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/createVMDeathRequest/vmdreg001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/deleteAllBreakpoints/delallbreakp002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/deleteEventRequest/delevtreq002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/deleteEventRequests/delevtreqs002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/exceptionRequests/excreq002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/methodEntryRequests/methentreq002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/methodExitRequests/methexitreq002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/modificationWatchpointRequests/modwtchpreq002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/stepRequests/stepreq002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/threadDeathRequests/thrdeathreq002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/threadStartRequests/thrstartreq002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/vmDeathRequests/vmdeathreq001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/eventIterator/eventiterator001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/eventIterator/eventiterator002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/eventIterator/eventiterator003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/eventIterator/eventiterator004.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/resume/resume002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/resume/resume003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/resume/resume004.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/resume/resume005.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/resume/resume006.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/resume/resume007.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/resume/resume010.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/resume/resume011.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/resume/resume012.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/resume/resume013.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/suspendPolicy/suspendpolicy001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/suspendPolicy/suspendpolicy002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/suspendPolicy/suspendpolicy003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/suspendPolicy/suspendpolicy004.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/suspendPolicy/suspendpolicy005.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/suspendPolicy/suspendpolicy006.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/suspendPolicy/suspendpolicy007.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/suspendPolicy/suspendpolicy008.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/suspendPolicy/suspendpolicy009.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/suspendPolicy/suspendpolicy010.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/suspendPolicy/suspendpolicy011.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/suspendPolicy/suspendpolicy012.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/suspendPolicy/suspendpolicy013.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/suspendPolicy/suspendpolicy014.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/suspendPolicy/suspendpolicy015.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/suspendPolicy/suspendpolicy016.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/suspendPolicy/suspendpolicy017.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/suspendPolicy/suspendpolicy018.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ExceptionRequest/addClassExclusionFilter/filter002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ExceptionRequest/addClassFilter_rt/filter_rt002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ExceptionRequest/addClassFilter_s/filter_s002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ExceptionRequest/addInstanceFilter/instancefilter002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ExceptionRequest/addInstanceFilter/instancefilter003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ExceptionRequest/addThreadFilter/threadfilter002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ExceptionRequest/addThreadFilter/threadfilter003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ExceptionRequest/exception/exception001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ExceptionRequest/notifyCaught/notifycaught001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ExceptionRequest/notifyUncaught/notifyuncaught001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/FloatType/_itself_/floattype001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/IntegerType/_itself_/integertype001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/LocatableEvent/thread/thread001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/LongType/_itself_/longtype001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/Method/isObsolete/isobsolete001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/Method/isObsolete/isobsolete002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/MethodEntryRequest/addClassExclusionFilter/filter002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/MethodEntryRequest/addClassFilter_rt/filter_rt002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/MethodEntryRequest/addClassFilter_s/filter_s002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/MethodEntryRequest/addInstanceFilter/instancefilter002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/MethodEntryRequest/addInstanceFilter/instancefilter003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/MethodEntryRequest/addThreadFilter/threadfilter002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/MethodEntryRequest/addThreadFilter/threadfilter003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/MethodExitRequest/addClassExclusionFilter/filter002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/MethodExitRequest/addClassFilter_rt/filter_rt002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/MethodExitRequest/addClassFilter_s/filter_s002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/MethodExitRequest/addInstanceFilter/instancefilter002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/MethodExitRequest/addInstanceFilter/instancefilter003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/MethodExitRequest/addThreadFilter/threadfilter002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/MethodExitRequest/addThreadFilter/threadfilter003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ModificationWatchpointEvent/_itself_/mwevent001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/disableCollection/disablecollection002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/PathSearchingVirtualMachine/classPath/classpath001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/PrimitiveType/_itself_/primitivetype001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ReferenceType/classLoader/classloader001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ReferenceType/getValue/getvalue001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ReferenceType/getValue/getvalue002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ReferenceType/getValue/getvalue003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ReferenceType/getValues/getvalues001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ReferenceType/isStatic/isstatic001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ReferenceType/isStatic/isstatic002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ShortType/_itself_/shorttype001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/StepRequest/addClassExclusionFilter/filter002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/StepRequest/addClassFilter_rt/filter_rt002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/StepRequest/addClassFilter_s/filter_s002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/StepRequest/addInstanceFilter/instancefilter002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/StepRequest/addInstanceFilter/instancefilter003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/StepRequest/depth/depth001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/StepRequest/depth/depth002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/StepRequest/depth/depth003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/StepRequest/size/size001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/StepRequest/size/size002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/StepRequest/thread/thread001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ThreadDeathRequest/addThreadFilter/addthreadfilter001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ThreadDeathRequest/addThreadFilter/addthreadfilter002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ThreadDeathRequest/addThreadFilter/addthreadfilter003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ThreadDeathRequest/addThreadFilter/addthreadfilter005.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ThreadReference/popFrames/popframes001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ThreadReference/popFrames/popframes002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ThreadReference/popFrames/popframes003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ThreadReference/popFrames/popframes004.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ThreadReference/popFrames/popframes005.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ThreadStartRequest/addThreadFilter/addthreadfilter001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ThreadStartRequest/addThreadFilter/addthreadfilter002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ThreadStartRequest/addThreadFilter/addthreadfilter003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ThreadStartRequest/addThreadFilter/addthreadfilter005.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/VMDeathEvent/_itself_/vmdeath002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/VMDeathEvent/_itself_/vmdeath003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachine/canAddMethod/canaddmethod001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachine/canPopFrames/canpopframes001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachine/canRedefineClasses/canredefineclasses001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachine/canRequestVMDeathEvent/canreqvmdev001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachine/canUnrestrictedlyRedefineClasses/curc001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachine/canUseInstanceFilters/canusefilters001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachine/canWatchFieldAccess/canwatchaccess001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachine/canWatchFieldModification/canwatchmod001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachine/redefineClasses/redefineclasses001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/VoidType/_itself_/voidtype001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/WatchpointRequest/addClassExclusionFilter/filter003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/WatchpointRequest/addClassExclusionFilter/filter004.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/WatchpointRequest/addClassFilter_rt/filter_rt003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/WatchpointRequest/addClassFilter_rt/filter_rt004.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/WatchpointRequest/addClassFilter_s/filter_s003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/WatchpointRequest/addClassFilter_s/filter_s004.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/WatchpointRequest/addInstanceFilter/instancefilter003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/WatchpointRequest/addInstanceFilter/instancefilter004.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/WatchpointRequest/addInstanceFilter/instancefilter005.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/WatchpointRequest/addInstanceFilter/instancefilter006.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/WatchpointRequest/addThreadFilter/addthreadfilter003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/WatchpointRequest/addThreadFilter/addthreadfilter004.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/WatchpointRequest/addThreadFilter/addthreadfilter005.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/WatchpointRequest/addThreadFilter/addthreadfilter006.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/WatchpointRequest/field/field001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/WatchpointRequest/field/field002.java ! test/hotspot/jtreg/vmTestbase/nsk/share/jdi/JDIBase.java Changeset: a128a5d0 Author: Chris Plummer Date: 2023-01-30 19:08:08 +0000 URL: https://git.openjdk.org/panama-foreign/commit/a128a5d07c3b5d710316aab0c02ccaec4872dc22 8300810: Get rid of unused JDI removeListener() methods Reviewed-by: kevinw, amenkov ! src/jdk.jdi/share/classes/com/sun/tools/jdi/ThreadReferenceImpl.java ! src/jdk.jdi/share/classes/com/sun/tools/jdi/VMState.java Changeset: b84f4c40 Author: Erik Joelsson Date: 2023-01-30 20:18:59 +0000 URL: https://git.openjdk.org/panama-foreign/commit/b84f4c40fde2f0ca313b4660b88b308c54a0ad5a 8301267: Update of config.guess broke build on WSL Reviewed-by: tbell, jvernee, djelinski ! make/autoconf/build-aux/config.guess Changeset: 63bb2ce8 Author: Joe Darcy Date: 2023-01-30 20:33:01 +0000 URL: https://git.openjdk.org/panama-foreign/commit/63bb2ce8debdeb7f34bda9a3845fe93cb4d741dd 8301205: Port fdlibm log10 to Java Reviewed-by: bpb ! src/java.base/share/classes/java/lang/FdLibm.java ! src/java.base/share/classes/java/lang/StrictMath.java ! test/jdk/java/lang/StrictMath/FdlibmTranslit.java ! test/jdk/java/lang/StrictMath/Log10Tests.java Changeset: ef6200c7 Author: Damon Nguyen Committer: Alexander Zuev Date: 2023-01-27 23:09:14 +0000 URL: https://git.openjdk.org/panama-foreign/commit/ef6200c727332796d2e1c8ae3bfa155cbaa72f4c 8300269: The selected item in an editable JComboBox with titled border is not visible in Aqua LAF Co-authored-by: Manukumar V S Reviewed-by: psadhukhan, kizune, achung, prr ! src/java.desktop/macosx/classes/com/apple/laf/AquaComboBoxUI.java + test/jdk/javax/swing/JComboBox/JComboBoxWithTitledBorderTest.java Changeset: 561a25e0 Author: Jesper Wilhelmsson Date: 2023-01-30 20:51:54 +0000 URL: https://git.openjdk.org/panama-foreign/commit/561a25e0250fde55eb0af7beb5dc064ef8321f9e Merge Changeset: 2d7690b2 Author: Mandy Chung Date: 2023-01-30 22:39:55 +0000 URL: https://git.openjdk.org/panama-foreign/commit/2d7690b2e5b224bf2232c7cecf51cad8b0c078b3 8301207: (jdeps) Deprecate jdeps -profile option Reviewed-by: alanb ! src/jdk.jdeps/share/classes/com/sun/tools/jdeps/JdepsTask.java ! src/jdk.jdeps/share/classes/com/sun/tools/jdeps/resources/jdeps.properties Changeset: 622b6594 Author: Christian Wimmer Committer: Peter Levart Date: 2023-01-30 23:33:11 +0000 URL: https://git.openjdk.org/panama-foreign/commit/622b6594d1435e8773ec16d00d48e1f582065bd8 8262994: Refactor String.split to help method inlining Reviewed-by: plevart ! src/java.base/share/classes/java/lang/String.java Changeset: aa349244 Author: Fei Yang Date: 2023-01-31 00:10:42 +0000 URL: https://git.openjdk.org/panama-foreign/commit/aa3492442bb89f84c6427ced0bd687d6a10839cf 8300463: Build failure on Windows 32 after JDK-8296401 Reviewed-by: kbarrett ! src/hotspot/share/utilities/concurrentHashTable.inline.hpp Changeset: a6867a7e Author: Justin King Committer: Tobias Hartmann Date: 2023-01-31 06:34:45 +0000 URL: https://git.openjdk.org/panama-foreign/commit/a6867a7ec28ff1eac73a959af481a3a725c8dadd 8301378: CodeHeap has virtual methods that are not overridden Reviewed-by: kvn, thartmann ! src/hotspot/share/memory/heap.hpp Changeset: 7b3919d3 Author: Tobias Hartmann Date: 2023-01-31 06:46:47 +0000 URL: https://git.openjdk.org/panama-foreign/commit/7b3919d3f5efa87f473ba6cc9d8284937ac3aaea 8301346: Remove dead emit_entry_barrier_stub definition Reviewed-by: chagedorn, kvn ! src/hotspot/cpu/aarch64/c2_MacroAssembler_aarch64.hpp ! src/hotspot/cpu/arm/c2_MacroAssembler_arm.hpp ! src/hotspot/cpu/ppc/c2_MacroAssembler_ppc.hpp ! src/hotspot/cpu/riscv/c2_MacroAssembler_riscv.hpp ! src/hotspot/cpu/s390/c2_MacroAssembler_s390.hpp ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.hpp Changeset: 4b0e259d Author: Albert Mingkun Yang Date: 2023-01-31 07:10:13 +0000 URL: https://git.openjdk.org/panama-foreign/commit/4b0e259d1651c2131031e581fdc0482858325081 8301344: G1: Remove DirtyCardToOopClosure forward declaration in g1OopClosures.hpp Reviewed-by: tschatzl ! src/hotspot/share/gc/g1/g1OopClosures.hpp Changeset: 633e291c Author: Feilong Jiang Committer: Fei Yang Date: 2023-01-31 07:15:37 +0000 URL: https://git.openjdk.org/panama-foreign/commit/633e291cfc9129ca28643b3a6fcb72294d2ef767 8301067: RISC-V: better error message when reporting unsupported satp modes Reviewed-by: fyang, yadongwang ! src/hotspot/cpu/riscv/vm_version_riscv.cpp Changeset: 9cc0171e Author: Feilong Jiang Committer: Fei Yang Date: 2023-01-31 07:28:33 +0000 URL: https://git.openjdk.org/panama-foreign/commit/9cc0171ed51eef0deb63fe3a5923bae9cf0f5ff0 8301153: RISC-V: pipeline class for several instructions is not set correctly Reviewed-by: fyang, yadongwang ! src/hotspot/cpu/riscv/riscv.ad Changeset: cdb4ba96 Author: Axel Boldt-Christmas Date: 2023-01-31 07:54:20 +0000 URL: https://git.openjdk.org/panama-foreign/commit/cdb4ba9657ceae426281ead96aa4a125c7b97e6f 8301326: Optimize compiler/uncommontrap/TestDeoptOOM.java test Reviewed-by: rcastanedalo, thartmann ! test/hotspot/jtreg/compiler/uncommontrap/TestDeoptOOM.java Changeset: 33e653e2 Author: Tobias Hartmann Date: 2023-01-31 07:55:52 +0000 URL: https://git.openjdk.org/panama-foreign/commit/33e653e284a430429ff9c286a069cf1beb822859 8301448: [BACKOUT] CodeHeap has virtual methods that are not overridden Reviewed-by: alanb, dholmes ! src/hotspot/share/memory/heap.hpp Changeset: 810c8a27 Author: Matthias Baesken Date: 2023-01-31 08:20:52 +0000 URL: https://git.openjdk.org/panama-foreign/commit/810c8a271b4524ae776e2306ef699e04a7d145a2 8301170: perfMemory_windows.cpp add free_security_attr to early returns Reviewed-by: stuefe, dholmes ! src/hotspot/os/windows/perfMemory_windows.cpp Changeset: d583767b Author: Aleksey Shipilev Date: 2023-01-31 11:06:47 +0000 URL: https://git.openjdk.org/panama-foreign/commit/d583767bf17aea55d361a1d1713444fc41fa9911 8301338: Identical branch conditions in CompileBroker::print_heapinfo Reviewed-by: thartmann ! src/hotspot/share/compiler/compileBroker.cpp Changeset: 419409bc Author: Robbin Ehn Date: 2023-01-31 11:41:16 +0000 URL: https://git.openjdk.org/panama-foreign/commit/419409bcf639e121286dff134b9e93e0528eacf5 8301337: Remove unused os::_polling_page Reviewed-by: coleenp, dnsimon ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/runtime/os.cpp ! src/hotspot/share/runtime/os.hpp ! src/hotspot/share/runtime/vmStructs.cpp Changeset: 90ec19ef Author: Johan Sj?len Date: 2023-01-31 12:19:42 +0000 URL: https://git.openjdk.org/panama-foreign/commit/90ec19efeda90f13a918b4481fe6ee552ab2af66 8301068: Replace NULL with nullptr in share/jvmci/ Reviewed-by: kvn, never ! src/hotspot/share/jvmci/jvmci.cpp ! src/hotspot/share/jvmci/jvmci.hpp ! src/hotspot/share/jvmci/jvmciCodeInstaller.cpp ! src/hotspot/share/jvmci/jvmciCompiler.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVM.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVMInit.cpp ! src/hotspot/share/jvmci/jvmciEnv.cpp ! src/hotspot/share/jvmci/jvmciEnv.hpp ! src/hotspot/share/jvmci/jvmciExceptions.hpp ! src/hotspot/share/jvmci/jvmciJavaClasses.cpp ! src/hotspot/share/jvmci/jvmciJavaClasses.hpp ! src/hotspot/share/jvmci/jvmciObject.hpp ! src/hotspot/share/jvmci/jvmciRuntime.cpp ! src/hotspot/share/jvmci/jvmciRuntime.hpp ! src/hotspot/share/jvmci/jvmci_globals.cpp ! src/hotspot/share/jvmci/jvmci_globals.hpp ! src/hotspot/share/jvmci/metadataHandles.cpp ! src/hotspot/share/jvmci/metadataHandles.hpp ! src/hotspot/share/jvmci/vmStructs_jvmci.hpp Changeset: b76a52f2 Author: Johan Sj?len Date: 2023-01-31 14:22:44 +0000 URL: https://git.openjdk.org/panama-foreign/commit/b76a52f2104b63e84e5d09f47ce01dd0cb3935d7 8301076: Replace NULL with nullptr in share/prims/ Reviewed-by: kbarrett, dholmes ! src/hotspot/share/prims/foreignGlobals.inline.hpp ! src/hotspot/share/prims/forte.cpp ! src/hotspot/share/prims/jni.cpp ! src/hotspot/share/prims/jniCheck.cpp ! src/hotspot/share/prims/jniCheck.hpp ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/prims/jvmtiClassFileReconstituter.cpp ! src/hotspot/share/prims/jvmtiClassFileReconstituter.hpp ! src/hotspot/share/prims/jvmtiCodeBlobEvents.cpp ! src/hotspot/share/prims/jvmtiDeferredUpdates.cpp ! src/hotspot/share/prims/jvmtiDeferredUpdates.hpp ! src/hotspot/share/prims/jvmtiEnv.cpp ! src/hotspot/share/prims/jvmtiEnvBase.cpp ! src/hotspot/share/prims/jvmtiEnvBase.hpp ! src/hotspot/share/prims/jvmtiEnvThreadState.cpp ! src/hotspot/share/prims/jvmtiEnvThreadState.hpp ! src/hotspot/share/prims/jvmtiEventController.cpp ! src/hotspot/share/prims/jvmtiEventController.hpp ! src/hotspot/share/prims/jvmtiExport.cpp ! src/hotspot/share/prims/jvmtiExport.hpp ! src/hotspot/share/prims/jvmtiExtensions.cpp ! src/hotspot/share/prims/jvmtiGetLoadedClasses.cpp ! src/hotspot/share/prims/jvmtiImpl.cpp ! src/hotspot/share/prims/jvmtiImpl.hpp ! src/hotspot/share/prims/jvmtiRawMonitor.cpp ! src/hotspot/share/prims/jvmtiRedefineClasses.cpp ! src/hotspot/share/prims/jvmtiRedefineClasses.hpp ! src/hotspot/share/prims/jvmtiTagMap.cpp ! src/hotspot/share/prims/jvmtiTagMapTable.cpp ! src/hotspot/share/prims/jvmtiTagMapTable.hpp ! src/hotspot/share/prims/jvmtiThreadState.cpp ! src/hotspot/share/prims/jvmtiThreadState.hpp ! src/hotspot/share/prims/jvmtiThreadState.inline.hpp ! src/hotspot/share/prims/jvmtiTrace.cpp ! src/hotspot/share/prims/jvmtiUtil.cpp ! src/hotspot/share/prims/jvmtiUtil.hpp ! src/hotspot/share/prims/methodHandles.cpp ! src/hotspot/share/prims/nativeLookup.cpp ! src/hotspot/share/prims/perf.cpp ! src/hotspot/share/prims/resolvedMethodTable.cpp ! src/hotspot/share/prims/scopedMemoryAccess.cpp ! src/hotspot/share/prims/stackwalk.cpp ! src/hotspot/share/prims/stackwalk.hpp ! src/hotspot/share/prims/unsafe.cpp ! src/hotspot/share/prims/upcallLinker.cpp ! src/hotspot/share/prims/vectorSupport.cpp ! src/hotspot/share/prims/whitebox.cpp Changeset: 60c535de Author: Albert Mingkun Yang Date: 2023-01-31 16:09:48 +0000 URL: https://git.openjdk.org/panama-foreign/commit/60c535de49f6140887ab3eaaa7098b22737114a2 8301340: Make DirtyCardToOopClosure stack-allocated Reviewed-by: stefank, tschatzl ! src/hotspot/share/gc/shared/cardTableRS.cpp ! src/hotspot/share/gc/shared/space.cpp ! src/hotspot/share/gc/shared/space.hpp ! src/hotspot/share/memory/memRegion.hpp Changeset: e193a0b7 Author: Calvin Cheung Date: 2023-01-31 16:51:45 +0000 URL: https://git.openjdk.org/panama-foreign/commit/e193a0b72a143889170b64da19fb22f7f8555e89 8295951: intermittent cmp_baseline task failures with CDS files Reviewed-by: iklam ! make/jdk/src/classes/build/tools/classlist/HelloClasslist.java Changeset: 5744c91b Author: Vicente Romero Date: 2023-01-31 17:01:14 +0000 URL: https://git.openjdk.org/panama-foreign/commit/5744c91bf5742379913a9926a5d70a2d49dbea04 8297158: Suspicious collection method call in Types.isSameTypeVisitor Reviewed-by: jlahoda ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Types.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TypeEnter.java Changeset: e1bf4713 Author: Coleen Phillimore Date: 2023-01-31 18:06:14 +0000 URL: https://git.openjdk.org/panama-foreign/commit/e1bf4713124cfb3ce325e5f7677be7de0a532d17 8301555: Remove constantPoolCacheKlass friend Reviewed-by: fparain, kbarrett ! src/hotspot/share/oops/cpCache.hpp Changeset: 4bef233a Author: Coleen Phillimore Date: 2023-01-31 18:07:15 +0000 URL: https://git.openjdk.org/panama-foreign/commit/4bef233a4af3bd06f8f17d70eda50ea45fb9c82c 8301549: Fix comment about ClassCircularityError Reviewed-by: lfoltan ! src/hotspot/share/classfile/systemDictionary.cpp Changeset: 6beadbbe Author: Vicente Romero Date: 2023-01-31 18:20:11 +0000 URL: https://git.openjdk.org/panama-foreign/commit/6beadbbe9f0721fbdfc48e6f2c14aa6dab982be0 8293519: deprecation warnings should be emitted for uses of annotation methods inside other annotations Reviewed-by: jlahoda ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Annotate.java + test/langtools/tools/javac/annotations/DeprecationWarningTest.java + test/langtools/tools/javac/annotations/DeprecationWarningTest.out Changeset: 09bfbf80 Author: Bill Huang Date: 2023-01-31 22:12:07 +0000 URL: https://git.openjdk.org/panama-foreign/commit/09bfbf80639f059563fcd4432995b8c380cea298 8300909: Update com/sun/jndi/dns/Test6991580.java manual test instruction Reviewed-by: alanb ! test/jdk/com/sun/jndi/dns/Test6991580.java Changeset: 8164cfbc Author: Deepa Kumari Committer: Thomas Stuefe Date: 2023-02-01 07:04:26 +0000 URL: https://git.openjdk.org/panama-foreign/commit/8164cfbc0373e57619e18324931f0946b51ae18f 8300696: [AIX] AttachReturnError fails Reviewed-by: tsteele, dholmes ! src/hotspot/os/posix/os_posix.cpp Changeset: d269ebba Author: David Holmes Date: 2023-02-01 07:56:21 +0000 URL: https://git.openjdk.org/panama-foreign/commit/d269ebbad2286b57802a075091b0cc32110dfcc7 8301570: Test runtime/jni/nativeStack/ needs to detach the native thread Co-authored-by: Calvin Cheung Reviewed-by: lmesnik, ccheung ! test/hotspot/jtreg/runtime/jni/nativeStack/libnativeStack.c Changeset: a0aed9bd Author: Albert Mingkun Yang Date: 2023-02-01 09:45:16 +0000 URL: https://git.openjdk.org/panama-foreign/commit/a0aed9bd89f0d56ff75d02a836a304052b1e0606 8301459: Serial: Merge KeepAliveClosure into FastKeepAliveClosure Reviewed-by: stefank, tschatzl ! src/hotspot/share/gc/serial/defNewGeneration.cpp ! src/hotspot/share/gc/serial/defNewGeneration.hpp ! src/hotspot/share/gc/serial/defNewGeneration.inline.hpp Changeset: 4f6f3cc6 Author: Albert Mingkun Yang Date: 2023-02-01 09:46:02 +0000 URL: https://git.openjdk.org/panama-foreign/commit/4f6f3cc642d95c5a2a8068b6dc07cca4fda74bc9 8301446: Remove unused includes of gc/shared/genOopClosures Reviewed-by: stefank, kbarrett ! src/hotspot/cpu/ppc/disassembler_ppc.cpp ! src/hotspot/cpu/s390/disassembler_s390.cpp ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/g1/heapRegion.cpp ! src/hotspot/share/gc/shared/generation.cpp Changeset: ef0d0a70 Author: Axel Boldt-Christmas Date: 2023-02-01 09:47:15 +0000 URL: https://git.openjdk.org/panama-foreign/commit/ef0d0a7092df7b3ce098fb25860fb839fd34c944 8301402: os::print_location gets is_global_handle assert Reviewed-by: coleenp, dholmes ! src/hotspot/share/runtime/jniHandles.cpp Changeset: 2a8ae2ff Author: Roland Westrelin Date: 2023-02-01 09:48:54 +0000 URL: https://git.openjdk.org/panama-foreign/commit/2a8ae2ff1c95cb75f315eb5340bff2b46409d1ae 8300256: C2: vectorization is sometimes skipped on loops where it would succeed Reviewed-by: kvn, thartmann ! src/hotspot/share/opto/loopTransform.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/loopnode.hpp ! src/hotspot/share/opto/superword.cpp + test/hotspot/jtreg/compiler/c2/irTests/TestVectorizationNotRun.java Changeset: 969f6a37 Author: Claes Redestad Date: 2023-02-01 10:55:43 +0000 URL: https://git.openjdk.org/panama-foreign/commit/969f6a37e4649079c7acea1952f5537fd9ba2f0a 8301093: C2 fails assert(ctrl == kit.control()) failed: Control flow was added although the intrinsic bailed out Reviewed-by: thartmann, kvn ! src/hotspot/share/opto/library_call.cpp + test/hotspot/jtreg/compiler/intrinsics/TestArraysHashCode.java Changeset: cae577a7 Author: Tobias Hartmann Date: 2023-02-01 11:15:35 +0000 URL: https://git.openjdk.org/panama-foreign/commit/cae577a7102e97278f3f6880e529a68c1f7b71ab 8295486: Inconsistent constant field values observed during compilation Reviewed-by: chagedorn, kvn, jbhateja, vlivanov ! src/hotspot/share/ci/ciArray.cpp ! src/hotspot/share/ci/ciConstant.cpp ! src/hotspot/share/ci/ciConstant.hpp ! src/hotspot/share/ci/ciField.cpp ! src/hotspot/share/ci/ciInstance.cpp ! src/hotspot/share/ci/ciObject.cpp ! src/hotspot/share/ci/ciObject.hpp ! src/hotspot/share/opto/phaseX.cpp ! src/hotspot/share/opto/phaseX.hpp ! src/hotspot/share/opto/type.cpp + test/hotspot/jtreg/compiler/stable/TestUnstableStable.java Changeset: 7c6a8db3 Author: Justin King Committer: Tobias Hartmann Date: 2023-02-01 13:11:12 +0000 URL: https://git.openjdk.org/panama-foreign/commit/7c6a8db328e386b33b9b7a61fccabaec9a17dc66 8301447: [REDO] CodeHeap has virtual methods that are not overridden Reviewed-by: kvn, thartmann ! src/hotspot/share/memory/heap.hpp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/code/CodeCache.java Changeset: bc750f70 Author: ryawalla Committer: Sean Mullan Date: 2023-02-01 13:50:40 +0000 URL: https://git.openjdk.org/panama-foreign/commit/bc750f70f2ac1f14f5b8e6236c593dcbe99cb12f 8294527: Some java.security.debug options missing from security docs Reviewed-by: mullan ! src/java.base/share/classes/sun/security/util/Debug.java Changeset: 3361a26d Author: Matthew Donovan Committer: Rajan Halade Date: 2023-02-01 17:20:24 +0000 URL: https://git.openjdk.org/panama-foreign/commit/3361a26df4dafa134181263cc5c81bda6ba8d21e 8298874: Update TestAllSuites.java for TLS v1.2 and 1.3 Reviewed-by: rhalade ! test/jdk/ProblemList.txt ! test/jdk/javax/net/ssl/SSLEngine/TestAllSuites.java ! test/lib/jdk/test/lib/security/SecurityUtils.java Changeset: 24ff3da0 Author: Jonathan Gibbons Date: 2023-02-01 18:28:42 +0000 URL: https://git.openjdk.org/panama-foreign/commit/24ff3da0543dc9e4c20594a7ff19e4b9eb1a6a1f 8301201: Allow \n@ inside inline tags using inlineContent Reviewed-by: hannesw ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/DocCommentParser.java ! test/langtools/tools/javac/doctree/DocCommentTester.java ! test/langtools/tools/javac/doctree/IndexTest.java ! test/langtools/tools/javac/doctree/TagTest.java Changeset: 99521087 Author: Chris Plummer Date: 2023-02-01 18:59:09 +0000 URL: https://git.openjdk.org/panama-foreign/commit/995210873497eb2400b7672096e6f3cac7fde9a6 8300811: jdb ThreadStartRequest and ThreadDeathRequest should use SUSPEND_NONE instead of SUSPEND_ALL Reviewed-by: alanb, sspitsyn ! src/jdk.jdi/share/classes/com/sun/tools/example/debug/tty/VMConnection.java Changeset: 51ac8783 Author: Mandy Chung Date: 2023-02-01 20:27:20 +0000 URL: https://git.openjdk.org/panama-foreign/commit/51ac8783b951258cb05f899e1f84fdf1d184bc03 8284236: Remove java/lang/ref/ReferenceEnqueue.java from ProblemList-Xcomp.txt Reviewed-by: alanb ! test/jdk/ProblemList-Xcomp.txt Changeset: 6c927c92 Author: Weijun Wang Date: 2023-02-01 20:59:05 +0000 URL: https://git.openjdk.org/panama-foreign/commit/6c927c92f7bd01e6b34c1348594b8dff6e760a24 8301299: Wrong class spec on sun.security.util.Pem Reviewed-by: jnimeh ! src/java.base/share/classes/sun/security/util/Pem.java Changeset: 960c3931 Author: Erik Joelsson Date: 2023-02-01 21:04:41 +0000 URL: https://git.openjdk.org/panama-foreign/commit/960c3931337b314417ad33d8a775ee3e251692d7 8301393: Include cdb in the Windows devkit Reviewed-by: mikael ! make/conf/jib-profiles.js ! make/devkit/createWindowsDevkit.sh Changeset: 225f8053 Author: Kevin Walls Date: 2023-02-01 09:14:25 +0000 URL: https://git.openjdk.org/panama-foreign/commit/225f80532cbeb1597c7f5d660e67d4fa4248c83f 8299891: JMX ObjectInputFilter additional classes needed Reviewed-by: dfuchs, sspitsyn, cjplummer ! src/jdk.management.agent/share/conf/management.properties ! test/jdk/javax/management/remote/mandatory/connection/DefaultAgentFilterTest.java Changeset: 1330d4ea Author: Stefan Karlsson Date: 2023-02-01 13:19:26 +0000 URL: https://git.openjdk.org/panama-foreign/commit/1330d4eaa54790b468f69e61574b3c5d522be120 8298377: JfrVframeStream causes deadlocks in ZGC Backport-of: 453dbd12ee42731d7ebfd1a856338099429277c8 ! src/hotspot/share/jfr/periodic/sampling/jfrThreadSampler.cpp ! src/hotspot/share/jfr/recorder/stacktrace/jfrStackTrace.cpp Changeset: d6832121 Author: Jesper Wilhelmsson Date: 2023-02-01 22:36:07 +0000 URL: https://git.openjdk.org/panama-foreign/commit/d6832121b718d40df263da6e2f9261dee2c4c508 Merge Changeset: 8d6e8a47 Author: Pavel Rappo Date: 2023-02-01 23:54:22 +0000 URL: https://git.openjdk.org/panama-foreign/commit/8d6e8a47c94ad72d380b72b421d9a27d59e6ce33 8301618: Compare elements and type mirrors properly Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/MemberSummaryBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/SerializedFormBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/VisibleMemberTable.java Changeset: af474ce3 Author: Roland Westrelin Date: 2023-02-02 08:29:19 +0000 URL: https://git.openjdk.org/panama-foreign/commit/af474ce35997315774e408f2e8a1beecf8349c75 8297582: C2: very slow compilation due to type system verification code Reviewed-by: kvn, vlivanov ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/type.cpp ! src/hotspot/share/opto/type.hpp + test/hotspot/jtreg/compiler/types/TestArrayManyDimensions.java Changeset: b1e96989 Author: Johan Sj?len Date: 2023-02-02 09:22:00 +0000 URL: https://git.openjdk.org/panama-foreign/commit/b1e96989b693aadea082a01576e25f85ed28ff0d 8301506: Replace NULL with nullptr in os_cpu/linux_ppc Reviewed-by: kbarrett, rrich ! src/hotspot/os_cpu/linux_ppc/javaThread_linux_ppc.cpp ! src/hotspot/os_cpu/linux_ppc/os_linux_ppc.cpp Changeset: 13fcd602 Author: Johan Sj?len Date: 2023-02-02 09:22:48 +0000 URL: https://git.openjdk.org/panama-foreign/commit/13fcd602d37eb0095f169255128588b872639571 8301504: Replace NULL with nullptr in os_cpu/linux_aarch64 Reviewed-by: kbarrett ! src/hotspot/os_cpu/linux_aarch64/javaThread_linux_aarch64.cpp ! src/hotspot/os_cpu/linux_aarch64/os_linux_aarch64.cpp ! src/hotspot/os_cpu/linux_aarch64/vm_version_linux_aarch64.cpp Changeset: 6daff6b2 Author: Johan Sj?len Date: 2023-02-02 09:23:48 +0000 URL: https://git.openjdk.org/panama-foreign/commit/6daff6b26946748360d59a12e9069a08ab5ca06d 8301502: Replace NULL with nullptr in os_cpu/bsd_x86 Reviewed-by: tschatzl, dholmes ! src/hotspot/os_cpu/bsd_x86/javaThread_bsd_x86.cpp ! src/hotspot/os_cpu/bsd_x86/os_bsd_x86.cpp ! src/hotspot/os_cpu/bsd_x86/vm_version_bsd_x86.cpp Changeset: 5d1f71da Author: Johan Sj?len Date: 2023-02-02 09:24:30 +0000 URL: https://git.openjdk.org/panama-foreign/commit/5d1f71daf06870810c9ca24e911d6191cc4f3006 8301509: Replace NULL with nullptr in os_cpu/linux_x86 Reviewed-by: kbarrett ! src/hotspot/os_cpu/linux_x86/javaThread_linux_x86.cpp ! src/hotspot/os_cpu/linux_x86/os_linux_x86.cpp Changeset: 182d1b2f Author: Johan Sj?len Date: 2023-02-02 09:25:21 +0000 URL: https://git.openjdk.org/panama-foreign/commit/182d1b2fb7034b6e9177dc360cbea43d548c3ff0 8301507: Replace NULL with nullptr in os_cpu/linux_riscv Reviewed-by: kbarrett ! src/hotspot/os_cpu/linux_riscv/javaThread_linux_riscv.cpp ! src/hotspot/os_cpu/linux_riscv/os_linux_riscv.cpp ! src/hotspot/os_cpu/linux_riscv/vm_version_linux_riscv.cpp Changeset: c109dae4 Author: Johan Sj?len Date: 2023-02-02 09:26:26 +0000 URL: https://git.openjdk.org/panama-foreign/commit/c109dae48c61c6fbeacadf59d509d37d2c4d2bb8 8301513: Replace NULL with nullptr in os_cpu/windows_x86 Reviewed-by: kbarrett ! src/hotspot/os_cpu/windows_x86/assembler_windows_x86.cpp ! src/hotspot/os_cpu/windows_x86/javaThread_windows_x86.cpp ! src/hotspot/os_cpu/windows_x86/javaThread_windows_x86.hpp ! src/hotspot/os_cpu/windows_x86/os_windows_x86.cpp Changeset: 8cc399b6 Author: Johan Sj?len Date: 2023-02-02 09:27:30 +0000 URL: https://git.openjdk.org/panama-foreign/commit/8cc399b672c6ce08037685b3a3a2db3c53a87b50 8301503: Replace NULL with nullptr in os_cpu/bsd_zero Reviewed-by: kbarrett ! src/hotspot/os_cpu/bsd_zero/javaThread_bsd_zero.hpp ! src/hotspot/os_cpu/bsd_zero/os_bsd_zero.cpp Changeset: ad79e491 Author: Johan Sj?len Date: 2023-02-02 09:28:19 +0000 URL: https://git.openjdk.org/panama-foreign/commit/ad79e49141f063a61090eda69d96dc580db88949 8301512: Replace NULL with nullptr in os_cpu/windows_aarch64 Reviewed-by: kbarrett ! src/hotspot/os_cpu/windows_aarch64/javaThread_windows_aarch64.cpp ! src/hotspot/os_cpu/windows_aarch64/os_windows_aarch64.cpp ! src/hotspot/os_cpu/windows_aarch64/vm_version_windows_aarch64.cpp Changeset: 42a286a1 Author: Johan Sj?len Date: 2023-02-02 09:29:02 +0000 URL: https://git.openjdk.org/panama-foreign/commit/42a286a15862d9a05ea3477a9eeab46e7b33e599 8301511: Replace NULL with nullptr in os_cpu/linux_zero Reviewed-by: sgehwolf, dholmes ! src/hotspot/os_cpu/linux_zero/javaThread_linux_zero.cpp ! src/hotspot/os_cpu/linux_zero/javaThread_linux_zero.hpp ! src/hotspot/os_cpu/linux_zero/os_linux_zero.cpp Changeset: b81f0ff4 Author: Johan Sj?len Date: 2023-02-02 09:29:45 +0000 URL: https://git.openjdk.org/panama-foreign/commit/b81f0ff43ac8d1431f2f5dccb7499a3a1503823d 8301505: Replace NULL with nullptr in os_cpu/linux_arm Reviewed-by: kbarrett ! src/hotspot/os_cpu/linux_arm/javaThread_linux_arm.cpp ! src/hotspot/os_cpu/linux_arm/javaThread_linux_arm.hpp ! src/hotspot/os_cpu/linux_arm/os_linux_arm.cpp Changeset: 218223e4 Author: Johan Sj?len Date: 2023-02-02 09:30:28 +0000 URL: https://git.openjdk.org/panama-foreign/commit/218223e4a31d485935655cb3f186a752defd8fa8 8301501: Replace NULL with nullptr in os_cpu/bsd_aarch64 Reviewed-by: tschatzl, dholmes ! src/hotspot/os_cpu/bsd_aarch64/javaThread_bsd_aarch64.cpp ! src/hotspot/os_cpu/bsd_aarch64/os_bsd_aarch64.cpp ! src/hotspot/os_cpu/bsd_aarch64/vm_version_bsd_aarch64.cpp Changeset: c8307e37 Author: Johan Sj?len Date: 2023-02-02 09:31:24 +0000 URL: https://git.openjdk.org/panama-foreign/commit/c8307e37fdf4453cade84efc113d93dd14333fd0 8301500: Replace NULL with nullptr in os_cpu/aix_ppc Reviewed-by: tschatzl ! src/hotspot/os_cpu/aix_ppc/javaThread_aix_ppc.cpp ! src/hotspot/os_cpu/aix_ppc/os_aix_ppc.cpp Changeset: d097b5e6 Author: Johan Sj?len Date: 2023-02-02 09:32:42 +0000 URL: https://git.openjdk.org/panama-foreign/commit/d097b5e6285e1a59632211e006592fedf2047c09 8301508: Replace NULL with nullptr in os_cpu/linux_s390 Reviewed-by: kbarrett ! src/hotspot/os_cpu/linux_s390/javaThread_linux_s390.cpp ! src/hotspot/os_cpu/linux_s390/os_linux_s390.cpp Changeset: 7b6ac41a Author: Johan Sj?len Date: 2023-02-02 10:14:26 +0000 URL: https://git.openjdk.org/panama-foreign/commit/7b6ac41ab115f0fb715d32b19bec184ed53d0cd7 8286876: NMT.test_unaliged_block_address_vm_assert fails if using clang toolchain Reviewed-by: stuefe, gziemski ! src/hotspot/share/runtime/os.cpp ! src/hotspot/share/services/mallocHeader.hpp ! src/hotspot/share/services/mallocHeader.inline.hpp ! src/hotspot/share/services/mallocTracker.cpp ! src/hotspot/share/services/mallocTracker.hpp ! test/hotspot/gtest/nmt/test_nmt_cornercases.cpp Changeset: 03b23a1e Author: Aleksei Efimov Date: 2023-02-02 12:45:00 +0000 URL: https://git.openjdk.org/panama-foreign/commit/03b23a1e1bd724019ef4fdbee3463d0646329164 8301367: Add exception handler method to the BaseLdapServer Reviewed-by: jpai, vtewari, dfuchs ! test/jdk/com/sun/jndi/ldap/lib/BaseLdapServer.java Changeset: 21c1afbc Author: Axel Boldt-Christmas Date: 2023-02-02 14:04:22 +0000 URL: https://git.openjdk.org/panama-foreign/commit/21c1afbc3229e898146022935bc589bcf95aa1f7 8301612: OopLoadProxy constructor should be explicit Reviewed-by: stefank, jsjolen ! src/hotspot/share/oops/accessBackend.hpp Changeset: 5b1584b9 Author: Damon Fenacci Committer: Tobias Hartmann Date: 2023-02-02 14:33:28 +0000 URL: https://git.openjdk.org/panama-foreign/commit/5b1584b92c9a469dd5928ae9a795d5e823050229 8298880: VectorLogicalOpIdentityTest.java IR test incorrectly use avx3 instead of avx512 Reviewed-by: chagedorn, kvn, rcastanedalo ! test/hotspot/jtreg/compiler/vectorapi/VectorLogicalOpIdentityTest.java Changeset: 59b7fb1a Author: Christian Hagedorn Date: 2023-02-02 14:39:28 +0000 URL: https://git.openjdk.org/panama-foreign/commit/59b7fb1a91c594f98f06b28cb95310a38565397d 8300273: [IR framework] Handle message instead of bailing out Reviewed-by: thartmann, kvn ! src/hotspot/share/compiler/compileTask.cpp ! test/hotspot/jtreg/compiler/lib/ir_framework/TestFramework.java ! test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/IRMatcher.java - test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/AbstractLine.java - test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/Block.java - test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/BlockLine.java - test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/BlockOutputReader.java - test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/FileCorruptedException.java - test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/HotSpotPidFileParser.java ! test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/IREncodingParser.java + test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/IRMethodBuilder.java - test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/Line.java - test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/MethodCompilationParser.java + test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/TestClassParser.java ! test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/TestMethod.java + test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/TestMethods.java + test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/hotspot/CompilePhaseBlock.java + test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/hotspot/CompileQueueMessages.java + test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/hotspot/HotSpotPidFileParser.java + test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/hotspot/LoggedMethod.java + test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/hotspot/LoggedMethods.java + test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/hotspot/State.java + test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/hotspot/WriterThread.java + test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/hotspot/WriterThreads.java ! test/hotspot/jtreg/testlibrary_tests/ir_framework/tests/TestCheckedTests.java ! test/hotspot/jtreg/testlibrary_tests/ir_framework/tests/TestIRMatching.java ! test/hotspot/jtreg/testlibrary_tests/ir_framework/tests/TestPhaseIRMatching.java ! test/hotspot/jtreg/testlibrary_tests/ir_framework/tests/TestRunTests.java + test/hotspot/jtreg/testlibrary_tests/ir_framework/tests/TestSafepointWhilePrinting.java ! test/hotspot/jtreg/testlibrary_tests/ir_framework/tests/TestScenarios.java - test/hotspot/jtreg/testlibrary_tests/ir_framework/tests/Utils.java + test/hotspot/jtreg/testlibrary_tests/ir_framework/tests/safepoint_while_printing_hotspot_pid.log Changeset: 2d50c7d4 Author: Leonid Mesnik Date: 2023-02-02 15:10:27 +0000 URL: https://git.openjdk.org/panama-foreign/commit/2d50c7d477b4141d58ae4ad01c254cde03050373 8298979: Remove duplicated serviceability/jvmti/thread/GetAllThreads/allthr01/allthr01.java Reviewed-by: sspitsyn ! test/hotspot/jtreg/TEST.quick-groups ! test/hotspot/jtreg/serviceability/jvmti/thread/GetAllThreads/allthr01/allthr01.java ! test/hotspot/jtreg/serviceability/jvmti/thread/GetAllThreads/allthr01/liballthr01.cpp - test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetAllThreads/allthr001.java - test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetAllThreads/allthr001/TestDescription.java - test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetAllThreads/allthr001/allthr001.cpp - test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetAllThreads/allthr001/liballthr001.cpp - test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetAllThreads/allthr002.java - test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetAllThreads/allthr002/TestDescription.java - test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetAllThreads/allthr002/allthr002.cpp - test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetAllThreads/allthr002/liballthr002.cpp Changeset: 725d57b2 Author: Julian Waters Date: 2023-02-02 15:22:18 +0000 URL: https://git.openjdk.org/panama-foreign/commit/725d57b2e2b78c1536d8a4adae67b27a2c8aee21 8301659: Resolve initialization reordering issues on Windows for libawt and libsaproc Reviewed-by: dholmes, aivanov ! src/java.desktop/windows/native/libawt/windows/GDIHashtable.cpp ! src/jdk.hotspot.agent/windows/native/libsaproc/sawindbg.cpp Changeset: 930ec008 Author: Jonathan Gibbons Date: 2023-02-02 15:24:49 +0000 URL: https://git.openjdk.org/panama-foreign/commit/930ec008e00ea83b3d6ca21631d0cc15c9a3f4d8 8301636: Minor cleanup in CommentHelper and DocPretty Reviewed-by: prappo ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/DocPretty.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/CommentHelper.java Changeset: de577332 Author: Chris Plummer Date: 2023-02-02 16:58:48 +0000 URL: https://git.openjdk.org/panama-foreign/commit/de5773325d15ebefde80cb1bef734c50343958b8 8301644: com/sun/jdi/JdbStopThreadTest.java fails after JDK-8300811 Reviewed-by: amenkov, kevinw ! test/jdk/com/sun/jdi/JdbStopThreadTest.java Changeset: c647ae6c Author: Albert Mingkun Yang Date: 2023-02-02 17:41:52 +0000 URL: https://git.openjdk.org/panama-foreign/commit/c647ae6c326ca9b712e01d2062196aaed3c6036b 8301149: Parallel: Refactor MutableNUMASpace::update_layout Reviewed-by: tschatzl, lkorinth, iveresov ! src/hotspot/share/gc/parallel/mutableNUMASpace.cpp ! src/hotspot/share/gc/parallel/mutableNUMASpace.hpp Changeset: cf6b9eb8 Author: Dr Heinz M. Kabutz Committer: Tagir F. Valeev Date: 2023-02-02 18:28:47 +0000 URL: https://git.openjdk.org/panama-foreign/commit/cf6b9eb8c8cca4a54fbd97fb073eafc1b8835099 8301637: ThreadLocalRandom.current().doubles().parallel() contention Reviewed-by: alanb ! src/java.base/share/classes/java/util/concurrent/ThreadLocalRandom.java Changeset: f696785f Author: Raffaello Giulietti Date: 2023-02-02 19:10:42 +0000 URL: https://git.openjdk.org/panama-foreign/commit/f696785fd3bc5b27c06260088a2e0ce520e12142 8300869: Make use of the Double.toString(double) algorithm in java.util.Formatter Reviewed-by: darcy, naoto ! src/java.base/share/classes/java/util/Formatter.java ! src/java.base/share/classes/jdk/internal/math/DoubleToDecimal.java + src/java.base/share/classes/jdk/internal/math/FormattedFPDecimal.java - src/java.base/share/classes/jdk/internal/math/FormattedFloatingDecimal.java ! test/jdk/java/util/Formatter/Basic-X.java.template ! test/jdk/java/util/Formatter/BasicBigDecimal.java ! test/jdk/java/util/Formatter/BasicDouble.java ! test/jdk/java/util/Formatter/BasicDoubleObject.java ! test/jdk/java/util/Formatter/BasicFloat.java ! test/jdk/java/util/Formatter/BasicFloatObject.java ! test/jdk/java/util/Formatter/BasicTestLauncher.java Changeset: ee0f5b5e Author: Joe Darcy Date: 2023-02-02 20:36:34 +0000 URL: https://git.openjdk.org/panama-foreign/commit/ee0f5b5ed0f8f081c5e61e2083c31863cbf14fd2 8301392: Port fdlibm log1p to Java Reviewed-by: bpb ! src/java.base/share/classes/java/lang/FdLibm.java ! src/java.base/share/classes/java/lang/StrictMath.java ! test/jdk/java/lang/StrictMath/FdlibmTranslit.java ! test/jdk/java/lang/StrictMath/Log1pTests.java Changeset: b00b70c2 Author: Hai-May Chao Date: 2023-02-02 21:17:08 +0000 URL: https://git.openjdk.org/panama-foreign/commit/b00b70c2400d28070d26630614a010bc52237827 8286907: keytool should warn about weak PBE algorithms Reviewed-by: mullan, weijun ! src/java.base/share/classes/sun/security/tools/keytool/Main.java ! test/jdk/sun/security/tools/keytool/WeakSecretKeyTest.java Changeset: 04278e6b Author: Ioi Lam Date: 2023-02-02 22:31:53 +0000 URL: https://git.openjdk.org/panama-foreign/commit/04278e6bf2da501542feb777ab864bbcc5794fd0 8301564: Non-C-heap allocated ResourceHashtable keys and values must have trivial destructor Reviewed-by: coleenp, jvernee ! src/hotspot/cpu/aarch64/codeBuffer_aarch64.cpp ! src/hotspot/cpu/riscv/codeBuffer_riscv.cpp ! src/hotspot/share/asm/codeBuffer.cpp ! src/hotspot/share/asm/codeBuffer.hpp ! src/hotspot/share/classfile/classLoaderStats.hpp ! src/hotspot/share/utilities/resourceHash.hpp Changeset: 4c9de876 Author: Jaikiran Pai Date: 2023-02-03 01:03:28 +0000 URL: https://git.openjdk.org/panama-foreign/commit/4c9de876bffe5abb94db1c8c2b919d8243317ff8 8301655: Problemlist jdk/jdk/nio/zipfs/TestLocOffsetFromZip64EF.java on Linux Reviewed-by: lancea ! test/jdk/ProblemList.txt Changeset: 3ad6aef1 Author: Feilong Jiang Committer: Fei Yang Date: 2023-02-03 05:03:21 +0000 URL: https://git.openjdk.org/panama-foreign/commit/3ad6aef1496de914b70f00005465e4b22f248d4f 8301313: RISC-V: C2: assert(false) failed: bad AD file due to missing match rule Reviewed-by: fyang, yadongwang ! src/hotspot/cpu/riscv/riscv.ad Changeset: 7f313b0c Author: Sibabrata Sahoo Date: 2023-02-03 05:19:47 +0000 URL: https://git.openjdk.org/panama-foreign/commit/7f313b0cef7d0e9732beed6c61298815306531e0 8180266: Convert sun/security/provider/KeyStore/DKSTest.sh to Java Jtreg Test Reviewed-by: rhalade ! test/jdk/ProblemList.txt ! test/jdk/sun/security/provider/KeyStore/DKSTest.java - test/jdk/sun/security/provider/KeyStore/DKSTest.sh Changeset: 406021ad Author: Andrey Turbanov Date: 2023-02-03 06:51:54 +0000 URL: https://git.openjdk.org/panama-foreign/commit/406021ad585eec1ec007535ed6b08c2ebffec2ee 8300929: Avoid unnecessary array fill after creation in java.awt.image Reviewed-by: attila, serb, aivanov ! src/java.desktop/share/classes/java/awt/image/BandedSampleModel.java ! src/java.desktop/share/classes/java/awt/image/ComponentColorModel.java ! src/java.desktop/share/classes/java/awt/image/ComponentSampleModel.java ! src/java.desktop/share/classes/java/awt/image/DirectColorModel.java ! src/java.desktop/share/classes/java/awt/image/Raster.java Changeset: b504c941 Author: Per Minborg Date: 2023-02-03 07:24:20 +0000 URL: https://git.openjdk.org/panama-foreign/commit/b504c9411e4a7a93e07a340a5d32a5ca9764a006 8300235: Use VarHandle access in Image(Input | Output)StreamImpl classes Reviewed-by: rriggs = src/java.base/share/classes/jdk/internal/util/ByteArrayLittleEndian.java ! src/java.base/share/classes/module-info.java ! src/java.desktop/share/classes/javax/imageio/stream/ImageInputStreamImpl.java ! src/java.desktop/share/classes/javax/imageio/stream/ImageOutputStreamImpl.java ! test/jdk/javax/imageio/stream/ReadFullyTest.java + test/micro/org/openjdk/bench/javax/imageio/stream/ImageInputStreamBench.java Changeset: 11804b24 Author: Matthias Baesken Date: 2023-02-03 07:54:33 +0000 URL: https://git.openjdk.org/panama-foreign/commit/11804b246e8643a3465b9549794ccfb24ccd8fc5 8301050: Detect Xen Virtualization on Linux aarch64 Reviewed-by: dholmes, clanger ! src/hotspot/cpu/aarch64/vm_version_aarch64.cpp ! src/hotspot/share/runtime/abstract_vm_version.hpp Changeset: cf68d9fb Author: Roland Westrelin Date: 2023-02-03 07:58:29 +0000 URL: https://git.openjdk.org/panama-foreign/commit/cf68d9fb8e55e461fa717f1443094300de8feacb 8299155: C2: SubTypeCheckNode::verify() should not produce dependencies / oop pool entries Reviewed-by: thartmann, kvn ! src/hotspot/share/opto/subtypenode.cpp ! src/hotspot/share/opto/subtypenode.hpp Changeset: 82126c1a Author: duke Date: 2023-02-03 11:00:34 +0000 URL: https://git.openjdk.org/panama-foreign/commit/82126c1aa4fe2a27a97d2df129ec4ae961a8afbf Automatic merge of jdk:master into master Changeset: 9be3d51a Author: duke Date: 2023-02-03 11:00:48 +0000 URL: https://git.openjdk.org/panama-foreign/commit/9be3d51a1ecc2f58291559b75e4ec8c3d53bc13c Automatic merge of master into foreign-memaccess+abi ! make/conf/jib-profiles.js ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/prims/upcallLinker.cpp ! make/conf/jib-profiles.js ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/prims/upcallLinker.cpp From duke at openjdk.org Fri Feb 3 11:16:11 2023 From: duke at openjdk.org (duke) Date: Fri, 3 Feb 2023 11:16:11 GMT Subject: git: openjdk/panama-foreign: master: 127 new changesets Message-ID: <0492864f-2473-4ef7-9e74-6617ca800205@openjdk.org> Changeset: 3758487f Author: Johan Sj?len Date: 2023-01-27 11:01:07 +0000 URL: https://git.openjdk.org/panama-foreign/commit/3758487fda61b27e7e684413793ed28c0b9e64d3 8301180: Replace NULL with nullptr in share/gc/parallel/ Reviewed-by: stefank, ayang ! src/hotspot/share/gc/parallel/gcAdaptivePolicyCounters.cpp ! src/hotspot/share/gc/parallel/mutableNUMASpace.cpp ! src/hotspot/share/gc/parallel/mutableNUMASpace.hpp ! src/hotspot/share/gc/parallel/mutableSpace.cpp ! src/hotspot/share/gc/parallel/mutableSpace.hpp ! src/hotspot/share/gc/parallel/parMarkBitMap.cpp ! src/hotspot/share/gc/parallel/parMarkBitMap.inline.hpp ! src/hotspot/share/gc/parallel/parallelScavengeHeap.cpp ! src/hotspot/share/gc/parallel/parallelScavengeHeap.hpp ! src/hotspot/share/gc/parallel/psCardTable.cpp ! src/hotspot/share/gc/parallel/psClosure.inline.hpp ! src/hotspot/share/gc/parallel/psCompactionManager.cpp ! src/hotspot/share/gc/parallel/psCompactionManager.hpp ! src/hotspot/share/gc/parallel/psCompactionManager.inline.hpp ! src/hotspot/share/gc/parallel/psGenerationCounters.hpp ! src/hotspot/share/gc/parallel/psOldGen.cpp ! src/hotspot/share/gc/parallel/psOldGen.hpp ! src/hotspot/share/gc/parallel/psParallelCompact.cpp ! src/hotspot/share/gc/parallel/psParallelCompact.hpp ! src/hotspot/share/gc/parallel/psParallelCompact.inline.hpp ! src/hotspot/share/gc/parallel/psPromotionLAB.cpp ! src/hotspot/share/gc/parallel/psPromotionLAB.hpp ! src/hotspot/share/gc/parallel/psPromotionLAB.inline.hpp ! src/hotspot/share/gc/parallel/psPromotionManager.cpp ! src/hotspot/share/gc/parallel/psPromotionManager.inline.hpp ! src/hotspot/share/gc/parallel/psScavenge.cpp ! src/hotspot/share/gc/parallel/psScavenge.hpp ! src/hotspot/share/gc/parallel/psVMOperations.cpp ! src/hotspot/share/gc/parallel/psVirtualspace.cpp ! src/hotspot/share/gc/parallel/psYoungGen.cpp Changeset: db8fa1be Author: Tejesh R Date: 2023-01-27 11:05:12 +0000 URL: https://git.openjdk.org/panama-foreign/commit/db8fa1be052c8558398ea5fea2105458f1a3cd16 8300405: Screen capture for test JFileChooserSetLocationTest.java, failure case Reviewed-by: serb ! test/jdk/javax/swing/JFileChooser/JFileChooserSetLocationTest.java Changeset: e4252bb9 Author: Damon Fenacci Committer: Tobias Hartmann Date: 2023-01-27 12:14:07 +0000 URL: https://git.openjdk.org/panama-foreign/commit/e4252bb91478e9c2f0a5bbdae7cd663838d91b1b 8300823: UB: Compile::_phase_optimize_finished is initialized too late Reviewed-by: thartmann, chagedorn ! src/hotspot/share/opto/compile.cpp Changeset: fccf8189 Author: Coleen Phillimore Date: 2023-01-27 14:56:29 +0000 URL: https://git.openjdk.org/panama-foreign/commit/fccf818972f15bc4f69ce9566b5cd4b7e7777107 8301123: Enable Symbol refcounting underflow checks in PRODUCT Reviewed-by: fparain, iklam ! src/hotspot/share/oops/symbol.cpp ! test/hotspot/gtest/classfile/test_symbolTable.cpp Changeset: e2a3b20c Author: Justin King Committer: Coleen Phillimore Date: 2023-01-27 14:58:22 +0000 URL: https://git.openjdk.org/panama-foreign/commit/e2a3b20ca80186a3d3d1a2a9029036b088b3fc9c 8301187: Memory leaks in OopMapCache Reviewed-by: fparain, coleenp ! src/hotspot/share/interpreter/oopMapCache.cpp Changeset: dff41316 Author: Deepa Kumari Committer: Tyler Steele Date: 2023-01-27 15:28:13 +0000 URL: https://git.openjdk.org/panama-foreign/commit/dff41316a2c07ef05b9f9421093ee78d6a80d92e 8285850: [AIX] unreachable code in basic_tools.m4 -> BASIC_CHECK_TAR Reviewed-by: erikj, tsteele ! make/autoconf/basic_tools.m4 Changeset: 5c1ec826 Author: Johan Sj?len Date: 2023-01-27 15:42:46 +0000 URL: https://git.openjdk.org/panama-foreign/commit/5c1ec82656323872c4628026662fe5b62e7a61e3 8301077: Replace NULL with nullptr in share/services/ Reviewed-by: cjplummer, coleenp ! src/hotspot/share/services/attachListener.cpp ! src/hotspot/share/services/attachListener.hpp ! src/hotspot/share/services/classLoadingService.cpp ! src/hotspot/share/services/diagnosticArgument.cpp ! src/hotspot/share/services/diagnosticArgument.hpp ! src/hotspot/share/services/diagnosticCommand.cpp ! src/hotspot/share/services/diagnosticCommand.hpp ! src/hotspot/share/services/diagnosticFramework.cpp ! src/hotspot/share/services/diagnosticFramework.hpp ! src/hotspot/share/services/gcNotifier.cpp ! src/hotspot/share/services/gcNotifier.hpp ! src/hotspot/share/services/heapDumper.cpp ! src/hotspot/share/services/heapDumper.hpp ! src/hotspot/share/services/heapDumperCompression.cpp ! src/hotspot/share/services/heapDumperCompression.hpp ! src/hotspot/share/services/lowMemoryDetector.cpp ! src/hotspot/share/services/lowMemoryDetector.hpp ! src/hotspot/share/services/mallocHeader.inline.hpp ! src/hotspot/share/services/mallocSiteTable.cpp ! src/hotspot/share/services/mallocSiteTable.hpp ! src/hotspot/share/services/mallocTracker.cpp ! src/hotspot/share/services/mallocTracker.hpp ! src/hotspot/share/services/management.cpp ! src/hotspot/share/services/management.hpp ! src/hotspot/share/services/memBaseline.cpp ! src/hotspot/share/services/memReporter.cpp ! src/hotspot/share/services/memTracker.cpp ! src/hotspot/share/services/memTracker.hpp ! src/hotspot/share/services/memoryManager.cpp ! src/hotspot/share/services/memoryPool.cpp ! src/hotspot/share/services/memoryService.cpp ! src/hotspot/share/services/nmtCommon.cpp ! src/hotspot/share/services/nmtDCmd.cpp ! src/hotspot/share/services/nmtDCmd.hpp ! src/hotspot/share/services/nmtPreInit.cpp ! src/hotspot/share/services/nmtPreInit.hpp ! src/hotspot/share/services/runtimeService.cpp ! src/hotspot/share/services/threadIdTable.cpp ! src/hotspot/share/services/threadService.cpp ! src/hotspot/share/services/threadService.hpp ! src/hotspot/share/services/threadStackTracker.cpp ! src/hotspot/share/services/virtualMemoryTracker.cpp ! src/hotspot/share/services/virtualMemoryTracker.hpp ! src/hotspot/share/services/writeableFlags.cpp Changeset: f52d35c8 Author: Johan Sj?len Date: 2023-01-27 15:43:34 +0000 URL: https://git.openjdk.org/panama-foreign/commit/f52d35c84b7333809156d201c866793854143888 8300240: Replace NULL with nullptr in share/ci/ Reviewed-by: kvn, coleenp ! src/hotspot/share/ci/bcEscapeAnalyzer.cpp ! src/hotspot/share/ci/bcEscapeAnalyzer.hpp ! src/hotspot/share/ci/ciArray.cpp ! src/hotspot/share/ci/ciCallProfile.hpp ! src/hotspot/share/ci/ciConstantPoolCache.cpp ! src/hotspot/share/ci/ciEnv.cpp ! src/hotspot/share/ci/ciEnv.hpp ! src/hotspot/share/ci/ciExceptionHandler.cpp ! src/hotspot/share/ci/ciExceptionHandler.hpp ! src/hotspot/share/ci/ciField.cpp ! src/hotspot/share/ci/ciField.hpp ! src/hotspot/share/ci/ciInstance.cpp ! src/hotspot/share/ci/ciInstance.hpp ! src/hotspot/share/ci/ciInstanceKlass.cpp ! src/hotspot/share/ci/ciInstanceKlass.hpp ! src/hotspot/share/ci/ciKlass.cpp ! src/hotspot/share/ci/ciKlass.hpp ! src/hotspot/share/ci/ciMetadata.hpp ! src/hotspot/share/ci/ciMethod.cpp ! src/hotspot/share/ci/ciMethod.hpp ! src/hotspot/share/ci/ciMethodBlocks.cpp ! src/hotspot/share/ci/ciMethodData.cpp ! src/hotspot/share/ci/ciMethodData.hpp ! src/hotspot/share/ci/ciObjArray.cpp ! src/hotspot/share/ci/ciObjArrayKlass.cpp ! src/hotspot/share/ci/ciObject.cpp ! src/hotspot/share/ci/ciObject.hpp ! src/hotspot/share/ci/ciObjectFactory.cpp ! src/hotspot/share/ci/ciReplay.cpp ! src/hotspot/share/ci/ciSignature.cpp ! src/hotspot/share/ci/ciStreams.hpp ! src/hotspot/share/ci/ciSymbol.cpp ! src/hotspot/share/ci/ciType.cpp ! src/hotspot/share/ci/ciTypeFlow.cpp ! src/hotspot/share/ci/ciTypeFlow.hpp ! src/hotspot/share/ci/ciUtilities.cpp Changeset: 49ff5208 Author: Johan Sj?len Date: 2023-01-27 16:15:29 +0000 URL: https://git.openjdk.org/panama-foreign/commit/49ff52087be8b95cbf369518281312ecc9d83618 8300241: Replace NULL with nullptr in share/classfile/ Reviewed-by: coleenp, iklam ! src/hotspot/share/classfile/classFileError.cpp ! src/hotspot/share/classfile/classFileParser.cpp ! src/hotspot/share/classfile/classFileParser.hpp ! src/hotspot/share/classfile/classFileStream.cpp ! src/hotspot/share/classfile/classLoadInfo.hpp ! src/hotspot/share/classfile/classLoader.cpp ! src/hotspot/share/classfile/classLoader.hpp ! src/hotspot/share/classfile/classLoader.inline.hpp ! src/hotspot/share/classfile/classLoaderData.cpp ! src/hotspot/share/classfile/classLoaderData.hpp ! src/hotspot/share/classfile/classLoaderData.inline.hpp ! src/hotspot/share/classfile/classLoaderDataGraph.cpp ! src/hotspot/share/classfile/classLoaderDataGraph.inline.hpp ! src/hotspot/share/classfile/classLoaderDataShared.cpp ! src/hotspot/share/classfile/classLoaderExt.cpp ! src/hotspot/share/classfile/classLoaderHierarchyDCmd.cpp ! src/hotspot/share/classfile/classLoaderHierarchyDCmd.hpp ! src/hotspot/share/classfile/classLoaderStats.cpp ! src/hotspot/share/classfile/classLoaderStats.hpp ! src/hotspot/share/classfile/classPrinter.cpp ! src/hotspot/share/classfile/compactHashtable.cpp ! src/hotspot/share/classfile/compactHashtable.hpp ! src/hotspot/share/classfile/defaultMethods.cpp ! src/hotspot/share/classfile/dictionary.cpp ! src/hotspot/share/classfile/fieldLayoutBuilder.cpp ! src/hotspot/share/classfile/fieldLayoutBuilder.hpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/classfile/javaClasses.inline.hpp ! src/hotspot/share/classfile/klassFactory.cpp ! src/hotspot/share/classfile/klassFactory.hpp ! src/hotspot/share/classfile/loaderConstraints.cpp ! src/hotspot/share/classfile/metadataOnStackMark.cpp ! src/hotspot/share/classfile/moduleEntry.cpp ! src/hotspot/share/classfile/moduleEntry.hpp ! src/hotspot/share/classfile/modules.cpp ! src/hotspot/share/classfile/modules.hpp ! src/hotspot/share/classfile/packageEntry.cpp ! src/hotspot/share/classfile/packageEntry.hpp ! src/hotspot/share/classfile/placeholders.cpp ! src/hotspot/share/classfile/placeholders.hpp ! src/hotspot/share/classfile/protectionDomainCache.cpp ! src/hotspot/share/classfile/resolutionErrors.cpp ! src/hotspot/share/classfile/stackMapFrame.hpp ! src/hotspot/share/classfile/stackMapTable.cpp ! src/hotspot/share/classfile/stackMapTable.hpp ! src/hotspot/share/classfile/stackMapTableFormat.hpp ! src/hotspot/share/classfile/stringTable.cpp ! src/hotspot/share/classfile/stringTable.hpp ! src/hotspot/share/classfile/symbolTable.cpp ! src/hotspot/share/classfile/symbolTable.hpp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/classfile/systemDictionaryShared.hpp ! src/hotspot/share/classfile/verificationType.cpp ! src/hotspot/share/classfile/verifier.cpp ! src/hotspot/share/classfile/verifier.hpp ! src/hotspot/share/classfile/vmClasses.cpp ! src/hotspot/share/classfile/vmClasses.hpp ! src/hotspot/share/classfile/vmIntrinsics.cpp ! src/hotspot/share/classfile/vmSymbols.cpp ! src/hotspot/share/classfile/vmSymbols.hpp Changeset: 7aaf76c5 Author: Mandy Chung Date: 2023-01-27 17:13:54 +0000 URL: https://git.openjdk.org/panama-foreign/commit/7aaf76c5290a1688f9450a357aaae964615c29d0 8300924: Method::invoke throws wrong exception type when passing wrong number of arguments to method with 4 or more parameters Reviewed-by: rriggs ! src/java.base/share/classes/jdk/internal/reflect/DirectConstructorHandleAccessor.java ! src/java.base/share/classes/jdk/internal/reflect/DirectMethodHandleAccessor.java ! test/jdk/java/lang/reflect/MethodHandleAccessorsTest.java Changeset: 22c976a9 Author: Justin Lu Committer: Naoto Sato Date: 2023-01-27 18:11:20 +0000 URL: https://git.openjdk.org/panama-foreign/commit/22c976a9b042b2d56e849ec8f9ef1dd3d146ca78 8177418: NPE is not apparent for methods in java.util.TimeZone API docs Reviewed-by: lancea, naoto ! src/java.base/share/classes/java/util/SimpleTimeZone.java ! src/java.base/share/classes/java/util/TimeZone.java Changeset: 7f05d57a Author: Mandy Chung Date: 2023-01-27 18:31:03 +0000 URL: https://git.openjdk.org/panama-foreign/commit/7f05d57a87d8b41b53194aa0dacc4057cbb58544 8217920: Lookup.defineClass injects a class that can access private members of any class in its own module Reviewed-by: psandoz, alanb, darcy ! src/java.base/share/classes/java/lang/Module.java ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java Changeset: 9c4bc2c3 Author: Xue-Lei Andrew Fan Date: 2023-01-27 19:01:01 +0000 URL: https://git.openjdk.org/panama-foreign/commit/9c4bc2c3954b97821a2bf371cab61edbc3d81d36 8301132: Test update for deprecated sprintf in Xcode 14 Reviewed-by: mikael ! test/jdk/sun/management/jmxremote/bootstrap/exelauncher.c ! test/jdk/sun/management/windows/exerevokeall.c Changeset: b8e5abc1 Author: Justin King Committer: Magnus Ihse Bursie Date: 2023-01-27 19:09:53 +0000 URL: https://git.openjdk.org/panama-foreign/commit/b8e5abc1e8f5c7e2f0af675abb0e2ed481ffe128 8301097: Update GHA XCode to 12.5.1 Reviewed-by: ihse ! .github/workflows/main.yml Changeset: ae0e76d3 Author: Tagir F. Valeev Date: 2023-01-27 19:23:53 +0000 URL: https://git.openjdk.org/panama-foreign/commit/ae0e76d3dd42de9e66196843e740e75b06894f1f 8301120: Cleanup utility classes java.util.Arrays and java.util.Collections Reviewed-by: smarks, darcy ! src/java.base/share/classes/java/util/Arrays.java ! src/java.base/share/classes/java/util/Collections.java Changeset: a67b1e77 Author: Damon Nguyen Committer: Naoto Sato Date: 2023-01-26 22:33:04 +0000 URL: https://git.openjdk.org/panama-foreign/commit/a67b1e77d33339f5db36c6d15bac0423a31eb5ee 8300719: JDK 20 RDP2 L10n resource files update Reviewed-by: cjplummer, naoto, prr, joehw, asemenyuk, jlu, lancea, ihse, jjg, weijun ! src/demo/share/jfc/SwingSet2/resources/swingset_de.properties ! src/demo/share/jfc/SwingSet2/resources/swingset_ja.properties ! src/demo/share/jfc/SwingSet2/resources/swingset_zh_CN.properties ! src/java.desktop/macosx/classes/com/apple/laf/resources/aqua_zh_CN.properties ! src/java.desktop/macosx/classes/com/apple/laf/resources/aqua_zh_TW.properties ! src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_zh_CN.properties ! src/java.desktop/share/classes/com/sun/java/swing/plaf/motif/resources/motif_it.properties ! src/java.desktop/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_de.properties ! src/java.desktop/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_es.properties ! src/java.desktop/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_fr.properties ! src/java.desktop/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_it.properties ! src/java.desktop/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_ja.properties ! src/java.desktop/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_sv.properties ! src/java.desktop/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_CN.properties ! src/java.desktop/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_TW.properties ! src/java.desktop/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_zh_CN.properties ! src/java.desktop/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_zh_TW.properties ! src/java.desktop/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_zh_CN.properties ! src/java.desktop/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_zh_TW.properties ! src/java.desktop/share/classes/sun/print/resources/serviceui_zh_CN.properties ! src/java.desktop/share/classes/sun/print/resources/serviceui_zh_TW.properties ! src/java.desktop/windows/classes/com/sun/java/swing/plaf/windows/resources/windows_zh_CN.properties ! src/java.desktop/windows/classes/com/sun/java/swing/plaf/windows/resources/windows_zh_TW.properties ! src/java.sql.rowset/share/classes/com/sun/rowset/RowSetResourceBundle_zh_TW.properties ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_es.properties ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_fr.properties ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_it.properties ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_ko.properties ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_pt_BR.properties ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_sv.properties ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/res/XPATHErrorResources_de.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/res/XPATHErrorResources_ja.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/res/XPATHErrorResources_zh_CN.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler_de.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler_ja.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler_zh_CN.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac_de.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac_ja.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac_zh_CN.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/launcher_de.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/launcher_ja.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/launcher_zh_CN.properties ! src/jdk.jartool/share/classes/sun/tools/jar/resources/jar_de.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard_de.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard_ja.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard_zh_CN.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets_de.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets_ja.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets_zh_CN.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/resources/doclint_de.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/resources/doclint_ja.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/resources/doclint_zh_CN.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/resources/javadoc_de.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/resources/javadoc_ja.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/resources/javadoc_zh_CN.properties ! src/jdk.jconsole/share/classes/sun/tools/jconsole/resources/messages_de.properties ! src/jdk.jconsole/share/classes/sun/tools/jconsole/resources/messages_zh_CN.properties ! src/jdk.jdeps/share/classes/com/sun/tools/javap/resources/javap_zh_CN.properties ! src/jdk.jlink/share/classes/jdk/tools/jlink/resources/jlink_ja.properties ! src/jdk.jlink/share/classes/jdk/tools/jlink/resources/jlink_zh_CN.properties ! src/jdk.jlink/share/classes/jdk/tools/jlink/resources/plugins_de.properties ! src/jdk.jlink/share/classes/jdk/tools/jlink/resources/plugins_ja.properties ! src/jdk.jlink/share/classes/jdk/tools/jlink/resources/plugins_zh_CN.properties ! src/jdk.jlink/share/classes/jdk/tools/jmod/resources/jmod_de.properties ! src/jdk.jlink/share/classes/jdk/tools/jmod/resources/jmod_ja.properties ! src/jdk.jlink/share/classes/jdk/tools/jmod/resources/jmod_zh_CN.properties ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/MainResources_de.properties ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/MainResources_ja.properties ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/MainResources_zh_CN.properties ! src/jdk.jpackage/windows/classes/jdk/jpackage/internal/resources/MsiInstallerStrings_de.wxl ! src/jdk.jpackage/windows/classes/jdk/jpackage/internal/resources/MsiInstallerStrings_ja.wxl ! src/jdk.jpackage/windows/classes/jdk/jpackage/internal/resources/MsiInstallerStrings_zh_CN.wxl ! src/jdk.jpackage/windows/classes/jdk/jpackage/internal/resources/WinResources_de.properties ! src/jdk.jpackage/windows/classes/jdk/jpackage/internal/resources/WinResources_ja.properties ! src/jdk.jpackage/windows/classes/jdk/jpackage/internal/resources/WinResources_zh_CN.properties ! src/jdk.jshell/share/classes/jdk/internal/jshell/tool/resources/l10n_de.properties ! src/jdk.jshell/share/classes/jdk/internal/jshell/tool/resources/l10n_ja.properties ! src/jdk.jshell/share/classes/jdk/internal/jshell/tool/resources/l10n_zh_CN.properties ! src/jdk.localedata/share/classes/sun/util/resources/ext/CurrencyNames_de.properties ! src/jdk.localedata/share/classes/sun/util/resources/ext/CurrencyNames_ja.properties ! src/jdk.localedata/share/classes/sun/util/resources/ext/CurrencyNames_zh_CN.properties ! src/jdk.management.agent/share/classes/jdk/internal/agent/resources/agent_zh_CN.properties Changeset: b22e5216 Author: Adam Sotona Date: 2023-01-27 15:09:53 +0000 URL: https://git.openjdk.org/panama-foreign/commit/b22e5216c4ead4621f137086db6f5b6a0c3982c7 8300953: ClassDesc::ofInternalName missing @since tag Reviewed-by: darcy, mchung, jjg ! src/java.base/share/classes/java/lang/constant/ClassDesc.java Changeset: e5860ef6 Author: Damon Nguyen Committer: Naoto Sato Date: 2023-01-27 17:22:05 +0000 URL: https://git.openjdk.org/panama-foreign/commit/e5860ef60a9353508afb09716158baf8bfb35559 8301206: Fix issue with LocaleData after JDK-8300719 Reviewed-by: naoto ! test/jdk/sun/text/resources/LocaleData ! test/jdk/sun/text/resources/LocaleDataTest.java Changeset: 5c59de52 Author: Jesper Wilhelmsson Date: 2023-01-27 22:46:31 +0000 URL: https://git.openjdk.org/panama-foreign/commit/5c59de52a31da937663ad2cef055213489b0516e Merge ! src/demo/share/jfc/SwingSet2/resources/swingset_de.properties ! src/demo/share/jfc/SwingSet2/resources/swingset_ja.properties ! src/demo/share/jfc/SwingSet2/resources/swingset_zh_CN.properties ! src/java.desktop/share/classes/com/sun/java/swing/plaf/motif/resources/motif_it.properties ! src/java.desktop/share/classes/sun/print/resources/serviceui_zh_CN.properties ! src/java.desktop/share/classes/sun/print/resources/serviceui_zh_TW.properties ! src/java.desktop/windows/classes/com/sun/java/swing/plaf/windows/resources/windows_zh_CN.properties ! src/java.desktop/windows/classes/com/sun/java/swing/plaf/windows/resources/windows_zh_TW.properties ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_es.properties ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_fr.properties ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_it.properties ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_ko.properties ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_pt_BR.properties ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_sv.properties ! src/demo/share/jfc/SwingSet2/resources/swingset_de.properties ! src/demo/share/jfc/SwingSet2/resources/swingset_ja.properties ! src/demo/share/jfc/SwingSet2/resources/swingset_zh_CN.properties ! src/java.desktop/share/classes/com/sun/java/swing/plaf/motif/resources/motif_it.properties ! src/java.desktop/share/classes/sun/print/resources/serviceui_zh_CN.properties ! src/java.desktop/share/classes/sun/print/resources/serviceui_zh_TW.properties ! src/java.desktop/windows/classes/com/sun/java/swing/plaf/windows/resources/windows_zh_CN.properties ! src/java.desktop/windows/classes/com/sun/java/swing/plaf/windows/resources/windows_zh_TW.properties ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_es.properties ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_fr.properties ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_it.properties ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_ko.properties ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_pt_BR.properties ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_sv.properties Changeset: 5dfc4ec7 Author: Eirik Bjorsnos Committer: Weijun Wang Date: 2023-01-27 22:47:51 +0000 URL: https://git.openjdk.org/panama-foreign/commit/5dfc4ec7d94af9fe39fdee9d83b06101b827a3c6 8300140: ZipFile.isSignatureRelated returns true for files in META-INF subdirectories Reviewed-by: weijun ! src/java.base/share/classes/java/util/jar/JarVerifier.java ! src/java.base/share/classes/java/util/zip/ZipFile.java ! src/java.base/share/classes/sun/security/util/SignatureFileVerifier.java ! src/jdk.jartool/share/classes/jdk/security/jarsigner/JarSigner.java ! src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Main.java + test/jdk/java/util/jar/JarFile/IgnoreUnrelatedSignatureFiles.java Changeset: af564e46 Author: Yadong Wang Committer: Fei Yang Date: 2023-01-28 02:17:44 +0000 URL: https://git.openjdk.org/panama-foreign/commit/af564e46b006fcd57ec7391cd1438b3b9311b1d6 8299844: RISC-V: Implement _onSpinWait intrinsic Reviewed-by: fjiang, fyang, luhenry ! src/hotspot/cpu/riscv/assembler_riscv.hpp ! src/hotspot/cpu/riscv/c1_LIRAssembler_riscv.cpp ! src/hotspot/cpu/riscv/globals_riscv.hpp ! src/hotspot/cpu/riscv/macroAssembler_riscv.hpp ! src/hotspot/cpu/riscv/riscv.ad ! src/hotspot/cpu/riscv/vm_version_riscv.cpp ! src/hotspot/cpu/riscv/vm_version_riscv.hpp + test/hotspot/jtreg/compiler/onSpinWait/TestOnSpinWaitRISCV64.java Changeset: 6475501a Author: Jatin Bhateja Date: 2023-01-29 01:55:46 +0000 URL: https://git.openjdk.org/panama-foreign/commit/6475501a01268f5c35a9bf30f4104ce7a40d8181 8300208: Optimize Adler32 stub for AVX-512 targets. Reviewed-by: kvn, sviswanathan ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/cpu/x86/stubGenerator_x86_64_adler.cpp ! test/hotspot/jtreg/compiler/intrinsics/zip/TestAdler32.java ! test/micro/org/openjdk/bench/java/util/TestAdler32.java Changeset: d4e9f5e5 Author: Sergey Bylokhov Date: 2023-01-29 20:04:37 +0000 URL: https://git.openjdk.org/panama-foreign/commit/d4e9f5e5f2c92964c3602f34a59b92947d1595a5 8238170: BeanContextSupport remove and propertyChange can deadlock Reviewed-by: phh ! src/java.desktop/share/classes/java/beans/beancontext/BeanContextSupport.java + test/jdk/java/beans/beancontext/BeanContextSupport/AddRemove.java + test/jdk/java/beans/beancontext/BeanContextSupport/NotificationDeadlock.java Changeset: 1ff4646e Author: Ioi Lam Date: 2023-01-29 21:59:48 +0000 URL: https://git.openjdk.org/panama-foreign/commit/1ff4646ed5f64a786a2f2688529e13d6d9f47fa3 8298612: Refactor archiving of java String objects Reviewed-by: ccheung ! src/hotspot/share/cds/heapShared.cpp ! src/hotspot/share/cds/heapShared.hpp ! src/hotspot/share/classfile/stringTable.cpp ! src/hotspot/share/classfile/stringTable.hpp Changeset: 64b25ea0 Author: David Holmes Date: 2023-01-29 23:14:39 +0000 URL: https://git.openjdk.org/panama-foreign/commit/64b25ea0b410542635b6d99a92ec290da47c85ce 8291569: Consider removing JNI checks for signals SIGPIPE and SIGXFSZ Reviewed-by: stuefe, rehn ! src/hotspot/os/posix/signals_posix.cpp Changeset: 4bd3f0a0 Author: Axel Boldt-Christmas Date: 2023-01-30 07:14:25 +0000 URL: https://git.openjdk.org/panama-foreign/commit/4bd3f0a0d5f0ad314cd4e7a68851c2db9100df67 8301088: oopDesc::print_on should consistently use a trailing newline Reviewed-by: tschatzl, coleenp ! src/hotspot/share/oops/oop.cpp ! src/hotspot/share/oops/stackChunkOop.cpp Changeset: c2ebd179 Author: Prasanta Sadhukhan Date: 2023-01-30 07:35:14 +0000 URL: https://git.openjdk.org/panama-foreign/commit/c2ebd179388cac5d6e10f98aab9a7ea909f8bc6b 6187113: DefaultListSelectionModel.removeIndexInterval(0, Integer.MAX_VALUE) fails Co-authored-by: Alexey Ivanov Reviewed-by: aivanov ! src/java.desktop/share/classes/javax/swing/DefaultListSelectionModel.java + test/jdk/javax/swing/TestDefListModelException.java Changeset: cbefe1fd Author: Matthias Baesken Date: 2023-01-30 08:15:10 +0000 URL: https://git.openjdk.org/panama-foreign/commit/cbefe1fd35a4ad59ec979bdaee519617efac9ecf 8301163: jdk/internal/vm/Continuation/Fuzz.java increase COMPILATION_TIMEOUT for Linux ppc64le Reviewed-by: rrich ! test/jdk/jdk/internal/vm/Continuation/Fuzz.java Changeset: 3db558b6 Author: Richard Reingruber Date: 2023-01-30 08:43:15 +0000 URL: https://git.openjdk.org/panama-foreign/commit/3db558b67bebfe559833331475f481c588147084 8300915: G1: incomplete SATB because nmethod entry barriers don't get armed Reviewed-by: tschatzl, eosterlund ! src/hotspot/share/code/codeCache.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/g1/g1FullCollector.cpp Changeset: 08b24ac7 Author: Koichi Sakata Committer: Tobias Holenstein Date: 2023-01-30 09:50:09 +0000 URL: https://git.openjdk.org/panama-foreign/commit/08b24ac7aacaff32577dc07e77ed0961dd804904 8294066: IGV: Graph changes when deleting a graph in the same group with smaller index Reviewed-by: rcastanedalo, tholenstein ! src/utils/IdealGraphVisualizer/Coordinator/src/main/java/com/sun/hotspot/igv/coordinator/actions/GraphRemoveCookie.java Changeset: f50cda7d Author: Albert Mingkun Yang Date: 2023-01-30 10:17:46 +0000 URL: https://git.openjdk.org/panama-foreign/commit/f50cda7d45f6d53a2b93715f11350e41411d84f2 8301217: Remove FilteringClosure Reviewed-by: iwalulya, tschatzl ! src/hotspot/share/gc/serial/tenuredGeneration.cpp ! src/hotspot/share/gc/shared/cardTableRS.cpp ! src/hotspot/share/gc/shared/cardTableRS.hpp ! src/hotspot/share/gc/shared/genOopClosures.hpp ! src/hotspot/share/gc/shared/genOopClosures.inline.hpp ! src/hotspot/share/gc/shared/space.cpp ! src/hotspot/share/gc/shared/space.hpp Changeset: 7fae3a1d Author: Erik ?sterlund Date: 2023-01-30 10:27:40 +0000 URL: https://git.openjdk.org/panama-foreign/commit/7fae3a1d8d39fe0ecef4a1887c4a6053b5d21ca1 8301229: Clean up SuspendibleThreadSet::_suspend_all Reviewed-by: stefank, kbarrett, tschatzl ! src/hotspot/share/gc/shared/suspendibleThreadSet.cpp ! src/hotspot/share/gc/shared/suspendibleThreadSet.hpp Changeset: cee4bd3e Author: Erik ?sterlund Date: 2023-01-30 10:28:40 +0000 URL: https://git.openjdk.org/panama-foreign/commit/cee4bd3ee610492aaa96cb0c5fcf2c32a1c12e2e 8301047: Clean up type unsafe uses of oop from compiler code Co-authored-by: Axel Boldt-Christmas Co-authored-by: Stefan Karlsson Reviewed-by: kvn, stefank ! src/hotspot/share/code/relocInfo.hpp ! src/hotspot/share/compiler/oopMap.cpp ! src/hotspot/share/compiler/oopMap.hpp ! src/hotspot/share/compiler/oopMap.inline.hpp ! src/hotspot/share/utilities/globalDefinitions.hpp Changeset: c672ed16 Author: Erik ?sterlund Date: 2023-01-30 10:29:47 +0000 URL: https://git.openjdk.org/panama-foreign/commit/c672ed16f363d9c92ccefe2e64a96e0a60a49588 8301248: Less side effects in InstanceRefKlass::trace_reference_gc Co-authored-by: Stefan Karlsson Co-authored-by: Axel Boldt-Christmas Reviewed-by: rkennke, stefank ! src/hotspot/share/oops/instanceRefKlass.inline.hpp Changeset: 82df4a2a Author: Albert Mingkun Yang Date: 2023-01-30 11:49:26 +0000 URL: https://git.openjdk.org/panama-foreign/commit/82df4a2aee2eebcce6f3bec1c870f74f237e593b 8301148: Serial: Remove ContiguousSpace::reset_saved_mark Reviewed-by: kbarrett, tschatzl ! src/hotspot/share/gc/serial/tenuredGeneration.cpp ! src/hotspot/share/gc/shared/space.hpp Changeset: 61a5f114 Author: Fei Yang Date: 2023-01-30 12:15:52 +0000 URL: https://git.openjdk.org/panama-foreign/commit/61a5f114eee3a90cfff9ab8b815bacca8985c211 8301033: RISC-V: Handle special cases for MinI/MaxI nodes for Zbb Reviewed-by: fjiang, luhenry, shade ! src/hotspot/cpu/riscv/riscv_b.ad Changeset: ebb84ad7 Author: Fei Yang Date: 2023-01-30 12:24:19 +0000 URL: https://git.openjdk.org/panama-foreign/commit/ebb84ad70d3295d9a429904fcdacdb8ecd1bf434 8301036: RISC-V: Factor out functions baseOffset & baseOffset32 from MacroAssembler Reviewed-by: luhenry, fjiang, shade ! src/hotspot/cpu/riscv/interp_masm_riscv.cpp ! src/hotspot/cpu/riscv/macroAssembler_riscv.cpp ! src/hotspot/cpu/riscv/macroAssembler_riscv.hpp Changeset: 476f58ad Author: Amit Kumar Committer: Tyler Steele Date: 2023-01-30 14:33:28 +0000 URL: https://git.openjdk.org/panama-foreign/commit/476f58adc131d9cf4b0dcca8ea974daf559f3f94 8298424: Remove redundant FOUND_CORES variable in build-performance.m4 Reviewed-by: erikj, tsteele ! make/autoconf/build-performance.m4 Changeset: 041a12e6 Author: Daniel Fuchs Date: 2023-01-30 14:36:36 +0000 URL: https://git.openjdk.org/panama-foreign/commit/041a12e65530b5832b4a500180c97a2a60e0dc51 8301255: Http2Connection may send too many GOAWAY frames Reviewed-by: jpai ! src/java.net.http/share/classes/jdk/internal/net/http/Http2ClientImpl.java ! src/java.net.http/share/classes/jdk/internal/net/http/Http2Connection.java ! test/jdk/java/net/httpclient/http2/NoBodyTest.java Changeset: a74ebd04 Author: Daniel Fuchs Date: 2023-01-30 14:41:59 +0000 URL: https://git.openjdk.org/panama-foreign/commit/a74ebd048ae569296619c112c23169c46b571863 8299325: java/net/httpclient/CancelRequestTest.java fails "test CancelRequestTest.testGetSendAsync("https://localhost:46509/https1/x/same/interrupt", true, true)" Reviewed-by: jpai ! test/jdk/java/net/httpclient/CancelRequestTest.java Changeset: f4592b14 Author: Afshin Zafari Committer: Thomas Schatzl Date: 2023-01-30 16:23:39 +0000 URL: https://git.openjdk.org/panama-foreign/commit/f4592b1471dff02f4e5e21da00c19b957b0a944b 8267935: Replace BasicHashtable and Hashtable Reviewed-by: coleenp, rehn, tschatzl ! src/hotspot/share/prims/jvmtiTagMapTable.hpp - src/hotspot/share/utilities/hashtable.cpp - src/hotspot/share/utilities/hashtable.hpp - src/hotspot/share/utilities/hashtable.inline.hpp Changeset: 32381398 Author: Naoto Sato Date: 2023-01-30 17:06:44 +0000 URL: https://git.openjdk.org/panama-foreign/commit/323813985b71c63c915cdfce5221fc65a2ad043d 8300916: Re-examine the initialization of JNU Charset in StaticProperty Reviewed-by: mchung, alanb ! src/java.base/share/classes/java/nio/charset/Charset.java ! src/java.base/share/classes/jdk/internal/util/StaticProperty.java ! src/java.base/unix/classes/java/lang/ProcessEnvironment.java ! src/java.base/unix/classes/java/lang/ProcessImpl.java Changeset: a91143cc Author: Leonid Mesnik Date: 2023-01-30 17:32:45 +0000 URL: https://git.openjdk.org/panama-foreign/commit/a91143cc93fe3810ecca4b04c9f81c1b967db0ed 8298907: nsk JDI tests pass if the debuggee failed to launch Reviewed-by: cjplummer, kevinw ! test/hotspot/jtreg/vmTestbase/nsk/jdi/BooleanType/_itself_/booleantype001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/BreakpointRequest/addInstanceFilter/instancefilter002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/BreakpointRequest/addInstanceFilter/instancefilter003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/BreakpointRequest/addThreadFilter/threadfilter002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/BreakpointRequest/addThreadFilter/threadfilter003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/BreakpointRequest/location/location001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ByteType/_itself_/bytetype001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/CharType/_itself_/chartype001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ClassLoaderReference/definedClasses/definedclasses001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ClassLoaderReference/visibleClasses/visibleclasses001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ClassPrepareRequest/addClassExclusionFilter/filter003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ClassPrepareRequest/addClassFilter_rt/filter_rt002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ClassPrepareRequest/addClassFilter_s/filter_s002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/DoubleType/_itself_/doubletype001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/Event/request/request001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventIterator/nextEvent/nextevent001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventQueue/remove/remove004.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventQueue/remove_l/remove_l004.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequest/addCountFilter/addcountfilter001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequest/disable/disable001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequest/disable/disable002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequest/enable/enable001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequest/enable/enable002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequest/getProperty/getproperty001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequest/isEnabled/isenabled001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequest/putProperty/putproperty001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequest/setEnabled/setenabled001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequest/setEnabled/setenabled002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequest/setEnabled/setenabled003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequest/setSuspendPolicy/setsuspendpolicy001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequest/suspendPolicy/suspendpolicy001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/accessWatchpointRequests/accwtchpreq002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/breakpointRequests/breakpreq002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/classPrepareRequests/clsprepreq002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/classUnloadRequests/clsunlreq002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/createAccessWatchpointRequest/craccwtchpreq003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/createBreakpointRequest/crbreakpreq003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/createClassPrepareRequest/cpreg001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/createClassUnloadRequest/cureg001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/createExceptionRequest/crexreq009.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/createExceptionRequest/crexreq010.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/createMethodEntryRequest/menreg001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/createMethodExitRequest/mexreg001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/createModificationWatchpointRequest/crmodwtchpreq003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/createStepRequest/crstepreq002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/createThreadDeathRequest/tdreg001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/createThreadStartRequest/tsreg001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/createVMDeathRequest/vmdreg001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/deleteAllBreakpoints/delallbreakp002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/deleteEventRequest/delevtreq002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/deleteEventRequests/delevtreqs002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/exceptionRequests/excreq002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/methodEntryRequests/methentreq002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/methodExitRequests/methexitreq002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/modificationWatchpointRequests/modwtchpreq002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/stepRequests/stepreq002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/threadDeathRequests/thrdeathreq002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/threadStartRequests/thrstartreq002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/vmDeathRequests/vmdeathreq001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/eventIterator/eventiterator001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/eventIterator/eventiterator002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/eventIterator/eventiterator003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/eventIterator/eventiterator004.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/resume/resume002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/resume/resume003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/resume/resume004.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/resume/resume005.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/resume/resume006.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/resume/resume007.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/resume/resume010.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/resume/resume011.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/resume/resume012.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/resume/resume013.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/suspendPolicy/suspendpolicy001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/suspendPolicy/suspendpolicy002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/suspendPolicy/suspendpolicy003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/suspendPolicy/suspendpolicy004.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/suspendPolicy/suspendpolicy005.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/suspendPolicy/suspendpolicy006.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/suspendPolicy/suspendpolicy007.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/suspendPolicy/suspendpolicy008.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/suspendPolicy/suspendpolicy009.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/suspendPolicy/suspendpolicy010.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/suspendPolicy/suspendpolicy011.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/suspendPolicy/suspendpolicy012.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/suspendPolicy/suspendpolicy013.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/suspendPolicy/suspendpolicy014.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/suspendPolicy/suspendpolicy015.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/suspendPolicy/suspendpolicy016.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/suspendPolicy/suspendpolicy017.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/suspendPolicy/suspendpolicy018.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ExceptionRequest/addClassExclusionFilter/filter002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ExceptionRequest/addClassFilter_rt/filter_rt002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ExceptionRequest/addClassFilter_s/filter_s002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ExceptionRequest/addInstanceFilter/instancefilter002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ExceptionRequest/addInstanceFilter/instancefilter003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ExceptionRequest/addThreadFilter/threadfilter002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ExceptionRequest/addThreadFilter/threadfilter003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ExceptionRequest/exception/exception001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ExceptionRequest/notifyCaught/notifycaught001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ExceptionRequest/notifyUncaught/notifyuncaught001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/FloatType/_itself_/floattype001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/IntegerType/_itself_/integertype001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/LocatableEvent/thread/thread001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/LongType/_itself_/longtype001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/Method/isObsolete/isobsolete001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/Method/isObsolete/isobsolete002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/MethodEntryRequest/addClassExclusionFilter/filter002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/MethodEntryRequest/addClassFilter_rt/filter_rt002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/MethodEntryRequest/addClassFilter_s/filter_s002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/MethodEntryRequest/addInstanceFilter/instancefilter002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/MethodEntryRequest/addInstanceFilter/instancefilter003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/MethodEntryRequest/addThreadFilter/threadfilter002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/MethodEntryRequest/addThreadFilter/threadfilter003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/MethodExitRequest/addClassExclusionFilter/filter002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/MethodExitRequest/addClassFilter_rt/filter_rt002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/MethodExitRequest/addClassFilter_s/filter_s002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/MethodExitRequest/addInstanceFilter/instancefilter002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/MethodExitRequest/addInstanceFilter/instancefilter003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/MethodExitRequest/addThreadFilter/threadfilter002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/MethodExitRequest/addThreadFilter/threadfilter003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ModificationWatchpointEvent/_itself_/mwevent001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/disableCollection/disablecollection002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/PathSearchingVirtualMachine/classPath/classpath001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/PrimitiveType/_itself_/primitivetype001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ReferenceType/classLoader/classloader001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ReferenceType/getValue/getvalue001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ReferenceType/getValue/getvalue002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ReferenceType/getValue/getvalue003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ReferenceType/getValues/getvalues001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ReferenceType/isStatic/isstatic001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ReferenceType/isStatic/isstatic002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ShortType/_itself_/shorttype001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/StepRequest/addClassExclusionFilter/filter002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/StepRequest/addClassFilter_rt/filter_rt002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/StepRequest/addClassFilter_s/filter_s002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/StepRequest/addInstanceFilter/instancefilter002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/StepRequest/addInstanceFilter/instancefilter003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/StepRequest/depth/depth001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/StepRequest/depth/depth002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/StepRequest/depth/depth003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/StepRequest/size/size001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/StepRequest/size/size002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/StepRequest/thread/thread001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ThreadDeathRequest/addThreadFilter/addthreadfilter001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ThreadDeathRequest/addThreadFilter/addthreadfilter002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ThreadDeathRequest/addThreadFilter/addthreadfilter003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ThreadDeathRequest/addThreadFilter/addthreadfilter005.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ThreadReference/popFrames/popframes001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ThreadReference/popFrames/popframes002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ThreadReference/popFrames/popframes003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ThreadReference/popFrames/popframes004.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ThreadReference/popFrames/popframes005.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ThreadStartRequest/addThreadFilter/addthreadfilter001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ThreadStartRequest/addThreadFilter/addthreadfilter002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ThreadStartRequest/addThreadFilter/addthreadfilter003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ThreadStartRequest/addThreadFilter/addthreadfilter005.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/VMDeathEvent/_itself_/vmdeath002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/VMDeathEvent/_itself_/vmdeath003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachine/canAddMethod/canaddmethod001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachine/canPopFrames/canpopframes001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachine/canRedefineClasses/canredefineclasses001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachine/canRequestVMDeathEvent/canreqvmdev001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachine/canUnrestrictedlyRedefineClasses/curc001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachine/canUseInstanceFilters/canusefilters001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachine/canWatchFieldAccess/canwatchaccess001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachine/canWatchFieldModification/canwatchmod001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachine/redefineClasses/redefineclasses001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/VoidType/_itself_/voidtype001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/WatchpointRequest/addClassExclusionFilter/filter003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/WatchpointRequest/addClassExclusionFilter/filter004.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/WatchpointRequest/addClassFilter_rt/filter_rt003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/WatchpointRequest/addClassFilter_rt/filter_rt004.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/WatchpointRequest/addClassFilter_s/filter_s003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/WatchpointRequest/addClassFilter_s/filter_s004.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/WatchpointRequest/addInstanceFilter/instancefilter003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/WatchpointRequest/addInstanceFilter/instancefilter004.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/WatchpointRequest/addInstanceFilter/instancefilter005.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/WatchpointRequest/addInstanceFilter/instancefilter006.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/WatchpointRequest/addThreadFilter/addthreadfilter003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/WatchpointRequest/addThreadFilter/addthreadfilter004.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/WatchpointRequest/addThreadFilter/addthreadfilter005.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/WatchpointRequest/addThreadFilter/addthreadfilter006.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/WatchpointRequest/field/field001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/WatchpointRequest/field/field002.java ! test/hotspot/jtreg/vmTestbase/nsk/share/jdi/JDIBase.java Changeset: a128a5d0 Author: Chris Plummer Date: 2023-01-30 19:08:08 +0000 URL: https://git.openjdk.org/panama-foreign/commit/a128a5d07c3b5d710316aab0c02ccaec4872dc22 8300810: Get rid of unused JDI removeListener() methods Reviewed-by: kevinw, amenkov ! src/jdk.jdi/share/classes/com/sun/tools/jdi/ThreadReferenceImpl.java ! src/jdk.jdi/share/classes/com/sun/tools/jdi/VMState.java Changeset: b84f4c40 Author: Erik Joelsson Date: 2023-01-30 20:18:59 +0000 URL: https://git.openjdk.org/panama-foreign/commit/b84f4c40fde2f0ca313b4660b88b308c54a0ad5a 8301267: Update of config.guess broke build on WSL Reviewed-by: tbell, jvernee, djelinski ! make/autoconf/build-aux/config.guess Changeset: 63bb2ce8 Author: Joe Darcy Date: 2023-01-30 20:33:01 +0000 URL: https://git.openjdk.org/panama-foreign/commit/63bb2ce8debdeb7f34bda9a3845fe93cb4d741dd 8301205: Port fdlibm log10 to Java Reviewed-by: bpb ! src/java.base/share/classes/java/lang/FdLibm.java ! src/java.base/share/classes/java/lang/StrictMath.java ! test/jdk/java/lang/StrictMath/FdlibmTranslit.java ! test/jdk/java/lang/StrictMath/Log10Tests.java Changeset: ef6200c7 Author: Damon Nguyen Committer: Alexander Zuev Date: 2023-01-27 23:09:14 +0000 URL: https://git.openjdk.org/panama-foreign/commit/ef6200c727332796d2e1c8ae3bfa155cbaa72f4c 8300269: The selected item in an editable JComboBox with titled border is not visible in Aqua LAF Co-authored-by: Manukumar V S Reviewed-by: psadhukhan, kizune, achung, prr ! src/java.desktop/macosx/classes/com/apple/laf/AquaComboBoxUI.java + test/jdk/javax/swing/JComboBox/JComboBoxWithTitledBorderTest.java Changeset: 561a25e0 Author: Jesper Wilhelmsson Date: 2023-01-30 20:51:54 +0000 URL: https://git.openjdk.org/panama-foreign/commit/561a25e0250fde55eb0af7beb5dc064ef8321f9e Merge Changeset: 2d7690b2 Author: Mandy Chung Date: 2023-01-30 22:39:55 +0000 URL: https://git.openjdk.org/panama-foreign/commit/2d7690b2e5b224bf2232c7cecf51cad8b0c078b3 8301207: (jdeps) Deprecate jdeps -profile option Reviewed-by: alanb ! src/jdk.jdeps/share/classes/com/sun/tools/jdeps/JdepsTask.java ! src/jdk.jdeps/share/classes/com/sun/tools/jdeps/resources/jdeps.properties Changeset: 622b6594 Author: Christian Wimmer Committer: Peter Levart Date: 2023-01-30 23:33:11 +0000 URL: https://git.openjdk.org/panama-foreign/commit/622b6594d1435e8773ec16d00d48e1f582065bd8 8262994: Refactor String.split to help method inlining Reviewed-by: plevart ! src/java.base/share/classes/java/lang/String.java Changeset: aa349244 Author: Fei Yang Date: 2023-01-31 00:10:42 +0000 URL: https://git.openjdk.org/panama-foreign/commit/aa3492442bb89f84c6427ced0bd687d6a10839cf 8300463: Build failure on Windows 32 after JDK-8296401 Reviewed-by: kbarrett ! src/hotspot/share/utilities/concurrentHashTable.inline.hpp Changeset: a6867a7e Author: Justin King Committer: Tobias Hartmann Date: 2023-01-31 06:34:45 +0000 URL: https://git.openjdk.org/panama-foreign/commit/a6867a7ec28ff1eac73a959af481a3a725c8dadd 8301378: CodeHeap has virtual methods that are not overridden Reviewed-by: kvn, thartmann ! src/hotspot/share/memory/heap.hpp Changeset: 7b3919d3 Author: Tobias Hartmann Date: 2023-01-31 06:46:47 +0000 URL: https://git.openjdk.org/panama-foreign/commit/7b3919d3f5efa87f473ba6cc9d8284937ac3aaea 8301346: Remove dead emit_entry_barrier_stub definition Reviewed-by: chagedorn, kvn ! src/hotspot/cpu/aarch64/c2_MacroAssembler_aarch64.hpp ! src/hotspot/cpu/arm/c2_MacroAssembler_arm.hpp ! src/hotspot/cpu/ppc/c2_MacroAssembler_ppc.hpp ! src/hotspot/cpu/riscv/c2_MacroAssembler_riscv.hpp ! src/hotspot/cpu/s390/c2_MacroAssembler_s390.hpp ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.hpp Changeset: 4b0e259d Author: Albert Mingkun Yang Date: 2023-01-31 07:10:13 +0000 URL: https://git.openjdk.org/panama-foreign/commit/4b0e259d1651c2131031e581fdc0482858325081 8301344: G1: Remove DirtyCardToOopClosure forward declaration in g1OopClosures.hpp Reviewed-by: tschatzl ! src/hotspot/share/gc/g1/g1OopClosures.hpp Changeset: 633e291c Author: Feilong Jiang Committer: Fei Yang Date: 2023-01-31 07:15:37 +0000 URL: https://git.openjdk.org/panama-foreign/commit/633e291cfc9129ca28643b3a6fcb72294d2ef767 8301067: RISC-V: better error message when reporting unsupported satp modes Reviewed-by: fyang, yadongwang ! src/hotspot/cpu/riscv/vm_version_riscv.cpp Changeset: 9cc0171e Author: Feilong Jiang Committer: Fei Yang Date: 2023-01-31 07:28:33 +0000 URL: https://git.openjdk.org/panama-foreign/commit/9cc0171ed51eef0deb63fe3a5923bae9cf0f5ff0 8301153: RISC-V: pipeline class for several instructions is not set correctly Reviewed-by: fyang, yadongwang ! src/hotspot/cpu/riscv/riscv.ad Changeset: cdb4ba96 Author: Axel Boldt-Christmas Date: 2023-01-31 07:54:20 +0000 URL: https://git.openjdk.org/panama-foreign/commit/cdb4ba9657ceae426281ead96aa4a125c7b97e6f 8301326: Optimize compiler/uncommontrap/TestDeoptOOM.java test Reviewed-by: rcastanedalo, thartmann ! test/hotspot/jtreg/compiler/uncommontrap/TestDeoptOOM.java Changeset: 33e653e2 Author: Tobias Hartmann Date: 2023-01-31 07:55:52 +0000 URL: https://git.openjdk.org/panama-foreign/commit/33e653e284a430429ff9c286a069cf1beb822859 8301448: [BACKOUT] CodeHeap has virtual methods that are not overridden Reviewed-by: alanb, dholmes ! src/hotspot/share/memory/heap.hpp Changeset: 810c8a27 Author: Matthias Baesken Date: 2023-01-31 08:20:52 +0000 URL: https://git.openjdk.org/panama-foreign/commit/810c8a271b4524ae776e2306ef699e04a7d145a2 8301170: perfMemory_windows.cpp add free_security_attr to early returns Reviewed-by: stuefe, dholmes ! src/hotspot/os/windows/perfMemory_windows.cpp Changeset: d583767b Author: Aleksey Shipilev Date: 2023-01-31 11:06:47 +0000 URL: https://git.openjdk.org/panama-foreign/commit/d583767bf17aea55d361a1d1713444fc41fa9911 8301338: Identical branch conditions in CompileBroker::print_heapinfo Reviewed-by: thartmann ! src/hotspot/share/compiler/compileBroker.cpp Changeset: 419409bc Author: Robbin Ehn Date: 2023-01-31 11:41:16 +0000 URL: https://git.openjdk.org/panama-foreign/commit/419409bcf639e121286dff134b9e93e0528eacf5 8301337: Remove unused os::_polling_page Reviewed-by: coleenp, dnsimon ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/runtime/os.cpp ! src/hotspot/share/runtime/os.hpp ! src/hotspot/share/runtime/vmStructs.cpp Changeset: 90ec19ef Author: Johan Sj?len Date: 2023-01-31 12:19:42 +0000 URL: https://git.openjdk.org/panama-foreign/commit/90ec19efeda90f13a918b4481fe6ee552ab2af66 8301068: Replace NULL with nullptr in share/jvmci/ Reviewed-by: kvn, never ! src/hotspot/share/jvmci/jvmci.cpp ! src/hotspot/share/jvmci/jvmci.hpp ! src/hotspot/share/jvmci/jvmciCodeInstaller.cpp ! src/hotspot/share/jvmci/jvmciCompiler.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVM.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVMInit.cpp ! src/hotspot/share/jvmci/jvmciEnv.cpp ! src/hotspot/share/jvmci/jvmciEnv.hpp ! src/hotspot/share/jvmci/jvmciExceptions.hpp ! src/hotspot/share/jvmci/jvmciJavaClasses.cpp ! src/hotspot/share/jvmci/jvmciJavaClasses.hpp ! src/hotspot/share/jvmci/jvmciObject.hpp ! src/hotspot/share/jvmci/jvmciRuntime.cpp ! src/hotspot/share/jvmci/jvmciRuntime.hpp ! src/hotspot/share/jvmci/jvmci_globals.cpp ! src/hotspot/share/jvmci/jvmci_globals.hpp ! src/hotspot/share/jvmci/metadataHandles.cpp ! src/hotspot/share/jvmci/metadataHandles.hpp ! src/hotspot/share/jvmci/vmStructs_jvmci.hpp Changeset: b76a52f2 Author: Johan Sj?len Date: 2023-01-31 14:22:44 +0000 URL: https://git.openjdk.org/panama-foreign/commit/b76a52f2104b63e84e5d09f47ce01dd0cb3935d7 8301076: Replace NULL with nullptr in share/prims/ Reviewed-by: kbarrett, dholmes ! src/hotspot/share/prims/foreignGlobals.inline.hpp ! src/hotspot/share/prims/forte.cpp ! src/hotspot/share/prims/jni.cpp ! src/hotspot/share/prims/jniCheck.cpp ! src/hotspot/share/prims/jniCheck.hpp ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/prims/jvmtiClassFileReconstituter.cpp ! src/hotspot/share/prims/jvmtiClassFileReconstituter.hpp ! src/hotspot/share/prims/jvmtiCodeBlobEvents.cpp ! src/hotspot/share/prims/jvmtiDeferredUpdates.cpp ! src/hotspot/share/prims/jvmtiDeferredUpdates.hpp ! src/hotspot/share/prims/jvmtiEnv.cpp ! src/hotspot/share/prims/jvmtiEnvBase.cpp ! src/hotspot/share/prims/jvmtiEnvBase.hpp ! src/hotspot/share/prims/jvmtiEnvThreadState.cpp ! src/hotspot/share/prims/jvmtiEnvThreadState.hpp ! src/hotspot/share/prims/jvmtiEventController.cpp ! src/hotspot/share/prims/jvmtiEventController.hpp ! src/hotspot/share/prims/jvmtiExport.cpp ! src/hotspot/share/prims/jvmtiExport.hpp ! src/hotspot/share/prims/jvmtiExtensions.cpp ! src/hotspot/share/prims/jvmtiGetLoadedClasses.cpp ! src/hotspot/share/prims/jvmtiImpl.cpp ! src/hotspot/share/prims/jvmtiImpl.hpp ! src/hotspot/share/prims/jvmtiRawMonitor.cpp ! src/hotspot/share/prims/jvmtiRedefineClasses.cpp ! src/hotspot/share/prims/jvmtiRedefineClasses.hpp ! src/hotspot/share/prims/jvmtiTagMap.cpp ! src/hotspot/share/prims/jvmtiTagMapTable.cpp ! src/hotspot/share/prims/jvmtiTagMapTable.hpp ! src/hotspot/share/prims/jvmtiThreadState.cpp ! src/hotspot/share/prims/jvmtiThreadState.hpp ! src/hotspot/share/prims/jvmtiThreadState.inline.hpp ! src/hotspot/share/prims/jvmtiTrace.cpp ! src/hotspot/share/prims/jvmtiUtil.cpp ! src/hotspot/share/prims/jvmtiUtil.hpp ! src/hotspot/share/prims/methodHandles.cpp ! src/hotspot/share/prims/nativeLookup.cpp ! src/hotspot/share/prims/perf.cpp ! src/hotspot/share/prims/resolvedMethodTable.cpp ! src/hotspot/share/prims/scopedMemoryAccess.cpp ! src/hotspot/share/prims/stackwalk.cpp ! src/hotspot/share/prims/stackwalk.hpp ! src/hotspot/share/prims/unsafe.cpp ! src/hotspot/share/prims/upcallLinker.cpp ! src/hotspot/share/prims/vectorSupport.cpp ! src/hotspot/share/prims/whitebox.cpp Changeset: 60c535de Author: Albert Mingkun Yang Date: 2023-01-31 16:09:48 +0000 URL: https://git.openjdk.org/panama-foreign/commit/60c535de49f6140887ab3eaaa7098b22737114a2 8301340: Make DirtyCardToOopClosure stack-allocated Reviewed-by: stefank, tschatzl ! src/hotspot/share/gc/shared/cardTableRS.cpp ! src/hotspot/share/gc/shared/space.cpp ! src/hotspot/share/gc/shared/space.hpp ! src/hotspot/share/memory/memRegion.hpp Changeset: e193a0b7 Author: Calvin Cheung Date: 2023-01-31 16:51:45 +0000 URL: https://git.openjdk.org/panama-foreign/commit/e193a0b72a143889170b64da19fb22f7f8555e89 8295951: intermittent cmp_baseline task failures with CDS files Reviewed-by: iklam ! make/jdk/src/classes/build/tools/classlist/HelloClasslist.java Changeset: 5744c91b Author: Vicente Romero Date: 2023-01-31 17:01:14 +0000 URL: https://git.openjdk.org/panama-foreign/commit/5744c91bf5742379913a9926a5d70a2d49dbea04 8297158: Suspicious collection method call in Types.isSameTypeVisitor Reviewed-by: jlahoda ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Types.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TypeEnter.java Changeset: e1bf4713 Author: Coleen Phillimore Date: 2023-01-31 18:06:14 +0000 URL: https://git.openjdk.org/panama-foreign/commit/e1bf4713124cfb3ce325e5f7677be7de0a532d17 8301555: Remove constantPoolCacheKlass friend Reviewed-by: fparain, kbarrett ! src/hotspot/share/oops/cpCache.hpp Changeset: 4bef233a Author: Coleen Phillimore Date: 2023-01-31 18:07:15 +0000 URL: https://git.openjdk.org/panama-foreign/commit/4bef233a4af3bd06f8f17d70eda50ea45fb9c82c 8301549: Fix comment about ClassCircularityError Reviewed-by: lfoltan ! src/hotspot/share/classfile/systemDictionary.cpp Changeset: 6beadbbe Author: Vicente Romero Date: 2023-01-31 18:20:11 +0000 URL: https://git.openjdk.org/panama-foreign/commit/6beadbbe9f0721fbdfc48e6f2c14aa6dab982be0 8293519: deprecation warnings should be emitted for uses of annotation methods inside other annotations Reviewed-by: jlahoda ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Annotate.java + test/langtools/tools/javac/annotations/DeprecationWarningTest.java + test/langtools/tools/javac/annotations/DeprecationWarningTest.out Changeset: 09bfbf80 Author: Bill Huang Date: 2023-01-31 22:12:07 +0000 URL: https://git.openjdk.org/panama-foreign/commit/09bfbf80639f059563fcd4432995b8c380cea298 8300909: Update com/sun/jndi/dns/Test6991580.java manual test instruction Reviewed-by: alanb ! test/jdk/com/sun/jndi/dns/Test6991580.java Changeset: 8164cfbc Author: Deepa Kumari Committer: Thomas Stuefe Date: 2023-02-01 07:04:26 +0000 URL: https://git.openjdk.org/panama-foreign/commit/8164cfbc0373e57619e18324931f0946b51ae18f 8300696: [AIX] AttachReturnError fails Reviewed-by: tsteele, dholmes ! src/hotspot/os/posix/os_posix.cpp Changeset: d269ebba Author: David Holmes Date: 2023-02-01 07:56:21 +0000 URL: https://git.openjdk.org/panama-foreign/commit/d269ebbad2286b57802a075091b0cc32110dfcc7 8301570: Test runtime/jni/nativeStack/ needs to detach the native thread Co-authored-by: Calvin Cheung Reviewed-by: lmesnik, ccheung ! test/hotspot/jtreg/runtime/jni/nativeStack/libnativeStack.c Changeset: a0aed9bd Author: Albert Mingkun Yang Date: 2023-02-01 09:45:16 +0000 URL: https://git.openjdk.org/panama-foreign/commit/a0aed9bd89f0d56ff75d02a836a304052b1e0606 8301459: Serial: Merge KeepAliveClosure into FastKeepAliveClosure Reviewed-by: stefank, tschatzl ! src/hotspot/share/gc/serial/defNewGeneration.cpp ! src/hotspot/share/gc/serial/defNewGeneration.hpp ! src/hotspot/share/gc/serial/defNewGeneration.inline.hpp Changeset: 4f6f3cc6 Author: Albert Mingkun Yang Date: 2023-02-01 09:46:02 +0000 URL: https://git.openjdk.org/panama-foreign/commit/4f6f3cc642d95c5a2a8068b6dc07cca4fda74bc9 8301446: Remove unused includes of gc/shared/genOopClosures Reviewed-by: stefank, kbarrett ! src/hotspot/cpu/ppc/disassembler_ppc.cpp ! src/hotspot/cpu/s390/disassembler_s390.cpp ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/g1/heapRegion.cpp ! src/hotspot/share/gc/shared/generation.cpp Changeset: ef0d0a70 Author: Axel Boldt-Christmas Date: 2023-02-01 09:47:15 +0000 URL: https://git.openjdk.org/panama-foreign/commit/ef0d0a7092df7b3ce098fb25860fb839fd34c944 8301402: os::print_location gets is_global_handle assert Reviewed-by: coleenp, dholmes ! src/hotspot/share/runtime/jniHandles.cpp Changeset: 2a8ae2ff Author: Roland Westrelin Date: 2023-02-01 09:48:54 +0000 URL: https://git.openjdk.org/panama-foreign/commit/2a8ae2ff1c95cb75f315eb5340bff2b46409d1ae 8300256: C2: vectorization is sometimes skipped on loops where it would succeed Reviewed-by: kvn, thartmann ! src/hotspot/share/opto/loopTransform.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/loopnode.hpp ! src/hotspot/share/opto/superword.cpp + test/hotspot/jtreg/compiler/c2/irTests/TestVectorizationNotRun.java Changeset: 969f6a37 Author: Claes Redestad Date: 2023-02-01 10:55:43 +0000 URL: https://git.openjdk.org/panama-foreign/commit/969f6a37e4649079c7acea1952f5537fd9ba2f0a 8301093: C2 fails assert(ctrl == kit.control()) failed: Control flow was added although the intrinsic bailed out Reviewed-by: thartmann, kvn ! src/hotspot/share/opto/library_call.cpp + test/hotspot/jtreg/compiler/intrinsics/TestArraysHashCode.java Changeset: cae577a7 Author: Tobias Hartmann Date: 2023-02-01 11:15:35 +0000 URL: https://git.openjdk.org/panama-foreign/commit/cae577a7102e97278f3f6880e529a68c1f7b71ab 8295486: Inconsistent constant field values observed during compilation Reviewed-by: chagedorn, kvn, jbhateja, vlivanov ! src/hotspot/share/ci/ciArray.cpp ! src/hotspot/share/ci/ciConstant.cpp ! src/hotspot/share/ci/ciConstant.hpp ! src/hotspot/share/ci/ciField.cpp ! src/hotspot/share/ci/ciInstance.cpp ! src/hotspot/share/ci/ciObject.cpp ! src/hotspot/share/ci/ciObject.hpp ! src/hotspot/share/opto/phaseX.cpp ! src/hotspot/share/opto/phaseX.hpp ! src/hotspot/share/opto/type.cpp + test/hotspot/jtreg/compiler/stable/TestUnstableStable.java Changeset: 7c6a8db3 Author: Justin King Committer: Tobias Hartmann Date: 2023-02-01 13:11:12 +0000 URL: https://git.openjdk.org/panama-foreign/commit/7c6a8db328e386b33b9b7a61fccabaec9a17dc66 8301447: [REDO] CodeHeap has virtual methods that are not overridden Reviewed-by: kvn, thartmann ! src/hotspot/share/memory/heap.hpp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/code/CodeCache.java Changeset: bc750f70 Author: ryawalla Committer: Sean Mullan Date: 2023-02-01 13:50:40 +0000 URL: https://git.openjdk.org/panama-foreign/commit/bc750f70f2ac1f14f5b8e6236c593dcbe99cb12f 8294527: Some java.security.debug options missing from security docs Reviewed-by: mullan ! src/java.base/share/classes/sun/security/util/Debug.java Changeset: 3361a26d Author: Matthew Donovan Committer: Rajan Halade Date: 2023-02-01 17:20:24 +0000 URL: https://git.openjdk.org/panama-foreign/commit/3361a26df4dafa134181263cc5c81bda6ba8d21e 8298874: Update TestAllSuites.java for TLS v1.2 and 1.3 Reviewed-by: rhalade ! test/jdk/ProblemList.txt ! test/jdk/javax/net/ssl/SSLEngine/TestAllSuites.java ! test/lib/jdk/test/lib/security/SecurityUtils.java Changeset: 24ff3da0 Author: Jonathan Gibbons Date: 2023-02-01 18:28:42 +0000 URL: https://git.openjdk.org/panama-foreign/commit/24ff3da0543dc9e4c20594a7ff19e4b9eb1a6a1f 8301201: Allow \n@ inside inline tags using inlineContent Reviewed-by: hannesw ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/DocCommentParser.java ! test/langtools/tools/javac/doctree/DocCommentTester.java ! test/langtools/tools/javac/doctree/IndexTest.java ! test/langtools/tools/javac/doctree/TagTest.java Changeset: 99521087 Author: Chris Plummer Date: 2023-02-01 18:59:09 +0000 URL: https://git.openjdk.org/panama-foreign/commit/995210873497eb2400b7672096e6f3cac7fde9a6 8300811: jdb ThreadStartRequest and ThreadDeathRequest should use SUSPEND_NONE instead of SUSPEND_ALL Reviewed-by: alanb, sspitsyn ! src/jdk.jdi/share/classes/com/sun/tools/example/debug/tty/VMConnection.java Changeset: 51ac8783 Author: Mandy Chung Date: 2023-02-01 20:27:20 +0000 URL: https://git.openjdk.org/panama-foreign/commit/51ac8783b951258cb05f899e1f84fdf1d184bc03 8284236: Remove java/lang/ref/ReferenceEnqueue.java from ProblemList-Xcomp.txt Reviewed-by: alanb ! test/jdk/ProblemList-Xcomp.txt Changeset: 6c927c92 Author: Weijun Wang Date: 2023-02-01 20:59:05 +0000 URL: https://git.openjdk.org/panama-foreign/commit/6c927c92f7bd01e6b34c1348594b8dff6e760a24 8301299: Wrong class spec on sun.security.util.Pem Reviewed-by: jnimeh ! src/java.base/share/classes/sun/security/util/Pem.java Changeset: 960c3931 Author: Erik Joelsson Date: 2023-02-01 21:04:41 +0000 URL: https://git.openjdk.org/panama-foreign/commit/960c3931337b314417ad33d8a775ee3e251692d7 8301393: Include cdb in the Windows devkit Reviewed-by: mikael ! make/conf/jib-profiles.js ! make/devkit/createWindowsDevkit.sh Changeset: 225f8053 Author: Kevin Walls Date: 2023-02-01 09:14:25 +0000 URL: https://git.openjdk.org/panama-foreign/commit/225f80532cbeb1597c7f5d660e67d4fa4248c83f 8299891: JMX ObjectInputFilter additional classes needed Reviewed-by: dfuchs, sspitsyn, cjplummer ! src/jdk.management.agent/share/conf/management.properties ! test/jdk/javax/management/remote/mandatory/connection/DefaultAgentFilterTest.java Changeset: 1330d4ea Author: Stefan Karlsson Date: 2023-02-01 13:19:26 +0000 URL: https://git.openjdk.org/panama-foreign/commit/1330d4eaa54790b468f69e61574b3c5d522be120 8298377: JfrVframeStream causes deadlocks in ZGC Backport-of: 453dbd12ee42731d7ebfd1a856338099429277c8 ! src/hotspot/share/jfr/periodic/sampling/jfrThreadSampler.cpp ! src/hotspot/share/jfr/recorder/stacktrace/jfrStackTrace.cpp Changeset: d6832121 Author: Jesper Wilhelmsson Date: 2023-02-01 22:36:07 +0000 URL: https://git.openjdk.org/panama-foreign/commit/d6832121b718d40df263da6e2f9261dee2c4c508 Merge Changeset: 8d6e8a47 Author: Pavel Rappo Date: 2023-02-01 23:54:22 +0000 URL: https://git.openjdk.org/panama-foreign/commit/8d6e8a47c94ad72d380b72b421d9a27d59e6ce33 8301618: Compare elements and type mirrors properly Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/MemberSummaryBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/SerializedFormBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/VisibleMemberTable.java Changeset: af474ce3 Author: Roland Westrelin Date: 2023-02-02 08:29:19 +0000 URL: https://git.openjdk.org/panama-foreign/commit/af474ce35997315774e408f2e8a1beecf8349c75 8297582: C2: very slow compilation due to type system verification code Reviewed-by: kvn, vlivanov ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/type.cpp ! src/hotspot/share/opto/type.hpp + test/hotspot/jtreg/compiler/types/TestArrayManyDimensions.java Changeset: b1e96989 Author: Johan Sj?len Date: 2023-02-02 09:22:00 +0000 URL: https://git.openjdk.org/panama-foreign/commit/b1e96989b693aadea082a01576e25f85ed28ff0d 8301506: Replace NULL with nullptr in os_cpu/linux_ppc Reviewed-by: kbarrett, rrich ! src/hotspot/os_cpu/linux_ppc/javaThread_linux_ppc.cpp ! src/hotspot/os_cpu/linux_ppc/os_linux_ppc.cpp Changeset: 13fcd602 Author: Johan Sj?len Date: 2023-02-02 09:22:48 +0000 URL: https://git.openjdk.org/panama-foreign/commit/13fcd602d37eb0095f169255128588b872639571 8301504: Replace NULL with nullptr in os_cpu/linux_aarch64 Reviewed-by: kbarrett ! src/hotspot/os_cpu/linux_aarch64/javaThread_linux_aarch64.cpp ! src/hotspot/os_cpu/linux_aarch64/os_linux_aarch64.cpp ! src/hotspot/os_cpu/linux_aarch64/vm_version_linux_aarch64.cpp Changeset: 6daff6b2 Author: Johan Sj?len Date: 2023-02-02 09:23:48 +0000 URL: https://git.openjdk.org/panama-foreign/commit/6daff6b26946748360d59a12e9069a08ab5ca06d 8301502: Replace NULL with nullptr in os_cpu/bsd_x86 Reviewed-by: tschatzl, dholmes ! src/hotspot/os_cpu/bsd_x86/javaThread_bsd_x86.cpp ! src/hotspot/os_cpu/bsd_x86/os_bsd_x86.cpp ! src/hotspot/os_cpu/bsd_x86/vm_version_bsd_x86.cpp Changeset: 5d1f71da Author: Johan Sj?len Date: 2023-02-02 09:24:30 +0000 URL: https://git.openjdk.org/panama-foreign/commit/5d1f71daf06870810c9ca24e911d6191cc4f3006 8301509: Replace NULL with nullptr in os_cpu/linux_x86 Reviewed-by: kbarrett ! src/hotspot/os_cpu/linux_x86/javaThread_linux_x86.cpp ! src/hotspot/os_cpu/linux_x86/os_linux_x86.cpp Changeset: 182d1b2f Author: Johan Sj?len Date: 2023-02-02 09:25:21 +0000 URL: https://git.openjdk.org/panama-foreign/commit/182d1b2fb7034b6e9177dc360cbea43d548c3ff0 8301507: Replace NULL with nullptr in os_cpu/linux_riscv Reviewed-by: kbarrett ! src/hotspot/os_cpu/linux_riscv/javaThread_linux_riscv.cpp ! src/hotspot/os_cpu/linux_riscv/os_linux_riscv.cpp ! src/hotspot/os_cpu/linux_riscv/vm_version_linux_riscv.cpp Changeset: c109dae4 Author: Johan Sj?len Date: 2023-02-02 09:26:26 +0000 URL: https://git.openjdk.org/panama-foreign/commit/c109dae48c61c6fbeacadf59d509d37d2c4d2bb8 8301513: Replace NULL with nullptr in os_cpu/windows_x86 Reviewed-by: kbarrett ! src/hotspot/os_cpu/windows_x86/assembler_windows_x86.cpp ! src/hotspot/os_cpu/windows_x86/javaThread_windows_x86.cpp ! src/hotspot/os_cpu/windows_x86/javaThread_windows_x86.hpp ! src/hotspot/os_cpu/windows_x86/os_windows_x86.cpp Changeset: 8cc399b6 Author: Johan Sj?len Date: 2023-02-02 09:27:30 +0000 URL: https://git.openjdk.org/panama-foreign/commit/8cc399b672c6ce08037685b3a3a2db3c53a87b50 8301503: Replace NULL with nullptr in os_cpu/bsd_zero Reviewed-by: kbarrett ! src/hotspot/os_cpu/bsd_zero/javaThread_bsd_zero.hpp ! src/hotspot/os_cpu/bsd_zero/os_bsd_zero.cpp Changeset: ad79e491 Author: Johan Sj?len Date: 2023-02-02 09:28:19 +0000 URL: https://git.openjdk.org/panama-foreign/commit/ad79e49141f063a61090eda69d96dc580db88949 8301512: Replace NULL with nullptr in os_cpu/windows_aarch64 Reviewed-by: kbarrett ! src/hotspot/os_cpu/windows_aarch64/javaThread_windows_aarch64.cpp ! src/hotspot/os_cpu/windows_aarch64/os_windows_aarch64.cpp ! src/hotspot/os_cpu/windows_aarch64/vm_version_windows_aarch64.cpp Changeset: 42a286a1 Author: Johan Sj?len Date: 2023-02-02 09:29:02 +0000 URL: https://git.openjdk.org/panama-foreign/commit/42a286a15862d9a05ea3477a9eeab46e7b33e599 8301511: Replace NULL with nullptr in os_cpu/linux_zero Reviewed-by: sgehwolf, dholmes ! src/hotspot/os_cpu/linux_zero/javaThread_linux_zero.cpp ! src/hotspot/os_cpu/linux_zero/javaThread_linux_zero.hpp ! src/hotspot/os_cpu/linux_zero/os_linux_zero.cpp Changeset: b81f0ff4 Author: Johan Sj?len Date: 2023-02-02 09:29:45 +0000 URL: https://git.openjdk.org/panama-foreign/commit/b81f0ff43ac8d1431f2f5dccb7499a3a1503823d 8301505: Replace NULL with nullptr in os_cpu/linux_arm Reviewed-by: kbarrett ! src/hotspot/os_cpu/linux_arm/javaThread_linux_arm.cpp ! src/hotspot/os_cpu/linux_arm/javaThread_linux_arm.hpp ! src/hotspot/os_cpu/linux_arm/os_linux_arm.cpp Changeset: 218223e4 Author: Johan Sj?len Date: 2023-02-02 09:30:28 +0000 URL: https://git.openjdk.org/panama-foreign/commit/218223e4a31d485935655cb3f186a752defd8fa8 8301501: Replace NULL with nullptr in os_cpu/bsd_aarch64 Reviewed-by: tschatzl, dholmes ! src/hotspot/os_cpu/bsd_aarch64/javaThread_bsd_aarch64.cpp ! src/hotspot/os_cpu/bsd_aarch64/os_bsd_aarch64.cpp ! src/hotspot/os_cpu/bsd_aarch64/vm_version_bsd_aarch64.cpp Changeset: c8307e37 Author: Johan Sj?len Date: 2023-02-02 09:31:24 +0000 URL: https://git.openjdk.org/panama-foreign/commit/c8307e37fdf4453cade84efc113d93dd14333fd0 8301500: Replace NULL with nullptr in os_cpu/aix_ppc Reviewed-by: tschatzl ! src/hotspot/os_cpu/aix_ppc/javaThread_aix_ppc.cpp ! src/hotspot/os_cpu/aix_ppc/os_aix_ppc.cpp Changeset: d097b5e6 Author: Johan Sj?len Date: 2023-02-02 09:32:42 +0000 URL: https://git.openjdk.org/panama-foreign/commit/d097b5e6285e1a59632211e006592fedf2047c09 8301508: Replace NULL with nullptr in os_cpu/linux_s390 Reviewed-by: kbarrett ! src/hotspot/os_cpu/linux_s390/javaThread_linux_s390.cpp ! src/hotspot/os_cpu/linux_s390/os_linux_s390.cpp Changeset: 7b6ac41a Author: Johan Sj?len Date: 2023-02-02 10:14:26 +0000 URL: https://git.openjdk.org/panama-foreign/commit/7b6ac41ab115f0fb715d32b19bec184ed53d0cd7 8286876: NMT.test_unaliged_block_address_vm_assert fails if using clang toolchain Reviewed-by: stuefe, gziemski ! src/hotspot/share/runtime/os.cpp ! src/hotspot/share/services/mallocHeader.hpp ! src/hotspot/share/services/mallocHeader.inline.hpp ! src/hotspot/share/services/mallocTracker.cpp ! src/hotspot/share/services/mallocTracker.hpp ! test/hotspot/gtest/nmt/test_nmt_cornercases.cpp Changeset: 03b23a1e Author: Aleksei Efimov Date: 2023-02-02 12:45:00 +0000 URL: https://git.openjdk.org/panama-foreign/commit/03b23a1e1bd724019ef4fdbee3463d0646329164 8301367: Add exception handler method to the BaseLdapServer Reviewed-by: jpai, vtewari, dfuchs ! test/jdk/com/sun/jndi/ldap/lib/BaseLdapServer.java Changeset: 21c1afbc Author: Axel Boldt-Christmas Date: 2023-02-02 14:04:22 +0000 URL: https://git.openjdk.org/panama-foreign/commit/21c1afbc3229e898146022935bc589bcf95aa1f7 8301612: OopLoadProxy constructor should be explicit Reviewed-by: stefank, jsjolen ! src/hotspot/share/oops/accessBackend.hpp Changeset: 5b1584b9 Author: Damon Fenacci Committer: Tobias Hartmann Date: 2023-02-02 14:33:28 +0000 URL: https://git.openjdk.org/panama-foreign/commit/5b1584b92c9a469dd5928ae9a795d5e823050229 8298880: VectorLogicalOpIdentityTest.java IR test incorrectly use avx3 instead of avx512 Reviewed-by: chagedorn, kvn, rcastanedalo ! test/hotspot/jtreg/compiler/vectorapi/VectorLogicalOpIdentityTest.java Changeset: 59b7fb1a Author: Christian Hagedorn Date: 2023-02-02 14:39:28 +0000 URL: https://git.openjdk.org/panama-foreign/commit/59b7fb1a91c594f98f06b28cb95310a38565397d 8300273: [IR framework] Handle message instead of bailing out Reviewed-by: thartmann, kvn ! src/hotspot/share/compiler/compileTask.cpp ! test/hotspot/jtreg/compiler/lib/ir_framework/TestFramework.java ! test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/IRMatcher.java - test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/AbstractLine.java - test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/Block.java - test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/BlockLine.java - test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/BlockOutputReader.java - test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/FileCorruptedException.java - test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/HotSpotPidFileParser.java ! test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/IREncodingParser.java + test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/IRMethodBuilder.java - test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/Line.java - test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/MethodCompilationParser.java + test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/TestClassParser.java ! test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/TestMethod.java + test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/TestMethods.java + test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/hotspot/CompilePhaseBlock.java + test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/hotspot/CompileQueueMessages.java + test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/hotspot/HotSpotPidFileParser.java + test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/hotspot/LoggedMethod.java + test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/hotspot/LoggedMethods.java + test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/hotspot/State.java + test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/hotspot/WriterThread.java + test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/hotspot/WriterThreads.java ! test/hotspot/jtreg/testlibrary_tests/ir_framework/tests/TestCheckedTests.java ! test/hotspot/jtreg/testlibrary_tests/ir_framework/tests/TestIRMatching.java ! test/hotspot/jtreg/testlibrary_tests/ir_framework/tests/TestPhaseIRMatching.java ! test/hotspot/jtreg/testlibrary_tests/ir_framework/tests/TestRunTests.java + test/hotspot/jtreg/testlibrary_tests/ir_framework/tests/TestSafepointWhilePrinting.java ! test/hotspot/jtreg/testlibrary_tests/ir_framework/tests/TestScenarios.java - test/hotspot/jtreg/testlibrary_tests/ir_framework/tests/Utils.java + test/hotspot/jtreg/testlibrary_tests/ir_framework/tests/safepoint_while_printing_hotspot_pid.log Changeset: 2d50c7d4 Author: Leonid Mesnik Date: 2023-02-02 15:10:27 +0000 URL: https://git.openjdk.org/panama-foreign/commit/2d50c7d477b4141d58ae4ad01c254cde03050373 8298979: Remove duplicated serviceability/jvmti/thread/GetAllThreads/allthr01/allthr01.java Reviewed-by: sspitsyn ! test/hotspot/jtreg/TEST.quick-groups ! test/hotspot/jtreg/serviceability/jvmti/thread/GetAllThreads/allthr01/allthr01.java ! test/hotspot/jtreg/serviceability/jvmti/thread/GetAllThreads/allthr01/liballthr01.cpp - test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetAllThreads/allthr001.java - test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetAllThreads/allthr001/TestDescription.java - test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetAllThreads/allthr001/allthr001.cpp - test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetAllThreads/allthr001/liballthr001.cpp - test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetAllThreads/allthr002.java - test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetAllThreads/allthr002/TestDescription.java - test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetAllThreads/allthr002/allthr002.cpp - test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetAllThreads/allthr002/liballthr002.cpp Changeset: 725d57b2 Author: Julian Waters Date: 2023-02-02 15:22:18 +0000 URL: https://git.openjdk.org/panama-foreign/commit/725d57b2e2b78c1536d8a4adae67b27a2c8aee21 8301659: Resolve initialization reordering issues on Windows for libawt and libsaproc Reviewed-by: dholmes, aivanov ! src/java.desktop/windows/native/libawt/windows/GDIHashtable.cpp ! src/jdk.hotspot.agent/windows/native/libsaproc/sawindbg.cpp Changeset: 930ec008 Author: Jonathan Gibbons Date: 2023-02-02 15:24:49 +0000 URL: https://git.openjdk.org/panama-foreign/commit/930ec008e00ea83b3d6ca21631d0cc15c9a3f4d8 8301636: Minor cleanup in CommentHelper and DocPretty Reviewed-by: prappo ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/DocPretty.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/CommentHelper.java Changeset: de577332 Author: Chris Plummer Date: 2023-02-02 16:58:48 +0000 URL: https://git.openjdk.org/panama-foreign/commit/de5773325d15ebefde80cb1bef734c50343958b8 8301644: com/sun/jdi/JdbStopThreadTest.java fails after JDK-8300811 Reviewed-by: amenkov, kevinw ! test/jdk/com/sun/jdi/JdbStopThreadTest.java Changeset: c647ae6c Author: Albert Mingkun Yang Date: 2023-02-02 17:41:52 +0000 URL: https://git.openjdk.org/panama-foreign/commit/c647ae6c326ca9b712e01d2062196aaed3c6036b 8301149: Parallel: Refactor MutableNUMASpace::update_layout Reviewed-by: tschatzl, lkorinth, iveresov ! src/hotspot/share/gc/parallel/mutableNUMASpace.cpp ! src/hotspot/share/gc/parallel/mutableNUMASpace.hpp Changeset: cf6b9eb8 Author: Dr Heinz M. Kabutz Committer: Tagir F. Valeev Date: 2023-02-02 18:28:47 +0000 URL: https://git.openjdk.org/panama-foreign/commit/cf6b9eb8c8cca4a54fbd97fb073eafc1b8835099 8301637: ThreadLocalRandom.current().doubles().parallel() contention Reviewed-by: alanb ! src/java.base/share/classes/java/util/concurrent/ThreadLocalRandom.java Changeset: f696785f Author: Raffaello Giulietti Date: 2023-02-02 19:10:42 +0000 URL: https://git.openjdk.org/panama-foreign/commit/f696785fd3bc5b27c06260088a2e0ce520e12142 8300869: Make use of the Double.toString(double) algorithm in java.util.Formatter Reviewed-by: darcy, naoto ! src/java.base/share/classes/java/util/Formatter.java ! src/java.base/share/classes/jdk/internal/math/DoubleToDecimal.java + src/java.base/share/classes/jdk/internal/math/FormattedFPDecimal.java - src/java.base/share/classes/jdk/internal/math/FormattedFloatingDecimal.java ! test/jdk/java/util/Formatter/Basic-X.java.template ! test/jdk/java/util/Formatter/BasicBigDecimal.java ! test/jdk/java/util/Formatter/BasicDouble.java ! test/jdk/java/util/Formatter/BasicDoubleObject.java ! test/jdk/java/util/Formatter/BasicFloat.java ! test/jdk/java/util/Formatter/BasicFloatObject.java ! test/jdk/java/util/Formatter/BasicTestLauncher.java Changeset: ee0f5b5e Author: Joe Darcy Date: 2023-02-02 20:36:34 +0000 URL: https://git.openjdk.org/panama-foreign/commit/ee0f5b5ed0f8f081c5e61e2083c31863cbf14fd2 8301392: Port fdlibm log1p to Java Reviewed-by: bpb ! src/java.base/share/classes/java/lang/FdLibm.java ! src/java.base/share/classes/java/lang/StrictMath.java ! test/jdk/java/lang/StrictMath/FdlibmTranslit.java ! test/jdk/java/lang/StrictMath/Log1pTests.java Changeset: b00b70c2 Author: Hai-May Chao Date: 2023-02-02 21:17:08 +0000 URL: https://git.openjdk.org/panama-foreign/commit/b00b70c2400d28070d26630614a010bc52237827 8286907: keytool should warn about weak PBE algorithms Reviewed-by: mullan, weijun ! src/java.base/share/classes/sun/security/tools/keytool/Main.java ! test/jdk/sun/security/tools/keytool/WeakSecretKeyTest.java Changeset: 04278e6b Author: Ioi Lam Date: 2023-02-02 22:31:53 +0000 URL: https://git.openjdk.org/panama-foreign/commit/04278e6bf2da501542feb777ab864bbcc5794fd0 8301564: Non-C-heap allocated ResourceHashtable keys and values must have trivial destructor Reviewed-by: coleenp, jvernee ! src/hotspot/cpu/aarch64/codeBuffer_aarch64.cpp ! src/hotspot/cpu/riscv/codeBuffer_riscv.cpp ! src/hotspot/share/asm/codeBuffer.cpp ! src/hotspot/share/asm/codeBuffer.hpp ! src/hotspot/share/classfile/classLoaderStats.hpp ! src/hotspot/share/utilities/resourceHash.hpp Changeset: 4c9de876 Author: Jaikiran Pai Date: 2023-02-03 01:03:28 +0000 URL: https://git.openjdk.org/panama-foreign/commit/4c9de876bffe5abb94db1c8c2b919d8243317ff8 8301655: Problemlist jdk/jdk/nio/zipfs/TestLocOffsetFromZip64EF.java on Linux Reviewed-by: lancea ! test/jdk/ProblemList.txt Changeset: 3ad6aef1 Author: Feilong Jiang Committer: Fei Yang Date: 2023-02-03 05:03:21 +0000 URL: https://git.openjdk.org/panama-foreign/commit/3ad6aef1496de914b70f00005465e4b22f248d4f 8301313: RISC-V: C2: assert(false) failed: bad AD file due to missing match rule Reviewed-by: fyang, yadongwang ! src/hotspot/cpu/riscv/riscv.ad Changeset: 7f313b0c Author: Sibabrata Sahoo Date: 2023-02-03 05:19:47 +0000 URL: https://git.openjdk.org/panama-foreign/commit/7f313b0cef7d0e9732beed6c61298815306531e0 8180266: Convert sun/security/provider/KeyStore/DKSTest.sh to Java Jtreg Test Reviewed-by: rhalade ! test/jdk/ProblemList.txt ! test/jdk/sun/security/provider/KeyStore/DKSTest.java - test/jdk/sun/security/provider/KeyStore/DKSTest.sh Changeset: 406021ad Author: Andrey Turbanov Date: 2023-02-03 06:51:54 +0000 URL: https://git.openjdk.org/panama-foreign/commit/406021ad585eec1ec007535ed6b08c2ebffec2ee 8300929: Avoid unnecessary array fill after creation in java.awt.image Reviewed-by: attila, serb, aivanov ! src/java.desktop/share/classes/java/awt/image/BandedSampleModel.java ! src/java.desktop/share/classes/java/awt/image/ComponentColorModel.java ! src/java.desktop/share/classes/java/awt/image/ComponentSampleModel.java ! src/java.desktop/share/classes/java/awt/image/DirectColorModel.java ! src/java.desktop/share/classes/java/awt/image/Raster.java Changeset: b504c941 Author: Per Minborg Date: 2023-02-03 07:24:20 +0000 URL: https://git.openjdk.org/panama-foreign/commit/b504c9411e4a7a93e07a340a5d32a5ca9764a006 8300235: Use VarHandle access in Image(Input | Output)StreamImpl classes Reviewed-by: rriggs = src/java.base/share/classes/jdk/internal/util/ByteArrayLittleEndian.java ! src/java.base/share/classes/module-info.java ! src/java.desktop/share/classes/javax/imageio/stream/ImageInputStreamImpl.java ! src/java.desktop/share/classes/javax/imageio/stream/ImageOutputStreamImpl.java ! test/jdk/javax/imageio/stream/ReadFullyTest.java + test/micro/org/openjdk/bench/javax/imageio/stream/ImageInputStreamBench.java Changeset: 11804b24 Author: Matthias Baesken Date: 2023-02-03 07:54:33 +0000 URL: https://git.openjdk.org/panama-foreign/commit/11804b246e8643a3465b9549794ccfb24ccd8fc5 8301050: Detect Xen Virtualization on Linux aarch64 Reviewed-by: dholmes, clanger ! src/hotspot/cpu/aarch64/vm_version_aarch64.cpp ! src/hotspot/share/runtime/abstract_vm_version.hpp Changeset: cf68d9fb Author: Roland Westrelin Date: 2023-02-03 07:58:29 +0000 URL: https://git.openjdk.org/panama-foreign/commit/cf68d9fb8e55e461fa717f1443094300de8feacb 8299155: C2: SubTypeCheckNode::verify() should not produce dependencies / oop pool entries Reviewed-by: thartmann, kvn ! src/hotspot/share/opto/subtypenode.cpp ! src/hotspot/share/opto/subtypenode.hpp Changeset: 82126c1a Author: duke Date: 2023-02-03 11:00:34 +0000 URL: https://git.openjdk.org/panama-foreign/commit/82126c1aa4fe2a27a97d2df129ec4ae961a8afbf Automatic merge of jdk:master into master From jvernee at openjdk.org Fri Feb 3 15:30:56 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Fri, 3 Feb 2023 15:30:56 GMT Subject: [foreign-memaccess+abi] RFR: 8301261: Add linker option for specifying uncaught exception handler Message-ID: This patch adds the ability to specify an uncaught exception handler for an upcall stub, and changes the uncaught exception handling code to delegate to the thread's installed uncaught exception handler when no handler is specified as well, which will also allow setting a system-wide uncaught exception handler. For the tests: I've refactored TestUpcallException a bit. Previously the test code was found in a separate class (ThrowingUpcall). I've removed this class and moved the code into nested classes of TestUpcallException instead. Then I've added new test cases for testing the uncaught exception handler. I also noticed that we were setting the wrong system property to control binding recipe specialization in several tests (I thought I fixed this before, but it might have been undone by a merge...). I've fixed these to set the right property, and that also revealed a small bug in the interpreted version of the UnboxAddress binding, where we weren't properly reject heap segments. I've fixed that as well. ------------- Commit messages: - don't emit condy of handler is null - add tests - WIP Changes: https://git.openjdk.org/panama-foreign/pull/777/files Webrev: https://webrevs.openjdk.org/?repo=panama-foreign&pr=777&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8301261 Stats: 378 lines in 29 files changed: 211 ins; 96 del; 71 mod Patch: https://git.openjdk.org/panama-foreign/pull/777.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/777/head:pull/777 PR: https://git.openjdk.org/panama-foreign/pull/777 From mcimadamore at openjdk.org Fri Feb 3 16:16:11 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Fri, 3 Feb 2023 16:16:11 GMT Subject: [foreign-memaccess+abi] RFR: 8301261: Add linker option for specifying uncaught exception handler In-Reply-To: References: Message-ID: <_gGY9nkhXbeKRxzyxam0BT_QlAYafLDu9K7liDj32Kg=.d21563fe-d32c-4beb-abd1-fa8695f6244c@github.com> On Wed, 1 Feb 2023 22:12:30 GMT, Jorn Vernee wrote: > This patch adds the ability to specify an uncaught exception handler for an upcall stub, and changes the uncaught exception handling code to delegate to the thread's installed uncaught exception handler when no handler is specified as well, which will also allow setting a system-wide uncaught exception handler. > > For the tests: I've refactored TestUpcallException a bit. Previously the test code was found in a separate class (ThrowingUpcall). I've removed this class and moved the code into nested classes of TestUpcallException instead. Then I've added new test cases for testing the uncaught exception handler. > > I also noticed that we were setting the wrong system property to control binding recipe specialization in several tests (I thought I fixed this before, but it might have been undone by a merge...). I've fixed these to set the right property, and that also revealed a small bug in the interpreted version of the UnboxAddress binding, where we weren't properly reject heap segments. I've fixed that as well. src/java.base/share/classes/java/lang/foreign/Linker.java line 340: > 338: * if an exception is thrown, but not caught, during an upcall} > 339: *

> 340: * Note that using a custom exception handler will not prevent the VM from exiting in the case of an uncaught maybe use `@apiNote` here (or remove the "note"). src/java.base/share/classes/jdk/internal/foreign/abi/BindingSpecializer.java line 185: > 183: // where the caller is an upcall stub. > 184: Thread.UncaughtExceptionHandler uncaughtExceptionHandler = callingSequence.uncaughtExceptionHandler(); > 185: MethodHandles.Lookup defineClassLookup = uncaughtExceptionHandler != null Perhaps we could make this more regular by having an handler in all cases? E.g. the default handler could rethrow? test/jdk/java/foreign/TestIllegalLink.java line 65: > 63: } > 64: > 65: @Test(dataProvider = "upcallOnlyOptions", nice tests! test/jdk/java/foreign/TestUpcallException.java line 78: > 76: public static class NonVoidUpcallRunner extends ExceptionRunnerBase { > 77: public static void main(String[] args) throws Throwable { > 78: MethodHandle handle = MethodHandles.identity(int.class); I'm not 100% sure that building these complex method handle chains is better than just having two throwing methods in the code - one with zero arguments and one with one argument (int) ? ------------- PR: https://git.openjdk.org/panama-foreign/pull/777 From jvernee at openjdk.org Fri Feb 3 16:16:12 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Fri, 3 Feb 2023 16:16:12 GMT Subject: [foreign-memaccess+abi] RFR: 8301261: Add linker option for specifying uncaught exception handler In-Reply-To: <_gGY9nkhXbeKRxzyxam0BT_QlAYafLDu9K7liDj32Kg=.d21563fe-d32c-4beb-abd1-fa8695f6244c@github.com> References: <_gGY9nkhXbeKRxzyxam0BT_QlAYafLDu9K7liDj32Kg=.d21563fe-d32c-4beb-abd1-fa8695f6244c@github.com> Message-ID: On Fri, 3 Feb 2023 15:50:45 GMT, Maurizio Cimadamore wrote: >> This patch adds the ability to specify an uncaught exception handler for an upcall stub, and changes the uncaught exception handling code to delegate to the thread's installed uncaught exception handler when no handler is specified as well, which will also allow setting a system-wide uncaught exception handler. >> >> For the tests: I've refactored TestUpcallException a bit. Previously the test code was found in a separate class (ThrowingUpcall). I've removed this class and moved the code into nested classes of TestUpcallException instead. Then I've added new test cases for testing the uncaught exception handler. >> >> I also noticed that we were setting the wrong system property to control binding recipe specialization in several tests (I thought I fixed this before, but it might have been undone by a merge...). I've fixed these to set the right property, and that also revealed a small bug in the interpreted version of the UnboxAddress binding, where we weren't properly reject heap segments. I've fixed that as well. > > src/java.base/share/classes/jdk/internal/foreign/abi/BindingSpecializer.java line 185: > >> 183: // where the caller is an upcall stub. >> 184: Thread.UncaughtExceptionHandler uncaughtExceptionHandler = callingSequence.uncaughtExceptionHandler(); >> 185: MethodHandles.Lookup defineClassLookup = uncaughtExceptionHandler != null > > Perhaps we could make this more regular by having an handler in all cases? E.g. the default handler could rethrow? The default handler would be the one installed on the thread when we encounter an exception. I don't think we can return that one here though, since someone might link the upcall stub, and then afterwards set the thread's default exception handler. The handler specified as a linker option can be used to override that handler on a per upcall stub basis, if wanted. This is needed also in cases where native code spawns a new thread, and perhaps a user doesn't have an opportunity to set the default exception handler for that thread (before an exception is thrown). > test/jdk/java/foreign/TestUpcallException.java line 78: > >> 76: public static class NonVoidUpcallRunner extends ExceptionRunnerBase { >> 77: public static void main(String[] args) throws Throwable { >> 78: MethodHandle handle = MethodHandles.identity(int.class); > > I'm not 100% sure that building these complex method handle chains is better than just having two throwing methods in the code - one with zero arguments and one with one argument (int) ? Yeah, that seems simpler. ------------- PR: https://git.openjdk.org/panama-foreign/pull/777 From mcimadamore at openjdk.org Fri Feb 3 16:25:21 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Fri, 3 Feb 2023 16:25:21 GMT Subject: [foreign-memaccess+abi] RFR: 8301261: Add linker option for specifying uncaught exception handler In-Reply-To: References: <_gGY9nkhXbeKRxzyxam0BT_QlAYafLDu9K7liDj32Kg=.d21563fe-d32c-4beb-abd1-fa8695f6244c@github.com> Message-ID: <4KIKzdgLmneKukMEdW9E9YeQD9MDKduK-7fkmoZuHmE=.76b0c784-0f0c-4929-a881-259d091be763@github.com> On Fri, 3 Feb 2023 16:12:18 GMT, Jorn Vernee wrote: >> src/java.base/share/classes/jdk/internal/foreign/abi/BindingSpecializer.java line 185: >> >>> 183: // where the caller is an upcall stub. >>> 184: Thread.UncaughtExceptionHandler uncaughtExceptionHandler = callingSequence.uncaughtExceptionHandler(); >>> 185: MethodHandles.Lookup defineClassLookup = uncaughtExceptionHandler != null >> >> Perhaps we could make this more regular by having an handler in all cases? E.g. the default handler could rethrow? > > The default handler would be the one installed on the thread when we encounter an exception. I don't think we can return that one here though, since someone might link the upcall stub, and then afterwards set the thread's default exception handler. > > The handler specified as a linker option can be used to override that handler on a per upcall stub basis, if wanted. This is needed also in cases where native code spawns a new thread, and perhaps a user doesn't have an opportunity to set the default exception handler for that thread (before an exception is thrown). I see - the "fallback handler" is a dynamic property (depends on the thread in which we're executing the catch block". Then I agree the code, as is now, makes sense. ------------- PR: https://git.openjdk.org/panama-foreign/pull/777 From jvernee at openjdk.org Fri Feb 3 17:11:51 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Fri, 3 Feb 2023 17:11:51 GMT Subject: [foreign-memaccess+abi] RFR: 8301261: Add linker option for specifying uncaught exception handler [v2] In-Reply-To: References: Message-ID: > This patch adds the ability to specify an uncaught exception handler for an upcall stub, and changes the uncaught exception handling code to delegate to the thread's installed uncaught exception handler when no handler is specified as well, which will also allow setting a system-wide uncaught exception handler. > > For the tests: I've refactored TestUpcallException a bit. Previously the test code was found in a separate class (ThrowingUpcall). I've removed this class and moved the code into nested classes of TestUpcallException instead. Then I've added new test cases for testing the uncaught exception handler. > > I also noticed that we were setting the wrong system property to control binding recipe specialization in several tests (I thought I fixed this before, but it might have been undone by a merge...). I've fixed these to set the right property, and that also revealed a small bug in the interpreted version of the UnboxAddress binding, where we weren't properly reject heap segments. I've fixed that as well. Jorn Vernee has updated the pull request incrementally with one additional commit since the last revision: review comments ------------- Changes: - all: https://git.openjdk.org/panama-foreign/pull/777/files - new: https://git.openjdk.org/panama-foreign/pull/777/files/118feca0..708c29fe Webrevs: - full: https://webrevs.openjdk.org/?repo=panama-foreign&pr=777&range=01 - incr: https://webrevs.openjdk.org/?repo=panama-foreign&pr=777&range=00-01 Stats: 24 lines in 2 files changed: 8 ins; 10 del; 6 mod Patch: https://git.openjdk.org/panama-foreign/pull/777.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/777/head:pull/777 PR: https://git.openjdk.org/panama-foreign/pull/777 From jvernee at openjdk.org Fri Feb 3 17:13:21 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Fri, 3 Feb 2023 17:13:21 GMT Subject: [foreign-memaccess+abi] RFR: 8301261: Add linker option for specifying uncaught exception handler In-Reply-To: References: Message-ID: On Wed, 1 Feb 2023 22:12:30 GMT, Jorn Vernee wrote: > This patch adds the ability to specify an uncaught exception handler for an upcall stub, and changes the uncaught exception handling code to delegate to the thread's installed uncaught exception handler when no handler is specified as well, which will also allow setting a system-wide uncaught exception handler. > > For the tests: I've refactored TestUpcallException a bit. Previously the test code was found in a separate class (ThrowingUpcall). I've removed this class and moved the code into nested classes of TestUpcallException instead. Then I've added new test cases for testing the uncaught exception handler. > > I also noticed that we were setting the wrong system property to control binding recipe specialization in several tests (I thought I fixed this before, but it might have been undone by a merge...). I've fixed these to set the right property, and that also revealed a small bug in the interpreted version of the UnboxAddress binding, where we weren't properly reject heap segments. I've fixed that as well. I've addressed review comments. I wrote this code a while back, and at the time I had used `exactInvoker` in the tests to bypass the exception that you get when trying to link an upcall stub with a target method handle that provably throws an exception. I've now decided that a simpler way to deal with that issue is to just throw an unchecked exception. (So that's where the switch from `Throwable` -> `RuntimeException` comes from) ------------- PR: https://git.openjdk.org/panama-foreign/pull/777 From jvernee at openjdk.org Fri Feb 3 17:13:23 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Fri, 3 Feb 2023 17:13:23 GMT Subject: [foreign-memaccess+abi] RFR: 8301261: Add linker option for specifying uncaught exception handler [v2] In-Reply-To: <_gGY9nkhXbeKRxzyxam0BT_QlAYafLDu9K7liDj32Kg=.d21563fe-d32c-4beb-abd1-fa8695f6244c@github.com> References: <_gGY9nkhXbeKRxzyxam0BT_QlAYafLDu9K7liDj32Kg=.d21563fe-d32c-4beb-abd1-fa8695f6244c@github.com> Message-ID: <0nnWnOnnSa_scxttRoPuegFHoL5QNtGxu1st8OctKUs=.db7d39a7-a6b6-45b6-bca8-291dbe82d556@github.com> On Fri, 3 Feb 2023 15:43:51 GMT, Maurizio Cimadamore wrote: >> Jorn Vernee has updated the pull request incrementally with one additional commit since the last revision: >> >> review comments > > src/java.base/share/classes/java/lang/foreign/Linker.java line 340: > >> 338: * if an exception is thrown, but not caught, during an upcall} >> 339: *

>> 340: * Note that using a custom exception handler will not prevent the VM from exiting in the case of an uncaught > > maybe use `@apiNote` here (or remove the "note"). Done ------------- PR: https://git.openjdk.org/panama-foreign/pull/777 From mcimadamore at openjdk.org Fri Feb 3 17:20:33 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Fri, 3 Feb 2023 17:20:33 GMT Subject: [foreign-memaccess+abi] RFR: 8301261: Add linker option for specifying uncaught exception handler [v2] In-Reply-To: References: Message-ID: On Fri, 3 Feb 2023 17:11:51 GMT, Jorn Vernee wrote: >> This patch adds the ability to specify an uncaught exception handler for an upcall stub, and changes the uncaught exception handling code to delegate to the thread's installed uncaught exception handler when no handler is specified as well, which will also allow setting a system-wide uncaught exception handler. >> >> For the tests: I've refactored TestUpcallException a bit. Previously the test code was found in a separate class (ThrowingUpcall). I've removed this class and moved the code into nested classes of TestUpcallException instead. Then I've added new test cases for testing the uncaught exception handler. >> >> I also noticed that we were setting the wrong system property to control binding recipe specialization in several tests (I thought I fixed this before, but it might have been undone by a merge...). I've fixed these to set the right property, and that also revealed a small bug in the interpreted version of the UnboxAddress binding, where we weren't properly reject heap segments. I've fixed that as well. > > Jorn Vernee has updated the pull request incrementally with one additional commit since the last revision: > > review comments I like the test changes - much simpler now! ------------- Marked as reviewed by mcimadamore (Committer). PR: https://git.openjdk.org/panama-foreign/pull/777 From jvernee at openjdk.org Fri Feb 3 17:33:12 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Fri, 3 Feb 2023 17:33:12 GMT Subject: [foreign-memaccess+abi] Integrated: 8301261: Add linker option for specifying uncaught exception handler In-Reply-To: References: Message-ID: On Wed, 1 Feb 2023 22:12:30 GMT, Jorn Vernee wrote: > This patch adds the ability to specify an uncaught exception handler for an upcall stub, and changes the uncaught exception handling code to delegate to the thread's installed uncaught exception handler when no handler is specified as well, which will also allow setting a system-wide uncaught exception handler. > > For the tests: I've refactored TestUpcallException a bit. Previously the test code was found in a separate class (ThrowingUpcall). I've removed this class and moved the code into nested classes of TestUpcallException instead. Then I've added new test cases for testing the uncaught exception handler. > > I also noticed that we were setting the wrong system property to control binding recipe specialization in several tests (I thought I fixed this before, but it might have been undone by a merge...). I've fixed these to set the right property, and that also revealed a small bug in the interpreted version of the UnboxAddress binding, where we weren't properly reject heap segments. I've fixed that as well. This pull request has now been integrated. Changeset: cbd26350 Author: Jorn Vernee URL: https://git.openjdk.org/panama-foreign/commit/cbd263509ebb8fbdb0552ff433376a765bf1946f Stats: 376 lines in 29 files changed: 209 ins; 96 del; 71 mod 8301261: Add linker option for specifying uncaught exception handler 8301249: Linker::upcalStub should accept linker options Reviewed-by: mcimadamore ------------- PR: https://git.openjdk.org/panama-foreign/pull/777 From jvernee at openjdk.org Fri Feb 3 17:51:04 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Fri, 3 Feb 2023 17:51:04 GMT Subject: [foreign-memaccess+abi] RFR: 8301262: Simplify the CaptureCallState support Message-ID: Simplify capture call state support based on Maurizio's suggestion. We currently compute a layout to write the captured state into based on the values that the user wants to capture. However, we could simplify the API by using the same layout every time, that can hold every value that someone might want to capture. This is only 12 bytes, so the memory usage is not a big deal. The important part is to not read every thread local value every time, which works just as it does today. The second issue in today's implementation, is that it is still possible to create a capture state linker option that captures `GetLastError` on Linux. But, this doesn't make any sense. In the new implementation the GetLastError and WSAGetLastError options are only available on Windows. ------------- Commit messages: - doc tweaks - fix linux - Simplify captureCallState API Changes: https://git.openjdk.org/panama-foreign/pull/778/files Webrev: https://webrevs.openjdk.org/?repo=panama-foreign&pr=778&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8301262 Stats: 177 lines in 9 files changed: 80 ins; 73 del; 24 mod Patch: https://git.openjdk.org/panama-foreign/pull/778.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/778/head:pull/778 PR: https://git.openjdk.org/panama-foreign/pull/778 From jvernee at openjdk.org Fri Feb 3 17:51:06 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Fri, 3 Feb 2023 17:51:06 GMT Subject: [foreign-memaccess+abi] RFR: 8301262: Simplify the CaptureCallState support In-Reply-To: References: Message-ID: <6ouNilDvyfHT6uq0zNmDSWKrrfC4j-JTZ3B6y_DYllk=.bb88ec00-f2ed-405b-a2ed-794b0a461a85@github.com> On Thu, 2 Feb 2023 00:01:59 GMT, Jorn Vernee wrote: > Simplify capture call state support based on Maurizio's suggestion. > > We currently compute a layout to write the captured state into based on the values that the user wants to capture. However, we could simplify the API by using the same layout every time, that can hold every value that someone might want to capture. This is only 12 bytes, so the memory usage is not a big deal. The important part is to not read every thread local value every time, which works just as it does today. > > The second issue in today's implementation, is that it is still possible to create a capture state linker option that captures `GetLastError` on Linux. But, this doesn't make any sense. In the new implementation the GetLastError and WSAGetLastError options are only available on Windows. src/java.base/share/classes/java/lang/foreign/Linker.java line 335: > 333: * @param capturedState the names of the values to save. > 334: * @see #capturedStateLayout() > 335: */ I've copied here most of the doc that was on the class before, with some tweaks. ------------- PR: https://git.openjdk.org/panama-foreign/pull/778 From mcimadamore at openjdk.org Fri Feb 3 18:49:12 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Fri, 3 Feb 2023 18:49:12 GMT Subject: [foreign-memaccess+abi] RFR: 8301262: Simplify the CaptureCallState support In-Reply-To: References: Message-ID: On Thu, 2 Feb 2023 00:01:59 GMT, Jorn Vernee wrote: > Simplify capture call state support based on Maurizio's suggestion. > > We currently compute a layout to write the captured state into based on the values that the user wants to capture. However, we could simplify the API by using the same layout every time, that can hold every value that someone might want to capture. This is only 12 bytes, so the memory usage is not a big deal. The important part is to not read every thread local value every time, which works just as it does today. > > The second issue in today's implementation, is that it is still possible to create a capture state linker option that captures `GetLastError` on Linux. But, this doesn't make any sense. In the new implementation the GetLastError and WSAGetLastError options are only available on Windows. Thanks for fixing this - looks really good! ------------- Marked as reviewed by mcimadamore (Committer). PR: https://git.openjdk.org/panama-foreign/pull/778 From jvernee at openjdk.org Fri Feb 3 18:56:14 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Fri, 3 Feb 2023 18:56:14 GMT Subject: [foreign-memaccess+abi] Integrated: 8301262: Simplify the CaptureCallState support In-Reply-To: References: Message-ID: On Thu, 2 Feb 2023 00:01:59 GMT, Jorn Vernee wrote: > Simplify capture call state support based on Maurizio's suggestion. > > We currently compute a layout to write the captured state into based on the values that the user wants to capture. However, we could simplify the API by using the same layout every time, that can hold every value that someone might want to capture. This is only 12 bytes, so the memory usage is not a big deal. The important part is to not read every thread local value every time, which works just as it does today. > > The second issue in today's implementation, is that it is still possible to create a capture state linker option that captures `GetLastError` on Linux. But, this doesn't make any sense. In the new implementation the GetLastError and WSAGetLastError options are only available on Windows. This pull request has now been integrated. Changeset: bf1334c5 Author: Jorn Vernee URL: https://git.openjdk.org/panama-foreign/commit/bf1334c5bd1cb5ef01e144bfc0dceaa016ba857a Stats: 177 lines in 9 files changed: 80 ins; 73 del; 24 mod 8301262: Simplify the CaptureCallState support Reviewed-by: mcimadamore ------------- PR: https://git.openjdk.org/panama-foreign/pull/778 From mr.chrisvest at gmail.com Sun Feb 5 19:56:36 2023 From: mr.chrisvest at gmail.com (Chris Vest) Date: Sun, 5 Feb 2023 11:56:36 -0800 Subject: Doubling down on arenas in the FFM API In-Reply-To: References: Message-ID: Hi, This looks like a good and simple API overall, with a clear path on how each individual use case is solved. I found that details of the behavior of Arena.close() were lacking in the API description, now that we are back to having close methods on things that can't be closed: It is not described what happens when you call close() on global and auto scoped arenas. I also see no mechanism for querying if an arena has one of these scopes. The document says it's unclear what isCloseable() should return for an arena where close() always throws. I'm not so sure. I think the query could be framed as "if I were to call close(), is it likely to succeed?" (I use "likely" here since shared scopes could race). To illustrate where this might be relevant, suppose we have web application with a component A in charge of formulating responses to clients, and another component B in charge of doing IO. Component A sends MemorySegments and Arenas to B, and these could be a mix of shared or confined scopes, and auto-scoped for cached data like images and CSS files. Lifetimes start in A, but only conditionally end in B. This will need to be tracked, since the arenas and scopes can't be queried for this information. While this is certainly possible, it seems like a wasteful step, as the arena ought to have this knowledge in order to implement close() itself. This is the only thing I'm wondering about. The rest of the API looks very good. Cheers, Chris On Tue, Jan 31, 2023 at 10:46 AM Maurizio Cimadamore < maurizio.cimadamore at oracle.com> wrote: > Hi, > as discussed here [1], it is not clear as to whether Java 20 iteration > of the Foreign Function & Memory API (FFM API) has yet reached bottom, > especially when it comes to managing the lifetime of the regions of > memory backing memory segments. After collecting some rounds of internal > and external feedback, it was clear that while the Java 20 API has all > the functionalities we require for writing efficient and robust native > interop code, some of the concepts in the API were made a bit harder to > grok, as users had to choose between two toplevel abstractions, namely > `SegmentScope` and `Arena`. This choice is made even more difficult, as > some of the functionalities (e.g. allocation) is duplicated in both API > points. As a result, we have been busy exploring different ways to > restack the FFM API in search of something more approachable. > > The results of our findings are described in this document: > > http://cr.openjdk.java.net/~mcimadamore/panama/scoped_arenas.html > > Here, we propose a possible simplification of the FFM API, where we make > `Arena` the true star of the show, which results in the following changes: > > * factories such as `SegmentScope::auto` are now moved to `Arena`; > * all segment-producing methods (such as `FileChannel::map`) now accept > an `Arena` parameter; > * static factories such as `MemorySegment::allocateNative` have been > dropped; > * scopes are made less prominent, and moved to a nested class > (`MemorySegment.Scope`). > > This gives us a remarkably simple API, which brings together the best > aspects of the Java 19 and Java 20 FFM API iterations. On the one hand, > `Arena` is now the most important abstraction that users of the FFM API > have to deal with (in a way, `Arena` is the new `MemorySession`); at the > same time, we still have a way to model the lifetime of an `Arena` (and > all the segments allocated by it) using a `MemorySegment.Scope` - which > is desirable both in terms of debugging (e.g. inspecting whether two > segments/arenas have the same lifetime) and, more importantly, in terms > of allowing the definition of custom arenas via simple delegation (as in > Java 20). > > As always, feedback is welcome. While this proposal does not > significantly alter the expressiveness of the FFM API, the proposed API > comes with some limitations. For instance, since all allocation routines > are now `Arena`-centric (see above), it is no longer possible to > allocate a new segment if a corresponding arena is not available (we > call this co-allocation). As explained in the document, while it would > be possible to add back the missing co-allocation functionality, > extensive analysis of the code using the FFM API has shown co-allocation > to be _extremely_ rare (**) - and of dubious value. For these reasons, > we would like to aim for a more principled approach which avoids > co-allocation altogether, and allows for more encapsulation of the > capabilities associated with an `Arena` object. > > Maurizio > > (**) We have only found _one_ usage [2] in over 10K Java files and more > than 11M LoC analyzed. Moreover, this usage is only present in the Java > 19 branch of the project, and removed in the "main" branch (which tracks > the Java 20 FFM API). We suspect that this use of co-allocation has been > made irrelevant after the unification of `MemoryAddress` and > `MemorySegment`. > > [1] - > https://mail.openjdk.org/pipermail/panama-dev/2022-December/018182.html > [2] - > > https://github.com/boulder-on/JPassport/blob/Java_19/jpassport/src/main/java/jpassport/Utils.java#L418 > > > > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From dholmes at openjdk.org Mon Feb 6 00:00:10 2023 From: dholmes at openjdk.org (David Holmes) Date: Mon, 6 Feb 2023 00:00:10 GMT Subject: [foreign-memaccess+abi] RFR: 8301261: Add linker option for specifying uncaught exception handler [v2] In-Reply-To: References: Message-ID: On Fri, 3 Feb 2023 17:11:51 GMT, Jorn Vernee wrote: >> This patch adds the ability to specify an uncaught exception handler for an upcall stub, and changes the uncaught exception handling code to delegate to the thread's installed uncaught exception handler when no handler is specified as well, which will also allow setting a system-wide uncaught exception handler. >> >> For the tests: I've refactored TestUpcallException a bit. Previously the test code was found in a separate class (ThrowingUpcall). I've removed this class and moved the code into nested classes of TestUpcallException instead. Then I've added new test cases for testing the uncaught exception handler. >> >> I also noticed that we were setting the wrong system property to control binding recipe specialization in several tests (I thought I fixed this before, but it might have been undone by a merge...). I've fixed these to set the right property, and that also revealed a small bug in the interpreted version of the UnboxAddress binding, where we weren't properly reject heap segments. I've fixed that as well. > > Jorn Vernee has updated the pull request incrementally with one additional commit since the last revision: > > review comments FTR I think this is not a good idea with regards to using the Thread's UEH. That is only supposed to be called as a thread terminates due to the uncaught exception. ------------- PR: https://git.openjdk.org/panama-foreign/pull/777 From jvernee at openjdk.org Mon Feb 6 14:51:22 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Mon, 6 Feb 2023 14:51:22 GMT Subject: [foreign-memaccess+abi] RFR: 8301261: Add linker option for specifying uncaught exception handler [v2] In-Reply-To: References: Message-ID: On Fri, 3 Feb 2023 17:11:51 GMT, Jorn Vernee wrote: >> This patch adds the ability to specify an uncaught exception handler for an upcall stub, and changes the uncaught exception handling code to delegate to the thread's installed uncaught exception handler when no handler is specified as well, which will also allow setting a system-wide uncaught exception handler. >> >> For the tests: I've refactored TestUpcallException a bit. Previously the test code was found in a separate class (ThrowingUpcall). I've removed this class and moved the code into nested classes of TestUpcallException instead. Then I've added new test cases for testing the uncaught exception handler. >> >> I also noticed that we were setting the wrong system property to control binding recipe specialization in several tests (I thought I fixed this before, but it might have been undone by a merge...). I've fixed these to set the right property, and that also revealed a small bug in the interpreted version of the UnboxAddress binding, where we weren't properly reject heap segments. I've fixed that as well. > > Jorn Vernee has updated the pull request incrementally with one additional commit since the last revision: > > review comments When we encounter an uncaught exception like this, the process will terminate, so using the thread's UEH seems appropriate? ------------- PR: https://git.openjdk.org/panama-foreign/pull/777 From radek at smogura.eu Mon Feb 6 18:22:26 2023 From: radek at smogura.eu (radek at smogura.eu) Date: Mon, 6 Feb 2023 19:22:26 +0100 Subject: Doubling down on arenas in the FFM API In-Reply-To: <70c71221-4465-fe0d-7da9-1c8db7bf77b1@oracle.com> References: <70c71221-4465-fe0d-7da9-1c8db7bf77b1@oracle.com> Message-ID: <80525520-BA21-4293-8900-6876FB1E48E0@smogura.eu> Hi Maurizio, I get this point. Besides of this, I think that such simplification is very good ?. Kind regards, Rado > On 2 Feb 2023, at 14:44, Maurizio Cimadamore wrote: > > On 02/02/2023 13:15, radek at smogura.eu wrote: > > Hi Maurizio, > > Thank you for sharing this. I agree that there?s a tension between > Scope and Arena, and for i.e. passing Arena to FileChannel::map look > bit like we pass too big object there. > > I just thought (sorry if it was proposed somewhere else), to > introduce supporting object Scopable (can?t imagine better name on > short notice). So something which can have a scope (own - freshly > generated or shared in some way). > > The Scopable would have single method scope(), and for simplicity > Scope could be Scopable returning ?this?. > > If MemorySegment should be Scopable - I don?t know - as there?s next > issue of allocating segments which are dependent in some way and > deallocation should be executed in order. > > Hi Rado, > Thanks for the comments. Having a common interface for all things with a scope accessor is possible, and something we have considered to bring Arena and SegmentScope under the same umbrella. > > The main problem though, is where do you put the ?allocate? method. It is unfortunate that, in the Java 20 API, there are three ways to allocate a native segment: > > MemorySegment.allocateNative(100, arena.scope()) // 1 > > arena.allocate(100) // 2 > > SegmentAllocator.nativeAllocator(arena.scope()).allocate(100); // 3 > This seems overkill, and adding an interface on top of Arena and SegmentScope doesn?t help much. Well, Scopeable might also extend SegmentAllocator, so you can do: > > SegmentScope.auto().allocate(100) > But now this creates an issue: if a scope is an allocator, then an Arena provides two allocators: the allocator in its ?allocate? method, and the ?fallback? allocator, available accessing the arena?s scope. > > This seemed overly confusing. > > There?s also another aspect in this: what we call SegmentScope.auto() really does act as an arena (as the document explains) - just one that cannot be closed explicitly. So having too much splitting in the API seems to create unnecessary asymmetries and non-orthogonality. > > Once you embrace the fact that Arena is your unit of allocation for native segments, everything becomes easier. In the API proposed in the document there is now only one way to allocate a native segment, namely Arena::allocate. > > P.S. > > Related to this, we also considered adding a Scopeable/Scoped interface (implemented by MemorySegment) instead of a separate ?Scope? interface. While initially appealing, as: > > segment.isAlive() > Seems better than: > > segment.scope().isAlive() > That approach starts running out of gas when you consider things like ?how do you compare the lifetime of two Scoped/Scopeable? ? You can?t use ?equals? (as equals on MemorySegment means something else) - so you end up with something like this: > > segment.isLifetimeEquals(....) > or, if we also consider lifetime containment: > > segment.isLifetimeContainedBy(....) > Both of which seems less direct than: > > segment.scope().equals(...) > or > > segment.scope().containedBy(...) > On top of that, since now Arena does not have a scope, but is a scope, we need to make arena an abstract class, which somewhat limits extension options for clients. > > So we have concluded that keeping a small scope interface off to the side (MemorySegment.Scope) represented the most pragmatic compromise. > > Maurizio > > Kind regards, Rados?aw Smogura > > On 31 Jan 2023, at 19:46, Maurizio Cimadamore > > maurizio.cimadamore at oracle.com wrote: > > Hi, as discussed here [1], it is not clear as to whether Java 20 > iteration of the Foreign Function & Memory API (FFM API) has yet > reached bottom, especially when it comes to managing the lifetime > of the regions of memory backing memory segments. After collecting > some rounds of internal and external feedback, it was clear that > while the Java 20 API has all the functionalities we require for > writing efficient and robust native interop code, some of the > concepts in the API were made a bit harder to grok, as users had to > choose between two toplevel abstractions, namely SegmentScope and > Arena. This choice is made even more difficult, as some of the > functionalities (e.g. allocation) is duplicated in both API points. > As a result, we have been busy exploring different ways to restack > the FFM API in search of something more approachable. > > The results of our findings are described in this document: > > http://cr.openjdk.java.net/~mcimadamore/panama/scoped_arenas.html > > Here, we propose a possible simplification of the FFM API, where we > make Arena the true star of the show, which results in the > following changes: > > factories such as SegmentScope::auto are now moved to Arena; > all segment-producing methods (such as FileChannel::map) now > accept an Arena parameter; static factories such as > MemorySegment::allocateNative have been dropped; scopes are > made less prominent, and moved to a nested class > (MemorySegment.Scope). > This gives us a remarkably simple API, which brings together the > best aspects of the Java 19 and Java 20 FFM API iterations. On the > one hand, Arena is now the most important abstraction that users > of the FFM API have to deal with (in a way, Arena is the new > MemorySession); at the same time, we still have a way to model > the lifetime of an Arena (and all the segments allocated by it) > using a MemorySegment.Scope - which is desirable both in terms of > debugging (e.g. inspecting whether two segments/arenas have the > same lifetime) and, more importantly, in terms of allowing the > definition of custom arenas via simple delegation (as in Java 20). > > As always, feedback is welcome. While this proposal does not > significantly alter the expressiveness of the FFM API, the proposed > API comes with some limitations. For instance, since all allocation > routines are now Arena-centric (see above), it is no longer > possible to allocate a new segment if a corresponding arena is not > available (we call this co-allocation). As explained in the > document, while it would be possible to add back the missing > co-allocation functionality, extensive analysis of the code using > the FFM API has shown co-allocation to be extremely rare (**) - > and of dubious value. For these reasons, we would like to aim for a > more principled approach which avoids co-allocation altogether, and > allows for more encapsulation of the capabilities associated with > an Arena object. > > Maurizio > > (**) We have only found one usage [2] in over 10K Java files and > more than 11M LoC analyzed. Moreover, this usage is only present in > the Java 19 branch of the project, and removed in the ?main? branch > (which tracks the Java 20 FFM API). We suspect that this use of > co-allocation has been made irrelevant after the unification of > MemoryAddress and MemorySegment. > > [1] - > https://mail.openjdk.org/pipermail/panama-dev/2022-December/018182.html > > [2] - https://urldefense.com/v3/__https://github.com/boulder-on/JPassport/blob/Java_19/jpassport/src/main/java/jpassport/Utils.java*L418__;Iw!!ACWV5N9M2RV99hQ!N83lUkxsLt0-52DJ28iFtyghkVYTBrkIqpba_S_rHp-LgkOjS11XHE2aNR0-4t77U_S3UqP_HU-K1tufeLRhfQs$ > -------------- next part -------------- An HTML attachment was scrubbed... URL: From dholmes at openjdk.org Mon Feb 6 23:04:16 2023 From: dholmes at openjdk.org (David Holmes) Date: Mon, 6 Feb 2023 23:04:16 GMT Subject: [foreign-memaccess+abi] RFR: 8301261: Add linker option for specifying uncaught exception handler [v2] In-Reply-To: References: Message-ID: On Fri, 3 Feb 2023 17:11:51 GMT, Jorn Vernee wrote: >> This patch adds the ability to specify an uncaught exception handler for an upcall stub, and changes the uncaught exception handling code to delegate to the thread's installed uncaught exception handler when no handler is specified as well, which will also allow setting a system-wide uncaught exception handler. >> >> For the tests: I've refactored TestUpcallException a bit. Previously the test code was found in a separate class (ThrowingUpcall). I've removed this class and moved the code into nested classes of TestUpcallException instead. Then I've added new test cases for testing the uncaught exception handler. >> >> I also noticed that we were setting the wrong system property to control binding recipe specialization in several tests (I thought I fixed this before, but it might have been undone by a merge...). I've fixed these to set the right property, and that also revealed a small bug in the interpreted version of the UnboxAddress binding, where we weren't properly reject heap segments. I've fixed that as well. > > Jorn Vernee has updated the pull request incrementally with one additional commit since the last revision: > > review comments Not really no. Unless this only happens in thread's you create and control and know what the UEH does, then invoking an arbitrary thread's UEH is a bad idea. You have no idea what it may do. ------------- PR: https://git.openjdk.org/panama-foreign/pull/777 From maurizio.cimadamore at oracle.com Tue Feb 7 10:59:44 2023 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Tue, 7 Feb 2023 10:59:44 +0000 Subject: Doubling down on arenas in the FFM API In-Reply-To: References: Message-ID: <5bdb0327-7a84-98e6-54d2-39021e443d8f@oracle.com> Hi Chris, thanks for the comments. First of all, I agree the javadoc needs more verbiage around what can happen when `close` is not supported. Regarding your question, there are many reasons which has led us towards leaving `isCloseable` out - at least for now. First, the semantics of `isCloseable` is a bit ambiguous: should it mean "can I call close on this arena?", or should it mean "is this arena associated with a bounded lifetime" ? The two questions aren't the same: in the first case you are asking about a property of a specific `Arena::close` method (will it throw UnsupportedOperationException?); in the other case you are asking about an intrinsic property of the lifetime backing the arena. For instance, an automatic arena has a bounded lifetime, but its `close` method still throws. Perhaps, the solution here would be to have a method which deal with `close` in Arena, and then another method in MemorySegment.Scope which tells whether a scope is "bounded" or not. Secondly, as explained in the document, custom arenas muddy the picture quite a bit, as it is not clear as to whether `isCloseable` should just always delegate to the parent arena `isCloseable`, or if a subclass can redefine it in interesting ways - e.g. a client might wrap a closeable arena into a new arena whose close method always throws - at which point the `isCloseable` method could be overridden to return false. But IMHO, it is hard to reason about custom arenas because it is not clear what we mean by `isCloseable` (see above). Finally, all our usages analysis have shown that, so far, of all the code using the Java 19 API (which has a MemorySession::isCloseable predicate) we didn't find any significant usages (only one usage was found in an assert in the Netty code :-)). This seems to suggest that these predicates are not only hard to nail down semantics-wise, they also don't seem to be used much. I think I can understand why: typically code that has a MemorySession/Arena has created it, so it _knows_ what are the properties of that session/arena. For this reasons, I find your example a bit on the contrived side: two clients exchange segments/arenas - which means they are under the same maintenance domain (otherwise client B would not have access to arenas). The way I'd approach the situation you describe would be to put resources in distinct arenas. Clearly you have identified cases as to why some resources are tied with the lifetime of a single request (e.g. local resources) whereas other resources can be reused across multiple requests (e.g. global or cached resources). To me, this suggests that there should be an Arena for what B wants to do. The code in B is always surrounded with a try-with-resources (at least logically - in practice the lifetime can start in A and end with B), so that all the resources that are "local" to B get released when B is done. But "global" resources are simply passed in (e.g. using some context object) - and B is not expected to invalidate them (nor it can't because they are backed by an arena it can't control). In other words, my feeling here is that the need for `isCloseable` arises because A and B simply exchange segments/arenas in a fairly unstructured way, but - as you say - not all segments in this communication are created equal. Which suggests that the communication protocol between A and B should be made a bit more sophisticated, so that B can distinguish between local and global resources. But, even w/o making things overly complex, something like this should work: ``` B::process(Arena sessionArena, MemorySegment[] segments) ``` Here, B has a bunch of segments to work with. Some will be backed by `sessionArena` (which B is expected to close anyway at the end of its computation). Some will be backed by some other arena - which means they will survive the `process` method. This way, B always knows how to operate: it should work on the received segments and then call `sessionArena.close()` when done. Note that A could even inject custom close logic on `sessionArena`, by providing an arena with an overridden close method. This might be useful if the segments that should be closed in reality might belong to multiple arenas, all of which should be closed (or when custom cleanup logic should be executed by A). But I think an API like this makes it easier to understand how B is expected to operate. That said, I don't want to dismiss your concern - but I do believe that a "wait and see" approach is a sane way to proceed: future code will inform us as to whether such predicates are needed or not (and _where_ should such predicates live - e.g. in Arena vs. MemorySegment.Scope). Cheers Maurizio On 05/02/2023 19:56, Chris Vest wrote: > Hi, > > This looks like a good and simple API overall, with a clear path on > how each individual use case is solved. > > I found that details of the behavior of Arena.close() were lacking in > the API description, now that we are back to having close methods on > things that can't be closed: > It is not described what happens when you call close() on global and > auto scoped arenas. I also see no mechanism for querying if an arena > has one of these scopes. > The document says it's unclear what isCloseable() should return for an > arena where close() always throws. I'm not so sure. > I think the query could be framed as "if I were to call close(), is it > likely to succeed?" (I use "likely" here since shared scopes could race). > > To illustrate where this might be relevant, suppose we have web > application with a component A in charge of formulating responses to > clients, and another component B in charge of doing IO. > Component A sends MemorySegments and Arenas to B, and these could be a > mix of shared or confined scopes, and auto-scoped for cached data like > images and CSS files. > Lifetimes start in A, but only conditionally end in B. This will need > to be tracked, since the arenas and scopes can't be queried for this > information. > While this is certainly possible, it seems like a wasteful step, as > the arena ought to have this knowledge in order to implement close() > itself. > > This is the only thing I'm wondering about. The rest of the API looks > very good. > > Cheers, > Chris > > On Tue, Jan 31, 2023 at 10:46 AM Maurizio Cimadamore > wrote: > > Hi, > as discussed here [1], it is not clear as to whether Java 20 > iteration > of the Foreign Function & Memory API (FFM API) has yet reached > bottom, > especially when it comes to managing the lifetime of the regions of > memory backing memory segments. After collecting some rounds of > internal > and external feedback, it was clear that while the Java 20 API has > all > the functionalities we require for writing efficient and robust > native > interop code, some of the concepts in the API were made a bit > harder to > grok, as users had to choose between two toplevel abstractions, > namely > `SegmentScope` and `Arena`. This choice is made even more > difficult, as > some of the functionalities (e.g. allocation) is duplicated in > both API > points. As a result, we have been busy exploring different ways to > restack the FFM API in search of something more approachable. > > The results of our findings are described in this document: > > http://cr.openjdk.java.net/~mcimadamore/panama/scoped_arenas.html > > Here, we propose a possible simplification of the FFM API, where > we make > `Arena` the true star of the show, which results in the following > changes: > > * factories such as `SegmentScope::auto` are now moved to `Arena`; > * all segment-producing methods (such as `FileChannel::map`) now > accept > an `Arena` parameter; > * static factories such as `MemorySegment::allocateNative` have been > dropped; > * scopes are made less prominent, and moved to a nested class > (`MemorySegment.Scope`). > > This gives us a remarkably simple API, which brings together the best > aspects of the Java 19 and Java 20 FFM API iterations. On the one > hand, > `Arena` is now the most important abstraction that users of the > FFM API > have to deal with (in a way, `Arena` is the new `MemorySession`); > at the > same time, we still have a way to model the lifetime of an `Arena` > (and > all the segments allocated by it) using a `MemorySegment.Scope` - > which > is desirable both in terms of debugging (e.g. inspecting whether two > segments/arenas have the same lifetime) and, more importantly, in > terms > of allowing the definition of custom arenas via simple delegation > (as in > Java 20). > > As always, feedback is welcome. While this proposal does not > significantly alter the expressiveness of the FFM API, the > proposed API > comes with some limitations. For instance, since all allocation > routines > are now `Arena`-centric (see above), it is no longer possible to > allocate a new segment if a corresponding arena is not available (we > call this co-allocation). As explained in the document, while it > would > be possible to add back the missing co-allocation functionality, > extensive analysis of the code using the FFM API has shown > co-allocation > to be _extremely_ rare (**) - and of dubious value. For these > reasons, > we would like to aim for a more principled approach which avoids > co-allocation altogether, and allows for more encapsulation of the > capabilities associated with an `Arena` object. > > Maurizio > > (**) We have only found _one_ usage [2] in over 10K Java files and > more > than 11M LoC analyzed. Moreover, this usage is only present in the > Java > 19 branch of the project, and removed in the "main" branch (which > tracks > the Java 20 FFM API). We suspect that this use of co-allocation > has been > made irrelevant after the unification of `MemoryAddress` and > `MemorySegment`. > > [1] - > https://mail.openjdk.org/pipermail/panama-dev/2022-December/018182.html > [2] - > https://github.com/boulder-on/JPassport/blob/Java_19/jpassport/src/main/java/jpassport/Utils.java#L418 > > > > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From mcimadamore at openjdk.org Tue Feb 7 14:56:35 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Tue, 7 Feb 2023 14:56:35 GMT Subject: [foreign-memaccess+abi] RFR: 8301801: Implement arena-centric API Message-ID: This patch implements the API proposal described here: https://cr.openjdk.java.net/~mcimadamore/panama/scoped_arenas.html The main changes are: * Static factories `MemorySegment::allocateNative` are gone; * The static factory `SegmentAllocator::nativeAllocator` is also gone; * `SegmentScope` moved as nested class in `MemorySegment` (e.g. `MemorySegment.Scope`); * Tweak methods accepting `SegmentScope` to accept `Arena` instead; * Simplify `Arena` API, by removing predicates (`isCloseable`/`isAccessibleBy`) and by dropping `whileAlive`; * Change arena factories to use `of` prefix instead of `open` - and rename `auto()` to `ofAuto()`. The API changes are rather straightforward, but they lead to several shallow test and microbenchmark changes, so the number of affected file is quite big (mostly because of the rename `openConfined` -> `ofConfined`). A javadoc of the proposed changes is available here: http://cr.openjdk.java.net/~mcimadamore/panama/scoped_arena_interface_lump_predicates/ ------------- Commit messages: - Fix typo - Clarify javadoc for Arena::close - Fix linker javadoc - Initial push Changes: https://git.openjdk.org/panama-foreign/pull/781/files Webrev: https://webrevs.openjdk.org/?repo=panama-foreign&pr=781&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8301801 Stats: 2284 lines in 131 files changed: 549 ins; 688 del; 1047 mod Patch: https://git.openjdk.org/panama-foreign/pull/781.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/781/head:pull/781 PR: https://git.openjdk.org/panama-foreign/pull/781 From mcimadamore at openjdk.org Tue Feb 7 14:56:36 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Tue, 7 Feb 2023 14:56:36 GMT Subject: [foreign-memaccess+abi] RFR: 8301801: Implement arena-centric API In-Reply-To: References: Message-ID: <1hz8Zg8FzPwiEW9n59xJM7VsC6UFhOFcj5zTi3whwRo=.6298b682-9d90-4fe0-8774-b0990e4df92c@github.com> On Tue, 7 Feb 2023 14:32:46 GMT, Maurizio Cimadamore wrote: > This patch implements the API proposal described here: > > https://cr.openjdk.java.net/~mcimadamore/panama/scoped_arenas.html > > The main changes are: > > * Static factories `MemorySegment::allocateNative` are gone; > * The static factory `SegmentAllocator::nativeAllocator` is also gone; > * `SegmentScope` moved as nested class in `MemorySegment` (e.g. `MemorySegment.Scope`); > * Tweak methods accepting `SegmentScope` to accept `Arena` instead; > * Simplify `Arena` API, by removing predicates (`isCloseable`/`isAccessibleBy`) and by dropping `whileAlive`; > * Change arena factories to use `of` prefix instead of `open` - and rename `auto()` to `ofAuto()`. > > The API changes are rather straightforward, but they lead to several shallow test and microbenchmark changes, so the number of affected file is quite big (mostly because of the rename `openConfined` -> `ofConfined`). > > A javadoc of the proposed changes is available here: > > http://cr.openjdk.java.net/~mcimadamore/panama/scoped_arena_interface_lump_predicates/ src/java.base/share/classes/jdk/internal/foreign/NativeMemorySegmentImpl.java line 57: > 55: NativeMemorySegmentImpl(long min, long length, boolean readOnly, MemorySessionImpl scope) { > 56: super(length, readOnly, scope); > 57: this.min = (Unsafe.ADDRESS_SIZE == 4) Strangely, using the instance method here causes initialization failures when doing stuff like: Arena.ofAuto().allocate(...) ------------- PR: https://git.openjdk.org/panama-foreign/pull/781 From mcimadamore at openjdk.org Tue Feb 7 18:49:45 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Tue, 7 Feb 2023 18:49:45 GMT Subject: [foreign-memaccess+abi] RFR: Fix test failures following 8300201 Message-ID: The fix for JDK-8300201 has introduced an initialization issue involving `NativeMemorySegmentImpl`. The constructor of that class is accessing the `UNSAFE` static field (declared in same class), but that field seems to be set to `null` in some cases (probably because of a static initializer loop). This is something I also have observed when working on https://git.openjdk.org/panama-foreign/pull/781 The fix is to just use the Unsafe static field for getting the address size, and avoid the `UNSAFE` field in the constructor. More investigation might follow, to pinpoint exactly where the initialization problem is. ------------- Commit messages: - Fix test failures Changes: https://git.openjdk.org/panama-foreign/pull/782/files Webrev: https://webrevs.openjdk.org/?repo=panama-foreign&pr=782&range=00 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.org/panama-foreign/pull/782.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/782/head:pull/782 PR: https://git.openjdk.org/panama-foreign/pull/782 From jvernee at openjdk.org Tue Feb 7 19:25:14 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Tue, 7 Feb 2023 19:25:14 GMT Subject: [foreign-memaccess+abi] RFR: Fix test failures following 8300201 In-Reply-To: References: Message-ID: On Tue, 7 Feb 2023 18:43:17 GMT, Maurizio Cimadamore wrote: > The fix for JDK-8300201 has introduced an initialization issue involving `NativeMemorySegmentImpl`. The constructor of that class is accessing the `UNSAFE` static field (declared in same class), but that field seems to be set to `null` in some cases (probably because of a static initializer loop). This is something I also have observed when working on https://git.openjdk.org/panama-foreign/pull/781 > > The fix is to just use the Unsafe static field for getting the address size, and avoid the `UNSAFE` field in the constructor. More investigation might follow, to pinpoint exactly where the initialization problem is. Thanks for fixing. I think the virtual call might be triggering to earlier class loading during verification, to see whether the receiver argument on the stack is actually compatible with the receiver type of the declared called method. Unsafe depends on ByteBuffer, which then leads back to MemorySegment, and from there to NativeMemorySegmentImpl I'm guessing. ------------- Marked as reviewed by jvernee (Committer). PR: https://git.openjdk.org/panama-foreign/pull/782 From mcimadamore at openjdk.org Tue Feb 7 21:57:17 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Tue, 7 Feb 2023 21:57:17 GMT Subject: [foreign-memaccess+abi] RFR: Fix test failures following 8300201 In-Reply-To: References: Message-ID: <0hW6gAQ0U8BG3nPEqMBolsb0acl3RacBl1YCcARdMcc=.603a0e08-b00d-4ff4-8ad0-03d5ea597b24@github.com> On Tue, 7 Feb 2023 19:21:53 GMT, Jorn Vernee wrote: > Thanks for fixing. > > I think the virtual call might be triggering to earlier class loading during verification, to see whether the receiver argument on the stack is actually compatible with the receiver type of the declared called method. > > Unsafe depends on ByteBuffer, which then leads back to MemorySegment, and from there to NativeMemorySegmentImpl I'm guessing. I don't think that's it - with the other PR (with the API changes) doing `Arena.ofAuto().allocate(...)` was enough to reproduce. No ByteBuffers. ------------- PR: https://git.openjdk.org/panama-foreign/pull/782 From mcimadamore at openjdk.org Tue Feb 7 22:00:15 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Tue, 7 Feb 2023 22:00:15 GMT Subject: [foreign-memaccess+abi] Integrated: Fix test failures following 8300201 In-Reply-To: References: Message-ID: On Tue, 7 Feb 2023 18:43:17 GMT, Maurizio Cimadamore wrote: > The fix for JDK-8300201 has introduced an initialization issue involving `NativeMemorySegmentImpl`. The constructor of that class is accessing the `UNSAFE` static field (declared in same class), but that field seems to be set to `null` in some cases (probably because of a static initializer loop). This is something I also have observed when working on https://git.openjdk.org/panama-foreign/pull/781 > > The fix is to just use the Unsafe static field for getting the address size, and avoid the `UNSAFE` field in the constructor. More investigation might follow, to pinpoint exactly where the initialization problem is. This pull request has now been integrated. Changeset: f61f3a31 Author: Maurizio Cimadamore URL: https://git.openjdk.org/panama-foreign/commit/f61f3a31af4976d0e64d3bfa72cda95b501e2a7d Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Fix test failures following 8300201 Reviewed-by: jvernee ------------- PR: https://git.openjdk.org/panama-foreign/pull/782 From jvernee at openjdk.org Wed Feb 8 17:32:06 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Wed, 8 Feb 2023 17:32:06 GMT Subject: [foreign-memaccess+abi] RFR: 8296315: Add get/set-AtIndex methods for byte, boolean [v2] In-Reply-To: References: Message-ID: <0N_kvjruED3z63bC3rb0pDu8EjrXeeqRfmHCNnA2shY=.f030bcb9-a843-4e0b-94fb-56ada49d30ad@github.com> On Thu, 3 Nov 2022 15:03:59 GMT, RedIODev wrote: >> This PR adds the left out getAtIndex and setAtIndex methods for byte and boolean to java.lang.foreign.MemorySegment.java > > RedIODev has updated the pull request incrementally with one additional commit since the last revision: > > added tests to TestMemoryAccessInstance Looks like this was never integrated. @RedIODev Could you please type `/integrate` in order to integrate the PR. ------------- PR: https://git.openjdk.org/panama-foreign/pull/747 From mcimadamore at openjdk.org Wed Feb 8 19:06:53 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Wed, 8 Feb 2023 19:06:53 GMT Subject: [foreign-memaccess+abi] RFR: 8302098: Fix initialization order in NativeMemorySegmentImpl Message-ID: <59vnAMmcoDAVVxV1RhEMM8ydQxOYxVIF8WcNqQOdpdc=.e6602c18-ac04-4e2a-adc7-ee6a64b9b2ae@github.com> Hi, the recent fix for 8300201 [1] exposed a latent initialization bug in the FFM API implementation. That fix added a call to `UNSAFE.addressSize()` in the constructor of `NativeMemorySegmentImpl` (in order to perform some normalization of the incoming address on 32-bit platforms). After we integrated that change we have started to see some failures in our nightly builds. Most failures had to do with creating memory mapped segments and manifested themselves as NPEs when tryin to call `UNSAFE.addressSize()` (because the `UNSAFE` static field was `null`). Yesterday I have integrated a PR in order to fix these issues [2] - the fix simply replaces `UNSAFE.addressSize()` with `UNSAFE.ADDRESS_SIZE` (e.g. replace instance method call with static field access). Today I've spent more time investigating what's actually wrong with the code, given that I couldn't see any obvious looping logic. After staring at the code for some time, I realized that we indeed suffer from cyclic initialization. The cycle goes as follows: * A client calls `FileChannel::map` * That method wants to create a new instance of `MappedMemorySegmentImpl` * To do that, we need to load `MappedMemorySegmentImpl` and run its static initializers * But, to do that, we need to load `NativeMemorySegmentImpl` and run its static initializers * But, but, to do that, we need to load `AbstractMemorySegmentImpl` and run its static initializers * But, but, but, to do that, we need to load `MemorySegment` and run its static initializers * Unfortunately, `MemorySegment` has a static final field, namely `NULL` which calls the static method `NativeMemorySegment.makeNativeSegmentUnchecked` * This method creates a new `NativeMemorySegmentImpl` (for `NULL`), but when evaluating the constructor, no static field in the class is set; hence we NPE. In other words, while initializing a subclass, we initialize a superclass - but that initialization points back to the subclass. Hence the cycle. To solve this w/o having to change the public API, I have added a dedicated, simple constructor which can be used to construct the memory segment instance for `NULL`. This constructor has some documentation which explains the initialization issues, and should be left alone (other than when initializing `NULL`). [1] - https://git.openjdk.org/panama-foreign/pull/774 [2] - https://git.openjdk.org/panama-foreign/pull/782 ------------- Commit messages: - Fix initialization cycle by adding a dedicated simple constructor in `NativeMemorySegmentImpl` Changes: https://git.openjdk.org/panama-foreign/pull/783/files Webrev: https://webrevs.openjdk.org/?repo=panama-foreign&pr=783&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8302098 Stats: 13 lines in 2 files changed: 11 ins; 0 del; 2 mod Patch: https://git.openjdk.org/panama-foreign/pull/783.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/783/head:pull/783 PR: https://git.openjdk.org/panama-foreign/pull/783 From mcimadamore at openjdk.org Wed Feb 8 19:12:09 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Wed, 8 Feb 2023 19:12:09 GMT Subject: [foreign-memaccess+abi] RFR: Add `final` to AbstractMemorySegmentImpl::asUnbounded Message-ID: <_plKQKrdhlNSv_Ii3JOHCYQmuw40HehyH9NywWaU15M=.6023e7a9-d799-4f9e-bd01-7f51c0e457bb@github.com> The recent changes in https://git.openjdk.org/panama-foreign/pull/775 cause some issue in a test which ensures that caller sensitive methods are declared correctly. More specifically, the test fails whenever a non-final caller sensitive method is found. The fix is to simply add `final` to `AbstractMemorySegmentImpl::asUnbounded`. ------------- Commit messages: - Add `final` to AbstractMemorySegmentImpl::asUnbounded Changes: https://git.openjdk.org/panama-foreign/pull/784/files Webrev: https://webrevs.openjdk.org/?repo=panama-foreign&pr=784&range=00 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.org/panama-foreign/pull/784.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/784/head:pull/784 PR: https://git.openjdk.org/panama-foreign/pull/784 From jvernee at openjdk.org Wed Feb 8 19:31:13 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Wed, 8 Feb 2023 19:31:13 GMT Subject: [foreign-memaccess+abi] RFR: Add `final` to AbstractMemorySegmentImpl::asUnbounded In-Reply-To: <_plKQKrdhlNSv_Ii3JOHCYQmuw40HehyH9NywWaU15M=.6023e7a9-d799-4f9e-bd01-7f51c0e457bb@github.com> References: <_plKQKrdhlNSv_Ii3JOHCYQmuw40HehyH9NywWaU15M=.6023e7a9-d799-4f9e-bd01-7f51c0e457bb@github.com> Message-ID: <5NrIJfqekWy96lEHyj-WTxFouSjqXt-Pt1Sorr1NA18=.09a40cfd-543c-40e2-8b53-269e34d9b83f@github.com> On Wed, 8 Feb 2023 19:05:12 GMT, Maurizio Cimadamore wrote: > The recent changes in https://git.openjdk.org/panama-foreign/pull/775 cause some issue in a test which ensures that caller sensitive methods are declared correctly. More specifically, the test fails whenever a non-final caller sensitive method is found. The fix is to simply add `final` to `AbstractMemorySegmentImpl::asUnbounded`. Marked as reviewed by jvernee (Committer). ------------- PR: https://git.openjdk.org/panama-foreign/pull/784 From jvernee at openjdk.org Wed Feb 8 20:51:04 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Wed, 8 Feb 2023 20:51:04 GMT Subject: [foreign-memaccess+abi] RFR: 8302098: Fix initialization order in NativeMemorySegmentImpl In-Reply-To: <59vnAMmcoDAVVxV1RhEMM8ydQxOYxVIF8WcNqQOdpdc=.e6602c18-ac04-4e2a-adc7-ee6a64b9b2ae@github.com> References: <59vnAMmcoDAVVxV1RhEMM8ydQxOYxVIF8WcNqQOdpdc=.e6602c18-ac04-4e2a-adc7-ee6a64b9b2ae@github.com> Message-ID: <6Lf_4WH5GFYtNcMDDFzjQ5RqZwGUcNIOyHZpe_hpTMA=.a699b6e4-d59a-499d-ad3b-3c6748d8b766@github.com> On Wed, 8 Feb 2023 18:58:52 GMT, Maurizio Cimadamore wrote: > Hi, > the recent fix for 8300201 [1] exposed a latent initialization bug in the FFM API implementation. That fix added a call to `UNSAFE.addressSize()` in the constructor of `NativeMemorySegmentImpl` (in order to perform some normalization of the incoming address on 32-bit platforms). After we integrated that change we have started to see some failures in our nightly builds. Most failures had to do with creating memory mapped segments and manifested themselves as NPEs when tryin to call `UNSAFE.addressSize()` (because the `UNSAFE` static field was `null`). > > Yesterday I have integrated a PR in order to fix these issues [2] - the fix simply replaces `UNSAFE.addressSize()` with `UNSAFE.ADDRESS_SIZE` (e.g. replace instance method call with static field access). > > Today I've spent more time investigating what's actually wrong with the code, given that I couldn't see any obvious looping logic. After staring at the code for some time, I realized that we indeed suffer from cyclic initialization. The cycle goes as follows: > > * A client calls `FileChannel::map` > * That method wants to create a new instance of `MappedMemorySegmentImpl` > * To do that, we need to load `MappedMemorySegmentImpl` and run its static initializers > * But, to do that, we need to load `NativeMemorySegmentImpl` and run its static initializers > * But, but, to do that, we need to load `AbstractMemorySegmentImpl` and run its static initializers > * But, but, but, to do that, we need to load `MemorySegment` and run its static initializers > * Unfortunately, `MemorySegment` has a static final field, namely `NULL` which calls the static method `NativeMemorySegment.makeNativeSegmentUnchecked` > * This method creates a new `NativeMemorySegmentImpl` (for `NULL`), but when evaluating the constructor, no static field in the class is set; hence we NPE. > > In other words, while initializing a subclass, we initialize a superclass - but that initialization points back to the subclass. Hence the cycle. > > To solve this w/o having to change the public API, I have added a dedicated, simple constructor which can be used to construct the memory segment instance for `NULL`. This constructor has some documentation which explains the initialization issues, and should be left alone (other than when initializing `NULL`). > > [1] - https://git.openjdk.org/panama-foreign/pull/774 > [2] - https://git.openjdk.org/panama-foreign/pull/782 Marked as reviewed by jvernee (Committer). ------------- PR: https://git.openjdk.org/panama-foreign/pull/783 From jvernee at openjdk.org Wed Feb 8 23:02:10 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Wed, 8 Feb 2023 23:02:10 GMT Subject: [foreign-memaccess+abi] RFR: 8300294: Add tests for by-value unions and structs with nested fixed-length arrays Message-ID: I've added some tests for by-value unions, structs/unions nested into other structs, and aggregates with nested inline arrays. These test cases are taken from a fuzzer I wrote a while ago. So, they are a bit random, but should serve as a basic test for the cases that we miss with TestDowncall/TestUpcall today. This mostly helps give some coverage of the linker's classification code for these cases. I've also pulled in some test value generation code, which can generate random test values when given a MemoryLayout, allocator and random generator. (if it seems useful, I can re-write the existing tests to use this generation code as well, but I'd like to save that for a followup PR). Unfortunately, the fallback linker doesn't seem to be able to reliably handle by-value unions. It's a know issue with libffi. I've filed: https://bugs.openjdk.org/browse/JDK-8301800 for now. I've changed the implementation to throw an IAE, which was already specified for `Linker::downcallHandle/upcallStub`: https://github.com/openjdk/panama-foreign/blob/f61f3a31af4976d0e64d3bfa72cda95b501e2a7d/src/java.base/share/classes/java/lang/foreign/Linker.java#L232-L235 There was also a bug in the classification of HFAs on AArch64 which I've fixed. The issue was that structs with float/double fields that are nested into arrays or other structs/unions should also be counted as HFAs. But, the correct classification logic only accounted for the 'flat' case, where a struct only contains ValueLayouts. ------------- Commit messages: - change to IAE - fix TesNested failures - polish tests + disable test on zero - rename saver MH - simplify slicer - Add nested test Changes: https://git.openjdk.org/panama-foreign/pull/780/files Webrev: https://webrevs.openjdk.org/?repo=panama-foreign&pr=780&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8300294 Stats: 590 lines in 7 files changed: 584 ins; 0 del; 6 mod Patch: https://git.openjdk.org/panama-foreign/pull/780.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/780/head:pull/780 PR: https://git.openjdk.org/panama-foreign/pull/780 From jvernee at openjdk.org Wed Feb 8 23:02:12 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Wed, 8 Feb 2023 23:02:12 GMT Subject: [foreign-memaccess+abi] RFR: 8300294: Add tests for by-value unions and structs with nested fixed-length arrays In-Reply-To: References: Message-ID: On Fri, 3 Feb 2023 17:52:23 GMT, Jorn Vernee wrote: > I've added some tests for by-value unions, structs/unions nested into other structs, and aggregates with nested inline arrays. > > These test cases are taken from a fuzzer I wrote a while ago. So, they are a bit random, but should serve as a basic test for the cases that we miss with TestDowncall/TestUpcall today. This mostly helps give some coverage of the linker's classification code for these cases. > > I've also pulled in some test value generation code, which can generate random test values when given a MemoryLayout, allocator and random generator. (if it seems useful, I can re-write the existing tests to use this generation code as well, but I'd like to save that for a followup PR). > > Unfortunately, the fallback linker doesn't seem to be able to reliably handle by-value unions. It's a know issue with libffi. I've filed: https://bugs.openjdk.org/browse/JDK-8301800 for now. I've changed the implementation to throw an IAE, which was already specified for `Linker::downcallHandle/upcallStub`: > > https://github.com/openjdk/panama-foreign/blob/f61f3a31af4976d0e64d3bfa72cda95b501e2a7d/src/java.base/share/classes/java/lang/foreign/Linker.java#L232-L235 > > There was also a bug in the classification of HFAs on AArch64 which I've fixed. The issue was that structs with float/double fields that are nested into arrays or other structs/unions should also be counted as HFAs. But, the correct classification logic only accounted for the 'flat' case, where a struct only contains ValueLayouts. src/java.base/share/classes/jdk/internal/foreign/abi/aarch64/TypeClass.java line 80: > 78: } else { > 79: // padding or value layouts > 80: out.add(member); Note here that groups with padding will be rejected later when each field is checked in `isHomogeneousFloatAggregate` ------------- PR: https://git.openjdk.org/panama-foreign/pull/780 From mcimadamore at openjdk.org Wed Feb 8 23:51:09 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Wed, 8 Feb 2023 23:51:09 GMT Subject: [foreign-memaccess+abi] Integrated: Add `final` to AbstractMemorySegmentImpl::asUnbounded In-Reply-To: <_plKQKrdhlNSv_Ii3JOHCYQmuw40HehyH9NywWaU15M=.6023e7a9-d799-4f9e-bd01-7f51c0e457bb@github.com> References: <_plKQKrdhlNSv_Ii3JOHCYQmuw40HehyH9NywWaU15M=.6023e7a9-d799-4f9e-bd01-7f51c0e457bb@github.com> Message-ID: On Wed, 8 Feb 2023 19:05:12 GMT, Maurizio Cimadamore wrote: > The recent changes in https://git.openjdk.org/panama-foreign/pull/775 cause some issue in a test which ensures that caller sensitive methods are declared correctly. More specifically, the test fails whenever a non-final caller sensitive method is found. The fix is to simply add `final` to `AbstractMemorySegmentImpl::asUnbounded`. This pull request has now been integrated. Changeset: 5f2c3665 Author: Maurizio Cimadamore URL: https://git.openjdk.org/panama-foreign/commit/5f2c36655a0aac5004427bbb0085dabd08a110c9 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Add `final` to AbstractMemorySegmentImpl::asUnbounded Reviewed-by: jvernee ------------- PR: https://git.openjdk.org/panama-foreign/pull/784 From mcimadamore at openjdk.org Wed Feb 8 23:51:59 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Wed, 8 Feb 2023 23:51:59 GMT Subject: [foreign-memaccess+abi] Integrated: 8302098: Fix initialization order in NativeMemorySegmentImpl In-Reply-To: <59vnAMmcoDAVVxV1RhEMM8ydQxOYxVIF8WcNqQOdpdc=.e6602c18-ac04-4e2a-adc7-ee6a64b9b2ae@github.com> References: <59vnAMmcoDAVVxV1RhEMM8ydQxOYxVIF8WcNqQOdpdc=.e6602c18-ac04-4e2a-adc7-ee6a64b9b2ae@github.com> Message-ID: On Wed, 8 Feb 2023 18:58:52 GMT, Maurizio Cimadamore wrote: > Hi, > the recent fix for 8300201 [1] exposed a latent initialization bug in the FFM API implementation. That fix added a call to `UNSAFE.addressSize()` in the constructor of `NativeMemorySegmentImpl` (in order to perform some normalization of the incoming address on 32-bit platforms). After we integrated that change we have started to see some failures in our nightly builds. Most failures had to do with creating memory mapped segments and manifested themselves as NPEs when tryin to call `UNSAFE.addressSize()` (because the `UNSAFE` static field was `null`). > > Yesterday I have integrated a PR in order to fix these issues [2] - the fix simply replaces `UNSAFE.addressSize()` with `UNSAFE.ADDRESS_SIZE` (e.g. replace instance method call with static field access). > > Today I've spent more time investigating what's actually wrong with the code, given that I couldn't see any obvious looping logic. After staring at the code for some time, I realized that we indeed suffer from cyclic initialization. The cycle goes as follows: > > * A client calls `FileChannel::map` > * That method wants to create a new instance of `MappedMemorySegmentImpl` > * To do that, we need to load `MappedMemorySegmentImpl` and run its static initializers > * But, to do that, we need to load `NativeMemorySegmentImpl` and run its static initializers > * But, but, to do that, we need to load `AbstractMemorySegmentImpl` and run its static initializers > * But, but, but, to do that, we need to load `MemorySegment` and run its static initializers > * Unfortunately, `MemorySegment` has a static final field, namely `NULL` which calls the static method `NativeMemorySegment.makeNativeSegmentUnchecked` > * This method creates a new `NativeMemorySegmentImpl` (for `NULL`), but when evaluating the constructor, no static field in the class is set; hence we NPE. > > In other words, while initializing a subclass, we initialize a superclass - but that initialization points back to the subclass. Hence the cycle. > > To solve this w/o having to change the public API, I have added a dedicated, simple constructor which can be used to construct the memory segment instance for `NULL`. This constructor has some documentation which explains the initialization issues, and should be left alone (other than when initializing `NULL`). > > [1] - https://git.openjdk.org/panama-foreign/pull/774 > [2] - https://git.openjdk.org/panama-foreign/pull/782 This pull request has now been integrated. Changeset: cabef455 Author: Maurizio Cimadamore URL: https://git.openjdk.org/panama-foreign/commit/cabef4551925ab9e9154afc58a58ff3c963cc280 Stats: 13 lines in 2 files changed: 11 ins; 0 del; 2 mod 8302098: Fix initialization order in NativeMemorySegmentImpl Reviewed-by: jvernee ------------- PR: https://git.openjdk.org/panama-foreign/pull/783 From mcimadamore at openjdk.org Thu Feb 9 10:32:07 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Thu, 9 Feb 2023 10:32:07 GMT Subject: [foreign-memaccess+abi] RFR: 8300294: Add tests for by-value unions and structs with nested fixed-length arrays In-Reply-To: References: Message-ID: On Fri, 3 Feb 2023 17:52:23 GMT, Jorn Vernee wrote: > I've added some tests for by-value unions, structs/unions nested into other structs, and aggregates with nested inline arrays. > > These test cases are taken from a fuzzer I wrote a while ago. So, they are a bit random in terms of the generated layouts, but should nonetheless serve as a basic test for the cases that we miss with TestDowncall/TestUpcall today. This mostly helps give some coverage of the linker's classification code for these cases. > > I've also pulled in some test value generation code, which can generate random test values when given a MemoryLayout, allocator and random generator. (if it seems useful, I can re-write the existing tests to use this generation code as well, but I'd like to save that for a followup PR). > > Unfortunately, the fallback linker doesn't seem to be able to reliably handle by-value unions. It's a know issue with libffi. I've filed: https://bugs.openjdk.org/browse/JDK-8301800 for now. I've changed the implementation to throw an IAE, which was already specified for `Linker::downcallHandle/upcallStub`: > > https://github.com/openjdk/panama-foreign/blob/f61f3a31af4976d0e64d3bfa72cda95b501e2a7d/src/java.base/share/classes/java/lang/foreign/Linker.java#L232-L235 > > There was also a bug in the classification of HFAs on AArch64 which I've fixed. The issue was that structs with float/double fields that are nested into arrays or other structs/unions should also be counted as HFAs. But, the correct classification logic only accounted for the 'flat' case, where a struct only contains ValueLayouts. Nice test! src/java.base/share/classes/jdk/internal/foreign/abi/aarch64/CallArranger.java line 269: > 267: int regType = forHFA ? StorageType.VECTOR : StorageType.INTEGER; > 268: int numChunks = (int)Utils.alignUp(layout.byteSize(), MAX_COPY_SIZE) / MAX_COPY_SIZE; > 269: List scalarLayouts = forHFA ? TypeClass.scalarLayouts(layout) : null; Perhaps, instead of two conditionals, it would be better to use a simple `if` ? I'm a bit worried about one path being `null` which then works in the subsequent conditional because the leading condition is the same. Seems a bit brittle. src/java.base/share/classes/jdk/internal/foreign/abi/aarch64/TypeClass.java line 70: > 68: } > 69: > 70: private static void scalarLayoutsR(List out, GroupLayout gl) { where does the `R` in the name comes from? test/jdk/java/foreign/nested/TestNested.java line 86: > 84: } > 85: > 86: static final StructLayout S1 = MemoryLayout.structLayout( Wouldn't it be better to have these structs defined inline inside the `List.of` call in the provider? That should make it a little easier to just add a new case. ------------- PR: https://git.openjdk.org/panama-foreign/pull/780 From mcimadamore at openjdk.org Thu Feb 9 10:32:10 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Thu, 9 Feb 2023 10:32:10 GMT Subject: [foreign-memaccess+abi] RFR: 8300294: Add tests for by-value unions and structs with nested fixed-length arrays In-Reply-To: References: Message-ID: <4jfyaiMrBFm3wZXW66HB2foz-CnU5skmkMbv2veXdRc=.ce69dc16-f35b-41a5-af05-5b46a7c9941a@github.com> On Wed, 8 Feb 2023 22:30:53 GMT, Jorn Vernee wrote: >> I've added some tests for by-value unions, structs/unions nested into other structs, and aggregates with nested inline arrays. >> >> These test cases are taken from a fuzzer I wrote a while ago. So, they are a bit random in terms of the generated layouts, but should nonetheless serve as a basic test for the cases that we miss with TestDowncall/TestUpcall today. This mostly helps give some coverage of the linker's classification code for these cases. >> >> I've also pulled in some test value generation code, which can generate random test values when given a MemoryLayout, allocator and random generator. (if it seems useful, I can re-write the existing tests to use this generation code as well, but I'd like to save that for a followup PR). >> >> Unfortunately, the fallback linker doesn't seem to be able to reliably handle by-value unions. It's a know issue with libffi. I've filed: https://bugs.openjdk.org/browse/JDK-8301800 for now. I've changed the implementation to throw an IAE, which was already specified for `Linker::downcallHandle/upcallStub`: >> >> https://github.com/openjdk/panama-foreign/blob/f61f3a31af4976d0e64d3bfa72cda95b501e2a7d/src/java.base/share/classes/java/lang/foreign/Linker.java#L232-L235 >> >> There was also a bug in the classification of HFAs on AArch64 which I've fixed. The issue was that structs with float/double fields that are nested into arrays or other structs/unions should also be counted as HFAs. But, the correct classification logic only accounted for the 'flat' case, where a struct only contains ValueLayouts. > > src/java.base/share/classes/jdk/internal/foreign/abi/aarch64/TypeClass.java line 80: > >> 78: } else { >> 79: // padding or value layouts >> 80: out.add(member); > > Note here that groups with padding will be rejected later when each field is checked in `isHomogeneousFloatAggregate` Does the order in which you collect the layouts matter? E.g. this will do a depth-first visit of the layout tree - I see that the code above does an indexed get on the scalar layout list, so I believe the order does matter. My impression is that it's ok: the depth-first visit returns layouts in the order in which they are laid out in memory, which seems to make sense for an ABI. ------------- PR: https://git.openjdk.org/panama-foreign/pull/780 From jvernee at openjdk.org Thu Feb 9 14:14:12 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Thu, 9 Feb 2023 14:14:12 GMT Subject: [foreign-memaccess+abi] RFR: 8300294: Add tests for by-value unions and structs with nested fixed-length arrays In-Reply-To: References: Message-ID: <0ZLKKSgFKNfqRcLAMebEvDexESCWFLXkfI8zskbrgIM=.799d191c-9975-4638-aae7-92167e0707bd@github.com> On Thu, 9 Feb 2023 10:14:30 GMT, Maurizio Cimadamore wrote: >> I've added some tests for by-value unions, structs/unions nested into other structs, and aggregates with nested inline arrays. >> >> These test cases are taken from a fuzzer I wrote a while ago. So, they are a bit random in terms of the generated layouts, but should nonetheless serve as a basic test for the cases that we miss with TestDowncall/TestUpcall today. This mostly helps give some coverage of the linker's classification code for these cases. >> >> I've also pulled in some test value generation code, which can generate random test values when given a MemoryLayout, allocator and random generator. (if it seems useful, I can re-write the existing tests to use this generation code as well, but I'd like to save that for a followup PR). >> >> Unfortunately, the fallback linker doesn't seem to be able to reliably handle by-value unions. It's a know issue with libffi. I've filed: https://bugs.openjdk.org/browse/JDK-8301800 for now. I've changed the implementation to throw an IAE, which was already specified for `Linker::downcallHandle/upcallStub`: >> >> https://github.com/openjdk/panama-foreign/blob/f61f3a31af4976d0e64d3bfa72cda95b501e2a7d/src/java.base/share/classes/java/lang/foreign/Linker.java#L232-L235 >> >> There was also a bug in the classification of HFAs on AArch64 which I've fixed. The issue was that structs with float/double fields that are nested into arrays or other structs/unions should also be counted as HFAs. But, the correct classification logic only accounted for the 'flat' case, where a struct only contains ValueLayouts. > > src/java.base/share/classes/jdk/internal/foreign/abi/aarch64/CallArranger.java line 269: > >> 267: int regType = forHFA ? StorageType.VECTOR : StorageType.INTEGER; >> 268: int numChunks = (int)Utils.alignUp(layout.byteSize(), MAX_COPY_SIZE) / MAX_COPY_SIZE; >> 269: List scalarLayouts = forHFA ? TypeClass.scalarLayouts(layout) : null; > > Perhaps, instead of two conditionals, it would be better to use a simple `if` ? I'm a bit worried about one path being `null` which then works in the subsequent conditional because the leading condition is the same. Seems a bit brittle. That's also a possibility, I can put the initialization of `regType` into the `if` as well. I'll do that. > src/java.base/share/classes/jdk/internal/foreign/abi/aarch64/TypeClass.java line 70: > >> 68: } >> 69: >> 70: private static void scalarLayoutsR(List out, GroupLayout gl) { > > where does the `R` in the name comes from? R stands for 'recursive'. I'll type it out. (or, maybe another name like `scalarLayoutsInternal` is better. That seems to be more common in JDK code at least) ------------- PR: https://git.openjdk.org/panama-foreign/pull/780 From jvernee at openjdk.org Thu Feb 9 14:18:11 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Thu, 9 Feb 2023 14:18:11 GMT Subject: [foreign-memaccess+abi] RFR: 8300294: Add tests for by-value unions and structs with nested fixed-length arrays In-Reply-To: <4jfyaiMrBFm3wZXW66HB2foz-CnU5skmkMbv2veXdRc=.ce69dc16-f35b-41a5-af05-5b46a7c9941a@github.com> References: <4jfyaiMrBFm3wZXW66HB2foz-CnU5skmkMbv2veXdRc=.ce69dc16-f35b-41a5-af05-5b46a7c9941a@github.com> Message-ID: On Thu, 9 Feb 2023 10:18:31 GMT, Maurizio Cimadamore wrote: >> src/java.base/share/classes/jdk/internal/foreign/abi/aarch64/TypeClass.java line 80: >> >>> 78: } else { >>> 79: // padding or value layouts >>> 80: out.add(member); >> >> Note here that groups with padding will be rejected later when each field is checked in `isHomogeneousFloatAggregate` > > Does the order in which you collect the layouts matter? E.g. this will do a depth-first visit of the layout tree - I see that the code above does an indexed get on the scalar layout list, so I believe the order does matter. > > My impression is that it's ok: the depth-first visit returns layouts in the order in which they are laid out in memory, which seems to make sense for an ABI. It doesn't matter for the classification, all the ValueLayouts just need to be the same. Later when computing the struct storages in CallArranger, it also doesn't really matter. There we look at the carrier, byte size, and maybe alignment. But since all the layouts are again the same, they could technically be processed in any order. ------------- PR: https://git.openjdk.org/panama-foreign/pull/780 From jvernee at openjdk.org Thu Feb 9 14:25:04 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Thu, 9 Feb 2023 14:25:04 GMT Subject: [foreign-memaccess+abi] RFR: 8300294: Add tests for by-value unions and structs with nested fixed-length arrays In-Reply-To: References: Message-ID: On Thu, 9 Feb 2023 10:26:03 GMT, Maurizio Cimadamore wrote: >> I've added some tests for by-value unions, structs/unions nested into other structs, and aggregates with nested inline arrays. >> >> These test cases are taken from a fuzzer I wrote a while ago. So, they are a bit random in terms of the generated layouts, but should nonetheless serve as a basic test for the cases that we miss with TestDowncall/TestUpcall today. This mostly helps give some coverage of the linker's classification code for these cases. >> >> I've also pulled in some test value generation code, which can generate random test values when given a MemoryLayout, allocator and random generator. (if it seems useful, I can re-write the existing tests to use this generation code as well, but I'd like to save that for a followup PR). >> >> Unfortunately, the fallback linker doesn't seem to be able to reliably handle by-value unions. It's a know issue with libffi. I've filed: https://bugs.openjdk.org/browse/JDK-8301800 for now. I've changed the implementation to throw an IAE, which was already specified for `Linker::downcallHandle/upcallStub`: >> >> https://github.com/openjdk/panama-foreign/blob/f61f3a31af4976d0e64d3bfa72cda95b501e2a7d/src/java.base/share/classes/java/lang/foreign/Linker.java#L232-L235 >> >> There was also a bug in the classification of HFAs on AArch64 which I've fixed. The issue was that structs with float/double fields that are nested into arrays or other structs/unions should also be counted as HFAs. But, the correct classification logic only accounted for the 'flat' case, where a struct only contains ValueLayouts. > > test/jdk/java/foreign/nested/TestNested.java line 86: > >> 84: } >> 85: >> 86: static final StructLayout S1 = MemoryLayout.structLayout( > > Wouldn't it be better to have these structs defined inline inside the `List.of` call in the provider? That should make it a little easier to just add a new case. I don't think so, because there are struct and union layouts that are nested inside other layouts, but then _also_ are a test case themselves. So, I think we need some intermediate variables either way (or copy paste), and then it seems cleaner to do that for all the layouts. ------------- PR: https://git.openjdk.org/panama-foreign/pull/780 From mcimadamore at openjdk.org Thu Feb 9 14:34:23 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Thu, 9 Feb 2023 14:34:23 GMT Subject: [foreign-memaccess+abi] RFR: 8300294: Add tests for by-value unions and structs with nested fixed-length arrays In-Reply-To: <0ZLKKSgFKNfqRcLAMebEvDexESCWFLXkfI8zskbrgIM=.799d191c-9975-4638-aae7-92167e0707bd@github.com> References: <0ZLKKSgFKNfqRcLAMebEvDexESCWFLXkfI8zskbrgIM=.799d191c-9975-4638-aae7-92167e0707bd@github.com> Message-ID: <1Ax36w-7zQkHudbDCSnA4tV7yWxNNTC6zqmWEvlPxr8=.e8350168-0e84-4991-a272-b37d64f2a8a6@github.com> On Thu, 9 Feb 2023 14:11:08 GMT, Jorn Vernee wrote: >> src/java.base/share/classes/jdk/internal/foreign/abi/aarch64/TypeClass.java line 70: >> >>> 68: } >>> 69: >>> 70: private static void scalarLayoutsR(List out, GroupLayout gl) { >> >> where does the `R` in the name comes from? > > R stands for 'recursive'. I'll type it out. (or, maybe another name like `scalarLayoutsInternal` is better. That seems to be more common in JDK code at least) I was about to suggest `internal` - but then I wasn't sure if it was derived from an ABI specific term. >> test/jdk/java/foreign/nested/TestNested.java line 86: >> >>> 84: } >>> 85: >>> 86: static final StructLayout S1 = MemoryLayout.structLayout( >> >> Wouldn't it be better to have these structs defined inline inside the `List.of` call in the provider? That should make it a little easier to just add a new case. > > I don't think so, because there are struct and union layouts that are nested inside other layouts, but then _also_ are a test case themselves. So, I think we need some intermediate variables either way (or copy paste), and then it seems cleaner to do that for all the layouts. I see - missed that, thanks. ------------- PR: https://git.openjdk.org/panama-foreign/pull/780 From jvernee at openjdk.org Thu Feb 9 15:58:22 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Thu, 9 Feb 2023 15:58:22 GMT Subject: [foreign-memaccess+abi] RFR: 8300294: Add tests for by-value unions and structs with nested fixed-length arrays [v2] In-Reply-To: References: Message-ID: > I've added some tests for by-value unions, structs/unions nested into other structs, and aggregates with nested inline arrays. > > These test cases are taken from a fuzzer I wrote a while ago. So, they are a bit random in terms of the generated layouts, but should nonetheless serve as a basic test for the cases that we miss with TestDowncall/TestUpcall today. This mostly helps give some coverage of the linker's classification code for these cases. > > I've also pulled in some test value generation code, which can generate random test values when given a MemoryLayout, allocator and random generator. (if it seems useful, I can re-write the existing tests to use this generation code as well, but I'd like to save that for a followup PR). > > Unfortunately, the fallback linker doesn't seem to be able to reliably handle by-value unions. It's a know issue with libffi. I've filed: https://bugs.openjdk.org/browse/JDK-8301800 for now. I've changed the implementation to throw an IAE, which was already specified for `Linker::downcallHandle/upcallStub`: > > https://github.com/openjdk/panama-foreign/blob/f61f3a31af4976d0e64d3bfa72cda95b501e2a7d/src/java.base/share/classes/java/lang/foreign/Linker.java#L232-L235 > > There was also a bug in the classification of HFAs on AArch64 which I've fixed. The issue was that structs with float/double fields that are nested into arrays or other structs/unions should also be counted as HFAs. But, the correct classification logic only accounted for the 'flat' case, where a struct only contains ValueLayouts. Jorn Vernee has updated the pull request incrementally with one additional commit since the last revision: review comments ------------- Changes: - all: https://git.openjdk.org/panama-foreign/pull/780/files - new: https://git.openjdk.org/panama-foreign/pull/780/files/c47df9ed..944dfd1e Webrevs: - full: https://webrevs.openjdk.org/?repo=panama-foreign&pr=780&range=01 - incr: https://webrevs.openjdk.org/?repo=panama-foreign&pr=780&range=00-01 Stats: 14 lines in 2 files changed: 8 ins; 1 del; 5 mod Patch: https://git.openjdk.org/panama-foreign/pull/780.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/780/head:pull/780 PR: https://git.openjdk.org/panama-foreign/pull/780 From mcimadamore at openjdk.org Thu Feb 9 16:02:02 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Thu, 9 Feb 2023 16:02:02 GMT Subject: [foreign-memaccess+abi] RFR: 8300294: Add tests for by-value unions and structs with nested fixed-length arrays [v2] In-Reply-To: References: Message-ID: On Thu, 9 Feb 2023 15:58:22 GMT, Jorn Vernee wrote: >> I've added some tests for by-value unions, structs/unions nested into other structs, and aggregates with nested inline arrays. >> >> These test cases are taken from a fuzzer I wrote a while ago. So, they are a bit random in terms of the generated layouts, but should nonetheless serve as a basic test for the cases that we miss with TestDowncall/TestUpcall today. This mostly helps give some coverage of the linker's classification code for these cases. >> >> I've also pulled in some test value generation code, which can generate random test values when given a MemoryLayout, allocator and random generator. (if it seems useful, I can re-write the existing tests to use this generation code as well, but I'd like to save that for a followup PR). >> >> Unfortunately, the fallback linker doesn't seem to be able to reliably handle by-value unions. It's a know issue with libffi. I've filed: https://bugs.openjdk.org/browse/JDK-8301800 for now. I've changed the implementation to throw an IAE, which was already specified for `Linker::downcallHandle/upcallStub`: >> >> https://github.com/openjdk/panama-foreign/blob/f61f3a31af4976d0e64d3bfa72cda95b501e2a7d/src/java.base/share/classes/java/lang/foreign/Linker.java#L232-L235 >> >> There was also a bug in the classification of HFAs on AArch64 which I've fixed. The issue was that structs with float/double fields that are nested into arrays or other structs/unions should also be counted as HFAs. But, the correct classification logic only accounted for the 'flat' case, where a struct only contains ValueLayouts. > > Jorn Vernee has updated the pull request incrementally with one additional commit since the last revision: > > review comments Marked as reviewed by mcimadamore (Committer). ------------- PR: https://git.openjdk.org/panama-foreign/pull/780 From jvernee at openjdk.org Thu Feb 9 18:49:24 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Thu, 9 Feb 2023 18:49:24 GMT Subject: [foreign-memaccess+abi] RFR: 8301801: Implement arena-centric API In-Reply-To: References: Message-ID: On Tue, 7 Feb 2023 14:32:46 GMT, Maurizio Cimadamore wrote: > This patch implements the API proposal described here: > > https://cr.openjdk.java.net/~mcimadamore/panama/scoped_arenas.html > > The main changes are: > > * Static factories `MemorySegment::allocateNative` are gone; > * The static factory `SegmentAllocator::nativeAllocator` is also gone; > * `SegmentScope` moved as nested class in `MemorySegment` (e.g. `MemorySegment.Scope`); > * Tweak methods accepting `SegmentScope` to accept `Arena` instead; > * Simplify `Arena` API, by removing predicates (`isCloseable`/`isAccessibleBy`) and by dropping `whileAlive`; > * Change arena factories to use `of` prefix instead of `open` - and rename `auto()` to `ofAuto()`. > > The API changes are rather straightforward, but they lead to several shallow test and microbenchmark changes, so the number of affected file is quite big (mostly because of the rename `openConfined` -> `ofConfined`). > > A javadoc of the proposed changes is available here: > > http://cr.openjdk.java.net/~mcimadamore/panama/scoped_arena_interface_lump_predicates/ Looks mostly good, see the inline comments. src/java.base/share/classes/java/lang/foreign/Arena.java line 25: > 23: * questions. > 24: * > 25: */ The changes to the copyright header don't look intentional? src/java.base/share/classes/java/lang/foreign/Arena.java line 156: > 154: * @since 20 > 155: */ > 156: @PreviewFeature(feature =PreviewFeature.Feature.FOREIGN) Spurious? Suggestion: @PreviewFeature(feature=PreviewFeature.Feature.FOREIGN) src/java.base/share/classes/java/lang/foreign/Linker.java line 38: > 36: import java.lang.foreign.ValueLayout.OfAddress; > 37: import java.lang.invoke.MethodHandle; > 38: import java.util.Arrays; Spurious import? src/java.base/share/classes/java/lang/foreign/Linker.java line 132: > 130: *

> 131: * An upcall stub argument whose corresponding layout is an {@linkplain ValueLayout.OfAddress address layout} > 132: * is a native segment associated with a scope that is alive for the entire duration of the upcall. The new text is incorrect. Only structs/unions (associate with GroupLayout) are alive for the duration of the upcall. Addresses are always alive (same as downcall address returns). src/java.base/share/classes/java/lang/foreign/MemorySegment.java line 1177: > 1175: * (often as a plain {@code long} value). > 1176: *

> 1177: * The returned segment is not read-only (see {@link MemorySegment#isReadOnly()}), and its lifetime is controlled Suggestion: * The returned segment is not {@linkplain MemorySegment#isReadOnly() read-only}, and its lifetime is controlled src/java.base/share/classes/java/lang/foreign/MemorySegment.java line 1220: > 1218: * (often as a plain {@code long} value). > 1219: *

> 1220: * The returned segment is not read-only (see {@link MemorySegment#isReadOnly()}), and its lifetime is controlled Suggestion: * The returned segment is not {@linkplain MemorySegment#isReadOnly() read-only}, and its lifetime is controlled src/java.base/share/classes/java/lang/foreign/MemorySegment.java line 1815: > 1813: * @throws IllegalArgumentException if provided address layout has a {@linkplain OfAddress#targetLayout() target layout} > 1814: * {@code T}, and the address of the returned segment > 1815: * incompatible with the alignment constraint in {@code T}. I don't think this bit should be removed? src/java.base/share/classes/java/lang/foreign/MemorySegment.java line 2043: > 2041: > 2042: /** > 2043: /** Spurious Suggestion: src/java.base/share/classes/java/lang/foreign/MemorySegment.java line 2257: > 2255: /** > 2256: * {@return {@code true}, if the segments associated with this scope can be accessed}. > 2257: */ Is this doc still correct now that we also have `MS::isAccessibleBy`? src/java.base/share/classes/java/lang/foreign/SymbolLookup.java line 198: > 196: * > 197: * @param name the name of the library in which symbols should be looked up. > 198: * @param arena the arema associated with symbols obtained from the returned lookup. Suggestion: * @param arena the arena associated with symbols obtained from the returned lookup. src/java.base/share/classes/java/lang/foreign/package-info.java line 87: > 85: *} > 86: * > 87: * A confined arena can be {@linkplain java.lang.foreign.Arena#close()}. When a confined Suggestion: * A confined arena can be {@linkplain java.lang.foreign.Arena#close() closed}. When a confined src/java.base/share/classes/jdk/internal/foreign/AbstractMemorySegmentImpl.java line 89: > 87: public static Arena arena(MemorySegment segment) { > 88: return ((AbstractMemorySegmentImpl)segment).scope.asArena(); > 89: } I can't find any usages of this. src/java.base/share/classes/jdk/internal/foreign/MemorySessionImpl.java line 63: > 61: > 62: public static final MemorySessionImpl GLOBAL = new GlobalSession(null, false); > 63: public static final MemorySessionImpl NATIVE = new GlobalSession(null, true); I don't get why this distinction is needed. GlobalSession has an isInternal() predicate but I don't see it called anywhere. Could you explain why we need 2 kinds of global session? src/java.base/share/classes/jdk/internal/foreign/MemorySessionImpl.java line 106: > 104: if (arena instanceof SessionArena arenaImpl) { > 105: return arenaImpl.sessionImpl; > 106: } else { is this instanceof needed? Seems like we should always be able to call `arena.scope()`? src/java.base/share/classes/jdk/internal/foreign/abi/SharedUtils.java line 157: > 155: > 156: private static MemorySegment bufferCopy(MemorySegment dest, MemorySegment buffer) { > 157: return dest.asUnbounded().copyFrom(buffer); Why is this change needed? The destination segment should already have the right size. Looking at the current code, this is used for upcall IMR, where we get a pointer from native code to copy the return value into. When that pointer is boxed up, we should be attaching the right size to it (since we know the layout of the return value). test/jdk/java/foreign/LibraryLookupTest.java line 75: > 73: if (session instanceof Arena arena) { > 74: assertEquals(addr.scope(), arena.scope()); > 75: } This looks strange. Isn't this check redundant? test/jdk/java/foreign/NativeTestHelper.java line 103: > 101: public static MemorySegment allocateMemory(long size) { > 102: try { > 103: return ((MemorySegment) MALLOC.invokeExact(size)).asUnbounded(); Not sure why `asUnbounded` is needed here, since `C_POINTER` already has an unbounded target layout attached. test/jdk/java/foreign/StdLibTest.java line 187: > 185: buf.setUtf8String(0, s1); > 186: MemorySegment other = arena.allocateUtf8String(s2); > 187: return ((MemorySegment)strcat.invokeExact(buf, other)).asUnbounded().getUtf8String(0); Same here test/jdk/java/foreign/StdLibTest.java line 289: > 287: static int qsortCompare(MemorySegment addr1, MemorySegment addr2) { > 288: return addr1.asUnbounded().get(C_INT, 0) - > 289: addr2.asUnbounded().get(C_INT, 0); Same here test/jdk/java/foreign/TestAdaptVarHandles.java line 197: > 195: try (Arena arena = Arena.ofConfined()) { > 196: Arena scope = arena; > 197: MemorySegment seg = scope.allocate(ValueLayout.JAVA_INT); Looks redundant Suggestion: MemorySegment seg = arena.allocate(ValueLayout.JAVA_INT); test/jdk/java/foreign/TestAdaptVarHandles.java line 209: > 207: try (Arena arena = Arena.ofConfined()) { > 208: Arena scope = arena; > 209: MemorySegment seg = scope.allocate(ValueLayout.JAVA_INT); Suggestion: MemorySegment seg = arena.allocate(ValueLayout.JAVA_INT); test/jdk/java/foreign/TestArrays.java line 131: > 129: long byteAlignment = layout.byteSize(); > 130: Arena scope = arena; > 131: MemorySegment segment = scope.allocate(byteSize, byteAlignment); Suggestion: MemorySegment segment = arena.allocate(byteSize, byteAlignment); test/jdk/java/foreign/TestArrays.java line 141: > 139: Arena arena = Arena.ofConfined(); > 140: Arena scope = arena; > 141: MemorySegment segment = scope.allocate(layout); Suggestion: MemorySegment segment = arena.allocate(layout); test/jdk/java/foreign/TestByteBuffer.java line 185: > 183: try (Arena arena = Arena.ofConfined()) { > 184: Arena scope = arena; > 185: MemorySegment segment = scope.allocate(tuples);; Suggestion: MemorySegment segment = arena.allocate(tuples); test/jdk/java/foreign/TestMismatch.java line 241: > 239: t.getCause().printStackTrace(); > 240: throw new AssertionError(t); > 241: } I guess this try/catch is no longer needed now that you fixed that circular init issue? test/jdk/java/foreign/TestMismatch.java line 298: > 296: NATIVE(i -> { > 297: return Arena.ofAuto().allocate(i, 1); > 298: }), Could be: Suggestion: NATIVE(i -> Arena.ofAuto().allocate(i, 1)), test/jdk/java/foreign/TestNulls.java line 123: > 121: "java.lang.foreign.ValueLayout$OfDouble/withAttribute(java.lang.String,java.lang.constant.Constable)/1/0", > 122: "java.lang.foreign.GroupLayout/withAttribute(java.lang.String,java.lang.constant.Constable)/1/0", > 123: "java.lang.foreign.FunctionDescriptor/withAttribute(java.lang.String,java.lang.constant.Constable)/1/0" Nice! test/jdk/java/foreign/TestSegmentAllocators.java line 354: > 352: Arena scope = drop; > 353: return SegmentAllocator.slicingAllocator(scope.allocate(size, 1)); > 354: }); Suggestion: SLICING(true, (size, scope) ->SegmentAllocator.slicingAllocator(scope.allocate(size, 1))); test/jdk/java/foreign/TestSegments.java line 229: > 227: () -> { > 228: return Arena.ofAuto().allocate(4L, 8); > 229: }, Suggestion: () -> Arena.ofAuto().allocate(4L, 8), test/jdk/java/foreign/TestSegments.java line 234: > 232: () -> { > 233: return Arena.ofAuto().allocate(4L, 8); > 234: }, Suggestion: () -> Arena.ofAuto().allocate(4L, 8), test/micro/org/openjdk/bench/java/lang/foreign/BulkMismatchAcquire.java line 52: > 50: @OutputTimeUnit(TimeUnit.MILLISECONDS) > 51: @Fork(value = 3, jvmArgsAppend = "--enable-preview") > 52: public class BulkMismatchAcquire { Why was this dropped? test/micro/org/openjdk/bench/java/lang/foreign/BulkOps.java line 71: > 69: Arena scope = arena; > 70: segment = scope.allocate(ALLOC_SIZE, 1); > 71: } I guess this is an artifact of an earlier iteration. Would be nice to clean these up though, I think. test/micro/org/openjdk/bench/java/lang/foreign/StrLenTest.java line 198: > 196: public MemorySegment allocate(long byteSize, long byteAlignment) { > 197: MemorySegment segment = slicing.allocate(byteSize, byteAlignment); > 198: return MemorySegment.ofAddress(segment.address(), byteSize, arena); I don't think the re-wrapping is needed here? The returned slice should already have the same arena, right? test/micro/org/openjdk/bench/java/lang/foreign/pointers/Pointer.java line 57: > 55: public > X get(Z type, long index) { > 56: MemorySegment address = segment.getAtIndex(type.layout(), index); > 57: return (X)new Pointer<>(address.asUnbounded()); Shouldn't be needed? The used layout already has an unbounded pointee attached AFAICS ------------- PR: https://git.openjdk.org/panama-foreign/pull/781 From jvernee at openjdk.org Thu Feb 9 18:49:24 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Thu, 9 Feb 2023 18:49:24 GMT Subject: [foreign-memaccess+abi] RFR: 8301801: Implement arena-centric API In-Reply-To: References: Message-ID: On Thu, 9 Feb 2023 16:28:27 GMT, Jorn Vernee wrote: >> This patch implements the API proposal described here: >> >> https://cr.openjdk.java.net/~mcimadamore/panama/scoped_arenas.html >> >> The main changes are: >> >> * Static factories `MemorySegment::allocateNative` are gone; >> * The static factory `SegmentAllocator::nativeAllocator` is also gone; >> * `SegmentScope` moved as nested class in `MemorySegment` (e.g. `MemorySegment.Scope`); >> * Tweak methods accepting `SegmentScope` to accept `Arena` instead; >> * Simplify `Arena` API, by removing predicates (`isCloseable`/`isAccessibleBy`) and by dropping `whileAlive`; >> * Change arena factories to use `of` prefix instead of `open` - and rename `auto()` to `ofAuto()`. >> >> The API changes are rather straightforward, but they lead to several shallow test and microbenchmark changes, so the number of affected file is quite big (mostly because of the rename `openConfined` -> `ofConfined`). >> >> A javadoc of the proposed changes is available here: >> >> http://cr.openjdk.java.net/~mcimadamore/panama/scoped_arena_interface_lump_predicates/ > > src/java.base/share/classes/jdk/internal/foreign/abi/SharedUtils.java line 157: > >> 155: >> 156: private static MemorySegment bufferCopy(MemorySegment dest, MemorySegment buffer) { >> 157: return dest.asUnbounded().copyFrom(buffer); > > Why is this change needed? The destination segment should already have the right size. > > Looking at the current code, this is used for upcall IMR, where we get a pointer from native code to copy the return value into. When that pointer is boxed up, we should be attaching the right size to it (since we know the layout of the return value). Okay, it looks like for in memory return on e.g. SysV, we are using just a plain `C_POINTER` layout without a pointee layout attached, so the boxed address should already have unbounded size. > test/jdk/java/foreign/TestByteBuffer.java line 185: > >> 183: try (Arena arena = Arena.ofConfined()) { >> 184: Arena scope = arena; >> 185: MemorySegment segment = scope.allocate(tuples);; > > Suggestion: > > MemorySegment segment = arena.allocate(tuples); Looks like there are several more like this in the rest of the tests as well. If you don't feel like they're worth cleaning up then I'm fine with that as well. ------------- PR: https://git.openjdk.org/panama-foreign/pull/781 From jvernee at openjdk.org Thu Feb 9 18:49:25 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Thu, 9 Feb 2023 18:49:25 GMT Subject: [foreign-memaccess+abi] RFR: 8301801: Implement arena-centric API In-Reply-To: References: Message-ID: On Thu, 9 Feb 2023 16:42:27 GMT, Jorn Vernee wrote: >> src/java.base/share/classes/jdk/internal/foreign/abi/SharedUtils.java line 157: >> >>> 155: >>> 156: private static MemorySegment bufferCopy(MemorySegment dest, MemorySegment buffer) { >>> 157: return dest.asUnbounded().copyFrom(buffer); >> >> Why is this change needed? The destination segment should already have the right size. >> >> Looking at the current code, this is used for upcall IMR, where we get a pointer from native code to copy the return value into. When that pointer is boxed up, we should be attaching the right size to it (since we know the layout of the return value). > > Okay, it looks like for in memory return on e.g. SysV, we are using just a plain `C_POINTER` layout without a pointee layout attached, so the boxed address should already have unbounded size. I guess we could also potentially attach the right size to the address layout, to make this buffer copy just a bit more safe. But, we can do that later. ------------- PR: https://git.openjdk.org/panama-foreign/pull/781 From jvernee at openjdk.org Thu Feb 9 18:52:09 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Thu, 9 Feb 2023 18:52:09 GMT Subject: [foreign-memaccess+abi] Integrated: 8300294: Add tests for by-value unions and structs with nested fixed-length arrays In-Reply-To: References: Message-ID: On Fri, 3 Feb 2023 17:52:23 GMT, Jorn Vernee wrote: > I've added some tests for by-value unions, structs/unions nested into other structs, and aggregates with nested inline arrays. > > These test cases are taken from a fuzzer I wrote a while ago. So, they are a bit random in terms of the generated layouts, but should nonetheless serve as a basic test for the cases that we miss with TestDowncall/TestUpcall today. This mostly helps give some coverage of the linker's classification code for these cases. > > I've also pulled in some test value generation code, which can generate random test values when given a MemoryLayout, allocator and random generator. (if it seems useful, I can re-write the existing tests to use this generation code as well, but I'd like to save that for a followup PR). > > Unfortunately, the fallback linker doesn't seem to be able to reliably handle by-value unions. It's a know issue with libffi. I've filed: https://bugs.openjdk.org/browse/JDK-8301800 for now. I've changed the implementation to throw an IAE, which was already specified for `Linker::downcallHandle/upcallStub`: > > https://github.com/openjdk/panama-foreign/blob/f61f3a31af4976d0e64d3bfa72cda95b501e2a7d/src/java.base/share/classes/java/lang/foreign/Linker.java#L232-L235 > > There was also a bug in the classification of HFAs on AArch64 which I've fixed. The issue was that structs with float/double fields that are nested into arrays or other structs/unions should also be counted as HFAs. But, the correct classification logic only accounted for the 'flat' case, where a struct only contains ValueLayouts. This pull request has now been integrated. Changeset: 53114302 Author: Jorn Vernee URL: https://git.openjdk.org/panama-foreign/commit/5311430254613512f6fd7f7d287f18fed3e307a5 Stats: 599 lines in 7 files changed: 592 ins; 1 del; 6 mod 8300294: Add tests for by-value unions and structs with nested fixed-length arrays Reviewed-by: mcimadamore ------------- PR: https://git.openjdk.org/panama-foreign/pull/780 From jvernee at openjdk.org Thu Feb 9 23:08:07 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Thu, 9 Feb 2023 23:08:07 GMT Subject: [foreign-memaccess+abi] RFR: 8301801: Implement arena-centric API In-Reply-To: References: Message-ID: <3QDufPcScaro5fpDjtgWJroDzKZMB3PdaxNTk-leC0I=.69e7d43b-df03-463e-8815-a4b384da23b3@github.com> On Thu, 9 Feb 2023 17:42:59 GMT, Jorn Vernee wrote: >> This patch implements the API proposal described here: >> >> https://cr.openjdk.java.net/~mcimadamore/panama/scoped_arenas.html >> >> The main changes are: >> >> * Static factories `MemorySegment::allocateNative` are gone; >> * The static factory `SegmentAllocator::nativeAllocator` is also gone; >> * `SegmentScope` moved as nested class in `MemorySegment` (e.g. `MemorySegment.Scope`); >> * Tweak methods accepting `SegmentScope` to accept `Arena` instead; >> * Simplify `Arena` API, by removing predicates (`isCloseable`/`isAccessibleBy`) and by dropping `whileAlive`; >> * Change arena factories to use `of` prefix instead of `open` - and rename `auto()` to `ofAuto()`. >> >> The API changes are rather straightforward, but they lead to several shallow test and microbenchmark changes, so the number of affected file is quite big (mostly because of the rename `openConfined` -> `ofConfined`). >> >> A javadoc of the proposed changes is available here: >> >> http://cr.openjdk.java.net/~mcimadamore/panama/scoped_arena_interface_lump_predicates/ > > test/micro/org/openjdk/bench/java/lang/foreign/StrLenTest.java line 198: > >> 196: public MemorySegment allocate(long byteSize, long byteAlignment) { >> 197: MemorySegment segment = slicing.allocate(byteSize, byteAlignment); >> 198: return MemorySegment.ofAddress(segment.address(), byteSize, arena); > > I don't think the re-wrapping is needed here? The returned slice should already have the same arena, right? Ah, actually I'm misreading this. This is re-wrapping under the allocator's shorter-lived arena. ------------- PR: https://git.openjdk.org/panama-foreign/pull/781 From jvernee at openjdk.org Fri Feb 10 00:13:12 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Fri, 10 Feb 2023 00:13:12 GMT Subject: [foreign-memaccess+abi] RFR: 8296315: Add get/set-AtIndex methods for byte, boolean [v2] In-Reply-To: References: Message-ID: On Thu, 3 Nov 2022 15:03:59 GMT, RedIODev wrote: >> This PR adds the left out getAtIndex and setAtIndex methods for byte and boolean to java.lang.foreign.MemorySegment.java > > RedIODev has updated the pull request incrementally with one additional commit since the last revision: > > added tests to TestMemoryAccessInstance During some last minute testing it turned out there are some compilation failures after rebasing on the latest `foreign-memaccess+abi` branch, due to classes being renamed, and the javadoc still pointing to the old class name. I've added the needed doc changes as inline suggestions. You should be able to easily apply them from GitHub. Sorry about that. src/java.base/share/classes/java/lang/foreign/MemorySegment.java line 1720: > 1718: * {@linkplain MemorySession#isAlive() alive}. > 1719: * @throws WrongThreadException if this method is called from a thread other than the thread owning > 1720: * the {@linkplain #session() session} associated with this segment. Suggestion: * @throws IllegalStateException if the {@linkplain #scope() scope} associated with this segment is not * {@linkplain SegmentScope#isAlive() alive}. * @throws WrongThreadException if this method is called from a thread {@code T}, * such that {@code scope().isAccessibleBy(T) == false}. src/java.base/share/classes/java/lang/foreign/MemorySegment.java line 1744: > 1742: * {@linkplain MemorySession#isAlive() alive}. > 1743: * @throws WrongThreadException if this method is called from a thread other than the thread owning > 1744: * the {@linkplain #session() session} associated with this segment. Suggestion: * @throws IllegalStateException if the {@linkplain #scope() scope} associated with this segment is not * {@linkplain SegmentScope#isAlive() alive}. * @throws WrongThreadException if this method is called from a thread {@code T}, * such that {@code scope().isAccessibleBy(T) == false}. src/java.base/share/classes/java/lang/foreign/MemorySegment.java line 1769: > 1767: * {@linkplain MemorySession#isAlive() alive}. > 1768: * @throws WrongThreadException if this method is called from a thread other than the thread owning > 1769: * the {@linkplain #session() session} associated with this segment. Suggestion: * @throws IllegalStateException if the {@linkplain #scope() scope} associated with this segment is not * {@linkplain SegmentScope#isAlive() alive}. * @throws WrongThreadException if this method is called from a thread {@code T}, * such that {@code scope().isAccessibleBy(T) == false}. src/java.base/share/classes/java/lang/foreign/MemorySegment.java line 1793: > 1791: * {@linkplain MemorySession#isAlive() alive}. > 1792: * @throws WrongThreadException if this method is called from a thread other than the thread owning > 1793: * the {@linkplain #session() session} associated with this segment. Suggestion: * @throws IllegalStateException if the {@linkplain #scope() scope} associated with this segment is not * {@linkplain SegmentScope#isAlive() alive}. * @throws WrongThreadException if this method is called from a thread {@code T}, * such that {@code scope().isAccessibleBy(T) == false}. ------------- Changes requested by jvernee (Committer). PR: https://git.openjdk.org/panama-foreign/pull/747 From mcimadamore at openjdk.org Fri Feb 10 10:50:17 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Fri, 10 Feb 2023 10:50:17 GMT Subject: [foreign-memaccess+abi] RFR: 8301801: Implement arena-centric API [v2] In-Reply-To: References: Message-ID: <01zwRH2ZiJvh0ZPj2FCXGTOVCIKWCmEtItSMRg6wtRo=.6fb4fb94-8db8-43f5-a305-7b2dfd8071d6@github.com> > This patch implements the API proposal described here: > > https://cr.openjdk.java.net/~mcimadamore/panama/scoped_arenas.html > > The main changes are: > > * Static factories `MemorySegment::allocateNative` are gone; > * The static factory `SegmentAllocator::nativeAllocator` is also gone; > * `SegmentScope` moved as nested class in `MemorySegment` (e.g. `MemorySegment.Scope`); > * Tweak methods accepting `SegmentScope` to accept `Arena` instead; > * Simplify `Arena` API, by removing predicates (`isCloseable`/`isAccessibleBy`) and by dropping `whileAlive`; > * Change arena factories to use `of` prefix instead of `open` - and rename `auto()` to `ofAuto()`. > > The API changes are rather straightforward, but they lead to several shallow test and microbenchmark changes, so the number of affected file is quite big (mostly because of the rename `openConfined` -> `ofConfined`). > > A javadoc of the proposed changes is available here: > > http://cr.openjdk.java.net/~mcimadamore/panama/scoped_arena_interface_lump_predicates/ Maurizio Cimadamore has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains five commits: - Merge branch 'foreign-memaccess+abi' into arena_centric - Fix typo - Clarify javadoc for Arena::close - Fix linker javadoc - Initial push ------------- Changes: https://git.openjdk.org/panama-foreign/pull/781/files Webrev: https://webrevs.openjdk.org/?repo=panama-foreign&pr=781&range=01 Stats: 2279 lines in 132 files changed: 549 ins; 684 del; 1046 mod Patch: https://git.openjdk.org/panama-foreign/pull/781.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/781/head:pull/781 PR: https://git.openjdk.org/panama-foreign/pull/781 From mcimadamore at openjdk.org Fri Feb 10 10:56:14 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Fri, 10 Feb 2023 10:56:14 GMT Subject: [foreign-memaccess+abi] RFR: 8301801: Implement arena-centric API [v2] In-Reply-To: References: Message-ID: On Thu, 9 Feb 2023 18:46:47 GMT, Jorn Vernee wrote: >> Okay, it looks like for in memory return on e.g. SysV, we are using just a plain `C_POINTER` layout without a pointee layout attached, so the boxed address should already have unbounded size. > > I guess we could also potentially attach the right size to the address layout, to make this buffer copy just a bit more safe. But, we can do that later. This is no longer needed - it was required when I made the linker more strict to use zero-length memory segments, but this is no longer the case. Will revert. ------------- PR: https://git.openjdk.org/panama-foreign/pull/781 From mcimadamore at openjdk.org Fri Feb 10 10:56:16 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Fri, 10 Feb 2023 10:56:16 GMT Subject: [foreign-memaccess+abi] RFR: 8301801: Implement arena-centric API [v2] In-Reply-To: References: Message-ID: On Thu, 9 Feb 2023 16:45:49 GMT, Jorn Vernee wrote: >> Maurizio Cimadamore has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains five commits: >> >> - Merge branch 'foreign-memaccess+abi' into arena_centric >> - Fix typo >> - Clarify javadoc for Arena::close >> - Fix linker javadoc >> - Initial push > > test/jdk/java/foreign/NativeTestHelper.java line 103: > >> 101: public static MemorySegment allocateMemory(long size) { >> 102: try { >> 103: return ((MemorySegment) MALLOC.invokeExact(size)).asUnbounded(); > > Not sure why `asUnbounded` is needed here, since `C_POINTER` already has an unbounded target layout attached. Same as the other asUnbounded change - this is no longer required. Good catch. ------------- PR: https://git.openjdk.org/panama-foreign/pull/781 From mcimadamore at openjdk.org Fri Feb 10 11:00:30 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Fri, 10 Feb 2023 11:00:30 GMT Subject: [foreign-memaccess+abi] RFR: 8301801: Implement arena-centric API [v2] In-Reply-To: References: Message-ID: On Thu, 9 Feb 2023 16:52:25 GMT, Jorn Vernee wrote: >> test/jdk/java/foreign/TestByteBuffer.java line 185: >> >>> 183: try (Arena arena = Arena.ofConfined()) { >>> 184: Arena scope = arena; >>> 185: MemorySegment segment = scope.allocate(tuples);; >> >> Suggestion: >> >> MemorySegment segment = arena.allocate(tuples); > > Looks like there are several more like this in the rest of the tests as well. > > If you don't feel like they're worth cleaning up then I'm fine with that as well. Seems like the IDE refactoring played some tricks on me :-) ------------- PR: https://git.openjdk.org/panama-foreign/pull/781 From duke at openjdk.org Fri Feb 10 11:07:16 2023 From: duke at openjdk.org (duke) Date: Fri, 10 Feb 2023 11:07:16 GMT Subject: git: openjdk/panama-foreign: master: 100 new changesets Message-ID: Changeset: ac9e0467 Author: Johan Sj?len Date: 2023-02-03 11:52:22 +0000 URL: https://git.openjdk.org/panama-foreign/commit/ac9e046748a9bb6ee065dc473d82135ce36043b7 8301479: Replace NULL with nullptr in os/linux Reviewed-by: coleenp, sgehwolf ! src/hotspot/os/linux/attachListener_linux.cpp ! src/hotspot/os/linux/cgroupSubsystem_linux.cpp ! src/hotspot/os/linux/cgroupSubsystem_linux.hpp ! src/hotspot/os/linux/cgroupV1Subsystem_linux.cpp ! src/hotspot/os/linux/cgroupV1Subsystem_linux.hpp ! src/hotspot/os/linux/cgroupV2Subsystem_linux.hpp ! src/hotspot/os/linux/decoder_linux.cpp ! src/hotspot/os/linux/gc/z/zMountPoint_linux.cpp ! src/hotspot/os/linux/gc/z/zNUMA_linux.cpp ! src/hotspot/os/linux/gc/z/zPhysicalMemoryBacking_linux.cpp ! src/hotspot/os/linux/osContainer_linux.cpp ! src/hotspot/os/linux/osThread_linux.cpp ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/os/linux/os_linux.hpp ! src/hotspot/os/linux/os_perf_linux.cpp ! src/hotspot/os/linux/trimCHeapDCmd.hpp ! src/hotspot/os/linux/waitBarrier_linux.cpp Changeset: 6f9106e0 Author: sunguoyun Committer: Jie Fu Date: 2023-02-03 11:56:06 +0000 URL: https://git.openjdk.org/panama-foreign/commit/6f9106e0d0d9f082f0a61009f95d1b8663dd8d4f 8301306: java/net/httpclient/* fail with -Xcomp Reviewed-by: dfuchs, alanb ! test/jdk/java/net/httpclient/AbstractThrowingPushPromises.java ! test/jdk/java/net/httpclient/ByteArrayPublishers.java ! test/jdk/java/net/httpclient/HttpClientLocalAddrTest.java ! test/jdk/java/net/httpclient/ManyRequestsLegacy.java ! test/jdk/java/net/httpclient/Response204V2Test.java ! test/jdk/java/net/httpclient/SpecialHeadersTest.java ! test/jdk/java/net/vthread/HttpALot.java Changeset: 7435b27d Author: Albert Mingkun Yang Date: 2023-02-03 12:26:05 +0000 URL: https://git.openjdk.org/panama-foreign/commit/7435b27d6808cf2f669033440ccf6638640e2a32 8301744: Remove unused includes of genOopClosures.hpp Reviewed-by: tschatzl ! src/hotspot/share/gc/serial/markSweep.hpp ! src/hotspot/share/gc/shared/cardTableRS.cpp Changeset: bccd55bf Author: Varada M Committer: Tyler Steele Date: 2023-02-03 15:35:26 +0000 URL: https://git.openjdk.org/panama-foreign/commit/bccd55bfdf3ae60389a8283cd2eed9c5e9dbe881 8300295: [AIX] TestDaemonDestroy fails due to !is_primordial_thread assertion Reviewed-by: dholmes, stuefe ! test/hotspot/jtreg/runtime/jni/daemonDestroy/exedaemonDestroy.c Changeset: 8b70256d Author: Daniel Fuchs Date: 2023-02-03 16:01:47 +0000 URL: https://git.openjdk.org/panama-foreign/commit/8b70256d301ad01fb417b77bcb6c973c0db7179c 8301787: java/net/httpclient/SpecialHeadersTest failing after JDK-8301306 Reviewed-by: dcubed, rriggs ! test/jdk/java/net/httpclient/SpecialHeadersTest.java Changeset: 5962226c Author: Phil Race Date: 2023-02-03 16:28:03 +0000 URL: https://git.openjdk.org/panama-foreign/commit/5962226cc33de047946aca6522f020c97d663d2f 8300891: Deprecate for removal javax.swing.plaf.synth.SynthLookAndFeel.load(URL url) Reviewed-by: serb, aivanov, kizune, psadhukhan ! src/java.desktop/share/classes/javax/swing/plaf/synth/SynthLookAndFeel.java ! src/java.desktop/share/classes/javax/swing/plaf/synth/doc-files/synthFileFormat.html Changeset: 20579e48 Author: Bill Huang Date: 2023-02-03 19:19:14 +0000 URL: https://git.openjdk.org/panama-foreign/commit/20579e48cf598e890aa35c5518ec8d0594f45385 8299994: java/security/Policy/Root/Root.java fails when home directory is read-only Reviewed-by: rhalade ! test/jdk/ProblemList.txt ! test/jdk/TEST.groups ! test/jdk/java/security/Policy/Root/Root.java Changeset: e7247b10 Author: Matthew Donovan Committer: Rajan Halade Date: 2023-02-03 19:55:54 +0000 URL: https://git.openjdk.org/panama-foreign/commit/e7247b10ccd2bf1ad6809395a1b63aa5046d5b1d 8298872: Update CheckStatus.java for changes to TLS implementation Reviewed-by: rhalade ! test/jdk/ProblemList.txt - test/jdk/javax/net/ssl/SSLEngine/CheckStatus.java + test/jdk/javax/net/ssl/SSLEngine/CheckTlsEngineResults.java Changeset: 3be5317b Author: Chris Plummer Date: 2023-02-03 22:22:55 +0000 URL: https://git.openjdk.org/panama-foreign/commit/3be5317b592f1bda76aea5fbcbb98c6fa633401c 8301798: [BACKOUT] jdb ThreadStartRequest and ThreadDeathRequest should use SUSPEND_NONE instead of SUSPEND_ALL Reviewed-by: dcubed, dholmes ! src/jdk.jdi/share/classes/com/sun/tools/example/debug/tty/VMConnection.java Changeset: 34493248 Author: Joe Darcy Date: 2023-02-04 00:48:26 +0000 URL: https://git.openjdk.org/panama-foreign/commit/34493248c02102a0f0a85b21e2def8ef534476d8 8301396: Port fdlibm expm1 to Java Reviewed-by: bpb ! src/java.base/share/classes/java/lang/FdLibm.java ! src/java.base/share/classes/java/lang/StrictMath.java ! test/jdk/java/lang/StrictMath/Expm1Tests.java ! test/jdk/java/lang/StrictMath/FdlibmTranslit.java Changeset: d67bfe21 Author: Andrey Turbanov Date: 2023-02-05 08:45:23 +0000 URL: https://git.openjdk.org/panama-foreign/commit/d67bfe21a23fea2d9ef4eef4e811b774cca2ab94 8301342: Prefer ArrayList to LinkedList in LayoutComparator Reviewed-by: prr, serb ! src/java.desktop/share/classes/javax/swing/LayoutComparator.java Changeset: 8507db15 Author: Gui Cao Committer: Fei Yang Date: 2023-02-06 02:28:53 +0000 URL: https://git.openjdk.org/panama-foreign/commit/8507db1567e3a524238f5145ed08fd1d80a2a2b2 8301628: RISC-V: c2 fix pipeline class for several instructions Reviewed-by: fjiang, fyang, luhenry ! src/hotspot/cpu/riscv/riscv.ad Changeset: 4dd6e8f9 Author: Dingli Zhang Committer: Fei Yang Date: 2023-02-06 02:41:16 +0000 URL: https://git.openjdk.org/panama-foreign/commit/4dd6e8f9dc98c880b88d86e053da49e260065140 8301740: RISC-V: Address::uses() should check address mode Reviewed-by: luhenry, fjiang, fyang ! src/hotspot/cpu/riscv/assembler_riscv.hpp Changeset: b4cb6c8e Author: Xiaolin Zheng Committer: Fei Yang Date: 2023-02-06 03:04:52 +0000 URL: https://git.openjdk.org/panama-foreign/commit/b4cb6c8e8b4bb10d47fd4839c7abf13a552323f6 8301743: RISC-V: Add InlineSkippedInstructionsCounter to post-call nops Reviewed-by: fyang, luhenry ! src/hotspot/cpu/riscv/macroAssembler_riscv.cpp Changeset: 3f3356bc Author: Yuri Nesterenko Date: 2023-02-06 07:08:35 +0000 URL: https://git.openjdk.org/panama-foreign/commit/3f3356bcbd2b2fbc545263dc70a48ee931a4e56b 8301760: Fix possible leak in SpNegoContext dispose Reviewed-by: weijun ! src/java.security.jgss/share/classes/sun/security/jgss/spnego/SpNegoContext.java Changeset: 3646c4e9 Author: Justin King Committer: Kim Barrett Date: 2023-02-06 07:24:09 +0000 URL: https://git.openjdk.org/panama-foreign/commit/3646c4e944054493c4ab78fced0be303e2d850f3 8301171: Rename sanitizers/address.h to sanitizers/address.hpp Reviewed-by: kbarrett ! src/hotspot/share/memory/metaspace/chunkManager.cpp ! src/hotspot/share/memory/metaspace/virtualSpaceNode.cpp = src/hotspot/share/sanitizers/address.hpp ! test/hotspot/gtest/metaspace/test_virtualspacenode.cpp Changeset: 96c50a34 Author: Christian Hagedorn Date: 2023-02-06 07:38:21 +0000 URL: https://git.openjdk.org/panama-foreign/commit/96c50a3486e3b6cdce7f8fb409d015b289770811 8301752: [IR Framework] Add more IR framework examples Reviewed-by: kvn, thartmann ! test/hotspot/jtreg/testlibrary_tests/ir_framework/examples/BaseTestExample.java ! test/hotspot/jtreg/testlibrary_tests/ir_framework/examples/CustomRunTestExample.java ! test/hotspot/jtreg/testlibrary_tests/ir_framework/examples/IRExample.java Changeset: e88fd8c2 Author: Albert Mingkun Yang Date: 2023-02-06 08:38:17 +0000 URL: https://git.openjdk.org/panama-foreign/commit/e88fd8c2a9314e3394e69f8c2341f65cf40a1ac0 8301768: G1: Remove unimplemented HeapRegionRemSet::split_card Reviewed-by: tschatzl ! src/hotspot/share/gc/g1/heapRegionRemSet.hpp Changeset: 8f195ff2 Author: Emanuel Peter Date: 2023-02-06 08:45:48 +0000 URL: https://git.openjdk.org/panama-foreign/commit/8f195ff236000d9c019f8beb2b13355083e211b5 8298952: All nodes should have type(n) == Value(n) after IGVN Reviewed-by: kvn, thartmann, chagedorn ! src/hotspot/share/opto/c2_globals.hpp ! src/hotspot/share/opto/castnode.cpp ! src/hotspot/share/opto/cfgnode.cpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/connode.hpp ! src/hotspot/share/opto/doCall.cpp ! src/hotspot/share/opto/loopopts.cpp ! src/hotspot/share/opto/node.cpp ! src/hotspot/share/opto/node.hpp ! src/hotspot/share/opto/parse1.cpp ! src/hotspot/share/opto/phaseX.cpp ! src/hotspot/share/opto/phaseX.hpp ! src/hotspot/share/opto/subnode.cpp ! src/hotspot/share/opto/superword.cpp ! src/hotspot/share/opto/vectorIntrinsics.cpp ! src/hotspot/share/opto/vectornode.cpp ! src/hotspot/share/opto/vectornode.hpp ! src/hotspot/share/runtime/flags/jvmFlagConstraintsCompiler.cpp ! src/hotspot/share/runtime/flags/jvmFlagConstraintsCompiler.hpp ! src/hotspot/share/runtime/globals.hpp ! test/hotspot/jtreg/compiler/arraycopy/TestArrayCopyNoInitDeopt.java ! test/hotspot/jtreg/compiler/c2/TestVerifyIterativeGVN.java ! test/hotspot/jtreg/compiler/loopopts/TestDeepGraphVerifyIterativeGVN.java ! test/hotspot/jtreg/compiler/loopopts/TestMoveStoreAfterLoopVerifyIterativeGVN.java ! test/hotspot/jtreg/compiler/profiling/TestTypeProfiling.java Changeset: ab528ce3 Author: Prasanta Sadhukhan Date: 2023-02-06 08:49:53 +0000 URL: https://git.openjdk.org/panama-foreign/commit/ab528ce3cd4bb75a00f5eaadae1f5e45d26712b5 4934362: see also refers to self Reviewed-by: prr, serb, aivanov ! src/java.desktop/share/classes/java/awt/Component.java ! src/java.desktop/share/classes/java/awt/List.java ! src/java.desktop/share/classes/java/awt/MediaTracker.java ! src/java.desktop/share/classes/javax/accessibility/AccessibleComponent.java ! src/java.desktop/share/classes/javax/accessibility/AccessibleState.java ! src/java.desktop/share/classes/javax/swing/JComboBox.java ! src/java.desktop/share/classes/javax/swing/JList.java ! src/java.desktop/share/classes/javax/swing/JPopupMenu.java ! src/java.desktop/share/classes/javax/swing/table/DefaultTableModel.java ! src/java.desktop/share/classes/javax/swing/text/View.java Changeset: 716f1df6 Author: Johan Sj?len Date: 2023-02-06 09:21:19 +0000 URL: https://git.openjdk.org/panama-foreign/commit/716f1df609e7f0aa7b3b9383d23dde5c71017d02 8301478: Replace NULL with nullptr in os/bsd Reviewed-by: coleenp, stuefe ! src/hotspot/os/bsd/attachListener_bsd.cpp ! src/hotspot/os/bsd/decoder_machO.cpp ! src/hotspot/os/bsd/osThread_bsd.cpp ! src/hotspot/os/bsd/os_bsd.cpp ! src/hotspot/os/bsd/os_bsd.hpp ! src/hotspot/os/bsd/os_perf_bsd.cpp Changeset: 371a0c4f Author: Albert Mingkun Yang Date: 2023-02-06 11:36:29 +0000 URL: https://git.openjdk.org/panama-foreign/commit/371a0c4f885856b4820870fe9e523ea8694e3997 8301465: Remove unnecessary nmethod arming in Full GC of Serial/Parallel Reviewed-by: tschatzl, iwalulya ! src/hotspot/share/code/codeCache.hpp ! src/hotspot/share/gc/parallel/psParallelCompact.cpp ! src/hotspot/share/gc/shared/genCollectedHeap.cpp Changeset: 7ac2079b Author: Aggelos Biboudis Committer: Jan Lahoda Date: 2023-02-06 12:24:21 +0000 URL: https://git.openjdk.org/panama-foreign/commit/7ac2079ba7dd07c61576e0b39692a94eecc96e07 8301025: ClassCastException in switch with generic record Reviewed-by: jlahoda ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TransPatterns.java + test/langtools/tools/javac/T8301025.java Changeset: 522fa132 Author: Jan Lahoda Date: 2023-02-06 12:25:06 +0000 URL: https://git.openjdk.org/panama-foreign/commit/522fa1327422e49eaa172d43185b3d85b2561036 8301580: Error recovery does not clear returnResult Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! test/langtools/jdk/jshell/SnippetHighlightTest.java + test/langtools/tools/javac/recovery/AttrRecovery.java Changeset: 77305064 Author: Xiaolin Zheng Committer: Ludovic Henry Date: 2023-02-06 12:38:36 +0000 URL: https://git.openjdk.org/panama-foreign/commit/773050647ea49cc4f23bd27b18012dece9f0faa2 8299162: Refactor shared trampoline emission logic Reviewed-by: fyang, adinn, luhenry ! src/hotspot/cpu/aarch64/codeBuffer_aarch64.cpp ! src/hotspot/cpu/aarch64/compiledIC_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp ! src/hotspot/cpu/riscv/codeBuffer_riscv.cpp ! src/hotspot/cpu/riscv/compiledIC_riscv.cpp ! src/hotspot/cpu/riscv/macroAssembler_riscv.cpp ! src/hotspot/cpu/riscv/macroAssembler_riscv.hpp ! src/hotspot/share/asm/codeBuffer.inline.hpp Changeset: 8e9b7267 Author: Albert Mingkun Yang Date: 2023-02-06 13:11:32 +0000 URL: https://git.openjdk.org/panama-foreign/commit/8e9b72670ba753cd3dfca1a4dfbd19b58b43c427 8301599: Serial: Refactor nested closures in DefNewGeneration Reviewed-by: tschatzl, iwalulya ! src/hotspot/share/gc/serial/defNewGeneration.cpp ! src/hotspot/share/gc/serial/defNewGeneration.hpp ! src/hotspot/share/gc/serial/defNewGeneration.inline.hpp Changeset: 9c80b8ad Author: Sidraya Committer: Lutz Schmidt Date: 2023-02-06 13:48:26 +0000 URL: https://git.openjdk.org/panama-foreign/commit/9c80b8ad99910e250447e39d8391d1dbd015add0 8299683: [S390X] Problems with -XX:+VerifyStack Reviewed-by: mdoerr, lucy ! src/hotspot/cpu/s390/sharedRuntime_s390.cpp Changeset: 7ae447f4 Author: Amit Kumar Committer: Tyler Steele Date: 2023-02-06 14:22:00 +0000 URL: https://git.openjdk.org/panama-foreign/commit/7ae447f4ebed5f00b3aab59e2e48c23ee05fda89 8301095: [s390x] TestDwarf.java fails Reviewed-by: lucy, tsteele ! src/hotspot/os_cpu/linux_s390/os_linux_s390.cpp Changeset: ecf8842c Author: Viktor Klang Committer: Alan Bateman Date: 2023-02-06 15:26:32 +0000 URL: https://git.openjdk.org/panama-foreign/commit/ecf8842cd2309210f3d5eee7f9f28a198a860686 8300098: java/util/concurrent/ConcurrentHashMap/ConcurrentAssociateTest.java fails with internal timeout when executed with TieredCompilation1/3 Co-authored-by: Doug Lea

Reviewed-by: jpai, alanb ! src/java.base/share/classes/java/util/concurrent/ConcurrentHashMap.java Changeset: 05ea083b Author: Eirik Bjorsnos Committer: Weijun Wang Date: 2023-02-06 15:43:53 +0000 URL: https://git.openjdk.org/panama-foreign/commit/05ea083b0563ddacf3e38dc329ba00dc4bac9b29 8301167: Update VerifySignedJar to actually exercise and test verification Reviewed-by: weijun ! test/jdk/java/util/jar/JarFile/VerifySignedJar.java - test/jdk/java/util/jar/JarFile/thawjar.jar Changeset: b5697420 Author: Weijun Wang Date: 2023-02-06 17:10:46 +0000 URL: https://git.openjdk.org/panama-foreign/commit/b56974209b1a9c2c702e1c39708cdfbda37d56fc 8301788: AlgorithmId should keep lowercase characters from 3rd party providers Reviewed-by: mullan ! src/java.base/share/classes/sun/security/x509/AlgorithmId.java + test/jdk/sun/security/x509/AlgorithmId/Uppercase.java Changeset: c129ce46 Author: Eirik Bjorsnos Committer: Weijun Wang Date: 2023-02-06 17:15:26 +0000 URL: https://git.openjdk.org/panama-foreign/commit/c129ce4660e6c9b5365c8bf89fb916e2a7c28e98 8300259: Add test coverage for processing of pending block files in signed JARs Reviewed-by: weijun + test/jdk/java/util/jar/JarFile/SignedJarPendingBlock.java Changeset: 8c01b6e6 Author: Archie L. Cobbs Committer: Vicente Romero Date: 2023-02-06 18:22:22 +0000 URL: https://git.openjdk.org/panama-foreign/commit/8c01b6e66b1ce9f9df5a1d12c8717a9e3322948a 8221580: Confusing diagnostic for assigning a static final field in a constructor Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Flags.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties ! test/langtools/jdk/jshell/ModifiersTest.java ! test/langtools/tools/javac/InnerNamedConstant_2_A.out ! test/langtools/tools/javac/InnerNamedConstant_2_B.out ! test/langtools/tools/javac/StoreClass.out ! test/langtools/tools/javac/TryWithResources/BadTwr.out ! test/langtools/tools/javac/diags/examples/CantAssignToFinal.java ! test/langtools/tools/javac/patterns/BindingsTest2.out ! test/langtools/tools/javac/records/RecordCompilationTests.java Changeset: d53ade12 Author: Jonathan Gibbons Date: 2023-02-06 18:41:04 +0000 URL: https://git.openjdk.org/panama-foreign/commit/d53ade12a863cc9e9c2bf2528dd0f0f90416f779 8301813: Bad caret position in error message Reviewed-by: iris ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/DocCommentParser.java + test/langtools/jdk/javadoc/doclet/testNoTagName/TestNoTagName.java ! test/langtools/tools/doclint/BadPackageCommentTest.java ! test/langtools/tools/doclint/BadPackageCommentTest.out ! test/langtools/tools/javac/doctree/TagTest.java Changeset: 3ac2bedd Author: William Kemper Committer: Paul Hohensee Date: 2023-02-06 19:53:20 +0000 URL: https://git.openjdk.org/panama-foreign/commit/3ac2beddbaa4e974f6d16d578505473a2e1d2a75 8299324: inline_native_setCurrentThread lacks GC barrier for Shenandoah Reviewed-by: rkennke, phh ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp Changeset: 07fb4f9a Author: Archie L. Cobbs Committer: Vicente Romero Date: 2023-02-06 20:28:08 +0000 URL: https://git.openjdk.org/panama-foreign/commit/07fb4f9a0bb4ed9d0f359b85fe0b0c38503ab9a5 7167356: (javac) investigate failing tests in JavacParserTest Reviewed-by: vromero ! test/langtools/tools/javac/parser/JavacParserTest.java Changeset: 787e16bb Author: Harshitha Onkar Date: 2023-02-06 23:43:18 +0000 URL: https://git.openjdk.org/panama-foreign/commit/787e16bb444ee3b63803f5d1701d0f0a68b5d474 8289077: Add manual tests to open Reviewed-by: azvegint + test/jdk/java/awt/Frame/ALTTABIconBeingErased/ALTTABIconBeingErased.java + test/jdk/java/awt/Icon/IconChangingTest/IconChangingTest.java = test/jdk/java/awt/Icon/IconChangingTest/java-icon16.png + test/jdk/java/awt/Icon/IconShowingTest/IconShowingTest.java = test/jdk/java/awt/Icon/IconShowingTest/java-icon16.png + test/jdk/java/awt/Icon/IconTransparencyTest/IconTransparencyTest.java + test/jdk/java/awt/Icon/SetLargeIconTest/SetLargeIconTest.java Changeset: c04a982e Author: Gui Cao Committer: Fei Yang Date: 2023-02-07 04:48:57 +0000 URL: https://git.openjdk.org/panama-foreign/commit/c04a982eb47170f3c613617179fca012bb4d40ae 8301818: RISC-V: Factor out function mvw from MacroAssembler Reviewed-by: luhenry, fyang, fjiang ! src/hotspot/cpu/riscv/c1_LIRAssembler_arraycopy_riscv.cpp ! src/hotspot/cpu/riscv/c1_LIRAssembler_riscv.cpp ! 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/cpu/riscv/stubGenerator_riscv.cpp ! src/hotspot/cpu/riscv/vtableStubs_riscv.cpp Changeset: 98433a2f Author: Chang Peng Committer: Eric Liu Date: 2023-02-07 08:00:48 +0000 URL: https://git.openjdk.org/panama-foreign/commit/98433a2f6e7fe97e03ed26673c9925d7b26466bf 8296999: AArch64: scalar intrinsics for reverse method in Integer and Long Reviewed-by: eliu, ngasson ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/aarch64_ad.m4 ! test/hotspot/jtreg/compiler/vectorization/TestReverseBitsVector.java Changeset: 9dad874f Author: Amit Kumar Committer: Lutz Schmidt Date: 2023-02-07 08:38:07 +0000 URL: https://git.openjdk.org/panama-foreign/commit/9dad874ff9f03f5891aa8b37e7826a67c851f06d 8298413: [s390] CPUInfoTest fails due to uppercase feature string Reviewed-by: mdoerr, lucy ! src/hotspot/cpu/s390/vm_version_s390.cpp Changeset: 1aaf394b Author: sunguoyun Committer: Jie Fu Date: 2023-02-07 09:17:23 +0000 URL: https://git.openjdk.org/panama-foreign/commit/1aaf394b33da750803a54df84c6548717e78ea30 8301736: jdk/incubator/concurrent/StructuredTaskScope/StructuredTaskScopeTest.java fail with -Xcomp Reviewed-by: alanb ! test/jdk/jdk/incubator/concurrent/StructuredTaskScope/StructuredTaskScopeTest.java Changeset: 77dbcd85 Author: Stefan Johansson Date: 2023-02-07 09:29:59 +0000 URL: https://git.openjdk.org/panama-foreign/commit/77dbcd85695b2b35ce10526d37a51e7e5fb656d7 8301641: NativeMemoryUsageTotal event uses reserved value for committed field Reviewed-by: eosterlund, stefank ! src/hotspot/share/services/nmtUsage.cpp ! test/jdk/jdk/jfr/event/runtime/TestNativeMemoryUsageEvents.java Changeset: f5f38a82 Author: Erik ?sterlund Date: 2023-02-07 09:33:40 +0000 URL: https://git.openjdk.org/panama-foreign/commit/f5f38a82cc357218804c2e4cab5140d23b44ee06 8301371: Interpreter store barriers on x86_64 don't have disjoint temp registers Reviewed-by: kvn, tschatzl ! src/hotspot/cpu/x86/templateTable_x86.cpp Changeset: c61a3821 Author: Kevin Walls Date: 2023-02-07 10:14:37 +0000 URL: https://git.openjdk.org/panama-foreign/commit/c61a38212e8d7ab8d9ece4c414dddd5032bfd6aa 8296646: com/sun/jdi/JdbLastErrorTest.java test failure Reviewed-by: dholmes, sspitsyn, cjplummer ! test/jdk/com/sun/jdi/JdbLastErrorTest.java Changeset: 09b8a195 Author: Darragh Clarke Committer: Jaikiran Pai Date: 2023-02-07 12:34:29 +0000 URL: https://git.openjdk.org/panama-foreign/commit/09b8a1959771213cb982d062f0a913285e4a0c6e 8300177: URISyntaxException fields can be final Reviewed-by: dfuchs, alanb, jpai ! src/java.base/share/classes/java/net/URISyntaxException.java Changeset: 4fe99da7 Author: Afshin Zafari Committer: Jesper Wilhelmsson Date: 2023-02-07 14:08:01 +0000 URL: https://git.openjdk.org/panama-foreign/commit/4fe99da74f557461c31293cdc48af1199dd2b85c 8151413: os::allocation_granularity/page_size and friends return signed values Reviewed-by: stefank, ccheung, ysr ! src/hotspot/cpu/aarch64/c1_MacroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/interp_masm_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp ! src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp ! src/hotspot/cpu/arm/macroAssembler_arm.cpp ! src/hotspot/cpu/ppc/c1_MacroAssembler_ppc.cpp ! src/hotspot/cpu/ppc/gc/z/zGlobals_ppc.cpp ! src/hotspot/cpu/ppc/templateInterpreterGenerator_ppc.cpp ! src/hotspot/cpu/riscv/c1_MacroAssembler_riscv.cpp ! src/hotspot/cpu/riscv/interp_masm_riscv.cpp ! src/hotspot/cpu/riscv/macroAssembler_riscv.cpp ! src/hotspot/cpu/riscv/sharedRuntime_riscv.cpp ! src/hotspot/cpu/riscv/templateInterpreterGenerator_riscv.cpp ! src/hotspot/cpu/s390/templateInterpreterGenerator_s390.cpp ! src/hotspot/cpu/x86/c1_MacroAssembler_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/templateInterpreterGenerator_x86.cpp ! src/hotspot/os/aix/os_aix.cpp ! src/hotspot/os/bsd/os_bsd.cpp ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/os/windows/os_windows.cpp ! src/hotspot/os/windows/os_windows.inline.hpp ! src/hotspot/os_cpu/bsd_x86/os_bsd_x86.cpp ! src/hotspot/os_cpu/linux_x86/os_linux_x86.cpp ! src/hotspot/share/asm/assembler.cpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/code/codeCache.cpp ! src/hotspot/share/gc/epsilon/epsilonArguments.cpp ! src/hotspot/share/gc/g1/g1PageBasedVirtualSpace.cpp ! src/hotspot/share/gc/parallel/mutableNUMASpace.cpp ! src/hotspot/share/gc/parallel/parMarkBitMap.cpp ! src/hotspot/share/gc/parallel/psParallelCompact.cpp ! src/hotspot/share/gc/shared/cardTable.cpp ! src/hotspot/share/gc/shenandoah/shenandoahCollectionSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp ! src/hotspot/share/gc/z/zBarrier.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVM.hpp ! src/hotspot/share/jvmci/jvmciCompilerToVMInit.cpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/memory/allocation.inline.hpp ! src/hotspot/share/memory/heap.cpp ! src/hotspot/share/memory/metaspace/metaspaceSettings.cpp ! src/hotspot/share/memory/virtualspace.cpp ! src/hotspot/share/oops/compressedOops.cpp ! src/hotspot/share/opto/output.cpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/continuationFreezeThaw.cpp ! src/hotspot/share/runtime/flags/jvmFlagConstraintsRuntime.cpp ! src/hotspot/share/runtime/javaCalls.cpp ! src/hotspot/share/runtime/os.hpp ! src/hotspot/share/runtime/osInfo.cpp ! src/hotspot/share/runtime/osInfo.hpp ! src/hotspot/share/runtime/perfMemory.cpp ! src/hotspot/share/utilities/globalDefinitions.hpp ! test/hotspot/gtest/memory/test_virtualspace.cpp ! test/hotspot/gtest/runtime/test_arguments.cpp ! test/hotspot/gtest/runtime/test_os.cpp ! test/hotspot/gtest/runtime/test_os_linux.cpp ! test/hotspot/gtest/utilities/test_globalDefinitions.cpp Changeset: a73d012c Author: Vicente Romero Date: 2023-02-07 16:23:52 +0000 URL: https://git.openjdk.org/panama-foreign/commit/a73d012c727ecbd5fcf97a624fc969ba6305db5f 8295019: Cannot call a method with a parameter of a local class declared in a lambda Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/DeferredAttr.java + test/langtools/tools/javac/typeDeclarationInsideExpression/TypeDeclarationInsideExpressionTest.java Changeset: 2e2e71e1 Author: Mark Powers Committer: Sean Mullan Date: 2023-02-07 17:40:22 +0000 URL: https://git.openjdk.org/panama-foreign/commit/2e2e71e1fa326b8d30f018a3e0726bbcd6d24019 8300416: java.security.MessageDigestSpi clone can result in thread-unsafe clones Reviewed-by: mullan ! src/java.base/share/classes/java/security/MessageDigestSpi.java ! test/jdk/java/security/MessageDigest/TestCloneable.java Changeset: 27126157 Author: Justin King Committer: Magnus Ihse Bursie Date: 2023-02-07 17:41:25 +0000 URL: https://git.openjdk.org/panama-foreign/commit/27126157d927c5ec4354cde8f31076899691996b 8298445: Add LeakSanitizer support in HotSpot Reviewed-by: erikj, ihse ! make/autoconf/configure.ac ! make/autoconf/jdk-options.m4 ! make/autoconf/spec.gmk.in ! make/common/modules/LauncherCommon.gmk ! make/data/asan/asan_default_options.c ! make/data/asan/asan_default_options.cpp + make/data/lsan/lsan_default_options.c = make/data/lsan/lsan_default_options.cpp ! make/hotspot/lib/CompileGtest.gmk ! make/test/JtregNativeHotspot.gmk ! make/test/JtregNativeJdk.gmk ! src/hotspot/share/c1/c1_Compiler.cpp ! src/hotspot/share/cds/metaspaceShared.cpp ! src/hotspot/share/code/codeCache.cpp ! src/hotspot/share/code/compiledIC.cpp ! src/hotspot/share/memory/metaspace/virtualSpaceNode.cpp ! src/hotspot/share/memory/universe.cpp ! src/hotspot/share/prims/methodHandles.cpp ! src/hotspot/share/runtime/init.cpp ! src/hotspot/share/runtime/java.cpp ! src/hotspot/share/runtime/nonJavaThread.cpp + src/hotspot/share/sanitizers/leak.hpp Changeset: 74485a3f Author: Jonathan Gibbons Date: 2023-02-07 18:48:02 +0000 URL: https://git.openjdk.org/panama-foreign/commit/74485a3f231695aab1f27b38f2f658a92a3fcc99 8301810: Bug in doctree DocCommentTester.compress Reviewed-by: prappo ! test/langtools/tools/javac/doctree/CodeTest.java ! test/langtools/tools/javac/doctree/DocCommentTester.java ! test/langtools/tools/javac/doctree/LinkPlainTest.java ! test/langtools/tools/javac/doctree/LinkTest.java ! test/langtools/tools/javac/doctree/LiteralTest.java ! test/langtools/tools/javac/doctree/SeeTest.java ! test/langtools/tools/javac/doctree/SerialFieldTest.java ! test/langtools/tools/javac/doctree/ThrowableTest.java ! test/langtools/tools/javac/doctree/ValueTest.java ! test/langtools/tools/javac/doctree/dcapi/overview0.html.out ! test/langtools/tools/javac/doctree/dcapi/overview6.html.out ! test/langtools/tools/javac/doctree/dcapi/package.html.out ! test/langtools/tools/javac/doctree/dcapi/pkg/package.html.out Changeset: 53f72edc Author: Calvin Cheung Date: 2023-02-07 18:48:57 +0000 URL: https://git.openjdk.org/panama-foreign/commit/53f72edcf603b0052804a8d7ed1ac1e856829eae 8286510: Tests under dynamicArchive/methodHandles should check for loading of lambda proxy classes Reviewed-by: iklam ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/methodHandles/CDSMHTest_generate.sh ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/methodHandles/MethodHandlesAsCollectorTest.java ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/methodHandles/MethodHandlesCastFailureTest.java ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/methodHandles/MethodHandlesGeneralTest.java ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/methodHandles/MethodHandlesInvokersTest.java ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/methodHandles/MethodHandlesPermuteArgumentsTest.java ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/methodHandles/MethodHandlesSpreadArgumentsTest.java Changeset: 2a579ab8 Author: Alisen Chung Date: 2023-02-07 20:28:52 +0000 URL: https://git.openjdk.org/panama-foreign/commit/2a579ab8392d30a35f044954178c788d16d4b800 8292588: [macos] Multiscreen/MultiScreenLocationTest/MultiScreenLocationTest.java: Robot.mouseMove test failed on Screen #0 Reviewed-by: dnguyen, jdv ! test/jdk/java/awt/Multiscreen/MultiScreenLocationTest/MultiScreenLocationTest.java ! test/jdk/java/awt/regtesthelpers/Util.java Changeset: ac7119f0 Author: Emanuel Peter Date: 2023-02-08 07:45:09 +0000 URL: https://git.openjdk.org/panama-foreign/commit/ac7119f0d5319a3fb44dc67a938c3e1eb21b9202 8280126: C2: detect and remove dead irreducible loops Reviewed-by: kvn, chagedorn, thartmann ! src/hotspot/share/ci/ciTypeFlow.cpp ! src/hotspot/share/ci/ciTypeFlow.hpp ! src/hotspot/share/opto/cfgnode.cpp ! src/hotspot/share/opto/cfgnode.hpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/loopnode.hpp ! src/hotspot/share/opto/memnode.cpp ! src/hotspot/share/opto/parse.hpp ! src/hotspot/share/opto/parse1.cpp ! src/hotspot/share/opto/phaseX.cpp + test/hotspot/jtreg/compiler/loopopts/TestDeadIrreducibleLoops.jasm + test/hotspot/jtreg/compiler/loopopts/TestDeadIrreducibleLoopsMain.java Changeset: e628fd5c Author: Daniel Jeli?ski Date: 2023-02-08 08:01:43 +0000 URL: https://git.openjdk.org/panama-foreign/commit/e628fd5c39847f2f9813cce8e78be8db5e60507d 8301214: Adjust handshakeTimeout value in test HandshakeTimeout.java after 8189338 Reviewed-by: msheppar, vtewari ! test/jdk/java/rmi/transport/handshakeTimeout/HandshakeTimeout.java Changeset: 4de2d3c3 Author: Albert Mingkun Yang Date: 2023-02-08 08:12:01 +0000 URL: https://git.openjdk.org/panama-foreign/commit/4de2d3c3b61ee15967fcefbc4d38cac27dce633a 8301862: G1: Remove G1PageBasedVirtualSpace::_executable Reviewed-by: tschatzl, lkorinth ! src/hotspot/share/gc/g1/g1PageBasedVirtualSpace.cpp ! src/hotspot/share/gc/g1/g1PageBasedVirtualSpace.hpp Changeset: 0f08785c Author: Julian Waters Date: 2023-02-08 09:10:21 +0000 URL: https://git.openjdk.org/panama-foreign/commit/0f08785c01226961fb6040d5d30917308de34a88 8301756: Missed constructor from 8301659 Reviewed-by: aivanov ! src/java.desktop/windows/native/libawt/windows/awt_Toolkit.cpp Changeset: c92a7deb Author: Markus Gr?nlund Date: 2023-02-08 10:26:40 +0000 URL: https://git.openjdk.org/panama-foreign/commit/c92a7deba50cbf5e283d1bd0ef5f2d6f8a4fc947 8301380: jdk/jfr/api/consumer/streaming/TestCrossProcessStreaming.java Reviewed-by: dholmes, egahlin ! src/hotspot/share/jfr/utilities/jfrThreadIterator.cpp Changeset: 3db352d0 Author: Albert Mingkun Yang Date: 2023-02-08 13:23:37 +0000 URL: https://git.openjdk.org/panama-foreign/commit/3db352d003c5996a5f86f0f465adf86326f7e1fe 8302047: G1: Remove unused G1RegionToSpaceMapper::_region_granularity Reviewed-by: tschatzl ! src/hotspot/share/gc/g1/g1RegionToSpaceMapper.cpp ! src/hotspot/share/gc/g1/g1RegionToSpaceMapper.hpp Changeset: 9af2ea20 Author: Andrey Turbanov Date: 2023-02-08 14:29:21 +0000 URL: https://git.openjdk.org/panama-foreign/commit/9af2ea203db8b2f3da224bf0582411a9a9855c02 8301828: Avoid unnecessary array fill after creation in javax.swing.text Reviewed-by: prr, serb ! src/java.desktop/share/classes/javax/swing/text/ParagraphView.java ! src/java.desktop/share/classes/javax/swing/text/html/TableView.java Changeset: ecf21a9a Author: Alan Bateman Date: 2023-02-08 14:56:28 +0000 URL: https://git.openjdk.org/panama-foreign/commit/ecf21a9a24d067725fda916ab197b5711c56a1d7 8301767: Convert virtual thread tests to JUnit Reviewed-by: cstein, lancea, jpai ! test/hotspot/jtreg/serviceability/dcmd/thread/ThreadDumpToFileTest.java ! test/jdk/com/sun/management/HotSpotDiagnosticMXBean/DumpThreads.java ! test/jdk/java/lang/Thread/BuilderTest.java ! test/jdk/java/lang/Thread/JoinWithDuration.java ! test/jdk/java/lang/Thread/SleepWithDuration.java ! test/jdk/java/lang/Thread/UncaughtExceptionsTest.java ! test/jdk/java/lang/Thread/virtual/Collectable.java ! test/jdk/java/lang/Thread/virtual/CustomScheduler.java ! test/jdk/java/lang/Thread/virtual/GetStackTrace.java ! test/jdk/java/lang/Thread/virtual/HoldsLock.java ! test/jdk/java/lang/Thread/virtual/JfrEvents.java ! test/jdk/java/lang/Thread/virtual/Locking.java ! test/jdk/java/lang/Thread/virtual/ParkWithFixedThreadPool.java ! test/jdk/java/lang/Thread/virtual/Parking.java ! test/jdk/java/lang/Thread/virtual/PreviewFeaturesNotEnabled.java ! test/jdk/java/lang/Thread/virtual/Reflection.java ! test/jdk/java/lang/Thread/virtual/StackTraces.java ! test/jdk/java/lang/Thread/virtual/ThreadAPI.java ! test/jdk/java/lang/Thread/virtual/ThreadLocals.java ! test/jdk/java/lang/Thread/virtual/TracePinnedThreads.java ! test/jdk/java/lang/Thread/virtual/WaitNotify.java ! test/jdk/java/lang/ThreadGroup/BasicTests.java ! test/jdk/java/lang/management/ThreadMXBean/VirtualThreads.java ! test/jdk/java/net/vthread/BlockingSocketOps.java ! test/jdk/java/nio/channels/vthread/BlockingChannelOps.java ! test/jdk/java/util/concurrent/ThreadPerTaskExecutor/ThreadPerTaskExecutorTest.java ! test/jdk/jdk/incubator/concurrent/ScopedValue/ManyBindings.java ! test/jdk/jdk/incubator/concurrent/ScopedValue/ScopeValueAPI.java ! test/jdk/jdk/incubator/concurrent/StructuredTaskScope/PreviewFeaturesNotEnabled.java ! test/jdk/jdk/incubator/concurrent/StructuredTaskScope/StructuredTaskScopeTest.java ! test/jdk/jdk/incubator/concurrent/StructuredTaskScope/StructuredThreadDumpTest.java ! test/jdk/jdk/incubator/concurrent/StructuredTaskScope/WithScopedValue.java ! test/jdk/jdk/internal/misc/ThreadFlock/ThreadFlockTest.java ! test/jdk/jdk/internal/misc/ThreadFlock/WithScopedValue.java Changeset: 8d4c76dd Author: Albert Mingkun Yang Date: 2023-02-08 17:20:58 +0000 URL: https://git.openjdk.org/panama-foreign/commit/8d4c76ddce6455e8cf9258ea175bb9f98227c954 8302072: Parallel: Remove unimplemented ParCompactionManager::stack_push Reviewed-by: tschatzl ! src/hotspot/share/gc/parallel/psCompactionManager.hpp Changeset: 10dd98d0 Author: Mandy Chung Date: 2023-02-08 19:06:41 +0000 URL: https://git.openjdk.org/panama-foreign/commit/10dd98d0dd6aeb6f214999590ed19707a203f591 8301462: Convert Permission files to use lambda after JDK-8076596 Reviewed-by: jpai, dfuchs, mullan ! src/java.base/share/classes/java/io/FilePermission.java ! src/java.base/share/classes/java/net/SocketPermission.java ! src/java.base/share/classes/java/security/UnresolvedPermissionCollection.java ! src/java.base/share/classes/java/util/PropertyPermission.java ! src/java.security.jgss/share/classes/javax/security/auth/kerberos/ServicePermission.java Changeset: 638d612c Author: Brian Burkhalter Date: 2023-02-08 19:20:39 +0000 URL: https://git.openjdk.org/panama-foreign/commit/638d612c6b7c08c1f7be0d4e75e9f8a6dca1ef19 8298478: (fs) Path.of should allow input to include long path prefix Reviewed-by: alanb ! src/java.base/windows/classes/sun/nio/fs/WindowsPathParser.java ! test/jdk/java/nio/file/Path/PathOps.java Changeset: 631a2790 Author: Sergey Bylokhov Date: 2023-02-08 19:55:12 +0000 URL: https://git.openjdk.org/panama-foreign/commit/631a2790e5d5b3eac5102dbc42e57feb94bfc23d 8301567: The test/jdk/java/awt/AppContext/ApplicationThreadsStop/java.policy is unused Reviewed-by: aivanov - test/jdk/java/awt/AppContext/ApplicationThreadsStop/java.policy Changeset: 8a9e383d Author: Erik Joelsson Date: 2023-02-08 21:52:30 +0000 URL: https://git.openjdk.org/panama-foreign/commit/8a9e383dba58ed047ca46007b5af186aade05b59 8301717: Remove obsolete jib profiles Reviewed-by: dholmes, ihse ! make/conf/jib-profiles.js Changeset: 873558ee Author: Jonathan Gibbons Date: 2023-02-08 21:57:22 +0000 URL: https://git.openjdk.org/panama-foreign/commit/873558ee80d741469ade030c732091bead431c46 8300914: Allow `@` as an escape in documentation comments Reviewed-by: prappo ! src/jdk.compiler/share/classes/com/sun/source/doctree/DocTree.java ! src/jdk.compiler/share/classes/com/sun/source/doctree/DocTreeVisitor.java + src/jdk.compiler/share/classes/com/sun/source/doctree/EscapeTree.java ! src/jdk.compiler/share/classes/com/sun/source/util/DocTreeFactory.java ! src/jdk.compiler/share/classes/com/sun/source/util/DocTreeScanner.java ! src/jdk.compiler/share/classes/com/sun/source/util/SimpleDocTreeVisitor.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/DocCommentParser.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/DCTree.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/DocPretty.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/DocTreeMaker.java ! src/jdk.compiler/share/classes/jdk/internal/shellsupport/doc/JavadocFormatter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/CommentHelper.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/Checker.java ! test/langtools/tools/doclint/HtmlTagsTest.java ! test/langtools/tools/doclint/HtmlTagsTest.out + test/langtools/tools/doclint/ReturnTest.java + test/langtools/tools/doclint/ReturnTest.out ! test/langtools/tools/doclint/SummaryTest.java ! test/langtools/tools/doclint/SummaryTest.out + test/langtools/tools/javac/doctree/AtEscapeTest.java ! test/langtools/tools/javac/doctree/DocCommentTester.java Changeset: dc6d52ce Author: Ioi Lam Date: 2023-02-09 00:30:07 +0000 URL: https://git.openjdk.org/panama-foreign/commit/dc6d52cea54eb8c8793dd0f46002c28ec43d9d2c 8301876: Crash in DumpTimeClassInfo::add_verification_constraint Reviewed-by: ccheung, matsaave ! src/hotspot/share/classfile/systemDictionaryShared.cpp Changeset: c8cc7b67 Author: Mandy Chung Date: 2023-02-09 00:38:08 +0000 URL: https://git.openjdk.org/panama-foreign/commit/c8cc7b67dbb4633e365a5d6e44419775ebce9d4a 8301704: Shorten the number of GCs in UnloadingTest.java to verify a class loader not being unloaded Reviewed-by: rriggs ! test/jdk/java/lang/invoke/defineHiddenClass/UnloadingTest.java ! test/lib/jdk/test/lib/util/ForceGC.java Changeset: 5561c397 Author: Harshitha Onkar Date: 2023-02-09 00:44:58 +0000 URL: https://git.openjdk.org/panama-foreign/commit/5561c397c53b8a821a200491abd8f7b3297fbd31 8294484: MetalBorder's FrameBorder & DialogBorder have border rendering issues when scaled Co-authored-by: Alexey Ivanov Reviewed-by: aivanov, kizune ! src/java.desktop/share/classes/javax/swing/plaf/metal/MetalBorders.java - test/jdk/javax/swing/JInternalFrame/InternalFrameBorderTest.java + test/jdk/javax/swing/plaf/metal/MetalBorders/ScaledMetalBorderTest.java Changeset: 70f31501 Author: Julian Waters Date: 2023-02-09 03:19:42 +0000 URL: https://git.openjdk.org/panama-foreign/commit/70f3150166a758fe9fa14860588218ef41c2bff4 8301443: Clean broken comments from Windows code Reviewed-by: aivanov ! src/java.desktop/windows/native/libawt/java2d/d3d/D3DResourceManager.h ! src/java.desktop/windows/native/libawt/java2d/d3d/D3DVertexCacher.cpp ! src/java.desktop/windows/native/libawt/java2d/windows/GDIWindowSurfaceData.h ! src/java.desktop/windows/native/libawt/java2d/windows/WindowsFlags.h ! src/java.desktop/windows/native/libawt/windows/Devices.h ! src/java.desktop/windows/native/libawt/windows/awt_CustomPaletteDef.h ! src/java.desktop/windows/native/libawt/windows/awt_Palette.h ! src/java.desktop/windows/native/libawt/windows/awt_Toolkit.cpp ! src/java.desktop/windows/native/libawt/windows/awt_Win32GraphicsDevice.h ! src/java.security.jgss/windows/native/libsspi_bridge/sspi.cpp ! src/jdk.accessibility/windows/native/include/bridge/AccessBridgeCalls.h ! src/jdk.accessibility/windows/native/jaccessinspector/jaccessinspector.cpp Changeset: 36478ee1 Author: Chihiro Ito Date: 2023-02-09 03:44:01 +0000 URL: https://git.openjdk.org/panama-foreign/commit/36478ee13f0877447852470150c01397388b3f82 8288783: Error messages are confusing when options conflict in -XX:StartFlightRecording Reviewed-by: egahlin ! src/jdk.jfr/share/classes/jdk/jfr/internal/dcmd/ArgumentParser.java + test/jdk/jdk/jfr/jcmd/TestJcmdOptionSpecifiedOnce.java + test/jdk/jdk/jfr/startupargs/TestStartupOptionSpecifiedOnce.java Changeset: c72f9515 Author: Yasumasa Suenaga Date: 2023-02-09 06:50:00 +0000 URL: https://git.openjdk.org/panama-foreign/commit/c72f9515299b0c59bd1a5e1987982812d79e9ace 8301853: C4819 warnings were reported in HotSpot on Windows Reviewed-by: dholmes, ihse ! src/hotspot/cpu/x86/stubGenerator_x86_64_poly.cpp ! src/hotspot/share/utilities/elfFile.hpp Changeset: 83e2db6b Author: Thomas Schatzl Date: 2023-02-09 09:17:06 +0000 URL: https://git.openjdk.org/panama-foreign/commit/83e2db6ba32e5004d2863e77c9eee91d1b65bd22 8301116: Parallelize TLAB resizing in G1 Reviewed-by: ayang, iwalulya ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp ! src/hotspot/share/gc/g1/g1CollectedHeap.inline.hpp ! src/hotspot/share/gc/g1/g1FullCollector.cpp ! src/hotspot/share/gc/g1/g1GCPhaseTimes.cpp ! src/hotspot/share/gc/g1/g1GCPhaseTimes.hpp ! src/hotspot/share/gc/g1/g1YoungCollector.cpp ! src/hotspot/share/gc/g1/g1YoungGCPostEvacuateTasks.cpp ! src/hotspot/share/gc/g1/g1YoungGCPostEvacuateTasks.hpp ! test/hotspot/jtreg/gc/g1/TestGCLogMessages.java ! test/jdk/jdk/jfr/event/gc/collection/TestG1ParallelPhases.java Changeset: 04f30185 Author: Kevin Walls Date: 2023-02-09 09:30:44 +0000 URL: https://git.openjdk.org/panama-foreign/commit/04f30185e914c10c918d0eff1fb63fd96e1139fb 8299739: HashedPasswordFileTest.java and ExceptionTest.java can fail with java.lang.NullPointerException Reviewed-by: sspitsyn, amenkov, cjplummer ! test/jdk/javax/management/MBeanServer/ExceptionTest.java ! test/jdk/javax/management/security/HashedPasswordFileTest.java Changeset: a4039e30 Author: Varada M Committer: Thomas Stuefe Date: 2023-02-09 09:36:40 +0000 URL: https://git.openjdk.org/panama-foreign/commit/a4039e30e8ca85749e6a893ad83e6329471522c6 8302043: [AIX] Safefetch fails for bad_addressN and bad_address32 Reviewed-by: stuefe, dholmes ! src/hotspot/share/utilities/vmError.hpp Changeset: 916374d7 Author: Varada M Committer: Thomas Stuefe Date: 2023-02-09 09:47:34 +0000 URL: https://git.openjdk.org/panama-foreign/commit/916374d766561c6433c047129586c222db16727f 8302067: [AIX] AIX build error on os_aix_ppc.cpp Reviewed-by: dholmes ! src/hotspot/os_cpu/aix_ppc/os_aix_ppc.cpp Changeset: d4019820 Author: Albert Mingkun Yang Date: 2023-02-09 10:37:48 +0000 URL: https://git.openjdk.org/panama-foreign/commit/d4019820879ca11ebda53989fd46b08f3beb6424 8302121: Parallel: Remove unused arg in PSCardTable::inline_write_ref_field_gc Reviewed-by: tschatzl ! src/hotspot/share/gc/parallel/psCardTable.hpp ! src/hotspot/share/gc/parallel/psPromotionManager.inline.hpp Changeset: 2caa56a6 Author: Thomas Schatzl Date: 2023-02-09 10:48:14 +0000 URL: https://git.openjdk.org/panama-foreign/commit/2caa56a66b318a8ac6dac90126ba77f0dc7ed549 8301843: Remove dummy region allocation Reviewed-by: ayang, lkorinth, ysr ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp ! src/hotspot/share/gc/g1/g1_globals.hpp Changeset: 6f460e48 Author: Roger Riggs Date: 2023-02-08 22:09:22 +0000 URL: https://git.openjdk.org/panama-foreign/commit/6f460e4885b274f01c9097f41a65c637654858ce 8301863: ObjectInputFilter example incorrectly calls rejectUndecidedClass Reviewed-by: lancea ! src/java.base/share/classes/java/io/ObjectInputFilter.java Changeset: e81f20b5 Author: Alexander Zuev Date: 2023-02-08 23:55:58 +0000 URL: https://git.openjdk.org/panama-foreign/commit/e81f20b50405dc02963c8bf549000c60e78152d8 8301989: new javax.swing.text.DefaultCaret().setBlinkRate(N) results in NPE Reviewed-by: dnguyen, honkar, prr ! src/java.desktop/share/classes/javax/swing/text/DefaultCaret.java + test/jdk/javax/swing/text/DefaultCaret/SetCaretRateTest.java Changeset: af8973dc Author: Jesper Wilhelmsson Date: 2023-02-09 11:59:08 +0000 URL: https://git.openjdk.org/panama-foreign/commit/af8973dc509c1f326223e3ffd1773c9e930141d8 Merge Changeset: e4d1cff6 Author: Darragh Clarke Committer: Jaikiran Pai Date: 2023-02-09 12:27:57 +0000 URL: https://git.openjdk.org/panama-foreign/commit/e4d1cff6597ac25d435fe16e0fc49d23f6e65df4 8300268: ServerImpl allows too many idle connections when using sun.net.httpserver.maxIdleConnections Reviewed-by: dfuchs, vtewari, michaelm, jpai ! src/jdk.httpserver/share/classes/sun/net/httpserver/ServerImpl.java + test/jdk/com/sun/net/httpserver/bugs/8300268/MaxIdleConnectionsTest.java + test/jdk/com/sun/net/httpserver/bugs/8300268/jdk.httpserver/sun/net/httpserver/HttpServerAccess.java Changeset: 3b05a94c Author: Aggelos Biboudis Committer: Vicente Romero Date: 2023-02-09 16:03:34 +0000 URL: https://git.openjdk.org/panama-foreign/commit/3b05a94c36e5d54693694c2e9950eca42626962b 8301858: Verification error when compiling switch with record patterns Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TransPatterns.java ! test/langtools/tools/javac/patterns/DeconstructionDesugaring.java Changeset: 597a9a48 Author: SWinxy Committer: Julian Waters Date: 2023-02-09 17:46:35 +0000 URL: https://git.openjdk.org/panama-foreign/commit/597a9a485216f6d5b1082eebfa1029524f247e8d 8301822: BasicLookAndFeel does not need to check for null after checking for type Reviewed-by: serb ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicLookAndFeel.java Changeset: 7901f459 Author: Sean Mullan Date: 2023-02-09 18:18:21 +0000 URL: https://git.openjdk.org/panama-foreign/commit/7901f459dc8e0d3235e3e250d9a6bcf31cb031a2 8301260: Add system property to toggle XML Signature secure validation mode Reviewed-by: weijun, coffeys ! src/java.base/share/conf/security/java.security ! src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/dom/DOMValidateContext.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/Utils.java + test/jdk/javax/xml/crypto/dsig/SecureValidationSystemProperty.java + test/jdk/javax/xml/crypto/dsig/data/signature-enveloped-dsa-512.xml Changeset: 7fd440d9 Author: Matthew Donovan Committer: Rajan Halade Date: 2023-02-09 18:21:38 +0000 URL: https://git.openjdk.org/panama-foreign/commit/7fd440d97c2bb7b7a6cd7094e7339d65d23e7815 8298868: Update EngineCloseOnAlert.java for changes to TLS implementation Reviewed-by: rhalade ! test/jdk/ProblemList.txt ! test/jdk/javax/net/ssl/SSLEngine/EngineCloseOnAlert.java Changeset: f4b72df4 Author: Chris Plummer Date: 2023-02-09 18:25:04 +0000 URL: https://git.openjdk.org/panama-foreign/commit/f4b72df42863c321d03c32d1d0349892c3e87d50 8282379: [LOOM] vmTestbase/nsk/jdi/ClassType/invokeMethod/invokemethod011 sometimes fails Reviewed-by: dholmes, sspitsyn ! test/hotspot/jtreg/ProblemList-svc-vthread.txt ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ClassType/invokeMethod/invokemethod011.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ClassType/invokeMethod/invokemethod011t.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ClassType/invokeMethod/invokemethod012.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ClassType/invokeMethod/invokemethod012t.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ClassType/invokeMethod/invokemethod013.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ClassType/invokeMethod/invokemethod013t.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/invokeMethod/invokemethod010.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/invokeMethod/invokemethod010t.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/invokeMethod/invokemethod011.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/invokeMethod/invokemethod011t.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/invokeMethod/invokemethod012.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/invokeMethod/invokemethod012t.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/invokeMethod/invokemethod013.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/invokeMethod/invokemethod013t.java Changeset: 77ead449 Author: Robbin Ehn Date: 2023-02-09 18:39:45 +0000 URL: https://git.openjdk.org/panama-foreign/commit/77ead449e494f4dae147144dbcc978bb107e2817 8302066: Counter _number_of_nmethods_with_dependencies should be atomic. Reviewed-by: thartmann, kvn ! src/hotspot/share/code/codeCache.cpp ! src/hotspot/share/code/codeCache.hpp Changeset: 51479692 Author: Sergey Bylokhov Date: 2023-02-09 19:22:51 +0000 URL: https://git.openjdk.org/panama-foreign/commit/5147969253a9792d883fdd505a62b959c5541566 8272288: Funky multiresolution image breaks graphics context Reviewed-by: jdv ! src/java.desktop/share/classes/sun/awt/image/VolatileSurfaceManager.java ! src/java.desktop/windows/classes/sun/java2d/d3d/D3DVolatileSurfaceManager.java + test/jdk/java/awt/image/VolatileImage/ReportRenderingError.java Changeset: 48155662 Author: Alex Menkov Date: 2023-02-09 19:37:32 +0000 URL: https://git.openjdk.org/panama-foreign/commit/48155662af04bf7532799d507c23f6d5aa66a632 8228604: StackMapFrames are missing from redefined class bytes of retransformed classes Reviewed-by: cjplummer, sspitsyn ! src/hotspot/share/classfile/classFileParser.cpp + test/hotspot/jtreg/serviceability/jvmti/RedefineClasses/MissedStackMapFrames/MissedStackMapFrames.java + test/hotspot/jtreg/serviceability/jvmti/RedefineClasses/MissedStackMapFrames/libMissedStackMapFrames.cpp Changeset: 0aeebee2 Author: Thomas Schatzl Date: 2023-02-09 20:09:13 +0000 URL: https://git.openjdk.org/panama-foreign/commit/0aeebee284effe9abd0ed3cf2845430b40bb53bd 8301988: VerifyLiveClosure::verify_liveness asserts on bad pointers outside heap Reviewed-by: dholmes, ayang ! src/hotspot/share/gc/g1/g1CollectedHeap.inline.hpp ! src/hotspot/share/gc/g1/heapRegion.cpp ! src/hotspot/share/oops/compressedOops.hpp ! src/hotspot/share/oops/compressedOops.inline.hpp ! src/hotspot/share/oops/oop.hpp ! src/hotspot/share/oops/oop.inline.hpp Changeset: 97d0c872 Author: Coleen Phillimore Date: 2023-02-09 20:42:17 +0000 URL: https://git.openjdk.org/panama-foreign/commit/97d0c8720d46de8bd1620de975f6de3ba3eea560 8302109: Trivial fixes to btree tests Reviewed-by: lmesnik ! test/hotspot/jtreg/vmTestbase/nsk/sysdict/vm/stress/btree/btree002/btree002.java ! test/hotspot/jtreg/vmTestbase/nsk/sysdict/vm/stress/btree/btree005/btree005.java ! test/hotspot/jtreg/vmTestbase/nsk/sysdict/vm/stress/btree/btree008/btree008.java ! test/hotspot/jtreg/vmTestbase/nsk/sysdict/vm/stress/btree/btree011/btree011.java Changeset: 8c87a674 Author: Rajan Halade Date: 2023-02-09 20:48:37 +0000 URL: https://git.openjdk.org/panama-foreign/commit/8c87a67419b91f254ed7e4dd8ac8d294b8c4735e 8245654: Add Certigna Root CA Reviewed-by: mullan + src/java.base/share/data/cacerts/certignaca + test/jdk/security/infra/java/security/cert/CertPathValidator/certification/CertignaCA.java ! test/jdk/sun/security/lib/cacerts/VerifyCACerts.java Changeset: b814cfc3 Author: Kevin Driver Committer: Valerie Peng Date: 2023-02-09 22:31:00 +0000 URL: https://git.openjdk.org/panama-foreign/commit/b814cfc39d2a49951e8e1839cb2f42d9b7cf705d 8178806: Better exception logging in crypto code Reviewed-by: valeriep ! src/java.base/share/classes/javax/crypto/JceSecurity.java.template Changeset: e245620f Author: Xiaohong Gong Date: 2023-02-10 01:32:05 +0000 URL: https://git.openjdk.org/panama-foreign/commit/e245620f6f6a836aef8ddef9f699cc540f2a5eb6 8293198: [vectorapi] Improve the implementation of VectorMask.indexInRange() Reviewed-by: jbhateja, qamai, psandoz ! src/hotspot/cpu/aarch64/aarch64_vector.ad ! src/hotspot/cpu/aarch64/aarch64_vector_ad.m4 ! src/hotspot/share/classfile/vmIntrinsics.hpp ! src/hotspot/share/opto/c2compiler.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/library_call.hpp ! src/hotspot/share/opto/vectorIntrinsics.cpp ! src/java.base/share/classes/jdk/internal/vm/vector/VectorSupport.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/AbstractMask.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ByteMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/DoubleMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/FloatMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/IntMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/LongMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ShortMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/X-VectorBits.java.template + test/micro/org/openjdk/bench/jdk/incubator/vector/IndexInRangeBenchmark.java Changeset: 723433db Author: Ramkumar Sunderbabu Committer: David Holmes Date: 2023-02-10 05:58:12 +0000 URL: https://git.openjdk.org/panama-foreign/commit/723433dbebc6b542dab445a89b7437149730b858 8302117: IgnoreUnrecognizedVMOptions flag causes failure in ArchiveHeapTestClass Reviewed-by: dholmes ! test/hotspot/jtreg/runtime/cds/appcds/cacheObject/ArchiveHeapTestClass.java Changeset: 837d4644 Author: Thomas Schatzl Date: 2023-02-10 08:28:49 +0000 URL: https://git.openjdk.org/panama-foreign/commit/837d4644a71d39b939d0f26f7e5a2a7f015fffc2 8302125: Make G1 full gc abort the VM after failing VerifyDuringGC verification Reviewed-by: ayang, iwalulya ! src/hotspot/share/gc/g1/g1FullGCMarker.inline.hpp Changeset: 1c7b09bc Author: Kevin Walls Date: 2023-02-10 08:32:39 +0000 URL: https://git.openjdk.org/panama-foreign/commit/1c7b09bc23ac37f83b9043de35b71bea7e814da5 8302069: javax/management/remote/mandatory/notif/NotifReconnectDeadlockTest.java update Reviewed-by: cjplummer, amenkov ! test/jdk/ProblemList.txt ! test/jdk/javax/management/remote/mandatory/notif/NotifReconnectDeadlockTest.java Changeset: c8ace482 Author: Johan Sj?len Date: 2023-02-10 09:57:59 +0000 URL: https://git.openjdk.org/panama-foreign/commit/c8ace482edead720c865cf996729a316025d937e 8301072: Replace NULL with nullptr in share/oops/ Reviewed-by: stefank, coleenp, dholmes ! src/hotspot/share/oops/access.hpp ! src/hotspot/share/oops/access.inline.hpp ! src/hotspot/share/oops/annotations.cpp ! src/hotspot/share/oops/annotations.hpp ! src/hotspot/share/oops/arrayKlass.cpp ! src/hotspot/share/oops/arrayOop.hpp ! src/hotspot/share/oops/compressedOops.cpp ! src/hotspot/share/oops/compressedOops.hpp ! src/hotspot/share/oops/compressedOops.inline.hpp ! src/hotspot/share/oops/constMethod.cpp ! src/hotspot/share/oops/constMethod.hpp ! src/hotspot/share/oops/constantPool.cpp ! src/hotspot/share/oops/constantPool.hpp ! src/hotspot/share/oops/cpCache.cpp ! src/hotspot/share/oops/cpCache.hpp ! src/hotspot/share/oops/cpCache.inline.hpp ! src/hotspot/share/oops/fieldStreams.hpp ! src/hotspot/share/oops/generateOopMap.cpp ! src/hotspot/share/oops/generateOopMap.hpp ! src/hotspot/share/oops/instanceClassLoaderKlass.inline.hpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceKlass.hpp ! src/hotspot/share/oops/instanceKlass.inline.hpp ! src/hotspot/share/oops/instanceMirrorKlass.cpp ! src/hotspot/share/oops/instanceMirrorKlass.inline.hpp ! src/hotspot/share/oops/instanceRefKlass.cpp ! src/hotspot/share/oops/instanceRefKlass.inline.hpp ! src/hotspot/share/oops/instanceStackChunkKlass.cpp ! src/hotspot/share/oops/klass.cpp ! src/hotspot/share/oops/klass.hpp ! src/hotspot/share/oops/klassVtable.cpp ! src/hotspot/share/oops/klassVtable.hpp ! src/hotspot/share/oops/markWord.cpp ! src/hotspot/share/oops/metadata.hpp ! src/hotspot/share/oops/method.cpp ! src/hotspot/share/oops/method.hpp ! src/hotspot/share/oops/method.inline.hpp ! src/hotspot/share/oops/methodData.cpp ! src/hotspot/share/oops/methodData.hpp ! src/hotspot/share/oops/objArrayKlass.cpp ! src/hotspot/share/oops/oop.cpp ! src/hotspot/share/oops/oop.hpp ! src/hotspot/share/oops/oop.inline.hpp ! src/hotspot/share/oops/oopHandle.hpp ! src/hotspot/share/oops/oopHandle.inline.hpp ! src/hotspot/share/oops/oopsHierarchy.cpp ! src/hotspot/share/oops/oopsHierarchy.hpp ! src/hotspot/share/oops/recordComponent.cpp ! src/hotspot/share/oops/stackChunkOop.hpp ! src/hotspot/share/oops/symbol.cpp ! src/hotspot/share/oops/symbol.hpp ! src/hotspot/share/oops/symbolHandle.hpp ! src/hotspot/share/oops/typeArrayKlass.cpp ! src/hotspot/share/oops/typeArrayKlass.hpp ! src/hotspot/share/oops/weakHandle.cpp ! src/hotspot/share/oops/weakHandle.hpp Changeset: 16216067 Author: duke Date: 2023-02-10 11:00:41 +0000 URL: https://git.openjdk.org/panama-foreign/commit/1621606717a0ef28a04f3331f091af8bcd20454e Automatic merge of jdk:master into master From duke at openjdk.org Fri Feb 10 11:08:52 2023 From: duke at openjdk.org (J. Duke) Date: Fri, 10 Feb 2023 11:08:52 GMT Subject: [foreign-memaccess+abi] RFR: Merge master Message-ID: Hi all, this is an _automatically_ generated pull request to notify you that there are 100 commits from the branch `master`that can **not** be merged into the branch `foreign-memaccess+abi`: The following file contains merge conflicts: - make/autoconf/configure.ac All Committers in this [project](https://openjdk.org/census#panama) have access to my [personal fork](https://github.com/openjdk-bot/panama-foreign) and can therefore help resolve these merge conflicts (you may want to coordinate who should do this). The following paragraphs will give an example on how to solve these merge conflicts and push the resulting merge commit to this pull request. The below commands should be run in a local clone of your [personal fork](https://wiki.openjdk.org/display/skara#Skara-Personalforks) of the [openjdk/panama-foreign](https://github.com/openjdk/panama-foreign) repository. # Ensure target branch is up to date $ git checkout foreign-memaccess+abi $ git pull https://github.com/openjdk/panama-foreign.git foreign-memaccess+abi # Fetch and checkout the branch for this pull request $ git fetch https://github.com/openjdk-bot/panama-foreign.git +133:openjdk-bot-133 $ git checkout openjdk-bot-133 # Merge the target branch $ git merge foreign-memaccess+abi When you have resolved the conflicts resulting from the `git merge` command above, run the following commands to create a merge commit: $ git add paths/to/files/with/conflicts $ git commit -m 'Merge master' When you have created the merge commit, run the following command to push the merge commit to this pull request: $ git push https://github.com/openjdk-bot/panama-foreign.git openjdk-bot-133:133 _Note_: if you are using SSH to push commits to GitHub, then change the URL in the above `git push` command accordingly. Thanks, J. Duke ------------- Commit messages: - Automatic merge of jdk:master into master - 8301072: Replace NULL with nullptr in share/oops/ - 8302069: javax/management/remote/mandatory/notif/NotifReconnectDeadlockTest.java update - 8302125: Make G1 full gc abort the VM after failing VerifyDuringGC verification - 8302117: IgnoreUnrecognizedVMOptions flag causes failure in ArchiveHeapTestClass - 8293198: [vectorapi] Improve the implementation of VectorMask.indexInRange() - 8178806: Better exception logging in crypto code - 8245654: Add Certigna Root CA - 8302109: Trivial fixes to btree tests - 8301988: VerifyLiveClosure::verify_liveness asserts on bad pointers outside heap - ... and 90 more: https://git.openjdk.org/panama-foreign/compare/82126c1a...16216067 The webrev contains the conflicts with foreign-memaccess+abi: - merge conflicts: https://webrevs.openjdk.org/?repo=panama-foreign&pr=785&range=00.conflicts Changes: https://git.openjdk.org/panama-foreign/pull/785/files Stats: 14956 lines in 527 files changed: 9470 ins; 1667 del; 3819 mod Patch: https://git.openjdk.org/panama-foreign/pull/785.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/785/head:pull/785 PR: https://git.openjdk.org/panama-foreign/pull/785 From mcimadamore at openjdk.org Fri Feb 10 11:13:21 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Fri, 10 Feb 2023 11:13:21 GMT Subject: [foreign-memaccess+abi] RFR: 8301801: Implement arena-centric API [v2] In-Reply-To: References: Message-ID: On Thu, 9 Feb 2023 17:37:27 GMT, Jorn Vernee wrote: >> Maurizio Cimadamore has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains five commits: >> >> - Merge branch 'foreign-memaccess+abi' into arena_centric >> - Fix typo >> - Clarify javadoc for Arena::close >> - Fix linker javadoc >> - Initial push > > test/micro/org/openjdk/bench/java/lang/foreign/BulkMismatchAcquire.java line 52: > >> 50: @OutputTimeUnit(TimeUnit.MILLISECONDS) >> 51: @Fork(value = 3, jvmArgsAppend = "--enable-preview") >> 52: public class BulkMismatchAcquire { > > Why was this dropped? Removal of `whileAlive` ------------- PR: https://git.openjdk.org/panama-foreign/pull/781 From mcimadamore at openjdk.org Fri Feb 10 11:22:21 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Fri, 10 Feb 2023 11:22:21 GMT Subject: [foreign-memaccess+abi] RFR: 8301801: Implement arena-centric API [v2] In-Reply-To: References: Message-ID: <4PxOx6V1x1vPHVsM9UI-zK3qfHI3f9AaeYn46qqC9FM=.e909f827-508e-4768-bf51-0a68194cd848@github.com> On Thu, 9 Feb 2023 17:55:04 GMT, Jorn Vernee wrote: >> Maurizio Cimadamore has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains five commits: >> >> - Merge branch 'foreign-memaccess+abi' into arena_centric >> - Fix typo >> - Clarify javadoc for Arena::close >> - Fix linker javadoc >> - Initial push > > src/java.base/share/classes/jdk/internal/foreign/AbstractMemorySegmentImpl.java line 89: > >> 87: public static Arena arena(MemorySegment segment) { >> 88: return ((AbstractMemorySegmentImpl)segment).scope.asArena(); >> 89: } > > I can't find any usages of this. was used in VaList implementations, now removed > src/java.base/share/classes/jdk/internal/foreign/MemorySessionImpl.java line 63: > >> 61: >> 62: public static final MemorySessionImpl GLOBAL = new GlobalSession(null, false); >> 63: public static final MemorySessionImpl NATIVE = new GlobalSession(null, true); > > I don't get why this distinction is needed. GlobalSession has an isInternal() predicate but I don't see it called anywhere. > > Could you explain why we need 2 kinds of global session? We no longer need `isInternal`. But we do need, I think, another session for native segments returned by linker, so that comparisons against global arena's scope would fail. ------------- PR: https://git.openjdk.org/panama-foreign/pull/781 From mcimadamore at openjdk.org Fri Feb 10 11:40:36 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Fri, 10 Feb 2023 11:40:36 GMT Subject: [foreign-memaccess+abi] RFR: 8301801: Implement arena-centric API [v3] In-Reply-To: References: Message-ID: > This patch implements the API proposal described here: > > https://cr.openjdk.java.net/~mcimadamore/panama/scoped_arenas.html > > The main changes are: > > * Static factories `MemorySegment::allocateNative` are gone; > * The static factory `SegmentAllocator::nativeAllocator` is also gone; > * `SegmentScope` moved as nested class in `MemorySegment` (e.g. `MemorySegment.Scope`); > * Tweak methods accepting `SegmentScope` to accept `Arena` instead; > * Simplify `Arena` API, by removing predicates (`isCloseable`/`isAccessibleBy`) and by dropping `whileAlive`; > * Change arena factories to use `of` prefix instead of `open` - and rename `auto()` to `ofAuto()`. > > The API changes are rather straightforward, but they lead to several shallow test and microbenchmark changes, so the number of affected file is quite big (mostly because of the rename `openConfined` -> `ofConfined`). > > A javadoc of the proposed changes is available here: > > http://cr.openjdk.java.net/~mcimadamore/panama/scoped_arena_interface_lump_predicates/ Maurizio Cimadamore has updated the pull request incrementally with one additional commit since the last revision: Address review comments ------------- Changes: - all: https://git.openjdk.org/panama-foreign/pull/781/files - new: https://git.openjdk.org/panama-foreign/pull/781/files/358d489c..3bca4423 Webrevs: - full: https://webrevs.openjdk.org/?repo=panama-foreign&pr=781&range=02 - incr: https://webrevs.openjdk.org/?repo=panama-foreign&pr=781&range=01-02 Stats: 254 lines in 45 files changed: 18 ins; 124 del; 112 mod Patch: https://git.openjdk.org/panama-foreign/pull/781.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/781/head:pull/781 PR: https://git.openjdk.org/panama-foreign/pull/781 From mcimadamore at openjdk.org Fri Feb 10 13:58:51 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Fri, 10 Feb 2023 13:58:51 GMT Subject: [foreign-memaccess+abi] RFR: 8301801: Implement arena-centric API [v4] In-Reply-To: References: Message-ID: > This patch implements the API proposal described here: > > https://cr.openjdk.java.net/~mcimadamore/panama/scoped_arenas.html > > The main changes are: > > * Static factories `MemorySegment::allocateNative` are gone; > * The static factory `SegmentAllocator::nativeAllocator` is also gone; > * `SegmentScope` moved as nested class in `MemorySegment` (e.g. `MemorySegment.Scope`); > * Tweak methods accepting `SegmentScope` to accept `Arena` instead; > * Simplify `Arena` API, by removing predicates (`isCloseable`/`isAccessibleBy`) and by dropping `whileAlive`; > * Change arena factories to use `of` prefix instead of `open` - and rename `auto()` to `ofAuto()`. > > The API changes are rather straightforward, but they lead to several shallow test and microbenchmark changes, so the number of affected file is quite big (mostly because of the rename `openConfined` -> `ofConfined`). > > A javadoc of the proposed changes is available here: > > http://cr.openjdk.java.net/~mcimadamore/panama/scoped_arena_interface_lump_predicates/ Maurizio Cimadamore has updated the pull request incrementally with one additional commit since the last revision: Clarify lifetime of segments which wrap external resources. ------------- Changes: - all: https://git.openjdk.org/panama-foreign/pull/781/files - new: https://git.openjdk.org/panama-foreign/pull/781/files/3bca4423..d6478f50 Webrevs: - full: https://webrevs.openjdk.org/?repo=panama-foreign&pr=781&range=03 - incr: https://webrevs.openjdk.org/?repo=panama-foreign&pr=781&range=02-03 Stats: 199 lines in 11 files changed: 89 ins; 33 del; 77 mod Patch: https://git.openjdk.org/panama-foreign/pull/781.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/781/head:pull/781 PR: https://git.openjdk.org/panama-foreign/pull/781 From pminborg at openjdk.org Fri Feb 10 14:02:15 2023 From: pminborg at openjdk.org (Per Minborg) Date: Fri, 10 Feb 2023 14:02:15 GMT Subject: [foreign-memaccess+abi] RFR: ValueLayouts: Improve test coverage and more Message-ID: <6L75_9okA2Ueb5epGFFPFM2U-n5l64ZEFESjdryTHt0=.ac25b7aa-510d-48d5-83a2-6c013c73eef2@github.com> This PR: * Adds tests to `ValueLayout` methods * Simplifies an `equals()` method * Changes from exception throwing to assert for parameters that cannot be changed client-side ------------- Commit messages: - Change to asserts, rewrite equals and add tests Changes: https://git.openjdk.org/panama-foreign/pull/786/files Webrev: https://webrevs.openjdk.org/?repo=panama-foreign&pr=786&range=00 Stats: 64 lines in 2 files changed: 28 ins; 21 del; 15 mod Patch: https://git.openjdk.org/panama-foreign/pull/786.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/786/head:pull/786 PR: https://git.openjdk.org/panama-foreign/pull/786 From mcimadamore at openjdk.org Fri Feb 10 14:05:21 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Fri, 10 Feb 2023 14:05:21 GMT Subject: [foreign-memaccess+abi] RFR: 8301801: Implement arena-centric API [v4] In-Reply-To: <4PxOx6V1x1vPHVsM9UI-zK3qfHI3f9AaeYn46qqC9FM=.e909f827-508e-4768-bf51-0a68194cd848@github.com> References: <4PxOx6V1x1vPHVsM9UI-zK3qfHI3f9AaeYn46qqC9FM=.e909f827-508e-4768-bf51-0a68194cd848@github.com> Message-ID: On Fri, 10 Feb 2023 11:15:58 GMT, Maurizio Cimadamore wrote: >> src/java.base/share/classes/jdk/internal/foreign/MemorySessionImpl.java line 63: >> >>> 61: >>> 62: public static final MemorySessionImpl GLOBAL = new GlobalSession(null, false); >>> 63: public static final MemorySessionImpl NATIVE = new GlobalSession(null, true); >> >> I don't get why this distinction is needed. GlobalSession has an isInternal() predicate but I don't see it called anywhere. >> >> Could you explain why we need 2 kinds of global session? > > We no longer need `isInternal`. But we do need, I think, another session for native segments returned by linker, so that comparisons against global arena's scope would fail. I have uploaded a new version which vastly improves the situation when it comes to specifying the lifetime of segments associated with external resources (raw native segments, array segments, buffer segments). Now these segments are specified to be associated with a *fresh* scope, which is always alive. This means that the scope of these segment is not equal to any other scope from any other segment (except for the scope of the slices derived from these segments, which of course share the same scope). Implementation-wise, I played some tricks to avoid unnecessary creation of memory session objects when creating segments backed by external resources. Now all segments have a "parent" (the segment from which they have been derived), which can be `null` (if the segment is the "root"). When we ask for a segment scope, if the segment session is a real session, we just return that. If the session is the "external" session singleton, we return a new scope which wraps the segment and whose equality is defined in terms of the root of the wrapped segment. This means that we only pay for a scope creation when the scope is accessed on an externally managed segment (this operation should be rather infrequent). In all the other cases, we just return the segment session (which also acts as a scope). I have also clarified the javadoc to specify the places in which a _new_ scope is created. Note that these were mostly loose ends from previous iterations of the API - which this change finally addresses. (an alternative we have considered was to make the scope accessor optional in MemorySegment. While that is possible, I think an API where all segments have some scope, which could be an arena scope or some other synthetic scope, leads to more uniform usage). ------------- PR: https://git.openjdk.org/panama-foreign/pull/781 From duke at openjdk.org Fri Feb 10 14:18:18 2023 From: duke at openjdk.org (J. Duke) Date: Fri, 10 Feb 2023 14:18:18 GMT Subject: [foreign-memaccess+abi] RFR: Merge master [v2] In-Reply-To: References: Message-ID: > Hi all, > > this is an _automatically_ generated pull request to notify you that there are 100 commits from the branch `master`that can **not** be merged into the branch `foreign-memaccess+abi`: > > The following file contains merge conflicts: > > - make/autoconf/configure.ac > > All Committers in this [project](https://openjdk.org/census#panama) have access to my [personal fork](https://github.com/openjdk-bot/panama-foreign) and can therefore help resolve these merge conflicts (you may want to coordinate who should do this). > The following paragraphs will give an example on how to solve these merge conflicts and push the resulting merge commit to this pull request. > The below commands should be run in a local clone of your [personal fork](https://wiki.openjdk.org/display/skara#Skara-Personalforks) of the [openjdk/panama-foreign](https://github.com/openjdk/panama-foreign) repository. > > > # Ensure target branch is up to date > $ git checkout foreign-memaccess+abi > $ git pull https://github.com/openjdk/panama-foreign.git foreign-memaccess+abi > > # Fetch and checkout the branch for this pull request > $ git fetch https://github.com/openjdk-bot/panama-foreign.git +133:openjdk-bot-133 > $ git checkout openjdk-bot-133 > > # Merge the target branch > $ git merge foreign-memaccess+abi > > > When you have resolved the conflicts resulting from the `git merge` command above, run the following commands to create a merge commit: > > > $ git add paths/to/files/with/conflicts > $ git commit -m 'Merge master' > > > > When you have created the merge commit, run the following command to push the merge commit to this pull request: > > > $ git push https://github.com/openjdk-bot/panama-foreign.git openjdk-bot-133:133 > > > _Note_: if you are using SSH to push commits to GitHub, then change the URL in the above `git push` command accordingly. > > Thanks, > J. Duke J. Duke has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 101 commits: - Merge branch 'foreign-memaccess+abi' into 133 - Automatic merge of jdk:master into master - 8301072: Replace NULL with nullptr in share/oops/ Reviewed-by: stefank, coleenp, dholmes - 8302069: javax/management/remote/mandatory/notif/NotifReconnectDeadlockTest.java update Reviewed-by: cjplummer, amenkov - 8302125: Make G1 full gc abort the VM after failing VerifyDuringGC verification Reviewed-by: ayang, iwalulya - 8302117: IgnoreUnrecognizedVMOptions flag causes failure in ArchiveHeapTestClass Reviewed-by: dholmes - 8293198: [vectorapi] Improve the implementation of VectorMask.indexInRange() Reviewed-by: jbhateja, qamai, psandoz - 8178806: Better exception logging in crypto code Reviewed-by: valeriep - 8245654: Add Certigna Root CA Reviewed-by: mullan - 8302109: Trivial fixes to btree tests Reviewed-by: lmesnik - ... and 91 more: https://git.openjdk.org/panama-foreign/compare/53114302...09bacda1 ------------- Changes: https://git.openjdk.org/panama-foreign/pull/785/files Webrev: https://webrevs.openjdk.org/?repo=panama-foreign&pr=785&range=01 Stats: 14956 lines in 527 files changed: 9470 ins; 1667 del; 3819 mod Patch: https://git.openjdk.org/panama-foreign/pull/785.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/785/head:pull/785 PR: https://git.openjdk.org/panama-foreign/pull/785 From jvernee at openjdk.org Fri Feb 10 14:19:17 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Fri, 10 Feb 2023 14:19:17 GMT Subject: [foreign-memaccess+abi] RFR: 8301801: Implement arena-centric API [v4] In-Reply-To: References: Message-ID: On Fri, 10 Feb 2023 11:10:27 GMT, Maurizio Cimadamore wrote: >> test/micro/org/openjdk/bench/java/lang/foreign/BulkMismatchAcquire.java line 52: >> >>> 50: @OutputTimeUnit(TimeUnit.MILLISECONDS) >>> 51: @Fork(value = 3, jvmArgsAppend = "--enable-preview") >>> 52: public class BulkMismatchAcquire { >> >> Why was this dropped? > > Removal of `whileAlive` Ah, ok. Thanks ------------- PR: https://git.openjdk.org/panama-foreign/pull/781 From duke at openjdk.org Fri Feb 10 14:29:52 2023 From: duke at openjdk.org (J. Duke) Date: Fri, 10 Feb 2023 14:29:52 GMT Subject: [foreign-memaccess+abi] Integrated: Merge master In-Reply-To: References: Message-ID: On Fri, 10 Feb 2023 11:00:56 GMT, J. Duke wrote: > Hi all, > > this is an _automatically_ generated pull request to notify you that there are 100 commits from the branch `master`that can **not** be merged into the branch `foreign-memaccess+abi`: > > The following file contains merge conflicts: > > - make/autoconf/configure.ac > > All Committers in this [project](https://openjdk.org/census#panama) have access to my [personal fork](https://github.com/openjdk-bot/panama-foreign) and can therefore help resolve these merge conflicts (you may want to coordinate who should do this). > The following paragraphs will give an example on how to solve these merge conflicts and push the resulting merge commit to this pull request. > The below commands should be run in a local clone of your [personal fork](https://wiki.openjdk.org/display/skara#Skara-Personalforks) of the [openjdk/panama-foreign](https://github.com/openjdk/panama-foreign) repository. > > > # Ensure target branch is up to date > $ git checkout foreign-memaccess+abi > $ git pull https://github.com/openjdk/panama-foreign.git foreign-memaccess+abi > > # Fetch and checkout the branch for this pull request > $ git fetch https://github.com/openjdk-bot/panama-foreign.git +133:openjdk-bot-133 > $ git checkout openjdk-bot-133 > > # Merge the target branch > $ git merge foreign-memaccess+abi > > > When you have resolved the conflicts resulting from the `git merge` command above, run the following commands to create a merge commit: > > > $ git add paths/to/files/with/conflicts > $ git commit -m 'Merge master' > > > > When you have created the merge commit, run the following command to push the merge commit to this pull request: > > > $ git push https://github.com/openjdk-bot/panama-foreign.git openjdk-bot-133:133 > > > _Note_: if you are using SSH to push commits to GitHub, then change the URL in the above `git push` command accordingly. > > Thanks, > J. Duke This pull request has now been integrated. Changeset: 140f8387 Author: J. Duke Committer: Jorn Vernee URL: https://git.openjdk.org/panama-foreign/commit/140f83870ded70839b7b205192a6f4a5bc256677 Stats: 14956 lines in 527 files changed: 9470 ins; 1667 del; 3819 mod Merge master ------------- PR: https://git.openjdk.org/panama-foreign/pull/785 From jvernee at openjdk.org Fri Feb 10 15:05:21 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Fri, 10 Feb 2023 15:05:21 GMT Subject: [foreign-memaccess+abi] RFR: 8301801: Implement arena-centric API [v4] In-Reply-To: References: Message-ID: On Fri, 10 Feb 2023 13:58:51 GMT, Maurizio Cimadamore wrote: >> This patch implements the API proposal described here: >> >> https://cr.openjdk.java.net/~mcimadamore/panama/scoped_arenas.html >> >> The main changes are: >> >> * Static factories `MemorySegment::allocateNative` are gone; >> * The static factory `SegmentAllocator::nativeAllocator` is also gone; >> * `SegmentScope` moved as nested class in `MemorySegment` (e.g. `MemorySegment.Scope`); >> * Tweak methods accepting `SegmentScope` to accept `Arena` instead; >> * Simplify `Arena` API, by removing predicates (`isCloseable`/`isAccessibleBy`) and by dropping `whileAlive`; >> * Change arena factories to use `of` prefix instead of `open` - and rename `auto()` to `ofAuto()`. >> >> The API changes are rather straightforward, but they lead to several shallow test and microbenchmark changes, so the number of affected file is quite big (mostly because of the rename `openConfined` -> `ofConfined`). >> >> A javadoc of the proposed changes is available here: >> >> http://cr.openjdk.java.net/~mcimadamore/panama/scoped_arena_interface_lump_predicates/ > > Maurizio Cimadamore has updated the pull request incrementally with one additional commit since the last revision: > > Clarify lifetime of segments which wrap external resources. Marked as reviewed by jvernee (Committer). test/jdk/java/foreign/TestSegments.java line 121: > 119: assertEquals(segment.scope(), segment.scope()); > 120: assertEquals(segment.asSlice(0).scope(), segment.scope()); > 121: assertEquals(segment.asReadOnly().scope(), segment.scope()); I think it would be good to also test multiple levels of nesting here, e.g. `segment.asSlice(0).asSlice(0).asSlice(0).scope()` ------------- PR: https://git.openjdk.org/panama-foreign/pull/781 From jvernee at openjdk.org Fri Feb 10 15:05:22 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Fri, 10 Feb 2023 15:05:22 GMT Subject: [foreign-memaccess+abi] RFR: 8301801: Implement arena-centric API [v3] In-Reply-To: References: Message-ID: On Fri, 10 Feb 2023 11:40:36 GMT, Maurizio Cimadamore wrote: >> This patch implements the API proposal described here: >> >> https://cr.openjdk.java.net/~mcimadamore/panama/scoped_arenas.html >> >> The main changes are: >> >> * Static factories `MemorySegment::allocateNative` are gone; >> * The static factory `SegmentAllocator::nativeAllocator` is also gone; >> * `SegmentScope` moved as nested class in `MemorySegment` (e.g. `MemorySegment.Scope`); >> * Tweak methods accepting `SegmentScope` to accept `Arena` instead; >> * Simplify `Arena` API, by removing predicates (`isCloseable`/`isAccessibleBy`) and by dropping `whileAlive`; >> * Change arena factories to use `of` prefix instead of `open` - and rename `auto()` to `ofAuto()`. >> >> The API changes are rather straightforward, but they lead to several shallow test and microbenchmark changes, so the number of affected file is quite big (mostly because of the rename `openConfined` -> `ofConfined`). >> >> A javadoc of the proposed changes is available here: >> >> http://cr.openjdk.java.net/~mcimadamore/panama/scoped_arena_interface_lump_predicates/ > > Maurizio Cimadamore has updated the pull request incrementally with one additional commit since the last revision: > > Address review comments test/micro/org/openjdk/bench/java/lang/foreign/BulkOps.java line 66: > 64: > 65: final long unsafe_addr = unsafe.allocateMemory(ALLOC_SIZE); > 66: final MemorySegment segment = arena.allocate(ALLOC_SIZE, 1); Thanks for cleaning this up. There are still 2 more instances of this in the same file. ------------- PR: https://git.openjdk.org/panama-foreign/pull/781 From jvernee at openjdk.org Fri Feb 10 15:21:21 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Fri, 10 Feb 2023 15:21:21 GMT Subject: [foreign-memaccess+abi] RFR: ValueLayouts: Improve test coverage and more In-Reply-To: <6L75_9okA2Ueb5epGFFPFM2U-n5l64ZEFESjdryTHt0=.ac25b7aa-510d-48d5-83a2-6c013c73eef2@github.com> References: <6L75_9okA2Ueb5epGFFPFM2U-n5l64ZEFESjdryTHt0=.ac25b7aa-510d-48d5-83a2-6c013c73eef2@github.com> Message-ID: On Fri, 10 Feb 2023 13:56:18 GMT, Per Minborg wrote: > This PR: > > * Adds tests to `ValueLayout` methods > * Simplifies an `equals()` method > * Changes from exception throwing to assert for parameters that cannot be changed client-side src/java.base/share/classes/jdk/internal/foreign/layout/ValueLayouts.java line 155: > 153: assert carrier.isPrimitive() > 154: ? bitSize == (carrier == boolean.class ? 8 : Wrapper.forPrimitiveType(carrier).bitWidth()) > 155: : true; Could simplify to: Suggestion: assert carrier != MemorySegment.class || bitSize == ADDRESS_SIZE_BITS; assert !carrier.isPrimitive() || bitSize == (carrier == boolean.class ? 8 : Wrapper.forPrimitiveType(carrier).bitWidth()); src/java.base/share/classes/jdk/internal/foreign/layout/ValueLayouts.java line 159: > 157: > 158: static boolean isValidCarrier(Class carrier) { > 159: return carrier.isPrimitive() This changes the semantics as `void.class.isPrimitive()` is also true. test/jdk/java/foreign/TestLayouts.java line 52: > 50: @Test > 51: public void testNotEquals() { > 52: List basic = Stream.concat(Stream.of(basicLayouts), Stream.of(ADDRESS)).toList(); Rather than using a stream and `forEach`, I suggest using a `@DataProvider` method, to stick with the theme in the existing tests. (That would also create a log line for each layout, so it's just a little bit easier to see which case(s) failed if there's a failure) ------------- PR: https://git.openjdk.org/panama-foreign/pull/786 From mcimadamore at openjdk.org Fri Feb 10 15:27:46 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Fri, 10 Feb 2023 15:27:46 GMT Subject: [foreign-memaccess+abi] RFR: 8301801: Implement arena-centric API [v5] In-Reply-To: References: Message-ID: <_qzQ3E0C1A56iMBLXFydezF1gUBjJ64rDWL4-DO4E98=.4fa42586-43d5-4aaf-b767-53f2144a7fb0@github.com> > This patch implements the API proposal described here: > > https://cr.openjdk.java.net/~mcimadamore/panama/scoped_arenas.html > > The main changes are: > > * Static factories `MemorySegment::allocateNative` are gone; > * The static factory `SegmentAllocator::nativeAllocator` is also gone; > * `SegmentScope` moved as nested class in `MemorySegment` (e.g. `MemorySegment.Scope`); > * Tweak methods accepting `SegmentScope` to accept `Arena` instead; > * Simplify `Arena` API, by removing predicates (`isCloseable`/`isAccessibleBy`) and by dropping `whileAlive`; > * Change arena factories to use `of` prefix instead of `open` - and rename `auto()` to `ofAuto()`. > > The API changes are rather straightforward, but they lead to several shallow test and microbenchmark changes, so the number of affected file is quite big (mostly because of the rename `openConfined` -> `ofConfined`). > > A javadoc of the proposed changes is available here: > > http://cr.openjdk.java.net/~mcimadamore/panama/scoped_arena_interface_lump_predicates/ Maurizio Cimadamore has updated the pull request incrementally with one additional commit since the last revision: Simplify implementation ------------- Changes: - all: https://git.openjdk.org/panama-foreign/pull/781/files - new: https://git.openjdk.org/panama-foreign/pull/781/files/d6478f50..3bcd4601 Webrevs: - full: https://webrevs.openjdk.org/?repo=panama-foreign&pr=781&range=04 - incr: https://webrevs.openjdk.org/?repo=panama-foreign&pr=781&range=03-04 Stats: 101 lines in 7 files changed: 7 ins; 39 del; 55 mod Patch: https://git.openjdk.org/panama-foreign/pull/781.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/781/head:pull/781 PR: https://git.openjdk.org/panama-foreign/pull/781 From mcimadamore at openjdk.org Fri Feb 10 15:27:47 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Fri, 10 Feb 2023 15:27:47 GMT Subject: [foreign-memaccess+abi] RFR: 8301801: Implement arena-centric API [v5] In-Reply-To: References: <4PxOx6V1x1vPHVsM9UI-zK3qfHI3f9AaeYn46qqC9FM=.e909f827-508e-4768-bf51-0a68194cd848@github.com> Message-ID: On Fri, 10 Feb 2023 14:02:19 GMT, Maurizio Cimadamore wrote: >> We no longer need `isInternal`. But we do need, I think, another session for native segments returned by linker, so that comparisons against global arena's scope would fail. > > I have uploaded a new version which vastly improves the situation when it comes to specifying the lifetime of segments associated with external resources (raw native segments, array segments, buffer segments). Now these segments are specified to be associated with a *fresh* scope, which is always alive. This means that the scope of these segment is not equal to any other scope from any other segment (except for the scope of the slices derived from these segments, which of course share the same scope). > > Implementation-wise, I played some tricks to avoid unnecessary creation of memory session objects when creating segments backed by external resources. Now all segments have a "parent" (the segment from which they have been derived), which can be `null` (if the segment is the "root"). When we ask for a segment scope, if the segment session is a real session, we just return that. If the session is the "external" session singleton, we return a new scope which wraps the segment and whose equality is defined in terms of the root of the wrapped segment. This means that we only pay for a scope creation when the scope is accessed on an externally managed segment (this operation should be rather infrequent). In all the other cases, we just return the segment session (which also acts as a scope). > > I have also clarified the javadoc to specify the places in which a _new_ scope is created. Note that these were mostly loose ends from previous iterations of the API - which this change finally addresses. > > (an alternative we have considered was to make the scope accessor optional in MemorySegment. While that is possible, I think an API where all segments have some scope, which could be an arena scope or some other synthetic scope, leads to more uniform usage). Ended up (after offline discussion) with a simpler implementation. A new session is created every time for the externally managed segments. The working theory is that scalarization should still work well (because a global session doesn't have a resource list - it's a pretty small and dumb object). We will go for the simple version, test its performance - and then decide if it's good enough. If performance is not good and cannot be improved, we might consider an API solution to the problem (where scope accessors are optional). But we need to gather some numbers first. ------------- PR: https://git.openjdk.org/panama-foreign/pull/781 From mcimadamore at openjdk.org Fri Feb 10 15:37:26 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Fri, 10 Feb 2023 15:37:26 GMT Subject: [foreign-memaccess+abi] RFR: 8301801: Implement arena-centric API [v6] In-Reply-To: References: Message-ID: > This patch implements the API proposal described here: > > https://cr.openjdk.java.net/~mcimadamore/panama/scoped_arenas.html > > The main changes are: > > * Static factories `MemorySegment::allocateNative` are gone; > * The static factory `SegmentAllocator::nativeAllocator` is also gone; > * `SegmentScope` moved as nested class in `MemorySegment` (e.g. `MemorySegment.Scope`); > * Tweak methods accepting `SegmentScope` to accept `Arena` instead; > * Simplify `Arena` API, by removing predicates (`isCloseable`/`isAccessibleBy`) and by dropping `whileAlive`; > * Change arena factories to use `of` prefix instead of `open` - and rename `auto()` to `ofAuto()`. > > The API changes are rather straightforward, but they lead to several shallow test and microbenchmark changes, so the number of affected file is quite big (mostly because of the rename `openConfined` -> `ofConfined`). > > A javadoc of the proposed changes is available here: > > http://cr.openjdk.java.net/~mcimadamore/panama/scoped_arena_interface_lump_predicates/ Maurizio Cimadamore has updated the pull request incrementally with one additional commit since the last revision: Address review comments ------------- Changes: - all: https://git.openjdk.org/panama-foreign/pull/781/files - new: https://git.openjdk.org/panama-foreign/pull/781/files/3bcd4601..9085592c Webrevs: - full: https://webrevs.openjdk.org/?repo=panama-foreign&pr=781&range=05 - incr: https://webrevs.openjdk.org/?repo=panama-foreign&pr=781&range=04-05 Stats: 31 lines in 3 files changed: 10 ins; 18 del; 3 mod Patch: https://git.openjdk.org/panama-foreign/pull/781.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/781/head:pull/781 PR: https://git.openjdk.org/panama-foreign/pull/781 From jvernee at openjdk.org Fri Feb 10 15:44:17 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Fri, 10 Feb 2023 15:44:17 GMT Subject: [foreign-memaccess+abi] RFR: 8301801: Implement arena-centric API [v6] In-Reply-To: References: Message-ID: On Fri, 10 Feb 2023 15:37:26 GMT, Maurizio Cimadamore wrote: >> This patch implements the API proposal described here: >> >> https://cr.openjdk.java.net/~mcimadamore/panama/scoped_arenas.html >> >> The main changes are: >> >> * Static factories `MemorySegment::allocateNative` are gone; >> * The static factory `SegmentAllocator::nativeAllocator` is also gone; >> * `SegmentScope` moved as nested class in `MemorySegment` (e.g. `MemorySegment.Scope`); >> * Tweak methods accepting `SegmentScope` to accept `Arena` instead; >> * Simplify `Arena` API, by removing predicates (`isCloseable`/`isAccessibleBy`) and by dropping `whileAlive`; >> * Change arena factories to use `of` prefix instead of `open` - and rename `auto()` to `ofAuto()`. >> >> The API changes are rather straightforward, but they lead to several shallow test and microbenchmark changes, so the number of affected file is quite big (mostly because of the rename `openConfined` -> `ofConfined`). >> >> A javadoc of the proposed changes is available here: >> >> http://cr.openjdk.java.net/~mcimadamore/panama/scoped_arena_interface_lump_predicates/ > > Maurizio Cimadamore has updated the pull request incrementally with one additional commit since the last revision: > > Address review comments Marked as reviewed by jvernee (Committer). ------------- PR: https://git.openjdk.org/panama-foreign/pull/781 From mcimadamore at openjdk.org Fri Feb 10 17:03:00 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Fri, 10 Feb 2023 17:03:00 GMT Subject: [foreign-memaccess+abi] RFR: 8301801: Implement arena-centric API [v7] In-Reply-To: References: Message-ID: > This patch implements the API proposal described here: > > https://cr.openjdk.java.net/~mcimadamore/panama/scoped_arenas.html > > The main changes are: > > * Static factories `MemorySegment::allocateNative` are gone; > * The static factory `SegmentAllocator::nativeAllocator` is also gone; > * `SegmentScope` moved as nested class in `MemorySegment` (e.g. `MemorySegment.Scope`); > * Tweak methods accepting `SegmentScope` to accept `Arena` instead; > * Simplify `Arena` API, by removing predicates (`isCloseable`/`isAccessibleBy`) and by dropping `whileAlive`; > * Change arena factories to use `of` prefix instead of `open` - and rename `auto()` to `ofAuto()`. > > The API changes are rather straightforward, but they lead to several shallow test and microbenchmark changes, so the number of affected file is quite big (mostly because of the rename `openConfined` -> `ofConfined`). > > A javadoc of the proposed changes is available here: > > http://cr.openjdk.java.net/~mcimadamore/panama/scoped_arena_interface_lump_predicates/ Maurizio Cimadamore has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 10 commits: - Merge branch 'foreign-memaccess+abi' into arena_centric - Address review comments - Simplify implementation - Clarify lifetime of segments which wrap external resources. - Address review comments - Merge branch 'foreign-memaccess+abi' into arena_centric - Fix typo - Clarify javadoc for Arena::close - Fix linker javadoc - Initial push ------------- Changes: https://git.openjdk.org/panama-foreign/pull/781/files Webrev: https://webrevs.openjdk.org/?repo=panama-foreign&pr=781&range=06 Stats: 2173 lines in 129 files changed: 468 ins; 693 del; 1012 mod Patch: https://git.openjdk.org/panama-foreign/pull/781.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/781/head:pull/781 PR: https://git.openjdk.org/panama-foreign/pull/781 From jvernee at openjdk.org Fri Feb 10 17:21:34 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Fri, 10 Feb 2023 17:21:34 GMT Subject: [foreign-memaccess+abi] RFR: 8301806: TestNulls does not cover all API classes Message-ID: The TestNulls test does not cover the following API classes: Linker.Option, PaddingLayout, StructLayout, UnionLayout. This patch adds coverage, and fixes several places where we weren't checking for `null`. ------------- Commit messages: - add more coverage - check for nulls Changes: https://git.openjdk.org/panama-foreign/pull/787/files Webrev: https://webrevs.openjdk.org/?repo=panama-foreign&pr=787&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8301806 Stats: 12 lines in 2 files changed: 10 ins; 0 del; 2 mod Patch: https://git.openjdk.org/panama-foreign/pull/787.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/787/head:pull/787 PR: https://git.openjdk.org/panama-foreign/pull/787 From mcimadamore at openjdk.org Fri Feb 10 17:36:30 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Fri, 10 Feb 2023 17:36:30 GMT Subject: [foreign-memaccess+abi] RFR: 8301801: Implement arena-centric API [v8] In-Reply-To: References: Message-ID: > This patch implements the API proposal described here: > > https://cr.openjdk.java.net/~mcimadamore/panama/scoped_arenas.html > > The main changes are: > > * Static factories `MemorySegment::allocateNative` are gone; > * The static factory `SegmentAllocator::nativeAllocator` is also gone; > * `SegmentScope` moved as nested class in `MemorySegment` (e.g. `MemorySegment.Scope`); > * Tweak methods accepting `SegmentScope` to accept `Arena` instead; > * Simplify `Arena` API, by removing predicates (`isCloseable`/`isAccessibleBy`) and by dropping `whileAlive`; > * Change arena factories to use `of` prefix instead of `open` - and rename `auto()` to `ofAuto()`. > > The API changes are rather straightforward, but they lead to several shallow test and microbenchmark changes, so the number of affected file is quite big (mostly because of the rename `openConfined` -> `ofConfined`). > > A javadoc of the proposed changes is available here: > > http://cr.openjdk.java.net/~mcimadamore/panama/scoped_arena_interface_lump_predicates/ Maurizio Cimadamore has updated the pull request incrementally with one additional commit since the last revision: Fix tests outside foreign package ------------- Changes: - all: https://git.openjdk.org/panama-foreign/pull/781/files - new: https://git.openjdk.org/panama-foreign/pull/781/files/089009cc..50c7e712 Webrevs: - full: https://webrevs.openjdk.org/?repo=panama-foreign&pr=781&range=07 - incr: https://webrevs.openjdk.org/?repo=panama-foreign&pr=781&range=06-07 Stats: 296 lines in 38 files changed: 2 ins; 3 del; 291 mod Patch: https://git.openjdk.org/panama-foreign/pull/781.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/781/head:pull/781 PR: https://git.openjdk.org/panama-foreign/pull/781 From mcimadamore at openjdk.org Fri Feb 10 17:39:24 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Fri, 10 Feb 2023 17:39:24 GMT Subject: [foreign-memaccess+abi] RFR: 8301806: TestNulls does not cover all API classes In-Reply-To: References: Message-ID: On Fri, 10 Feb 2023 16:35:46 GMT, Jorn Vernee wrote: > The TestNulls test does not cover the following API classes: Linker.Option, PaddingLayout, StructLayout, UnionLayout. > > This patch adds coverage, and fixes several places where we weren't checking for `null`. Marked as reviewed by mcimadamore (Committer). ------------- PR: https://git.openjdk.org/panama-foreign/pull/787 From mcimadamore at openjdk.org Fri Feb 10 17:40:32 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Fri, 10 Feb 2023 17:40:32 GMT Subject: [foreign-memaccess+abi] Integrated: 8301801: Implement arena-centric API In-Reply-To: References: Message-ID: <4WTsYCgp-tjjF9nM6rmVGEKfIQUhTjy16VReCk6agJQ=.74b46902-6051-4f54-9ed2-0a95271879f1@github.com> On Tue, 7 Feb 2023 14:32:46 GMT, Maurizio Cimadamore wrote: > This patch implements the API proposal described here: > > https://cr.openjdk.java.net/~mcimadamore/panama/scoped_arenas.html > > The main changes are: > > * Static factories `MemorySegment::allocateNative` are gone; > * The static factory `SegmentAllocator::nativeAllocator` is also gone; > * `SegmentScope` moved as nested class in `MemorySegment` (e.g. `MemorySegment.Scope`); > * Tweak methods accepting `SegmentScope` to accept `Arena` instead; > * Simplify `Arena` API, by removing predicates (`isCloseable`/`isAccessibleBy`) and by dropping `whileAlive`; > * Change arena factories to use `of` prefix instead of `open` - and rename `auto()` to `ofAuto()`. > > The API changes are rather straightforward, but they lead to several shallow test and microbenchmark changes, so the number of affected file is quite big (mostly because of the rename `openConfined` -> `ofConfined`). > > A javadoc of the proposed changes is available here: > > http://cr.openjdk.java.net/~mcimadamore/panama/scoped_arena_interface_lump_predicates/ This pull request has now been integrated. Changeset: d501f737 Author: Maurizio Cimadamore URL: https://git.openjdk.org/panama-foreign/commit/d501f737977ea2186737c7d91e81a06725ea074c Stats: 2469 lines in 165 files changed: 470 ins; 696 del; 1303 mod 8301801: Implement arena-centric API Reviewed-by: jvernee ------------- PR: https://git.openjdk.org/panama-foreign/pull/781 From jvernee at openjdk.org Fri Feb 10 18:20:07 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Fri, 10 Feb 2023 18:20:07 GMT Subject: [foreign-memaccess+abi] Integrated: 8301806: TestNulls does not cover all API classes In-Reply-To: References: Message-ID: On Fri, 10 Feb 2023 16:35:46 GMT, Jorn Vernee wrote: > The TestNulls test does not cover the following API classes: Linker.Option, PaddingLayout, StructLayout, UnionLayout. > > This patch adds coverage, and fixes several places where we weren't checking for `null`. This pull request has now been integrated. Changeset: e3bbd838 Author: Jorn Vernee URL: https://git.openjdk.org/panama-foreign/commit/e3bbd8380b9192cd1ed95062985158e7b320a2e1 Stats: 12 lines in 2 files changed: 10 ins; 0 del; 2 mod 8301806: TestNulls does not cover all API classes Reviewed-by: mcimadamore ------------- PR: https://git.openjdk.org/panama-foreign/pull/787 From mcimadamore at openjdk.org Fri Feb 10 18:28:38 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Fri, 10 Feb 2023 18:28:38 GMT Subject: [foreign-memaccess+abi] RFR: Generalize PointerInvoke to benchmark by-ref segment return Message-ID: I've generalized an existing benchmark to test by-reference segment return in downcalls. Ideally, we should see scalarization of the returned segment, and no GC activity. ------------- Commit messages: - Generalize PointerInvoke to benchmark by-ref segment return Changes: https://git.openjdk.org/panama-foreign/pull/788/files Webrev: https://webrevs.openjdk.org/?repo=panama-foreign&pr=788&range=00 Stats: 43 lines in 2 files changed: 28 ins; 0 del; 15 mod Patch: https://git.openjdk.org/panama-foreign/pull/788.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/788/head:pull/788 PR: https://git.openjdk.org/panama-foreign/pull/788 From mcimadamore at openjdk.org Fri Feb 10 18:28:38 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Fri, 10 Feb 2023 18:28:38 GMT Subject: [foreign-memaccess+abi] RFR: Generalize PointerInvoke to benchmark by-ref segment return In-Reply-To: References: Message-ID: On Fri, 10 Feb 2023 18:21:47 GMT, Maurizio Cimadamore wrote: > I've generalized an existing benchmark to test by-reference segment return in downcalls. > Ideally, we should see scalarization of the returned segment, and no GC activity. Results I got: Benchmark Mode Cnt Score Error Units PointerInvoke.long_to_long avgt 30 10.016 ? 0.038 ns/op PointerInvoke.long_to_long:?gc.alloc.rate avgt 30 0.001 ? 0.001 MB/sec PointerInvoke.long_to_long:?gc.alloc.rate.norm avgt 30 ? 10?? B/op PointerInvoke.long_to_long:?gc.count avgt 30 ? 0 counts PointerInvoke.long_to_ptr avgt 30 14.581 ? 0.185 ns/op PointerInvoke.long_to_ptr:?gc.alloc.rate avgt 30 2354.079 ? 29.942 MB/sec PointerInvoke.long_to_ptr:?gc.alloc.rate.norm avgt 30 72.005 ? 0.001 B/op PointerInvoke.long_to_ptr:?gc.churn.G1_Eden_Space avgt 30 2345.490 ? 102.742 MB/sec PointerInvoke.long_to_ptr:?gc.churn.G1_Eden_Space.norm avgt 30 71.766 ? 3.260 B/op PointerInvoke.long_to_ptr:?gc.churn.G1_Survivor_Space avgt 30 0.018 ? 0.007 MB/sec PointerInvoke.long_to_ptr:?gc.churn.G1_Survivor_Space.norm avgt 30 0.001 ? 0.001 B/op PointerInvoke.long_to_ptr:?gc.count avgt 30 210.000 counts PointerInvoke.long_to_ptr:?gc.time avgt 30 124.000 ms PointerInvoke.ptr_to_long avgt 30 10.712 ? 0.088 ns/op PointerInvoke.ptr_to_long:?gc.alloc.rate avgt 30 0.001 ? 0.001 MB/sec PointerInvoke.ptr_to_long:?gc.alloc.rate.norm avgt 30 ? 10?? B/op PointerInvoke.ptr_to_long:?gc.count avgt 30 ? 0 counts PointerInvoke.ptr_to_long_new_segment avgt 30 11.386 ? 0.124 ns/op PointerInvoke.ptr_to_long_new_segment:?gc.alloc.rate avgt 30 0.001 ? 0.001 MB/sec PointerInvoke.ptr_to_long_new_segment:?gc.alloc.rate.norm avgt 30 ? 10?? B/op PointerInvoke.ptr_to_long_new_segment:?gc.count avgt 30 ? 0 counts PointerInvoke.ptr_to_ptr avgt 30 15.769 ? 0.186 ns/op PointerInvoke.ptr_to_ptr:?gc.alloc.rate avgt 30 2176.427 ? 25.562 MB/sec PointerInvoke.ptr_to_ptr:?gc.alloc.rate.norm avgt 30 72.005 ? 0.001 B/op PointerInvoke.ptr_to_ptr:?gc.churn.G1_Eden_Space avgt 30 2186.727 ? 109.313 MB/sec PointerInvoke.ptr_to_ptr:?gc.churn.G1_Eden_Space.norm avgt 30 72.331 ? 3.393 B/op PointerInvoke.ptr_to_ptr:?gc.churn.G1_Survivor_Space avgt 30 0.013 ? 0.007 MB/sec PointerInvoke.ptr_to_ptr:?gc.churn.G1_Survivor_Space.norm avgt 30 ? 10?? B/op PointerInvoke.ptr_to_ptr:?gc.count avgt 30 187.000 counts PointerInvoke.ptr_to_ptr:?gc.time avgt 30 109.000 ms PointerInvoke.ptr_to_ptr_new_segment avgt 30 15.848 ? 0.239 ns/op PointerInvoke.ptr_to_ptr_new_segment:?gc.alloc.rate avgt 30 2165.823 ? 32.328 MB/sec PointerInvoke.ptr_to_ptr_new_segment:?gc.alloc.rate.norm avgt 30 72.005 ? 0.001 B/op PointerInvoke.ptr_to_ptr_new_segment:?gc.churn.G1_Eden_Space avgt 30 2175.643 ? 93.914 MB/sec PointerInvoke.ptr_to_ptr_new_segment:?gc.churn.G1_Eden_Space.norm avgt 30 72.321 ? 2.808 B/op PointerInvoke.ptr_to_ptr_new_segment:?gc.churn.G1_Survivor_Space avgt 30 0.019 ? 0.009 MB/sec PointerInvoke.ptr_to_ptr_new_segment:?gc.churn.G1_Survivor_Space.norm avgt 30 0.001 ? 0.001 B/op PointerInvoke.ptr_to_ptr_new_segment:?gc.count avgt 30 198.000 counts PointerInvoke.ptr_to_ptr_new_segment:?gc.time avgt 30 116.000 ms Passing segments as arguments works fine, but returning segments generate allocation. This seems to be unrelated to latest API changes - (even when I tweaked the FFM impl to always use global scope, the allocation seems to be still there). ------------- PR: https://git.openjdk.org/panama-foreign/pull/788 From mcimadamore at openjdk.org Fri Feb 10 18:32:12 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Fri, 10 Feb 2023 18:32:12 GMT Subject: [foreign-memaccess+abi] RFR: Generalize PointerInvoke to benchmark by-ref segment return [v2] In-Reply-To: References: Message-ID: <7FjfCDe7LJhn2BUhMHrl21nTioYXm5z8XEy0h0ffhvE=.74fc774e-a8f8-40ee-9b2b-526e9b346594@github.com> > I've generalized an existing benchmark to test by-reference segment return in downcalls. > Ideally, we should see scalarization of the returned segment, and no GC activity. Maurizio Cimadamore has updated the pull request incrementally with one additional commit since the last revision: Fix benchmark not to let returned segments escape ------------- Changes: - all: https://git.openjdk.org/panama-foreign/pull/788/files - new: https://git.openjdk.org/panama-foreign/pull/788/files/f5051192..1b65db66 Webrevs: - full: https://webrevs.openjdk.org/?repo=panama-foreign&pr=788&range=01 - incr: https://webrevs.openjdk.org/?repo=panama-foreign&pr=788&range=00-01 Stats: 6 lines in 1 file changed: 0 ins; 0 del; 6 mod Patch: https://git.openjdk.org/panama-foreign/pull/788.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/788/head:pull/788 PR: https://git.openjdk.org/panama-foreign/pull/788 From mcimadamore at openjdk.org Fri Feb 10 18:37:08 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Fri, 10 Feb 2023 18:37:08 GMT Subject: [foreign-memaccess+abi] RFR: Generalize PointerInvoke to benchmark by-ref segment return [v2] In-Reply-To: <7FjfCDe7LJhn2BUhMHrl21nTioYXm5z8XEy0h0ffhvE=.74fc774e-a8f8-40ee-9b2b-526e9b346594@github.com> References: <7FjfCDe7LJhn2BUhMHrl21nTioYXm5z8XEy0h0ffhvE=.74fc774e-a8f8-40ee-9b2b-526e9b346594@github.com> Message-ID: <3o_a79S_4vHkfmWUaub1ocm0JmYOOt__Q-xURJgxs6c=.36ba1def-8aa5-4fd2-bc76-9195b927b365@github.com> On Fri, 10 Feb 2023 18:32:12 GMT, Maurizio Cimadamore wrote: >> I've generalized an existing benchmark to test by-reference segment return in downcalls. >> Ideally, we should see scalarization of the returned segment, and no GC activity. > > Maurizio Cimadamore has updated the pull request incrementally with one additional commit since the last revision: > > Fix benchmark not to let returned segments escape Doh - realized that my benchmark was escaping segments "by design" (since the benchmark methods were returning the segments). I've tweaked the benchmark to return the `address()` value of the returned segment instead and it all got much better :-) Benchmark Mode Cnt Score Error Units PointerInvoke.long_to_long avgt 30 9.764 ? 0.133 ns/op PointerInvoke.long_to_long:?gc.alloc.rate avgt 30 0.001 ? 0.001 MB/sec PointerInvoke.long_to_long:?gc.alloc.rate.norm avgt 30 ? 10?? B/op PointerInvoke.long_to_long:?gc.count avgt 30 ? 0 counts PointerInvoke.long_to_ptr avgt 30 9.832 ? 0.122 ns/op PointerInvoke.long_to_ptr:?gc.alloc.rate avgt 30 0.001 ? 0.001 MB/sec PointerInvoke.long_to_ptr:?gc.alloc.rate.norm avgt 30 ? 10?? B/op PointerInvoke.long_to_ptr:?gc.count avgt 30 ? 0 counts PointerInvoke.ptr_to_long avgt 30 11.069 ? 0.095 ns/op PointerInvoke.ptr_to_long:?gc.alloc.rate avgt 30 0.001 ? 0.001 MB/sec PointerInvoke.ptr_to_long:?gc.alloc.rate.norm avgt 30 ? 10?? B/op PointerInvoke.ptr_to_long:?gc.count avgt 30 ? 0 counts PointerInvoke.ptr_to_long_new_segment avgt 30 11.679 ? 0.160 ns/op PointerInvoke.ptr_to_long_new_segment:?gc.alloc.rate avgt 30 0.001 ? 0.001 MB/sec PointerInvoke.ptr_to_long_new_segment:?gc.alloc.rate.norm avgt 30 ? 10?? B/op PointerInvoke.ptr_to_long_new_segment:?gc.count avgt 30 ? 0 counts PointerInvoke.ptr_to_ptr avgt 30 10.822 ? 0.141 ns/op PointerInvoke.ptr_to_ptr:?gc.alloc.rate avgt 30 0.001 ? 0.001 MB/sec PointerInvoke.ptr_to_ptr:?gc.alloc.rate.norm avgt 30 ? 10?? B/op PointerInvoke.ptr_to_ptr:?gc.count avgt 30 ? 0 counts PointerInvoke.ptr_to_ptr_new_segment avgt 30 11.772 ? 0.094 ns/op PointerInvoke.ptr_to_ptr_new_segment:?gc.alloc.rate avgt 30 0.001 ? 0.001 MB/sec PointerInvoke.ptr_to_ptr_new_segment:?gc.alloc.rate.norm avgt 30 ? 10?? B/op PointerInvoke.ptr_to_ptr_new_segment:?gc.count avgt 30 ? 0 counts None of the benchmark shows allocation now. ------------- PR: https://git.openjdk.org/panama-foreign/pull/788 From jvernee at openjdk.org Fri Feb 10 18:40:05 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Fri, 10 Feb 2023 18:40:05 GMT Subject: [foreign-memaccess+abi] RFR: Generalize PointerInvoke to benchmark by-ref segment return [v2] In-Reply-To: <7FjfCDe7LJhn2BUhMHrl21nTioYXm5z8XEy0h0ffhvE=.74fc774e-a8f8-40ee-9b2b-526e9b346594@github.com> References: <7FjfCDe7LJhn2BUhMHrl21nTioYXm5z8XEy0h0ffhvE=.74fc774e-a8f8-40ee-9b2b-526e9b346594@github.com> Message-ID: On Fri, 10 Feb 2023 18:32:12 GMT, Maurizio Cimadamore wrote: >> I've generalized an existing benchmark to test by-reference segment return in downcalls. >> Ideally, we should see scalarization of the returned segment, and no GC activity. > > Maurizio Cimadamore has updated the pull request incrementally with one additional commit since the last revision: > > Fix benchmark not to let returned segments escape Nice beef up! ------------- Marked as reviewed by jvernee (Committer). PR: https://git.openjdk.org/panama-foreign/pull/788 From mcimadamore at openjdk.org Fri Feb 10 19:00:04 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Fri, 10 Feb 2023 19:00:04 GMT Subject: [foreign-memaccess+abi] Integrated: Generalize PointerInvoke to benchmark by-ref segment return In-Reply-To: References: Message-ID: On Fri, 10 Feb 2023 18:21:47 GMT, Maurizio Cimadamore wrote: > I've generalized an existing benchmark to test by-reference segment return in downcalls. > Ideally, we should see scalarization of the returned segment, and no GC activity. This pull request has now been integrated. Changeset: e3a46c9a Author: Maurizio Cimadamore URL: https://git.openjdk.org/panama-foreign/commit/e3a46c9a1ae783e4209d87a807f987d8e05d74ea Stats: 43 lines in 2 files changed: 28 ins; 0 del; 15 mod Generalize PointerInvoke to benchmark by-ref segment return Reviewed-by: jvernee ------------- PR: https://git.openjdk.org/panama-foreign/pull/788 From pminborg at openjdk.org Mon Feb 13 10:25:24 2023 From: pminborg at openjdk.org (Per Minborg) Date: Mon, 13 Feb 2023 10:25:24 GMT Subject: [foreign-memaccess+abi] RFR: ValueLayouts: Improve test coverage and more [v2] In-Reply-To: <6L75_9okA2Ueb5epGFFPFM2U-n5l64ZEFESjdryTHt0=.ac25b7aa-510d-48d5-83a2-6c013c73eef2@github.com> References: <6L75_9okA2Ueb5epGFFPFM2U-n5l64ZEFESjdryTHt0=.ac25b7aa-510d-48d5-83a2-6c013c73eef2@github.com> Message-ID: <3UoMLwuBtsp5STw2l8iCJeT1wxCM2E0ODq4XfW54oe4=.eb45cd9b-a2e9-48f8-8c30-5a9fb30be055@github.com> > This PR: > > * Adds tests to `ValueLayout` methods > * Simplifies an `equals()` method > * Changes from exception throwing to assert for parameters that cannot be changed client-side Per Minborg has updated the pull request incrementally with one additional commit since the last revision: Update after comments ------------- Changes: - all: https://git.openjdk.org/panama-foreign/pull/786/files - new: https://git.openjdk.org/panama-foreign/pull/786/files/5cdf3526..5336e0f8 Webrevs: - full: https://webrevs.openjdk.org/?repo=panama-foreign&pr=786&range=01 - incr: https://webrevs.openjdk.org/?repo=panama-foreign&pr=786&range=00-01 Stats: 42 lines in 2 files changed: 19 ins; 5 del; 18 mod Patch: https://git.openjdk.org/panama-foreign/pull/786.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/786/head:pull/786 PR: https://git.openjdk.org/panama-foreign/pull/786 From jvernee at openjdk.org Mon Feb 13 10:25:24 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Mon, 13 Feb 2023 10:25:24 GMT Subject: [foreign-memaccess+abi] RFR: ValueLayouts: Improve test coverage and more [v2] In-Reply-To: <3UoMLwuBtsp5STw2l8iCJeT1wxCM2E0ODq4XfW54oe4=.eb45cd9b-a2e9-48f8-8c30-5a9fb30be055@github.com> References: <6L75_9okA2Ueb5epGFFPFM2U-n5l64ZEFESjdryTHt0=.ac25b7aa-510d-48d5-83a2-6c013c73eef2@github.com> <3UoMLwuBtsp5STw2l8iCJeT1wxCM2E0ODq4XfW54oe4=.eb45cd9b-a2e9-48f8-8c30-5a9fb30be055@github.com> Message-ID: On Mon, 13 Feb 2023 10:21:11 GMT, Per Minborg wrote: >> This PR: >> >> * Adds tests to `ValueLayout` methods >> * Simplifies an `equals()` method >> * Changes from exception throwing to assert for parameters that cannot be changed client-side > > Per Minborg has updated the pull request incrementally with one additional commit since the last revision: > > Update after comments Marked as reviewed by jvernee (Committer). ------------- PR: https://git.openjdk.org/panama-foreign/pull/786 From pminborg at openjdk.org Mon Feb 13 10:25:27 2023 From: pminborg at openjdk.org (Per Minborg) Date: Mon, 13 Feb 2023 10:25:27 GMT Subject: [foreign-memaccess+abi] Integrated: ValueLayouts: Improve test coverage and more In-Reply-To: <6L75_9okA2Ueb5epGFFPFM2U-n5l64ZEFESjdryTHt0=.ac25b7aa-510d-48d5-83a2-6c013c73eef2@github.com> References: <6L75_9okA2Ueb5epGFFPFM2U-n5l64ZEFESjdryTHt0=.ac25b7aa-510d-48d5-83a2-6c013c73eef2@github.com> Message-ID: On Fri, 10 Feb 2023 13:56:18 GMT, Per Minborg wrote: > This PR: > > * Adds tests to `ValueLayout` methods > * Simplifies an `equals()` method > * Changes from exception throwing to assert for parameters that cannot be changed client-side This pull request has now been integrated. Changeset: e51a2eca Author: Per Minborg URL: https://git.openjdk.org/panama-foreign/commit/e51a2eca250f04d55039371220bb495f1defe3ec Stats: 63 lines in 2 files changed: 35 ins; 14 del; 14 mod ValueLayouts: Improve test coverage and more Reviewed-by: jvernee ------------- PR: https://git.openjdk.org/panama-foreign/pull/786 From mcimadamore at openjdk.org Mon Feb 13 11:15:45 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Mon, 13 Feb 2023 11:15:45 GMT Subject: [foreign-memaccess+abi] RFR: Fix typo in vector test template Message-ID: When fixing vector tests as part of https://git.openjdk.org/panama-foreign/pull/786 I have accidentally introduced a typo. This patch fixes that. ------------- Commit messages: - Fix typo in vector test template Changes: https://git.openjdk.org/panama-foreign/pull/789/files Webrev: https://webrevs.openjdk.org/?repo=panama-foreign&pr=789&range=00 Stats: 31 lines in 31 files changed: 0 ins; 0 del; 31 mod Patch: https://git.openjdk.org/panama-foreign/pull/789.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/789/head:pull/789 PR: https://git.openjdk.org/panama-foreign/pull/789 From jvernee at openjdk.org Mon Feb 13 11:29:44 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Mon, 13 Feb 2023 11:29:44 GMT Subject: [foreign-memaccess+abi] RFR: Fix typo in vector test template In-Reply-To: References: Message-ID: On Mon, 13 Feb 2023 11:08:39 GMT, Maurizio Cimadamore wrote: > When fixing vector tests as part of https://git.openjdk.org/panama-foreign/pull/786 I have accidentally introduced a typo. This patch fixes that. Dang, I missed this as well. Thanks for fixing! ------------- Marked as reviewed by jvernee (Committer). PR: https://git.openjdk.org/panama-foreign/pull/789 From mcimadamore at openjdk.org Mon Feb 13 11:36:53 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Mon, 13 Feb 2023 11:36:53 GMT Subject: [foreign-memaccess+abi] Integrated: Fix typo in vector test template In-Reply-To: References: Message-ID: On Mon, 13 Feb 2023 11:08:39 GMT, Maurizio Cimadamore wrote: > When fixing vector tests as part of https://git.openjdk.org/panama-foreign/pull/786 I have accidentally introduced a typo. This patch fixes that. This pull request has now been integrated. Changeset: 2da9da02 Author: Maurizio Cimadamore URL: https://git.openjdk.org/panama-foreign/commit/2da9da024dfa640549529fdc6d3ace9e0c6a401b Stats: 31 lines in 31 files changed: 0 ins; 0 del; 31 mod Fix typo in vector test template Reviewed-by: jvernee ------------- PR: https://git.openjdk.org/panama-foreign/pull/789 From pminborg at openjdk.org Mon Feb 13 14:42:38 2023 From: pminborg at openjdk.org (Per Minborg) Date: Mon, 13 Feb 2023 14:42:38 GMT Subject: [foreign-memaccess+abi] RFR: Improve test coverage in the jdk.internal.layout package Message-ID: This PR adds some tests and minor code refactoring. ------------- Commit messages: - Unbump copyright years - Remove debug code - Add tests - Update copyright years - Merge foreign-memaccess+abi - Add tests and rewrite equals() methods Changes: https://git.openjdk.org/panama-foreign/pull/790/files Webrev: https://webrevs.openjdk.org/?repo=panama-foreign&pr=790&range=00 Stats: 108 lines in 6 files changed: 73 ins; 18 del; 17 mod Patch: https://git.openjdk.org/panama-foreign/pull/790.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/790/head:pull/790 PR: https://git.openjdk.org/panama-foreign/pull/790 From jvernee at openjdk.org Mon Feb 13 16:49:45 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Mon, 13 Feb 2023 16:49:45 GMT Subject: [foreign-memaccess+abi] RFR: Improve test coverage in the jdk.internal.layout package In-Reply-To: References: Message-ID: <1jXcBs42smGID_OuZHOe57c7_RhH8dlAmSlykMB1JqU=.ff54affd-3761-457c-89a1-37421c5966cc@github.com> On Mon, 13 Feb 2023 14:13:37 GMT, Per Minborg wrote: > This PR adds some tests and minor code refactoring. Marked as reviewed by jvernee (Committer). test/jdk/java/foreign/TestLayouts.java line 80: > 78: assertFalse(ADDRESS.equals(differentTargetLayout)); > 79: var equalButNotSame = ADDRESS.withTargetLayout(JAVA_INT).withTargetLayout(JAVA_CHAR); > 80: assertFalse(ADDRESS.equals(equalButNotSame)); I don't see what this extra code is testing that wasn't already tested by the lines above. Was this intended as `assertTrue(differentTargetLayout .equals(equalButNotSame));` ? test/jdk/java/foreign/TestLayouts.java line 131: > 129: assertFalse(layout.equals(other)); > 130: } > 131: } This tests mostly the same thing as `testNotEquals` so I suggest trying to unify the two. Also, for the last 2 asserts, you could test structural equality for all test values by changing the parameter to a `Supplier` which returns a new instance every time, and then simply call it twice to get 2 distinct, but structurally equal, instances. test/jdk/java/foreign/TestLayouts.java line 146: > 144: public void testBasicIllegalAlignment(MemoryLayout layout) { > 145: layout.withBitAlignment(3); > 146: } This looks the same as `testGroupIllegalAlignmentNotPowerOfTwo` above but with a different data provider. I suggest have a single test with a data provider that aggregates the other two. ------------- PR: https://git.openjdk.org/panama-foreign/pull/790 From pminborg at openjdk.org Tue Feb 14 12:33:00 2023 From: pminborg at openjdk.org (Per Minborg) Date: Tue, 14 Feb 2023 12:33:00 GMT Subject: [foreign-memaccess+abi] RFR: Remove dead code, add tests and fixes Message-ID: <-wx5_qPfKzZWCtYMM8LfEoVOL_lveZXH5Txtv8gfSpE=.886e49db-1b2d-4c78-8598-214e5d088634@github.com> This PR suggests removing dead code and addition of some tests. Also, a fix for zero-length mapped segment is added. It is anticipated this special zero-length segment is going to be removed in a separate PR. ------------- Commit messages: - Remove dead code, add tests and fixes Changes: https://git.openjdk.org/panama-foreign/pull/792/files Webrev: https://webrevs.openjdk.org/?repo=panama-foreign&pr=792&range=00 Stats: 132 lines in 5 files changed: 88 ins; 37 del; 7 mod Patch: https://git.openjdk.org/panama-foreign/pull/792.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/792/head:pull/792 PR: https://git.openjdk.org/panama-foreign/pull/792 From pminborg at openjdk.org Tue Feb 14 12:37:08 2023 From: pminborg at openjdk.org (Per Minborg) Date: Tue, 14 Feb 2023 12:37:08 GMT Subject: [foreign-memaccess+abi] RFR: Improve test coverage in the jdk.internal.layout package In-Reply-To: <1jXcBs42smGID_OuZHOe57c7_RhH8dlAmSlykMB1JqU=.ff54affd-3761-457c-89a1-37421c5966cc@github.com> References: <1jXcBs42smGID_OuZHOe57c7_RhH8dlAmSlykMB1JqU=.ff54affd-3761-457c-89a1-37421c5966cc@github.com> Message-ID: <1I0s9C_kQr2ynYlJGjDaNwP0-b5-KxNxUoxKK3zTw40=.c5f89c7a-9ee3-4844-aba8-09497b1236d9@github.com> On Mon, 13 Feb 2023 16:31:25 GMT, Jorn Vernee wrote: >> This PR adds some tests and minor code refactoring. > > test/jdk/java/foreign/TestLayouts.java line 80: > >> 78: assertFalse(ADDRESS.equals(differentTargetLayout)); >> 79: var equalButNotSame = ADDRESS.withTargetLayout(JAVA_INT).withTargetLayout(JAVA_CHAR); >> 80: assertFalse(ADDRESS.equals(equalButNotSame)); > > I don't see what this extra code is testing that wasn't already tested by the lines above. > > Was this intended as `assertTrue(differentTargetLayout .equals(equalButNotSame));` ? The idea was to create a layout that is equal but not the same so to touch `OfAddress::equals` at the end where the layouts are compared. ------------- PR: https://git.openjdk.org/panama-foreign/pull/790 From jvernee at openjdk.org Tue Feb 14 12:37:09 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Tue, 14 Feb 2023 12:37:09 GMT Subject: [foreign-memaccess+abi] RFR: Improve test coverage in the jdk.internal.layout package In-Reply-To: <1I0s9C_kQr2ynYlJGjDaNwP0-b5-KxNxUoxKK3zTw40=.c5f89c7a-9ee3-4844-aba8-09497b1236d9@github.com> References: <1jXcBs42smGID_OuZHOe57c7_RhH8dlAmSlykMB1JqU=.ff54affd-3761-457c-89a1-37421c5966cc@github.com> <1I0s9C_kQr2ynYlJGjDaNwP0-b5-KxNxUoxKK3zTw40=.c5f89c7a-9ee3-4844-aba8-09497b1236d9@github.com> Message-ID: <4Ic83-9ENMX1zMf9oKrWBmeZFMU3McDd0BwxWEyxxto=.8fcdf35c-dbf0-42ad-ade7-92576bb482b4@github.com> On Tue, 14 Feb 2023 12:32:08 GMT, Per Minborg wrote: >> test/jdk/java/foreign/TestLayouts.java line 80: >> >>> 78: assertFalse(ADDRESS.equals(differentTargetLayout)); >>> 79: var equalButNotSame = ADDRESS.withTargetLayout(JAVA_INT).withTargetLayout(JAVA_CHAR); >>> 80: assertFalse(ADDRESS.equals(equalButNotSame)); >> >> I don't see what this extra code is testing that wasn't already tested by the lines above. >> >> Was this intended as `assertTrue(differentTargetLayout .equals(equalButNotSame));` ? > > The idea was to create a layout that is equal but not the same so to touch `OfAddress::equals` at the end where the layouts are compared. Ok, I get that, but that's not what the test code seems to be doing. i.e. the 2 layouts are not equal, AFAICS ------------- PR: https://git.openjdk.org/panama-foreign/pull/790 From pminborg at openjdk.org Tue Feb 14 13:09:37 2023 From: pminborg at openjdk.org (Per Minborg) Date: Tue, 14 Feb 2023 13:09:37 GMT Subject: [foreign-memaccess+abi] RFR: Improve test coverage in the jdk.internal.layout package [v2] In-Reply-To: References: Message-ID: > This PR adds some tests and minor code refactoring. Per Minborg has updated the pull request incrementally with one additional commit since the last revision: Improve tests ------------- Changes: - all: https://git.openjdk.org/panama-foreign/pull/790/files - new: https://git.openjdk.org/panama-foreign/pull/790/files/ad328f0b..45dbb843 Webrevs: - full: https://webrevs.openjdk.org/?repo=panama-foreign&pr=790&range=01 - incr: https://webrevs.openjdk.org/?repo=panama-foreign&pr=790&range=00-01 Stats: 59 lines in 1 file changed: 25 ins; 28 del; 6 mod Patch: https://git.openjdk.org/panama-foreign/pull/790.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/790/head:pull/790 PR: https://git.openjdk.org/panama-foreign/pull/790 From pminborg at openjdk.org Tue Feb 14 13:21:57 2023 From: pminborg at openjdk.org (Per Minborg) Date: Tue, 14 Feb 2023 13:21:57 GMT Subject: [foreign-memaccess+abi] RFR: Improve test coverage in the jdk.internal.layout package [v3] In-Reply-To: References: Message-ID: > This PR adds some tests and minor code refactoring. Per Minborg has updated the pull request incrementally with one additional commit since the last revision: Update copyright year ------------- Changes: - all: https://git.openjdk.org/panama-foreign/pull/790/files - new: https://git.openjdk.org/panama-foreign/pull/790/files/45dbb843..d77641f1 Webrevs: - full: https://webrevs.openjdk.org/?repo=panama-foreign&pr=790&range=02 - incr: https://webrevs.openjdk.org/?repo=panama-foreign&pr=790&range=01-02 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.org/panama-foreign/pull/790.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/790/head:pull/790 PR: https://git.openjdk.org/panama-foreign/pull/790 From jvernee at openjdk.org Tue Feb 14 13:26:07 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Tue, 14 Feb 2023 13:26:07 GMT Subject: [foreign-memaccess+abi] RFR: Improve test coverage in the jdk.internal.layout package [v3] In-Reply-To: References: Message-ID: <0wYItL_wuhRlU-y7cqvMOCARHIf-D_3YR0V1C17w_JA=.53fd381d-f940-4d04-8f46-aaa1107a6116@github.com> On Tue, 14 Feb 2023 13:21:57 GMT, Per Minborg wrote: >> This PR adds some tests and minor code refactoring. > > Per Minborg has updated the pull request incrementally with one additional commit since the last revision: > > Update copyright year src/java.base/share/classes/java/lang/foreign/PaddingLayout.java line 2: > 1: /* > 2: * Copyright (c) 2019, 2023, Oracle and/or its affiliates. All rights reserved. Seems like a spurious change? No other changes to this file. ------------- PR: https://git.openjdk.org/panama-foreign/pull/790 From pminborg at openjdk.org Tue Feb 14 13:31:45 2023 From: pminborg at openjdk.org (Per Minborg) Date: Tue, 14 Feb 2023 13:31:45 GMT Subject: [foreign-memaccess+abi] RFR: Improve test coverage in the jdk.internal.layout package [v4] In-Reply-To: References: Message-ID: > This PR adds some tests and minor code refactoring. Per Minborg has updated the pull request incrementally with one additional commit since the last revision: Remove spurious copyringt year update ------------- Changes: - all: https://git.openjdk.org/panama-foreign/pull/790/files - new: https://git.openjdk.org/panama-foreign/pull/790/files/d77641f1..358397dd Webrevs: - full: https://webrevs.openjdk.org/?repo=panama-foreign&pr=790&range=03 - incr: https://webrevs.openjdk.org/?repo=panama-foreign&pr=790&range=02-03 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.org/panama-foreign/pull/790.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/790/head:pull/790 PR: https://git.openjdk.org/panama-foreign/pull/790 From pminborg at openjdk.org Tue Feb 14 13:36:46 2023 From: pminborg at openjdk.org (Per Minborg) Date: Tue, 14 Feb 2023 13:36:46 GMT Subject: [foreign-memaccess+abi] RFR: Improve test coverage in the jdk.internal.layout package [v5] In-Reply-To: References: Message-ID: > This PR adds some tests and minor code refactoring. Per Minborg has updated the pull request incrementally with one additional commit since the last revision: Fix address test ------------- Changes: - all: https://git.openjdk.org/panama-foreign/pull/790/files - new: https://git.openjdk.org/panama-foreign/pull/790/files/358397dd..1803e04e Webrevs: - full: https://webrevs.openjdk.org/?repo=panama-foreign&pr=790&range=04 - incr: https://webrevs.openjdk.org/?repo=panama-foreign&pr=790&range=03-04 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.org/panama-foreign/pull/790.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/790/head:pull/790 PR: https://git.openjdk.org/panama-foreign/pull/790 From jvernee at openjdk.org Tue Feb 14 13:36:49 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Tue, 14 Feb 2023 13:36:49 GMT Subject: [foreign-memaccess+abi] RFR: Improve test coverage in the jdk.internal.layout package [v5] In-Reply-To: References: Message-ID: On Tue, 14 Feb 2023 13:32:48 GMT, Per Minborg wrote: >> This PR adds some tests and minor code refactoring. > > Per Minborg has updated the pull request incrementally with one additional commit since the last revision: > > Fix address test Marked as reviewed by jvernee (Committer). ------------- PR: https://git.openjdk.org/panama-foreign/pull/790 From jvernee at openjdk.org Tue Feb 14 13:44:16 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Tue, 14 Feb 2023 13:44:16 GMT Subject: [foreign-memaccess+abi] RFR: 8295290: Add Windows ARM64 ABI support to the Foreign Function & Memory API [v3] In-Reply-To: <4XtbJ4zO3UBGzg6Qj_Wi-lz9bofUcKmoRttw1781ggk=.aa2c3d35-267a-40fa-9a93-ff6a01f11099@github.com> References: <4XtbJ4zO3UBGzg6Qj_Wi-lz9bofUcKmoRttw1781ggk=.aa2c3d35-267a-40fa-9a93-ff6a01f11099@github.com> Message-ID: On Tue, 10 Jan 2023 17:47:31 GMT, Saint Wesonga wrote: >> Saint Wesonga has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 12 commits: >> >> - Remove redundant check >> - Delete VaList >> - Merge branch 'foreign-memaccess+abi' into WindowsAArch64ABI >> - Merge branch 'foreign-memaccess+abi' into WindowsAArch64ABI >> - Update Windows FFM implementation to match latest Preview API >> - Merge branch 'foreign-memaccess+abi' into WindowsAArch64ABI >> - Simplify newly added tests in TestVarArgs >> - Move storage decisions into StorageCalculator >> - Remove toSessionImpl method >> - Remove unnecessary null check >> - ... and 2 more: https://git.openjdk.org/panama-foreign/compare/5427e47b...ccae2d80 > >> Few more comments inline. >> >> FWIW, I think CallArranger can be cleaned up further, and I've been playing with a patch [1](https://github.com/openjdk/panama-foreign/compare/pull/754/head...JornVernee:panama-foreign:Refector_CallArranger). But I'll file a followup PR for that. > > @JornVernee just to clarify, do you expect more refactoring of the CallArranger in this PR or will that be subsumed by your patch? @swesonga Hey, just a heads up. It is about that time again where we are looking to put together a PR for the JEP to go into mainline. Since we do not support Windows/AArch64 (e.g. we can not test it), we can not be in charge of a PR that brings this port over to mainline. So, I think it's up to you or another maintainer of Windows/AArch64. I suggest taking the following two commits: 1. https://github.com/openjdk/panama-foreign/commit/d379ca1ca32926591fbf8a4afdae1a4a52b3cb63 2. https://github.com/openjdk/panama-foreign/commit/08225e4f5e00837e974098a933f27267f3c0dbc5 And making a PR against openjdk/jdk out of those (since those three are all related to this port). I can approve it again there, since I've already reviewed the changes before. ------------- PR: https://git.openjdk.org/panama-foreign/pull/754 From pminborg at openjdk.org Tue Feb 14 13:56:43 2023 From: pminborg at openjdk.org (Per Minborg) Date: Tue, 14 Feb 2023 13:56:43 GMT Subject: [foreign-memaccess+abi] RFR: Remove dead code, add tests and fixes [v2] In-Reply-To: <-wx5_qPfKzZWCtYMM8LfEoVOL_lveZXH5Txtv8gfSpE=.886e49db-1b2d-4c78-8598-214e5d088634@github.com> References: <-wx5_qPfKzZWCtYMM8LfEoVOL_lveZXH5Txtv8gfSpE=.886e49db-1b2d-4c78-8598-214e5d088634@github.com> Message-ID: > This PR suggests removing dead code and addition of some tests. Also, a fix for zero-length mapped segment is added. It is anticipated this special zero-length segment is going to be removed in a separate PR. Per Minborg has updated the pull request incrementally with two additional commits since the last revision: - Fix copyright years - Remove zero-length fixes and more ------------- Changes: - all: https://git.openjdk.org/panama-foreign/pull/792/files - new: https://git.openjdk.org/panama-foreign/pull/792/files/742f8afc..02d7a061 Webrevs: - full: https://webrevs.openjdk.org/?repo=panama-foreign&pr=792&range=01 - incr: https://webrevs.openjdk.org/?repo=panama-foreign&pr=792&range=00-01 Stats: 77 lines in 5 files changed: 34 ins; 37 del; 6 mod Patch: https://git.openjdk.org/panama-foreign/pull/792.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/792/head:pull/792 PR: https://git.openjdk.org/panama-foreign/pull/792 From jvernee at openjdk.org Tue Feb 14 14:10:24 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Tue, 14 Feb 2023 14:10:24 GMT Subject: [foreign-memaccess+abi] RFR: Remove dead code, add tests and fixes [v2] In-Reply-To: References: <-wx5_qPfKzZWCtYMM8LfEoVOL_lveZXH5Txtv8gfSpE=.886e49db-1b2d-4c78-8598-214e5d088634@github.com> Message-ID: On Tue, 14 Feb 2023 13:56:43 GMT, Per Minborg wrote: >> This PR suggests removing dead code and addition of some tests. Also, a fix for zero-length mapped segment is added. It is anticipated this special zero-length segment is going to be removed in a separate PR. > > Per Minborg has updated the pull request incrementally with two additional commits since the last revision: > > - Fix copyright years > - Remove zero-length fixes and more test/jdk/java/foreign/TestByteBuffer.java line 319: > 317: public void testMappedSegmentAsByteBuffer() throws Throwable { > 318: File f = new File("test4.out"); > 319: assert f.createNewFile(); I suggest just using `assertTrue` here, rather than `assert`. Technically this will always work since we run the tests with assertions enabled, but it looks a little bit fishy to depend on a side-effect from an `assert`. test/jdk/java/foreign/TestSegmentAllocators.java line 240: > 238: assertThrows(UnsupportedOperationException.class, segment::isLoaded); > 239: assertThrows(UnsupportedOperationException.class, segment::force); > 240: assertEquals(segment.isMapped(), segment instanceof MappedMemorySegmentImpl); Isn't the actual value always false? Why not use `assertFalse`? ------------- PR: https://git.openjdk.org/panama-foreign/pull/792 From jvernee at openjdk.org Tue Feb 14 14:56:04 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Tue, 14 Feb 2023 14:56:04 GMT Subject: [foreign-memaccess+abi] RFR: 8302346: Lift upcall sharing mechanism to AbstractLinker Message-ID: Lift the upcall sharing mechanism to AbstractLinker, where it can live next to the similar mechanism for down calls. This also allows the fallback linker to use this mechanism. Instead of an upcall stub, AbstractLinker::arrangeDowncall now return an UpcallStubFactory, which is a callback accepting a target MethodHandle and Arena, which are then used to construct the actual upcall stub. Perhaps the trickiest part of this patch is that we have to simulate the effects of `SharedUtils::adaptUpcallForIMR` on the target method type. I've added a new method in SharedUtils, called `computeUpcallIMRType` for that, which mimics the shape of the `adaptUpcallForIMR` method. Since the shape of most of the arrangeUpcall methods was very similar, I factored them out into a helper method in SharedUtils as well. ------------- Commit messages: - fix zero - tweak visibility - polish3 - polish2 - polish - Make upcall creation lazy at the AbstractLinker level Changes: https://git.openjdk.org/panama-foreign/pull/791/files Webrev: https://webrevs.openjdk.org/?repo=panama-foreign&pr=791&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8302346 Stats: 194 lines in 16 files changed: 77 ins; 55 del; 62 mod Patch: https://git.openjdk.org/panama-foreign/pull/791.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/791/head:pull/791 PR: https://git.openjdk.org/panama-foreign/pull/791 From pminborg at openjdk.org Tue Feb 14 15:11:45 2023 From: pminborg at openjdk.org (Per Minborg) Date: Tue, 14 Feb 2023 15:11:45 GMT Subject: [foreign-memaccess+abi] Integrated: Improve test coverage in the jdk.internal.layout package In-Reply-To: References: Message-ID: On Mon, 13 Feb 2023 14:13:37 GMT, Per Minborg wrote: > This PR adds some tests and minor code refactoring. This pull request has now been integrated. Changeset: 281c2d4d Author: Per Minborg URL: https://git.openjdk.org/panama-foreign/commit/281c2d4d6a6ab6de1ad37d37d442ce1484e2d781 Stats: 107 lines in 6 files changed: 70 ins; 18 del; 19 mod Improve test coverage in the jdk.internal.layout package Reviewed-by: jvernee ------------- PR: https://git.openjdk.org/panama-foreign/pull/790 From pminborg at openjdk.org Tue Feb 14 15:39:08 2023 From: pminborg at openjdk.org (Per Minborg) Date: Tue, 14 Feb 2023 15:39:08 GMT Subject: [foreign-memaccess+abi] RFR: Remove dead code, add tests and fixes [v3] In-Reply-To: <-wx5_qPfKzZWCtYMM8LfEoVOL_lveZXH5Txtv8gfSpE=.886e49db-1b2d-4c78-8598-214e5d088634@github.com> References: <-wx5_qPfKzZWCtYMM8LfEoVOL_lveZXH5Txtv8gfSpE=.886e49db-1b2d-4c78-8598-214e5d088634@github.com> Message-ID: > This PR suggests removing dead code and addition of some tests. Also, a fix for zero-length mapped segment is added. It is anticipated this special zero-length segment is going to be removed in a separate PR. Per Minborg has updated the pull request incrementally with one additional commit since the last revision: Cleanup after comments ------------- Changes: - all: https://git.openjdk.org/panama-foreign/pull/792/files - new: https://git.openjdk.org/panama-foreign/pull/792/files/02d7a061..4f111140 Webrevs: - full: https://webrevs.openjdk.org/?repo=panama-foreign&pr=792&range=02 - incr: https://webrevs.openjdk.org/?repo=panama-foreign&pr=792&range=01-02 Stats: 2 lines in 2 files changed: 0 ins; 0 del; 2 mod Patch: https://git.openjdk.org/panama-foreign/pull/792.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/792/head:pull/792 PR: https://git.openjdk.org/panama-foreign/pull/792 From pminborg at openjdk.org Tue Feb 14 15:45:45 2023 From: pminborg at openjdk.org (Per Minborg) Date: Tue, 14 Feb 2023 15:45:45 GMT Subject: [foreign-memaccess+abi] RFR: Remove specialized zero-lenght mapped segment Message-ID: This PR proposes to remove the specialized zero-length MappedMemorySegment. ------------- Commit messages: - Remove specialized zero-lenght mapped segment Changes: https://git.openjdk.org/panama-foreign/pull/793/files Webrev: https://webrevs.openjdk.org/?repo=panama-foreign&pr=793&range=00 Stats: 46 lines in 4 files changed: 13 ins; 25 del; 8 mod Patch: https://git.openjdk.org/panama-foreign/pull/793.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/793/head:pull/793 PR: https://git.openjdk.org/panama-foreign/pull/793 From jvernee at openjdk.org Tue Feb 14 15:46:55 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Tue, 14 Feb 2023 15:46:55 GMT Subject: [foreign-memaccess+abi] RFR: Remove dead code, add tests and fixes [v3] In-Reply-To: References: <-wx5_qPfKzZWCtYMM8LfEoVOL_lveZXH5Txtv8gfSpE=.886e49db-1b2d-4c78-8598-214e5d088634@github.com> Message-ID: On Tue, 14 Feb 2023 15:39:08 GMT, Per Minborg wrote: >> This PR suggests removing dead code and addition of some tests. Also, a fix for zero-length mapped segment is added. It is anticipated this special zero-length segment is going to be removed in a separate PR. > > Per Minborg has updated the pull request incrementally with one additional commit since the last revision: > > Cleanup after comments Marked as reviewed by jvernee (Committer). ------------- PR: https://git.openjdk.org/panama-foreign/pull/792 From jvernee at openjdk.org Tue Feb 14 15:49:46 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Tue, 14 Feb 2023 15:49:46 GMT Subject: [foreign-memaccess+abi] RFR: Remove specialized zero-lenght mapped segment In-Reply-To: References: Message-ID: On Tue, 14 Feb 2023 15:37:49 GMT, Per Minborg wrote: > This PR proposes to remove the specialized zero-length MappedMemorySegment. This looks good, but I'll wait for @mcimadamore to take a look since he's more familiar with this area. ------------- PR: https://git.openjdk.org/panama-foreign/pull/793 From pminborg at openjdk.org Tue Feb 14 16:19:27 2023 From: pminborg at openjdk.org (Per Minborg) Date: Tue, 14 Feb 2023 16:19:27 GMT Subject: [foreign-memaccess+abi] Integrated: Remove dead code, add tests and fixes In-Reply-To: <-wx5_qPfKzZWCtYMM8LfEoVOL_lveZXH5Txtv8gfSpE=.886e49db-1b2d-4c78-8598-214e5d088634@github.com> References: <-wx5_qPfKzZWCtYMM8LfEoVOL_lveZXH5Txtv8gfSpE=.886e49db-1b2d-4c78-8598-214e5d088634@github.com> Message-ID: On Tue, 14 Feb 2023 12:25:04 GMT, Per Minborg wrote: > This PR suggests removing dead code and addition of some tests. Also, a fix for zero-length mapped segment is added. It is anticipated this special zero-length segment is going to be removed in a separate PR. This pull request has now been integrated. Changeset: f20e2674 Author: Per Minborg URL: https://git.openjdk.org/panama-foreign/commit/f20e2674113e9aa5526ce8ed1af67ee083f36d65 Stats: 117 lines in 5 files changed: 77 ins; 29 del; 11 mod Remove dead code, add tests and fixes Reviewed-by: jvernee ------------- PR: https://git.openjdk.org/panama-foreign/pull/792 From pminborg at openjdk.org Tue Feb 14 17:20:50 2023 From: pminborg at openjdk.org (Per Minborg) Date: Tue, 14 Feb 2023 17:20:50 GMT Subject: [foreign-memaccess+abi] RFR: Rework PlatformLayout Message-ID: <9-BwksvMDtgEnPPa5eCKi8WGSzLw2L2WKd2ZIehI930=.904f8890-24aa-4f0f-9f83-b27d217e2adc@github.com> This PR suggests slightly reworking the class `PlatformLayout`. This reduces the number of objects created and aggregates common functionality in a support method. ------------- Commit messages: - Rework PlatformLayout Changes: https://git.openjdk.org/panama-foreign/pull/794/files Webrev: https://webrevs.openjdk.org/?repo=panama-foreign&pr=794&range=00 Stats: 70 lines in 1 file changed: 7 ins; 23 del; 40 mod Patch: https://git.openjdk.org/panama-foreign/pull/794.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/794/head:pull/794 PR: https://git.openjdk.org/panama-foreign/pull/794 From jvernee at openjdk.org Tue Feb 14 17:53:00 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Tue, 14 Feb 2023 17:53:00 GMT Subject: [foreign-memaccess+abi] RFR: Rework PlatformLayout In-Reply-To: <9-BwksvMDtgEnPPa5eCKi8WGSzLw2L2WKd2ZIehI930=.904f8890-24aa-4f0f-9f83-b27d217e2adc@github.com> References: <9-BwksvMDtgEnPPa5eCKi8WGSzLw2L2WKd2ZIehI930=.904f8890-24aa-4f0f-9f83-b27d217e2adc@github.com> Message-ID: On Tue, 14 Feb 2023 17:14:52 GMT, Per Minborg wrote: > This PR suggests slightly reworking the class `PlatformLayout`. This reduces the number of objects created and aggregates common functionality in a support method. I've been thinking for a while now that `PlatformLayouts` should just be removed: https://bugs.openjdk.org/browse/JDK-8291499 It is a remnant of a time where we exposed layout constant for each platform. In the implementation we only use one or two layouts for each platform. I think `PlatformLayouts` should just be removed, and the needed layouts moved to the particular `CallArranger` class where they are needed. So, if you want to work on `PlatformLayouts` I suggest removing it instead :) Last time I looked into this, the tricky part was that there was a test that used these layouts as test values. That test will have to do something else. ------------- PR: https://git.openjdk.org/panama-foreign/pull/794 From manuel.bleichenbacher at gmail.com Tue Feb 14 18:39:47 2023 From: manuel.bleichenbacher at gmail.com (Manuel Bleichenbacher) Date: Tue, 14 Feb 2023 19:39:47 +0100 Subject: Java object as a void* Message-ID: Hi all Many native SDKs allow the caller to pass a void* or long as an additional parameter. This parameter is then later provided as a reference to the original call, either in the context of a callback function call or as an attribute of an operating system object. The native SDK will not interpret the parameter in any way, neither as a number nor as a pointer. It's up to the caller to know what it represents. Examples are: lParam in Windows' SendMessage() - https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-sendmessage dwNewLong in Windows' SetClassLongPtr() - https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-setclasslongptrw arg in POSIX's pthread_create() - https://pubs.opengroup.org/onlinepubs/000095399/functions/pthread_create.html refcon in macOS' WritePipeAsync() - https://developer.apple.com/documentation/iokit/iousbinterfaceinterface800/1639539-writepipeasync Is there a way to use this from Java for Java objects, i.e. to pass a Java object as a void* and later convert the void* back to the Java object? Since the FFM API exposes void* as MemorySegments, it would probably mean that a MemorySegment could be created encapsulating a reference to a Java object, and that the Java object can later be retrieved from this MemorySegment. I am aware of two workarounds: - In the context of a callback function, the Java callback function can be extended with an additional parameter and then the Java object can be bound to it. This function is then used to create the up call stub. Since the callback function already contains the reference, the void* parameter is no longer needed and can be passed MemorySegment.NULL. In my context (I/O processing with several thousand functions calls per second), it likely is rather inefficient as several thousand upcall stubs will need to be generated by second. - Instead of the Java object, a generated integer key could be passed as the void*. The link between the key and the Java object would need to be managed in a hash map. Possible, but more of a workaround. Regards Manuel -------------- next part -------------- An HTML attachment was scrubbed... URL: From mcimadamore at openjdk.org Tue Feb 14 23:01:09 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Tue, 14 Feb 2023 23:01:09 GMT Subject: [foreign-memaccess+abi] RFR: Remove specialized zero-lenght mapped segment In-Reply-To: References: Message-ID: <-3Do-Rpm5axLKsCE86pIOSZ9K2_cvlJ_FoeL2L8dVLc=.e9fdf0bf-734e-44d2-ab3b-7cb183f426ee@github.com> On Tue, 14 Feb 2023 15:37:49 GMT, Per Minborg wrote: > This PR proposes to remove the specialized zero-length MappedMemorySegment. Looks good - thx for beefing up the test! ------------- Marked as reviewed by mcimadamore (Committer). PR: https://git.openjdk.org/panama-foreign/pull/793 From maurizio.cimadamore at oracle.com Tue Feb 14 23:21:18 2023 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Tue, 14 Feb 2023 23:21:18 +0000 Subject: Java object as a void* In-Reply-To: References: Message-ID: <380d4bf6-622c-85c2-9722-f61ed83016d6@oracle.com> Hi Manuel, in principle, it would be doable to expose an API which creates a JNI handle out of a Java object and exposes it as a MemorySegment so that it can be passed to native functions. One thing to consider is that if we started passing Java objects around to native code, then we'd also have to start worrying about the same objects being "resurrected" in unexpected places (e.g. created by one classloader, accessed by another). Some of these issues are the very reasons behind the classloader restrictions behind System::loadLibrary [1]. Perhaps here, since the API doing the access is a Java API, it might be possible to insert some kind of class loader check. That said, one of the main reason we did not add any special support for JNI handles is that, in addition to the workarounds you mention, a new and more powerful workaround is/will be possible from Java 20: ScopedValues [2]. That is, you can set up a scoped value, and "bind" it before the upcall runs (e.g. before you call the corresponding downcall). The bound value would then be in scope (as a sort of implicit parameter) inside the upcall code as well. Retrieving a scoped value is also quite fast (compared e.g. to a ThreadLocal). For this reason we'd like to see how using ScopedValues goes before thinking about adding more ad-hoc machinery to expose JNI handles in Panama. Cheers Maurizio [1] - https://docs.oracle.com/javase/7/docs/technotes/guides/jni/jni-12.html#libmanage [2] - https://openjdk.org/jeps/429 On 14/02/2023 18:39, Manuel Bleichenbacher wrote: > Hi all > > Many native SDKs allow the caller to pass a void* or long as an > additional parameter. This parameter is then later provided as a > reference to the original call, either in the context of a callback > function call or as an attribute of an operating system object. The > native SDK will not interpret the parameter in any way, neither as a > number nor as a pointer. It's up to the caller to know what it represents. > > Examples are: > > lParam in Windows' SendMessage() - > https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-sendmessage > > dwNewLong in Windows' SetClassLongPtr() - > https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-setclasslongptrw > > arg in POSIX's pthread_create() - > https://pubs.opengroup.org/onlinepubs/000095399/functions/pthread_create.html > > refcon in macOS' WritePipeAsync() - > https://developer.apple.com/documentation/iokit/iousbinterfaceinterface800/1639539-writepipeasync > > Is there a way to use this from Java for Java objects, i.e. to pass a > Java object as a void* and later convert the void* back to the Java > object? > > Since the FFM API exposes void* as MemorySegments, it would probably > mean that a MemorySegment could be created encapsulating a reference > to a Java object, and that the Java object can later be retrieved from > this MemorySegment. > > I am aware of two workarounds: > > - In the context of a callback function, the Java callback function > can be extended with an additional parameter and then the Java object > can be bound to it. This function is then used to create the up call > stub. Since the callback function already contains the reference, the > void* parameter is no longer needed and can be passed > MemorySegment.NULL. In my context (I/O processing with several > thousand functions calls per second), it likely is rather inefficient > as several thousand upcall stubs will need to be generated by second. > > - Instead of the Java object, a generated integer key could be passed > as the void*. The link between the key and the Java object would need > to be managed in a hash map. Possible, but more of a workaround. > > Regards > Manuel > > > > From manuel.bleichenbacher at gmail.com Wed Feb 15 07:34:35 2023 From: manuel.bleichenbacher at gmail.com (Manuel Bleichenbacher) Date: Wed, 15 Feb 2023 08:34:35 +0100 Subject: Java object as a void* In-Reply-To: <380d4bf6-622c-85c2-9722-f61ed83016d6@oracle.com> References: <380d4bf6-622c-85c2-9722-f61ed83016d6@oracle.com> Message-ID: Hi Maurizio Thanks for the prompt answer. I can understand that you are reluctant to introduce a new concept for a use cases that isn't particularly frequent. >From what I read about ScopedValues, I doubt they will be helpful. In many of the use cases I'm dealing with, the void* parameter is used in a cross-thread context and has a lifetime, which is not aligned with a function call or a similar scope. A thread-local variable is not helpful for my use cases. Doesn't this imply that ScopedValues won't help either? Regarding JNI handles and resurrection I don't have sufficient insight into the implementation to comment on this. Since it is already possible to bind an object to a method handle, create an upcall stub for it and passed it around in native code, it would seem to me that part of the challenges have already been solved. Regards Manuel Am Mi., 15. Feb. 2023 um 00:21 Uhr schrieb Maurizio Cimadamore < maurizio.cimadamore at oracle.com>: > Hi Manuel, > in principle, it would be doable to expose an API which creates a JNI > handle out of a Java object and exposes it as a MemorySegment so that it > can be passed to native functions. One thing to consider is that if we > started passing Java objects around to native code, then we'd also have > to start worrying about the same objects being "resurrected" in > unexpected places (e.g. created by one classloader, accessed by > another). Some of these issues are the very reasons behind the > classloader restrictions behind System::loadLibrary [1]. Perhaps here, > since the API doing the access is a Java API, it might be possible to > insert some kind of class loader check. > > That said, one of the main reason we did not add any special support for > JNI handles is that, in addition to the workarounds you mention, a new > and more powerful workaround is/will be possible from Java 20: > ScopedValues [2]. That is, you can set up a scoped value, and "bind" it > before the upcall runs (e.g. before you call the corresponding > downcall). The bound value would then be in scope (as a sort of implicit > parameter) inside the upcall code as well. Retrieving a scoped value is > also quite fast (compared e.g. to a ThreadLocal). > > For this reason we'd like to see how using ScopedValues goes before > thinking about adding more ad-hoc machinery to expose JNI handles in > Panama. > > Cheers > Maurizio > > [1] - > > https://docs.oracle.com/javase/7/docs/technotes/guides/jni/jni-12.html#libmanage > [2] - https://openjdk.org/jeps/429 > > > On 14/02/2023 18:39, Manuel Bleichenbacher wrote: > > Hi all > > > > Many native SDKs allow the caller to pass a void* or long as an > > additional parameter. This parameter is then later provided as a > > reference to the original call, either in the context of a callback > > function call or as an attribute of an operating system object. The > > native SDK will not interpret the parameter in any way, neither as a > > number nor as a pointer. It's up to the caller to know what it > represents. > > > > Examples are: > > > > lParam in Windows' SendMessage() - > > > https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-sendmessage > > > > dwNewLong in Windows' SetClassLongPtr() - > > > https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-setclasslongptrw > > > > arg in POSIX's pthread_create() - > > > https://pubs.opengroup.org/onlinepubs/000095399/functions/pthread_create.html > > > > refcon in macOS' WritePipeAsync() - > > > https://developer.apple.com/documentation/iokit/iousbinterfaceinterface800/1639539-writepipeasync > > > > Is there a way to use this from Java for Java objects, i.e. to pass a > > Java object as a void* and later convert the void* back to the Java > > object? > > > > Since the FFM API exposes void* as MemorySegments, it would probably > > mean that a MemorySegment could be created encapsulating a reference > > to a Java object, and that the Java object can later be retrieved from > > this MemorySegment. > > > > I am aware of two workarounds: > > > > - In the context of a callback function, the Java callback function > > can be extended with an additional parameter and then the Java object > > can be bound to it. This function is then used to create the up call > > stub. Since the callback function already contains the reference, the > > void* parameter is no longer needed and can be passed > > MemorySegment.NULL. In my context (I/O processing with several > > thousand functions calls per second), it likely is rather inefficient > > as several thousand upcall stubs will need to be generated by second. > > > > - Instead of the Java object, a generated integer key could be passed > > as the void*. The link between the key and the Java object would need > > to be managed in a hash map. Possible, but more of a workaround. > > > > Regards > > Manuel > > > > > > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From pminborg at openjdk.org Wed Feb 15 08:33:12 2023 From: pminborg at openjdk.org (Per Minborg) Date: Wed, 15 Feb 2023 08:33:12 GMT Subject: [foreign-memaccess+abi] Integrated: Remove specialized zero-lenght mapped segment In-Reply-To: References: Message-ID: On Tue, 14 Feb 2023 15:37:49 GMT, Per Minborg wrote: > This PR proposes to remove the specialized zero-length MappedMemorySegment. This pull request has now been integrated. Changeset: 96dedbe9 Author: Per Minborg URL: https://git.openjdk.org/panama-foreign/commit/96dedbe93d1a4209104c8d15dafef672beef5823 Stats: 46 lines in 4 files changed: 13 ins; 25 del; 8 mod Remove specialized zero-lenght mapped segment Reviewed-by: mcimadamore ------------- PR: https://git.openjdk.org/panama-foreign/pull/793 From pminborg at openjdk.org Wed Feb 15 08:33:13 2023 From: pminborg at openjdk.org (Per Minborg) Date: Wed, 15 Feb 2023 08:33:13 GMT Subject: [foreign-memaccess+abi] RFR: Rework PlatformLayout In-Reply-To: <9-BwksvMDtgEnPPa5eCKi8WGSzLw2L2WKd2ZIehI930=.904f8890-24aa-4f0f-9f83-b27d217e2adc@github.com> References: <9-BwksvMDtgEnPPa5eCKi8WGSzLw2L2WKd2ZIehI930=.904f8890-24aa-4f0f-9f83-b27d217e2adc@github.com> Message-ID: On Tue, 14 Feb 2023 17:14:52 GMT, Per Minborg wrote: > This PR suggests slightly reworking the class `PlatformLayout`. This reduces the number of objects created and aggregates common functionality in a support method. src/java.base/share/classes/jdk/internal/foreign/PlatformLayouts.java line 252: > 250: } > 251: > 252: private static ValueLayout.OfAddress cPointer(ValueLayout targetLayoutElementLayout) { Maybe there is a better name? `elementLayout` perhaps? ------------- PR: https://git.openjdk.org/panama-foreign/pull/794 From pminborg at openjdk.org Wed Feb 15 09:14:47 2023 From: pminborg at openjdk.org (Per Minborg) Date: Wed, 15 Feb 2023 09:14:47 GMT Subject: [foreign-memaccess+abi] RFR: Deduplicate layouts and simplify value layout implementations Message-ID: This PR proposes adding deduplication of the immutable value layout where one provides a value that is equal to the one already at hand. For example, `JAVA_INT.withBitAlignment(32)` will return the same object. There is no general caching mechanism that guarantees a layout will never repeat. Another part of this PR relates to simplifying value layouts so they only have a single constructor. This will reduce size slightly. Related to this is the replacement of certain magic numbers which are now represented by constants. ------------- Commit messages: - Deduplicate layouts and simplify value layout implementations Changes: https://git.openjdk.org/panama-foreign/pull/795/files Webrev: https://webrevs.openjdk.org/?repo=panama-foreign&pr=795&range=00 Stats: 101 lines in 2 files changed: 16 ins; 54 del; 31 mod Patch: https://git.openjdk.org/panama-foreign/pull/795.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/795/head:pull/795 PR: https://git.openjdk.org/panama-foreign/pull/795 From mcimadamore at openjdk.org Wed Feb 15 12:27:12 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Wed, 15 Feb 2023 12:27:12 GMT Subject: [foreign-memaccess+abi] RFR: Deduplicate layouts and simplify value layout implementations In-Reply-To: References: Message-ID: On Wed, 15 Feb 2023 09:08:55 GMT, Per Minborg wrote: > This PR proposes adding deduplication of the immutable value layout where one provides a value that is equal to the one already at hand. For example, `JAVA_INT.withBitAlignment(32)` will return the same object. There is no general caching mechanism that guarantees a layout will never repeat. > > Another part of this PR relates to simplifying value layouts so they only have a single constructor. This will reduce size slightly. Related to this is the replacement of certain magic numbers which are now represented by constants. Looks good. I'd suggest to split the part which uses constants for the sizes (which seems like a great idea) from the deduplication logic, which makes the code a bit more convoluted (perhaps some validation with jextract might be better, to see if deduplication of layouts bears any fruit). ------------- PR: https://git.openjdk.org/panama-foreign/pull/795 From pminborg at openjdk.org Wed Feb 15 13:00:46 2023 From: pminborg at openjdk.org (Per Minborg) Date: Wed, 15 Feb 2023 13:00:46 GMT Subject: [foreign-memaccess+abi] RFR: Simplify code now that bitSize is always aligned to byte boundaries Message-ID: <_ku7-yAtINxtY1eLUoZbhQP4jr-_-cfozS5i4-Tbsqs=.062a5727-139f-4ede-a180-dd2bc2d5f19a@github.com> This PR suggests some simplifications now that layouts are always aligned to byte boundaries. The PR also contains some other simplifications/cleanups. ------------- Commit messages: - Add copyright years and clean up - Simplify code for bit/byte alignment Changes: https://git.openjdk.org/panama-foreign/pull/796/files Webrev: https://webrevs.openjdk.org/?repo=panama-foreign&pr=796&range=00 Stats: 64 lines in 7 files changed: 9 ins; 20 del; 35 mod Patch: https://git.openjdk.org/panama-foreign/pull/796.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/796/head:pull/796 PR: https://git.openjdk.org/panama-foreign/pull/796 From maurizio.cimadamore at oracle.com Wed Feb 15 14:03:31 2023 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Wed, 15 Feb 2023 14:03:31 +0000 Subject: Java object as a void* In-Reply-To: References: <380d4bf6-622c-85c2-9722-f61ed83016d6@oracle.com> Message-ID: On 15/02/2023 07:34, Manuel Bleichenbacher wrote: > Hi Maurizio > > Thanks for the prompt answer. > > I can understand that you are reluctant to introduce a new concept for > a use cases that isn't particularly frequent. > > From what I read about ScopedValues, I doubt they will be helpful. In > many of the use cases I'm dealing with, the void* parameter is used in > a cross-thread context and has a lifetime, which is not aligned with a > function call or a similar scope. A thread-local variable is not > helpful for my use cases. Doesn't this imply that ScopedValues won't > help either? ScopedValues can be inherited across threads, but only if the threads are constructed/managed by a StructuredTaskScope: https://openjdk.org/jeps/437 Which might or might not be flexible enough for the particular use cases you have in mind. But I wanted to make clear that some well-behaved form of muli-threading is supported by ScopedValues. > > Regarding JNI handles and resurrection I don't have sufficient insight > into the implementation to comment on this. Since it is already > possible to bind an object to a method handle, create an upcall stub > for it and passed it around in native code, it would seem to me that > part of the challenges have already been solved. The main difference is that when you call an "upcall" there is always a known class that acts as an execution context for the code that runs in the upcall. If an upcall binds one or more objects, these objects will belong to the same context as the resulting upcall method handle itself, so no problem arises. Allowing ordinary Java objects to be turned into JNI handles which can be stored inside native libraries opens up a scenario where an object created in one context might "leak" into another context (this is possible if two clients interact with the same underlying native library). This situation is new, and would have to be taken care of. Cheers Maurizio > > Regards > Manuel > > Am Mi., 15. Feb. 2023 um 00:21?Uhr schrieb Maurizio Cimadamore > : > > Hi Manuel, > in principle, it would be doable to expose an API which creates a JNI > handle out of a Java object and exposes it as a MemorySegment so > that it > can be passed to native functions. One thing to consider is that > if we > started passing Java objects around to native code, then we'd also > have > to start worrying about the same objects being "resurrected" in > unexpected places (e.g. created by one classloader, accessed by > another). Some of these issues are the very reasons behind the > classloader restrictions behind System::loadLibrary [1]. Perhaps > here, > since the API doing the access is a Java API, it might be possible to > insert some kind of class loader check. > > That said, one of the main reason we did not add any special > support for > JNI handles is that, in addition to the workarounds you mention, a > new > and more powerful workaround is/will be possible from Java 20: > ScopedValues [2]. That is, you can set up a scoped value, and > "bind" it > before the upcall runs (e.g. before you call the corresponding > downcall). The bound value would then be in scope (as a sort of > implicit > parameter) inside the upcall code as well. Retrieving a scoped > value is > also quite fast (compared e.g. to a ThreadLocal). > > For this reason we'd like to see how using ScopedValues goes before > thinking about adding more ad-hoc machinery to expose JNI handles > in Panama. > > Cheers > Maurizio > > [1] - > https://docs.oracle.com/javase/7/docs/technotes/guides/jni/jni-12.html#libmanage > [2] - https://openjdk.org/jeps/429 > > > On 14/02/2023 18:39, Manuel Bleichenbacher wrote: > > Hi all > > > > Many native SDKs allow the caller to pass a void* or long as an > > additional parameter. This parameter is then later provided as a > > reference to the original call, either in the context of a callback > > function call or as an attribute of an operating system object. The > > native SDK will not interpret the parameter in any way, neither > as a > > number nor as a pointer. It's up to the caller to know what it > represents. > > > > Examples are: > > > > lParam in Windows' SendMessage() - > > > https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-sendmessage > > > > > dwNewLong in Windows' SetClassLongPtr() - > > > https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-setclasslongptrw > > > > > arg in POSIX's pthread_create() - > > > https://pubs.opengroup.org/onlinepubs/000095399/functions/pthread_create.html > > > > > refcon in macOS' WritePipeAsync() - > > > https://developer.apple.com/documentation/iokit/iousbinterfaceinterface800/1639539-writepipeasync > > > > > Is there a way to use this from Java for Java objects, i.e. to > pass a > > Java object as a void* and later convert the void* back to the Java > > object? > > > > Since the FFM API exposes void* as MemorySegments, it would > probably > > mean that a MemorySegment could be created encapsulating a > reference > > to a Java object, and that the Java object can later be > retrieved from > > this MemorySegment. > > > > I am aware of two workarounds: > > > > - In the context of a callback function, the Java callback function > > can be extended with an additional parameter and then the Java > object > > can be bound to it. This function is then used to create the up > call > > stub. Since the callback function already contains the > reference, the > > void* parameter is no longer needed and can be passed > > MemorySegment.NULL. In my context (I/O processing with several > > thousand functions calls per second), it likely is rather > inefficient > > as several thousand upcall stubs will need to be generated by > second. > > > > - Instead of the Java object, a generated integer key could be > passed > > as the void*. The link between the key and the Java object would > need > > to be managed in a hash map. Possible, but more of a workaround. > > > > Regards > > Manuel > > > > > > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From mcimadamore at openjdk.org Wed Feb 15 14:19:40 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Wed, 15 Feb 2023 14:19:40 GMT Subject: [foreign-memaccess+abi] RFR: Simplify code now that bitSize is always aligned to byte boundaries In-Reply-To: <_ku7-yAtINxtY1eLUoZbhQP4jr-_-cfozS5i4-Tbsqs=.062a5727-139f-4ede-a180-dd2bc2d5f19a@github.com> References: <_ku7-yAtINxtY1eLUoZbhQP4jr-_-cfozS5i4-Tbsqs=.062a5727-139f-4ede-a180-dd2bc2d5f19a@github.com> Message-ID: On Wed, 15 Feb 2023 12:54:37 GMT, Per Minborg wrote: > This PR suggests some simplifications now that layouts are always aligned to byte boundaries. > > The PR also contains some other simplifications/cleanups. src/java.base/share/classes/jdk/internal/foreign/Utils.java line 63: > 61: private static final MethodHandle ADDRESS_TO_LONG; > 62: private static final MethodHandle LONG_TO_ADDRESS; > 63: public static final MethodHandle MH_BITS_TO_BYTES_FOR_OFFSET; Maybe just `BITS_TO_BYTES`? src/java.base/share/classes/jdk/internal/foreign/Utils.java line 92: > 90: } > 91: > 92: public static long bitsToBytes(long bits) { Should we put an assert here - just in case (rather than a comment) ? ------------- PR: https://git.openjdk.org/panama-foreign/pull/796 From jorn.vernee at oracle.com Wed Feb 15 15:12:36 2023 From: jorn.vernee at oracle.com (Jorn Vernee) Date: Wed, 15 Feb 2023 16:12:36 +0100 Subject: Java object as a void* In-Reply-To: References: <380d4bf6-622c-85c2-9722-f61ed83016d6@oracle.com> Message-ID: Another thing I'd like to add: while "turn a Java object into a pointer" sounds simple, in reality if you look at the implementation of JNI global handles, it is not that much different from the hash map approach, in the sense that objects are stored into some (global) data structure [1]. Of course, resolving objects in this storage is simpler, since a handle is a tagged pointer directly into this data structure. But, this global data structure is also a very general-purpose storage mechanism. Depending on the use case, another kind of data structure might be more suited. So, I'd say that using a hash map + integer keys is not as much of a workaround as you think it is. Since Java objects are managed by a GC, in reality we'll always need some kind of map/store that the GC knows about, since it can not track every arbitrary pointer value floating around in memory or CPU registers. Jorn [1] : https://github.com/openjdk/jdk/blob/0c9658446d111ec944f06b7a8a4e3ae7bf53ee8d/src/hotspot/share/gc/shared/oopStorage.cpp#L389-L436 On 15/02/2023 15:03, Maurizio Cimadamore wrote: > > > On 15/02/2023 07:34, Manuel Bleichenbacher wrote: >> Hi Maurizio >> >> Thanks for the prompt answer. >> >> I can understand that you are reluctant to introduce a new concept >> for a use cases that isn't particularly frequent. >> >> From what I read about ScopedValues, I doubt they will be helpful. In >> many of the use cases I'm dealing with, the void* parameter is used >> in a cross-thread context and has a lifetime, which is not aligned >> with a function call or a similar scope. A thread-local variable is >> not helpful for my use cases. Doesn't this imply that ScopedValues >> won't help either? > > ScopedValues can be inherited across threads, but only if the threads > are constructed/managed by a StructuredTaskScope: > > https://openjdk.org/jeps/437 > > Which might or might not be flexible enough for the particular use > cases you have in mind. But I wanted to make clear that some > well-behaved form of muli-threading is supported by ScopedValues. > >> >> Regarding JNI handles and resurrection I don't have sufficient >> insight into the implementation to comment on this. Since it is >> already possible to bind an object to a method handle, create an >> upcall stub for it and passed it around in native code, it would seem >> to me that part of the challenges have already been solved. > > The main difference is that when you call an "upcall" there is always > a known class that acts as an execution context for the code that runs > in the upcall. If an upcall binds one or more objects, these objects > will belong to the same context as the resulting upcall method handle > itself, so no problem arises. > > Allowing ordinary Java objects to be turned into JNI handles which can > be stored inside native libraries opens up a scenario where an object > created in one context might "leak" into another context (this is > possible if two clients interact with the same underlying native > library). This situation is new, and would have to be taken care of. > > Cheers > Maurizio > > > >> >> Regards >> Manuel >> >> Am Mi., 15. Feb. 2023 um 00:21?Uhr schrieb Maurizio Cimadamore >> : >> >> Hi Manuel, >> in principle, it would be doable to expose an API which creates a >> JNI >> handle out of a Java object and exposes it as a MemorySegment so >> that it >> can be passed to native functions. One thing to consider is that >> if we >> started passing Java objects around to native code, then we'd >> also have >> to start worrying about the same objects being "resurrected" in >> unexpected places (e.g. created by one classloader, accessed by >> another). Some of these issues are the very reasons behind the >> classloader restrictions behind System::loadLibrary [1]. Perhaps >> here, >> since the API doing the access is a Java API, it might be >> possible to >> insert some kind of class loader check. >> >> That said, one of the main reason we did not add any special >> support for >> JNI handles is that, in addition to the workarounds you mention, >> a new >> and more powerful workaround is/will be possible from Java 20: >> ScopedValues [2]. That is, you can set up a scoped value, and >> "bind" it >> before the upcall runs (e.g. before you call the corresponding >> downcall). The bound value would then be in scope (as a sort of >> implicit >> parameter) inside the upcall code as well. Retrieving a scoped >> value is >> also quite fast (compared e.g. to a ThreadLocal). >> >> For this reason we'd like to see how using ScopedValues goes before >> thinking about adding more ad-hoc machinery to expose JNI handles >> in Panama. >> >> Cheers >> Maurizio >> >> [1] - >> https://docs.oracle.com/javase/7/docs/technotes/guides/jni/jni-12.html#libmanage >> [2] - https://openjdk.org/jeps/429 >> >> >> On 14/02/2023 18:39, Manuel Bleichenbacher wrote: >> > Hi all >> > >> > Many native SDKs allow the caller to pass a void* or long as an >> > additional parameter. This parameter is then later provided as a >> > reference to the original call, either in the context of a >> callback >> > function call or as an attribute of an operating system object. >> The >> > native SDK will not interpret the parameter in any way, neither >> as a >> > number nor as a pointer. It's up to the caller to know what it >> represents. >> > >> > Examples are: >> > >> > lParam in Windows' SendMessage() - >> > >> https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-sendmessage >> >> > >> > dwNewLong in Windows' SetClassLongPtr() - >> > >> https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-setclasslongptrw >> >> > >> > arg in POSIX's pthread_create() - >> > >> https://pubs.opengroup.org/onlinepubs/000095399/functions/pthread_create.html >> >> > >> > refcon in macOS' WritePipeAsync() - >> > >> https://developer.apple.com/documentation/iokit/iousbinterfaceinterface800/1639539-writepipeasync >> >> > >> > Is there a way to use this from Java for Java objects, i.e. to >> pass a >> > Java object as a void* and later convert the void* back to the >> Java >> > object? >> > >> > Since the FFM API exposes void* as MemorySegments, it would >> probably >> > mean that a MemorySegment could be created encapsulating a >> reference >> > to a Java object, and that the Java object can later be >> retrieved from >> > this MemorySegment. >> > >> > I am aware of two workarounds: >> > >> > - In the context of a callback function, the Java callback >> function >> > can be extended with an additional parameter and then the Java >> object >> > can be bound to it. This function is then used to create the up >> call >> > stub. Since the callback function already contains the >> reference, the >> > void* parameter is no longer needed and can be passed >> > MemorySegment.NULL. In my context (I/O processing with several >> > thousand functions calls per second), it likely is rather >> inefficient >> > as several thousand upcall stubs will need to be generated by >> second. >> > >> > - Instead of the Java object, a generated integer key could be >> passed >> > as the void*. The link between the key and the Java object >> would need >> > to be managed in a hash map. Possible, but more of a workaround. >> > >> > Regards >> > Manuel >> > >> > >> > >> > >> -------------- next part -------------- An HTML attachment was scrubbed... URL: From mcimadamore at openjdk.org Wed Feb 15 15:17:47 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Wed, 15 Feb 2023 15:17:47 GMT Subject: [foreign-memaccess+abi] RFR: 8302556: Find better way to create unsafe native segments Message-ID: Consider the following code, which is quite common when trying to retroactively secure memory segments originating in native code: MemorySegment malloc(long size, Arena arena) { MemorySegment raw = .invokeExact(size); return MemorySegment.ofAddress(raw.address(), size, arena, () -> StdLib.free(raw)); } There are few issues with this code: * Clients need a throwaway local variable (`raw`) where to store the raw segment returned from the linker API; * to create a new segment with `MemorySegment::ofAddress`, one has to retrieve the address from the old segment and pass it to the factory (see call to `raw.address()`); * the cleanup action has to carefully refer to the `raw` segment - that's because the new segment will be invalidated when the arena is closed, so only `raw` is guaranteed to still be alive at that point. This patch introduces an API change to cope with the issues above. More specifically, this patch introduces a new *instance* method, namely `MemorySegment::reinterpret` which can be used to customize an existing native segment by giving it a new size and scope. `MemorySegment::ofAddress` is still there, but this patch removes all the overloads: effectively now `ofAddress` is only used to turn a `long` into a (zero-length) native memory segment. With the changes in this patch the above code becomes: MemorySegment malloc(long size, Arena arena) { return .invokeExact(size); .reinterpret(size, arena.scope(), StdLib::free); } Not only the new code is more "fluent" than the old one (no extra local variable declaration required), but the story for attaching custom cleanup action has been improved significantly: instead of just taking a `Runnable` the new API takes a `Consumer` which is passed a _fresh_ zero-length memory segment whose scope is always alive (in other words, an _alias_ of the memory segment to be cleaned up). This seems acceptable for a restricted method that is meant to be used in very specific situations, and leads to much cleaner code. There are several overloads for `reinterpret`, to reset size, scope and both size *and* scope. Note that, since `reinterpret` accepts a scope (and not just an `Arena`), it is possible to use this method to rescue the co-allocation use case (albeit at a lower level) - that is, when reading a pointer from another memory segment, a client could set the scope on the read segment to be the same as that of the containing segment. ------------- Commit messages: - More javadoc polishing - More javadoc tweaks - clarify javadoc for reinterpret w.r.t. cleanup action - Fix indenting in javadoc samples - Tweak reinterpret to work on scopes - Tweak javadoc - Remove spurious changes - Initial push Changes: https://git.openjdk.org/panama-foreign/pull/797/files Webrev: https://webrevs.openjdk.org/?repo=panama-foreign&pr=797&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8302556 Stats: 415 lines in 30 files changed: 148 ins; 155 del; 112 mod Patch: https://git.openjdk.org/panama-foreign/pull/797.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/797/head:pull/797 PR: https://git.openjdk.org/panama-foreign/pull/797 From mcimadamore at openjdk.org Wed Feb 15 15:20:35 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Wed, 15 Feb 2023 15:20:35 GMT Subject: [foreign-memaccess+abi] RFR: 8302346: Lift upcall sharing mechanism to AbstractLinker In-Reply-To: References: Message-ID: On Tue, 14 Feb 2023 11:21:56 GMT, Jorn Vernee wrote: > Lift the upcall sharing mechanism to AbstractLinker, where it can live next to the similar mechanism for down calls. This also allows the fallback linker to use this mechanism. > > Instead of an upcall stub, AbstractLinker::arrangeDowncall now return an UpcallStubFactory, which is a callback accepting a target MethodHandle and Arena, which are then used to construct the actual upcall stub. > > Perhaps the trickiest part of this patch is that we have to simulate the effects of `SharedUtils::adaptUpcallForIMR` on the target method type. I've added a new method in SharedUtils, called `computeUpcallIMRType` for that, which mimics the shape of the `adaptUpcallForIMR` method. > > Since the shape of most of the arrangeUpcall methods was very similar, I factored them out into a helper method in SharedUtils as well. src/java.base/share/classes/jdk/internal/foreign/abi/SharedUtils.java line 191: > 189: UpcallStubFactory factory = UpcallLinker.makeFactory(targetType, abi, callingSequence); > 190: > 191: if (isInMemoryReturn) { Question: does this logic belong here? E.g. we have a method that is used to create an upcall factory, namely `UpcallLinker.makeFactory`, but it turns out that if we have `isInMemoryReturn` some other factory should be used instead. Shouldn't we tweak the code so that `makeFactory` always does the right thing? ------------- PR: https://git.openjdk.org/panama-foreign/pull/791 From mcimadamore at openjdk.org Wed Feb 15 15:25:54 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Wed, 15 Feb 2023 15:25:54 GMT Subject: [foreign-memaccess+abi] RFR: 8302556: Find better way to create unsafe native segments In-Reply-To: References: Message-ID: On Wed, 15 Feb 2023 15:10:42 GMT, Maurizio Cimadamore wrote: > Consider the following code, which is quite common when trying to retroactively secure memory segments originating in native code: > > > MemorySegment malloc(long size, Arena arena) { > MemorySegment raw = .invokeExact(size); > return MemorySegment.ofAddress(raw.address(), size, arena, () -> StdLib.free(raw)); > } > > > There are few issues with this code: > > * Clients need a throwaway local variable (`raw`) where to store the raw segment returned from the linker API; > * to create a new segment with `MemorySegment::ofAddress`, one has to retrieve the address from the old segment and pass it to the factory (see call to `raw.address()`); > * the cleanup action has to carefully refer to the `raw` segment - that's because the new segment will be invalidated when the arena is closed, so only `raw` is guaranteed to still be alive at that point. > > This patch introduces an API change to cope with the issues above. More specifically, this patch introduces a new *instance* method, namely `MemorySegment::reinterpret` which can be used to customize an existing native segment by giving it a new size and scope. `MemorySegment::ofAddress` is still there, but this patch removes all the overloads: effectively now `ofAddress` is only used to turn a `long` into a (zero-length) native memory segment. > > With the changes in this patch the above code becomes: > > > MemorySegment malloc(long size, Arena arena) { > return .invokeExact(size); > .reinterpret(size, arena.scope(), StdLib::free); > } > > > Not only the new code is more "fluent" than the old one (no extra local variable declaration required), but the story for attaching custom cleanup action has been improved significantly: instead of just taking a `Runnable` the new API takes a `Consumer` which is passed a _fresh_ zero-length memory segment whose scope is always alive (in other words, an _alias_ of the memory segment to be cleaned up). This seems acceptable for a restricted method that is meant to be used in very specific situations, and leads to much cleaner code. > > There are several overloads for `reinterpret`, to reset size, scope and both size *and* scope. Note that, since `reinterpret` accepts a scope (and not just an `Arena`), it is possible to use this method to rescue the co-allocation use case (albeit at a lower level) - that is, when reading a pointer from another memory segment, a client could set the scope on the read segment to be the same as that of the containing segment. Sample javadoc: http://cr.openjdk.java.net/~mcimadamore/panama/segment_reinterpret_v2/ src/java.base/share/classes/jdk/internal/foreign/SystemLookup.java line 50: > 48: > 49: /* A fallback lookup, used when creation of system lookup fails. */ > 50: private static final SymbolLookup FALLBACK_LOOKUP = name -> { I realized that some of these lookups were not checking for null values - so I've fixed that here (since I was touching the code anyways). src/java.base/share/classes/jdk/internal/foreign/abi/UpcallStubs.java line 60: > 58: } > 59: }); > 60: return MemorySegment.ofAddress(entry).reinterpret(arena.scope(), null); In principle we could just express this using public API if we tweak the semantics for cleanup action to always run in case the scope is found to be already closed. ------------- PR: https://git.openjdk.org/panama-foreign/pull/797 From mcimadamore at openjdk.org Wed Feb 15 15:30:15 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Wed, 15 Feb 2023 15:30:15 GMT Subject: [foreign-memaccess+abi] RFR: 8302346: Lift upcall sharing mechanism to AbstractLinker In-Reply-To: References: Message-ID: On Tue, 14 Feb 2023 11:21:56 GMT, Jorn Vernee wrote: > Lift the upcall sharing mechanism to AbstractLinker, where it can live next to the similar mechanism for down calls. This also allows the fallback linker to use this mechanism. > > Instead of an upcall stub, AbstractLinker::arrangeDowncall now return an UpcallStubFactory, which is a callback accepting a target MethodHandle and Arena, which are then used to construct the actual upcall stub. > > Perhaps the trickiest part of this patch is that we have to simulate the effects of `SharedUtils::adaptUpcallForIMR` on the target method type. I've added a new method in SharedUtils, called `computeUpcallIMRType` for that, which mimics the shape of the `adaptUpcallForIMR` method. > > Since the shape of most of the arrangeUpcall methods was very similar, I factored them out into a helper method in SharedUtils as well. src/java.base/share/classes/jdk/internal/foreign/abi/SharedUtils.java line 166: > 164: > 165: // this just computes the adjusted type > 166: private static MethodType computeUpcallIMRType(MethodType targetType, boolean dropReturn) { Crazy idea - what if we created a fake method handle of the given target type - then just called adaptUpcallForIMR on it, and got the resulting type? I'm a bit worried for the type logic and the MH adaptation logic to go out of sync, and require changing things in two places. ------------- PR: https://git.openjdk.org/panama-foreign/pull/791 From mcimadamore at openjdk.org Wed Feb 15 15:50:19 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Wed, 15 Feb 2023 15:50:19 GMT Subject: [foreign-memaccess+abi] RFR: 8302556: Find better way to create unsafe native segments [v2] In-Reply-To: References: Message-ID: > Consider the following code, which is quite common when trying to retroactively secure memory segments originating in native code: > > > MemorySegment malloc(long size, Arena arena) { > MemorySegment raw = .invokeExact(size); > return MemorySegment.ofAddress(raw.address(), size, arena, () -> StdLib.free(raw)); > } > > > There are few issues with this code: > > * Clients need a throwaway local variable (`raw`) where to store the raw segment returned from the linker API; > * to create a new segment with `MemorySegment::ofAddress`, one has to retrieve the address from the old segment and pass it to the factory (see call to `raw.address()`); > * the cleanup action has to carefully refer to the `raw` segment - that's because the new segment will be invalidated when the arena is closed, so only `raw` is guaranteed to still be alive at that point. > > This patch introduces an API change to cope with the issues above. More specifically, this patch introduces a new *instance* method, namely `MemorySegment::reinterpret` which can be used to customize an existing native segment by giving it a new size and scope. `MemorySegment::ofAddress` is still there, but this patch removes all the overloads: effectively now `ofAddress` is only used to turn a `long` into a (zero-length) native memory segment. > > With the changes in this patch the above code becomes: > > > MemorySegment malloc(long size, Arena arena) { > return .invokeExact(size); > .reinterpret(size, arena.scope(), StdLib::free); > } > > > Not only the new code is more "fluent" than the old one (no extra local variable declaration required), but the story for attaching custom cleanup action has been improved significantly: instead of just taking a `Runnable` the new API takes a `Consumer` which is passed a _fresh_ zero-length memory segment whose scope is always alive (in other words, an _alias_ of the memory segment to be cleaned up). This seems acceptable for a restricted method that is meant to be used in very specific situations, and leads to much cleaner code. > > There are several overloads for `reinterpret`, to reset size, scope and both size *and* scope. Note that, since `reinterpret` accepts a scope (and not just an `Arena`), it is possible to use this method to rescue the co-allocation use case (albeit at a lower level) - that is, when reading a pointer from another memory segment, a client could set the scope on the read segment to be the same as that of the containing segment. Maurizio Cimadamore has updated the pull request incrementally with one additional commit since the last revision: Fix typo in javadoc ------------- Changes: - all: https://git.openjdk.org/panama-foreign/pull/797/files - new: https://git.openjdk.org/panama-foreign/pull/797/files/62855b5c..f8787a5f Webrevs: - full: https://webrevs.openjdk.org/?repo=panama-foreign&pr=797&range=01 - incr: https://webrevs.openjdk.org/?repo=panama-foreign&pr=797&range=00-01 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.org/panama-foreign/pull/797.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/797/head:pull/797 PR: https://git.openjdk.org/panama-foreign/pull/797 From mcimadamore at openjdk.org Wed Feb 15 15:53:05 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Wed, 15 Feb 2023 15:53:05 GMT Subject: [foreign-memaccess+abi] RFR: Rework PlatformLayout In-Reply-To: References: <9-BwksvMDtgEnPPa5eCKi8WGSzLw2L2WKd2ZIehI930=.904f8890-24aa-4f0f-9f83-b27d217e2adc@github.com> Message-ID: On Wed, 15 Feb 2023 08:30:05 GMT, Per Minborg wrote: >> This PR suggests slightly reworking the class `PlatformLayout`. This reduces the number of objects created and aggregates common functionality in a support method. > > src/java.base/share/classes/jdk/internal/foreign/PlatformLayouts.java line 252: > >> 250: } >> 251: >> 252: private static ValueLayout.OfAddress cPointer(ValueLayout targetLayoutElementLayout) { > > Maybe there is a better name? `elementLayout` perhaps? I think you can just omit the parameter here - and use JAVA_BYTE. We're not interested in what the layout is - the main thing is that it's unbounded (and that it has minimum alignment). Even using a padding layout of Long.MAX_VALUE would work :-) ------------- PR: https://git.openjdk.org/panama-foreign/pull/794 From pminborg at openjdk.org Wed Feb 15 16:14:39 2023 From: pminborg at openjdk.org (Per Minborg) Date: Wed, 15 Feb 2023 16:14:39 GMT Subject: [foreign-memaccess+abi] RFR: Simplify ValueLayouts Message-ID: This PR proposes a more shortened and simplified scheme when implementing value layouts. This provides a significant reduction of the code size. A new threeary duplicator is introduced. In the solution below, I sugest using a function (`ValueLayoutDuplicator`) which reduces code but arguably makes it a bit more complicated. Another alternative would be to simply mandate a corresponding abstract method and Implement an explicit delegator to the constructor for each type. Let me know your thoughts around how to balance this. ------------- Commit messages: - Simplify ValueLayouts Changes: https://git.openjdk.org/panama-foreign/pull/798/files Webrev: https://webrevs.openjdk.org/?repo=panama-foreign&pr=798&range=00 Stats: 149 lines in 2 files changed: 12 ins; 94 del; 43 mod Patch: https://git.openjdk.org/panama-foreign/pull/798.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/798/head:pull/798 PR: https://git.openjdk.org/panama-foreign/pull/798 From pminborg at openjdk.org Wed Feb 15 16:34:34 2023 From: pminborg at openjdk.org (Per Minborg) Date: Wed, 15 Feb 2023 16:34:34 GMT Subject: [foreign-memaccess+abi] RFR: Deduplicate layouts and simplify value layout implementations [v2] In-Reply-To: References: Message-ID: <5ceoHATGmln_9zvYS1U0YTN-BjomyNyR60mJGGWFRMg=.8db97411-ab3a-459a-a40e-e48cfff55dd1@github.com> > This PR proposes adding deduplication of the immutable value layout where one provides a value that is equal to the one already at hand. For example, `JAVA_INT.withBitAlignment(32)` will return the same object. There is no general caching mechanism that guarantees a layout will never repeat. > > Another part of this PR relates to simplifying value layouts so they only have a single constructor. This will reduce size slightly. Related to this is the replacement of certain magic numbers which are now represented by constants. Per Minborg has updated the pull request incrementally with two additional commits since the last revision: - Rollback changes in constructor - Rollback changes not related to dedup ------------- Changes: - all: https://git.openjdk.org/panama-foreign/pull/795/files - new: https://git.openjdk.org/panama-foreign/pull/795/files/90e49596..939b0c94 Webrevs: - full: https://webrevs.openjdk.org/?repo=panama-foreign&pr=795&range=01 - incr: https://webrevs.openjdk.org/?repo=panama-foreign&pr=795&range=00-01 Stats: 69 lines in 1 file changed: 50 ins; 0 del; 19 mod Patch: https://git.openjdk.org/panama-foreign/pull/795.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/795/head:pull/795 PR: https://git.openjdk.org/panama-foreign/pull/795 From mcimadamore at openjdk.org Wed Feb 15 16:41:00 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Wed, 15 Feb 2023 16:41:00 GMT Subject: [foreign-memaccess+abi] RFR: Simplify ValueLayouts In-Reply-To: References: Message-ID: On Wed, 15 Feb 2023 16:06:21 GMT, Per Minborg wrote: > This PR proposes a more shortened and simplified scheme when implementing value layouts. > > This provides a significant reduction of the code size. A new threeary duplicator is introduced. In the solution below, I sugest using a function (`ValueLayoutDuplicator`) which reduces code but arguably makes it a bit more complicated. Another alternative would be to simply mandate a corresponding abstract method and Implement an explicit delegator to the constructor for each type. > > Let me know your thoughts around how to balance this. src/java.base/share/classes/jdk/internal/foreign/layout/ValueLayouts.java line 145: > 143: > 144: @Override > 145: final V dup(long bitAlignment, Optional name) { question: instead of using a duplicator object, can't we have a new `dup` overload here with the required arguments, rewire the old `dup` to the new one, and then override as appropriate in all the subclasses? That would still allow you to define `withOrder` in a single place (which, AFAICS appears to be the main simplification?) ------------- PR: https://git.openjdk.org/panama-foreign/pull/798 From pminborg at openjdk.org Wed Feb 15 17:57:04 2023 From: pminborg at openjdk.org (Per Minborg) Date: Wed, 15 Feb 2023 17:57:04 GMT Subject: [foreign-memaccess+abi] RFR: Deduplicate layouts and simplify value layout implementations [v2] In-Reply-To: <5ceoHATGmln_9zvYS1U0YTN-BjomyNyR60mJGGWFRMg=.8db97411-ab3a-459a-a40e-e48cfff55dd1@github.com> References: <5ceoHATGmln_9zvYS1U0YTN-BjomyNyR60mJGGWFRMg=.8db97411-ab3a-459a-a40e-e48cfff55dd1@github.com> Message-ID: <19UjjB6pOT_CNQZ5tdDS7z1UWJgovAsB8WlQ0YW312E=.a1898608-b7e7-4546-8a2c-112b9ab04bc1@github.com> On Wed, 15 Feb 2023 16:34:34 GMT, Per Minborg wrote: >> This PR proposes adding deduplication of the immutable value layout where one provides a value that is equal to the one already at hand. For example, `JAVA_INT.withBitAlignment(32)` will return the same object. There is no general caching mechanism that guarantees a layout will never repeat. >> >> Another part of this PR relates to simplifying value layouts so they only have a single constructor. This will reduce size slightly. Related to this is the replacement of certain magic numbers which are now represented by constants. > > Per Minborg has updated the pull request incrementally with two additional commits since the last revision: > > - Rollback changes in constructor > - Rollback changes not related to dedup Running a large number of tests and collecting deduplication information reveals the following: pminborg at pminborg-mac minborg-panama % cat /Users/pminborg/dev/minborg-panama/build/macosx-aarch64/test-support/jtreg_open_test_jdk_java_foreign/java/foreign/*.jtr | grep SAVED ORDER | wc -l grep: ORDER: No such file or directory 0 pminborg at pminborg-mac minborg-panama % cat /Users/pminborg/dev/minborg-panama/build/macosx-aarch64/test-support/jtreg_open_test_jdk_java_foreign/java/foreign/*.jtr | grep "SAVED ORDER" | wc -l 9254 pminborg at pminborg-mac minborg-panama % cat /Users/pminborg/dev/minborg-panama/build/macosx-aarch64/test-support/jtreg_open_test_jdk_java_foreign/java/foreign/*.jtr | grep "CREATED ORDER" | wc -l 842 pminborg at pminborg-mac minborg-panama % cat /Users/pminborg/dev/minborg-panama/build/macosx-aarch64/test-support/jtreg_open_test_jdk_java_foreign/java/foreign/*.jtr | grep "SAVED NAME" | wc -l 0 pminborg at pminborg-mac minborg-panama % cat /Users/pminborg/dev/minborg-panama/build/macosx-aarch64/test-support/jtreg_open_test_jdk_java_foreign/java/foreign/*.jtr | grep "CREATED NAME" | wc -l 34294 pminborg at pminborg-mac minborg-panama % cat /Users/pminborg/dev/minborg-panama/build/macosx-aarch64/test-support/jtreg_open_test_jdk_java_foreign/java/foreign/*.jtr | grep "SAVED BIT ALIGNMENT" | wc -l 488 pminborg at pminborg-mac minborg-panama % cat /Users/pminborg/dev/minborg-panama/build/macosx-aarch64/test-support/jtreg_open_test_jdk_java_foreign/java/foreign/*.jtr | grep "CREATED BIT ALIGNMENT" | wc -l 969 ![image](https://user-images.githubusercontent.com/7457876/219112435-16565917-a048-4d83-a0e3-e1eba194ea12.png) NOTE: This is for the total number of objects and not retained objects. So, this indicates deduplicating name would provide next to zero benefit whereas deduplicating byte order has a much better potential. ------------- PR: https://git.openjdk.org/panama-foreign/pull/795 From mcimadamore at openjdk.org Wed Feb 15 18:10:04 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Wed, 15 Feb 2023 18:10:04 GMT Subject: [foreign-memaccess+abi] RFR: Deduplicate layouts and simplify value layout implementations [v2] In-Reply-To: <19UjjB6pOT_CNQZ5tdDS7z1UWJgovAsB8WlQ0YW312E=.a1898608-b7e7-4546-8a2c-112b9ab04bc1@github.com> References: <5ceoHATGmln_9zvYS1U0YTN-BjomyNyR60mJGGWFRMg=.8db97411-ab3a-459a-a40e-e48cfff55dd1@github.com> <19UjjB6pOT_CNQZ5tdDS7z1UWJgovAsB8WlQ0YW312E=.a1898608-b7e7-4546-8a2c-112b9ab04bc1@github.com> Message-ID: On Wed, 15 Feb 2023 17:54:27 GMT, Per Minborg wrote: > Running a large number of tests and collecting deduplication information reveals the following: > I suggest running same stats on the output of e.g. a jextract project - I don't think JDK tests are necessarily indicative of idiomatic usages. If you look at jextract, you will see that we only generate few root layouts (C_INT, C_FLOAT, ...) which might use some calls to `bitAlignment` and `order`. But these should be < 10 layout objects. Everything else that is built, is built on top of these layouts. So, when we build a struct layout with two ints, we will do `structLayout(C_INT.withName("x"), C_INT.withName("y"))`. There is no further call to `bitAlignment` or `order`, so I think the potential for deduplication is quite low in jextract bindings. ------------- PR: https://git.openjdk.org/panama-foreign/pull/795 From jvernee at openjdk.org Wed Feb 15 18:24:22 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Wed, 15 Feb 2023 18:24:22 GMT Subject: [foreign-memaccess+abi] RFR: 8302556: Find better way to create unsafe native segments [v2] In-Reply-To: References: Message-ID: On Wed, 15 Feb 2023 15:50:19 GMT, Maurizio Cimadamore wrote: >> Consider the following code, which is quite common when trying to retroactively secure memory segments originating in native code: >> >> >> MemorySegment malloc(long size, Arena arena) { >> MemorySegment raw = .invokeExact(size); >> return MemorySegment.ofAddress(raw.address(), size, arena, () -> StdLib.free(raw)); >> } >> >> >> There are few issues with this code: >> >> * Clients need a throwaway local variable (`raw`) where to store the raw segment returned from the linker API; >> * to create a new segment with `MemorySegment::ofAddress`, one has to retrieve the address from the old segment and pass it to the factory (see call to `raw.address()`); >> * the cleanup action has to carefully refer to the `raw` segment - that's because the new segment will be invalidated when the arena is closed, so only `raw` is guaranteed to still be alive at that point. >> >> This patch introduces an API change to cope with the issues above. More specifically, this patch introduces a new *instance* method, namely `MemorySegment::reinterpret` which can be used to customize an existing native segment by giving it a new size and scope. `MemorySegment::ofAddress` is still there, but this patch removes all the overloads: effectively now `ofAddress` is only used to turn a `long` into a (zero-length) native memory segment. >> >> With the changes in this patch the above code becomes: >> >> >> MemorySegment malloc(long size, Arena arena) { >> return .invokeExact(size); >> .reinterpret(size, arena.scope(), StdLib::free); >> } >> >> >> Not only the new code is more "fluent" than the old one (no extra local variable declaration required), but the story for attaching custom cleanup action has been improved significantly: instead of just taking a `Runnable` the new API takes a `Consumer` which is passed a _fresh_ zero-length memory segment whose scope is always alive (in other words, an _alias_ of the memory segment to be cleaned up). This seems acceptable for a restricted method that is meant to be used in very specific situations, and leads to much cleaner code. >> >> There are several overloads for `reinterpret`, to reset size, scope and both size *and* scope. Note that, since `reinterpret` accepts a scope (and not just an `Arena`), it is possible to use this method to rescue the co-allocation use case (albeit at a lower level) - that is, when reading a pointer from another memory segment, a client could set the scope on the read segment to be the same as that of the containing segment. > > Maurizio Cimadamore has updated the pull request incrementally with one additional commit since the last revision: > > Fix typo in javadoc src/java.base/share/classes/java/lang/foreign/MemorySegment.java line 351: > 349: * where the size of the array might be provided in a separate parameter. The size of the array is not readily apparent > 350: * to the code calling the foreign function and hoping to use its result. In addition to having no insight > 351: * into the size of the region of memory backing a pointer returned from a foreign function, also has no insight Suggestion: * into the size of the region of memory backing a pointer returned from a foreign function, it also has no insight src/java.base/share/classes/java/lang/foreign/MemorySegment.java line 376: > 374: *

> 375: * First, clients can unsafely resize a zero-length memory segment by {@linkplain #reinterpret(long) obtaining} a > 376: * memory segment with same base address as the zero-length memory segment, but with the desired size, Suggestion: * memory segment with the same base address as the zero-length memory segment, but with the desired size, src/java.base/share/classes/java/lang/foreign/MemorySegment.java line 385: > 383: *} > 384: *

> 385: * In some cases, a client might additionally want to associate new temporal bounds to a zero-length memory segment. associate to -> associate with Suggestion: * In some cases, a client might additionally want to associate a zero-length memory segment new temporal bounds. src/java.base/share/classes/java/lang/foreign/MemorySegment.java line 588: > 586: * provided size. > 587: * @throws IllegalArgumentException if {@code newSize < 0}. > 588: * @throws UnsupportedOperationException if this segment is not a {@linkplain #isNative() native} segment. This is a nice effect of this patch: it is now harder to mess up and accidentally re-wrap the address() of a heap segment. `reinterpret` has the original segment, and can throw in that case. src/java.base/share/classes/java/lang/foreign/MemorySegment.java line 2219: > 2217: * Returns {@code true}, if the provided object is also a scope, which models the same lifetime as that > 2218: * modelled by this scope. > 2219: * and the provided scope are the same. In that case, it is always the case that Seems redundant with the sentence before. I think that should be: Suggestion: * In that case, it is always the case that src/java.base/share/classes/java/lang/foreign/package-info.java line 201: > 199: * foreign data and/or functions to first-class Java API elements which can then be used directly by clients. For instance > 200: * the restricted method {@link java.lang.foreign.MemorySegment#reinterpret(long)} ()} > 201: * can be used to create a fresh segment with same address and temporal bounds, Suggestion: * can be used to create a fresh segment with the same address and temporal bounds, src/java.base/share/classes/jdk/internal/foreign/SystemLookup.java line 93: > 91: int numSymbols = WindowsFallbackSymbols.values().length; > 92: MemorySegment funcs = fallbackLibLookup.find("funcs").orElseThrow() > 93: .reinterpret(ADDRESS.byteSize() * numSymbols); I realize now that this might be better expressed as a static final `SequenceLayout` in `WindowsFallbackSymbols`, since the number of symbols doesn't change. WDYT? test/jdk/java/foreign/TestSlices.java line 131: > 129: MemorySegment slice = segment.asSlice(0, ValueLayout.JAVA_INT); // size = 4 > 130: assertThrows(IndexOutOfBoundsException.class, () -> slice.getAtIndex(ValueLayout.JAVA_INT, 1)); > 131: MemorySegment unbounded = slice.reinterpret(Long.MAX_VALUE, arena.scope(), null); Looking at this, I'm wondering if the whole test `testUnboundedSlice` is still needed at all, now that `asUnbounded` is removed. I'd say just remove the test. test/micro/org/openjdk/bench/java/lang/foreign/JavaLayouts.java line 26: > 24: package org.openjdk.bench.java.lang.foreign; > 25: > 26: import java.lang.foreign.MemoryLayout; Spurious import? Suggestion: ------------- PR: https://git.openjdk.org/panama-foreign/pull/797 From jvernee at openjdk.org Wed Feb 15 18:24:24 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Wed, 15 Feb 2023 18:24:24 GMT Subject: [foreign-memaccess+abi] RFR: 8302556: Find better way to create unsafe native segments [v2] In-Reply-To: References: Message-ID: On Wed, 15 Feb 2023 15:23:26 GMT, Maurizio Cimadamore wrote: >> Maurizio Cimadamore has updated the pull request incrementally with one additional commit since the last revision: >> >> Fix typo in javadoc > > src/java.base/share/classes/jdk/internal/foreign/abi/UpcallStubs.java line 60: > >> 58: } >> 59: }); >> 60: return MemorySegment.ofAddress(entry).reinterpret(arena.scope(), null); > > In principle we could just express this using public API if we tweak the semantics for cleanup action to always run in case the scope is found to be already closed. Yeah, I think that might be better as semantics in general. If the attach fails, don't leak, and run the cleanup action. ------------- PR: https://git.openjdk.org/panama-foreign/pull/797 From mcimadamore at openjdk.org Wed Feb 15 19:16:45 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Wed, 15 Feb 2023 19:16:45 GMT Subject: [foreign-memaccess+abi] RFR: 8302556: Find better way to create unsafe native segments [v3] In-Reply-To: References: Message-ID: > Consider the following code, which is quite common when trying to retroactively secure memory segments originating in native code: > > > MemorySegment malloc(long size, Arena arena) { > MemorySegment raw = .invokeExact(size); > return MemorySegment.ofAddress(raw.address(), size, arena, () -> StdLib.free(raw)); > } > > > There are few issues with this code: > > * Clients need a throwaway local variable (`raw`) where to store the raw segment returned from the linker API; > * to create a new segment with `MemorySegment::ofAddress`, one has to retrieve the address from the old segment and pass it to the factory (see call to `raw.address()`); > * the cleanup action has to carefully refer to the `raw` segment - that's because the new segment will be invalidated when the arena is closed, so only `raw` is guaranteed to still be alive at that point. > > This patch introduces an API change to cope with the issues above. More specifically, this patch introduces a new *instance* method, namely `MemorySegment::reinterpret` which can be used to customize an existing native segment by giving it a new size and scope. `MemorySegment::ofAddress` is still there, but this patch removes all the overloads: effectively now `ofAddress` is only used to turn a `long` into a (zero-length) native memory segment. > > With the changes in this patch the above code becomes: > > > MemorySegment malloc(long size, Arena arena) { > return .invokeExact(size); > .reinterpret(size, arena.scope(), StdLib::free); > } > > > Not only the new code is more "fluent" than the old one (no extra local variable declaration required), but the story for attaching custom cleanup action has been improved significantly: instead of just taking a `Runnable` the new API takes a `Consumer` which is passed a _fresh_ zero-length memory segment whose scope is always alive (in other words, an _alias_ of the memory segment to be cleaned up). This seems acceptable for a restricted method that is meant to be used in very specific situations, and leads to much cleaner code. > > There are several overloads for `reinterpret`, to reset size, scope and both size *and* scope. Note that, since `reinterpret` accepts a scope (and not just an `Arena`), it is possible to use this method to rescue the co-allocation use case (albeit at a lower level) - that is, when reading a pointer from another memory segment, a client could set the scope on the read segment to be the same as that of the containing segment. Maurizio Cimadamore has updated the pull request incrementally with five additional commits since the last revision: - Address review comments - Update test/micro/org/openjdk/bench/java/lang/foreign/JavaLayouts.java Co-authored-by: Jorn Vernee - Update src/java.base/share/classes/java/lang/foreign/package-info.java Co-authored-by: Jorn Vernee - Update src/java.base/share/classes/java/lang/foreign/MemorySegment.java Co-authored-by: Jorn Vernee - Update src/java.base/share/classes/java/lang/foreign/MemorySegment.java Co-authored-by: Jorn Vernee ------------- Changes: - all: https://git.openjdk.org/panama-foreign/pull/797/files - new: https://git.openjdk.org/panama-foreign/pull/797/files/f8787a5f..c675a4ff Webrevs: - full: https://webrevs.openjdk.org/?repo=panama-foreign&pr=797&range=02 - incr: https://webrevs.openjdk.org/?repo=panama-foreign&pr=797&range=01-02 Stats: 29 lines in 5 files changed: 3 ins; 19 del; 7 mod Patch: https://git.openjdk.org/panama-foreign/pull/797.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/797/head:pull/797 PR: https://git.openjdk.org/panama-foreign/pull/797 From mcimadamore at openjdk.org Wed Feb 15 19:16:47 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Wed, 15 Feb 2023 19:16:47 GMT Subject: [foreign-memaccess+abi] RFR: 8302556: Find better way to create unsafe native segments [v3] In-Reply-To: References: Message-ID: On Wed, 15 Feb 2023 18:06:21 GMT, Jorn Vernee wrote: >> src/java.base/share/classes/jdk/internal/foreign/abi/UpcallStubs.java line 60: >> >>> 58: } >>> 59: }); >>> 60: return MemorySegment.ofAddress(entry).reinterpret(arena.scope(), null); >> >> In principle we could just express this using public API if we tweak the semantics for cleanup action to always run in case the scope is found to be already closed. > > Yeah, I think that might be better as semantics in general. If the attach fails, don't leak, and run the cleanup action. Not super sure how to specify this though - e.g. should we say that the cleanup is always run when the method completes abnormally? Possible failure causes are: * the scope is no longer alive (this is what we care about) * the size is negative * the method is called on a segment that is not native * the method is called and restricted access is not enabled. Note 100% sure *when* we should say we would attempt to run the cleanup action. Kind of tempted leave it as is. ------------- PR: https://git.openjdk.org/panama-foreign/pull/797 From jvernee at openjdk.org Wed Feb 15 20:52:26 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Wed, 15 Feb 2023 20:52:26 GMT Subject: [foreign-memaccess+abi] RFR: 8302556: Find better way to create unsafe native segments [v3] In-Reply-To: References: Message-ID: On Wed, 15 Feb 2023 19:16:45 GMT, Maurizio Cimadamore wrote: >> Consider the following code, which is quite common when trying to retroactively secure memory segments originating in native code: >> >> >> MemorySegment malloc(long size, Arena arena) { >> MemorySegment raw = .invokeExact(size); >> return MemorySegment.ofAddress(raw.address(), size, arena, () -> StdLib.free(raw)); >> } >> >> >> There are few issues with this code: >> >> * Clients need a throwaway local variable (`raw`) where to store the raw segment returned from the linker API; >> * to create a new segment with `MemorySegment::ofAddress`, one has to retrieve the address from the old segment and pass it to the factory (see call to `raw.address()`); >> * the cleanup action has to carefully refer to the `raw` segment - that's because the new segment will be invalidated when the arena is closed, so only `raw` is guaranteed to still be alive at that point. >> >> This patch introduces an API change to cope with the issues above. More specifically, this patch introduces a new *instance* method, namely `MemorySegment::reinterpret` which can be used to customize an existing native segment by giving it a new size and scope. `MemorySegment::ofAddress` is still there, but this patch removes all the overloads: effectively now `ofAddress` is only used to turn a `long` into a (zero-length) native memory segment. >> >> With the changes in this patch the above code becomes: >> >> >> MemorySegment malloc(long size, Arena arena) { >> return .invokeExact(size); >> .reinterpret(size, arena.scope(), StdLib::free); >> } >> >> >> Not only the new code is more "fluent" than the old one (no extra local variable declaration required), but the story for attaching custom cleanup action has been improved significantly: instead of just taking a `Runnable` the new API takes a `Consumer` which is passed a _fresh_ zero-length memory segment whose scope is always alive (in other words, an _alias_ of the memory segment to be cleaned up). This seems acceptable for a restricted method that is meant to be used in very specific situations, and leads to much cleaner code. >> >> There are several overloads for `reinterpret`, to reset size, scope and both size *and* scope. Note that, since `reinterpret` accepts a scope (and not just an `Arena`), it is possible to use this method to rescue the co-allocation use case (albeit at a lower level) - that is, when reading a pointer from another memory segment, a client could set the scope on the read segment to be the same as that of the containing segment. > > Maurizio Cimadamore has updated the pull request incrementally with five additional commits since the last revision: > > - Address review comments > - Update test/micro/org/openjdk/bench/java/lang/foreign/JavaLayouts.java > > Co-authored-by: Jorn Vernee > - Update src/java.base/share/classes/java/lang/foreign/package-info.java > > Co-authored-by: Jorn Vernee > - Update src/java.base/share/classes/java/lang/foreign/MemorySegment.java > > Co-authored-by: Jorn Vernee > - Update src/java.base/share/classes/java/lang/foreign/MemorySegment.java > > Co-authored-by: Jorn Vernee Marked as reviewed by jvernee (Committer). src/java.base/share/classes/jdk/internal/foreign/SystemLookup.java line 90: > 88: > 89: MemorySegment funcs = fallbackLibLookup.find("funcs").orElseThrow() > 90: .reinterpret(WindowsFallbackSymbols.LAYOUT.byteSize()); Nice! Thanks. src/java.base/share/classes/jdk/internal/foreign/SystemLookup.java line 207: > 205: } > 206: > 207: static SequenceLayout LAYOUT = MemoryLayout.sequenceLayout( Could be `final` as well. ------------- PR: https://git.openjdk.org/panama-foreign/pull/797 From jvernee at openjdk.org Wed Feb 15 21:08:15 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Wed, 15 Feb 2023 21:08:15 GMT Subject: [foreign-memaccess+abi] RFR: 8302556: Find better way to create unsafe native segments [v3] In-Reply-To: References: Message-ID: On Wed, 15 Feb 2023 19:08:18 GMT, Maurizio Cimadamore wrote: >> Yeah, I think that might be better as semantics in general. If the attach fails, don't leak, and run the cleanup action. > > Not super sure how to specify this though - e.g. should we say that the cleanup is always run when the method completes abnormally? Possible failure causes are: > * the scope is no longer alive (this is what we care about) > * the size is negative > * the method is called on a segment that is not native > * the method is called and restricted access is not enabled. > > Note 100% sure *when* we should say we would attempt to run the cleanup action. Kind of tempted leave it as is. Ok, probably better to leave it as is for now. ------------- PR: https://git.openjdk.org/panama-foreign/pull/797 From mcimadamore at openjdk.org Wed Feb 15 22:04:54 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Wed, 15 Feb 2023 22:04:54 GMT Subject: [foreign-memaccess+abi] RFR: 8302556: Find better way to create unsafe native segments [v4] In-Reply-To: References: Message-ID: > Consider the following code, which is quite common when trying to retroactively secure memory segments originating in native code: > > > MemorySegment malloc(long size, Arena arena) { > MemorySegment raw = .invokeExact(size); > return MemorySegment.ofAddress(raw.address(), size, arena, () -> StdLib.free(raw)); > } > > > There are few issues with this code: > > * Clients need a throwaway local variable (`raw`) where to store the raw segment returned from the linker API; > * to create a new segment with `MemorySegment::ofAddress`, one has to retrieve the address from the old segment and pass it to the factory (see call to `raw.address()`); > * the cleanup action has to carefully refer to the `raw` segment - that's because the new segment will be invalidated when the arena is closed, so only `raw` is guaranteed to still be alive at that point. > > This patch introduces an API change to cope with the issues above. More specifically, this patch introduces a new *instance* method, namely `MemorySegment::reinterpret` which can be used to customize an existing native segment by giving it a new size and scope. `MemorySegment::ofAddress` is still there, but this patch removes all the overloads: effectively now `ofAddress` is only used to turn a `long` into a (zero-length) native memory segment. > > With the changes in this patch the above code becomes: > > > MemorySegment malloc(long size, Arena arena) { > return .invokeExact(size); > .reinterpret(size, arena.scope(), StdLib::free); > } > > > Not only the new code is more "fluent" than the old one (no extra local variable declaration required), but the story for attaching custom cleanup action has been improved significantly: instead of just taking a `Runnable` the new API takes a `Consumer` which is passed a _fresh_ zero-length memory segment whose scope is always alive (in other words, an _alias_ of the memory segment to be cleaned up). This seems acceptable for a restricted method that is meant to be used in very specific situations, and leads to much cleaner code. > > There are several overloads for `reinterpret`, to reset size, scope and both size *and* scope. Note that, since `reinterpret` accepts a scope (and not just an `Arena`), it is possible to use this method to rescue the co-allocation use case (albeit at a lower level) - that is, when reading a pointer from another memory segment, a client could set the scope on the read segment to be the same as that of the containing segment. Maurizio Cimadamore has updated the pull request incrementally with one additional commit since the last revision: Add `final` modifier ------------- Changes: - all: https://git.openjdk.org/panama-foreign/pull/797/files - new: https://git.openjdk.org/panama-foreign/pull/797/files/c675a4ff..e3bb7434 Webrevs: - full: https://webrevs.openjdk.org/?repo=panama-foreign&pr=797&range=03 - incr: https://webrevs.openjdk.org/?repo=panama-foreign&pr=797&range=02-03 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.org/panama-foreign/pull/797.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/797/head:pull/797 PR: https://git.openjdk.org/panama-foreign/pull/797 From duke at openjdk.org Thu Feb 16 05:09:48 2023 From: duke at openjdk.org (Swati Sharma) Date: Thu, 16 Feb 2023 05:09:48 GMT Subject: [vectorIntrinsics+fp16] RFR: 8302454: Improve VectorAPI fallback implementation for FP16 operations. Message-ID: Hi All, The patch contains the below changes: - Remove redundant Halffloat object creation and rebase existing implementation using Float.float16ToFloat and floatToFloat16 APIs. - Enable all the vector API tests for FP16 operations. Please review and provide your feedback. Thanks, Swati ------------- Commit messages: - 8302454: Improve VectorAPI fallback implementation for FP16 operations. Changes: https://git.openjdk.org/panama-vector/pull/211/files Webrev: https://webrevs.openjdk.org/?repo=panama-vector&pr=211&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8302454 Stats: 8290 lines in 33 files changed: 7532 ins; 104 del; 654 mod Patch: https://git.openjdk.org/panama-vector/pull/211.diff Fetch: git fetch https://git.openjdk.org/panama-vector pull/211/head:pull/211 PR: https://git.openjdk.org/panama-vector/pull/211 From xgong at openjdk.org Thu Feb 16 08:57:54 2023 From: xgong at openjdk.org (Xiaohong Gong) Date: Thu, 16 Feb 2023 08:57:54 GMT Subject: [vectorIntrinsics+fp16] RFR: 8302454: Improve VectorAPI fallback implementation for FP16 operations. In-Reply-To: References: Message-ID: On Thu, 16 Feb 2023 05:03:53 GMT, Swati Sharma wrote: > Hi All, > > The patch contains the below changes: > - Remove redundant Halffloat object creation and rebase existing implementation using Float.float16ToFloat and floatToFloat16 APIs. > - Enable all the vector API tests for FP16 operations. > > Please review and provide your feedback. > > Thanks, > Swati src/jdk.incubator.vector/share/classes/jdk/incubator/vector/AbstractMask.java line 376: > 374: badMask = > 375: iota.compare(GE, iota.broadcast(indexLimit)); > 376: } Is it better to add another "broadcast(long)" help method such as "broadcastDirect(long)" for each kind of Vector? Differently with the original "broadcast(long)", the long input is directly casted to the vector type (like the above special handle for Halffloat) without no checking. The benefits are: 1. The above code is simplied. And it's no need to set "badMask" to "null", which I think is not recommended for vector/mask instance. 2. The performance can improve for float/double operations that using this method. See an discussion here: https://github.com/openjdk/jdk/pull/12064#discussion_r1094101761 ------------- PR: https://git.openjdk.org/panama-vector/pull/211 From pminborg at openjdk.org Thu Feb 16 09:36:46 2023 From: pminborg at openjdk.org (Per Minborg) Date: Thu, 16 Feb 2023 09:36:46 GMT Subject: [foreign-memaccess+abi] RFR: Deduplicate layouts and simplify value layout implementations [v2] In-Reply-To: <5ceoHATGmln_9zvYS1U0YTN-BjomyNyR60mJGGWFRMg=.8db97411-ab3a-459a-a40e-e48cfff55dd1@github.com> References: <5ceoHATGmln_9zvYS1U0YTN-BjomyNyR60mJGGWFRMg=.8db97411-ab3a-459a-a40e-e48cfff55dd1@github.com> Message-ID: On Wed, 15 Feb 2023 16:34:34 GMT, Per Minborg wrote: >> This PR proposes adding deduplication of the immutable value layout where one provides a value that is equal to the one already at hand. For example, `JAVA_INT.withBitAlignment(32)` will return the same object. There is no general caching mechanism that guarantees a layout will never repeat. >> >> Another part of this PR relates to simplifying value layouts so they only have a single constructor. This will reduce size slightly. Related to this is the replacement of certain magic numbers which are now represented by constants. > > Per Minborg has updated the pull request incrementally with two additional commits since the last revision: > > - Rollback changes in constructor > - Rollback changes not related to dedup Here is a run with jextract using the zstd lib: ? | Building jextract | ? | Running jextract zstd | ? | Runnig zstd -- | -- | -- | -- | -- | -- created name | 250 | ? | 315 | ? | 0 saved name | 0 | ? | 0 | ? | 0 created bit alignment | 13 | ? | 13 | ? | 7 saved bit alignment | 36 | ? | 247 | ? | 1 created order | 0 | ? | 0 | ? | 0 saved order | 0 | ? | 0 | ? | 1 Again, deduplicating names proves pointless. ------------- PR: https://git.openjdk.org/panama-foreign/pull/795 From pminborg at openjdk.org Thu Feb 16 09:44:19 2023 From: pminborg at openjdk.org (Per Minborg) Date: Thu, 16 Feb 2023 09:44:19 GMT Subject: [foreign-memaccess+abi] RFR: Deduplicate layouts and simplify value layout implementations [v3] In-Reply-To: References: Message-ID: <2lk42IMNqc1UyvghTNMC-BUJkpyCPiJF4OKK4KRHfYY=.d5e84336-c2fc-482e-a0d5-eb1fb2abe8a8@github.com> > This PR proposes adding deduplication of the immutable value layout where one provides a value that is equal to the one already at hand. For example, `JAVA_INT.withBitAlignment(32)` will return the same object. There is no general caching mechanism that guarantees a layout will never repeat. > > Another part of this PR relates to simplifying value layouts so they only have a single constructor. This will reduce size slightly. Related to this is the replacement of certain magic numbers which are now represented by constants. Per Minborg has updated the pull request incrementally with one additional commit since the last revision: Remove dedup for names and clean up ------------- Changes: - all: https://git.openjdk.org/panama-foreign/pull/795/files - new: https://git.openjdk.org/panama-foreign/pull/795/files/939b0c94..5b6caf2e Webrevs: - full: https://webrevs.openjdk.org/?repo=panama-foreign&pr=795&range=02 - incr: https://webrevs.openjdk.org/?repo=panama-foreign&pr=795&range=01-02 Stats: 13 lines in 2 files changed: 0 ins; 12 del; 1 mod Patch: https://git.openjdk.org/panama-foreign/pull/795.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/795/head:pull/795 PR: https://git.openjdk.org/panama-foreign/pull/795 From pminborg at openjdk.org Thu Feb 16 09:46:50 2023 From: pminborg at openjdk.org (Per Minborg) Date: Thu, 16 Feb 2023 09:46:50 GMT Subject: [foreign-memaccess+abi] RFR: Simplify ValueLayouts In-Reply-To: References: Message-ID: <4VI7HTVypRyoSwlGz0IN-Uk1i2xBKDvwO5wd1padH-M=.8dffc908-d25b-4a9e-a39a-86d06f778fcf@github.com> On Wed, 15 Feb 2023 16:38:13 GMT, Maurizio Cimadamore wrote: > question: instead of using a duplicator object, can't we have a new `dup` overload here with the required arguments, rewire the old `dup` to the new one, and then override as appropriate in all the subclasses? That would still allow you to define `withOrder` in a single place (which, AFAICS appears to be the main simplification?) This is exactly what I am proposing as an alternative in the PR header and perhaps that is easier to read. I will update the proposal accordingly. ------------- PR: https://git.openjdk.org/panama-foreign/pull/798 From pminborg at openjdk.org Thu Feb 16 09:50:51 2023 From: pminborg at openjdk.org (Per Minborg) Date: Thu, 16 Feb 2023 09:50:51 GMT Subject: [foreign-memaccess+abi] RFR: Deduplicate layouts and simplify value layout implementations [v3] In-Reply-To: <2lk42IMNqc1UyvghTNMC-BUJkpyCPiJF4OKK4KRHfYY=.d5e84336-c2fc-482e-a0d5-eb1fb2abe8a8@github.com> References: <2lk42IMNqc1UyvghTNMC-BUJkpyCPiJF4OKK4KRHfYY=.d5e84336-c2fc-482e-a0d5-eb1fb2abe8a8@github.com> Message-ID: On Thu, 16 Feb 2023 09:44:19 GMT, Per Minborg wrote: >> This PR proposes adding deduplication of the immutable value layout where one provides a value that is equal to the one already at hand. For example, `JAVA_INT.withBitAlignment(32)` will return the same object. There is no general caching mechanism that guarantees a layout will never repeat. >> >> Another part of this PR relates to simplifying value layouts so they only have a single constructor. This will reduce size slightly. Related to this is the replacement of certain magic numbers which are now represented by constants. > > Per Minborg has updated the pull request incrementally with one additional commit since the last revision: > > Remove dedup for names and clean up The PR is more aimed at cases where there is something like this: private static final MY_INT = JAVA_INT.withOrder(ByteOrder.LITTLE_ENDIAN); private static final OTHER_INT = JAVA_INT.withBitAlignment(32); I am happy to close this PR if the quorum is this would provide relatively little benefit compared to the added complexity. ------------- PR: https://git.openjdk.org/panama-foreign/pull/795 From mcimadamore at openjdk.org Thu Feb 16 10:03:42 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Thu, 16 Feb 2023 10:03:42 GMT Subject: [foreign-memaccess+abi] RFR: Deduplicate layouts and simplify value layout implementations [v3] In-Reply-To: References: <2lk42IMNqc1UyvghTNMC-BUJkpyCPiJF4OKK4KRHfYY=.d5e84336-c2fc-482e-a0d5-eb1fb2abe8a8@github.com> Message-ID: On Thu, 16 Feb 2023 09:47:36 GMT, Per Minborg wrote: > The PR is more aimed at cases where there is something like this: > > ``` > private static final MY_INT = JAVA_INT.withOrder(ByteOrder.LITTLE_ENDIAN); > private static final OTHER_INT = JAVA_INT.withBitAlignment(32); > ``` > > I am happy to close this PR if the quorum is this would provide relatively little benefit compared to the added complexity. In my experience, the code above is not very idiomatic, so I'd be for closing the PR until some evidence points otherwise. The data you have collected on jextract is interesting (thanks!), in the sense that running the generated bindings has the characteristics I would expect, but it seems like jextract itself (when running) is being a bit wild when it comes to layout creation (which might or might not be an issue, I'd have to look more at the code). ------------- PR: https://git.openjdk.org/panama-foreign/pull/795 From mcimadamore at openjdk.org Thu Feb 16 10:05:45 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Thu, 16 Feb 2023 10:05:45 GMT Subject: [foreign-memaccess+abi] RFR: Simplify ValueLayouts In-Reply-To: <4VI7HTVypRyoSwlGz0IN-Uk1i2xBKDvwO5wd1padH-M=.8dffc908-d25b-4a9e-a39a-86d06f778fcf@github.com> References: <4VI7HTVypRyoSwlGz0IN-Uk1i2xBKDvwO5wd1padH-M=.8dffc908-d25b-4a9e-a39a-86d06f778fcf@github.com> Message-ID: <4j7Ko28rXR0XPqaKNwBg215osO_4cyhAYBVLFvsGYis=.e3202881-be40-4c32-875e-07d7ac7628d5@github.com> On Thu, 16 Feb 2023 09:43:47 GMT, Per Minborg wrote: >> src/java.base/share/classes/jdk/internal/foreign/layout/ValueLayouts.java line 145: >> >>> 143: >>> 144: @Override >>> 145: final V dup(long bitAlignment, Optional name) { >> >> question: instead of using a duplicator object, can't we have a new `dup` overload here with the required arguments, rewire the old `dup` to the new one, and then override as appropriate in all the subclasses? That would still allow you to define `withOrder` in a single place (which, AFAICS appears to be the main simplification?) > >> question: instead of using a duplicator object, can't we have a new `dup` overload here with the required arguments, rewire the old `dup` to the new one, and then override as appropriate in all the subclasses? That would still allow you to define `withOrder` in a single place (which, AFAICS appears to be the main simplification?) > > This is exactly what I am proposing as an alternative in the PR header and perhaps that is easier to read. I will update the proposal accordingly. Sorry - I did miss that comment. ------------- PR: https://git.openjdk.org/panama-foreign/pull/798 From pminborg at openjdk.org Thu Feb 16 10:26:20 2023 From: pminborg at openjdk.org (Per Minborg) Date: Thu, 16 Feb 2023 10:26:20 GMT Subject: [foreign-memaccess+abi] RFR: Simplify ValueLayouts [v2] In-Reply-To: References: Message-ID: > This PR proposes a more shortened and simplified scheme when implementing value layouts. > > This provides a significant reduction of the code size. A new threeary duplicator is introduced. In the solution below, I sugest using a function (`ValueLayoutDuplicator`) which reduces code but arguably makes it a bit more complicated. Another alternative would be to simply mandate a corresponding abstract method and Implement an explicit delegator to the constructor for each type. > > Let me know your thoughts around how to balance this. Per Minborg has updated the pull request incrementally with one additional commit since the last revision: Rework duplicator ------------- Changes: - all: https://git.openjdk.org/panama-foreign/pull/798/files - new: https://git.openjdk.org/panama-foreign/pull/798/files/b66bb688..dc2c8832 Webrevs: - full: https://webrevs.openjdk.org/?repo=panama-foreign&pr=798&range=01 - incr: https://webrevs.openjdk.org/?repo=panama-foreign&pr=798&range=00-01 Stats: 28 lines in 2 files changed: 0 ins; 7 del; 21 mod Patch: https://git.openjdk.org/panama-foreign/pull/798.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/798/head:pull/798 PR: https://git.openjdk.org/panama-foreign/pull/798 From mcimadamore at openjdk.org Thu Feb 16 10:29:46 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Thu, 16 Feb 2023 10:29:46 GMT Subject: [foreign-memaccess+abi] RFR: Simplify ValueLayouts [v2] In-Reply-To: References: Message-ID: On Thu, 16 Feb 2023 10:26:20 GMT, Per Minborg wrote: >> This PR proposes a more shortened and simplified scheme when implementing value layouts. >> >> This provides a significant reduction of the code size. A new threeary duplicator is introduced. In the solution below, I sugest using a function (`ValueLayoutDuplicator`) which reduces code but arguably makes it a bit more complicated. Another alternative would be to simply mandate a corresponding abstract method and Implement an explicit delegator to the constructor for each type. >> >> Let me know your thoughts around how to balance this. > > Per Minborg has updated the pull request incrementally with one additional commit since the last revision: > > Rework duplicator Looks very nice - thanks! ------------- Marked as reviewed by mcimadamore (Committer). PR: https://git.openjdk.org/panama-foreign/pull/798 From pminborg at openjdk.org Thu Feb 16 11:40:49 2023 From: pminborg at openjdk.org (Per Minborg) Date: Thu, 16 Feb 2023 11:40:49 GMT Subject: [foreign-memaccess+abi] Integrated: Simplify ValueLayouts In-Reply-To: References: Message-ID: On Wed, 15 Feb 2023 16:06:21 GMT, Per Minborg wrote: > This PR proposes a more shortened and simplified scheme when implementing value layouts. > > This provides a significant reduction of the code size. A new threeary duplicator is introduced. In the solution below, I sugest using a function (`ValueLayoutDuplicator`) which reduces code but arguably makes it a bit more complicated. Another alternative would be to simply mandate a corresponding abstract method and Implement an explicit delegator to the constructor for each type. > > Let me know your thoughts around how to balance this. This pull request has now been integrated. Changeset: 8dd8ba53 Author: Per Minborg URL: https://git.openjdk.org/panama-foreign/commit/8dd8ba53215c35adfed472d2a89aa6a7bcdfd48d Stats: 145 lines in 2 files changed: 7 ins; 96 del; 42 mod Simplify ValueLayouts Reviewed-by: mcimadamore ------------- PR: https://git.openjdk.org/panama-foreign/pull/798 From pminborg at openjdk.org Thu Feb 16 13:15:34 2023 From: pminborg at openjdk.org (Per Minborg) Date: Thu, 16 Feb 2023 13:15:34 GMT Subject: [foreign-memaccess+abi] RFR: Remove PlatformLayout [v3] In-Reply-To: <9-BwksvMDtgEnPPa5eCKi8WGSzLw2L2WKd2ZIehI930=.904f8890-24aa-4f0f-9f83-b27d217e2adc@github.com> References: <9-BwksvMDtgEnPPa5eCKi8WGSzLw2L2WKd2ZIehI930=.904f8890-24aa-4f0f-9f83-b27d217e2adc@github.com> Message-ID: > This PR suggests removing the class `PlatformLayout`. Per Minborg has updated the pull request incrementally with one additional commit since the last revision: Update copyright years and clean up ------------- Changes: - all: https://git.openjdk.org/panama-foreign/pull/794/files - new: https://git.openjdk.org/panama-foreign/pull/794/files/d9276950..99964974 Webrevs: - full: https://webrevs.openjdk.org/?repo=panama-foreign&pr=794&range=02 - incr: https://webrevs.openjdk.org/?repo=panama-foreign&pr=794&range=01-02 Stats: 10 lines in 9 files changed: 0 ins; 0 del; 10 mod Patch: https://git.openjdk.org/panama-foreign/pull/794.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/794/head:pull/794 PR: https://git.openjdk.org/panama-foreign/pull/794 From pminborg at openjdk.org Thu Feb 16 13:21:21 2023 From: pminborg at openjdk.org (Per Minborg) Date: Thu, 16 Feb 2023 13:21:21 GMT Subject: [foreign-memaccess+abi] RFR: Remove PlatformLayout [v4] In-Reply-To: <9-BwksvMDtgEnPPa5eCKi8WGSzLw2L2WKd2ZIehI930=.904f8890-24aa-4f0f-9f83-b27d217e2adc@github.com> References: <9-BwksvMDtgEnPPa5eCKi8WGSzLw2L2WKd2ZIehI930=.904f8890-24aa-4f0f-9f83-b27d217e2adc@github.com> Message-ID: > This PR suggests removing the class `PlatformLayout`. Per Minborg has updated the pull request incrementally with one additional commit since the last revision: Fix failing test ------------- Changes: - all: https://git.openjdk.org/panama-foreign/pull/794/files - new: https://git.openjdk.org/panama-foreign/pull/794/files/99964974..695e07d6 Webrevs: - full: https://webrevs.openjdk.org/?repo=panama-foreign&pr=794&range=03 - incr: https://webrevs.openjdk.org/?repo=panama-foreign&pr=794&range=02-03 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.org/panama-foreign/pull/794.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/794/head:pull/794 PR: https://git.openjdk.org/panama-foreign/pull/794 From pminborg at openjdk.org Thu Feb 16 13:30:47 2023 From: pminborg at openjdk.org (Per Minborg) Date: Thu, 16 Feb 2023 13:30:47 GMT Subject: [foreign-memaccess+abi] RFR: Deduplicate layouts and simplify value layout implementations [v3] In-Reply-To: <2lk42IMNqc1UyvghTNMC-BUJkpyCPiJF4OKK4KRHfYY=.d5e84336-c2fc-482e-a0d5-eb1fb2abe8a8@github.com> References: <2lk42IMNqc1UyvghTNMC-BUJkpyCPiJF4OKK4KRHfYY=.d5e84336-c2fc-482e-a0d5-eb1fb2abe8a8@github.com> Message-ID: On Thu, 16 Feb 2023 09:44:19 GMT, Per Minborg wrote: >> This PR proposes adding deduplication of the immutable value layout where one provides a value that is equal to the one already at hand. For example, `JAVA_INT.withBitAlignment(32)` will return the same object. There is no general caching mechanism that guarantees a layout will never repeat. >> >> Another part of this PR relates to simplifying value layouts so they only have a single constructor. This will reduce size slightly. Related to this is the replacement of certain magic numbers which are now represented by constants. > > Per Minborg has updated the pull request incrementally with one additional commit since the last revision: > > Remove dedup for names and clean up I am closing this PR now. We could always come back if duplicate instances becomes a problem. Thanks for the feedback on this PR. ------------- PR: https://git.openjdk.org/panama-foreign/pull/795 From pminborg at openjdk.org Thu Feb 16 13:30:48 2023 From: pminborg at openjdk.org (Per Minborg) Date: Thu, 16 Feb 2023 13:30:48 GMT Subject: [foreign-memaccess+abi] Withdrawn: Deduplicate layouts and simplify value layout implementations In-Reply-To: References: Message-ID: <67FaEdYAiRo9bNOyJpoMMcpFGf0DZP4qNtWDkNLwkH0=.68999676-826a-4e8b-b56f-6e2cc459786f@github.com> On Wed, 15 Feb 2023 09:08:55 GMT, Per Minborg wrote: > This PR proposes adding deduplication of the immutable value layout where one provides a value that is equal to the one already at hand. For example, `JAVA_INT.withBitAlignment(32)` will return the same object. There is no general caching mechanism that guarantees a layout will never repeat. > > Another part of this PR relates to simplifying value layouts so they only have a single constructor. This will reduce size slightly. Related to this is the replacement of certain magic numbers which are now represented by constants. This pull request has been closed without being integrated. ------------- PR: https://git.openjdk.org/panama-foreign/pull/795 From pminborg at openjdk.org Thu Feb 16 13:59:21 2023 From: pminborg at openjdk.org (Per Minborg) Date: Thu, 16 Feb 2023 13:59:21 GMT Subject: [foreign-memaccess+abi] RFR: Simplify code now that bitSize is always aligned to byte boundaries [v2] In-Reply-To: <_ku7-yAtINxtY1eLUoZbhQP4jr-_-cfozS5i4-Tbsqs=.062a5727-139f-4ede-a180-dd2bc2d5f19a@github.com> References: <_ku7-yAtINxtY1eLUoZbhQP4jr-_-cfozS5i4-Tbsqs=.062a5727-139f-4ede-a180-dd2bc2d5f19a@github.com> Message-ID: > This PR suggests some simplifications now that layouts are always aligned to byte boundaries. > > The PR also contains some other simplifications/cleanups. Per Minborg has updated the pull request incrementally with one additional commit since the last revision: Update after comments ------------- Changes: - all: https://git.openjdk.org/panama-foreign/pull/796/files - new: https://git.openjdk.org/panama-foreign/pull/796/files/7f29ba43..560fdf7d Webrevs: - full: https://webrevs.openjdk.org/?repo=panama-foreign&pr=796&range=01 - incr: https://webrevs.openjdk.org/?repo=panama-foreign&pr=796&range=00-01 Stats: 5 lines in 3 files changed: 0 ins; 0 del; 5 mod Patch: https://git.openjdk.org/panama-foreign/pull/796.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/796/head:pull/796 PR: https://git.openjdk.org/panama-foreign/pull/796 From mcimadamore at openjdk.org Thu Feb 16 14:46:49 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Thu, 16 Feb 2023 14:46:49 GMT Subject: [foreign-memaccess+abi] RFR: Remove PlatformLayout [v4] In-Reply-To: References: <9-BwksvMDtgEnPPa5eCKi8WGSzLw2L2WKd2ZIehI930=.904f8890-24aa-4f0f-9f83-b27d217e2adc@github.com> Message-ID: On Thu, 16 Feb 2023 13:21:21 GMT, Per Minborg wrote: >> This PR suggests removing the class `PlatformLayout`. > > Per Minborg has updated the pull request incrementally with one additional commit since the last revision: > > Fix failing test test/jdk/java/foreign/callarranger/platform/PlatformLayouts.java line 87: > 85: * The {@code T*} native type. > 86: */ > 87: public static final ValueLayout.OfAddress C_POINTER = cPointer(C_CHAR); Can you use SharedUtils.C_POINTER here? It's the same thing. ------------- PR: https://git.openjdk.org/panama-foreign/pull/794 From mcimadamore at openjdk.org Thu Feb 16 14:47:51 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Thu, 16 Feb 2023 14:47:51 GMT Subject: [foreign-memaccess+abi] RFR: Simplify code now that bitSize is always aligned to byte boundaries [v2] In-Reply-To: References: <_ku7-yAtINxtY1eLUoZbhQP4jr-_-cfozS5i4-Tbsqs=.062a5727-139f-4ede-a180-dd2bc2d5f19a@github.com> Message-ID: On Thu, 16 Feb 2023 13:59:21 GMT, Per Minborg wrote: >> This PR suggests some simplifications now that layouts are always aligned to byte boundaries. >> >> The PR also contains some other simplifications/cleanups. > > Per Minborg has updated the pull request incrementally with one additional commit since the last revision: > > Update after comments Marked as reviewed by mcimadamore (Committer). ------------- PR: https://git.openjdk.org/panama-foreign/pull/796 From pminborg at openjdk.org Thu Feb 16 14:47:53 2023 From: pminborg at openjdk.org (Per Minborg) Date: Thu, 16 Feb 2023 14:47:53 GMT Subject: [foreign-memaccess+abi] Integrated: Simplify code now that bitSize is always aligned to byte boundaries In-Reply-To: <_ku7-yAtINxtY1eLUoZbhQP4jr-_-cfozS5i4-Tbsqs=.062a5727-139f-4ede-a180-dd2bc2d5f19a@github.com> References: <_ku7-yAtINxtY1eLUoZbhQP4jr-_-cfozS5i4-Tbsqs=.062a5727-139f-4ede-a180-dd2bc2d5f19a@github.com> Message-ID: On Wed, 15 Feb 2023 12:54:37 GMT, Per Minborg wrote: > This PR suggests some simplifications now that layouts are always aligned to byte boundaries. > > The PR also contains some other simplifications/cleanups. This pull request has now been integrated. Changeset: 2c378000 Author: Per Minborg URL: https://git.openjdk.org/panama-foreign/commit/2c378000405d65345bb799bccdc1facc06b63f8d Stats: 64 lines in 7 files changed: 9 ins; 20 del; 35 mod Simplify code now that bitSize is always aligned to byte boundaries Reviewed-by: mcimadamore ------------- PR: https://git.openjdk.org/panama-foreign/pull/796 From pminborg at openjdk.org Thu Feb 16 14:56:34 2023 From: pminborg at openjdk.org (Per Minborg) Date: Thu, 16 Feb 2023 14:56:34 GMT Subject: [foreign-memaccess+abi] RFR: Remove PlatformLayout [v5] In-Reply-To: <9-BwksvMDtgEnPPa5eCKi8WGSzLw2L2WKd2ZIehI930=.904f8890-24aa-4f0f-9f83-b27d217e2adc@github.com> References: <9-BwksvMDtgEnPPa5eCKi8WGSzLw2L2WKd2ZIehI930=.904f8890-24aa-4f0f-9f83-b27d217e2adc@github.com> Message-ID: > This PR suggests removing the class `PlatformLayout`. Per Minborg has updated the pull request incrementally with one additional commit since the last revision: Reuse existing C_POINTER ------------- Changes: - all: https://git.openjdk.org/panama-foreign/pull/794/files - new: https://git.openjdk.org/panama-foreign/pull/794/files/695e07d6..1efba50b Webrevs: - full: https://webrevs.openjdk.org/?repo=panama-foreign&pr=794&range=04 - incr: https://webrevs.openjdk.org/?repo=panama-foreign&pr=794&range=03-04 Stats: 12 lines in 1 file changed: 2 ins; 6 del; 4 mod Patch: https://git.openjdk.org/panama-foreign/pull/794.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/794/head:pull/794 PR: https://git.openjdk.org/panama-foreign/pull/794 From mcimadamore at openjdk.org Thu Feb 16 15:17:51 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Thu, 16 Feb 2023 15:17:51 GMT Subject: [foreign-memaccess+abi] RFR: Remove PlatformLayout [v5] In-Reply-To: References: <9-BwksvMDtgEnPPa5eCKi8WGSzLw2L2WKd2ZIehI930=.904f8890-24aa-4f0f-9f83-b27d217e2adc@github.com> Message-ID: <1sSba8G-ii2QUMtUr3YOVFnD9x9leGDVUWrJw1HQR8g=.23584f65-1500-463e-94e1-310b65b25fc3@github.com> On Thu, 16 Feb 2023 14:56:34 GMT, Per Minborg wrote: >> This PR suggests removing the class `PlatformLayout`. > > Per Minborg has updated the pull request incrementally with one additional commit since the last revision: > > Reuse existing C_POINTER Marked as reviewed by mcimadamore (Committer). ------------- PR: https://git.openjdk.org/panama-foreign/pull/794 From jvernee at openjdk.org Thu Feb 16 15:43:51 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Thu, 16 Feb 2023 15:43:51 GMT Subject: [foreign-memaccess+abi] RFR: Remove PlatformLayout [v5] In-Reply-To: References: <9-BwksvMDtgEnPPa5eCKi8WGSzLw2L2WKd2ZIehI930=.904f8890-24aa-4f0f-9f83-b27d217e2adc@github.com> Message-ID: On Thu, 16 Feb 2023 14:56:34 GMT, Per Minborg wrote: >> This PR suggests removing the class `PlatformLayout`. > > Per Minborg has updated the pull request incrementally with one additional commit since the last revision: > > Reuse existing C_POINTER Marked as reviewed by jvernee (Committer). ------------- PR: https://git.openjdk.org/panama-foreign/pull/794 From mcimadamore at openjdk.org Thu Feb 16 16:03:51 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Thu, 16 Feb 2023 16:03:51 GMT Subject: [foreign-memaccess+abi] RFR: Remove PlatformLayout [v5] In-Reply-To: References: <9-BwksvMDtgEnPPa5eCKi8WGSzLw2L2WKd2ZIehI930=.904f8890-24aa-4f0f-9f83-b27d217e2adc@github.com> Message-ID: <_AOCxfZDGX7uM2AaHiTQCe3F3oMxzmACVlbbqUPr6oU=.b5518e7d-1764-4f19-81a8-d6542c7f68f2@github.com> On Thu, 16 Feb 2023 14:56:34 GMT, Per Minborg wrote: >> This PR suggests removing the class `PlatformLayout`. > > Per Minborg has updated the pull request incrementally with one additional commit since the last revision: > > Reuse existing C_POINTER Btw, why is this PR called "Remove PlatformLayout" given that it does not remove it? ------------- PR: https://git.openjdk.org/panama-foreign/pull/794 From pminborg at openjdk.org Thu Feb 16 16:03:54 2023 From: pminborg at openjdk.org (Per Minborg) Date: Thu, 16 Feb 2023 16:03:54 GMT Subject: [foreign-memaccess+abi] Integrated: Remove PlatformLayout In-Reply-To: <9-BwksvMDtgEnPPa5eCKi8WGSzLw2L2WKd2ZIehI930=.904f8890-24aa-4f0f-9f83-b27d217e2adc@github.com> References: <9-BwksvMDtgEnPPa5eCKi8WGSzLw2L2WKd2ZIehI930=.904f8890-24aa-4f0f-9f83-b27d217e2adc@github.com> Message-ID: <123-o6bPpUbcSQrzCnXEkNGPMpP4n1h1ngqN7OC0HvM=.d124b2a2-ad3d-462e-9720-9ddbf25b3116@github.com> On Tue, 14 Feb 2023 17:14:52 GMT, Per Minborg wrote: > This PR suggests removing the class `PlatformLayout`. This pull request has now been integrated. Changeset: 0a6c3c60 Author: Per Minborg URL: https://git.openjdk.org/panama-foreign/commit/0a6c3c60bcb7cd37d801099c8b00b86f8b8b144f Stats: 579 lines in 14 files changed: 277 ins; 286 del; 16 mod Remove PlatformLayout Reviewed-by: mcimadamore, jvernee ------------- PR: https://git.openjdk.org/panama-foreign/pull/794 From mcimadamore at openjdk.org Thu Feb 16 17:03:53 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Thu, 16 Feb 2023 17:03:53 GMT Subject: [foreign-memaccess+abi] Integrated: 8302556: Find better way to create unsafe native segments In-Reply-To: References: Message-ID: On Wed, 15 Feb 2023 15:10:42 GMT, Maurizio Cimadamore wrote: > Consider the following code, which is quite common when trying to retroactively secure memory segments originating in native code: > > > MemorySegment malloc(long size, Arena arena) { > MemorySegment raw = .invokeExact(size); > return MemorySegment.ofAddress(raw.address(), size, arena, () -> StdLib.free(raw)); > } > > > There are few issues with this code: > > * Clients need a throwaway local variable (`raw`) where to store the raw segment returned from the linker API; > * to create a new segment with `MemorySegment::ofAddress`, one has to retrieve the address from the old segment and pass it to the factory (see call to `raw.address()`); > * the cleanup action has to carefully refer to the `raw` segment - that's because the new segment will be invalidated when the arena is closed, so only `raw` is guaranteed to still be alive at that point. > > This patch introduces an API change to cope with the issues above. More specifically, this patch introduces a new *instance* method, namely `MemorySegment::reinterpret` which can be used to customize an existing native segment by giving it a new size and scope. `MemorySegment::ofAddress` is still there, but this patch removes all the overloads: effectively now `ofAddress` is only used to turn a `long` into a (zero-length) native memory segment. > > With the changes in this patch the above code becomes: > > > MemorySegment malloc(long size, Arena arena) { > return .invokeExact(size); > .reinterpret(size, arena.scope(), StdLib::free); > } > > > Not only the new code is more "fluent" than the old one (no extra local variable declaration required), but the story for attaching custom cleanup action has been improved significantly: instead of just taking a `Runnable` the new API takes a `Consumer` which is passed a _fresh_ zero-length memory segment whose scope is always alive (in other words, an _alias_ of the memory segment to be cleaned up). This seems acceptable for a restricted method that is meant to be used in very specific situations, and leads to much cleaner code. > > There are several overloads for `reinterpret`, to reset size, scope and both size *and* scope. Note that, since `reinterpret` accepts a scope (and not just an `Arena`), it is possible to use this method to rescue the co-allocation use case (albeit at a lower level) - that is, when reading a pointer from another memory segment, a client could set the scope on the read segment to be the same as that of the containing segment. This pull request has now been integrated. Changeset: 01dc5a92 Author: Maurizio Cimadamore URL: https://git.openjdk.org/panama-foreign/commit/01dc5a9203323371f4c8e87f13e513eca6ab5477 Stats: 432 lines in 30 files changed: 148 ins; 171 del; 113 mod 8302556: Find better way to create unsafe native segments Reviewed-by: jvernee ------------- PR: https://git.openjdk.org/panama-foreign/pull/797 From pminborg at openjdk.org Fri Feb 17 08:32:35 2023 From: pminborg at openjdk.org (Per Minborg) Date: Fri, 17 Feb 2023 08:32:35 GMT Subject: [foreign-memaccess+abi] RFR: Fix failing test Message-ID: This PR fixes a failing test. ------------- Commit messages: - Fix failing test Changes: https://git.openjdk.org/panama-foreign/pull/799/files Webrev: https://webrevs.openjdk.org/?repo=panama-foreign&pr=799&range=00 Stats: 2 lines in 2 files changed: 0 ins; 1 del; 1 mod Patch: https://git.openjdk.org/panama-foreign/pull/799.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/799/head:pull/799 PR: https://git.openjdk.org/panama-foreign/pull/799 From duke at openjdk.org Fri Feb 17 09:47:24 2023 From: duke at openjdk.org (Swati Sharma) Date: Fri, 17 Feb 2023 09:47:24 GMT Subject: [vectorIntrinsics+fp16] RFR: 8302454: Improve VectorAPI fallback implementation for FP16 operations. In-Reply-To: References: Message-ID: On Thu, 16 Feb 2023 05:03:53 GMT, Swati Sharma wrote: > Hi All, > > The patch contains the below changes: > - Remove redundant Halffloat object creation and rebase existing implementation using Float.float16ToFloat and floatToFloat16 APIs. > - Enable all the vector API tests for FP16 operations. > > Please review and provide your feedback. > > Thanks, > Swati add contributor @jatin-bhateja ------------- PR: https://git.openjdk.org/panama-vector/pull/211 From mcimadamore at openjdk.org Fri Feb 17 10:36:55 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Fri, 17 Feb 2023 10:36:55 GMT Subject: [foreign-memaccess+abi] RFR: Fix failing test In-Reply-To: References: Message-ID: On Fri, 17 Feb 2023 08:25:11 GMT, Per Minborg wrote: > This PR fixes a failing test. test/jdk/java/foreign/callarranger/TestLayoutEquality.java line 29: > 27: * @enablePreview > 28: * @compile platform/PlatformLayouts.java > 29: * @modules java.base/jdk.internal.foreign java.base/jdk.internal.foreign.abi Is the first module export still required? Seems to me that only `foreign.abi` is needed (looking at the imports) ------------- PR: https://git.openjdk.org/panama-foreign/pull/799 From mcimadamore at openjdk.org Fri Feb 17 10:36:56 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Fri, 17 Feb 2023 10:36:56 GMT Subject: [foreign-memaccess+abi] RFR: Fix failing test In-Reply-To: References: Message-ID: On Fri, 17 Feb 2023 10:29:03 GMT, Maurizio Cimadamore wrote: >> This PR fixes a failing test. > > test/jdk/java/foreign/callarranger/TestLayoutEquality.java line 29: > >> 27: * @enablePreview >> 28: * @compile platform/PlatformLayouts.java >> 29: * @modules java.base/jdk.internal.foreign java.base/jdk.internal.foreign.abi > > Is the first module export still required? Seems to me that only `foreign.abi` is needed (looking at the imports) Also, please check the import - I see this in the file: import platform.PlatformLayouts; This doesn't see to make sense? ------------- PR: https://git.openjdk.org/panama-foreign/pull/799 From mcimadamore at openjdk.org Fri Feb 17 10:36:57 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Fri, 17 Feb 2023 10:36:57 GMT Subject: [foreign-memaccess+abi] RFR: Fix failing test In-Reply-To: References: Message-ID: On Fri, 17 Feb 2023 10:30:30 GMT, Maurizio Cimadamore wrote: >> test/jdk/java/foreign/callarranger/TestLayoutEquality.java line 29: >> >>> 27: * @enablePreview >>> 28: * @compile platform/PlatformLayouts.java >>> 29: * @modules java.base/jdk.internal.foreign java.base/jdk.internal.foreign.abi >> >> Is the first module export still required? Seems to me that only `foreign.abi` is needed (looking at the imports) > > Also, please check the import - I see this in the file: > > > import platform.PlatformLayouts; > > > This doesn't see to make sense? Ah - nvm, I missed that file has been moved to a test-private package. ------------- PR: https://git.openjdk.org/panama-foreign/pull/799 From duke at openjdk.org Fri Feb 17 11:08:04 2023 From: duke at openjdk.org (duke) Date: Fri, 17 Feb 2023 11:08:04 GMT Subject: git: openjdk/panama-foreign: foreign-memaccess+abi: 98 new changesets Message-ID: <17cd8ac2-7ae6-4fe3-b71e-a2ce3c4fede0@openjdk.org> Changeset: 5830c03e Author: Matthijs Bijman Committer: Paul Hohensee Date: 2023-02-10 13:38:42 +0000 URL: https://git.openjdk.org/panama-foreign/commit/5830c03e531f2c84c31a61cd49c40bb5e549a91d 8302004: InlineTree should consult replay file in release build Reviewed-by: phh, xliu ! src/hotspot/share/opto/bytecodeInfo.cpp ! src/hotspot/share/opto/parse.hpp Changeset: c25b4f46 Author: Per Minborg Date: 2023-02-10 13:46:46 +0000 URL: https://git.openjdk.org/panama-foreign/commit/c25b4f461968503888124c6fd5cd6e788617ec3f 8301578: Perform output outside synchronization in Module.class Reviewed-by: alanb ! src/java.base/share/classes/java/lang/Module.java Changeset: 1428db79 Author: Johan Sj?len Date: 2023-02-10 14:01:30 +0000 URL: https://git.openjdk.org/panama-foreign/commit/1428db798c8b983c23b31001ce2964f174139fea 8301224: Replace NULL with nullptr in share/gc/shared/ Reviewed-by: stefank, kbarrett ! src/hotspot/share/gc/shared/adaptiveSizePolicy.cpp ! src/hotspot/share/gc/shared/barrierSet.cpp ! src/hotspot/share/gc/shared/barrierSet.hpp ! src/hotspot/share/gc/shared/barrierSet.inline.hpp ! src/hotspot/share/gc/shared/barrierSetNMethod.cpp ! src/hotspot/share/gc/shared/bufferNodeList.cpp ! src/hotspot/share/gc/shared/bufferNodeList.hpp ! src/hotspot/share/gc/shared/c1/barrierSetC1.cpp ! src/hotspot/share/gc/shared/c1/barrierSetC1.hpp ! src/hotspot/share/gc/shared/c1/modRefBarrierSetC1.cpp ! src/hotspot/share/gc/shared/c2/barrierSetC2.cpp ! src/hotspot/share/gc/shared/c2/barrierSetC2.hpp ! src/hotspot/share/gc/shared/c2/cardTableBarrierSetC2.cpp ! src/hotspot/share/gc/shared/c2/modRefBarrierSetC2.cpp ! src/hotspot/share/gc/shared/cardTable.cpp ! src/hotspot/share/gc/shared/cardTable.hpp ! src/hotspot/share/gc/shared/cardTableRS.cpp ! src/hotspot/share/gc/shared/collectedHeap.cpp ! src/hotspot/share/gc/shared/collectedHeap.hpp ! src/hotspot/share/gc/shared/concurrentGCBreakpoints.cpp ! src/hotspot/share/gc/shared/freeListAllocator.hpp ! src/hotspot/share/gc/shared/gcBehaviours.cpp ! src/hotspot/share/gc/shared/gcConfig.cpp ! src/hotspot/share/gc/shared/gcHeapSummary.hpp ! src/hotspot/share/gc/shared/gcId.cpp ! src/hotspot/share/gc/shared/gcLogPrecious.cpp ! src/hotspot/share/gc/shared/gcName.hpp ! src/hotspot/share/gc/shared/gcTimer.cpp ! src/hotspot/share/gc/shared/gcTrace.cpp ! src/hotspot/share/gc/shared/gcTrace.hpp ! src/hotspot/share/gc/shared/gcTraceTime.hpp ! src/hotspot/share/gc/shared/gcTraceTime.inline.hpp ! src/hotspot/share/gc/shared/gcVMOperations.cpp ! src/hotspot/share/gc/shared/gcVMOperations.hpp ! src/hotspot/share/gc/shared/gcWhen.hpp ! src/hotspot/share/gc/shared/genCollectedHeap.cpp ! src/hotspot/share/gc/shared/genOopClosures.hpp ! src/hotspot/share/gc/shared/genOopClosures.inline.hpp ! src/hotspot/share/gc/shared/generation.cpp ! src/hotspot/share/gc/shared/generation.hpp ! src/hotspot/share/gc/shared/generationCounters.cpp ! src/hotspot/share/gc/shared/generationCounters.hpp ! src/hotspot/share/gc/shared/generationSpec.cpp ! src/hotspot/share/gc/shared/locationPrinter.inline.hpp ! src/hotspot/share/gc/shared/markBitMap.hpp ! src/hotspot/share/gc/shared/markBitMap.inline.hpp ! src/hotspot/share/gc/shared/memAllocator.cpp ! src/hotspot/share/gc/shared/modRefBarrierSet.hpp ! src/hotspot/share/gc/shared/modRefBarrierSet.inline.hpp ! src/hotspot/share/gc/shared/oopStorage.cpp ! src/hotspot/share/gc/shared/oopStorage.hpp ! src/hotspot/share/gc/shared/oopStorage.inline.hpp ! src/hotspot/share/gc/shared/oopStorageParState.hpp ! src/hotspot/share/gc/shared/oopStorageSet.cpp ! src/hotspot/share/gc/shared/oopStorageSetParState.inline.hpp ! src/hotspot/share/gc/shared/parallelCleaning.cpp ! src/hotspot/share/gc/shared/plab.cpp ! src/hotspot/share/gc/shared/plab.hpp ! src/hotspot/share/gc/shared/preservedMarks.hpp ! src/hotspot/share/gc/shared/pretouchTask.cpp ! src/hotspot/share/gc/shared/ptrQueue.cpp ! src/hotspot/share/gc/shared/ptrQueue.hpp ! src/hotspot/share/gc/shared/referenceProcessor.cpp ! src/hotspot/share/gc/shared/referenceProcessor.hpp ! src/hotspot/share/gc/shared/referenceProcessor.inline.hpp ! src/hotspot/share/gc/shared/referenceProcessorPhaseTimes.cpp ! src/hotspot/share/gc/shared/satbMarkQueue.cpp ! src/hotspot/share/gc/shared/satbMarkQueue.hpp ! src/hotspot/share/gc/shared/scavengableNMethods.cpp ! src/hotspot/share/gc/shared/softRefGenPolicy.cpp ! src/hotspot/share/gc/shared/space.cpp ! src/hotspot/share/gc/shared/space.hpp ! src/hotspot/share/gc/shared/space.inline.hpp ! src/hotspot/share/gc/shared/spaceDecorator.hpp ! src/hotspot/share/gc/shared/suspendibleThreadSet.cpp ! src/hotspot/share/gc/shared/taskTerminator.cpp ! src/hotspot/share/gc/shared/taskTerminator.hpp ! src/hotspot/share/gc/shared/taskqueue.cpp ! src/hotspot/share/gc/shared/taskqueue.hpp ! src/hotspot/share/gc/shared/taskqueue.inline.hpp ! src/hotspot/share/gc/shared/threadLocalAllocBuffer.cpp ! src/hotspot/share/gc/shared/threadLocalAllocBuffer.hpp ! src/hotspot/share/gc/shared/threadLocalAllocBuffer.inline.hpp ! src/hotspot/share/gc/shared/weakProcessor.inline.hpp ! src/hotspot/share/gc/shared/weakProcessorTimes.cpp ! src/hotspot/share/gc/shared/weakProcessorTimes.hpp ! src/hotspot/share/gc/shared/workerDataArray.inline.hpp ! src/hotspot/share/gc/shared/workerThread.cpp ! src/hotspot/share/gc/shared/workerUtils.cpp Changeset: 4539899c Author: Johan Sj?len Date: 2023-02-10 14:02:20 +0000 URL: https://git.openjdk.org/panama-foreign/commit/4539899c55c77771b951d005c17550ef9ac94819 8301480: Replace NULL with nullptr in os/posix Reviewed-by: coleenp, dholmes ! src/hotspot/os/posix/gc/z/zUtils_posix.cpp ! src/hotspot/os/posix/os_posix.cpp ! src/hotspot/os/posix/os_posix.hpp ! src/hotspot/os/posix/perfMemory_posix.cpp ! src/hotspot/os/posix/safefetch_sigjmp.cpp ! src/hotspot/os/posix/safefetch_static_posix.cpp ! src/hotspot/os/posix/signals_posix.cpp ! src/hotspot/os/posix/threadCrashProtection_posix.cpp ! src/hotspot/os/posix/threadCrashProtection_posix.hpp ! src/hotspot/os/posix/threadLocalStorage_posix.cpp ! src/hotspot/os/posix/vmError_posix.cpp Changeset: 582b9434 Author: Coleen Phillimore Date: 2023-02-10 18:00:19 +0000 URL: https://git.openjdk.org/panama-foreign/commit/582b943439488a0f43482b67c0bc0d4975bf4023 8278965: crash in SymbolTable::do_lookup Reviewed-by: dholmes, fparain, iklam ! src/hotspot/share/classfile/placeholders.hpp ! src/hotspot/share/classfile/systemDictionary.cpp + test/hotspot/gtest/classfile/test_placeholders.cpp Changeset: db1b48ef Author: Roman Kennke Date: 2023-02-10 18:12:43 +0000 URL: https://git.openjdk.org/panama-foreign/commit/db1b48ef3bb4f8f0fbb6879200c0655b7fe006eb 8302167: Avoid allocating register in fast_lock() Reviewed-by: kvn, kdnilsen ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp ! src/hotspot/cpu/x86/x86_64.ad Changeset: 880f52fd Author: Chris Plummer Date: 2023-02-10 19:29:34 +0000 URL: https://git.openjdk.org/panama-foreign/commit/880f52fda0335283b0fdd932030051d653779e7d 8301638: A number of nsk/jdi invokemethod tests should be converted to create virtual threads Reviewed-by: lmesnik, amenkov, sspitsyn ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ClassType/invokeMethod/invokemethod012t.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/invokeMethod/invokemethod010t.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/invokeMethod/invokemethod011t.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/invokeMethod/invokemethod012t.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/invokeMethod/invokemethod013t.java Changeset: 57798dd4 Author: Brian Burkhalter Date: 2023-02-10 19:43:30 +0000 URL: https://git.openjdk.org/panama-foreign/commit/57798dd4394cea14ac64fc839b81e9e5bae0a80e 6595142: (spec) ByteArrayInputStream treats bytes, not characters Reviewed-by: alanb ! src/java.base/share/classes/java/io/BufferedInputStream.java ! src/java.base/share/classes/java/io/ByteArrayInputStream.java ! src/java.base/share/classes/java/io/SequenceInputStream.java Changeset: 84e47996 Author: Brian Burkhalter Date: 2023-02-10 19:44:00 +0000 URL: https://git.openjdk.org/panama-foreign/commit/84e47996e88cf640e5e9d5ab4be8a640c67afbf5 8297292: java/nio/channels/FileChannel/FileExtensionAndMap.java is too slow Reviewed-by: jpai ! test/jdk/ProblemList.txt - test/jdk/java/nio/channels/FileChannel/FileExtensionAndMap.java Changeset: 98e98e90 Author: Jim Laskey Date: 2023-02-11 00:24:24 +0000 URL: https://git.openjdk.org/panama-foreign/commit/98e98e9049be3a93ddf82d5d4d3044e0f1e4a640 8296322: javac: use methods to manage parser mode flags Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java Changeset: 919a6da2 Author: Joe Darcy Date: 2023-02-11 02:15:46 +0000 URL: https://git.openjdk.org/panama-foreign/commit/919a6da2a74d0a57e691a9815c35a16fc7645784 8301202: Port fdlibm log to Java Reviewed-by: bpb ! src/java.base/share/classes/java/lang/FdLibm.java ! src/java.base/share/classes/java/lang/StrictMath.java + test/jdk/java/lang/Math/LogTests.java ! test/jdk/java/lang/StrictMath/FdlibmTranslit.java + test/jdk/java/lang/StrictMath/LogTests.java Changeset: 74b167b2 Author: Alan Bateman Date: 2023-02-11 06:20:45 +0000 URL: https://git.openjdk.org/panama-foreign/commit/74b167b23d1eb4b6685e03caaf2e1567525b9800 8301819: Enable continuations code by default Reviewed-by: kvn, dholmes, dcubed ! src/hotspot/share/runtime/continuation.cpp ! src/hotspot/share/runtime/continuation.hpp Changeset: 1ef9f650 Author: Doug Simon Date: 2023-02-11 15:38:59 +0000 URL: https://git.openjdk.org/panama-foreign/commit/1ef9f6507ba45419f0fa896915eec064762c5153 8302172: [JVMCI] HotSpotResolvedJavaMethodImpl.canBeInlined must respect ForceInline Reviewed-by: dlong ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl.java Changeset: 6f9f2b5d Author: sunguoyun Committer: Roger Riggs Date: 2023-02-11 16:53:59 +0000 URL: https://git.openjdk.org/panama-foreign/commit/6f9f2b5d379315b6452718ccd7c5c953a6eff5d4 8301737: java/rmi/server/UnicastRemoteObject/serialFilter/FilterUROTest.java fail with -Xcomp Reviewed-by: rriggs ! test/jdk/java/rmi/server/UnicastRemoteObject/serialFilter/FilterUROTest.java Changeset: 6a44120a Author: Joe Wang Date: 2023-02-11 22:33:13 +0000 URL: https://git.openjdk.org/panama-foreign/commit/6a44120a16d0f06b4ed9f0ebf6b0919da7070287 8301269: Update Commons BCEL to Version 6.7.0 Reviewed-by: lancea ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/Const.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/ExceptionConst.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/Repository.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/AccessFlags.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/AnnotationDefault.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/AnnotationElementValue.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/AnnotationEntry.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Annotations.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ArrayElementValue.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Attribute.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/AttributeReader.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/BootstrapMethod.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/BootstrapMethods.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ClassElementValue.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ClassFormatException.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ClassParser.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Code.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/CodeException.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Constant.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantCP.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantClass.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantDouble.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantDynamic.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantFieldref.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantFloat.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantInteger.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantInterfaceMethodref.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantInvokeDynamic.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantLong.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantMethodHandle.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantMethodType.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantMethodref.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantModule.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantNameAndType.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantObject.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantPackage.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantPool.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantString.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantUtf8.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantValue.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Deprecated.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/DescendingVisitor.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ElementValue.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ElementValuePair.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/EmptyVisitor.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/EnclosingMethod.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/EnumElementValue.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ExceptionTable.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Field.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/FieldOrMethod.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/InnerClass.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/InnerClasses.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/JavaClass.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/LineNumber.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/LineNumberTable.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/LocalVariable.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/LocalVariableTable.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/LocalVariableTypeTable.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Method.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/MethodParameter.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/MethodParameters.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Module.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ModuleExports.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ModuleMainClass.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ModuleOpens.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ModulePackages.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ModuleProvides.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ModuleRequires.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/NestHost.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/NestMembers.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Node.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/PMGClass.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ParameterAnnotationEntry.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ParameterAnnotations.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/RuntimeInvisibleAnnotations.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/RuntimeInvisibleParameterAnnotations.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/RuntimeVisibleAnnotations.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/RuntimeVisibleParameterAnnotations.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Signature.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/SimpleElementValue.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/SourceFile.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/StackMap.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/StackMapEntry.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/StackMapType.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Synthetic.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Unknown.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/UnknownAttributeReader.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Utility.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Visitor.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/AALOAD.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/AASTORE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ACONST_NULL.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ALOAD.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ANEWARRAY.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ARETURN.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ARRAYLENGTH.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ASTORE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ATHROW.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/AllocationInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/AnnotationElementValueGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/AnnotationEntryGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ArithmeticInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ArrayElementValueGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ArrayInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ArrayType.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/BALOAD.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/BASTORE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/BIPUSH.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/BREAKPOINT.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/BasicType.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/BranchHandle.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/BranchInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/CALOAD.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/CASTORE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/CHECKCAST.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/CPInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ClassElementValueGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ClassGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ClassGenException.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ClassObserver.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/CodeExceptionGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/CompoundInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ConstantPoolGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ConstantPushInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ConversionInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/D2F.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/D2I.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/D2L.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DADD.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DALOAD.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DASTORE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DCMPG.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DCMPL.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DCONST.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DDIV.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DLOAD.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DMUL.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DNEG.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DREM.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DRETURN.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DSTORE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DSUB.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DUP.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DUP2.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DUP2_X1.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DUP2_X2.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DUP_X1.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DUP_X2.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ElementValueGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ElementValuePairGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/EmptyVisitor.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/EnumElementValueGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ExceptionThrower.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/F2D.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/F2I.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/F2L.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FADD.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FALOAD.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FASTORE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FCMPG.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FCMPL.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FCONST.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FDIV.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FLOAD.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FMUL.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FNEG.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FREM.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FRETURN.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FSTORE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FSUB.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FieldGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FieldGenOrMethodGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FieldInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FieldObserver.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FieldOrMethod.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/GETFIELD.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/GETSTATIC.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/GOTO.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/GOTO_W.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/GotoInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/I2B.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/I2C.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/I2D.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/I2F.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/I2L.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/I2S.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IADD.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IALOAD.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IAND.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IASTORE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ICONST.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IDIV.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IFEQ.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IFGE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IFGT.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IFLE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IFLT.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IFNE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IFNONNULL.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IFNULL.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IF_ACMPEQ.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IF_ACMPNE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IF_ICMPEQ.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IF_ICMPGE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IF_ICMPGT.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IF_ICMPLE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IF_ICMPLT.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IF_ICMPNE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IINC.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ILOAD.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IMPDEP1.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IMPDEP2.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IMUL.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/INEG.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/INSTANCEOF.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/INVOKEDYNAMIC.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/INVOKEINTERFACE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/INVOKESPECIAL.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/INVOKESTATIC.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/INVOKEVIRTUAL.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IOR.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IREM.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IRETURN.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ISHL.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ISHR.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ISTORE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ISUB.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IUSHR.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IXOR.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IfInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IndexedInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/Instruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/InstructionComparator.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/InstructionConst.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/InstructionFactory.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/InstructionHandle.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/InstructionList.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/InstructionListObserver.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/InstructionTargeter.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/InvokeInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/JSR.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/JSR_W.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/JsrInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/L2D.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/L2F.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/L2I.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LADD.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LALOAD.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LAND.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LASTORE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LCMP.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LCONST.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LDC.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LDC2_W.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LDC_W.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LDIV.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LLOAD.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LMUL.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LNEG.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LOOKUPSWITCH.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LOR.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LREM.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LRETURN.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LSHL.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LSHR.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LSTORE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LSUB.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LUSHR.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LXOR.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LineNumberGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LoadClass.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LoadInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LocalVariableGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LocalVariableInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/MONITORENTER.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/MONITOREXIT.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/MULTIANEWARRAY.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/MethodGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/MethodObserver.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/NEW.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/NEWARRAY.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/NOP.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/NameSignatureInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/NamedAndTyped.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ObjectType.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/POP.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/POP2.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/PUSH.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/PUTFIELD.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/PUTSTATIC.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/PopInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/PushInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/RET.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/RETURN.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ReferenceType.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ReturnInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ReturnaddressType.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/SALOAD.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/SASTORE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/SIPUSH.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/SWAP.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/SWITCH.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/Select.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/SimpleElementValueGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/StackConsumer.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/StackInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/StackProducer.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/StoreInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/TABLESWITCH.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/TargetLostException.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/Type.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/TypedInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/UnconditionalBranch.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/VariableLengthInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/Visitor.java + src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/Args.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/AttributeHTML.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/BCELComparator.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/BCELFactory.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/BCELifier.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/ByteSequence.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/Class2HTML.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/ClassQueue.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/ClassSet.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/ClassStack.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/CodeHTML.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/ConstantHTML.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/InstructionFinder.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/MethodHTML.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/ModularRuntimeImage.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/Repository.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/SyntheticRepository.java + src/java.xml/share/classes/jdk/xml/internal/Utils.java ! src/java.xml/share/legal/bcel.md Changeset: 8049e59a Author: Joe Darcy Date: 2023-02-12 17:45:55 +0000 URL: https://git.openjdk.org/panama-foreign/commit/8049e59a5c5ab5bd2055face6df02445859335ca 8301833: Add wide-ranging tests for FDLIBM porting Reviewed-by: bpb, alanb + test/jdk/java/lang/StrictMath/ExhaustingTests.java Changeset: 7c233bc1 Author: Feilong Jiang Committer: Fei Yang Date: 2023-02-13 02:01:25 +0000 URL: https://git.openjdk.org/panama-foreign/commit/7c233bc1c88564b53ee3b46dbe7763de81ef5468 8302114: RISC-V: Several foreign jtreg tests fail with debug build after JDK-8301818 Reviewed-by: fyang, gcao ! src/hotspot/cpu/riscv/c1_LIRAssembler_riscv.cpp ! src/hotspot/cpu/riscv/macroAssembler_riscv.cpp ! src/hotspot/cpu/riscv/sharedRuntime_riscv.cpp ! src/hotspot/cpu/riscv/stubGenerator_riscv.cpp Changeset: 1fec6b59 Author: Dingli Zhang Committer: Fei Yang Date: 2023-02-13 02:02:40 +0000 URL: https://git.openjdk.org/panama-foreign/commit/1fec6b5953b51dae4be640d6e4e4f79136b9348d 8301852: RISC-V: Optimize class atomic when order is memory_order_relaxed Reviewed-by: fyang ! src/hotspot/os_cpu/linux_riscv/atomic_linux_riscv.hpp Changeset: d1c87a03 Author: Tobias Hartmann Date: 2023-02-13 06:23:24 +0000 URL: https://git.openjdk.org/panama-foreign/commit/d1c87a03ad188034e4a62e033b2d9d908805eacd 8302203: IR framework should detect non-compilable test methods early Reviewed-by: chagedorn, kvn ! test/hotspot/jtreg/compiler/lib/ir_framework/test/AbstractTest.java Changeset: 5d39d145 Author: Emanuel Peter Date: 2023-02-13 08:13:13 +0000 URL: https://git.openjdk.org/panama-foreign/commit/5d39d14522df5dc35a5f4c9934d2cf8da4fecaa6 8299970: Speed up compiler/arraycopy/TestArrayCopyConjoint.java Reviewed-by: chagedorn, kvn, thartmann ! test/hotspot/jtreg/compiler/arraycopy/TestArrayCopyConjoint.java ! test/hotspot/jtreg/compiler/arraycopy/TestArrayCopyDisjoint.java Changeset: f4b140b4 Author: Conor Cleary Date: 2023-02-13 08:34:45 +0000 URL: https://git.openjdk.org/panama-foreign/commit/f4b140b4200fc0f49161395501d3dbcba7a79059 8296410: HttpClient throws java.io.IOException: no statuscode in response for HTTP2 Reviewed-by: dfuchs, jpai ! src/java.net.http/share/classes/jdk/internal/net/http/Stream.java + test/jdk/java/net/httpclient/http2/TrailingHeadersTest.java ! test/jdk/java/net/httpclient/lib/jdk/httpclient/test/lib/http2/BodyOutputStream.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: 0458d382 Author: Prasanta Sadhukhan Date: 2023-02-13 08:59:19 +0000 URL: https://git.openjdk.org/panama-foreign/commit/0458d3825c0b6ba215a87143ad472acdcba59f40 6513512: MetalLookAndFeel.initClassDefaults does not install an entry for MetalMenuBarUI Reviewed-by: serb, aivanov ! src/java.desktop/share/classes/javax/swing/plaf/metal/MetalLookAndFeel.java ! src/java.desktop/share/classes/javax/swing/plaf/metal/OceanTheme.java Changeset: 4e327db1 Author: Johan Sj?len Date: 2023-02-13 09:25:09 +0000 URL: https://git.openjdk.org/panama-foreign/commit/4e327db1d127c652ef39e31c164e36ae429a0065 8301499: Replace NULL with nullptr in cpu/zero Reviewed-by: dholmes, rehn ! src/hotspot/cpu/zero/abstractInterpreter_zero.cpp ! src/hotspot/cpu/zero/bytecodeInterpreter_zero.cpp ! src/hotspot/cpu/zero/compiledIC_zero.cpp ! src/hotspot/cpu/zero/continuationFreezeThaw_zero.inline.hpp ! src/hotspot/cpu/zero/continuationHelper_zero.inline.hpp ! src/hotspot/cpu/zero/disassembler_zero.hpp ! src/hotspot/cpu/zero/frame_zero.cpp ! src/hotspot/cpu/zero/frame_zero.inline.hpp ! src/hotspot/cpu/zero/icBuffer_zero.cpp ! src/hotspot/cpu/zero/interpreterRT_zero.cpp ! src/hotspot/cpu/zero/javaFrameAnchor_zero.hpp ! src/hotspot/cpu/zero/methodHandles_zero.cpp ! src/hotspot/cpu/zero/nativeInst_zero.hpp ! src/hotspot/cpu/zero/registerMap_zero.hpp ! src/hotspot/cpu/zero/register_zero.cpp ! src/hotspot/cpu/zero/relocInfo_zero.cpp ! src/hotspot/cpu/zero/sharedRuntime_zero.cpp ! src/hotspot/cpu/zero/smallRegisterMap_zero.inline.hpp ! src/hotspot/cpu/zero/stackChunkFrameStream_zero.inline.hpp ! src/hotspot/cpu/zero/stack_zero.cpp ! src/hotspot/cpu/zero/stack_zero.hpp ! src/hotspot/cpu/zero/stubGenerator_zero.cpp ! src/hotspot/cpu/zero/vtableStubs_zero.cpp ! src/hotspot/cpu/zero/zeroInterpreter_zero.cpp Changeset: bbd8ae78 Author: Stuart Monteith Committer: Andrew Dinn Date: 2023-02-13 11:07:11 +0000 URL: https://git.openjdk.org/panama-foreign/commit/bbd8ae78200e4128d4eddf8694835956b5c5f142 8294194: [AArch64] Create intrinsics compress and expand Reviewed-by: xgong, adinn, haosun, aph ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/share/opto/constantTable.cpp ! test/hotspot/jtreg/compiler/intrinsics/TestBitShuffleOpers.java Changeset: cb810730 Author: Varada M Committer: Thomas Stuefe Date: 2023-02-13 11:12:36 +0000 URL: https://git.openjdk.org/panama-foreign/commit/cb8107303ed0563e06b1e2009d521869f4ca21e8 8300139: [AIX] Use pthreads to avoid JNI_createVM call from primordial thread Reviewed-by: dholmes, stuefe ! test/hotspot/jtreg/runtime/jni/CalleeSavedRegisters/FPRegs.java ! test/hotspot/jtreg/runtime/jni/CalleeSavedRegisters/exeFPRegs.c ! test/jdk/java/lang/reflect/exeCallerAccessTest/CallerAccessTest.java ! test/jdk/java/lang/reflect/exeCallerAccessTest/exeCallerAccessTest.c ! test/jdk/jni/nullCaller/NullCallerTest.java ! test/jdk/jni/nullCaller/exeNullCallerTest.cpp ! test/lib-test/jdk/test/lib/process/exejvm-test-launcher.c Changeset: 1f9c110c Author: Claes Redestad Date: 2023-02-13 11:17:38 +0000 URL: https://git.openjdk.org/panama-foreign/commit/1f9c110c1f9ea6f5c3621a25692ce9d7abf245d4 8301958: Reduce Arrays.copyOf/-Range overheads Reviewed-by: alanb, smarks ! src/java.base/share/classes/java/util/Arrays.java ! test/micro/org/openjdk/bench/java/lang/StringConstructor.java Changeset: 0025764e Author: Albert Mingkun Yang Date: 2023-02-13 11:28:40 +0000 URL: https://git.openjdk.org/panama-foreign/commit/0025764ec02bef391720962272b7219d34c00653 8040793: vmTestbase/nsk/monitoring/stress/lowmem fails on calling isCollectionUsageThresholdExceeded() Reviewed-by: iwalulya, tschatzl ! src/hotspot/share/gc/serial/defNewGeneration.cpp Changeset: df93880e Author: sunguoyun Committer: Daniel Fuchs Date: 2023-02-13 12:50:28 +0000 URL: https://git.openjdk.org/panama-foreign/commit/df93880efd60804118a1578e6da2a2291e8abae1 8301942: java/net/httpclient/DigestEchoClientSSL.java fail with -Xcomp Reviewed-by: dfuchs ! test/jdk/java/net/httpclient/DigestEchoClient.java Changeset: 57aef857 Author: Richard Reingruber Date: 2023-02-13 13:33:06 +0000 URL: https://git.openjdk.org/panama-foreign/commit/57aef85734741efede5b3471f060445b3cc43853 8301838: PPC: continuation yield intrinsic: exception check not needed if yield succeeded Reviewed-by: lucy, goetz ! src/hotspot/cpu/ppc/sharedRuntime_ppc.cpp Changeset: 99b6c0eb Author: Gui Cao Committer: Ludovic Henry Date: 2023-02-13 15:39:08 +0000 URL: https://git.openjdk.org/panama-foreign/commit/99b6c0eb487d0f7f33af83879ec53edd97246b7e 8302289: RISC-V: Use bgez instruction in arraycopy_simple_check when possible Reviewed-by: fyang, dzhang, luhenry ! src/hotspot/cpu/riscv/c1_LIRAssembler_arraycopy_riscv.cpp Changeset: f4d4fa50 Author: Erik ?sterlund Date: 2023-02-13 15:50:54 +0000 URL: https://git.openjdk.org/panama-foreign/commit/f4d4fa500c5038c85551bd7ed997e697d9f088eb 8300255: Introduce interface for GC oop verification in the assembler Co-authored-by: Martin Doerr Co-authored-by: Axel Boldt-Christmas Co-authored-by: Yadong Wang Reviewed-by: fyang, aboldtch, coleenp ! src/hotspot/cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/gc/z/zBarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/z/zBarrierSetAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp ! src/hotspot/cpu/ppc/c1_LIRAssembler_ppc.cpp ! src/hotspot/cpu/ppc/gc/shared/barrierSetAssembler_ppc.cpp ! src/hotspot/cpu/ppc/gc/shared/barrierSetAssembler_ppc.hpp ! src/hotspot/cpu/riscv/gc/shared/barrierSetAssembler_riscv.cpp ! src/hotspot/cpu/riscv/gc/shared/barrierSetAssembler_riscv.hpp ! src/hotspot/cpu/riscv/gc/z/zBarrierSetAssembler_riscv.cpp ! src/hotspot/cpu/riscv/gc/z/zBarrierSetAssembler_riscv.hpp ! src/hotspot/cpu/riscv/stubGenerator_riscv.cpp ! src/hotspot/cpu/x86/gc/shared/barrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shared/barrierSetAssembler_x86.hpp ! src/hotspot/cpu/x86/gc/z/zBarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/z/zBarrierSetAssembler_x86.hpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp Changeset: 101db262 Author: Amit Kumar Committer: Tyler Steele Date: 2023-02-13 16:14:33 +0000 URL: https://git.openjdk.org/panama-foreign/commit/101db262e1eef9afcc316009740ebf74a7c598d9 8301697: [s390] Optimized-build is broken Reviewed-by: tsteele, lucy ! src/hotspot/cpu/s390/runtime_s390.cpp ! src/hotspot/cpu/s390/templateInterpreterGenerator_s390.cpp Changeset: c37e9d1c Author: Gerard Ziemski Date: 2023-02-13 18:14:31 +0000 URL: https://git.openjdk.org/panama-foreign/commit/c37e9d1c8de3d7401422a08342473f803650c4e2 8298293: NMT: os::realloc() should verify that flags do not change between reallocations Reviewed-by: dholmes, stuefe, iklam ! src/hotspot/share/runtime/os.cpp ! src/hotspot/share/services/nmtPreInit.cpp ! src/hotspot/share/services/nmtPreInit.hpp Changeset: d503c664 Author: Amit Kumar Committer: Magnus Ihse Bursie Date: 2023-02-13 19:01:05 +0000 URL: https://git.openjdk.org/panama-foreign/commit/d503c66400f37a44406419fab280e64e3d7c9014 8302155: [AIX] NUM_LCPU is not required variable Reviewed-by: tsteele, ihse ! make/autoconf/build-performance.m4 Changeset: abbeb7e4 Author: Coleen Phillimore Date: 2023-02-13 20:57:01 +0000 URL: https://git.openjdk.org/panama-foreign/commit/abbeb7e4d2f5739dff77b2c79e675fb69368db1e 8302108: Clean up placeholder supername code Reviewed-by: dholmes, iklam ! src/hotspot/share/classfile/placeholders.cpp ! src/hotspot/share/classfile/placeholders.hpp ! src/hotspot/share/oops/symbolHandle.hpp ! test/hotspot/gtest/classfile/test_placeholders.cpp Changeset: 13b1ebba Author: Serguei Spitsyn Date: 2023-02-14 01:28:42 +0000 URL: https://git.openjdk.org/panama-foreign/commit/13b1ebba276940ff83e53b8ec3659280b3574204 8298853: JvmtiVTMSTransitionDisabler should support disabling one virtual thread transitions Reviewed-by: pchilanomate, lmesnik ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/prims/jvmtiEnv.cpp ! src/hotspot/share/prims/jvmtiEnvBase.cpp ! src/hotspot/share/prims/jvmtiEnvThreadState.cpp ! src/hotspot/share/prims/jvmtiThreadState.cpp ! src/hotspot/share/prims/jvmtiThreadState.hpp Changeset: 94e7cc85 Author: Tagir F. Valeev Date: 2023-02-14 05:39:07 +0000 URL: https://git.openjdk.org/panama-foreign/commit/94e7cc8587356988e713d23d1653bdd5c43fb3f1 8301226: Add clamp() methods to java.lang.Math and to StrictMath Reviewed-by: qamai, darcy ! src/java.base/share/classes/java/lang/Math.java ! src/java.base/share/classes/java/lang/StrictMath.java + test/jdk/java/lang/Math/Clamp.java Changeset: d782125c Author: Eirik Bjorsnos Committer: Jaikiran Pai Date: 2023-02-14 06:58:56 +0000 URL: https://git.openjdk.org/panama-foreign/commit/d782125c8f3bfe087269e4430dd12328d8cc77f8 8302214: Typo in javadoc of Arrays.compare and Arrays.mismatch Reviewed-by: jpai ! src/java.base/share/classes/java/util/Arrays.java Changeset: 7f71a104 Author: Erik ?sterlund Date: 2023-02-14 09:18:48 +0000 URL: https://git.openjdk.org/panama-foreign/commit/7f71a1040d9c03f72d082e329ccaf2c4a3c060a6 8301874: BarrierSetC2 should assign barrier data to stores Reviewed-by: rcastanedalo, kvn ! src/hotspot/share/gc/shared/c2/barrierSetC2.cpp Changeset: ee5f6e15 Author: Severin Gehwolf Date: 2023-02-14 09:27:36 +0000 URL: https://git.openjdk.org/panama-foreign/commit/ee5f6e156de0fd3d78adf60951866f43c492725b 8302337: JDK crashes if lib/modules contains non-zero byte containing ATTRIBUTE_END Reviewed-by: stuefe, jlaskey, alanb ! src/java.base/share/native/libjimage/imageFile.cpp Changeset: 92474f13 Author: Conor Cleary Date: 2023-02-14 09:41:36 +0000 URL: https://git.openjdk.org/panama-foreign/commit/92474f13f03afacc48541b0de17998998f70eb65 8301243: java/net/httpclient/http2/IdleConnectionTimeoutTest.java intermittent failure Reviewed-by: dfuchs ! test/jdk/java/net/httpclient/http2/IdleConnectionTimeoutTest.java Changeset: 7c50ab16 Author: Albert Mingkun Yang Date: 2023-02-14 10:18:43 +0000 URL: https://git.openjdk.org/panama-foreign/commit/7c50ab1612fafaa5281cc72d8f511e388cdb1d97 8225409: G1: Remove the Hot Card Cache Reviewed-by: tschatzl, iwalulya - src/hotspot/share/gc/g1/g1CardCounts.cpp - src/hotspot/share/gc/g1/g1CardCounts.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/g1FullGCPrepareTask.cpp ! src/hotspot/share/gc/g1/g1GCPhaseTimes.cpp ! src/hotspot/share/gc/g1/g1GCPhaseTimes.hpp - src/hotspot/share/gc/g1/g1HotCardCache.cpp - src/hotspot/share/gc/g1/g1HotCardCache.hpp ! src/hotspot/share/gc/g1/g1Policy.cpp ! src/hotspot/share/gc/g1/g1RemSet.cpp ! src/hotspot/share/gc/g1/g1RemSet.hpp ! src/hotspot/share/gc/g1/g1YoungCollector.cpp ! src/hotspot/share/gc/g1/g1YoungCollector.hpp ! src/hotspot/share/gc/g1/g1YoungGCPostEvacuateTasks.cpp ! src/hotspot/share/gc/g1/g1YoungGCPostEvacuateTasks.hpp ! src/hotspot/share/gc/g1/g1_globals.hpp ! src/hotspot/share/gc/g1/heapRegionManager.cpp ! src/hotspot/share/gc/g1/heapRegionManager.hpp ! src/hotspot/share/runtime/arguments.cpp ! test/hotspot/jtreg/gc/g1/TestGCLogMessages.java ! test/hotspot/jtreg/gc/g1/TestLargePageUseForAuxMemory.java - test/hotspot/jtreg/gc/g1/TestNoUseHCC.java ! test/hotspot/jtreg/gc/g1/TestShrinkAuxiliaryData.java - test/hotspot/jtreg/gc/g1/TestShrinkAuxiliaryData00.java - test/hotspot/jtreg/gc/g1/TestShrinkAuxiliaryData05.java - test/hotspot/jtreg/gc/g1/TestShrinkAuxiliaryData10.java - test/hotspot/jtreg/gc/g1/TestShrinkAuxiliaryData15.java - test/hotspot/jtreg/gc/g1/TestShrinkAuxiliaryData20.java - test/hotspot/jtreg/gc/g1/TestShrinkAuxiliaryData25.java - test/hotspot/jtreg/gc/g1/TestShrinkAuxiliaryData27.java + test/hotspot/jtreg/gc/g1/TestShrinkAuxiliaryDataRunner.java ! test/jdk/jdk/jfr/event/gc/collection/TestG1ParallelPhases.java Changeset: 66742c83 Author: Jie Fu Date: 2023-02-14 10:57:49 +0000 URL: https://git.openjdk.org/panama-foreign/commit/66742c83d43fd114b86bfadc823d34448da3cec6 8302368: [ZGC] Client build fails after JDK-8300255 Reviewed-by: fyang, eosterlund ! src/hotspot/cpu/aarch64/gc/z/zBarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/riscv/gc/z/zBarrierSetAssembler_riscv.cpp ! src/hotspot/cpu/x86/gc/z/zBarrierSetAssembler_x86.cpp Changeset: 7dfe75cf Author: Ekaterina Vergizova Committer: Yuri Nesterenko Date: 2023-02-14 11:02:39 +0000 URL: https://git.openjdk.org/panama-foreign/commit/7dfe75cf553193faf709cff6b8b2505680d7cebc 8301842: JFR: increase checkpoint event size for stacktrace and string pool Reviewed-by: mgronlun ! src/hotspot/share/jfr/recorder/service/jfrRecorderService.cpp Changeset: 6d4b02b6 Author: Hannes Walln?fer Date: 2023-02-14 12:42:59 +0000 URL: https://git.openjdk.org/panama-foreign/commit/6d4b02b6c9b82f851b56055ba299f168618ab8ac 8302324: Inheritance tree does not show correct type parameters/arguments Reviewed-by: prappo ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java + test/langtools/jdk/javadoc/doclet/testInheritance/TestInheritance.java Changeset: 8c2c8b3f Author: Johan Sj?len Date: 2023-02-14 13:11:44 +0000 URL: https://git.openjdk.org/panama-foreign/commit/8c2c8b3f7f1bf286ca67a736938797d14fd7555c 8295344: Harden runtime/StackGuardPages/TestStackGuardPages.java Reviewed-by: dholmes, rehn ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/runtime/StackGuardPages/TestStackGuardPages.java + test/hotspot/jtreg/runtime/StackGuardPages/TestStackGuardPagesNative.java ! test/hotspot/jtreg/runtime/StackGuardPages/exeinvoke.c Changeset: 2ef001e0 Author: Vicente Romero Date: 2023-02-14 14:27:29 +0000 URL: https://git.openjdk.org/panama-foreign/commit/2ef001e09774fd0cce7a6bd917dd46033cf4c4d9 8207017: Type annotations on anonymous classes in initializer blocks not written to class file Reviewed-by: jlahoda ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/TypeAnnotations.java ! test/langtools/tools/javac/annotations/typeAnnotations/classfile/AnonymousClassTest.java Changeset: 77519e5f Author: Robbin Ehn Date: 2023-02-14 14:38:46 +0000 URL: https://git.openjdk.org/panama-foreign/commit/77519e5f4fe75f953c02fb3f15b7f9a58c933fea 8302354: InstanceKlass init state/thread should be atomic Reviewed-by: coleenp, dholmes ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/oops/cpCache.cpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceKlass.hpp ! src/hotspot/share/runtime/vmStructs.cpp Changeset: 8933c2d0 Author: Erik Gahlin Date: 2023-02-14 15:02:58 +0000 URL: https://git.openjdk.org/panama-foreign/commit/8933c2d06a60671c2a4c6a683183f3979732350c 8298278: JFR: Turn MEMFLAGS into a type for use with the NativeMemoryUsage events Reviewed-by: sjohanss ! src/hotspot/share/jfr/metadata/metadata.xml ! src/hotspot/share/jfr/recorder/checkpoint/types/jfrType.cpp ! src/hotspot/share/jfr/recorder/checkpoint/types/jfrType.hpp ! src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeManager.cpp ! src/hotspot/share/services/memJfrReporter.cpp ! src/hotspot/share/services/memJfrReporter.hpp Changeset: ec901f28 Author: Xue-Lei Andrew Fan Date: 2023-02-14 15:36:09 +0000 URL: https://git.openjdk.org/panama-foreign/commit/ec901f28c3fde1aa7cef0ea41fe8bc3896ad962e 8301279: update for deprecated sprintf for management components Reviewed-by: kevinw, dholmes ! src/java.management/share/native/libmanagement/VMManagementImpl.c ! src/java.management/share/native/libmanagement/management.c ! src/jdk.management/share/native/libmanagement_ext/management_ext.c Changeset: f7dee77d Author: Xue-Lei Andrew Fan Date: 2023-02-14 15:37:47 +0000 URL: https://git.openjdk.org/panama-foreign/commit/f7dee77d734fdfca29ebf8b8602e1bf04324d44c 8301274: update for deprecated sprintf for security components Reviewed-by: ascarpino ! src/jdk.crypto.mscapi/windows/native/libsunmscapi/security.cpp Changeset: 5b2d4301 Author: Brian Burkhalter Date: 2023-02-14 16:30:52 +0000 URL: https://git.openjdk.org/panama-foreign/commit/5b2d430131e8e5f6e91d449dab84b99ef6f1c880 8297632: InputStream.transferTo() method should specify what the return value should be when the number of bytes transfered is larger than Long.MAX_VALUE Reviewed-by: alanb, lancea ! src/java.base/share/classes/java/io/BufferedInputStream.java ! src/java.base/share/classes/java/io/FileInputStream.java ! src/java.base/share/classes/java/io/InputStream.java ! src/java.base/share/classes/java/io/PushbackInputStream.java ! src/java.base/share/classes/java/io/Reader.java ! src/java.base/share/classes/java/io/SequenceInputStream.java ! src/java.base/share/classes/java/util/zip/ZipInputStream.java Changeset: ca73f7e8 Author: Vicente Romero Date: 2023-02-14 18:59:37 +0000 URL: https://git.openjdk.org/panama-foreign/commit/ca73f7e80f4a7e3c3c2a68c957412618d042d101 8301374: NullPointerException in MemberEnter.checkReceiver Reviewed-by: jlahoda ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! test/langtools/tools/javac/lambda/8131742/T8131742.java ! test/langtools/tools/javac/lambda/8131742/T8131742.out Changeset: 9c202a5a Author: Mandy Chung Date: 2023-02-14 21:15:14 +0000 URL: https://git.openjdk.org/panama-foreign/commit/9c202a5a8fc5b0f334ea72487d079af7da275693 8302260: VarHandle.describeConstable() fails to return a nominal descriptor for static public fields Reviewed-by: alanb, psandoz ! src/java.base/share/classes/java/lang/invoke/VarHandles.java ! src/java.base/share/classes/java/lang/invoke/X-VarHandle.java.template + test/jdk/java/lang/invoke/VarHandles/describeConstable/DescribeConstableTest.java = test/jdk/java/lang/invoke/VarHandles/describeConstable/p/C.java + test/jdk/java/lang/invoke/VarHandles/describeConstable/p/D.java + test/jdk/java/lang/invoke/VarHandles/describeConstable/p/I.java + test/jdk/java/lang/invoke/VarHandles/describeConstable/p/q/Q.java Changeset: f1d76fa9 Author: Kim Barrett Date: 2023-02-15 00:44:02 +0000 URL: https://git.openjdk.org/panama-foreign/commit/f1d76fa92501e45f25a7d33d8c5eee7ef60973eb 8302262: Remove -XX:SuppressErrorAt develop option Reviewed-by: stuefe, dholmes, tschatzl ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/vframe.cpp ! src/hotspot/share/utilities/debug.cpp ! test/hotspot/jtreg/runtime/ErrorHandling/ShowRegistersOnAssertTest.java ! test/hotspot/jtreg/runtime/ErrorHandling/TestCrashOnOutOfMemoryError.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace003.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace004.java ! test/lib-test/jdk/test/whitebox/vm_flags/StringTest.java Changeset: bdcbafb2 Author: Ioi Lam Date: 2023-02-15 05:12:39 +0000 URL: https://git.openjdk.org/panama-foreign/commit/bdcbafb2196f0360466ee789b969f2db954ca85f 8296344: Remove dependency on G1 for writing the CDS archive heap Reviewed-by: ayang, tschatzl, ccheung ! src/hotspot/share/cds/archiveBuilder.cpp ! src/hotspot/share/cds/archiveBuilder.hpp + src/hotspot/share/cds/archiveHeapWriter.cpp + src/hotspot/share/cds/archiveHeapWriter.hpp ! src/hotspot/share/cds/cdsHeapVerifier.cpp ! src/hotspot/share/cds/filemap.cpp ! src/hotspot/share/cds/heapShared.cpp ! src/hotspot/share/cds/heapShared.hpp ! src/hotspot/share/cds/metaspaceShared.cpp ! src/hotspot/share/classfile/stringTable.cpp ! src/hotspot/share/gc/g1/g1Allocator.cpp ! src/hotspot/share/gc/g1/g1Allocator.hpp ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp ! src/hotspot/share/gc/g1/g1HeapVerifier.cpp ! src/hotspot/share/gc/g1/g1HeapVerifier.hpp ! src/hotspot/share/gc/shared/collectedHeap.cpp ! src/hotspot/share/gc/shared/gcCause.cpp ! src/hotspot/share/gc/shared/gcCause.hpp ! src/hotspot/share/oops/constantPool.cpp ! src/hotspot/share/oops/objArrayOop.hpp ! test/hotspot/jtreg/TEST.groups ! test/hotspot/jtreg/runtime/cds/appcds/cacheObject/ArchivedIntegerCacheTest.java - test/hotspot/jtreg/runtime/cds/appcds/javaldr/HumongousDuringDump.java - test/hotspot/jtreg/runtime/cds/appcds/javaldr/HumongousDuringDumpTransformer.java - test/hotspot/jtreg/runtime/cds/appcds/javaldr/HumongousDuringDumpTransformer.mf Changeset: 9ccf8ad9 Author: Thomas Stuefe Date: 2023-02-15 06:36:16 +0000 URL: https://git.openjdk.org/panama-foreign/commit/9ccf8ad91f02ded8ff0f48f4c6287a8d6e4aa160 8302129: Make MetaspaceReclaimPolicy a diagnostic switch Reviewed-by: dholmes, coleenp ! src/hotspot/share/runtime/globals.hpp ! test/hotspot/jtreg/gtest/MetaspaceGtests.java ! test/hotspot/jtreg/runtime/Metaspace/PrintMetaspaceDcmd.java Changeset: 98a392c4 Author: Justin King Committer: Thomas Stuefe Date: 2023-02-15 06:42:27 +0000 URL: https://git.openjdk.org/panama-foreign/commit/98a392c4fc95c2bef252ea9f7d65b66c57e056ac 8302102: Disable ASan for SafeFetch and os::print_hex_dump Reviewed-by: dholmes, stuefe ! src/hotspot/os/posix/safefetch_sigjmp.cpp ! src/hotspot/os/windows/safefetch_windows.hpp ! src/hotspot/share/runtime/os.cpp ! src/hotspot/share/sanitizers/address.hpp Changeset: a9a53f41 Author: Emanuel Peter Date: 2023-02-15 07:35:23 +0000 URL: https://git.openjdk.org/panama-foreign/commit/a9a53f417d017c6e92d1f0331359037815bd431e 8302152: Speed up tests with infinite loops, sleep less Reviewed-by: thartmann, kvn ! test/hotspot/jtreg/compiler/loopopts/TestCMoveWithDeadPhi.java ! test/hotspot/jtreg/compiler/loopopts/TestInfLoopNearUsePlacement.java ! test/hotspot/jtreg/compiler/loopopts/TestInfiniteLoopCCP.java ! test/hotspot/jtreg/compiler/loopopts/TestInfiniteLoopNest.java ! test/hotspot/jtreg/compiler/loopopts/TestStrangeControl.java Changeset: 46bcc490 Author: Emanuel Peter Date: 2023-02-15 07:36:53 +0000 URL: https://git.openjdk.org/panama-foreign/commit/46bcc4901ea66589ec4c6904f8bab9156422312a 8302147: Speed up compiler/jvmci/compilerToVM/IterateFramesNative.java Reviewed-by: kvn, thartmann ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/IterateFramesNative.java Changeset: 33bec207 Author: Scott Gibbons Committer: Claes Redestad Date: 2023-02-15 09:26:10 +0000 URL: https://git.openjdk.org/panama-foreign/commit/33bec207103acd520eb99afb093cfafa44aecfda 8300808: Accelerate Base64 on x86 for AVX2 Reviewed-by: jbhateja, redestad, sviswanathan ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.hpp ! src/hotspot/cpu/x86/stubRoutines_x86.cpp ! src/hotspot/cpu/x86/stubRoutines_x86.hpp ! src/hotspot/cpu/x86/vm_version_x86.cpp ! test/micro/org/openjdk/bench/java/util/Base64Decode.java ! test/micro/org/openjdk/bench/java/util/Base64Encode.java Changeset: 11194e8b Author: Severin Gehwolf Date: 2023-02-15 09:54:47 +0000 URL: https://git.openjdk.org/panama-foreign/commit/11194e8b825ad2688f4ede35fdadb69d74c7a5f4 8302325: Wrong comment in java.base/share/native/libjimage/imageFile.hpp Reviewed-by: alanb, jlaskey ! src/java.base/share/native/libjimage/imageFile.cpp ! src/java.base/share/native/libjimage/imageFile.hpp ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/PerfectHashBuilder.java Changeset: 52388179 Author: Michael McMahon Date: 2023-02-15 10:19:49 +0000 URL: https://git.openjdk.org/panama-foreign/commit/52388179e65d4703ec33569dcc7c1351c57e6056 8301463: Code in DatagramSocket still refers to resolved JDK-8237352 Reviewed-by: dfuchs ! src/java.base/share/classes/java/net/DatagramSocket.java Changeset: 26b111d7 Author: Sean Mullan Date: 2023-02-15 13:25:50 +0000 URL: https://git.openjdk.org/panama-foreign/commit/26b111d714c3ee62bd10a5e2ab44be01c13ff42e 8301700: Increase the default TLS Diffie-Hellman group size from 1024-bit to 2048-bit Reviewed-by: xuelei ! src/java.base/share/classes/sun/security/ssl/DHKeyExchange.java ! test/jdk/sun/security/ssl/DHKeyExchange/DHEKeySizing.java Changeset: 0c965844 Author: Johan Sj?len Date: 2023-02-15 13:40:34 +0000 URL: https://git.openjdk.org/panama-foreign/commit/0c9658446d111ec944f06b7a8a4e3ae7bf53ee8d 8301225: Replace NULL with nullptr in share/gc/shenandoah/ Reviewed-by: wkemper, kdnilsen, rkennke ! src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.cpp ! src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.hpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.hpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahHeuristics.cpp ! src/hotspot/share/gc/shenandoah/mode/shenandoahIUMode.cpp ! src/hotspot/share/gc/shenandoah/mode/shenandoahPassiveMode.cpp ! src/hotspot/share/gc/shenandoah/mode/shenandoahSATBMode.cpp ! src/hotspot/share/gc/shenandoah/shenandoahAsserts.cpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSetClone.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSetNMethod.cpp ! src/hotspot/share/gc/shenandoah/shenandoahClosures.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp ! src/hotspot/share/gc/shenandoah/shenandoahCollectionSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahCollectionSet.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahDegeneratedGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahForwarding.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahFullGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegionCounters.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegionSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahLock.cpp ! src/hotspot/share/gc/shenandoah/shenandoahLock.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMark.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkBitMap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkBitMap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMonitoringSupport.cpp ! src/hotspot/share/gc/shenandoah/shenandoahNMethod.cpp ! src/hotspot/share/gc/shenandoah/shenandoahNMethod.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahNumberSeq.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.cpp ! src/hotspot/share/gc/shenandoah/shenandoahReferenceProcessor.cpp ! src/hotspot/share/gc/shenandoah/shenandoahReferenceProcessor.hpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahRootVerifier.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRuntime.cpp ! src/hotspot/share/gc/shenandoah/shenandoahSharedVariables.hpp ! src/hotspot/share/gc/shenandoah/shenandoahStackWatermark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahTaskqueue.cpp ! src/hotspot/share/gc/shenandoah/shenandoahTaskqueue.hpp ! src/hotspot/share/gc/shenandoah/shenandoahThreadLocalData.hpp ! src/hotspot/share/gc/shenandoah/shenandoahUnload.cpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.cpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.hpp ! src/hotspot/share/gc/shenandoah/shenandoahVerifier.cpp ! src/hotspot/share/gc/shenandoah/shenandoahVerifier.hpp ! src/hotspot/share/gc/shenandoah/shenandoahWorkGroup.cpp Changeset: 28f5250f Author: Albert Mingkun Yang Date: 2023-02-15 14:34:30 +0000 URL: https://git.openjdk.org/panama-foreign/commit/28f5250fa5cfd7938bb0899a2c17847b7458536c 8302127: Remove unused arg in write_ref_field_post Reviewed-by: phh, kbarrett ! src/hotspot/share/gc/g1/g1BarrierSet.hpp ! src/hotspot/share/gc/g1/g1BarrierSet.inline.hpp ! src/hotspot/share/gc/shared/cardTableBarrierSet.hpp ! src/hotspot/share/gc/shared/cardTableBarrierSet.inline.hpp ! src/hotspot/share/gc/shared/modRefBarrierSet.hpp ! src/hotspot/share/gc/shared/modRefBarrierSet.inline.hpp Changeset: 50dcc2ae Author: Mandy Chung Date: 2023-02-15 18:29:26 +0000 URL: https://git.openjdk.org/panama-foreign/commit/50dcc2aec5b16c0826e27d58e49a7f55a5f5ad38 8301460: Clean up LambdaForm to reference BasicType enums directly Reviewed-by: jvernee ! src/java.base/share/classes/java/lang/invoke/BoundMethodHandle.java ! src/java.base/share/classes/java/lang/invoke/LambdaForm.java ! src/java.base/share/classes/java/lang/invoke/LambdaFormEditor.java ! src/java.base/share/classes/java/lang/invoke/SimpleMethodHandle.java Changeset: 861e3020 Author: Claes Redestad Date: 2023-02-15 21:52:41 +0000 URL: https://git.openjdk.org/panama-foreign/commit/861e302011bb3aaf0c8431c121b58a57b78481e3 8302163: Speed up various String comparison methods with ArraysSupport.mismatch Reviewed-by: stsypanov, rriggs, alanb ! src/java.base/share/classes/java/lang/String.java ! src/java.base/share/classes/java/lang/StringLatin1.java ! test/micro/org/openjdk/bench/java/lang/StringBuilders.java + test/micro/org/openjdk/bench/java/lang/StringComparisons.java ! test/micro/org/openjdk/bench/java/lang/StringOther.java Changeset: 3ba15608 Author: Joe Darcy Date: 2023-02-15 22:16:30 +0000 URL: https://git.openjdk.org/panama-foreign/commit/3ba156082b73c4a8e9d890a57a42fb68df2bf98f 8302026: Port fdlibm inverse trig functions (asin, acos, atan) to Java Reviewed-by: bpb ! src/java.base/share/classes/java/lang/FdLibm.java ! src/java.base/share/classes/java/lang/StrictMath.java + test/jdk/java/lang/Math/InverseTrigTests.java ! test/jdk/java/lang/StrictMath/ExhaustingTests.java ! test/jdk/java/lang/StrictMath/FdlibmTranslit.java + test/jdk/java/lang/StrictMath/InverseTrigTests.java Changeset: 573c316c Author: Ioi Lam Date: 2023-02-16 03:44:48 +0000 URL: https://git.openjdk.org/panama-foreign/commit/573c316c5764ccd8d483f1f187fd6eb21ceeea63 8224980: FLAG_SET_ERGO silently ignores invalid values Reviewed-by: iveresov, dholmes ! src/hotspot/share/code/codeCache.cpp ! src/hotspot/share/compiler/compilerDefinitions.cpp ! src/hotspot/share/compiler/compilerDefinitions.hpp ! src/hotspot/share/runtime/flags/jvmFlagAccess.cpp ! src/hotspot/share/runtime/globals_extension.hpp Changeset: 1480d418 Author: Vicente Romero Date: 2023-02-16 04:01:12 +0000 URL: https://git.openjdk.org/panama-foreign/commit/1480d418e3b7d1f36ace24a043a273fca446eefa 8208470: Type annotations on inner type that is an array component Co-authored-by: Bernard Blaser Reviewed-by: jlahoda ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/TypeAnnotations.java ! test/langtools/tools/javac/annotations/typeAnnotations/referenceinfos/Driver.java ! test/langtools/tools/javac/annotations/typeAnnotations/referenceinfos/Fields.java ! test/langtools/tools/javac/warnings/6747671/T6747671.out Changeset: 6e2d3c6c Author: Thomas Stuefe Date: 2023-02-16 06:56:38 +0000 URL: https://git.openjdk.org/panama-foreign/commit/6e2d3c6c45ded862d818e30dd03d023980bf0ec2 8302455: VM.classloader_stats memory size values are wrong Reviewed-by: coleenp, dholmes ! src/hotspot/share/classfile/classLoaderStats.cpp ! src/hotspot/share/memory/classLoaderMetaspace.cpp ! src/hotspot/share/memory/classLoaderMetaspace.hpp ! test/hotspot/jtreg/serviceability/dcmd/vm/ClassLoaderStatsTest.java Changeset: 519229db Author: Thomas Stuefe Date: 2023-02-16 07:01:10 +0000 URL: https://git.openjdk.org/panama-foreign/commit/519229db3c75e56b4f6e05d918300f1cead1c3b1 8302385: Remove MetaspaceReclaimPolicy=none Reviewed-by: iklam, dholmes ! src/hotspot/share/memory/metaspace/chunkManager.cpp ! src/hotspot/share/memory/metaspace/freeChunkList.hpp ! src/hotspot/share/memory/metaspace/metaspaceArena.cpp ! src/hotspot/share/memory/metaspace/metaspaceSettings.cpp ! src/hotspot/share/memory/metaspace/metaspaceSettings.hpp ! src/hotspot/share/runtime/globals.hpp ! test/hotspot/gtest/metaspace/metaspaceGtestContexts.cpp ! test/hotspot/gtest/metaspace/test_chunkManager_stress.cpp ! test/hotspot/gtest/metaspace/test_metachunk.cpp ! test/hotspot/gtest/metaspace/test_metachunklist.cpp ! test/hotspot/gtest/metaspace/test_metaspacearena.cpp ! test/hotspot/jtreg/gtest/MetaspaceGtests.java ! test/hotspot/jtreg/runtime/Metaspace/PrintMetaspaceDcmd.java ! test/hotspot/jtreg/runtime/Metaspace/elastic/MetaspaceTestArena.java ! test/hotspot/jtreg/runtime/Metaspace/elastic/MetaspaceTestContext.java ! test/hotspot/jtreg/runtime/Metaspace/elastic/MetaspaceTestWithThreads.java ! test/hotspot/jtreg/runtime/Metaspace/elastic/TestMetaspaceAllocation.java ! test/hotspot/jtreg/runtime/Metaspace/elastic/TestMetaspaceAllocationMT1.java ! test/hotspot/jtreg/runtime/Metaspace/elastic/TestMetaspaceAllocationMT2.java Changeset: c77f6442 Author: Tobias Hartmann Date: 2023-02-16 07:31:55 +0000 URL: https://git.openjdk.org/panama-foreign/commit/c77f64420abfdd060fb617e88ecf8b1281668faa 8302625: Bad copyright line after JDK-8302385 Reviewed-by: mikael ! test/hotspot/jtreg/runtime/Metaspace/elastic/MetaspaceTestArena.java Changeset: 53ae4c07 Author: Severin Gehwolf Date: 2023-02-16 10:08:54 +0000 URL: https://git.openjdk.org/panama-foreign/commit/53ae4c07fda69358fc0b2edadf8dbfe6428de619 8300645: Handle julong values in logging of GET_CONTAINER_INFO macros Reviewed-by: iklam ! src/hotspot/os/linux/cgroupSubsystem_linux.hpp ! src/hotspot/os/linux/cgroupV1Subsystem_linux.cpp ! src/hotspot/os/linux/cgroupV2Subsystem_linux.cpp ! test/hotspot/jtreg/containers/docker/TestMemoryAwareness.java ! test/hotspot/jtreg/containers/docker/TestMemoryWithCgroupV1.java Changeset: e045af4c Author: Tobias Holenstein Date: 2023-02-16 10:20:59 +0000 URL: https://git.openjdk.org/panama-foreign/commit/e045af4c921b1465931154ede899235ddc580108 8297031: IGV: Copy extracted nodes and layout for cloned graph Reviewed-by: rcastanedalo, thartmann ! src/utils/IdealGraphVisualizer/Coordinator/src/main/java/com/sun/hotspot/igv/coordinator/GraphNode.java - src/utils/IdealGraphVisualizer/Coordinator/src/main/java/com/sun/hotspot/igv/coordinator/actions/CloneGraphAction.java - src/utils/IdealGraphVisualizer/Coordinator/src/main/java/com/sun/hotspot/igv/coordinator/actions/GraphCloneCookie.java + src/utils/IdealGraphVisualizer/Coordinator/src/main/java/com/sun/hotspot/igv/coordinator/actions/NewGraphTabAction.java + src/utils/IdealGraphVisualizer/Coordinator/src/main/java/com/sun/hotspot/igv/coordinator/actions/NewGraphTabCookie.java ! src/utils/IdealGraphVisualizer/Data/src/main/java/com/sun/hotspot/igv/data/services/GraphViewer.java ! src/utils/IdealGraphVisualizer/View/src/main/java/com/sun/hotspot/igv/view/DiagramScene.java ! src/utils/IdealGraphVisualizer/View/src/main/java/com/sun/hotspot/igv/view/DiagramViewModel.java ! src/utils/IdealGraphVisualizer/View/src/main/java/com/sun/hotspot/igv/view/DiagramViewer.java ! src/utils/IdealGraphVisualizer/View/src/main/java/com/sun/hotspot/igv/view/EditorTopComponent.java ! src/utils/IdealGraphVisualizer/View/src/main/java/com/sun/hotspot/igv/view/GraphViewerImplementation.java ! src/utils/IdealGraphVisualizer/View/src/main/java/com/sun/hotspot/igv/view/actions/HideDuplicatesAction.java ! src/utils/IdealGraphVisualizer/View/src/main/java/com/sun/hotspot/igv/view/actions/PredSuccAction.java Changeset: 84c058bb Author: Tejesh R Date: 2023-02-16 11:10:25 +0000 URL: https://git.openjdk.org/panama-foreign/commit/84c058bb63ad68b0cb6c739453bdb81d2c9d369f 8300549: JFileChooser Approve button tooltip is null in Aqua L&F in CUSTOM_DIALOG mode Reviewed-by: aivanov, abhiscxk ! src/java.desktop/macosx/classes/com/apple/laf/AquaFileChooserUI.java ! src/java.desktop/macosx/classes/com/apple/laf/resources/aqua.properties Changeset: 687a4612 Author: Albert Mingkun Yang Date: 2023-02-16 11:48:56 +0000 URL: https://git.openjdk.org/panama-foreign/commit/687a461276aafea9e95572c593d821ef95fef43f 8302464: Parallel: Remove unreachable code in callers of numa_has_static_binding Reviewed-by: lkorinth, tschatzl ! src/hotspot/os/posix/os_posix.inline.hpp ! src/hotspot/os/windows/os_windows.inline.hpp ! src/hotspot/share/gc/parallel/mutableNUMASpace.cpp ! src/hotspot/share/runtime/os.hpp Changeset: c29a1367 Author: Tobias Holenstein Date: 2023-02-16 12:55:01 +0000 URL: https://git.openjdk.org/panama-foreign/commit/c29a13678744522503f899bdf5f4c13f130942f7 8291735: methods_do() always run at exit Reviewed-by: coleenp, kvn ! src/hotspot/share/runtime/java.cpp Changeset: 9b911b49 Author: Tobias Holenstein Date: 2023-02-16 13:51:11 +0000 URL: https://git.openjdk.org/panama-foreign/commit/9b911b492f56fbf94682535a1d20dde07c62940f 8301959: Compile command in compiler.loopopts.TestRemoveEmptyCountedLoop does not work Reviewed-by: kvn, thartmann ! test/hotspot/jtreg/compiler/loopopts/TestRemoveEmptyCountedLoop.java Changeset: 2e3cea01 Author: Justin King Committer: Tobias Hartmann Date: 2023-02-16 14:14:46 +0000 URL: https://git.openjdk.org/panama-foreign/commit/2e3cea01daca594dfa4477439a9849eea19b249e 8302594: use-after-free in Node::destruct Reviewed-by: kvn, thartmann ! src/hotspot/share/opto/node.cpp Changeset: 3cc459b6 Author: Justin King Committer: Tobias Hartmann Date: 2023-02-16 14:40:38 +0000 URL: https://git.openjdk.org/panama-foreign/commit/3cc459b6c2f571987dc36fd548a2b830f0b33a0a 8302595: use-after-free related to GraphKit::clone_map Reviewed-by: kvn, thartmann ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/graphKit.cpp ! src/hotspot/share/opto/graphKit.hpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/node.hpp ! src/hotspot/share/opto/phaseX.hpp ! src/hotspot/share/opto/vectorIntrinsics.cpp Changeset: a58fa6e7 Author: Archie L. Cobbs Committer: Julian Waters Date: 2023-02-16 14:48:39 +0000 URL: https://git.openjdk.org/panama-foreign/commit/a58fa6e73e4594cfb0e46bdbebad48072771e5bd 8302514: Misleading error generated when empty class file encountered Reviewed-by: vromero, jwaters ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassReader.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ModuleNameReader.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/PoolReader.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/ArrayUtils.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/ByteBuffer.java + test/langtools/tools/javac/classreader/TruncatedClassFileTest.java ! test/langtools/tools/javac/diags/examples.not-yet.txt ! test/langtools/tools/javac/modules/EdgeCases.java ! test/langtools/tools/javac/processing/model/completionfailure/NoAbortForBadClassFile.java Changeset: f558a6c5 Author: Erik Gahlin Date: 2023-02-16 15:49:05 +0000 URL: https://git.openjdk.org/panama-foreign/commit/f558a6c5992cf5168e44d73e84e7713728a3ed9b 8298276: JFR: Update NMT events to make use of common periodic timestamp feature Reviewed-by: mgronlun + src/hotspot/share/jfr/periodic/jfrNativeMemoryEvent.cpp + src/hotspot/share/jfr/periodic/jfrNativeMemoryEvent.hpp ! src/hotspot/share/jfr/periodic/jfrPeriodic.cpp - src/hotspot/share/services/memJfrReporter.cpp - src/hotspot/share/services/memJfrReporter.hpp ! test/jdk/jdk/jfr/event/runtime/TestNativeMemoryUsageEvents.java Changeset: 90e09228 Author: Thomas Stuefe Date: 2023-02-16 16:14:05 +0000 URL: https://git.openjdk.org/panama-foreign/commit/90e092280f67dc1f77ff04c7c8f46317a00e3af9 8293313: NMT: Rework MallocLimit 8293292: Remove MallocMaxTestWords Reviewed-by: jsjolen, gziemski, lucy, mbaesken ! src/hotspot/share/memory/arena.cpp ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/arguments.hpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/os.cpp + src/hotspot/share/services/mallocLimit.cpp + src/hotspot/share/services/mallocLimit.hpp ! src/hotspot/share/services/mallocTracker.cpp ! src/hotspot/share/services/mallocTracker.hpp + src/hotspot/share/services/mallocTracker.inline.hpp ! src/hotspot/share/services/memTracker.cpp ! src/hotspot/share/services/memTracker.hpp + src/hotspot/share/services/memTracker.inline.hpp ! src/hotspot/share/services/nmtCommon.hpp + test/hotspot/gtest/nmt/test_nmt_malloclimit.cpp ! test/hotspot/jtreg/runtime/ClassFile/JsrRewriting.java ! test/hotspot/jtreg/runtime/ClassFile/OomWhileParsingRepeatedJsr.java ! test/hotspot/jtreg/runtime/CommandLine/OptionsValidation/TestOptionsWithRanges.java ! test/hotspot/jtreg/runtime/NMT/MallocLimitTest.java ! test/hotspot/jtreg/runtime/Unsafe/AllocateMemory.java ! test/hotspot/jtreg/runtime/Unsafe/Reallocate.java Changeset: 574b48c6 Author: Daniel D. Daugherty Date: 2023-02-16 17:13:16 +0000 URL: https://git.openjdk.org/panama-foreign/commit/574b48c6925ebfb31345fc46c7d23aa4153f99b0 8302678: validate_source fails after JDK-8293313 Reviewed-by: bpb ! src/hotspot/share/services/mallocTracker.hpp Changeset: e5042dd4 Author: Julian Waters Date: 2023-02-16 18:56:59 +0000 URL: https://git.openjdk.org/panama-foreign/commit/e5042dd483d54216d0e82624bb964d9e029af484 8302671: libawt has a memmove decay error Reviewed-by: serb, prr, kcr ! src/java.desktop/windows/native/libawt/windows/awt_Component.cpp Changeset: de80dd9c Author: Vicente Romero Date: 2023-02-16 19:06:26 +0000 URL: https://git.openjdk.org/panama-foreign/commit/de80dd9c15cd3194ba8c512498d37a76c747e5fc 8296010: AssertionError in annotationTargetType Reviewed-by: jjg ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/TypeAnnotations.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties + test/langtools/tools/javac/annotations/crashOnUnknownAttr/A.jcod + test/langtools/tools/javac/annotations/crashOnUnknownAttr/CrashOnUnknownTargetTypeTest.java + test/langtools/tools/javac/annotations/crashOnUnknownAttr/CrashOnUnknownTargetTypeTest.out ! test/langtools/tools/javac/diags/examples.not-yet.txt Changeset: a39cf2e3 Author: Magnus Ihse Bursie Date: 2023-02-16 19:32:38 +0000 URL: https://git.openjdk.org/panama-foreign/commit/a39cf2e3b242298fbf5fafdb8aa9b5d4562061ef 8301753: AppendFile/WriteFile has differences between make 3.81 and 4+ Reviewed-by: erikj ! make/common/MakeIO.gmk ! test/make/TestMakeBase.gmk Changeset: 4ce493f0 Author: Valerie Peng Date: 2023-02-16 21:58:34 +0000 URL: https://git.openjdk.org/panama-foreign/commit/4ce493f09ea3a34322462e82fd73b8375be1cba5 8302225: SunJCE Provider doesn't validate key sizes when using 'constrained' transforms for AES/KW and AES/KWP Reviewed-by: xuelei ! src/java.base/share/classes/com/sun/crypto/provider/KeyWrapCipher.java ! test/jdk/com/sun/crypto/provider/Cipher/KeyWrap/TestKeySizeCheck.java Changeset: b242eef9 Author: David Holmes Date: 2023-02-17 02:00:32 +0000 URL: https://git.openjdk.org/panama-foreign/commit/b242eef93e23ad2fce428e975a1b6c150cf6f17c 8280419: Remove dead code related to VerifyThread and verify_thread() Reviewed-by: stuefe, lucy ! src/hotspot/cpu/arm/runtime_arm.cpp ! src/hotspot/cpu/arm/sharedRuntime_arm.cpp ! src/hotspot/cpu/ppc/interp_masm_ppc_64.cpp ! src/hotspot/cpu/ppc/macroAssembler_ppc.cpp ! src/hotspot/cpu/ppc/macroAssembler_ppc.hpp ! src/hotspot/cpu/ppc/methodHandles_ppc.cpp ! src/hotspot/cpu/ppc/sharedRuntime_ppc.cpp ! src/hotspot/cpu/ppc/templateInterpreterGenerator_ppc.cpp ! src/hotspot/cpu/ppc/templateTable_ppc_64.cpp ! src/hotspot/cpu/s390/interp_masm_s390.cpp ! src/hotspot/cpu/s390/macroAssembler_s390.cpp ! src/hotspot/cpu/s390/macroAssembler_s390.hpp ! src/hotspot/cpu/s390/methodHandles_s390.cpp ! src/hotspot/cpu/s390/runtime_s390.cpp ! src/hotspot/cpu/s390/s390.ad ! src/hotspot/cpu/s390/sharedRuntime_s390.cpp ! src/hotspot/cpu/s390/templateInterpreterGenerator_s390.cpp ! src/hotspot/share/runtime/globals.hpp Changeset: 655a7127 Author: Joe Darcy Date: 2023-02-17 03:22:06 +0000 URL: https://git.openjdk.org/panama-foreign/commit/655a71277dd9a01913f29dad4ca57c43e4eab174 8301444: Port fdlibm hyperbolic transcendental functions to Java Reviewed-by: bpb ! src/java.base/share/classes/java/lang/FdLibm.java ! src/java.base/share/classes/java/lang/StrictMath.java ! test/jdk/java/lang/StrictMath/ExhaustingTests.java ! test/jdk/java/lang/StrictMath/ExpTests.java ! test/jdk/java/lang/StrictMath/FdlibmTranslit.java ! test/jdk/java/lang/StrictMath/HyperbolicTests.java Changeset: 49eb68ba Author: Ioi Lam Date: 2023-02-17 07:21:26 +0000 URL: https://git.openjdk.org/panama-foreign/commit/49eb68ba958794fe547cccd00725192cc7063043 8296158: Refactor the verification of CDS region checksum Reviewed-by: ccheung, matsaave ! src/hotspot/share/cds/archiveHeapLoader.cpp ! src/hotspot/share/cds/filemap.cpp ! src/hotspot/share/cds/filemap.hpp Changeset: 47ca5773 Author: Damon Fenacci Committer: Tobias Hartmann Date: 2023-02-17 09:10:20 +0000 URL: https://git.openjdk.org/panama-foreign/commit/47ca5773a54743244a9b28f877246d260b90a408 8301491: C2: java.lang.StringUTF16::indexOfChar intrinsic called with negative character argument Reviewed-by: thartmann, kvn ! src/hotspot/share/opto/library_call.cpp + test/hotspot/jtreg/compiler/intrinsics/string/TestStringIndexOfCharIntrinsics.java Changeset: c91cd281 Author: Johan Sj?len Date: 2023-02-17 09:41:12 +0000 URL: https://git.openjdk.org/panama-foreign/commit/c91cd2814baa8dee2af8af0fecf9185d4a0a44cf 8301481: Replace NULL with nullptr in os/windows Reviewed-by: coleenp, dholmes ! src/hotspot/os/windows/attachListener_windows.cpp ! src/hotspot/os/windows/gc/z/zMapper_windows.cpp ! src/hotspot/os/windows/gc/z/zPhysicalMemoryBacking_windows.cpp ! src/hotspot/os/windows/gc/z/zSyscall_windows.cpp ! src/hotspot/os/windows/gc/z/zUtils_windows.cpp ! src/hotspot/os/windows/gc/z/zVirtualMemory_windows.cpp ! src/hotspot/os/windows/iphlp_interface.cpp ! src/hotspot/os/windows/osThread_windows.cpp ! src/hotspot/os/windows/os_perf_windows.cpp ! src/hotspot/os/windows/os_windows.cpp ! src/hotspot/os/windows/park_windows.hpp ! src/hotspot/os/windows/pdh_interface.cpp ! src/hotspot/os/windows/perfMemory_windows.cpp ! src/hotspot/os/windows/semaphore_windows.cpp ! src/hotspot/os/windows/symbolengine.cpp ! src/hotspot/os/windows/symbolengine.hpp ! src/hotspot/os/windows/threadCrashProtection_windows.cpp ! src/hotspot/os/windows/threadCrashProtection_windows.hpp ! src/hotspot/os/windows/threadCritical_windows.cpp ! src/hotspot/os/windows/vmError_windows.cpp ! src/hotspot/os/windows/windbghelp.cpp Changeset: 4f1cffd5 Author: Albert Mingkun Yang Date: 2023-02-17 10:39:58 +0000 URL: https://git.openjdk.org/panama-foreign/commit/4f1cffd52c4717c974bd5bad337ad82c22819583 8302674: Parallel: Remove unused methods in MutableNUMASpace Reviewed-by: tschatzl ! src/hotspot/share/gc/parallel/mutableNUMASpace.cpp ! src/hotspot/share/gc/parallel/mutableNUMASpace.hpp Changeset: cae2e16f Author: duke Date: 2023-02-17 11:00:38 +0000 URL: https://git.openjdk.org/panama-foreign/commit/cae2e16f4e0ae64108b298d8499679739f745d82 Automatic merge of jdk:master into master Changeset: 42c6814d Author: duke Date: 2023-02-17 11:00:50 +0000 URL: https://git.openjdk.org/panama-foreign/commit/42c6814d99059dbcc3734724c6e316ebcd782bc0 Automatic merge of master into foreign-memaccess+abi From pminborg at openjdk.org Fri Feb 17 11:07:20 2023 From: pminborg at openjdk.org (Per Minborg) Date: Fri, 17 Feb 2023 11:07:20 GMT Subject: [foreign-memaccess+abi] RFR: Add tests Message-ID: <34xIxMB-wJMuUlJUGAuq5dhOTIU1ATNFA2XAJF8H0ts=.35f9324e-9b10-4723-b581-fe450b191bb7@github.com> This PR proposes adding some additional tests and also some cleanup of tests. ------------- Commit messages: - Bump copyright years - Add session tests - Add tests Changes: https://git.openjdk.org/panama-foreign/pull/800/files Webrev: https://webrevs.openjdk.org/?repo=panama-foreign&pr=800&range=00 Stats: 92 lines in 2 files changed: 62 ins; 0 del; 30 mod Patch: https://git.openjdk.org/panama-foreign/pull/800.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/800/head:pull/800 PR: https://git.openjdk.org/panama-foreign/pull/800 From duke at openjdk.org Fri Feb 17 11:13:50 2023 From: duke at openjdk.org (duke) Date: Fri, 17 Feb 2023 11:13:50 GMT Subject: git: openjdk/panama-foreign: master: 97 new changesets Message-ID: Changeset: 5830c03e Author: Matthijs Bijman Committer: Paul Hohensee Date: 2023-02-10 13:38:42 +0000 URL: https://git.openjdk.org/panama-foreign/commit/5830c03e531f2c84c31a61cd49c40bb5e549a91d 8302004: InlineTree should consult replay file in release build Reviewed-by: phh, xliu ! src/hotspot/share/opto/bytecodeInfo.cpp ! src/hotspot/share/opto/parse.hpp Changeset: c25b4f46 Author: Per Minborg Date: 2023-02-10 13:46:46 +0000 URL: https://git.openjdk.org/panama-foreign/commit/c25b4f461968503888124c6fd5cd6e788617ec3f 8301578: Perform output outside synchronization in Module.class Reviewed-by: alanb ! src/java.base/share/classes/java/lang/Module.java Changeset: 1428db79 Author: Johan Sj?len Date: 2023-02-10 14:01:30 +0000 URL: https://git.openjdk.org/panama-foreign/commit/1428db798c8b983c23b31001ce2964f174139fea 8301224: Replace NULL with nullptr in share/gc/shared/ Reviewed-by: stefank, kbarrett ! src/hotspot/share/gc/shared/adaptiveSizePolicy.cpp ! src/hotspot/share/gc/shared/barrierSet.cpp ! src/hotspot/share/gc/shared/barrierSet.hpp ! src/hotspot/share/gc/shared/barrierSet.inline.hpp ! src/hotspot/share/gc/shared/barrierSetNMethod.cpp ! src/hotspot/share/gc/shared/bufferNodeList.cpp ! src/hotspot/share/gc/shared/bufferNodeList.hpp ! src/hotspot/share/gc/shared/c1/barrierSetC1.cpp ! src/hotspot/share/gc/shared/c1/barrierSetC1.hpp ! src/hotspot/share/gc/shared/c1/modRefBarrierSetC1.cpp ! src/hotspot/share/gc/shared/c2/barrierSetC2.cpp ! src/hotspot/share/gc/shared/c2/barrierSetC2.hpp ! src/hotspot/share/gc/shared/c2/cardTableBarrierSetC2.cpp ! src/hotspot/share/gc/shared/c2/modRefBarrierSetC2.cpp ! src/hotspot/share/gc/shared/cardTable.cpp ! src/hotspot/share/gc/shared/cardTable.hpp ! src/hotspot/share/gc/shared/cardTableRS.cpp ! src/hotspot/share/gc/shared/collectedHeap.cpp ! src/hotspot/share/gc/shared/collectedHeap.hpp ! src/hotspot/share/gc/shared/concurrentGCBreakpoints.cpp ! src/hotspot/share/gc/shared/freeListAllocator.hpp ! src/hotspot/share/gc/shared/gcBehaviours.cpp ! src/hotspot/share/gc/shared/gcConfig.cpp ! src/hotspot/share/gc/shared/gcHeapSummary.hpp ! src/hotspot/share/gc/shared/gcId.cpp ! src/hotspot/share/gc/shared/gcLogPrecious.cpp ! src/hotspot/share/gc/shared/gcName.hpp ! src/hotspot/share/gc/shared/gcTimer.cpp ! src/hotspot/share/gc/shared/gcTrace.cpp ! src/hotspot/share/gc/shared/gcTrace.hpp ! src/hotspot/share/gc/shared/gcTraceTime.hpp ! src/hotspot/share/gc/shared/gcTraceTime.inline.hpp ! src/hotspot/share/gc/shared/gcVMOperations.cpp ! src/hotspot/share/gc/shared/gcVMOperations.hpp ! src/hotspot/share/gc/shared/gcWhen.hpp ! src/hotspot/share/gc/shared/genCollectedHeap.cpp ! src/hotspot/share/gc/shared/genOopClosures.hpp ! src/hotspot/share/gc/shared/genOopClosures.inline.hpp ! src/hotspot/share/gc/shared/generation.cpp ! src/hotspot/share/gc/shared/generation.hpp ! src/hotspot/share/gc/shared/generationCounters.cpp ! src/hotspot/share/gc/shared/generationCounters.hpp ! src/hotspot/share/gc/shared/generationSpec.cpp ! src/hotspot/share/gc/shared/locationPrinter.inline.hpp ! src/hotspot/share/gc/shared/markBitMap.hpp ! src/hotspot/share/gc/shared/markBitMap.inline.hpp ! src/hotspot/share/gc/shared/memAllocator.cpp ! src/hotspot/share/gc/shared/modRefBarrierSet.hpp ! src/hotspot/share/gc/shared/modRefBarrierSet.inline.hpp ! src/hotspot/share/gc/shared/oopStorage.cpp ! src/hotspot/share/gc/shared/oopStorage.hpp ! src/hotspot/share/gc/shared/oopStorage.inline.hpp ! src/hotspot/share/gc/shared/oopStorageParState.hpp ! src/hotspot/share/gc/shared/oopStorageSet.cpp ! src/hotspot/share/gc/shared/oopStorageSetParState.inline.hpp ! src/hotspot/share/gc/shared/parallelCleaning.cpp ! src/hotspot/share/gc/shared/plab.cpp ! src/hotspot/share/gc/shared/plab.hpp ! src/hotspot/share/gc/shared/preservedMarks.hpp ! src/hotspot/share/gc/shared/pretouchTask.cpp ! src/hotspot/share/gc/shared/ptrQueue.cpp ! src/hotspot/share/gc/shared/ptrQueue.hpp ! src/hotspot/share/gc/shared/referenceProcessor.cpp ! src/hotspot/share/gc/shared/referenceProcessor.hpp ! src/hotspot/share/gc/shared/referenceProcessor.inline.hpp ! src/hotspot/share/gc/shared/referenceProcessorPhaseTimes.cpp ! src/hotspot/share/gc/shared/satbMarkQueue.cpp ! src/hotspot/share/gc/shared/satbMarkQueue.hpp ! src/hotspot/share/gc/shared/scavengableNMethods.cpp ! src/hotspot/share/gc/shared/softRefGenPolicy.cpp ! src/hotspot/share/gc/shared/space.cpp ! src/hotspot/share/gc/shared/space.hpp ! src/hotspot/share/gc/shared/space.inline.hpp ! src/hotspot/share/gc/shared/spaceDecorator.hpp ! src/hotspot/share/gc/shared/suspendibleThreadSet.cpp ! src/hotspot/share/gc/shared/taskTerminator.cpp ! src/hotspot/share/gc/shared/taskTerminator.hpp ! src/hotspot/share/gc/shared/taskqueue.cpp ! src/hotspot/share/gc/shared/taskqueue.hpp ! src/hotspot/share/gc/shared/taskqueue.inline.hpp ! src/hotspot/share/gc/shared/threadLocalAllocBuffer.cpp ! src/hotspot/share/gc/shared/threadLocalAllocBuffer.hpp ! src/hotspot/share/gc/shared/threadLocalAllocBuffer.inline.hpp ! src/hotspot/share/gc/shared/weakProcessor.inline.hpp ! src/hotspot/share/gc/shared/weakProcessorTimes.cpp ! src/hotspot/share/gc/shared/weakProcessorTimes.hpp ! src/hotspot/share/gc/shared/workerDataArray.inline.hpp ! src/hotspot/share/gc/shared/workerThread.cpp ! src/hotspot/share/gc/shared/workerUtils.cpp Changeset: 4539899c Author: Johan Sj?len Date: 2023-02-10 14:02:20 +0000 URL: https://git.openjdk.org/panama-foreign/commit/4539899c55c77771b951d005c17550ef9ac94819 8301480: Replace NULL with nullptr in os/posix Reviewed-by: coleenp, dholmes ! src/hotspot/os/posix/gc/z/zUtils_posix.cpp ! src/hotspot/os/posix/os_posix.cpp ! src/hotspot/os/posix/os_posix.hpp ! src/hotspot/os/posix/perfMemory_posix.cpp ! src/hotspot/os/posix/safefetch_sigjmp.cpp ! src/hotspot/os/posix/safefetch_static_posix.cpp ! src/hotspot/os/posix/signals_posix.cpp ! src/hotspot/os/posix/threadCrashProtection_posix.cpp ! src/hotspot/os/posix/threadCrashProtection_posix.hpp ! src/hotspot/os/posix/threadLocalStorage_posix.cpp ! src/hotspot/os/posix/vmError_posix.cpp Changeset: 582b9434 Author: Coleen Phillimore Date: 2023-02-10 18:00:19 +0000 URL: https://git.openjdk.org/panama-foreign/commit/582b943439488a0f43482b67c0bc0d4975bf4023 8278965: crash in SymbolTable::do_lookup Reviewed-by: dholmes, fparain, iklam ! src/hotspot/share/classfile/placeholders.hpp ! src/hotspot/share/classfile/systemDictionary.cpp + test/hotspot/gtest/classfile/test_placeholders.cpp Changeset: db1b48ef Author: Roman Kennke Date: 2023-02-10 18:12:43 +0000 URL: https://git.openjdk.org/panama-foreign/commit/db1b48ef3bb4f8f0fbb6879200c0655b7fe006eb 8302167: Avoid allocating register in fast_lock() Reviewed-by: kvn, kdnilsen ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp ! src/hotspot/cpu/x86/x86_64.ad Changeset: 880f52fd Author: Chris Plummer Date: 2023-02-10 19:29:34 +0000 URL: https://git.openjdk.org/panama-foreign/commit/880f52fda0335283b0fdd932030051d653779e7d 8301638: A number of nsk/jdi invokemethod tests should be converted to create virtual threads Reviewed-by: lmesnik, amenkov, sspitsyn ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ClassType/invokeMethod/invokemethod012t.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/invokeMethod/invokemethod010t.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/invokeMethod/invokemethod011t.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/invokeMethod/invokemethod012t.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/invokeMethod/invokemethod013t.java Changeset: 57798dd4 Author: Brian Burkhalter Date: 2023-02-10 19:43:30 +0000 URL: https://git.openjdk.org/panama-foreign/commit/57798dd4394cea14ac64fc839b81e9e5bae0a80e 6595142: (spec) ByteArrayInputStream treats bytes, not characters Reviewed-by: alanb ! src/java.base/share/classes/java/io/BufferedInputStream.java ! src/java.base/share/classes/java/io/ByteArrayInputStream.java ! src/java.base/share/classes/java/io/SequenceInputStream.java Changeset: 84e47996 Author: Brian Burkhalter Date: 2023-02-10 19:44:00 +0000 URL: https://git.openjdk.org/panama-foreign/commit/84e47996e88cf640e5e9d5ab4be8a640c67afbf5 8297292: java/nio/channels/FileChannel/FileExtensionAndMap.java is too slow Reviewed-by: jpai ! test/jdk/ProblemList.txt - test/jdk/java/nio/channels/FileChannel/FileExtensionAndMap.java Changeset: 98e98e90 Author: Jim Laskey Date: 2023-02-11 00:24:24 +0000 URL: https://git.openjdk.org/panama-foreign/commit/98e98e9049be3a93ddf82d5d4d3044e0f1e4a640 8296322: javac: use methods to manage parser mode flags Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java Changeset: 919a6da2 Author: Joe Darcy Date: 2023-02-11 02:15:46 +0000 URL: https://git.openjdk.org/panama-foreign/commit/919a6da2a74d0a57e691a9815c35a16fc7645784 8301202: Port fdlibm log to Java Reviewed-by: bpb ! src/java.base/share/classes/java/lang/FdLibm.java ! src/java.base/share/classes/java/lang/StrictMath.java + test/jdk/java/lang/Math/LogTests.java ! test/jdk/java/lang/StrictMath/FdlibmTranslit.java + test/jdk/java/lang/StrictMath/LogTests.java Changeset: 74b167b2 Author: Alan Bateman Date: 2023-02-11 06:20:45 +0000 URL: https://git.openjdk.org/panama-foreign/commit/74b167b23d1eb4b6685e03caaf2e1567525b9800 8301819: Enable continuations code by default Reviewed-by: kvn, dholmes, dcubed ! src/hotspot/share/runtime/continuation.cpp ! src/hotspot/share/runtime/continuation.hpp Changeset: 1ef9f650 Author: Doug Simon Date: 2023-02-11 15:38:59 +0000 URL: https://git.openjdk.org/panama-foreign/commit/1ef9f6507ba45419f0fa896915eec064762c5153 8302172: [JVMCI] HotSpotResolvedJavaMethodImpl.canBeInlined must respect ForceInline Reviewed-by: dlong ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl.java Changeset: 6f9f2b5d Author: sunguoyun Committer: Roger Riggs Date: 2023-02-11 16:53:59 +0000 URL: https://git.openjdk.org/panama-foreign/commit/6f9f2b5d379315b6452718ccd7c5c953a6eff5d4 8301737: java/rmi/server/UnicastRemoteObject/serialFilter/FilterUROTest.java fail with -Xcomp Reviewed-by: rriggs ! test/jdk/java/rmi/server/UnicastRemoteObject/serialFilter/FilterUROTest.java Changeset: 6a44120a Author: Joe Wang Date: 2023-02-11 22:33:13 +0000 URL: https://git.openjdk.org/panama-foreign/commit/6a44120a16d0f06b4ed9f0ebf6b0919da7070287 8301269: Update Commons BCEL to Version 6.7.0 Reviewed-by: lancea ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/Const.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/ExceptionConst.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/Repository.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/AccessFlags.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/AnnotationDefault.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/AnnotationElementValue.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/AnnotationEntry.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Annotations.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ArrayElementValue.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Attribute.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/AttributeReader.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/BootstrapMethod.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/BootstrapMethods.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ClassElementValue.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ClassFormatException.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ClassParser.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Code.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/CodeException.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Constant.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantCP.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantClass.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantDouble.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantDynamic.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantFieldref.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantFloat.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantInteger.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantInterfaceMethodref.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantInvokeDynamic.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantLong.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantMethodHandle.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantMethodType.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantMethodref.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantModule.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantNameAndType.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantObject.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantPackage.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantPool.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantString.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantUtf8.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantValue.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Deprecated.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/DescendingVisitor.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ElementValue.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ElementValuePair.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/EmptyVisitor.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/EnclosingMethod.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/EnumElementValue.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ExceptionTable.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Field.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/FieldOrMethod.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/InnerClass.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/InnerClasses.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/JavaClass.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/LineNumber.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/LineNumberTable.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/LocalVariable.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/LocalVariableTable.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/LocalVariableTypeTable.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Method.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/MethodParameter.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/MethodParameters.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Module.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ModuleExports.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ModuleMainClass.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ModuleOpens.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ModulePackages.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ModuleProvides.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ModuleRequires.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/NestHost.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/NestMembers.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Node.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/PMGClass.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ParameterAnnotationEntry.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ParameterAnnotations.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/RuntimeInvisibleAnnotations.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/RuntimeInvisibleParameterAnnotations.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/RuntimeVisibleAnnotations.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/RuntimeVisibleParameterAnnotations.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Signature.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/SimpleElementValue.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/SourceFile.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/StackMap.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/StackMapEntry.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/StackMapType.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Synthetic.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Unknown.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/UnknownAttributeReader.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Utility.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Visitor.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/AALOAD.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/AASTORE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ACONST_NULL.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ALOAD.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ANEWARRAY.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ARETURN.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ARRAYLENGTH.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ASTORE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ATHROW.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/AllocationInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/AnnotationElementValueGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/AnnotationEntryGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ArithmeticInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ArrayElementValueGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ArrayInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ArrayType.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/BALOAD.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/BASTORE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/BIPUSH.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/BREAKPOINT.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/BasicType.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/BranchHandle.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/BranchInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/CALOAD.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/CASTORE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/CHECKCAST.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/CPInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ClassElementValueGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ClassGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ClassGenException.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ClassObserver.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/CodeExceptionGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/CompoundInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ConstantPoolGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ConstantPushInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ConversionInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/D2F.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/D2I.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/D2L.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DADD.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DALOAD.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DASTORE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DCMPG.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DCMPL.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DCONST.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DDIV.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DLOAD.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DMUL.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DNEG.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DREM.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DRETURN.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DSTORE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DSUB.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DUP.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DUP2.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DUP2_X1.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DUP2_X2.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DUP_X1.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DUP_X2.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ElementValueGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ElementValuePairGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/EmptyVisitor.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/EnumElementValueGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ExceptionThrower.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/F2D.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/F2I.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/F2L.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FADD.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FALOAD.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FASTORE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FCMPG.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FCMPL.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FCONST.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FDIV.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FLOAD.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FMUL.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FNEG.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FREM.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FRETURN.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FSTORE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FSUB.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FieldGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FieldGenOrMethodGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FieldInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FieldObserver.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FieldOrMethod.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/GETFIELD.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/GETSTATIC.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/GOTO.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/GOTO_W.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/GotoInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/I2B.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/I2C.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/I2D.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/I2F.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/I2L.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/I2S.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IADD.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IALOAD.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IAND.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IASTORE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ICONST.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IDIV.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IFEQ.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IFGE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IFGT.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IFLE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IFLT.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IFNE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IFNONNULL.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IFNULL.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IF_ACMPEQ.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IF_ACMPNE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IF_ICMPEQ.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IF_ICMPGE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IF_ICMPGT.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IF_ICMPLE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IF_ICMPLT.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IF_ICMPNE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IINC.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ILOAD.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IMPDEP1.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IMPDEP2.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IMUL.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/INEG.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/INSTANCEOF.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/INVOKEDYNAMIC.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/INVOKEINTERFACE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/INVOKESPECIAL.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/INVOKESTATIC.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/INVOKEVIRTUAL.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IOR.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IREM.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IRETURN.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ISHL.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ISHR.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ISTORE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ISUB.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IUSHR.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IXOR.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IfInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IndexedInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/Instruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/InstructionComparator.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/InstructionConst.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/InstructionFactory.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/InstructionHandle.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/InstructionList.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/InstructionListObserver.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/InstructionTargeter.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/InvokeInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/JSR.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/JSR_W.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/JsrInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/L2D.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/L2F.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/L2I.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LADD.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LALOAD.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LAND.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LASTORE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LCMP.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LCONST.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LDC.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LDC2_W.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LDC_W.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LDIV.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LLOAD.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LMUL.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LNEG.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LOOKUPSWITCH.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LOR.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LREM.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LRETURN.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LSHL.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LSHR.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LSTORE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LSUB.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LUSHR.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LXOR.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LineNumberGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LoadClass.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LoadInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LocalVariableGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LocalVariableInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/MONITORENTER.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/MONITOREXIT.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/MULTIANEWARRAY.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/MethodGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/MethodObserver.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/NEW.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/NEWARRAY.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/NOP.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/NameSignatureInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/NamedAndTyped.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ObjectType.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/POP.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/POP2.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/PUSH.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/PUTFIELD.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/PUTSTATIC.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/PopInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/PushInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/RET.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/RETURN.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ReferenceType.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ReturnInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ReturnaddressType.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/SALOAD.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/SASTORE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/SIPUSH.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/SWAP.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/SWITCH.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/Select.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/SimpleElementValueGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/StackConsumer.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/StackInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/StackProducer.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/StoreInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/TABLESWITCH.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/TargetLostException.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/Type.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/TypedInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/UnconditionalBranch.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/VariableLengthInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/Visitor.java + src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/Args.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/AttributeHTML.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/BCELComparator.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/BCELFactory.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/BCELifier.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/ByteSequence.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/Class2HTML.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/ClassQueue.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/ClassSet.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/ClassStack.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/CodeHTML.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/ConstantHTML.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/InstructionFinder.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/MethodHTML.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/ModularRuntimeImage.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/Repository.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/SyntheticRepository.java + src/java.xml/share/classes/jdk/xml/internal/Utils.java ! src/java.xml/share/legal/bcel.md Changeset: 8049e59a Author: Joe Darcy Date: 2023-02-12 17:45:55 +0000 URL: https://git.openjdk.org/panama-foreign/commit/8049e59a5c5ab5bd2055face6df02445859335ca 8301833: Add wide-ranging tests for FDLIBM porting Reviewed-by: bpb, alanb + test/jdk/java/lang/StrictMath/ExhaustingTests.java Changeset: 7c233bc1 Author: Feilong Jiang Committer: Fei Yang Date: 2023-02-13 02:01:25 +0000 URL: https://git.openjdk.org/panama-foreign/commit/7c233bc1c88564b53ee3b46dbe7763de81ef5468 8302114: RISC-V: Several foreign jtreg tests fail with debug build after JDK-8301818 Reviewed-by: fyang, gcao ! src/hotspot/cpu/riscv/c1_LIRAssembler_riscv.cpp ! src/hotspot/cpu/riscv/macroAssembler_riscv.cpp ! src/hotspot/cpu/riscv/sharedRuntime_riscv.cpp ! src/hotspot/cpu/riscv/stubGenerator_riscv.cpp Changeset: 1fec6b59 Author: Dingli Zhang Committer: Fei Yang Date: 2023-02-13 02:02:40 +0000 URL: https://git.openjdk.org/panama-foreign/commit/1fec6b5953b51dae4be640d6e4e4f79136b9348d 8301852: RISC-V: Optimize class atomic when order is memory_order_relaxed Reviewed-by: fyang ! src/hotspot/os_cpu/linux_riscv/atomic_linux_riscv.hpp Changeset: d1c87a03 Author: Tobias Hartmann Date: 2023-02-13 06:23:24 +0000 URL: https://git.openjdk.org/panama-foreign/commit/d1c87a03ad188034e4a62e033b2d9d908805eacd 8302203: IR framework should detect non-compilable test methods early Reviewed-by: chagedorn, kvn ! test/hotspot/jtreg/compiler/lib/ir_framework/test/AbstractTest.java Changeset: 5d39d145 Author: Emanuel Peter Date: 2023-02-13 08:13:13 +0000 URL: https://git.openjdk.org/panama-foreign/commit/5d39d14522df5dc35a5f4c9934d2cf8da4fecaa6 8299970: Speed up compiler/arraycopy/TestArrayCopyConjoint.java Reviewed-by: chagedorn, kvn, thartmann ! test/hotspot/jtreg/compiler/arraycopy/TestArrayCopyConjoint.java ! test/hotspot/jtreg/compiler/arraycopy/TestArrayCopyDisjoint.java Changeset: f4b140b4 Author: Conor Cleary Date: 2023-02-13 08:34:45 +0000 URL: https://git.openjdk.org/panama-foreign/commit/f4b140b4200fc0f49161395501d3dbcba7a79059 8296410: HttpClient throws java.io.IOException: no statuscode in response for HTTP2 Reviewed-by: dfuchs, jpai ! src/java.net.http/share/classes/jdk/internal/net/http/Stream.java + test/jdk/java/net/httpclient/http2/TrailingHeadersTest.java ! test/jdk/java/net/httpclient/lib/jdk/httpclient/test/lib/http2/BodyOutputStream.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: 0458d382 Author: Prasanta Sadhukhan Date: 2023-02-13 08:59:19 +0000 URL: https://git.openjdk.org/panama-foreign/commit/0458d3825c0b6ba215a87143ad472acdcba59f40 6513512: MetalLookAndFeel.initClassDefaults does not install an entry for MetalMenuBarUI Reviewed-by: serb, aivanov ! src/java.desktop/share/classes/javax/swing/plaf/metal/MetalLookAndFeel.java ! src/java.desktop/share/classes/javax/swing/plaf/metal/OceanTheme.java Changeset: 4e327db1 Author: Johan Sj?len Date: 2023-02-13 09:25:09 +0000 URL: https://git.openjdk.org/panama-foreign/commit/4e327db1d127c652ef39e31c164e36ae429a0065 8301499: Replace NULL with nullptr in cpu/zero Reviewed-by: dholmes, rehn ! src/hotspot/cpu/zero/abstractInterpreter_zero.cpp ! src/hotspot/cpu/zero/bytecodeInterpreter_zero.cpp ! src/hotspot/cpu/zero/compiledIC_zero.cpp ! src/hotspot/cpu/zero/continuationFreezeThaw_zero.inline.hpp ! src/hotspot/cpu/zero/continuationHelper_zero.inline.hpp ! src/hotspot/cpu/zero/disassembler_zero.hpp ! src/hotspot/cpu/zero/frame_zero.cpp ! src/hotspot/cpu/zero/frame_zero.inline.hpp ! src/hotspot/cpu/zero/icBuffer_zero.cpp ! src/hotspot/cpu/zero/interpreterRT_zero.cpp ! src/hotspot/cpu/zero/javaFrameAnchor_zero.hpp ! src/hotspot/cpu/zero/methodHandles_zero.cpp ! src/hotspot/cpu/zero/nativeInst_zero.hpp ! src/hotspot/cpu/zero/registerMap_zero.hpp ! src/hotspot/cpu/zero/register_zero.cpp ! src/hotspot/cpu/zero/relocInfo_zero.cpp ! src/hotspot/cpu/zero/sharedRuntime_zero.cpp ! src/hotspot/cpu/zero/smallRegisterMap_zero.inline.hpp ! src/hotspot/cpu/zero/stackChunkFrameStream_zero.inline.hpp ! src/hotspot/cpu/zero/stack_zero.cpp ! src/hotspot/cpu/zero/stack_zero.hpp ! src/hotspot/cpu/zero/stubGenerator_zero.cpp ! src/hotspot/cpu/zero/vtableStubs_zero.cpp ! src/hotspot/cpu/zero/zeroInterpreter_zero.cpp Changeset: bbd8ae78 Author: Stuart Monteith Committer: Andrew Dinn Date: 2023-02-13 11:07:11 +0000 URL: https://git.openjdk.org/panama-foreign/commit/bbd8ae78200e4128d4eddf8694835956b5c5f142 8294194: [AArch64] Create intrinsics compress and expand Reviewed-by: xgong, adinn, haosun, aph ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/share/opto/constantTable.cpp ! test/hotspot/jtreg/compiler/intrinsics/TestBitShuffleOpers.java Changeset: cb810730 Author: Varada M Committer: Thomas Stuefe Date: 2023-02-13 11:12:36 +0000 URL: https://git.openjdk.org/panama-foreign/commit/cb8107303ed0563e06b1e2009d521869f4ca21e8 8300139: [AIX] Use pthreads to avoid JNI_createVM call from primordial thread Reviewed-by: dholmes, stuefe ! test/hotspot/jtreg/runtime/jni/CalleeSavedRegisters/FPRegs.java ! test/hotspot/jtreg/runtime/jni/CalleeSavedRegisters/exeFPRegs.c ! test/jdk/java/lang/reflect/exeCallerAccessTest/CallerAccessTest.java ! test/jdk/java/lang/reflect/exeCallerAccessTest/exeCallerAccessTest.c ! test/jdk/jni/nullCaller/NullCallerTest.java ! test/jdk/jni/nullCaller/exeNullCallerTest.cpp ! test/lib-test/jdk/test/lib/process/exejvm-test-launcher.c Changeset: 1f9c110c Author: Claes Redestad Date: 2023-02-13 11:17:38 +0000 URL: https://git.openjdk.org/panama-foreign/commit/1f9c110c1f9ea6f5c3621a25692ce9d7abf245d4 8301958: Reduce Arrays.copyOf/-Range overheads Reviewed-by: alanb, smarks ! src/java.base/share/classes/java/util/Arrays.java ! test/micro/org/openjdk/bench/java/lang/StringConstructor.java Changeset: 0025764e Author: Albert Mingkun Yang Date: 2023-02-13 11:28:40 +0000 URL: https://git.openjdk.org/panama-foreign/commit/0025764ec02bef391720962272b7219d34c00653 8040793: vmTestbase/nsk/monitoring/stress/lowmem fails on calling isCollectionUsageThresholdExceeded() Reviewed-by: iwalulya, tschatzl ! src/hotspot/share/gc/serial/defNewGeneration.cpp Changeset: df93880e Author: sunguoyun Committer: Daniel Fuchs Date: 2023-02-13 12:50:28 +0000 URL: https://git.openjdk.org/panama-foreign/commit/df93880efd60804118a1578e6da2a2291e8abae1 8301942: java/net/httpclient/DigestEchoClientSSL.java fail with -Xcomp Reviewed-by: dfuchs ! test/jdk/java/net/httpclient/DigestEchoClient.java Changeset: 57aef857 Author: Richard Reingruber Date: 2023-02-13 13:33:06 +0000 URL: https://git.openjdk.org/panama-foreign/commit/57aef85734741efede5b3471f060445b3cc43853 8301838: PPC: continuation yield intrinsic: exception check not needed if yield succeeded Reviewed-by: lucy, goetz ! src/hotspot/cpu/ppc/sharedRuntime_ppc.cpp Changeset: 99b6c0eb Author: Gui Cao Committer: Ludovic Henry Date: 2023-02-13 15:39:08 +0000 URL: https://git.openjdk.org/panama-foreign/commit/99b6c0eb487d0f7f33af83879ec53edd97246b7e 8302289: RISC-V: Use bgez instruction in arraycopy_simple_check when possible Reviewed-by: fyang, dzhang, luhenry ! src/hotspot/cpu/riscv/c1_LIRAssembler_arraycopy_riscv.cpp Changeset: f4d4fa50 Author: Erik ?sterlund Date: 2023-02-13 15:50:54 +0000 URL: https://git.openjdk.org/panama-foreign/commit/f4d4fa500c5038c85551bd7ed997e697d9f088eb 8300255: Introduce interface for GC oop verification in the assembler Co-authored-by: Martin Doerr Co-authored-by: Axel Boldt-Christmas Co-authored-by: Yadong Wang Reviewed-by: fyang, aboldtch, coleenp ! src/hotspot/cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/gc/z/zBarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/z/zBarrierSetAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp ! src/hotspot/cpu/ppc/c1_LIRAssembler_ppc.cpp ! src/hotspot/cpu/ppc/gc/shared/barrierSetAssembler_ppc.cpp ! src/hotspot/cpu/ppc/gc/shared/barrierSetAssembler_ppc.hpp ! src/hotspot/cpu/riscv/gc/shared/barrierSetAssembler_riscv.cpp ! src/hotspot/cpu/riscv/gc/shared/barrierSetAssembler_riscv.hpp ! src/hotspot/cpu/riscv/gc/z/zBarrierSetAssembler_riscv.cpp ! src/hotspot/cpu/riscv/gc/z/zBarrierSetAssembler_riscv.hpp ! src/hotspot/cpu/riscv/stubGenerator_riscv.cpp ! src/hotspot/cpu/x86/gc/shared/barrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shared/barrierSetAssembler_x86.hpp ! src/hotspot/cpu/x86/gc/z/zBarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/z/zBarrierSetAssembler_x86.hpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp Changeset: 101db262 Author: Amit Kumar Committer: Tyler Steele Date: 2023-02-13 16:14:33 +0000 URL: https://git.openjdk.org/panama-foreign/commit/101db262e1eef9afcc316009740ebf74a7c598d9 8301697: [s390] Optimized-build is broken Reviewed-by: tsteele, lucy ! src/hotspot/cpu/s390/runtime_s390.cpp ! src/hotspot/cpu/s390/templateInterpreterGenerator_s390.cpp Changeset: c37e9d1c Author: Gerard Ziemski Date: 2023-02-13 18:14:31 +0000 URL: https://git.openjdk.org/panama-foreign/commit/c37e9d1c8de3d7401422a08342473f803650c4e2 8298293: NMT: os::realloc() should verify that flags do not change between reallocations Reviewed-by: dholmes, stuefe, iklam ! src/hotspot/share/runtime/os.cpp ! src/hotspot/share/services/nmtPreInit.cpp ! src/hotspot/share/services/nmtPreInit.hpp Changeset: d503c664 Author: Amit Kumar Committer: Magnus Ihse Bursie Date: 2023-02-13 19:01:05 +0000 URL: https://git.openjdk.org/panama-foreign/commit/d503c66400f37a44406419fab280e64e3d7c9014 8302155: [AIX] NUM_LCPU is not required variable Reviewed-by: tsteele, ihse ! make/autoconf/build-performance.m4 Changeset: abbeb7e4 Author: Coleen Phillimore Date: 2023-02-13 20:57:01 +0000 URL: https://git.openjdk.org/panama-foreign/commit/abbeb7e4d2f5739dff77b2c79e675fb69368db1e 8302108: Clean up placeholder supername code Reviewed-by: dholmes, iklam ! src/hotspot/share/classfile/placeholders.cpp ! src/hotspot/share/classfile/placeholders.hpp ! src/hotspot/share/oops/symbolHandle.hpp ! test/hotspot/gtest/classfile/test_placeholders.cpp Changeset: 13b1ebba Author: Serguei Spitsyn Date: 2023-02-14 01:28:42 +0000 URL: https://git.openjdk.org/panama-foreign/commit/13b1ebba276940ff83e53b8ec3659280b3574204 8298853: JvmtiVTMSTransitionDisabler should support disabling one virtual thread transitions Reviewed-by: pchilanomate, lmesnik ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/prims/jvmtiEnv.cpp ! src/hotspot/share/prims/jvmtiEnvBase.cpp ! src/hotspot/share/prims/jvmtiEnvThreadState.cpp ! src/hotspot/share/prims/jvmtiThreadState.cpp ! src/hotspot/share/prims/jvmtiThreadState.hpp Changeset: 94e7cc85 Author: Tagir F. Valeev Date: 2023-02-14 05:39:07 +0000 URL: https://git.openjdk.org/panama-foreign/commit/94e7cc8587356988e713d23d1653bdd5c43fb3f1 8301226: Add clamp() methods to java.lang.Math and to StrictMath Reviewed-by: qamai, darcy ! src/java.base/share/classes/java/lang/Math.java ! src/java.base/share/classes/java/lang/StrictMath.java + test/jdk/java/lang/Math/Clamp.java Changeset: d782125c Author: Eirik Bjorsnos Committer: Jaikiran Pai Date: 2023-02-14 06:58:56 +0000 URL: https://git.openjdk.org/panama-foreign/commit/d782125c8f3bfe087269e4430dd12328d8cc77f8 8302214: Typo in javadoc of Arrays.compare and Arrays.mismatch Reviewed-by: jpai ! src/java.base/share/classes/java/util/Arrays.java Changeset: 7f71a104 Author: Erik ?sterlund Date: 2023-02-14 09:18:48 +0000 URL: https://git.openjdk.org/panama-foreign/commit/7f71a1040d9c03f72d082e329ccaf2c4a3c060a6 8301874: BarrierSetC2 should assign barrier data to stores Reviewed-by: rcastanedalo, kvn ! src/hotspot/share/gc/shared/c2/barrierSetC2.cpp Changeset: ee5f6e15 Author: Severin Gehwolf Date: 2023-02-14 09:27:36 +0000 URL: https://git.openjdk.org/panama-foreign/commit/ee5f6e156de0fd3d78adf60951866f43c492725b 8302337: JDK crashes if lib/modules contains non-zero byte containing ATTRIBUTE_END Reviewed-by: stuefe, jlaskey, alanb ! src/java.base/share/native/libjimage/imageFile.cpp Changeset: 92474f13 Author: Conor Cleary Date: 2023-02-14 09:41:36 +0000 URL: https://git.openjdk.org/panama-foreign/commit/92474f13f03afacc48541b0de17998998f70eb65 8301243: java/net/httpclient/http2/IdleConnectionTimeoutTest.java intermittent failure Reviewed-by: dfuchs ! test/jdk/java/net/httpclient/http2/IdleConnectionTimeoutTest.java Changeset: 7c50ab16 Author: Albert Mingkun Yang Date: 2023-02-14 10:18:43 +0000 URL: https://git.openjdk.org/panama-foreign/commit/7c50ab1612fafaa5281cc72d8f511e388cdb1d97 8225409: G1: Remove the Hot Card Cache Reviewed-by: tschatzl, iwalulya - src/hotspot/share/gc/g1/g1CardCounts.cpp - src/hotspot/share/gc/g1/g1CardCounts.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/g1FullGCPrepareTask.cpp ! src/hotspot/share/gc/g1/g1GCPhaseTimes.cpp ! src/hotspot/share/gc/g1/g1GCPhaseTimes.hpp - src/hotspot/share/gc/g1/g1HotCardCache.cpp - src/hotspot/share/gc/g1/g1HotCardCache.hpp ! src/hotspot/share/gc/g1/g1Policy.cpp ! src/hotspot/share/gc/g1/g1RemSet.cpp ! src/hotspot/share/gc/g1/g1RemSet.hpp ! src/hotspot/share/gc/g1/g1YoungCollector.cpp ! src/hotspot/share/gc/g1/g1YoungCollector.hpp ! src/hotspot/share/gc/g1/g1YoungGCPostEvacuateTasks.cpp ! src/hotspot/share/gc/g1/g1YoungGCPostEvacuateTasks.hpp ! src/hotspot/share/gc/g1/g1_globals.hpp ! src/hotspot/share/gc/g1/heapRegionManager.cpp ! src/hotspot/share/gc/g1/heapRegionManager.hpp ! src/hotspot/share/runtime/arguments.cpp ! test/hotspot/jtreg/gc/g1/TestGCLogMessages.java ! test/hotspot/jtreg/gc/g1/TestLargePageUseForAuxMemory.java - test/hotspot/jtreg/gc/g1/TestNoUseHCC.java ! test/hotspot/jtreg/gc/g1/TestShrinkAuxiliaryData.java - test/hotspot/jtreg/gc/g1/TestShrinkAuxiliaryData00.java - test/hotspot/jtreg/gc/g1/TestShrinkAuxiliaryData05.java - test/hotspot/jtreg/gc/g1/TestShrinkAuxiliaryData10.java - test/hotspot/jtreg/gc/g1/TestShrinkAuxiliaryData15.java - test/hotspot/jtreg/gc/g1/TestShrinkAuxiliaryData20.java - test/hotspot/jtreg/gc/g1/TestShrinkAuxiliaryData25.java - test/hotspot/jtreg/gc/g1/TestShrinkAuxiliaryData27.java + test/hotspot/jtreg/gc/g1/TestShrinkAuxiliaryDataRunner.java ! test/jdk/jdk/jfr/event/gc/collection/TestG1ParallelPhases.java Changeset: 66742c83 Author: Jie Fu Date: 2023-02-14 10:57:49 +0000 URL: https://git.openjdk.org/panama-foreign/commit/66742c83d43fd114b86bfadc823d34448da3cec6 8302368: [ZGC] Client build fails after JDK-8300255 Reviewed-by: fyang, eosterlund ! src/hotspot/cpu/aarch64/gc/z/zBarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/riscv/gc/z/zBarrierSetAssembler_riscv.cpp ! src/hotspot/cpu/x86/gc/z/zBarrierSetAssembler_x86.cpp Changeset: 7dfe75cf Author: Ekaterina Vergizova Committer: Yuri Nesterenko Date: 2023-02-14 11:02:39 +0000 URL: https://git.openjdk.org/panama-foreign/commit/7dfe75cf553193faf709cff6b8b2505680d7cebc 8301842: JFR: increase checkpoint event size for stacktrace and string pool Reviewed-by: mgronlun ! src/hotspot/share/jfr/recorder/service/jfrRecorderService.cpp Changeset: 6d4b02b6 Author: Hannes Walln?fer Date: 2023-02-14 12:42:59 +0000 URL: https://git.openjdk.org/panama-foreign/commit/6d4b02b6c9b82f851b56055ba299f168618ab8ac 8302324: Inheritance tree does not show correct type parameters/arguments Reviewed-by: prappo ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java + test/langtools/jdk/javadoc/doclet/testInheritance/TestInheritance.java Changeset: 8c2c8b3f Author: Johan Sj?len Date: 2023-02-14 13:11:44 +0000 URL: https://git.openjdk.org/panama-foreign/commit/8c2c8b3f7f1bf286ca67a736938797d14fd7555c 8295344: Harden runtime/StackGuardPages/TestStackGuardPages.java Reviewed-by: dholmes, rehn ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/runtime/StackGuardPages/TestStackGuardPages.java + test/hotspot/jtreg/runtime/StackGuardPages/TestStackGuardPagesNative.java ! test/hotspot/jtreg/runtime/StackGuardPages/exeinvoke.c Changeset: 2ef001e0 Author: Vicente Romero Date: 2023-02-14 14:27:29 +0000 URL: https://git.openjdk.org/panama-foreign/commit/2ef001e09774fd0cce7a6bd917dd46033cf4c4d9 8207017: Type annotations on anonymous classes in initializer blocks not written to class file Reviewed-by: jlahoda ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/TypeAnnotations.java ! test/langtools/tools/javac/annotations/typeAnnotations/classfile/AnonymousClassTest.java Changeset: 77519e5f Author: Robbin Ehn Date: 2023-02-14 14:38:46 +0000 URL: https://git.openjdk.org/panama-foreign/commit/77519e5f4fe75f953c02fb3f15b7f9a58c933fea 8302354: InstanceKlass init state/thread should be atomic Reviewed-by: coleenp, dholmes ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/oops/cpCache.cpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceKlass.hpp ! src/hotspot/share/runtime/vmStructs.cpp Changeset: 8933c2d0 Author: Erik Gahlin Date: 2023-02-14 15:02:58 +0000 URL: https://git.openjdk.org/panama-foreign/commit/8933c2d06a60671c2a4c6a683183f3979732350c 8298278: JFR: Turn MEMFLAGS into a type for use with the NativeMemoryUsage events Reviewed-by: sjohanss ! src/hotspot/share/jfr/metadata/metadata.xml ! src/hotspot/share/jfr/recorder/checkpoint/types/jfrType.cpp ! src/hotspot/share/jfr/recorder/checkpoint/types/jfrType.hpp ! src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeManager.cpp ! src/hotspot/share/services/memJfrReporter.cpp ! src/hotspot/share/services/memJfrReporter.hpp Changeset: ec901f28 Author: Xue-Lei Andrew Fan Date: 2023-02-14 15:36:09 +0000 URL: https://git.openjdk.org/panama-foreign/commit/ec901f28c3fde1aa7cef0ea41fe8bc3896ad962e 8301279: update for deprecated sprintf for management components Reviewed-by: kevinw, dholmes ! src/java.management/share/native/libmanagement/VMManagementImpl.c ! src/java.management/share/native/libmanagement/management.c ! src/jdk.management/share/native/libmanagement_ext/management_ext.c Changeset: f7dee77d Author: Xue-Lei Andrew Fan Date: 2023-02-14 15:37:47 +0000 URL: https://git.openjdk.org/panama-foreign/commit/f7dee77d734fdfca29ebf8b8602e1bf04324d44c 8301274: update for deprecated sprintf for security components Reviewed-by: ascarpino ! src/jdk.crypto.mscapi/windows/native/libsunmscapi/security.cpp Changeset: 5b2d4301 Author: Brian Burkhalter Date: 2023-02-14 16:30:52 +0000 URL: https://git.openjdk.org/panama-foreign/commit/5b2d430131e8e5f6e91d449dab84b99ef6f1c880 8297632: InputStream.transferTo() method should specify what the return value should be when the number of bytes transfered is larger than Long.MAX_VALUE Reviewed-by: alanb, lancea ! src/java.base/share/classes/java/io/BufferedInputStream.java ! src/java.base/share/classes/java/io/FileInputStream.java ! src/java.base/share/classes/java/io/InputStream.java ! src/java.base/share/classes/java/io/PushbackInputStream.java ! src/java.base/share/classes/java/io/Reader.java ! src/java.base/share/classes/java/io/SequenceInputStream.java ! src/java.base/share/classes/java/util/zip/ZipInputStream.java Changeset: ca73f7e8 Author: Vicente Romero Date: 2023-02-14 18:59:37 +0000 URL: https://git.openjdk.org/panama-foreign/commit/ca73f7e80f4a7e3c3c2a68c957412618d042d101 8301374: NullPointerException in MemberEnter.checkReceiver Reviewed-by: jlahoda ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! test/langtools/tools/javac/lambda/8131742/T8131742.java ! test/langtools/tools/javac/lambda/8131742/T8131742.out Changeset: 9c202a5a Author: Mandy Chung Date: 2023-02-14 21:15:14 +0000 URL: https://git.openjdk.org/panama-foreign/commit/9c202a5a8fc5b0f334ea72487d079af7da275693 8302260: VarHandle.describeConstable() fails to return a nominal descriptor for static public fields Reviewed-by: alanb, psandoz ! src/java.base/share/classes/java/lang/invoke/VarHandles.java ! src/java.base/share/classes/java/lang/invoke/X-VarHandle.java.template + test/jdk/java/lang/invoke/VarHandles/describeConstable/DescribeConstableTest.java = test/jdk/java/lang/invoke/VarHandles/describeConstable/p/C.java + test/jdk/java/lang/invoke/VarHandles/describeConstable/p/D.java + test/jdk/java/lang/invoke/VarHandles/describeConstable/p/I.java + test/jdk/java/lang/invoke/VarHandles/describeConstable/p/q/Q.java Changeset: f1d76fa9 Author: Kim Barrett Date: 2023-02-15 00:44:02 +0000 URL: https://git.openjdk.org/panama-foreign/commit/f1d76fa92501e45f25a7d33d8c5eee7ef60973eb 8302262: Remove -XX:SuppressErrorAt develop option Reviewed-by: stuefe, dholmes, tschatzl ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/vframe.cpp ! src/hotspot/share/utilities/debug.cpp ! test/hotspot/jtreg/runtime/ErrorHandling/ShowRegistersOnAssertTest.java ! test/hotspot/jtreg/runtime/ErrorHandling/TestCrashOnOutOfMemoryError.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace003.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace004.java ! test/lib-test/jdk/test/whitebox/vm_flags/StringTest.java Changeset: bdcbafb2 Author: Ioi Lam Date: 2023-02-15 05:12:39 +0000 URL: https://git.openjdk.org/panama-foreign/commit/bdcbafb2196f0360466ee789b969f2db954ca85f 8296344: Remove dependency on G1 for writing the CDS archive heap Reviewed-by: ayang, tschatzl, ccheung ! src/hotspot/share/cds/archiveBuilder.cpp ! src/hotspot/share/cds/archiveBuilder.hpp + src/hotspot/share/cds/archiveHeapWriter.cpp + src/hotspot/share/cds/archiveHeapWriter.hpp ! src/hotspot/share/cds/cdsHeapVerifier.cpp ! src/hotspot/share/cds/filemap.cpp ! src/hotspot/share/cds/heapShared.cpp ! src/hotspot/share/cds/heapShared.hpp ! src/hotspot/share/cds/metaspaceShared.cpp ! src/hotspot/share/classfile/stringTable.cpp ! src/hotspot/share/gc/g1/g1Allocator.cpp ! src/hotspot/share/gc/g1/g1Allocator.hpp ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp ! src/hotspot/share/gc/g1/g1HeapVerifier.cpp ! src/hotspot/share/gc/g1/g1HeapVerifier.hpp ! src/hotspot/share/gc/shared/collectedHeap.cpp ! src/hotspot/share/gc/shared/gcCause.cpp ! src/hotspot/share/gc/shared/gcCause.hpp ! src/hotspot/share/oops/constantPool.cpp ! src/hotspot/share/oops/objArrayOop.hpp ! test/hotspot/jtreg/TEST.groups ! test/hotspot/jtreg/runtime/cds/appcds/cacheObject/ArchivedIntegerCacheTest.java - test/hotspot/jtreg/runtime/cds/appcds/javaldr/HumongousDuringDump.java - test/hotspot/jtreg/runtime/cds/appcds/javaldr/HumongousDuringDumpTransformer.java - test/hotspot/jtreg/runtime/cds/appcds/javaldr/HumongousDuringDumpTransformer.mf Changeset: 9ccf8ad9 Author: Thomas Stuefe Date: 2023-02-15 06:36:16 +0000 URL: https://git.openjdk.org/panama-foreign/commit/9ccf8ad91f02ded8ff0f48f4c6287a8d6e4aa160 8302129: Make MetaspaceReclaimPolicy a diagnostic switch Reviewed-by: dholmes, coleenp ! src/hotspot/share/runtime/globals.hpp ! test/hotspot/jtreg/gtest/MetaspaceGtests.java ! test/hotspot/jtreg/runtime/Metaspace/PrintMetaspaceDcmd.java Changeset: 98a392c4 Author: Justin King Committer: Thomas Stuefe Date: 2023-02-15 06:42:27 +0000 URL: https://git.openjdk.org/panama-foreign/commit/98a392c4fc95c2bef252ea9f7d65b66c57e056ac 8302102: Disable ASan for SafeFetch and os::print_hex_dump Reviewed-by: dholmes, stuefe ! src/hotspot/os/posix/safefetch_sigjmp.cpp ! src/hotspot/os/windows/safefetch_windows.hpp ! src/hotspot/share/runtime/os.cpp ! src/hotspot/share/sanitizers/address.hpp Changeset: a9a53f41 Author: Emanuel Peter Date: 2023-02-15 07:35:23 +0000 URL: https://git.openjdk.org/panama-foreign/commit/a9a53f417d017c6e92d1f0331359037815bd431e 8302152: Speed up tests with infinite loops, sleep less Reviewed-by: thartmann, kvn ! test/hotspot/jtreg/compiler/loopopts/TestCMoveWithDeadPhi.java ! test/hotspot/jtreg/compiler/loopopts/TestInfLoopNearUsePlacement.java ! test/hotspot/jtreg/compiler/loopopts/TestInfiniteLoopCCP.java ! test/hotspot/jtreg/compiler/loopopts/TestInfiniteLoopNest.java ! test/hotspot/jtreg/compiler/loopopts/TestStrangeControl.java Changeset: 46bcc490 Author: Emanuel Peter Date: 2023-02-15 07:36:53 +0000 URL: https://git.openjdk.org/panama-foreign/commit/46bcc4901ea66589ec4c6904f8bab9156422312a 8302147: Speed up compiler/jvmci/compilerToVM/IterateFramesNative.java Reviewed-by: kvn, thartmann ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/IterateFramesNative.java Changeset: 33bec207 Author: Scott Gibbons Committer: Claes Redestad Date: 2023-02-15 09:26:10 +0000 URL: https://git.openjdk.org/panama-foreign/commit/33bec207103acd520eb99afb093cfafa44aecfda 8300808: Accelerate Base64 on x86 for AVX2 Reviewed-by: jbhateja, redestad, sviswanathan ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.hpp ! src/hotspot/cpu/x86/stubRoutines_x86.cpp ! src/hotspot/cpu/x86/stubRoutines_x86.hpp ! src/hotspot/cpu/x86/vm_version_x86.cpp ! test/micro/org/openjdk/bench/java/util/Base64Decode.java ! test/micro/org/openjdk/bench/java/util/Base64Encode.java Changeset: 11194e8b Author: Severin Gehwolf Date: 2023-02-15 09:54:47 +0000 URL: https://git.openjdk.org/panama-foreign/commit/11194e8b825ad2688f4ede35fdadb69d74c7a5f4 8302325: Wrong comment in java.base/share/native/libjimage/imageFile.hpp Reviewed-by: alanb, jlaskey ! src/java.base/share/native/libjimage/imageFile.cpp ! src/java.base/share/native/libjimage/imageFile.hpp ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/PerfectHashBuilder.java Changeset: 52388179 Author: Michael McMahon Date: 2023-02-15 10:19:49 +0000 URL: https://git.openjdk.org/panama-foreign/commit/52388179e65d4703ec33569dcc7c1351c57e6056 8301463: Code in DatagramSocket still refers to resolved JDK-8237352 Reviewed-by: dfuchs ! src/java.base/share/classes/java/net/DatagramSocket.java Changeset: 26b111d7 Author: Sean Mullan Date: 2023-02-15 13:25:50 +0000 URL: https://git.openjdk.org/panama-foreign/commit/26b111d714c3ee62bd10a5e2ab44be01c13ff42e 8301700: Increase the default TLS Diffie-Hellman group size from 1024-bit to 2048-bit Reviewed-by: xuelei ! src/java.base/share/classes/sun/security/ssl/DHKeyExchange.java ! test/jdk/sun/security/ssl/DHKeyExchange/DHEKeySizing.java Changeset: 0c965844 Author: Johan Sj?len Date: 2023-02-15 13:40:34 +0000 URL: https://git.openjdk.org/panama-foreign/commit/0c9658446d111ec944f06b7a8a4e3ae7bf53ee8d 8301225: Replace NULL with nullptr in share/gc/shenandoah/ Reviewed-by: wkemper, kdnilsen, rkennke ! src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.cpp ! src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.hpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.hpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahHeuristics.cpp ! src/hotspot/share/gc/shenandoah/mode/shenandoahIUMode.cpp ! src/hotspot/share/gc/shenandoah/mode/shenandoahPassiveMode.cpp ! src/hotspot/share/gc/shenandoah/mode/shenandoahSATBMode.cpp ! src/hotspot/share/gc/shenandoah/shenandoahAsserts.cpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSetClone.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSetNMethod.cpp ! src/hotspot/share/gc/shenandoah/shenandoahClosures.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp ! src/hotspot/share/gc/shenandoah/shenandoahCollectionSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahCollectionSet.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahDegeneratedGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahForwarding.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahFullGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegionCounters.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegionSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahLock.cpp ! src/hotspot/share/gc/shenandoah/shenandoahLock.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMark.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkBitMap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkBitMap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMonitoringSupport.cpp ! src/hotspot/share/gc/shenandoah/shenandoahNMethod.cpp ! src/hotspot/share/gc/shenandoah/shenandoahNMethod.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahNumberSeq.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.cpp ! src/hotspot/share/gc/shenandoah/shenandoahReferenceProcessor.cpp ! src/hotspot/share/gc/shenandoah/shenandoahReferenceProcessor.hpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahRootVerifier.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRuntime.cpp ! src/hotspot/share/gc/shenandoah/shenandoahSharedVariables.hpp ! src/hotspot/share/gc/shenandoah/shenandoahStackWatermark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahTaskqueue.cpp ! src/hotspot/share/gc/shenandoah/shenandoahTaskqueue.hpp ! src/hotspot/share/gc/shenandoah/shenandoahThreadLocalData.hpp ! src/hotspot/share/gc/shenandoah/shenandoahUnload.cpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.cpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.hpp ! src/hotspot/share/gc/shenandoah/shenandoahVerifier.cpp ! src/hotspot/share/gc/shenandoah/shenandoahVerifier.hpp ! src/hotspot/share/gc/shenandoah/shenandoahWorkGroup.cpp Changeset: 28f5250f Author: Albert Mingkun Yang Date: 2023-02-15 14:34:30 +0000 URL: https://git.openjdk.org/panama-foreign/commit/28f5250fa5cfd7938bb0899a2c17847b7458536c 8302127: Remove unused arg in write_ref_field_post Reviewed-by: phh, kbarrett ! src/hotspot/share/gc/g1/g1BarrierSet.hpp ! src/hotspot/share/gc/g1/g1BarrierSet.inline.hpp ! src/hotspot/share/gc/shared/cardTableBarrierSet.hpp ! src/hotspot/share/gc/shared/cardTableBarrierSet.inline.hpp ! src/hotspot/share/gc/shared/modRefBarrierSet.hpp ! src/hotspot/share/gc/shared/modRefBarrierSet.inline.hpp Changeset: 50dcc2ae Author: Mandy Chung Date: 2023-02-15 18:29:26 +0000 URL: https://git.openjdk.org/panama-foreign/commit/50dcc2aec5b16c0826e27d58e49a7f55a5f5ad38 8301460: Clean up LambdaForm to reference BasicType enums directly Reviewed-by: jvernee ! src/java.base/share/classes/java/lang/invoke/BoundMethodHandle.java ! src/java.base/share/classes/java/lang/invoke/LambdaForm.java ! src/java.base/share/classes/java/lang/invoke/LambdaFormEditor.java ! src/java.base/share/classes/java/lang/invoke/SimpleMethodHandle.java Changeset: 861e3020 Author: Claes Redestad Date: 2023-02-15 21:52:41 +0000 URL: https://git.openjdk.org/panama-foreign/commit/861e302011bb3aaf0c8431c121b58a57b78481e3 8302163: Speed up various String comparison methods with ArraysSupport.mismatch Reviewed-by: stsypanov, rriggs, alanb ! src/java.base/share/classes/java/lang/String.java ! src/java.base/share/classes/java/lang/StringLatin1.java ! test/micro/org/openjdk/bench/java/lang/StringBuilders.java + test/micro/org/openjdk/bench/java/lang/StringComparisons.java ! test/micro/org/openjdk/bench/java/lang/StringOther.java Changeset: 3ba15608 Author: Joe Darcy Date: 2023-02-15 22:16:30 +0000 URL: https://git.openjdk.org/panama-foreign/commit/3ba156082b73c4a8e9d890a57a42fb68df2bf98f 8302026: Port fdlibm inverse trig functions (asin, acos, atan) to Java Reviewed-by: bpb ! src/java.base/share/classes/java/lang/FdLibm.java ! src/java.base/share/classes/java/lang/StrictMath.java + test/jdk/java/lang/Math/InverseTrigTests.java ! test/jdk/java/lang/StrictMath/ExhaustingTests.java ! test/jdk/java/lang/StrictMath/FdlibmTranslit.java + test/jdk/java/lang/StrictMath/InverseTrigTests.java Changeset: 573c316c Author: Ioi Lam Date: 2023-02-16 03:44:48 +0000 URL: https://git.openjdk.org/panama-foreign/commit/573c316c5764ccd8d483f1f187fd6eb21ceeea63 8224980: FLAG_SET_ERGO silently ignores invalid values Reviewed-by: iveresov, dholmes ! src/hotspot/share/code/codeCache.cpp ! src/hotspot/share/compiler/compilerDefinitions.cpp ! src/hotspot/share/compiler/compilerDefinitions.hpp ! src/hotspot/share/runtime/flags/jvmFlagAccess.cpp ! src/hotspot/share/runtime/globals_extension.hpp Changeset: 1480d418 Author: Vicente Romero Date: 2023-02-16 04:01:12 +0000 URL: https://git.openjdk.org/panama-foreign/commit/1480d418e3b7d1f36ace24a043a273fca446eefa 8208470: Type annotations on inner type that is an array component Co-authored-by: Bernard Blaser Reviewed-by: jlahoda ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/TypeAnnotations.java ! test/langtools/tools/javac/annotations/typeAnnotations/referenceinfos/Driver.java ! test/langtools/tools/javac/annotations/typeAnnotations/referenceinfos/Fields.java ! test/langtools/tools/javac/warnings/6747671/T6747671.out Changeset: 6e2d3c6c Author: Thomas Stuefe Date: 2023-02-16 06:56:38 +0000 URL: https://git.openjdk.org/panama-foreign/commit/6e2d3c6c45ded862d818e30dd03d023980bf0ec2 8302455: VM.classloader_stats memory size values are wrong Reviewed-by: coleenp, dholmes ! src/hotspot/share/classfile/classLoaderStats.cpp ! src/hotspot/share/memory/classLoaderMetaspace.cpp ! src/hotspot/share/memory/classLoaderMetaspace.hpp ! test/hotspot/jtreg/serviceability/dcmd/vm/ClassLoaderStatsTest.java Changeset: 519229db Author: Thomas Stuefe Date: 2023-02-16 07:01:10 +0000 URL: https://git.openjdk.org/panama-foreign/commit/519229db3c75e56b4f6e05d918300f1cead1c3b1 8302385: Remove MetaspaceReclaimPolicy=none Reviewed-by: iklam, dholmes ! src/hotspot/share/memory/metaspace/chunkManager.cpp ! src/hotspot/share/memory/metaspace/freeChunkList.hpp ! src/hotspot/share/memory/metaspace/metaspaceArena.cpp ! src/hotspot/share/memory/metaspace/metaspaceSettings.cpp ! src/hotspot/share/memory/metaspace/metaspaceSettings.hpp ! src/hotspot/share/runtime/globals.hpp ! test/hotspot/gtest/metaspace/metaspaceGtestContexts.cpp ! test/hotspot/gtest/metaspace/test_chunkManager_stress.cpp ! test/hotspot/gtest/metaspace/test_metachunk.cpp ! test/hotspot/gtest/metaspace/test_metachunklist.cpp ! test/hotspot/gtest/metaspace/test_metaspacearena.cpp ! test/hotspot/jtreg/gtest/MetaspaceGtests.java ! test/hotspot/jtreg/runtime/Metaspace/PrintMetaspaceDcmd.java ! test/hotspot/jtreg/runtime/Metaspace/elastic/MetaspaceTestArena.java ! test/hotspot/jtreg/runtime/Metaspace/elastic/MetaspaceTestContext.java ! test/hotspot/jtreg/runtime/Metaspace/elastic/MetaspaceTestWithThreads.java ! test/hotspot/jtreg/runtime/Metaspace/elastic/TestMetaspaceAllocation.java ! test/hotspot/jtreg/runtime/Metaspace/elastic/TestMetaspaceAllocationMT1.java ! test/hotspot/jtreg/runtime/Metaspace/elastic/TestMetaspaceAllocationMT2.java Changeset: c77f6442 Author: Tobias Hartmann Date: 2023-02-16 07:31:55 +0000 URL: https://git.openjdk.org/panama-foreign/commit/c77f64420abfdd060fb617e88ecf8b1281668faa 8302625: Bad copyright line after JDK-8302385 Reviewed-by: mikael ! test/hotspot/jtreg/runtime/Metaspace/elastic/MetaspaceTestArena.java Changeset: 53ae4c07 Author: Severin Gehwolf Date: 2023-02-16 10:08:54 +0000 URL: https://git.openjdk.org/panama-foreign/commit/53ae4c07fda69358fc0b2edadf8dbfe6428de619 8300645: Handle julong values in logging of GET_CONTAINER_INFO macros Reviewed-by: iklam ! src/hotspot/os/linux/cgroupSubsystem_linux.hpp ! src/hotspot/os/linux/cgroupV1Subsystem_linux.cpp ! src/hotspot/os/linux/cgroupV2Subsystem_linux.cpp ! test/hotspot/jtreg/containers/docker/TestMemoryAwareness.java ! test/hotspot/jtreg/containers/docker/TestMemoryWithCgroupV1.java Changeset: e045af4c Author: Tobias Holenstein Date: 2023-02-16 10:20:59 +0000 URL: https://git.openjdk.org/panama-foreign/commit/e045af4c921b1465931154ede899235ddc580108 8297031: IGV: Copy extracted nodes and layout for cloned graph Reviewed-by: rcastanedalo, thartmann ! src/utils/IdealGraphVisualizer/Coordinator/src/main/java/com/sun/hotspot/igv/coordinator/GraphNode.java - src/utils/IdealGraphVisualizer/Coordinator/src/main/java/com/sun/hotspot/igv/coordinator/actions/CloneGraphAction.java - src/utils/IdealGraphVisualizer/Coordinator/src/main/java/com/sun/hotspot/igv/coordinator/actions/GraphCloneCookie.java + src/utils/IdealGraphVisualizer/Coordinator/src/main/java/com/sun/hotspot/igv/coordinator/actions/NewGraphTabAction.java + src/utils/IdealGraphVisualizer/Coordinator/src/main/java/com/sun/hotspot/igv/coordinator/actions/NewGraphTabCookie.java ! src/utils/IdealGraphVisualizer/Data/src/main/java/com/sun/hotspot/igv/data/services/GraphViewer.java ! src/utils/IdealGraphVisualizer/View/src/main/java/com/sun/hotspot/igv/view/DiagramScene.java ! src/utils/IdealGraphVisualizer/View/src/main/java/com/sun/hotspot/igv/view/DiagramViewModel.java ! src/utils/IdealGraphVisualizer/View/src/main/java/com/sun/hotspot/igv/view/DiagramViewer.java ! src/utils/IdealGraphVisualizer/View/src/main/java/com/sun/hotspot/igv/view/EditorTopComponent.java ! src/utils/IdealGraphVisualizer/View/src/main/java/com/sun/hotspot/igv/view/GraphViewerImplementation.java ! src/utils/IdealGraphVisualizer/View/src/main/java/com/sun/hotspot/igv/view/actions/HideDuplicatesAction.java ! src/utils/IdealGraphVisualizer/View/src/main/java/com/sun/hotspot/igv/view/actions/PredSuccAction.java Changeset: 84c058bb Author: Tejesh R Date: 2023-02-16 11:10:25 +0000 URL: https://git.openjdk.org/panama-foreign/commit/84c058bb63ad68b0cb6c739453bdb81d2c9d369f 8300549: JFileChooser Approve button tooltip is null in Aqua L&F in CUSTOM_DIALOG mode Reviewed-by: aivanov, abhiscxk ! src/java.desktop/macosx/classes/com/apple/laf/AquaFileChooserUI.java ! src/java.desktop/macosx/classes/com/apple/laf/resources/aqua.properties Changeset: 687a4612 Author: Albert Mingkun Yang Date: 2023-02-16 11:48:56 +0000 URL: https://git.openjdk.org/panama-foreign/commit/687a461276aafea9e95572c593d821ef95fef43f 8302464: Parallel: Remove unreachable code in callers of numa_has_static_binding Reviewed-by: lkorinth, tschatzl ! src/hotspot/os/posix/os_posix.inline.hpp ! src/hotspot/os/windows/os_windows.inline.hpp ! src/hotspot/share/gc/parallel/mutableNUMASpace.cpp ! src/hotspot/share/runtime/os.hpp Changeset: c29a1367 Author: Tobias Holenstein Date: 2023-02-16 12:55:01 +0000 URL: https://git.openjdk.org/panama-foreign/commit/c29a13678744522503f899bdf5f4c13f130942f7 8291735: methods_do() always run at exit Reviewed-by: coleenp, kvn ! src/hotspot/share/runtime/java.cpp Changeset: 9b911b49 Author: Tobias Holenstein Date: 2023-02-16 13:51:11 +0000 URL: https://git.openjdk.org/panama-foreign/commit/9b911b492f56fbf94682535a1d20dde07c62940f 8301959: Compile command in compiler.loopopts.TestRemoveEmptyCountedLoop does not work Reviewed-by: kvn, thartmann ! test/hotspot/jtreg/compiler/loopopts/TestRemoveEmptyCountedLoop.java Changeset: 2e3cea01 Author: Justin King Committer: Tobias Hartmann Date: 2023-02-16 14:14:46 +0000 URL: https://git.openjdk.org/panama-foreign/commit/2e3cea01daca594dfa4477439a9849eea19b249e 8302594: use-after-free in Node::destruct Reviewed-by: kvn, thartmann ! src/hotspot/share/opto/node.cpp Changeset: 3cc459b6 Author: Justin King Committer: Tobias Hartmann Date: 2023-02-16 14:40:38 +0000 URL: https://git.openjdk.org/panama-foreign/commit/3cc459b6c2f571987dc36fd548a2b830f0b33a0a 8302595: use-after-free related to GraphKit::clone_map Reviewed-by: kvn, thartmann ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/graphKit.cpp ! src/hotspot/share/opto/graphKit.hpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/node.hpp ! src/hotspot/share/opto/phaseX.hpp ! src/hotspot/share/opto/vectorIntrinsics.cpp Changeset: a58fa6e7 Author: Archie L. Cobbs Committer: Julian Waters Date: 2023-02-16 14:48:39 +0000 URL: https://git.openjdk.org/panama-foreign/commit/a58fa6e73e4594cfb0e46bdbebad48072771e5bd 8302514: Misleading error generated when empty class file encountered Reviewed-by: vromero, jwaters ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassReader.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ModuleNameReader.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/PoolReader.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/ArrayUtils.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/ByteBuffer.java + test/langtools/tools/javac/classreader/TruncatedClassFileTest.java ! test/langtools/tools/javac/diags/examples.not-yet.txt ! test/langtools/tools/javac/modules/EdgeCases.java ! test/langtools/tools/javac/processing/model/completionfailure/NoAbortForBadClassFile.java Changeset: f558a6c5 Author: Erik Gahlin Date: 2023-02-16 15:49:05 +0000 URL: https://git.openjdk.org/panama-foreign/commit/f558a6c5992cf5168e44d73e84e7713728a3ed9b 8298276: JFR: Update NMT events to make use of common periodic timestamp feature Reviewed-by: mgronlun + src/hotspot/share/jfr/periodic/jfrNativeMemoryEvent.cpp + src/hotspot/share/jfr/periodic/jfrNativeMemoryEvent.hpp ! src/hotspot/share/jfr/periodic/jfrPeriodic.cpp - src/hotspot/share/services/memJfrReporter.cpp - src/hotspot/share/services/memJfrReporter.hpp ! test/jdk/jdk/jfr/event/runtime/TestNativeMemoryUsageEvents.java Changeset: 90e09228 Author: Thomas Stuefe Date: 2023-02-16 16:14:05 +0000 URL: https://git.openjdk.org/panama-foreign/commit/90e092280f67dc1f77ff04c7c8f46317a00e3af9 8293313: NMT: Rework MallocLimit 8293292: Remove MallocMaxTestWords Reviewed-by: jsjolen, gziemski, lucy, mbaesken ! src/hotspot/share/memory/arena.cpp ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/arguments.hpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/os.cpp + src/hotspot/share/services/mallocLimit.cpp + src/hotspot/share/services/mallocLimit.hpp ! src/hotspot/share/services/mallocTracker.cpp ! src/hotspot/share/services/mallocTracker.hpp + src/hotspot/share/services/mallocTracker.inline.hpp ! src/hotspot/share/services/memTracker.cpp ! src/hotspot/share/services/memTracker.hpp + src/hotspot/share/services/memTracker.inline.hpp ! src/hotspot/share/services/nmtCommon.hpp + test/hotspot/gtest/nmt/test_nmt_malloclimit.cpp ! test/hotspot/jtreg/runtime/ClassFile/JsrRewriting.java ! test/hotspot/jtreg/runtime/ClassFile/OomWhileParsingRepeatedJsr.java ! test/hotspot/jtreg/runtime/CommandLine/OptionsValidation/TestOptionsWithRanges.java ! test/hotspot/jtreg/runtime/NMT/MallocLimitTest.java ! test/hotspot/jtreg/runtime/Unsafe/AllocateMemory.java ! test/hotspot/jtreg/runtime/Unsafe/Reallocate.java Changeset: 574b48c6 Author: Daniel D. Daugherty Date: 2023-02-16 17:13:16 +0000 URL: https://git.openjdk.org/panama-foreign/commit/574b48c6925ebfb31345fc46c7d23aa4153f99b0 8302678: validate_source fails after JDK-8293313 Reviewed-by: bpb ! src/hotspot/share/services/mallocTracker.hpp Changeset: e5042dd4 Author: Julian Waters Date: 2023-02-16 18:56:59 +0000 URL: https://git.openjdk.org/panama-foreign/commit/e5042dd483d54216d0e82624bb964d9e029af484 8302671: libawt has a memmove decay error Reviewed-by: serb, prr, kcr ! src/java.desktop/windows/native/libawt/windows/awt_Component.cpp Changeset: de80dd9c Author: Vicente Romero Date: 2023-02-16 19:06:26 +0000 URL: https://git.openjdk.org/panama-foreign/commit/de80dd9c15cd3194ba8c512498d37a76c747e5fc 8296010: AssertionError in annotationTargetType Reviewed-by: jjg ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/TypeAnnotations.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties + test/langtools/tools/javac/annotations/crashOnUnknownAttr/A.jcod + test/langtools/tools/javac/annotations/crashOnUnknownAttr/CrashOnUnknownTargetTypeTest.java + test/langtools/tools/javac/annotations/crashOnUnknownAttr/CrashOnUnknownTargetTypeTest.out ! test/langtools/tools/javac/diags/examples.not-yet.txt Changeset: a39cf2e3 Author: Magnus Ihse Bursie Date: 2023-02-16 19:32:38 +0000 URL: https://git.openjdk.org/panama-foreign/commit/a39cf2e3b242298fbf5fafdb8aa9b5d4562061ef 8301753: AppendFile/WriteFile has differences between make 3.81 and 4+ Reviewed-by: erikj ! make/common/MakeIO.gmk ! test/make/TestMakeBase.gmk Changeset: 4ce493f0 Author: Valerie Peng Date: 2023-02-16 21:58:34 +0000 URL: https://git.openjdk.org/panama-foreign/commit/4ce493f09ea3a34322462e82fd73b8375be1cba5 8302225: SunJCE Provider doesn't validate key sizes when using 'constrained' transforms for AES/KW and AES/KWP Reviewed-by: xuelei ! src/java.base/share/classes/com/sun/crypto/provider/KeyWrapCipher.java ! test/jdk/com/sun/crypto/provider/Cipher/KeyWrap/TestKeySizeCheck.java Changeset: b242eef9 Author: David Holmes Date: 2023-02-17 02:00:32 +0000 URL: https://git.openjdk.org/panama-foreign/commit/b242eef93e23ad2fce428e975a1b6c150cf6f17c 8280419: Remove dead code related to VerifyThread and verify_thread() Reviewed-by: stuefe, lucy ! src/hotspot/cpu/arm/runtime_arm.cpp ! src/hotspot/cpu/arm/sharedRuntime_arm.cpp ! src/hotspot/cpu/ppc/interp_masm_ppc_64.cpp ! src/hotspot/cpu/ppc/macroAssembler_ppc.cpp ! src/hotspot/cpu/ppc/macroAssembler_ppc.hpp ! src/hotspot/cpu/ppc/methodHandles_ppc.cpp ! src/hotspot/cpu/ppc/sharedRuntime_ppc.cpp ! src/hotspot/cpu/ppc/templateInterpreterGenerator_ppc.cpp ! src/hotspot/cpu/ppc/templateTable_ppc_64.cpp ! src/hotspot/cpu/s390/interp_masm_s390.cpp ! src/hotspot/cpu/s390/macroAssembler_s390.cpp ! src/hotspot/cpu/s390/macroAssembler_s390.hpp ! src/hotspot/cpu/s390/methodHandles_s390.cpp ! src/hotspot/cpu/s390/runtime_s390.cpp ! src/hotspot/cpu/s390/s390.ad ! src/hotspot/cpu/s390/sharedRuntime_s390.cpp ! src/hotspot/cpu/s390/templateInterpreterGenerator_s390.cpp ! src/hotspot/share/runtime/globals.hpp Changeset: 655a7127 Author: Joe Darcy Date: 2023-02-17 03:22:06 +0000 URL: https://git.openjdk.org/panama-foreign/commit/655a71277dd9a01913f29dad4ca57c43e4eab174 8301444: Port fdlibm hyperbolic transcendental functions to Java Reviewed-by: bpb ! src/java.base/share/classes/java/lang/FdLibm.java ! src/java.base/share/classes/java/lang/StrictMath.java ! test/jdk/java/lang/StrictMath/ExhaustingTests.java ! test/jdk/java/lang/StrictMath/ExpTests.java ! test/jdk/java/lang/StrictMath/FdlibmTranslit.java ! test/jdk/java/lang/StrictMath/HyperbolicTests.java Changeset: 49eb68ba Author: Ioi Lam Date: 2023-02-17 07:21:26 +0000 URL: https://git.openjdk.org/panama-foreign/commit/49eb68ba958794fe547cccd00725192cc7063043 8296158: Refactor the verification of CDS region checksum Reviewed-by: ccheung, matsaave ! src/hotspot/share/cds/archiveHeapLoader.cpp ! src/hotspot/share/cds/filemap.cpp ! src/hotspot/share/cds/filemap.hpp Changeset: 47ca5773 Author: Damon Fenacci Committer: Tobias Hartmann Date: 2023-02-17 09:10:20 +0000 URL: https://git.openjdk.org/panama-foreign/commit/47ca5773a54743244a9b28f877246d260b90a408 8301491: C2: java.lang.StringUTF16::indexOfChar intrinsic called with negative character argument Reviewed-by: thartmann, kvn ! src/hotspot/share/opto/library_call.cpp + test/hotspot/jtreg/compiler/intrinsics/string/TestStringIndexOfCharIntrinsics.java Changeset: c91cd281 Author: Johan Sj?len Date: 2023-02-17 09:41:12 +0000 URL: https://git.openjdk.org/panama-foreign/commit/c91cd2814baa8dee2af8af0fecf9185d4a0a44cf 8301481: Replace NULL with nullptr in os/windows Reviewed-by: coleenp, dholmes ! src/hotspot/os/windows/attachListener_windows.cpp ! src/hotspot/os/windows/gc/z/zMapper_windows.cpp ! src/hotspot/os/windows/gc/z/zPhysicalMemoryBacking_windows.cpp ! src/hotspot/os/windows/gc/z/zSyscall_windows.cpp ! src/hotspot/os/windows/gc/z/zUtils_windows.cpp ! src/hotspot/os/windows/gc/z/zVirtualMemory_windows.cpp ! src/hotspot/os/windows/iphlp_interface.cpp ! src/hotspot/os/windows/osThread_windows.cpp ! src/hotspot/os/windows/os_perf_windows.cpp ! src/hotspot/os/windows/os_windows.cpp ! src/hotspot/os/windows/park_windows.hpp ! src/hotspot/os/windows/pdh_interface.cpp ! src/hotspot/os/windows/perfMemory_windows.cpp ! src/hotspot/os/windows/semaphore_windows.cpp ! src/hotspot/os/windows/symbolengine.cpp ! src/hotspot/os/windows/symbolengine.hpp ! src/hotspot/os/windows/threadCrashProtection_windows.cpp ! src/hotspot/os/windows/threadCrashProtection_windows.hpp ! src/hotspot/os/windows/threadCritical_windows.cpp ! src/hotspot/os/windows/vmError_windows.cpp ! src/hotspot/os/windows/windbghelp.cpp Changeset: 4f1cffd5 Author: Albert Mingkun Yang Date: 2023-02-17 10:39:58 +0000 URL: https://git.openjdk.org/panama-foreign/commit/4f1cffd52c4717c974bd5bad337ad82c22819583 8302674: Parallel: Remove unused methods in MutableNUMASpace Reviewed-by: tschatzl ! src/hotspot/share/gc/parallel/mutableNUMASpace.cpp ! src/hotspot/share/gc/parallel/mutableNUMASpace.hpp Changeset: cae2e16f Author: duke Date: 2023-02-17 11:00:38 +0000 URL: https://git.openjdk.org/panama-foreign/commit/cae2e16f4e0ae64108b298d8499679739f745d82 Automatic merge of jdk:master into master From mcimadamore at openjdk.org Fri Feb 17 11:38:24 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Fri, 17 Feb 2023 11:38:24 GMT Subject: [foreign-memaccess+abi] RFR: Add tests In-Reply-To: <34xIxMB-wJMuUlJUGAuq5dhOTIU1ATNFA2XAJF8H0ts=.35f9324e-9b10-4723-b581-fe450b191bb7@github.com> References: <34xIxMB-wJMuUlJUGAuq5dhOTIU1ATNFA2XAJF8H0ts=.35f9324e-9b10-4723-b581-fe450b191bb7@github.com> Message-ID: On Fri, 17 Feb 2023 10:49:01 GMT, Per Minborg wrote: > This PR proposes adding some additional tests and also some cleanup of tests. Marked as reviewed by mcimadamore (Committer). ------------- PR: https://git.openjdk.org/panama-foreign/pull/800 From pminborg at openjdk.org Fri Feb 17 12:11:24 2023 From: pminborg at openjdk.org (Per Minborg) Date: Fri, 17 Feb 2023 12:11:24 GMT Subject: [foreign-memaccess+abi] RFR: Fix failing test [v2] In-Reply-To: References: Message-ID: <2LhoynOYx3we5O-JaIYQCpQNOevAxBkpMtgBbRjvrJU=.e4afeb1b-723a-4e6c-b55a-d0b47e29e59a@github.com> > This PR fixes a failing test. Per Minborg has updated the pull request incrementally with one additional commit since the last revision: Remove redundant @modules declaration ------------- Changes: - all: https://git.openjdk.org/panama-foreign/pull/799/files - new: https://git.openjdk.org/panama-foreign/pull/799/files/5f30e232..f90875a4 Webrevs: - full: https://webrevs.openjdk.org/?repo=panama-foreign&pr=799&range=01 - incr: https://webrevs.openjdk.org/?repo=panama-foreign&pr=799&range=00-01 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.org/panama-foreign/pull/799.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/799/head:pull/799 PR: https://git.openjdk.org/panama-foreign/pull/799 From pminborg at openjdk.org Fri Feb 17 12:16:58 2023 From: pminborg at openjdk.org (Per Minborg) Date: Fri, 17 Feb 2023 12:16:58 GMT Subject: [foreign-memaccess+abi] Integrated: Add tests In-Reply-To: <34xIxMB-wJMuUlJUGAuq5dhOTIU1ATNFA2XAJF8H0ts=.35f9324e-9b10-4723-b581-fe450b191bb7@github.com> References: <34xIxMB-wJMuUlJUGAuq5dhOTIU1ATNFA2XAJF8H0ts=.35f9324e-9b10-4723-b581-fe450b191bb7@github.com> Message-ID: <4a5Gfq0LHZygSljfNjhONH4aZ4gA_si7m_J6K0QrkXc=.c1f6434e-ac9b-4865-9f32-e40b3ccb96bb@github.com> On Fri, 17 Feb 2023 10:49:01 GMT, Per Minborg wrote: > This PR proposes adding some additional tests and also some cleanup of tests. This pull request has now been integrated. Changeset: a8edf8c9 Author: Per Minborg URL: https://git.openjdk.org/panama-foreign/commit/a8edf8c933f1299765b132988308ba3d6750d6b8 Stats: 92 lines in 2 files changed: 62 ins; 0 del; 30 mod Add tests Reviewed-by: mcimadamore ------------- PR: https://git.openjdk.org/panama-foreign/pull/800 From pminborg at openjdk.org Fri Feb 17 12:26:50 2023 From: pminborg at openjdk.org (Per Minborg) Date: Fri, 17 Feb 2023 12:26:50 GMT Subject: [foreign-memaccess+abi] RFR: Fix failing test [v3] In-Reply-To: References: Message-ID: > This PR fixes a failing test. Per Minborg has updated the pull request incrementally with one additional commit since the last revision: Remove other redundant @modules declaration ------------- Changes: - all: https://git.openjdk.org/panama-foreign/pull/799/files - new: https://git.openjdk.org/panama-foreign/pull/799/files/f90875a4..c7f3ca2d Webrevs: - full: https://webrevs.openjdk.org/?repo=panama-foreign&pr=799&range=02 - incr: https://webrevs.openjdk.org/?repo=panama-foreign&pr=799&range=01-02 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.org/panama-foreign/pull/799.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/799/head:pull/799 PR: https://git.openjdk.org/panama-foreign/pull/799 From mcimadamore at openjdk.org Fri Feb 17 12:52:57 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Fri, 17 Feb 2023 12:52:57 GMT Subject: [foreign-memaccess+abi] RFR: Fix failing test [v3] In-Reply-To: References: Message-ID: On Fri, 17 Feb 2023 12:26:50 GMT, Per Minborg wrote: >> This PR fixes a failing test. > > Per Minborg has updated the pull request incrementally with one additional commit since the last revision: > > Remove other redundant @modules declaration Marked as reviewed by mcimadamore (Committer). ------------- PR: https://git.openjdk.org/panama-foreign/pull/799 From pminborg at openjdk.org Fri Feb 17 13:17:50 2023 From: pminborg at openjdk.org (Per Minborg) Date: Fri, 17 Feb 2023 13:17:50 GMT Subject: [foreign-memaccess+abi] Integrated: Fix failing test In-Reply-To: References: Message-ID: On Fri, 17 Feb 2023 08:25:11 GMT, Per Minborg wrote: > This PR fixes a failing test. This pull request has now been integrated. Changeset: 1dfb7298 Author: Per Minborg URL: https://git.openjdk.org/panama-foreign/commit/1dfb72989379ed063b2d119cdced0ff3bf2c85a1 Stats: 3 lines in 3 files changed: 0 ins; 1 del; 2 mod Fix failing test Reviewed-by: mcimadamore ------------- PR: https://git.openjdk.org/panama-foreign/pull/799 From pminborg at openjdk.org Fri Feb 17 13:19:23 2023 From: pminborg at openjdk.org (Per Minborg) Date: Fri, 17 Feb 2023 13:19:23 GMT Subject: [foreign-memaccess+abi] RFR: Add additional tests Message-ID: <7LnaAr5XbIlGNajzO9J85zfCex6NCRZiamCDBcbMFM8=.c8128a51-f610-4b3a-9223-5d5a3b233ca2@github.com> This PR adds yet other tests. ------------- Commit messages: - Add additional tests Changes: https://git.openjdk.org/panama-foreign/pull/801/files Webrev: https://webrevs.openjdk.org/?repo=panama-foreign&pr=801&range=00 Stats: 39 lines in 2 files changed: 36 ins; 2 del; 1 mod Patch: https://git.openjdk.org/panama-foreign/pull/801.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/801/head:pull/801 PR: https://git.openjdk.org/panama-foreign/pull/801 From pminborg at openjdk.org Fri Feb 17 13:19:24 2023 From: pminborg at openjdk.org (Per Minborg) Date: Fri, 17 Feb 2023 13:19:24 GMT Subject: [foreign-memaccess+abi] RFR: Add additional tests In-Reply-To: <7LnaAr5XbIlGNajzO9J85zfCex6NCRZiamCDBcbMFM8=.c8128a51-f610-4b3a-9223-5d5a3b233ca2@github.com> References: <7LnaAr5XbIlGNajzO9J85zfCex6NCRZiamCDBcbMFM8=.c8128a51-f610-4b3a-9223-5d5a3b233ca2@github.com> Message-ID: On Fri, 17 Feb 2023 13:03:08 GMT, Per Minborg wrote: > This PR adds yet other tests. src/java.base/share/classes/java/lang/foreign/MemorySegment.java line 568: > 566: * @throws IndexOutOfBoundsException if {@code offset < 0}, or {@code offset > byteSize()}. > 567: */ > 568: default MemorySegment asSlice(long offset) { The interface is sealed and this method is always overridden. So, no need for a default method. ------------- PR: https://git.openjdk.org/panama-foreign/pull/801 From mcimadamore at openjdk.org Fri Feb 17 13:55:56 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Fri, 17 Feb 2023 13:55:56 GMT Subject: [foreign-memaccess+abi] RFR: Add additional tests In-Reply-To: <7LnaAr5XbIlGNajzO9J85zfCex6NCRZiamCDBcbMFM8=.c8128a51-f610-4b3a-9223-5d5a3b233ca2@github.com> References: <7LnaAr5XbIlGNajzO9J85zfCex6NCRZiamCDBcbMFM8=.c8128a51-f610-4b3a-9223-5d5a3b233ca2@github.com> Message-ID: On Fri, 17 Feb 2023 13:03:08 GMT, Per Minborg wrote: > This PR adds yet other tests. test/jdk/java/foreign/TestLayouts.java line 295: > 293: > 294: @Test(expectedExceptions = IllegalArgumentException.class) > 295: public void test() { I suggest to add some name - e.g. `testBadValueCarrier` ------------- PR: https://git.openjdk.org/panama-foreign/pull/801 From jvernee at openjdk.org Fri Feb 17 20:05:57 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Fri, 17 Feb 2023 20:05:57 GMT Subject: [foreign-memaccess+abi] RFR: 8302346: Lift upcall sharing mechanism to AbstractLinker In-Reply-To: References: Message-ID: On Wed, 15 Feb 2023 15:17:26 GMT, Maurizio Cimadamore wrote: >> Lift the upcall sharing mechanism to AbstractLinker, where it can live next to the similar mechanism for down calls. This also allows the fallback linker to use this mechanism. >> >> Instead of an upcall stub, AbstractLinker::arrangeDowncall now return an UpcallStubFactory, which is a callback accepting a target MethodHandle and Arena, which are then used to construct the actual upcall stub. >> >> Perhaps the trickiest part of this patch is that we have to simulate the effects of `SharedUtils::adaptUpcallForIMR` on the target method type. I've added a new method in SharedUtils, called `computeUpcallIMRType` for that, which mimics the shape of the `adaptUpcallForIMR` method. >> >> Since the shape of most of the arrangeUpcall methods was very similar, I factored them out into a helper method in SharedUtils as well. > > src/java.base/share/classes/jdk/internal/foreign/abi/SharedUtils.java line 191: > >> 189: UpcallStubFactory factory = UpcallLinker.makeFactory(targetType, abi, callingSequence); >> 190: >> 191: if (isInMemoryReturn) { > > Question: does this logic belong here? E.g. we have a method that is used to create an upcall factory, namely `UpcallLinker.makeFactory`, but it turns out that if we have `isInMemoryReturn` some other factory should be used instead. Shouldn't we tweak the code so that `makeFactory` always does the right thing? It's a matter of organization. I think we should keep `UpcallLinker` ABI agnostic, and in memory returns are figments of an ABI. (note e.g. that the `CallingSequence` we pass to `makeFactory` has no notion of this in memory return. Not to be confused with the return buffer) I see the additional step for in memory return not as using another factory, but as providing some pre-processing of the MethodHandle, before it's passed to `makeFactory`. The pre-processing is ABI-specific, so should live outside of UpcallLinker, IMO. ------------- PR: https://git.openjdk.org/panama-foreign/pull/791 From jvernee at openjdk.org Fri Feb 17 20:54:29 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Fri, 17 Feb 2023 20:54:29 GMT Subject: [foreign-memaccess+abi] RFR: 8302346: Lift upcall sharing mechanism to AbstractLinker [v2] In-Reply-To: References: Message-ID: > Lift the upcall sharing mechanism to AbstractLinker, where it can live next to the similar mechanism for down calls. This also allows the fallback linker to use this mechanism. > > Instead of an upcall stub, AbstractLinker::arrangeDowncall now return an UpcallStubFactory, which is a callback accepting a target MethodHandle and Arena, which are then used to construct the actual upcall stub. > > Perhaps the trickiest part of this patch is that we have to simulate the effects of `SharedUtils::adaptUpcallForIMR` on the target method type. I've added a new method in SharedUtils, called `computeUpcallIMRType` for that, which mimics the shape of the `adaptUpcallForIMR` method. > > Since the shape of most of the arrangeUpcall methods was very similar, I factored them out into a helper method in SharedUtils as well. Jorn Vernee has updated the pull request incrementally with one additional commit since the last revision: use fake MH for adaptation ------------- Changes: - all: https://git.openjdk.org/panama-foreign/pull/791/files - new: https://git.openjdk.org/panama-foreign/pull/791/files/864839af..6bd745f8 Webrevs: - full: https://webrevs.openjdk.org/?repo=panama-foreign&pr=791&range=01 - incr: https://webrevs.openjdk.org/?repo=panama-foreign&pr=791&range=00-01 Stats: 29 lines in 1 file changed: 2 ins; 26 del; 1 mod Patch: https://git.openjdk.org/panama-foreign/pull/791.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/791/head:pull/791 PR: https://git.openjdk.org/panama-foreign/pull/791 From jvernee at openjdk.org Fri Feb 17 20:54:32 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Fri, 17 Feb 2023 20:54:32 GMT Subject: [foreign-memaccess+abi] RFR: 8302346: Lift upcall sharing mechanism to AbstractLinker [v2] In-Reply-To: References: Message-ID: On Wed, 15 Feb 2023 15:27:27 GMT, Maurizio Cimadamore wrote: >> Jorn Vernee has updated the pull request incrementally with one additional commit since the last revision: >> >> use fake MH for adaptation > > src/java.base/share/classes/jdk/internal/foreign/abi/SharedUtils.java line 166: > >> 164: >> 165: // this just computes the adjusted type >> 166: private static MethodType computeUpcallIMRType(MethodType targetType, boolean dropReturn) { > > Crazy idea - what if we created a fake method handle of the given target type - then just called adaptUpcallForIMR on it, and got the resulting type? I'm a bit worried for the type logic and the MH adaptation logic to go out of sync, and require changing things in two places. Nice idea! This is trivial to implement as well using `MethodHandles::empty`. Pushed that update. ------------- PR: https://git.openjdk.org/panama-foreign/pull/791 From mcimadamore at openjdk.org Fri Feb 17 21:54:46 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Fri, 17 Feb 2023 21:54:46 GMT Subject: [foreign-memaccess+abi] RFR: 8302346: Lift upcall sharing mechanism to AbstractLinker [v2] In-Reply-To: References: Message-ID: On Fri, 17 Feb 2023 20:54:29 GMT, Jorn Vernee wrote: >> Lift the upcall sharing mechanism to AbstractLinker, where it can live next to the similar mechanism for down calls. This also allows the fallback linker to use this mechanism. >> >> Instead of an upcall stub, AbstractLinker::arrangeDowncall now return an UpcallStubFactory, which is a callback accepting a target MethodHandle and Arena, which are then used to construct the actual upcall stub. >> >> Perhaps the trickiest part of this patch is that we have to simulate the effects of `SharedUtils::adaptUpcallForIMR` on the target method type. I've added a new method in SharedUtils, called `computeUpcallIMRType` for that, which mimics the shape of the `adaptUpcallForIMR` method. >> >> Since the shape of most of the arrangeUpcall methods was very similar, I factored them out into a helper method in SharedUtils as well. > > Jorn Vernee has updated the pull request incrementally with one additional commit since the last revision: > > use fake MH for adaptation Nice simplification! ------------- Marked as reviewed by mcimadamore (Committer). PR: https://git.openjdk.org/panama-foreign/pull/791 From jvernee at openjdk.org Fri Feb 17 22:15:15 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Fri, 17 Feb 2023 22:15:15 GMT Subject: [foreign-memaccess+abi] RFR: 8302346: Lift upcall sharing mechanism to AbstractLinker [v3] In-Reply-To: References: Message-ID: > Lift the upcall sharing mechanism to AbstractLinker, where it can live next to the similar mechanism for down calls. This also allows the fallback linker to use this mechanism. > > Instead of an upcall stub, AbstractLinker::arrangeDowncall now return an UpcallStubFactory, which is a callback accepting a target MethodHandle and Arena, which are then used to construct the actual upcall stub. > > Perhaps the trickiest part of this patch is that we have to simulate the effects of `SharedUtils::adaptUpcallForIMR` on the target method type. I've added a new method in SharedUtils, called `computeUpcallIMRType` for that, which mimics the shape of the `adaptUpcallForIMR` method. > > Since the shape of most of the arrangeUpcall methods was very similar, I factored them out into a helper method in SharedUtils as well. Jorn Vernee 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 eight additional commits since the last revision: - Merge branch 'foreign-memaccess+abi' into Lazy_Upcalls - use fake MH for adaptation - fix zero - tweak visibility - polish3 - polish2 - polish - Make upcall creation lazy at the AbstractLinker level ------------- Changes: - all: https://git.openjdk.org/panama-foreign/pull/791/files - new: https://git.openjdk.org/panama-foreign/pull/791/files/6bd745f8..aa5e075d Webrevs: - full: https://webrevs.openjdk.org/?repo=panama-foreign&pr=791&range=02 - incr: https://webrevs.openjdk.org/?repo=panama-foreign&pr=791&range=01-02 Stats: 47376 lines in 990 files changed: 17838 ins; 15404 del; 14134 mod Patch: https://git.openjdk.org/panama-foreign/pull/791.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/791/head:pull/791 PR: https://git.openjdk.org/panama-foreign/pull/791 From jvernee at openjdk.org Sun Feb 19 20:01:43 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Sun, 19 Feb 2023 20:01:43 GMT Subject: [foreign-memaccess+abi] Integrated: 8302346: Lift upcall sharing mechanism to AbstractLinker In-Reply-To: References: Message-ID: On Tue, 14 Feb 2023 11:21:56 GMT, Jorn Vernee wrote: > Lift the upcall sharing mechanism to AbstractLinker, where it can live next to the similar mechanism for down calls. This also allows the fallback linker to use this mechanism. > > Instead of an upcall stub, AbstractLinker::arrangeDowncall now return an UpcallStubFactory, which is a callback accepting a target MethodHandle and Arena, which are then used to construct the actual upcall stub. > > Perhaps the trickiest part of this patch is that we have to simulate the effects of `SharedUtils::adaptUpcallForIMR` on the target method type. I've added a new method in SharedUtils, called `computeUpcallIMRType` for that, which mimics the shape of the `adaptUpcallForIMR` method. > > Since the shape of most of the arrangeUpcall methods was very similar, I factored them out into a helper method in SharedUtils as well. This pull request has now been integrated. Changeset: 9664ae30 Author: Jorn Vernee URL: https://git.openjdk.org/panama-foreign/commit/9664ae3022ab3c2980df402009886bb0d971e742 Stats: 169 lines in 16 files changed: 53 ins; 54 del; 62 mod 8302346: Lift upcall sharing mechanism to AbstractLinker Reviewed-by: mcimadamore ------------- PR: https://git.openjdk.org/panama-foreign/pull/791 From pminborg at openjdk.org Mon Feb 20 08:22:25 2023 From: pminborg at openjdk.org (Per Minborg) Date: Mon, 20 Feb 2023 08:22:25 GMT Subject: [foreign-memaccess+abi] RFR: Add additional tests [v2] In-Reply-To: <7LnaAr5XbIlGNajzO9J85zfCex6NCRZiamCDBcbMFM8=.c8128a51-f610-4b3a-9223-5d5a3b233ca2@github.com> References: <7LnaAr5XbIlGNajzO9J85zfCex6NCRZiamCDBcbMFM8=.c8128a51-f610-4b3a-9223-5d5a3b233ca2@github.com> Message-ID: > This PR adds yet other tests. Per Minborg has updated the pull request incrementally with one additional commit since the last revision: Update test name ------------- Changes: - all: https://git.openjdk.org/panama-foreign/pull/801/files - new: https://git.openjdk.org/panama-foreign/pull/801/files/3c8f8339..4e194c70 Webrevs: - full: https://webrevs.openjdk.org/?repo=panama-foreign&pr=801&range=01 - incr: https://webrevs.openjdk.org/?repo=panama-foreign&pr=801&range=00-01 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.org/panama-foreign/pull/801.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/801/head:pull/801 PR: https://git.openjdk.org/panama-foreign/pull/801 From pminborg at openjdk.org Mon Feb 20 08:22:27 2023 From: pminborg at openjdk.org (Per Minborg) Date: Mon, 20 Feb 2023 08:22:27 GMT Subject: [foreign-memaccess+abi] RFR: Add additional tests [v2] In-Reply-To: References: <7LnaAr5XbIlGNajzO9J85zfCex6NCRZiamCDBcbMFM8=.c8128a51-f610-4b3a-9223-5d5a3b233ca2@github.com> Message-ID: On Fri, 17 Feb 2023 13:49:30 GMT, Maurizio Cimadamore wrote: >> Per Minborg has updated the pull request incrementally with one additional commit since the last revision: >> >> Update test name > > test/jdk/java/foreign/TestLayouts.java line 295: > >> 293: >> 294: @Test(expectedExceptions = IllegalArgumentException.class) >> 295: public void test() { > > I suggest to add some name - e.g. `testBadValueCarrier` Ahh. I forgot to change the temporary name. Thanks for spotting this. ------------- PR: https://git.openjdk.org/panama-foreign/pull/801 From mcimadamore at openjdk.org Mon Feb 20 10:13:51 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Mon, 20 Feb 2023 10:13:51 GMT Subject: [foreign-memaccess+abi] RFR: Add additional tests [v2] In-Reply-To: References: <7LnaAr5XbIlGNajzO9J85zfCex6NCRZiamCDBcbMFM8=.c8128a51-f610-4b3a-9223-5d5a3b233ca2@github.com> Message-ID: On Mon, 20 Feb 2023 08:22:25 GMT, Per Minborg wrote: >> This PR adds yet other tests. > > Per Minborg has updated the pull request incrementally with one additional commit since the last revision: > > Update test name Marked as reviewed by mcimadamore (Committer). ------------- PR: https://git.openjdk.org/panama-foreign/pull/801 From pminborg at openjdk.org Mon Feb 20 15:08:56 2023 From: pminborg at openjdk.org (Per Minborg) Date: Mon, 20 Feb 2023 15:08:56 GMT Subject: [foreign-memaccess+abi] Integrated: Add additional tests In-Reply-To: <7LnaAr5XbIlGNajzO9J85zfCex6NCRZiamCDBcbMFM8=.c8128a51-f610-4b3a-9223-5d5a3b233ca2@github.com> References: <7LnaAr5XbIlGNajzO9J85zfCex6NCRZiamCDBcbMFM8=.c8128a51-f610-4b3a-9223-5d5a3b233ca2@github.com> Message-ID: <8aHdUVqAwp-Dcvnlo4MOc3kFO7YEHv-yOzeExfOuCWQ=.9a4b6561-cbb3-4995-a56c-3677c6b2f939@github.com> On Fri, 17 Feb 2023 13:03:08 GMT, Per Minborg wrote: > This PR adds yet other tests. This pull request has now been integrated. Changeset: 19dfe2a8 Author: Per Minborg URL: https://git.openjdk.org/panama-foreign/commit/19dfe2a8ce019c86a1135c50ff14dfefef038d07 Stats: 39 lines in 2 files changed: 36 ins; 2 del; 1 mod Add additional tests Reviewed-by: mcimadamore ------------- PR: https://git.openjdk.org/panama-foreign/pull/801 From mcimadamore at openjdk.org Mon Feb 20 15:45:29 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Mon, 20 Feb 2023 15:45:29 GMT Subject: [foreign-memaccess+abi] RFR: Add `final` to AbstractMemorySegmentImpl::reinterpret Message-ID: This patch fixes an issue introduced in a recent API change [1], which causes a failure in a caller sensitive method sanity test (e.g. all caller sensitive methods must be `final`). [1] - https://git.openjdk.org/panama-foreign/pull/797 ------------- Commit messages: - Add `final` to AbstractMemorySegmentImpl::reinterpret Changes: https://git.openjdk.org/panama-foreign/pull/802/files Webrev: https://webrevs.openjdk.org/?repo=panama-foreign&pr=802&range=00 Stats: 3 lines in 1 file changed: 0 ins; 0 del; 3 mod Patch: https://git.openjdk.org/panama-foreign/pull/802.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/802/head:pull/802 PR: https://git.openjdk.org/panama-foreign/pull/802 From jvernee at openjdk.org Mon Feb 20 15:45:30 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Mon, 20 Feb 2023 15:45:30 GMT Subject: [foreign-memaccess+abi] RFR: Add `final` to AbstractMemorySegmentImpl::reinterpret In-Reply-To: References: Message-ID: On Mon, 20 Feb 2023 15:36:10 GMT, Maurizio Cimadamore wrote: > This patch fixes an issue introduced in a recent API change [1], which causes a failure in a caller sensitive method sanity test (e.g. all caller sensitive methods must be `final`). > > [1] - https://git.openjdk.org/panama-foreign/pull/797 I was just about to take a look as well :) Can you add the CheckCSMs test to the jdk_foreign test group as well? diff --git a/test/jdk/TEST.groups b/test/jdk/TEST.groups index 38032de11b3..fd4321d1367 100644 --- a/test/jdk/TEST.groups +++ b/test/jdk/TEST.groups @@ -359,7 +359,8 @@ jdk_svc = \ jdk_foreign = \ java/foreign \ - -java/foreign/TestMatrix.java + -java/foreign/TestMatrix.java \ + jdk/internal/reflect/CallerSensitive/CheckCSMs.java jdk_vector = \ jdk/incubator/vector ------------- PR: https://git.openjdk.org/panama-foreign/pull/802 From sundar at openjdk.org Mon Feb 20 15:45:31 2023 From: sundar at openjdk.org (Athijegannathan Sundararajan) Date: Mon, 20 Feb 2023 15:45:31 GMT Subject: [foreign-memaccess+abi] RFR: Add `final` to AbstractMemorySegmentImpl::reinterpret In-Reply-To: References: Message-ID: On Mon, 20 Feb 2023 15:36:10 GMT, Maurizio Cimadamore wrote: > This patch fixes an issue introduced in a recent API change [1], which causes a failure in a caller sensitive method sanity test (e.g. all caller sensitive methods must be `final`). > > [1] - https://git.openjdk.org/panama-foreign/pull/797 LGTM ------------- Marked as reviewed by sundar (Committer). PR: https://git.openjdk.org/panama-foreign/pull/802 From mcimadamore at openjdk.org Mon Feb 20 16:03:13 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Mon, 20 Feb 2023 16:03:13 GMT Subject: [foreign-memaccess+abi] RFR: 8302885: Implementations of MemorySegment::reinterpret should be final [v2] In-Reply-To: References: Message-ID: > This patch fixes an issue introduced in a recent API change [1], which causes a failure in a caller sensitive method sanity test (e.g. all caller sensitive methods must be `final`). > > [1] - https://git.openjdk.org/panama-foreign/pull/797 Maurizio Cimadamore has updated the pull request incrementally with one additional commit since the last revision: Address review comment ------------- Changes: - all: https://git.openjdk.org/panama-foreign/pull/802/files - new: https://git.openjdk.org/panama-foreign/pull/802/files/dfa6a1e2..9df30a5d Webrevs: - full: https://webrevs.openjdk.org/?repo=panama-foreign&pr=802&range=01 - incr: https://webrevs.openjdk.org/?repo=panama-foreign&pr=802&range=00-01 Stats: 1 line in 1 file changed: 1 ins; 0 del; 0 mod Patch: https://git.openjdk.org/panama-foreign/pull/802.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/802/head:pull/802 PR: https://git.openjdk.org/panama-foreign/pull/802 From jvernee at openjdk.org Mon Feb 20 16:04:51 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Mon, 20 Feb 2023 16:04:51 GMT Subject: [foreign-memaccess+abi] RFR: 8302885: Implementations of MemorySegment::reinterpret should be final [v2] In-Reply-To: References: Message-ID: On Mon, 20 Feb 2023 16:03:13 GMT, Maurizio Cimadamore wrote: >> This patch fixes an issue introduced in a recent API change [1], which causes a failure in a caller sensitive method sanity test (e.g. all caller sensitive methods must be `final`). >> >> [1] - https://git.openjdk.org/panama-foreign/pull/797 > > Maurizio Cimadamore has updated the pull request incrementally with one additional commit since the last revision: > > Address review comment Marked as reviewed by jvernee (Committer). ------------- PR: https://git.openjdk.org/panama-foreign/pull/802 From mcimadamore at openjdk.org Mon Feb 20 16:11:54 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Mon, 20 Feb 2023 16:11:54 GMT Subject: [foreign-memaccess+abi] Integrated: 8302885: Implementations of MemorySegment::reinterpret should be final In-Reply-To: References: Message-ID: On Mon, 20 Feb 2023 15:36:10 GMT, Maurizio Cimadamore wrote: > This patch fixes an issue introduced in a recent API change [1], which causes a failure in a caller sensitive method sanity test (e.g. all caller sensitive methods must be `final`). > > [1] - https://git.openjdk.org/panama-foreign/pull/797 This pull request has now been integrated. Changeset: 82be27b1 Author: Maurizio Cimadamore URL: https://git.openjdk.org/panama-foreign/commit/82be27b167d861ba4be4fcdf17fe0a039e14a979 Stats: 4 lines in 2 files changed: 1 ins; 0 del; 3 mod 8302885: Implementations of MemorySegment::reinterpret should be final Reviewed-by: jvernee, sundar ------------- PR: https://git.openjdk.org/panama-foreign/pull/802 From eirbjo at gmail.com Tue Feb 21 10:56:21 2023 From: eirbjo at gmail.com (=?UTF-8?B?RWlyaWsgQmrDuHJzbsO4cw==?=) Date: Tue, 21 Feb 2023 11:56:21 +0100 Subject: Vectorized latin1 equalsIgnoreCase Message-ID: Hi, I've been working on https://github.com/openjdk/jdk/pull/12623 (which speeds up latin1 equalsIgnoreCase using 'the oldest ASCII trick in the book). I was thinking that this trick could lend itself to vectorization, so I made a quick exploration using the Vector API. (JMH results below) While a vectorized implementation is out of scope for the current PR, perhaps it could be useful to include this benchmark along the Vector API benchmarks? It's my first time writing Vector API code (or any SIMD code at all), so this could probably be improved (a lot!): https://github.com/openjdk/jdk/compare/master...eirbjo:jdk:vectorized-equalsignorecase Let me know if there is interest in including this, and I can go ahead and make a PR. Cheers, Eirik. Results: Benchmark (size) Mode Cnt Score Error Units EqualsIgnoreCaseBenchmark.scalar 16 avgt 15 20.671 ? 0.718 ns/op EqualsIgnoreCaseBenchmark.scalar 32 avgt 15 46.155 ? 3.258 ns/op EqualsIgnoreCaseBenchmark.scalar 64 avgt 15 68.248 ? 1.767 ns/op EqualsIgnoreCaseBenchmark.scalar 128 avgt 15 148.948 ? 0.890 ns/op EqualsIgnoreCaseBenchmark.scalar 1024 avgt 15 1090.708 ? 7.540 ns/op EqualsIgnoreCaseBenchmark.vectorized 16 avgt 15 21.872 ? 0.232 ns/op EqualsIgnoreCaseBenchmark.vectorized 32 avgt 15 11.378 ? 0.097 ns/op EqualsIgnoreCaseBenchmark.vectorized 64 avgt 15 13.703 ? 0.135 ns/op EqualsIgnoreCaseBenchmark.vectorized 128 avgt 15 21.632 ? 0.735 ns/op EqualsIgnoreCaseBenchmark.vectorized 1024 avgt 15 105.509 ? 7.493 ns/op -------------- next part -------------- An HTML attachment was scrubbed... URL: From mcimadamore at openjdk.org Tue Feb 21 11:20:34 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Tue, 21 Feb 2023 11:20:34 GMT Subject: [foreign-memaccess+abi] RFR: Fix typo in TestLayouts Message-ID: There is name mismatch in a data provider in `TestLayouts` which causes the test to fail. This patch fixes it. ------------- Commit messages: - Fix typo in TestLayouts Changes: https://git.openjdk.org/panama-foreign/pull/803/files Webrev: https://webrevs.openjdk.org/?repo=panama-foreign&pr=803&range=00 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.org/panama-foreign/pull/803.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/803/head:pull/803 PR: https://git.openjdk.org/panama-foreign/pull/803 From jvernee at openjdk.org Tue Feb 21 13:06:52 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Tue, 21 Feb 2023 13:06:52 GMT Subject: [foreign-memaccess+abi] RFR: Fix typo in TestLayouts In-Reply-To: References: Message-ID: On Tue, 21 Feb 2023 11:14:17 GMT, Maurizio Cimadamore wrote: > There is name mismatch in a data provider in `TestLayouts` which causes the test to fail. This patch fixes it. Looks good. ------------- Marked as reviewed by jvernee (Committer). PR: https://git.openjdk.org/panama-foreign/pull/803 From mcimadamore at openjdk.org Tue Feb 21 13:35:51 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Tue, 21 Feb 2023 13:35:51 GMT Subject: [foreign-memaccess+abi] Integrated: Fix typo in TestLayouts In-Reply-To: References: Message-ID: On Tue, 21 Feb 2023 11:14:17 GMT, Maurizio Cimadamore wrote: > There is name mismatch in a data provider in `TestLayouts` which causes the test to fail. This patch fixes it. This pull request has now been integrated. Changeset: 5d296084 Author: Maurizio Cimadamore URL: https://git.openjdk.org/panama-foreign/commit/5d296084e40e36ecc52bc1bdc1b1f9258749838c Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Fix typo in TestLayouts Reviewed-by: jvernee ------------- PR: https://git.openjdk.org/panama-foreign/pull/803 From jvernee at openjdk.org Tue Feb 21 17:20:43 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Tue, 21 Feb 2023 17:20:43 GMT Subject: [foreign-memaccess+abi] RFR: 8302990: Reduce duplication in test code Message-ID: Change existing CallGeneratorHelper-based tests to use the new genTestValue/makeArgSaverCB method that was added as part of better testing for nested structs/unions. The new methods have a generic enough API so that each use-case can be served, and allows removing a bunch of code which generates test values, while at the same time making the test value generation random, which has a chance in the long term to find interesting failures for certain values. Two additional things in this patch: - I've removed the `ABI` field in `TestUpcallBase` in favor of using the already existing `Linker` field in `NativeTestHelper`. - I've changed the code that computes a padded layout for structs to call the method in `Utils` we have for that. This also addresses https://bugs.openjdk.org/browse/JDK-8293827 ------------- Commit messages: - Adjust TestMatrix - print and make configurable the default random seed - Refactor CallGeneratorHelper-based tests to use genTestValue Changes: https://git.openjdk.org/panama-foreign/pull/804/files Webrev: https://webrevs.openjdk.org/?repo=panama-foreign&pr=804&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8302990 Stats: 431 lines in 12 files changed: 92 ins; 256 del; 83 mod Patch: https://git.openjdk.org/panama-foreign/pull/804.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/804/head:pull/804 PR: https://git.openjdk.org/panama-foreign/pull/804 From mcimadamore at openjdk.org Wed Feb 22 12:52:12 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Wed, 22 Feb 2023 12:52:12 GMT Subject: [foreign-memaccess+abi] RFR: 8302990: Reduce duplication in test code In-Reply-To: References: Message-ID: On Tue, 21 Feb 2023 14:11:40 GMT, Jorn Vernee wrote: > Change existing CallGeneratorHelper-based tests to use the new genTestValue/makeArgSaverCB method that was added as part of better testing for nested structs/unions. The new methods have a generic enough API so that each use-case can be served, and allows removing a bunch of code which generates test values, while at the same time making the test value generation random, which has a chance in the long term to find interesting failures for certain values. > > Two additional things in this patch: > - I've removed the `ABI` field in `TestUpcallBase` in favor of using the already existing `Linker` field in `NativeTestHelper`. > - I've changed the code that computes a padded layout for structs to call the method in `Utils` we have for that. This also addresses https://bugs.openjdk.org/browse/JDK-8293827 Nice cleanup! ------------- Marked as reviewed by mcimadamore (Committer). PR: https://git.openjdk.org/panama-foreign/pull/804 From jvernee at openjdk.org Thu Feb 23 15:18:39 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Thu, 23 Feb 2023 15:18:39 GMT Subject: [foreign-memaccess+abi] Integrated: 8302990: Reduce duplication in test code In-Reply-To: References: Message-ID: On Tue, 21 Feb 2023 14:11:40 GMT, Jorn Vernee wrote: > Change existing CallGeneratorHelper-based tests to use the new genTestValue/makeArgSaverCB method that was added as part of better testing for nested structs/unions. The new methods have a generic enough API so that each use-case can be served, and allows removing a bunch of code which generates test values, while at the same time making the test value generation random, which has a chance in the long term to find interesting failures for certain values. > > Two additional things in this patch: > - I've removed the `ABI` field in `TestUpcallBase` in favor of using the already existing `Linker` field in `NativeTestHelper`. > - I've changed the code that computes a padded layout for structs to call the method in `Utils` we have for that. This also addresses https://bugs.openjdk.org/browse/JDK-8293827 This pull request has now been integrated. Changeset: f6269d77 Author: Jorn Vernee URL: https://git.openjdk.org/panama-foreign/commit/f6269d770067e34d04c2289cf246566445146d0f Stats: 431 lines in 12 files changed: 92 ins; 256 del; 83 mod 8302990: Reduce duplication in test code 8293827: Padding computed by CallGeneratorHelper can be incorrect Reviewed-by: mcimadamore ------------- PR: https://git.openjdk.org/panama-foreign/pull/804 From martin.pernollet at protonmail.com Thu Feb 23 17:16:29 2023 From: martin.pernollet at protonmail.com (Martin Pernollet) Date: Thu, 23 Feb 2023 17:16:29 +0000 Subject: Know the type carried by an Addressable Message-ID: Hi, When I generate OpenGL bindings with JExtract, all methods having int/float/double arrays in the native interface have a Java sibling declared with an Addressable without more precise typing. E.g. in OpenGL C header files we have methods like public void glGetBooleanv(int pname, boolean[] data); public void glGetDoublev(int pname, double[] data); public void glGetFloatv(int pname, float[] data); public void glGetIntegerv(int pname, int[] data); These are getter methods that provide the array that will be filled according to the queried parameter defined by its pname id. The generated java bindings loose information since they state : public void glGetBooleanv(int pname, Addressable data); public void glGetDoublev(int pname, Addressable data); public void glGetFloatv(int pname, Addressable data); public void glGetIntegerv(int pname, Addressable data); I wonder if it is possible to - dynamically ask to an Addressable the type it carries - ask JExtract to generate more precise types - if the idea of an Addressable (rather than simple Addressable) has been discussed and why it has not been followed In the case of OpenGL, I can deal with it since there exists a registry defining all functions with their typed parameters, so I can generate the code able to make such conversion - but I think that would be nice to get it out of the box with JExtract! Martin Envoy? avec la messagerie s?curis?e [Proton Mail](https://proton.me/). -------------- next part -------------- An HTML attachment was scrubbed... URL: From maurizio.cimadamore at oracle.com Thu Feb 23 17:23:46 2023 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Thu, 23 Feb 2023 17:23:46 +0000 Subject: Know the type carried by an Addressable In-Reply-To: References: Message-ID: <53fbba22-1b81-40ac-cf89-8c9953ec8bb1@oracle.com> What version of jextract are you using? Addressable has been dropped in Java 20. I believe in the newer jextract all these will generate MemorySegment types. Now to your question: > * dynamically ask to an Addressable the type it carries > Not really - a memory segment is just a bag of bytes. > > * ask JExtract to generate more precise types > This is a possibility - e.g. jextract could add higher-level carriers for structs and pointers. Note that here you don't really want an array - when you use array syntax for a function declaration in C, the compiler turns that into a pointer. > > * if the idea of an Addressable (rather than simple Addressable) > has been discussed and why it has not been followed > No, for the reason above, a memory segment is a bag of bytes. You can freely dereference a memory segment as you please, reading any combination of values. Adding typeful representation to segments is an higher-level concern, presumably something jextract could add. > > In the case of OpenGL, I can deal with it since there exists a > registry defining all functions with their typed parameters, so I can > generate the code able to make such conversion - but I think that > would be nice to get it out of the box with JExtract! It's something on our radar. Whatever solution we end up with, it will have to balance carefully usability with performance - e.g. if we add too much information, there might be an additional overhead to create this representation, and not all jextract users might be ok with that. Cheers Maurizio > > Martin > > > > > > > Envoy? avec la messagerie s?curis?e Proton Mail . -------------- next part -------------- An HTML attachment was scrubbed... URL: From sandhya.viswanathan at intel.com Fri Feb 24 01:17:16 2023 From: sandhya.viswanathan at intel.com (Viswanathan, Sandhya) Date: Fri, 24 Feb 2023 01:17:16 +0000 Subject: Vectorized latin1 equalsIgnoreCase In-Reply-To: References: Message-ID: Hi Eirik, Yes, it will be wonderful to add this benchmark. Please go ahead and create a PR. If there are objections to adding it to mainline JDK, we could fall back to the panama-vectror vectorIntrinsics branch. Best Regards, Sandhya From: panama-dev On Behalf Of Eirik Bj?rsn?s Sent: Tuesday, February 21, 2023 2:56 AM To: panama-dev at openjdk.org Subject: Vectorized latin1 equalsIgnoreCase Hi, I've been working on https://github.com/openjdk/jdk/pull/12623 (which speeds up latin1 equalsIgnoreCase using 'the oldest ASCII trick in the book). I was thinking that this trick could lend itself to vectorization, so I made a quick exploration using the Vector API. (JMH results below) While a vectorized implementation is out of scope for the current PR, perhaps it could be useful to include this benchmark along the Vector API benchmarks? It's my first time writing Vector API code (or any SIMD code at all), so this could probably be improved (a lot!): https://github.com/openjdk/jdk/compare/master...eirbjo:jdk:vectorized-equalsignorecase Let me know if there is interest in including this, and I can go ahead and make a PR. Cheers, Eirik. Results: Benchmark (size) Mode Cnt Score Error Units EqualsIgnoreCaseBenchmark.scalar 16 avgt 15 20.671 ? 0.718 ns/op EqualsIgnoreCaseBenchmark.scalar 32 avgt 15 46.155 ? 3.258 ns/op EqualsIgnoreCaseBenchmark.scalar 64 avgt 15 68.248 ? 1.767 ns/op EqualsIgnoreCaseBenchmark.scalar 128 avgt 15 148.948 ? 0.890 ns/op EqualsIgnoreCaseBenchmark.scalar 1024 avgt 15 1090.708 ? 7.540 ns/op EqualsIgnoreCaseBenchmark.vectorized 16 avgt 15 21.872 ? 0.232 ns/op EqualsIgnoreCaseBenchmark.vectorized 32 avgt 15 11.378 ? 0.097 ns/op EqualsIgnoreCaseBenchmark.vectorized 64 avgt 15 13.703 ? 0.135 ns/op EqualsIgnoreCaseBenchmark.vectorized 128 avgt 15 21.632 ? 0.735 ns/op EqualsIgnoreCaseBenchmark.vectorized 1024 avgt 15 105.509 ? 7.493 ns/op -------------- next part -------------- An HTML attachment was scrubbed... URL: From duke at openjdk.org Fri Feb 24 11:08:34 2023 From: duke at openjdk.org (duke) Date: Fri, 24 Feb 2023 11:08:34 GMT Subject: git: openjdk/panama-foreign: foreign-memaccess+abi: 118 new changesets Message-ID: Changeset: c4ffe4bf Author: Johan Sj?len Date: 2023-02-17 11:24:41 +0000 URL: https://git.openjdk.org/panama-foreign/commit/c4ffe4bf6369d5b271aa8689b8648f3fe8dcabed 8301494: Replace NULL with nullptr in cpu/arm Reviewed-by: dholmes, coleenp ! src/hotspot/cpu/arm/c1_CodeStubs_arm.cpp ! src/hotspot/cpu/arm/c1_LIRAssembler_arm.cpp ! src/hotspot/cpu/arm/c1_LIRGenerator_arm.cpp ! src/hotspot/cpu/arm/c1_MacroAssembler_arm.cpp ! src/hotspot/cpu/arm/c1_MacroAssembler_arm.hpp ! src/hotspot/cpu/arm/c1_Runtime1_arm.cpp ! src/hotspot/cpu/arm/c2_MacroAssembler_arm.cpp ! src/hotspot/cpu/arm/compiledIC_arm.cpp ! src/hotspot/cpu/arm/continuationFreezeThaw_arm.inline.hpp ! src/hotspot/cpu/arm/continuationHelper_arm.inline.hpp ! src/hotspot/cpu/arm/disassembler_arm.hpp ! src/hotspot/cpu/arm/frame_arm.cpp ! src/hotspot/cpu/arm/frame_arm.inline.hpp ! src/hotspot/cpu/arm/gc/g1/g1BarrierSetAssembler_arm.cpp ! src/hotspot/cpu/arm/gc/shared/barrierSetAssembler_arm.cpp ! src/hotspot/cpu/arm/globals_arm.hpp ! src/hotspot/cpu/arm/interp_masm_arm.cpp ! src/hotspot/cpu/arm/interp_masm_arm.hpp ! src/hotspot/cpu/arm/interpreterRT_arm.cpp ! src/hotspot/cpu/arm/javaFrameAnchor_arm.hpp ! src/hotspot/cpu/arm/jniFastGetField_arm.cpp ! src/hotspot/cpu/arm/jvmciCodeInstaller_arm.cpp ! src/hotspot/cpu/arm/macroAssembler_arm.cpp ! src/hotspot/cpu/arm/macroAssembler_arm.hpp ! src/hotspot/cpu/arm/methodHandles_arm.cpp ! src/hotspot/cpu/arm/nativeInst_arm_32.cpp ! src/hotspot/cpu/arm/nativeInst_arm_32.hpp ! src/hotspot/cpu/arm/registerMap_arm.hpp ! src/hotspot/cpu/arm/relocInfo_arm.cpp ! src/hotspot/cpu/arm/sharedRuntime_arm.cpp ! src/hotspot/cpu/arm/smallRegisterMap_arm.inline.hpp ! src/hotspot/cpu/arm/stackChunkFrameStream_arm.inline.hpp ! src/hotspot/cpu/arm/stubGenerator_arm.cpp ! src/hotspot/cpu/arm/stubRoutines_arm.cpp ! src/hotspot/cpu/arm/templateInterpreterGenerator_arm.cpp ! src/hotspot/cpu/arm/templateTable_arm.cpp ! src/hotspot/cpu/arm/vm_version_arm_32.cpp ! src/hotspot/cpu/arm/vtableStubs_arm.cpp Changeset: dc55a7fc Author: Jan Lahoda Date: 2023-02-17 12:55:47 +0000 URL: https://git.openjdk.org/panama-foreign/commit/dc55a7fc877ab5ea4efbed90454194008143aeb4 8302202: Incorrect desugaring of null-allowed nested patterns Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TransPatterns.java + test/langtools/tools/javac/patterns/NullsInDeconstructionPatterns2.java Changeset: b8c9d6cd Author: Richard Reingruber Date: 2023-02-17 13:20:08 +0000 URL: https://git.openjdk.org/panama-foreign/commit/b8c9d6cdf60ea5e680eb00d5c01a1c4d2ed04006 8302158: PPC: test/jdk/jdk/internal/vm/Continuation/Fuzz.java: AssertionError: res: false shouldPin: false Reviewed-by: goetz, mdoerr ! src/hotspot/cpu/ppc/frame_ppc.cpp ! src/hotspot/cpu/ppc/sharedRuntime_ppc.cpp ! test/jdk/jdk/internal/vm/Continuation/BasicExt.java Changeset: 57fde75b Author: Yi-Fan Tsai Committer: Volker Simonis Date: 2023-02-17 14:23:33 +0000 URL: https://git.openjdk.org/panama-foreign/commit/57fde75b2a9d853c2abe1396ace6a83d198dd284 8302113: Improve CRC32 intrinsic with crypto pmull on AArch64 Reviewed-by: simonis ! src/hotspot/cpu/aarch64/globals_aarch64.hpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/stubRoutines_aarch64.cpp ! src/hotspot/cpu/aarch64/vm_version_aarch64.cpp Changeset: 57c9bc39 Author: Tobias Holenstein Date: 2023-02-17 14:26:37 +0000 URL: https://git.openjdk.org/panama-foreign/commit/57c9bc39cd50067bce34b8e3c32bf89dc6da3e60 8302335: IGV: Bytecode not showing Reviewed-by: rcastanedalo, thartmann, xliu ! src/utils/IdealGraphVisualizer/Data/src/main/java/com/sun/hotspot/igv/data/InputMethod.java Changeset: cd77fcfb Author: Tobias Holenstein Date: 2023-02-17 14:27:17 +0000 URL: https://git.openjdk.org/panama-foreign/commit/cd77fcfb5f9156e5f0909fa15a842dde6c25c66a 8290822: C2: assert in PhaseIdealLoop::do_unroll() is subject to undefined behavior Reviewed-by: kvn, thartmann ! src/hotspot/share/opto/loopTransform.cpp Changeset: edf238b6 Author: Daniel Fuchs Date: 2023-02-17 14:43:58 +0000 URL: https://git.openjdk.org/panama-foreign/commit/edf238b65e441a1d626f3a4ba06170badd05ca7c 8302635: Race condition in HttpBodySubscriberWrapper when cancelling request Reviewed-by: jpai ! src/java.net.http/share/classes/jdk/internal/net/http/Http1Exchange.java ! src/java.net.http/share/classes/jdk/internal/net/http/Stream.java ! src/java.net.http/share/classes/jdk/internal/net/http/common/HttpBodySubscriberWrapper.java ! test/jdk/java/net/httpclient/CancelRequestTest.java Changeset: ea5bfea3 Author: Albert Mingkun Yang Date: 2023-02-17 14:46:23 +0000 URL: https://git.openjdk.org/panama-foreign/commit/ea5bfea333acf6668ef382e90c5d0584c305c1a9 8302661: Parallel: Remove PSVirtualSpace::is_aligned Reviewed-by: stefank, tschatzl ! src/hotspot/share/gc/parallel/psVirtualspace.cpp ! src/hotspot/share/gc/parallel/psVirtualspace.hpp Changeset: fef3eab9 Author: Albert Mingkun Yang Date: 2023-02-17 14:47:03 +0000 URL: https://git.openjdk.org/panama-foreign/commit/fef3eab9bd2d61cc25752fe11a65bdc3010beae3 8302734: Parallel: Remove unused LGRPSpace::_invalid_region Reviewed-by: tschatzl ! src/hotspot/share/gc/parallel/mutableNUMASpace.hpp Changeset: 6120319a Author: Ludvig Janiuk Committer: Erik Joelsson Date: 2023-02-17 14:57:00 +0000 URL: https://git.openjdk.org/panama-foreign/commit/6120319afdba98b5ff547b870a0260479e8b683c 8302226: failure_handler native.core should wait for coredump to finish Reviewed-by: erikj ! test/failure_handler/src/share/conf/linux.properties ! test/failure_handler/src/share/conf/mac.properties Changeset: a917fb3f Author: Archie L. Cobbs Committer: Vicente Romero Date: 2023-02-17 16:55:35 +0000 URL: https://git.openjdk.org/panama-foreign/commit/a917fb3fcf0fe1a4c4de86c08ae4041462848b82 7033677: potential cast error in MemberEnter Reviewed-by: vromero, jlahoda ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TypeEnter.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/JCTree.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeCopier.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeMaker.java ! test/langtools/jdk/javadoc/tool/sampleapi/lib/sampleapi/generator/PackageGenerator.java Changeset: a263f283 Author: Ioi Lam Date: 2023-02-17 19:34:26 +0000 URL: https://git.openjdk.org/panama-foreign/commit/a263f28368951e2352ee983d318d83c92ddf8e4d 8302777: CDS should not relocate heap if mapping fails Reviewed-by: ccheung ! src/hotspot/share/cds/archiveHeapLoader.cpp Changeset: 03d613bb Author: Mikhailo Seledtsov Date: 2023-02-17 19:37:02 +0000 URL: https://git.openjdk.org/panama-foreign/commit/03d613bbab99dd84dfc5115a5034c60f4e510259 8294402: Add diagnostic logging to VMProps.checkDockerSupport Reviewed-by: dholmes, lmesnik ! test/jtreg-ext/requires/VMProps.java Changeset: 86b9fce9 Author: Calvin Cheung Date: 2023-02-17 19:51:12 +0000 URL: https://git.openjdk.org/panama-foreign/commit/86b9fce9807eb5cbada90f9fa4d3763e3bff84cb 8301992: Embed SymbolTable CHT node Co-authored-by: Robbin Ehn Reviewed-by: coleenp, iklam ! src/hotspot/share/classfile/symbolTable.cpp ! src/hotspot/share/classfile/symbolTable.hpp ! src/hotspot/share/oops/symbol.cpp ! src/hotspot/share/oops/symbol.hpp Changeset: 7c60b9c9 Author: Sandhya Viswanathan Date: 2023-02-17 21:31:42 +0000 URL: https://git.openjdk.org/panama-foreign/commit/7c60b9c98f0b90a519fd98e43e93eecfb0b29c92 8302358: Behavior of adler32 changes after JDK-8300208 Reviewed-by: kvn, jbhateja ! src/hotspot/cpu/x86/stubGenerator_x86_64_adler.cpp ! test/hotspot/jtreg/compiler/intrinsics/zip/TestAdler32.java Changeset: 6b082fb3 Author: Serguei Spitsyn Date: 2023-02-17 21:49:14 +0000 URL: https://git.openjdk.org/panama-foreign/commit/6b082fb3c658524905a9a7b33dcb58e375c95c1b 8302615: make JVMTI thread cpu time functions optional for virtual threads Reviewed-by: alanb ! src/hotspot/share/prims/jvmti.xml Changeset: 43cf8b3d Author: Jaikiran Pai Date: 2023-02-18 00:48:29 +0000 URL: https://git.openjdk.org/panama-foreign/commit/43cf8b3d8067bc7128c98f86d5f8b6fa8bbed80e 8302664: Fix several incorrect usages of Preconditions.checkFromIndexSize Reviewed-by: djelinski, dfuchs, alanb ! src/java.base/share/classes/java/lang/Character.java ! src/java.base/share/classes/java/util/Base64.java ! src/java.base/share/classes/java/util/zip/Adler32.java ! src/java.base/share/classes/java/util/zip/CRC32.java ! src/java.base/share/classes/java/util/zip/CRC32C.java ! src/java.base/share/classes/java/util/zip/Deflater.java ! src/java.base/share/classes/java/util/zip/Inflater.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/Request.java Changeset: f82385e5 Author: Jaikiran Pai Date: 2023-02-18 11:58:05 +0000 URL: https://git.openjdk.org/panama-foreign/commit/f82385e58741aa83dccc4876ae69a6033217d9ed 8302623: jarsigner - use BufferedOutputStream to improve performance while creating the signed jar Reviewed-by: weijun ! src/jdk.jartool/share/classes/jdk/security/jarsigner/JarSigner.java Changeset: 78f71b4d Author: Eirik Bjorsnos Committer: Claes Redestad Date: 2023-02-18 12:39:19 +0000 URL: https://git.openjdk.org/panama-foreign/commit/78f71b4d41f8682ea10b1573106b11c00f150a1c 8301873: Avoid string decoding in ZipFile.Source.getEntryPos Reviewed-by: redestad, lancea ! src/java.base/share/classes/java/util/zip/ZipCoder.java ! src/java.base/share/classes/java/util/zip/ZipFile.java + test/jdk/java/util/zip/ZipFile/InvalidBytesInEntryNameOrComment.java ! test/jdk/java/util/zip/ZipFile/TestZipFileEncodings.java Changeset: 53be5dc4 Author: Thomas Stuefe Date: 2023-02-18 14:52:26 +0000 URL: https://git.openjdk.org/panama-foreign/commit/53be5dc48604397fb26fd6e448679982aee19fee 8302812: JDK-8302455 broke ClassLoaderStatsTest on 32-bit Reviewed-by: dcubed ! test/hotspot/jtreg/serviceability/dcmd/vm/ClassLoaderStatsTest.java Changeset: d6716d2e Author: Claes Redestad Date: 2023-02-18 15:17:57 +0000 URL: https://git.openjdk.org/panama-foreign/commit/d6716d2e5471ee794df8833430dd3171b565f78e 8302315: Examine cost of clone of primitive arrays compared to arraycopy Reviewed-by: alanb ! src/java.base/share/classes/java/util/Arrays.java + test/micro/org/openjdk/bench/java/lang/ArrayClone.java Changeset: 7abe2693 Author: Ioi Lam Date: 2023-02-19 05:59:12 +0000 URL: https://git.openjdk.org/panama-foreign/commit/7abe26935ab4356de54acee93390a0d8be1ea289 8302781: CDS archive heap not reproducible after JDK-8296344 Reviewed-by: dcubed ! src/hotspot/share/cds/heapShared.cpp Changeset: 2009dc2b Author: Richard Reingruber Date: 2023-02-20 06:47:57 +0000 URL: https://git.openjdk.org/panama-foreign/commit/2009dc2b737b3468ba6c78d4bf2f5a0bba20ec43 8302462: [REDO] 8297487: G1 Remark: no need to keep alive oop constants of nmethods on stack Reviewed-by: tschatzl, ayang ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/shared/barrierSetNMethod.cpp Changeset: 432cf68c Author: Prasanta Sadhukhan Date: 2023-02-20 08:17:00 +0000 URL: https://git.openjdk.org/panama-foreign/commit/432cf68c4dd1dcce478fccb85163aa0d824474d7 6753661: JFileChooser font not reset after Look & Feel change Reviewed-by: abhiscxk, aivanov, serb ! src/java.desktop/share/classes/sun/swing/plaf/synth/SynthFileChooserUI.java + test/jdk/javax/swing/JFileChooser/JFileChooserFontReset.java Changeset: 743a85db Author: Tobias Holenstein Date: 2023-02-20 08:35:30 +0000 URL: https://git.openjdk.org/panama-foreign/commit/743a85db06ea245dbe6234b1840f18f8b2466e69 8302656: Missing spaces in output of -XX:+CIPrintMethodCodes Reviewed-by: kvn, thartmann ! src/hotspot/share/interpreter/bytecodeTracer.cpp ! src/hotspot/share/oops/methodData.cpp Changeset: 5c0f50bc Author: Emanuel Peter Date: 2023-02-20 08:40:11 +0000 URL: https://git.openjdk.org/panama-foreign/commit/5c0f50bc01cf0b26c8ae68b2afd7f1bfcb217e6d 8295979: [IR Framework] Improve IR matching warning Reviewed-by: thartmann, kvn ! test/hotspot/jtreg/compiler/lib/ir_framework/test/IREncodingPrinter.java Changeset: 7e08275c Author: Emanuel Peter Date: 2023-02-20 08:41:40 +0000 URL: https://git.openjdk.org/panama-foreign/commit/7e08275cc13bfc0f66b1d62b8df58986ecbb45ba 8302668: [TESTBUG] Tests require feature sse4_1 which does not exist, should be sse4.1 Reviewed-by: kvn, thartmann ! test/hotspot/jtreg/compiler/vectorization/runner/BasicByteOpTest.java ! test/hotspot/jtreg/compiler/vectorization/runner/BasicIntOpTest.java ! test/hotspot/jtreg/compiler/vectorization/runner/BasicLongOpTest.java ! test/hotspot/jtreg/compiler/vectorization/runner/LoopArrayIndexComputeTest.java ! test/hotspot/jtreg/compiler/vectorization/runner/LoopCombinedOpTest.java ! test/hotspot/jtreg/compiler/vectorization/runner/LoopLiveOutNodesTest.java ! test/hotspot/jtreg/compiler/vectorization/runner/LoopRangeStrideTest.java ! test/hotspot/jtreg/compiler/vectorization/runner/MultipleLoopsTest.java Changeset: eaae0bae Author: Ivan Walulya Date: 2023-02-20 08:43:02 +0000 URL: https://git.openjdk.org/panama-foreign/commit/eaae0baeba4f114805b0bc022525dfdbf1920cec 8302215: G1: Last-ditch Full GC should do serial compaction for tail regions in per thread compaction points. Reviewed-by: ayang, sjohanss, tschatzl ! src/hotspot/share/gc/g1/g1FullCollector.cpp ! src/hotspot/share/gc/g1/g1FullCollector.hpp ! src/hotspot/share/gc/g1/g1FullGCCompactionPoint.cpp ! src/hotspot/share/gc/g1/g1FullGCCompactionPoint.hpp ! src/hotspot/share/gc/g1/g1FullGCPrepareTask.hpp ! src/hotspot/share/gc/g1/g1FullGCPrepareTask.inline.hpp ! src/hotspot/share/gc/g1/g1FullGCScope.cpp ! src/hotspot/share/gc/g1/g1FullGCScope.hpp Changeset: e971f90a Author: Thomas Schatzl Date: 2023-02-20 10:21:21 +0000 URL: https://git.openjdk.org/panama-foreign/commit/e971f90a0b86c07b19d185406fa5db59c4126ebd 8302206: Factor out duplicate G1VerificationClosure Reviewed-by: kbarrett, ayang ! src/hotspot/share/gc/g1/g1FullGCMarker.cpp ! src/hotspot/share/gc/g1/g1FullGCMarker.hpp ! src/hotspot/share/gc/g1/g1FullGCMarker.inline.hpp ! src/hotspot/share/gc/g1/g1FullGCOopClosures.cpp ! src/hotspot/share/gc/g1/g1FullGCOopClosures.hpp ! src/hotspot/share/gc/g1/g1OopClosures.cpp ! src/hotspot/share/gc/g1/g1OopClosures.hpp ! src/hotspot/share/gc/g1/g1OopClosures.inline.hpp ! src/hotspot/share/gc/g1/g1_globals.hpp ! src/hotspot/share/gc/g1/heapRegion.cpp ! src/hotspot/share/gc/g1/heapRegion.hpp Changeset: 593bec68 Author: Thomas Schatzl Date: 2023-02-20 10:23:00 +0000 URL: https://git.openjdk.org/panama-foreign/commit/593bec685eac13f02f0cbc5c0d38057a28255421 8302122: Parallelize TLAB retirement in prologue in G1 8297611: G1: Merge tlab and per-thread dirty card log flushing Reviewed-by: kbarrett, ayang ! src/hotspot/share/gc/g1/g1BarrierSet.cpp ! src/hotspot/share/gc/g1/g1BarrierSet.hpp ! src/hotspot/share/gc/g1/g1BarrierSet.inline.hpp ! src/hotspot/share/gc/g1/g1DirtyCardQueue.cpp ! src/hotspot/share/gc/g1/g1DirtyCardQueue.hpp ! src/hotspot/share/gc/g1/g1GCPhaseTimes.cpp ! src/hotspot/share/gc/g1/g1GCPhaseTimes.hpp ! src/hotspot/share/gc/g1/g1YoungCollector.cpp ! src/hotspot/share/gc/g1/g1YoungCollector.hpp + src/hotspot/share/gc/g1/g1YoungGCPreEvacuateTasks.cpp + src/hotspot/share/gc/g1/g1YoungGCPreEvacuateTasks.hpp ! src/hotspot/share/gc/shared/cardTableBarrierSet.cpp ! src/hotspot/share/gc/shared/cardTableBarrierSet.hpp ! src/hotspot/share/gc/shared/modRefBarrierSet.hpp ! src/hotspot/share/gc/shared/modRefBarrierSet.inline.hpp ! test/hotspot/jtreg/gc/g1/TestGCLogMessages.java ! test/jdk/jdk/jfr/event/gc/collection/TestG1ParallelPhases.java Changeset: 7c40c8af Author: Thomas Schatzl Date: 2023-02-20 10:45:40 +0000 URL: https://git.openjdk.org/panama-foreign/commit/7c40c8af690a238773e3070f16ec640b53581ee4 8302312: Make ParGCRareEvent_lock G1 specific Reviewed-by: sjohanss, kbarrett ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/g1/g1OopClosures.inline.hpp ! src/hotspot/share/gc/g1/g1YoungCollector.cpp ! src/hotspot/share/gc/g1/heapRegion.cpp ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/runtime/mutexLocker.hpp Changeset: 303c61f3 Author: Ludovic Henry Date: 2023-02-20 10:48:27 +0000 URL: https://git.openjdk.org/panama-foreign/commit/303c61f3ca6b9cf6dd3f7dc700e9d0db04dc10e0 8302776: RISC-V: Fix typo CSR_INSTERT to CSR_INSTRET Reviewed-by: fyang ! src/hotspot/cpu/riscv/macroAssembler_riscv.cpp ! src/hotspot/cpu/riscv/register_riscv.hpp Changeset: 98716e2b Author: Thomas Schatzl Date: 2023-02-20 11:22:04 +0000 URL: https://git.openjdk.org/panama-foreign/commit/98716e2b251c5e86e840116d0c70e2bb07993a10 8302709: Remove explicit remembered set verification in G1 Reviewed-by: ayang, iwalulya ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/heapRegion.cpp ! src/hotspot/share/gc/g1/heapRegion.hpp Changeset: 71cf7c44 Author: Pengfei Li Date: 2023-02-20 12:08:03 +0000 URL: https://git.openjdk.org/panama-foreign/commit/71cf7c4409025c87ac786a54171f00de69fe5317 8302518: Add missing Op_RoundDoubleMode in VectorNode::vector_operands() Reviewed-by: kvn, jbhateja ! src/hotspot/share/opto/vectornode.cpp Changeset: 6ac5e05c Author: Albert Mingkun Yang Date: 2023-02-20 14:07:45 +0000 URL: https://git.openjdk.org/panama-foreign/commit/6ac5e05c58c9f6216397a80ac62e95e2505ccfa3 8302068: Serial: Refactor oop closures used in Young GC Reviewed-by: tschatzl, iwalulya ! src/hotspot/share/gc/serial/defNewGeneration.cpp ! src/hotspot/share/gc/serial/defNewGeneration.hpp ! src/hotspot/share/gc/serial/defNewGeneration.inline.hpp ! src/hotspot/share/gc/serial/genMarkSweep.cpp ! src/hotspot/share/gc/serial/serialHeap.cpp ! src/hotspot/share/gc/serial/serialHeap.hpp ! src/hotspot/share/gc/serial/tenuredGeneration.cpp ! src/hotspot/share/gc/shared/genCollectedHeap.cpp - src/hotspot/share/gc/shared/genOopClosures.hpp - src/hotspot/share/gc/shared/genOopClosures.inline.hpp ! src/hotspot/share/gc/shared/generation.cpp ! src/hotspot/share/gc/shared/space.cpp Changeset: b5a74269 Author: Johan Sj?len Date: 2023-02-20 14:23:54 +0000 URL: https://git.openjdk.org/panama-foreign/commit/b5a7426996bb0e36319186756c46cfa7d0ab6e64 8301749: Tracking malloc pooled memory size Reviewed-by: dholmes, stuefe + src/hotspot/os/linux/mallocInfoDcmd.cpp + src/hotspot/os/linux/mallocInfoDcmd.hpp ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/os/linux/os_linux.hpp ! src/hotspot/share/services/diagnosticCommand.cpp ! src/jdk.jcmd/share/man/jcmd.1 + test/hotspot/jtreg/serviceability/dcmd/vm/MallocInfoTest.java Changeset: e7316952 Author: Prasanta Sadhukhan Date: 2023-02-20 14:47:45 +0000 URL: https://git.openjdk.org/panama-foreign/commit/e731695217b75fd55dc3e820c3123b8739a19c04 8302882: Newly added test javax/swing/JFileChooser/JFileChooserFontReset.java fails with HeadlessException Reviewed-by: jdv ! test/jdk/javax/swing/JFileChooser/JFileChooserFontReset.java Changeset: 7cf7e0a2 Author: Roman Kennke Date: 2023-02-20 15:13:36 +0000 URL: https://git.openjdk.org/panama-foreign/commit/7cf7e0a20b37522b0c7a97e5269bcd2eed174dbe 8302070: Factor null-check into load_klass() calls Reviewed-by: phh, coleenp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/methodHandles_aarch64.cpp ! src/hotspot/cpu/aarch64/templateTable_aarch64.cpp ! src/hotspot/cpu/arm/macroAssembler_arm.cpp ! src/hotspot/cpu/arm/macroAssembler_arm.hpp ! src/hotspot/cpu/arm/methodHandles_arm.cpp ! src/hotspot/cpu/arm/templateTable_arm.cpp ! src/hotspot/cpu/ppc/c1_MacroAssembler_ppc.cpp ! src/hotspot/cpu/ppc/interp_masm_ppc.hpp ! src/hotspot/cpu/ppc/interp_masm_ppc_64.cpp ! src/hotspot/cpu/ppc/macroAssembler_ppc.cpp ! src/hotspot/cpu/ppc/macroAssembler_ppc.hpp ! src/hotspot/cpu/ppc/templateTable_ppc_64.cpp ! src/hotspot/cpu/ppc/vtableStubs_ppc_64.cpp ! src/hotspot/cpu/riscv/macroAssembler_riscv.cpp ! src/hotspot/cpu/riscv/macroAssembler_riscv.hpp ! src/hotspot/cpu/riscv/methodHandles_riscv.cpp ! src/hotspot/cpu/riscv/templateTable_riscv.cpp ! src/hotspot/cpu/s390/macroAssembler_s390.cpp ! src/hotspot/cpu/s390/macroAssembler_s390.hpp ! src/hotspot/cpu/s390/methodHandles_s390.cpp ! src/hotspot/cpu/s390/templateTable_s390.cpp ! src/hotspot/cpu/s390/vtableStubs_s390.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.hpp ! src/hotspot/cpu/x86/methodHandles_x86.cpp ! src/hotspot/cpu/x86/templateTable_x86.cpp Changeset: e47e9ec0 Author: Severin Gehwolf Date: 2023-02-20 17:07:04 +0000 URL: https://git.openjdk.org/panama-foreign/commit/e47e9ec05b630c82182c7843365dfd90fdaa18a0 8300658: memory_and_swap_limit() reporting wrong values on systems with swapaccount=0 Reviewed-by: jsjolen, iklam ! src/hotspot/os/linux/cgroupV1Subsystem_linux.cpp ! src/hotspot/os/linux/cgroupV1Subsystem_linux.hpp ! src/hotspot/os/linux/cgroupV2Subsystem_linux.cpp ! test/hotspot/jtreg/containers/docker/TestMemoryAwareness.java ! test/hotspot/jtreg/containers/docker/TestMemoryWithCgroupV1.java Changeset: 9a797228 Author: Alexey Bakhtin Date: 2023-02-20 17:52:54 +0000 URL: https://git.openjdk.org/panama-foreign/commit/9a797228f3576720196d5e3bf4b204a5e3f87376 8299234: JMX Repository.query performance Reviewed-by: dfuchs, kevinw ! src/java.management/share/classes/com/sun/jmx/mbeanserver/Repository.java ! src/java.management/share/classes/com/sun/jmx/mbeanserver/Util.java ! src/java.management/share/classes/javax/management/ObjectName.java ! test/jdk/javax/management/ObjectName/ApplyWildcardTest.java Changeset: c7517b3d Author: ravi.ra.gupta Committer: Sergey Bylokhov Date: 2023-02-20 18:32:00 +0000 URL: https://git.openjdk.org/panama-foreign/commit/c7517b3decdc55edb7f0ce6e6aa09a6b653c747d 8302525: Write a test to check various components send Events while mouse and key are used simultaneously Reviewed-by: serb + test/jdk/java/awt/event/StressTest/MouseAndKeyEventStressTest.java Changeset: 0bf3a53e Author: Justin King Date: 2023-02-20 18:37:16 +0000 URL: https://git.openjdk.org/panama-foreign/commit/0bf3a53e01818aca5e365ee7275e567aad0273cc 8302599: Extend ASan support to Microsoft Visual C++ Reviewed-by: erikj, stuefe, ihse ! make/autoconf/jdk-options.m4 ! make/data/asan/asan_default_options.c Changeset: 36a08226 Author: sunguoyun Committer: Vladimir Kozlov Date: 2023-02-20 19:28:09 +0000 URL: https://git.openjdk.org/panama-foreign/commit/36a0822633909e03656159245bbeb954efafa2f2 8302369: Reduce the stack size of the C1 compiler Reviewed-by: dlong ! src/hotspot/cpu/aarch64/c1_CodeStubs_aarch64.cpp ! src/hotspot/cpu/aarch64/c1_Defs_aarch64.hpp ! src/hotspot/cpu/arm/c1_CodeStubs_arm.cpp ! src/hotspot/cpu/arm/c1_Defs_arm.hpp ! src/hotspot/cpu/ppc/c1_CodeStubs_ppc.cpp ! src/hotspot/cpu/ppc/c1_Defs_ppc.hpp ! src/hotspot/cpu/riscv/c1_CodeStubs_riscv.cpp ! src/hotspot/cpu/riscv/c1_Defs_riscv.hpp ! src/hotspot/cpu/s390/c1_CodeStubs_s390.cpp ! src/hotspot/cpu/s390/c1_Defs_s390.hpp ! src/hotspot/cpu/x86/c1_CodeStubs_x86.cpp ! src/hotspot/cpu/x86/c1_Defs_x86.hpp ! src/hotspot/share/c1/c1_CodeStubs.hpp ! src/hotspot/share/c1/c1_Compilation.cpp ! src/hotspot/share/c1/c1_Defs.hpp ! src/hotspot/share/c1/c1_FrameMap.cpp ! src/hotspot/share/c1/c1_FrameMap.hpp ! src/hotspot/share/gc/g1/c1/g1BarrierSetC1.hpp ! src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.hpp ! src/hotspot/share/gc/z/c1/zBarrierSetC1.cpp Changeset: bb3dfd6a Author: George Adams Committer: Christoph Langer Date: 2023-02-20 21:58:55 +0000 URL: https://git.openjdk.org/panama-foreign/commit/bb3dfd6adbb58871bc7238107ed254831b22d48b 8302879: doc/building.md update link to jtreg builds Reviewed-by: sgehwolf, clanger ! doc/building.html ! doc/building.md Changeset: 91a2b5ec Author: David Holmes Date: 2023-02-21 01:23:06 +0000 URL: https://git.openjdk.org/panama-foreign/commit/91a2b5ec6f90b9895924a49319c2c6b7007d96bd 8302905: arm32 Raspberry Pi OS build broken by JDK-8301494 Reviewed-by: mikael, martin ! src/hotspot/cpu/arm/interpreterRT_arm.cpp Changeset: 43c71ddf Author: Gui Cao Committer: Fei Yang Date: 2023-02-21 01:39:13 +0000 URL: https://git.openjdk.org/panama-foreign/commit/43c71ddf923d442499449948f4bf8a7c79249af0 8302453: RISC-V: Add support for small width vector operations Co-authored-by: Dingli Zhang Reviewed-by: yzhu, fyang ! src/hotspot/cpu/riscv/c2_MacroAssembler_riscv.cpp ! src/hotspot/cpu/riscv/c2_MacroAssembler_riscv.hpp ! src/hotspot/cpu/riscv/riscv.ad ! src/hotspot/cpu/riscv/riscv_v.ad Changeset: 29f392e4 Author: Tejesh R Date: 2023-02-21 05:19:07 +0000 URL: https://git.openjdk.org/panama-foreign/commit/29f392e4344e467882c36b5737d432b2d0ee7ebb 8299522: Incorrect size of Approve button in custom JFileChooser Reviewed-by: aivanov, abhiscxk, dnguyen ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicFileChooserUI.java + test/jdk/javax/swing/JFileChooser/CustomApproveButtonTest.java Changeset: 17274c72 Author: Emanuel Peter Date: 2023-02-21 07:13:33 +0000 URL: https://git.openjdk.org/panama-foreign/commit/17274c72a962e8ee3afed72b38ed72aa20dd2ae0 8302146: Move TestOverloadCompileQueues.java to tier3 Reviewed-by: kvn, thartmann ! test/hotspot/jtreg/TEST.groups Changeset: 16a4f02f Author: Emanuel Peter Date: 2023-02-21 07:16:51 +0000 URL: https://git.openjdk.org/panama-foreign/commit/16a4f02f2d4f5574af3b20f2f0c788d15dd503ac 8302150: Speed up compiler/codegen/Test7100757.java Reviewed-by: kvn, thartmann ! test/hotspot/jtreg/compiler/codegen/Test7100757.java Changeset: aa10f0d3 Author: Jayathirth D V Date: 2023-02-21 07:30:17 +0000 URL: https://git.openjdk.org/panama-foreign/commit/aa10f0d3ee5d77d83950c9ed4aab11589b822ff4 8302151: BMPImageReader throws an exception reading BMP images Reviewed-by: serb, tr ! src/java.desktop/share/classes/com/sun/imageio/plugins/bmp/BMPImageReader.java + test/jdk/javax/imageio/plugins/bmp/BMP1bppImageWithPaletteTest.java Changeset: 91456703 Author: Matthias Baesken Date: 2023-02-21 08:17:56 +0000 URL: https://git.openjdk.org/panama-foreign/commit/9145670354c41381614877aa71895dc2bd5cce9d 8301661: Enhance os::pd_print_cpu_info on macOS and Windows Reviewed-by: ihse, lucy, dholmes ! make/autoconf/libraries.m4 ! src/hotspot/os/bsd/os_bsd.cpp ! src/hotspot/os/windows/os_windows.cpp Changeset: 63a35012 Author: Stefan Karlsson Date: 2023-02-21 08:23:28 +0000 URL: https://git.openjdk.org/panama-foreign/commit/63a3501273106289dba72384e570962f19264bc9 8302741: ZGC: Remove Universe::verify calls Reviewed-by: ayang, tschatzl ! src/hotspot/share/gc/z/zDriver.cpp Changeset: f35cf79b Author: Albert Mingkun Yang Date: 2023-02-21 09:25:07 +0000 URL: https://git.openjdk.org/panama-foreign/commit/f35cf79b51ba7fa190b546c1ac312802534de8bc 8302867: G1: Removing unused variable in G1CardTable::initialize Reviewed-by: tschatzl ! src/hotspot/share/gc/g1/g1CardTable.cpp Changeset: 9fd77c7b Author: Albert Mingkun Yang Date: 2023-02-21 09:25:51 +0000 URL: https://git.openjdk.org/panama-foreign/commit/9fd77c7b9b06a4e1171c247ed542fbb08c5b6fba 8302868: Serial: Remove CardTableRS::initialize Reviewed-by: tschatzl ! src/hotspot/share/gc/shared/cardTableRS.cpp ! src/hotspot/share/gc/shared/cardTableRS.hpp Changeset: 622f5604 Author: Albert Mingkun Yang Date: 2023-02-21 09:26:47 +0000 URL: https://git.openjdk.org/panama-foreign/commit/622f5604c1fc5b679a68d8cc74f5d751b2827a93 8302886: Parallel: Remove unimplemented methods in ParCompactionManager Reviewed-by: tschatzl ! src/hotspot/share/gc/parallel/psCompactionManager.hpp Changeset: fef19102 Author: Stefan Karlsson Date: 2023-02-21 10:58:36 +0000 URL: https://git.openjdk.org/panama-foreign/commit/fef1910277842303b41854c207fc4caba393adc6 8299777: Test runtime/NMT/BaselineWithParameter.java timed out Reviewed-by: gziemski, iklam, dholmes ! test/hotspot/jtreg/runtime/NMT/BaselineWithParameter.java ! test/hotspot/jtreg/runtime/NMT/JcmdDetailDiff.java ! test/hotspot/jtreg/runtime/NMT/JcmdSummaryClass.java ! test/hotspot/jtreg/runtime/NMT/JcmdSummaryDiff.java Changeset: 60e63789 Author: Stefan Karlsson Date: 2023-02-21 11:04:43 +0000 URL: https://git.openjdk.org/panama-foreign/commit/60e637892576792f663a25b8a949e39c29accd47 8302977: ZGC: Doesn't support gc/TestVerifySubSet.java Reviewed-by: tschatzl ! test/hotspot/jtreg/gc/TestVerifySubSet.java Changeset: 644fe0a9 Author: Julian Waters Date: 2023-02-21 11:58:44 +0000 URL: https://git.openjdk.org/panama-foreign/commit/644fe0a9943e22654673265341ad922e51a78fe0 8302837: Kernel32.cpp array memory release invokes undefined behaviour Reviewed-by: jlahoda ! src/jdk.internal.le/windows/native/lible/Kernel32.cpp Changeset: 8b20aa91 Author: Pavel Rappo Date: 2023-02-21 13:11:26 +0000 URL: https://git.openjdk.org/panama-foreign/commit/8b20aa919b810fc5b3856b392bd0d8b1f882c895 8302981: Fix a typo in the doc comment for java.lang.Record.equals Reviewed-by: jpai ! src/java.base/share/classes/java/lang/Record.java Changeset: 92dfa117 Author: Claes Redestad Date: 2023-02-21 13:31:15 +0000 URL: https://git.openjdk.org/panama-foreign/commit/92dfa1175e4898fc491115e004380780b6862473 8302863: Speed up String::encodeASCII using countPositives Reviewed-by: alanb ! src/java.base/share/classes/java/lang/String.java Changeset: 02eb240c Author: Tobias Holenstein Date: 2023-02-21 13:48:49 +0000 URL: https://git.openjdk.org/panama-foreign/commit/02eb240c7126cf539baca21869ee2b382b28708c 8302846: IGV: Zoom stuck when zooming out on large graphs Reviewed-by: rcastanedalo, thartmann ! src/utils/IdealGraphVisualizer/View/src/main/java/com/sun/hotspot/igv/view/actions/ZoomLevelAction.java Changeset: db483a38 Author: Johannes Bechberger Committer: Jorn Vernee Date: 2023-02-21 14:33:02 +0000 URL: https://git.openjdk.org/panama-foreign/commit/db483a38a815f85bd9668749674b5f0f6e4b27b4 8302320: AsyncGetCallTrace obtains too few frames in sanity test Reviewed-by: jvernee, dholmes, rrich ! src/hotspot/cpu/x86/frame_x86.cpp ! test/hotspot/jtreg/serviceability/AsyncGetCallTrace/libAsyncGetCallTraceTest.cpp Changeset: 10b4cc9e Author: Roger Riggs Date: 2023-02-21 15:37:08 +0000 URL: https://git.openjdk.org/panama-foreign/commit/10b4cc9eb49c14a6be03b3f53e97037529169ed1 8301627: System.exit and Runtime.exit debug logging Reviewed-by: alanb, chegar ! src/java.base/share/classes/java/lang/Runtime.java ! src/java.base/share/classes/java/lang/Shutdown.java ! src/java.base/share/classes/java/lang/System.java + test/jdk/java/lang/RuntimeTests/ExitLogging-FINE.properties + test/jdk/java/lang/RuntimeTests/ExitLogging-INFO.properties + test/jdk/java/lang/RuntimeTests/RuntimeExitLogTest.java Changeset: 5489c821 Author: Glavo Committer: Naoto Sato Date: 2023-02-21 17:35:52 +0000 URL: https://git.openjdk.org/panama-foreign/commit/5489c821dc2e0c3cfa207dc96d9183d165640368 8302603: Use Set.of in java.nio.charset.Charset Reviewed-by: stsypanov, alanb, naoto ! src/java.base/share/classes/java/nio/charset/Charset.java Changeset: dfce4e19 Author: Joe Darcy Date: 2023-02-21 18:31:22 +0000 URL: https://git.openjdk.org/panama-foreign/commit/dfce4e1943f2f95b74b5a9cdde9d738dcffd0b43 8302800: Augment NaN handling tests of FDLIBM methods Reviewed-by: bpb ! test/jdk/java/lang/Math/CubeRootTests.java ! test/jdk/java/lang/Math/Expm1Tests.java ! test/jdk/java/lang/Math/HyperbolicTests.java ! test/jdk/java/lang/Math/InverseTrigTests.java ! test/jdk/java/lang/Math/Log10Tests.java ! test/jdk/java/lang/Math/Log1pTests.java ! test/jdk/java/lang/Math/Tests.java Changeset: 1ea5f9f7 Author: Christian Stein Date: 2023-02-21 19:03:26 +0000 URL: https://git.openjdk.org/panama-foreign/commit/1ea5f9f7cdaa08d049981d4e331e047455a9885e 8302789: (fs) Files.copy should include unsupported copy option in exception message Reviewed-by: alanb, bpb, lancea ! src/java.base/unix/classes/sun/nio/fs/UnixFileSystem.java ! src/java.base/windows/classes/sun/nio/fs/WindowsFileCopy.java Changeset: ef1f7bd3 Author: Eirik Bjorsnos Committer: Naoto Sato Date: 2023-02-21 20:54:36 +0000 URL: https://git.openjdk.org/panama-foreign/commit/ef1f7bd3b80f8777c15ab22b1dff7dfe4f084734 8302877: Speed up latin1 case conversions Reviewed-by: naoto, redestad ! src/java.base/share/classes/java/lang/CharacterDataLatin1.java.template + test/jdk/java/lang/Character/Latin1CaseConversion.java ! test/jdk/sun/text/resources/LocaleData ! test/jdk/sun/text/resources/LocaleData.cldr ! test/micro/org/openjdk/bench/java/lang/Characters.java Changeset: 729c26f7 Author: Mikael Vidstedt Date: 2023-02-21 21:00:38 +0000 URL: https://git.openjdk.org/panama-foreign/commit/729c26f70ea89232ba7c0f2d8e4cb8116d6ca051 8303020: Remove carriage return in pandoc version string Reviewed-by: iris, lancea, erikj ! make/autoconf/basic_tools.m4 Changeset: ce6de371 Author: Justin King Date: 2023-02-21 21:15:43 +0000 URL: https://git.openjdk.org/panama-foreign/commit/ce6de37172cadc3671c03423cb9dd3bb9d2be840 8303010: Add /DEBUG to LDFLAGS for MSVC with ASan Reviewed-by: erikj ! make/autoconf/jdk-options.m4 Changeset: 46f25250 Author: Serguei Spitsyn Date: 2023-02-21 21:22:49 +0000 URL: https://git.openjdk.org/panama-foreign/commit/46f25250bd49702fe18f9903473dc3e1cbe70f84 8299240: rank of JvmtiVTMSTransition_lock can be safepoint Reviewed-by: dholmes, coleenp, pchilanomate ! src/hotspot/share/interpreter/interpreterRuntime.cpp ! src/hotspot/share/prims/jvmtiEnv.cpp ! src/hotspot/share/prims/jvmtiExport.cpp ! src/hotspot/share/prims/jvmtiExport.hpp ! src/hotspot/share/prims/jvmtiThreadState.cpp ! src/hotspot/share/runtime/mutexLocker.cpp Changeset: dcd773ac Author: Albert Mingkun Yang Date: 2023-02-21 21:24:22 +0000 URL: https://git.openjdk.org/panama-foreign/commit/dcd773ac5c9f503c505d934018b41b5123859560 8302864: Parallel: Remove PSVirtualSpace::pointer_delta Reviewed-by: tschatzl, kbarrett ! src/hotspot/share/gc/parallel/psVirtualspace.hpp Changeset: e950b954 Author: Eirik Bjorsnos Committer: Naoto Sato Date: 2023-02-21 21:39:35 +0000 URL: https://git.openjdk.org/panama-foreign/commit/e950b95486d468bbad758d5ba0e5a36445b4cc3c 8303033: Build failure with the micro bench mark Reviewed-by: naoto ! test/micro/org/openjdk/bench/java/lang/Characters.java Changeset: f319c92b Author: Mikael Vidstedt Date: 2023-02-21 22:10:36 +0000 URL: https://git.openjdk.org/panama-foreign/commit/f319c92bd0fc68a64e6ac35ad4569740b858c9b2 8303016: Invalid escapes in grep patterns Reviewed-by: erikj ! make/autoconf/basic_tools.m4 ! make/autoconf/boot-jdk.m4 ! make/autoconf/util_paths.m4 Changeset: 180b94c7 Author: Martin Doerr Date: 2023-02-22 02:24:38 +0000 URL: https://git.openjdk.org/panama-foreign/commit/180b94c73e9ad17d57650d4c985d4104289052a9 8302907: [PPC64] Use more constexpr in class Register Reviewed-by: rrich ! src/hotspot/cpu/ppc/register_ppc.hpp Changeset: 2c52cf07 Author: Prasanta Sadhukhan Date: 2023-02-22 06:13:09 +0000 URL: https://git.openjdk.org/panama-foreign/commit/2c52cf07469970f730aa7397f9f6b98534af3a44 8041447: Test javax/swing/dnd/7171812/bug7171812.java fails with java.lang.RuntimeException: Test failed, scroll on drag doesn't work Reviewed-by: tr, serb ! test/jdk/ProblemList.txt ! test/jdk/javax/swing/dnd/7171812/bug7171812.java Changeset: cba817ae Author: Julian Waters Date: 2023-02-22 06:27:52 +0000 URL: https://git.openjdk.org/panama-foreign/commit/cba817ae590d1130196d7f9d6e75b8d9b37d384b 8302838: jabswitch main() should avoid calling exit explicitly Reviewed-by: serb ! src/jdk.accessibility/windows/native/jabswitch/jabswitch.cpp Changeset: f54e1080 Author: Richard Reingruber Date: 2023-02-22 06:29:48 +0000 URL: https://git.openjdk.org/panama-foreign/commit/f54e1080c5a1da558f548d8eb93f7dfcb6c05979 8302831: PPC: compiler/codecache/TestStressCodeBuffers.java fails after JDK-8301819 Reviewed-by: mdoerr ! src/hotspot/cpu/ppc/ppc.ad Changeset: b6ecca12 Author: Alan Bateman Date: 2023-02-22 08:13:06 +0000 URL: https://git.openjdk.org/panama-foreign/commit/b6ecca126846f9c53d554ff061cfe9b7b20a4d12 8280113: (dc) DatagramSocket.receive does not always throw when the channel is closed Reviewed-by: jpai, dfuchs ! src/java.base/share/classes/sun/nio/ch/DatagramChannelImpl.java + test/jdk/java/nio/channels/DatagramChannel/AdaptorAsyncCloseAfterReceive.java Changeset: 7f353895 Author: Severin Gehwolf Date: 2023-02-22 08:35:10 +0000 URL: https://git.openjdk.org/panama-foreign/commit/7f3538953367f17c8247cc7225ae3b43ed0564c5 8302888: containers/docker/TestJcmd.java fails when run as root under podman Reviewed-by: dholmes ! test/hotspot/jtreg/containers/docker/TestJcmd.java Changeset: 5e1d1b79 Author: Kevin Walls Date: 2023-02-22 09:29:57 +0000 URL: https://git.openjdk.org/panama-foreign/commit/5e1d1b79409cdee7509c682a88fc2905719b2ddf 8302870: More information needed from failures in vmTestbase ThreadUtils.waitThreadState Reviewed-by: dholmes, sspitsyn ! test/hotspot/jtreg/vmTestbase/nsk/monitoring/share/thread/ThreadUtils.java Changeset: 3f3a1f53 Author: Tagir F. Valeev Date: 2023-02-22 09:51:14 +0000 URL: https://git.openjdk.org/panama-foreign/commit/3f3a1f534b7f2f5be6d7ded9d9832fa9394e763c 8302815: Use new Math.clamp method in core libraries Reviewed-by: alanb ! src/java.base/share/classes/java/io/ObjectInputStream.java ! src/java.base/share/classes/java/text/DecimalFormat.java ! src/java.base/share/classes/java/time/format/DateTimeFormatterBuilder.java ! src/java.base/share/classes/java/util/HashMap.java ! src/java.base/share/classes/java/util/HashSet.java ! src/java.base/share/classes/java/util/Hashtable.java ! src/java.base/share/classes/java/util/concurrent/ForkJoinPool.java ! src/java.base/share/classes/java/util/stream/SliceOps.java ! src/java.base/share/classes/jdk/internal/foreign/abi/riscv64/linux/LinuxRISCV64CallArranger.java ! src/java.base/share/classes/jdk/internal/math/FloatingDecimal.java ! src/java.base/unix/classes/sun/nio/fs/UnixUriUtils.java Changeset: 60a35817 Author: Per Minborg Date: 2023-02-22 10:29:40 +0000 URL: https://git.openjdk.org/panama-foreign/commit/60a358172a261d56bfa27fef6fabec2a54b4f352 8302856: Typo in FlightRecorderMXBeanImpl Reviewed-by: kevinw, egahlin ! src/jdk.management.jfr/share/classes/jdk/management/jfr/FlightRecorderMXBeanImpl.java Changeset: 861eea9b Author: Per Minborg Date: 2023-02-22 10:33:58 +0000 URL: https://git.openjdk.org/panama-foreign/commit/861eea9bd43023d76b217d203298f1f09635cdae 8302858: Polish FlightRecorderMXBeanImpl Reviewed-by: egahlin ! src/jdk.management.jfr/share/classes/jdk/management/jfr/FlightRecorderMXBeanImpl.java Changeset: 30b2ac4a Author: Roberto Casta?eda Lozano Date: 2023-02-22 10:59:15 +0000 URL: https://git.openjdk.org/panama-foreign/commit/30b2ac4a28dd871dc56490ce159a18fe30b8855f 8302873: ZGC: dump barrier data in C2 Mach nodes Reviewed-by: thartmann, kvn ! src/hotspot/share/gc/shared/c2/barrierSetC2.hpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.hpp ! src/hotspot/share/opto/machnode.cpp Changeset: 63ef2143 Author: Per Minborg Date: 2023-02-22 11:45:51 +0000 URL: https://git.openjdk.org/panama-foreign/commit/63ef2143289f4aac52c8b2a6b555ed2b33dc1c07 8302849: SurfaceManager might expose partially constructed object Reviewed-by: serb ! src/java.desktop/share/classes/sun/awt/image/SurfaceManager.java Changeset: 57548480 Author: Daniel Fuchs Date: 2023-02-22 12:43:55 +0000 URL: https://git.openjdk.org/panama-foreign/commit/575484806ce11634d4fa8bef6c0c5987e4e0a1c7 8299338: AssertionError in ResponseSubscribers$HttpResponseInputStream::onSubscribe Reviewed-by: jpai ! src/java.net.http/share/classes/jdk/internal/net/http/Http1Exchange.java ! src/java.net.http/share/classes/jdk/internal/net/http/HttpClientImpl.java ! src/java.net.http/share/classes/jdk/internal/net/http/ResponseSubscribers.java ! src/java.net.http/share/classes/jdk/internal/net/http/Stream.java ! src/java.net.http/share/classes/jdk/internal/net/http/common/HttpBodySubscriberWrapper.java ! test/jdk/java/net/httpclient/AsyncExecutorShutdown.java Changeset: adc29c36 Author: Albert Mingkun Yang Date: 2023-02-22 12:48:31 +0000 URL: https://git.openjdk.org/panama-foreign/commit/adc29c36e1df6a0d1e9cecbfb07307e1434b2975 8302878: Group cmdline heap size checking together Reviewed-by: kbarrett, iwalulya ! src/hotspot/share/gc/shared/gcArguments.cpp Changeset: 0d5f7439 Author: Albert Mingkun Yang Date: 2023-02-22 12:49:40 +0000 URL: https://git.openjdk.org/panama-foreign/commit/0d5f7439a4a14cddf2b4347ed9dcc525cf9be024 8303054: Remove unused variables in GCTraceTimeLoggerImpl::log_end Reviewed-by: tschatzl ! src/hotspot/share/gc/shared/gcTraceTime.cpp Changeset: 25bfed3b Author: Sergey Tsypanov Committer: Julian Waters Date: 2023-02-22 14:08:51 +0000 URL: https://git.openjdk.org/panama-foreign/commit/25bfed3b123ed64055b22c8a9723835d4410362c 8302979: (fs) Files usage of SUPPORTED_CHARSETS could be simplified Reviewed-by: alanb, jwaters ! src/java.base/share/classes/java/nio/file/FileChannelLinesSpliterator.java ! src/java.base/share/classes/java/nio/file/Files.java Changeset: 83bea26d Author: Patricio Chilano Mateo Date: 2023-02-22 15:42:53 +0000 URL: https://git.openjdk.org/panama-foreign/commit/83bea26df453282d46afff333e006e8f9b7fb201 8300575: JVMTI support when using alternative virtual thread implementation Reviewed-by: lmesnik, sspitsyn, alanb ! src/hotspot/share/classfile/vmClassMacros.hpp ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/prims/jni.cpp ! src/hotspot/share/prims/jvmtiEnv.cpp ! src/hotspot/share/prims/jvmtiEnvBase.cpp ! src/hotspot/share/prims/jvmtiExport.cpp ! src/hotspot/share/runtime/javaThread.cpp ! src/hotspot/share/services/management.cpp ! src/hotspot/share/services/threadService.cpp ! src/hotspot/share/services/threadService.hpp ! src/java.base/share/classes/java/lang/Thread.java ! test/hotspot/jtreg/runtime/cds/appcds/redefineClass/RedefineRunningMethods_Shared.java ! test/hotspot/jtreg/serviceability/jvmti/GetLocalVariable/GetSetLocalUnsuspended.java ! test/hotspot/jtreg/serviceability/jvmti/GetOwnedMonitorInfo/GetOwnedMonitorInfoTest.java ! test/hotspot/jtreg/serviceability/jvmti/GetOwnedMonitorStackDepthInfo/GetOwnedMonitorStackDepthInfoTest.java ! test/hotspot/jtreg/serviceability/jvmti/HeapMonitor/MyPackage/HeapMonitorVMEventsTest.java ! test/hotspot/jtreg/serviceability/jvmti/RedefineClasses/RedefineRunningMethods.java ! test/hotspot/jtreg/serviceability/jvmti/RedefineClasses/RedefineRunningMethodsWithBacktrace.java ! test/hotspot/jtreg/serviceability/jvmti/events/Breakpoint/breakpoint01/breakpoint01.java ! test/hotspot/jtreg/serviceability/jvmti/events/ClassLoad/classload01/classload01.java ! test/hotspot/jtreg/serviceability/jvmti/events/ClassPrepare/classprep01/classprep01.java ! test/hotspot/jtreg/serviceability/jvmti/events/Exception/exception01/exception01.java ! test/hotspot/jtreg/serviceability/jvmti/events/ExceptionCatch/excatch01/excatch01.java ! test/hotspot/jtreg/serviceability/jvmti/events/FieldAccess/fieldacc01/fieldacc01.java ! test/hotspot/jtreg/serviceability/jvmti/events/FieldAccess/fieldacc02/fieldacc02.java ! test/hotspot/jtreg/serviceability/jvmti/events/FieldAccess/fieldacc03/fieldacc03.java ! test/hotspot/jtreg/serviceability/jvmti/events/FieldAccess/fieldacc04/fieldacc04.java ! test/hotspot/jtreg/serviceability/jvmti/events/FieldModification/fieldmod01/fieldmod01.java ! test/hotspot/jtreg/serviceability/jvmti/events/FieldModification/fieldmod02/fieldmod02.java ! test/hotspot/jtreg/serviceability/jvmti/events/FramePop/framepop01/framepop01.java ! test/hotspot/jtreg/serviceability/jvmti/events/FramePop/framepop02/framepop02.java ! test/hotspot/jtreg/serviceability/jvmti/events/MethodEntry/mentry01/mentry01.java ! test/hotspot/jtreg/serviceability/jvmti/events/MethodEntry/mentry02/mentry02.java ! test/hotspot/jtreg/serviceability/jvmti/events/MethodExit/mexit01/mexit01.java ! test/hotspot/jtreg/serviceability/jvmti/events/MethodExit/mexit02/mexit02.java ! test/hotspot/jtreg/serviceability/jvmti/events/MonitorContendedEnter/mcontenter01/mcontenter01.java ! test/hotspot/jtreg/serviceability/jvmti/events/MonitorContendedEntered/mcontentered01/mcontentered01.java ! test/hotspot/jtreg/serviceability/jvmti/events/MonitorWait/monitorwait01/monitorwait01.java ! test/hotspot/jtreg/serviceability/jvmti/events/MonitorWaited/monitorwaited01/monitorwaited01.java ! test/hotspot/jtreg/serviceability/jvmti/events/SingleStep/singlestep01/singlestep01.java ! test/hotspot/jtreg/serviceability/jvmti/events/SingleStep/singlestep03/singlestep03.java ! test/hotspot/jtreg/serviceability/jvmti/stress/StackTrace/NotSuspended/GetStackTraceNotSuspendedStressTest.java ! test/hotspot/jtreg/serviceability/jvmti/stress/StackTrace/Suspended/GetStackTraceSuspendedStressTest.java ! test/hotspot/jtreg/serviceability/jvmti/stress/ThreadLocalStorage/SetGetThreadLocalStorageStressTest/SetGetThreadLocalStorageStressTest.java ! test/hotspot/jtreg/serviceability/jvmti/thread/GetCurrentContendedMonitor/contmon01/contmon01.java ! test/hotspot/jtreg/serviceability/jvmti/thread/GetCurrentContendedMonitor/contmon02/contmon02.java ! test/hotspot/jtreg/serviceability/jvmti/thread/GetStackTrace/GetStackTraceCurrentThreadTest/GetStackTraceCurrentThreadTest.java ! test/hotspot/jtreg/serviceability/jvmti/thread/GetThreadInfo/thrinfo01/thrinfo01.java ! test/hotspot/jtreg/serviceability/jvmti/thread/GetThreadState/thrstat01/thrstat01.java ! test/hotspot/jtreg/serviceability/jvmti/thread/GetThreadState/thrstat03/thrstat03.java ! test/hotspot/jtreg/serviceability/jvmti/thread/GetThreadState/thrstat05/thrstat05.java + test/hotspot/jtreg/serviceability/jvmti/vthread/BoundVThreadTest/BoundVThreadTest.java + test/hotspot/jtreg/serviceability/jvmti/vthread/BoundVThreadTest/libBoundVThreadTest.cpp ! test/hotspot/jtreg/serviceability/jvmti/vthread/InterruptThreadTest/InterruptThreadTest.java ! test/hotspot/jtreg/serviceability/jvmti/vthread/NullAsCurrentThreadTest/NullAsCurrentThreadTest.java ! test/hotspot/jtreg/serviceability/jvmti/vthread/PinnedTaskTest/PinnedTaskTest.java ! test/hotspot/jtreg/serviceability/jvmti/vthread/SelfSuspendDisablerTest/SelfSuspendDisablerTest.java ! test/hotspot/jtreg/serviceability/jvmti/vthread/SuspendResume1/SuspendResume1.java ! test/hotspot/jtreg/serviceability/jvmti/vthread/SuspendResume2/SuspendResume2.java ! test/hotspot/jtreg/serviceability/jvmti/vthread/SuspendResumeAll/SuspendResumeAll.java ! test/hotspot/jtreg/serviceability/jvmti/vthread/VThreadNotifyFramePopTest/VThreadNotifyFramePopTest.java ! test/hotspot/jtreg/serviceability/jvmti/vthread/VirtualStackTraceTest/VirtualStackTraceTest.java ! test/hotspot/jtreg/serviceability/jvmti/vthread/VirtualThreadStartTest/VirtualThreadStartTest.java ! test/hotspot/jtreg/serviceability/jvmti/vthread/premain/AgentWithVThreadTest.java ! test/jdk/com/sun/jdi/JdbOptions.java ! test/jdk/com/sun/jdi/SuspendAfterDeath.java ! test/langtools/jdk/jshell/Test8294583.java ! test/langtools/jdk/jshell/Test8296012.java ! test/langtools/jdk/jshell/ToolEnablePreviewTest.java Changeset: ee37af47 Author: Thomas Schatzl Date: 2023-02-22 15:45:12 +0000 URL: https://git.openjdk.org/panama-foreign/commit/ee37af47cd722bbfb7235bab0af44cb6f7b7863c 8302975: Remove redundant mark verification during G1 Full GC Reviewed-by: ayang, kbarrett ! src/hotspot/share/gc/g1/g1FullGCMarker.cpp ! src/hotspot/share/gc/g1/g1FullGCMarker.hpp ! src/hotspot/share/gc/g1/g1FullGCMarker.inline.hpp Changeset: 1a62a122 Author: Thomas Schatzl Date: 2023-02-22 15:47:29 +0000 URL: https://git.openjdk.org/panama-foreign/commit/1a62a1229a10688900afb4b1ba0258b1354543c5 8302880: Fix includes in g1ConcurrentMarkObjArrayProcessor files Reviewed-by: ayang, kbarrett ! src/hotspot/share/gc/g1/g1ConcurrentMarkObjArrayProcessor.cpp ! src/hotspot/share/gc/g1/g1ConcurrentMarkObjArrayProcessor.inline.hpp Changeset: b0e0f37d Author: Albert Mingkun Yang Date: 2023-02-22 15:57:08 +0000 URL: https://git.openjdk.org/panama-foreign/commit/b0e0f37d73ff61e9ac7b4652fd632029dbbe3aef 8303067: G1: Remove unimplemented G1FullGCScope::heap_transition Reviewed-by: tschatzl ! src/hotspot/share/gc/g1/g1FullGCScope.hpp Changeset: 5d7e7e28 Author: Thomas Schatzl Date: 2023-02-22 16:11:41 +0000 URL: https://git.openjdk.org/panama-foreign/commit/5d7e7e28b1d96b3bf387104f6c98da022aed76d5 8302760: Improve liveness/remembered set verification for G1 Reviewed-by: kbarrett, iwalulya ! src/hotspot/share/gc/g1/g1HeapVerifier.cpp ! src/hotspot/share/gc/g1/g1OopClosures.cpp ! src/hotspot/share/gc/g1/g1OopClosures.hpp ! src/hotspot/share/gc/g1/g1OopClosures.inline.hpp ! src/hotspot/share/gc/g1/heapRegion.cpp ! src/hotspot/share/gc/g1/heapRegion.hpp ! src/hotspot/share/gc/shared/collectedHeap.cpp ! src/hotspot/share/oops/oop.cpp ! src/hotspot/share/oops/oop.hpp Changeset: d7ada661 Author: Thomas Schatzl Date: 2023-02-22 17:08:24 +0000 URL: https://git.openjdk.org/panama-foreign/commit/d7ada66129a8420d696b515aad4ddc730fe7104c 8303084: G1 Heap region liveness verification has inverted return value Reviewed-by: ayang ! src/hotspot/share/gc/g1/heapRegion.cpp Changeset: f893d231 Author: Glavo Committer: Brian Burkhalter Date: 2023-02-22 17:16:49 +0000 URL: https://git.openjdk.org/panama-foreign/commit/f893d2315db914e946825e57e53313e1a69f5eb6 8303024: (fs) WindowsFileSystem.supportedFileAttributeViews can use Set.of Reviewed-by: bpb ! src/java.base/windows/classes/sun/nio/fs/WindowsFileSystem.java Changeset: 8de841dd Author: Julian Waters Date: 2023-02-22 17:42:34 +0000 URL: https://git.openjdk.org/panama-foreign/commit/8de841dd19a77f9ff6273a74366c08f33e0cac94 8302667: Improve message format when failing to load symbols or libraries Reviewed-by: mchung ! src/java.base/share/native/libjli/args.c ! src/java.base/share/native/libjli/emessages.h Changeset: 07e976ac Author: Albert Mingkun Yang Date: 2023-02-22 18:28:17 +0000 URL: https://git.openjdk.org/panama-foreign/commit/07e976ac26fe3ff6a94713013114dc38c95950b8 8303081: Serial: Remove unused VM_MarkSweep Reviewed-by: tschatzl ! src/hotspot/share/gc/serial/markSweep.hpp Changeset: fcaf8714 Author: Joe Darcy Date: 2023-02-22 22:49:59 +0000 URL: https://git.openjdk.org/panama-foreign/commit/fcaf871408321ed523cf1c6dd3adf9914f2bf9aa 8302028: Port fdlibm atan2 to Java Reviewed-by: bpb ! src/java.base/share/classes/java/lang/FdLibm.java ! src/java.base/share/classes/java/lang/StrictMath.java ! test/jdk/java/lang/Math/Atan2Tests.java + test/jdk/java/lang/StrictMath/Atan2Tests.java ! test/jdk/java/lang/StrictMath/ExhaustingTests.java ! test/jdk/java/lang/StrictMath/FdlibmTranslit.java Changeset: 23e9d9d3 Author: Thomas Stuefe Date: 2023-02-23 06:44:10 +0000 URL: https://git.openjdk.org/panama-foreign/commit/23e9d9d3ee0b2e30876cea47be131ccc86844873 8302811: NMT.random_reallocs_vm fails if NMT is off Reviewed-by: jsjolen, sgehwolf ! test/hotspot/gtest/nmt/test_nmt_cornercases.cpp Changeset: 221f3463 Author: Matthias Baesken Date: 2023-02-23 08:08:25 +0000 URL: https://git.openjdk.org/panama-foreign/commit/221f34634de58d339f6cf7b08b2520fb748fff82 8303047: avoid NULL after 8301661 Reviewed-by: mdoerr, kbarrett, dholmes ! src/hotspot/os/bsd/os_bsd.cpp ! src/hotspot/os/windows/os_windows.cpp Changeset: 1bab93b2 Author: Claes Redestad Date: 2023-02-23 10:31:14 +0000 URL: https://git.openjdk.org/panama-foreign/commit/1bab93b2d0ca62189fee1783d8796d056353c72e 8303073: (bf) Temporarily reinstate private DirectByteBuffer(long, int) constructor Reviewed-by: alanb, bpb ! src/java.base/share/classes/java/nio/Direct-X-Buffer.java.template Changeset: f113b04a Author: Stefan Karlsson Date: 2023-02-23 14:07:37 +0000 URL: https://git.openjdk.org/panama-foreign/commit/f113b04ab94c4428c62548338d31c4eb88ebdeaf 8302927: Unproblemlist Fuzz.java from ProblemList-zgc.txt again Reviewed-by: sjohanss, eosterlund ! test/jdk/ProblemList-zgc.txt Changeset: 2cf8b860 Author: Justin King Date: 2023-02-23 15:23:03 +0000 URL: https://git.openjdk.org/panama-foreign/commit/2cf8b8607dac961e1d63a905c6492daa54c944d5 8303071: Memory leaks in libjdwp Reviewed-by: sspitsyn ! src/jdk.jdwp.agent/share/native/libjdwp/transport.c ! src/jdk.jdwp.agent/share/native/libjdwp/util.c Changeset: 58ca711a Author: Christoph Dreis Committer: Jonathan Gibbons Date: 2023-02-23 15:25:05 +0000 URL: https://git.openjdk.org/panama-foreign/commit/58ca711a9751ce38ef13e8e3ba78221f87de700f 8303078: Reduce allocations when pretty printing JCTree during compilation Reviewed-by: jjg, vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/DocPretty.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/Pretty.java Changeset: a2471b37 Author: Daniel D. Daugherty Date: 2023-02-23 17:07:52 +0000 URL: https://git.openjdk.org/panama-foreign/commit/a2471b37e358040049b616e1d2ce160539b9a2a2 8303125: ProblemList vmTestbase/nsk/jdi/VMOutOfMemoryException/VMOutOfMemoryException001/VMOutOfMemoryException001.java Reviewed-by: jdv ! test/hotspot/jtreg/ProblemList.txt Changeset: 4b6acad0 Author: Erik Gahlin Date: 2023-02-23 17:20:53 +0000 URL: https://git.openjdk.org/panama-foreign/commit/4b6acad0bd7729c39e807cd35c40b0fe4a14783c 8302883: JFR: Improve periodic events Reviewed-by: mgronlun ! src/jdk.jfr/share/classes/jdk/jfr/FlightRecorder.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/JVM.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/MetadataRepository.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformEventType.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformRecorder.java - src/jdk.jfr/share/classes/jdk/jfr/internal/RequestEngine.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/instrument/JDKEvents.java + src/jdk.jfr/share/classes/jdk/jfr/internal/periodic/Batch.java + src/jdk.jfr/share/classes/jdk/jfr/internal/periodic/BatchManager.java + src/jdk.jfr/share/classes/jdk/jfr/internal/periodic/EventTask.java + src/jdk.jfr/share/classes/jdk/jfr/internal/periodic/FlushTask.java + src/jdk.jfr/share/classes/jdk/jfr/internal/periodic/JDKEventTask.java + src/jdk.jfr/share/classes/jdk/jfr/internal/periodic/JVMEventTask.java + src/jdk.jfr/share/classes/jdk/jfr/internal/periodic/JavaEventTask.java + src/jdk.jfr/share/classes/jdk/jfr/internal/periodic/LookupKey.java + src/jdk.jfr/share/classes/jdk/jfr/internal/periodic/PeriodicEvents.java + src/jdk.jfr/share/classes/jdk/jfr/internal/periodic/PeriodicTask.java + src/jdk.jfr/share/classes/jdk/jfr/internal/periodic/PeriodicType.java + src/jdk.jfr/share/classes/jdk/jfr/internal/periodic/TaskRepository.java + src/jdk.jfr/share/classes/jdk/jfr/internal/periodic/UserEventTask.java Changeset: 71dd7eaf Author: Mikhailo Seledtsov Date: 2023-02-23 18:02:43 +0000 URL: https://git.openjdk.org/panama-foreign/commit/71dd7eaf7ff06cb2bb31a2ece97aea60abb47509 8303085: Runtime problem list cleanup Reviewed-by: lmesnik, dholmes ! test/hotspot/jtreg/ProblemList.txt Changeset: 6397cb61 Author: Leonid Mesnik Date: 2023-02-23 18:20:53 +0000 URL: https://git.openjdk.org/panama-foreign/commit/6397cb611a95be5ed86b95d039a2c389f4304281 8301200: Don't scale timeout stress with timeout factor Reviewed-by: lkorinth ! test/hotspot/jtreg/vmTestbase/nsk/share/test/StressOptions.java Changeset: f612dcfe Author: Justin Lu Committer: Naoto Sato Date: 2023-02-23 19:05:40 +0000 URL: https://git.openjdk.org/panama-foreign/commit/f612dcfebea7ffd4390f833646ad45d6f0ebd04f 8302512: Update IANA Language Subtag Registry to Version 2023-02-14 Reviewed-by: naoto ! src/java.base/share/data/lsrdata/language-subtag-registry.txt ! test/jdk/java/util/Locale/LanguageSubtagRegistryTest.java Changeset: 4d33fbd5 Author: Evgeny Nikitin Committer: Leonid Mesnik Date: 2023-02-23 19:51:02 +0000 URL: https://git.openjdk.org/panama-foreign/commit/4d33fbd582d0a3c38180385bdef7225426273806 8303089: [jittester] Add time limit to IRTree generation Reviewed-by: iveresov, lmesnik ! test/hotspot/jtreg/testlibrary/jittester/src/jdk/test/lib/jittester/Automatic.java ! test/hotspot/jtreg/testlibrary/jittester/src/jdk/test/lib/jittester/ProductionLimiter.java ! test/hotspot/jtreg/testlibrary/jittester/src/jdk/test/lib/jittester/ProductionParams.java Changeset: 6b24b4a7 Author: Erik Gahlin Date: 2023-02-23 19:53:21 +0000 URL: https://git.openjdk.org/panama-foreign/commit/6b24b4a70fac9ef1e9554fbbb2c7e1aa991ccc33 8302821: JFR: Periodic task thread spins after recording has stopped Reviewed-by: mgronlun ! src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformRecorder.java Changeset: 796cdd52 Author: Erik Gahlin Date: 2023-02-23 20:12:54 +0000 URL: https://git.openjdk.org/panama-foreign/commit/796cdd52f5fa9222d187295e114ff639c200caef 8302677: JFR: Cache label and contentType in EventType and ValueDescriptor Reviewed-by: mgronlun ! src/jdk.jfr/share/classes/jdk/jfr/EventType.java ! src/jdk.jfr/share/classes/jdk/jfr/ValueDescriptor.java Changeset: 1a078714 Author: Damon Nguyen Committer: Harshitha Onkar Date: 2023-02-23 20:41:25 +0000 URL: https://git.openjdk.org/panama-foreign/commit/1a078714546c7582c310537dcae91b521f3c2b40 8302173: Button border overlaps with button icon on macOS system LaF Reviewed-by: honkar, psadhukhan ! src/java.desktop/macosx/classes/com/apple/laf/AquaButtonUI.java + test/jdk/javax/swing/JButton/HtmlButtonWithTextAndIcon.java Changeset: 8f7c4969 Author: Thomas Stuefe Date: 2023-02-24 07:58:25 +0000 URL: https://git.openjdk.org/panama-foreign/commit/8f7c4969c28c58ae4b9adeed822707b28be16dd0 8302810: NMT gtests don't correctly check for marked ranges Reviewed-by: gziemski, dholmes ! test/hotspot/gtest/nmt/test_nmt_cornercases.cpp ! test/hotspot/gtest/testutils.cpp ! test/hotspot/gtest/testutils.hpp Changeset: 7d8b8ba9 Author: Julian Waters Date: 2023-02-24 08:47:41 +0000 URL: https://git.openjdk.org/panama-foreign/commit/7d8b8ba9c46475ededcae7db6c841b25fa83d167 8303131: pandoc.exe mangles all processed html files Reviewed-by: erikj ! make/common/ProcessMarkdown.gmk Changeset: d688575c Author: duke Date: 2023-02-24 11:00:35 +0000 URL: https://git.openjdk.org/panama-foreign/commit/d688575c1decc40b27e5c515c99f9280daca920b Automatic merge of jdk:master into master Changeset: 28e714d9 Author: duke Date: 2023-02-24 11:00:48 +0000 URL: https://git.openjdk.org/panama-foreign/commit/28e714d91d3adff8c2cabbf4fa52d81e910180ff Automatic merge of master into foreign-memaccess+abi ! make/autoconf/jdk-options.m4 ! make/autoconf/libraries.m4 ! src/java.base/share/classes/jdk/internal/foreign/abi/riscv64/linux/LinuxRISCV64CallArranger.java ! make/autoconf/jdk-options.m4 ! make/autoconf/libraries.m4 ! src/java.base/share/classes/jdk/internal/foreign/abi/riscv64/linux/LinuxRISCV64CallArranger.java From duke at openjdk.org Fri Feb 24 11:15:12 2023 From: duke at openjdk.org (duke) Date: Fri, 24 Feb 2023 11:15:12 GMT Subject: git: openjdk/panama-foreign: master: 117 new changesets Message-ID: <6318bb0c-387a-46d9-b246-458b3b501060@openjdk.org> Changeset: c4ffe4bf Author: Johan Sj?len Date: 2023-02-17 11:24:41 +0000 URL: https://git.openjdk.org/panama-foreign/commit/c4ffe4bf6369d5b271aa8689b8648f3fe8dcabed 8301494: Replace NULL with nullptr in cpu/arm Reviewed-by: dholmes, coleenp ! src/hotspot/cpu/arm/c1_CodeStubs_arm.cpp ! src/hotspot/cpu/arm/c1_LIRAssembler_arm.cpp ! src/hotspot/cpu/arm/c1_LIRGenerator_arm.cpp ! src/hotspot/cpu/arm/c1_MacroAssembler_arm.cpp ! src/hotspot/cpu/arm/c1_MacroAssembler_arm.hpp ! src/hotspot/cpu/arm/c1_Runtime1_arm.cpp ! src/hotspot/cpu/arm/c2_MacroAssembler_arm.cpp ! src/hotspot/cpu/arm/compiledIC_arm.cpp ! src/hotspot/cpu/arm/continuationFreezeThaw_arm.inline.hpp ! src/hotspot/cpu/arm/continuationHelper_arm.inline.hpp ! src/hotspot/cpu/arm/disassembler_arm.hpp ! src/hotspot/cpu/arm/frame_arm.cpp ! src/hotspot/cpu/arm/frame_arm.inline.hpp ! src/hotspot/cpu/arm/gc/g1/g1BarrierSetAssembler_arm.cpp ! src/hotspot/cpu/arm/gc/shared/barrierSetAssembler_arm.cpp ! src/hotspot/cpu/arm/globals_arm.hpp ! src/hotspot/cpu/arm/interp_masm_arm.cpp ! src/hotspot/cpu/arm/interp_masm_arm.hpp ! src/hotspot/cpu/arm/interpreterRT_arm.cpp ! src/hotspot/cpu/arm/javaFrameAnchor_arm.hpp ! src/hotspot/cpu/arm/jniFastGetField_arm.cpp ! src/hotspot/cpu/arm/jvmciCodeInstaller_arm.cpp ! src/hotspot/cpu/arm/macroAssembler_arm.cpp ! src/hotspot/cpu/arm/macroAssembler_arm.hpp ! src/hotspot/cpu/arm/methodHandles_arm.cpp ! src/hotspot/cpu/arm/nativeInst_arm_32.cpp ! src/hotspot/cpu/arm/nativeInst_arm_32.hpp ! src/hotspot/cpu/arm/registerMap_arm.hpp ! src/hotspot/cpu/arm/relocInfo_arm.cpp ! src/hotspot/cpu/arm/sharedRuntime_arm.cpp ! src/hotspot/cpu/arm/smallRegisterMap_arm.inline.hpp ! src/hotspot/cpu/arm/stackChunkFrameStream_arm.inline.hpp ! src/hotspot/cpu/arm/stubGenerator_arm.cpp ! src/hotspot/cpu/arm/stubRoutines_arm.cpp ! src/hotspot/cpu/arm/templateInterpreterGenerator_arm.cpp ! src/hotspot/cpu/arm/templateTable_arm.cpp ! src/hotspot/cpu/arm/vm_version_arm_32.cpp ! src/hotspot/cpu/arm/vtableStubs_arm.cpp Changeset: dc55a7fc Author: Jan Lahoda Date: 2023-02-17 12:55:47 +0000 URL: https://git.openjdk.org/panama-foreign/commit/dc55a7fc877ab5ea4efbed90454194008143aeb4 8302202: Incorrect desugaring of null-allowed nested patterns Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TransPatterns.java + test/langtools/tools/javac/patterns/NullsInDeconstructionPatterns2.java Changeset: b8c9d6cd Author: Richard Reingruber Date: 2023-02-17 13:20:08 +0000 URL: https://git.openjdk.org/panama-foreign/commit/b8c9d6cdf60ea5e680eb00d5c01a1c4d2ed04006 8302158: PPC: test/jdk/jdk/internal/vm/Continuation/Fuzz.java: AssertionError: res: false shouldPin: false Reviewed-by: goetz, mdoerr ! src/hotspot/cpu/ppc/frame_ppc.cpp ! src/hotspot/cpu/ppc/sharedRuntime_ppc.cpp ! test/jdk/jdk/internal/vm/Continuation/BasicExt.java Changeset: 57fde75b Author: Yi-Fan Tsai Committer: Volker Simonis Date: 2023-02-17 14:23:33 +0000 URL: https://git.openjdk.org/panama-foreign/commit/57fde75b2a9d853c2abe1396ace6a83d198dd284 8302113: Improve CRC32 intrinsic with crypto pmull on AArch64 Reviewed-by: simonis ! src/hotspot/cpu/aarch64/globals_aarch64.hpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/stubRoutines_aarch64.cpp ! src/hotspot/cpu/aarch64/vm_version_aarch64.cpp Changeset: 57c9bc39 Author: Tobias Holenstein Date: 2023-02-17 14:26:37 +0000 URL: https://git.openjdk.org/panama-foreign/commit/57c9bc39cd50067bce34b8e3c32bf89dc6da3e60 8302335: IGV: Bytecode not showing Reviewed-by: rcastanedalo, thartmann, xliu ! src/utils/IdealGraphVisualizer/Data/src/main/java/com/sun/hotspot/igv/data/InputMethod.java Changeset: cd77fcfb Author: Tobias Holenstein Date: 2023-02-17 14:27:17 +0000 URL: https://git.openjdk.org/panama-foreign/commit/cd77fcfb5f9156e5f0909fa15a842dde6c25c66a 8290822: C2: assert in PhaseIdealLoop::do_unroll() is subject to undefined behavior Reviewed-by: kvn, thartmann ! src/hotspot/share/opto/loopTransform.cpp Changeset: edf238b6 Author: Daniel Fuchs Date: 2023-02-17 14:43:58 +0000 URL: https://git.openjdk.org/panama-foreign/commit/edf238b65e441a1d626f3a4ba06170badd05ca7c 8302635: Race condition in HttpBodySubscriberWrapper when cancelling request Reviewed-by: jpai ! src/java.net.http/share/classes/jdk/internal/net/http/Http1Exchange.java ! src/java.net.http/share/classes/jdk/internal/net/http/Stream.java ! src/java.net.http/share/classes/jdk/internal/net/http/common/HttpBodySubscriberWrapper.java ! test/jdk/java/net/httpclient/CancelRequestTest.java Changeset: ea5bfea3 Author: Albert Mingkun Yang Date: 2023-02-17 14:46:23 +0000 URL: https://git.openjdk.org/panama-foreign/commit/ea5bfea333acf6668ef382e90c5d0584c305c1a9 8302661: Parallel: Remove PSVirtualSpace::is_aligned Reviewed-by: stefank, tschatzl ! src/hotspot/share/gc/parallel/psVirtualspace.cpp ! src/hotspot/share/gc/parallel/psVirtualspace.hpp Changeset: fef3eab9 Author: Albert Mingkun Yang Date: 2023-02-17 14:47:03 +0000 URL: https://git.openjdk.org/panama-foreign/commit/fef3eab9bd2d61cc25752fe11a65bdc3010beae3 8302734: Parallel: Remove unused LGRPSpace::_invalid_region Reviewed-by: tschatzl ! src/hotspot/share/gc/parallel/mutableNUMASpace.hpp Changeset: 6120319a Author: Ludvig Janiuk Committer: Erik Joelsson Date: 2023-02-17 14:57:00 +0000 URL: https://git.openjdk.org/panama-foreign/commit/6120319afdba98b5ff547b870a0260479e8b683c 8302226: failure_handler native.core should wait for coredump to finish Reviewed-by: erikj ! test/failure_handler/src/share/conf/linux.properties ! test/failure_handler/src/share/conf/mac.properties Changeset: a917fb3f Author: Archie L. Cobbs Committer: Vicente Romero Date: 2023-02-17 16:55:35 +0000 URL: https://git.openjdk.org/panama-foreign/commit/a917fb3fcf0fe1a4c4de86c08ae4041462848b82 7033677: potential cast error in MemberEnter Reviewed-by: vromero, jlahoda ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TypeEnter.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/JCTree.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeCopier.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeMaker.java ! test/langtools/jdk/javadoc/tool/sampleapi/lib/sampleapi/generator/PackageGenerator.java Changeset: a263f283 Author: Ioi Lam Date: 2023-02-17 19:34:26 +0000 URL: https://git.openjdk.org/panama-foreign/commit/a263f28368951e2352ee983d318d83c92ddf8e4d 8302777: CDS should not relocate heap if mapping fails Reviewed-by: ccheung ! src/hotspot/share/cds/archiveHeapLoader.cpp Changeset: 03d613bb Author: Mikhailo Seledtsov Date: 2023-02-17 19:37:02 +0000 URL: https://git.openjdk.org/panama-foreign/commit/03d613bbab99dd84dfc5115a5034c60f4e510259 8294402: Add diagnostic logging to VMProps.checkDockerSupport Reviewed-by: dholmes, lmesnik ! test/jtreg-ext/requires/VMProps.java Changeset: 86b9fce9 Author: Calvin Cheung Date: 2023-02-17 19:51:12 +0000 URL: https://git.openjdk.org/panama-foreign/commit/86b9fce9807eb5cbada90f9fa4d3763e3bff84cb 8301992: Embed SymbolTable CHT node Co-authored-by: Robbin Ehn Reviewed-by: coleenp, iklam ! src/hotspot/share/classfile/symbolTable.cpp ! src/hotspot/share/classfile/symbolTable.hpp ! src/hotspot/share/oops/symbol.cpp ! src/hotspot/share/oops/symbol.hpp Changeset: 7c60b9c9 Author: Sandhya Viswanathan Date: 2023-02-17 21:31:42 +0000 URL: https://git.openjdk.org/panama-foreign/commit/7c60b9c98f0b90a519fd98e43e93eecfb0b29c92 8302358: Behavior of adler32 changes after JDK-8300208 Reviewed-by: kvn, jbhateja ! src/hotspot/cpu/x86/stubGenerator_x86_64_adler.cpp ! test/hotspot/jtreg/compiler/intrinsics/zip/TestAdler32.java Changeset: 6b082fb3 Author: Serguei Spitsyn Date: 2023-02-17 21:49:14 +0000 URL: https://git.openjdk.org/panama-foreign/commit/6b082fb3c658524905a9a7b33dcb58e375c95c1b 8302615: make JVMTI thread cpu time functions optional for virtual threads Reviewed-by: alanb ! src/hotspot/share/prims/jvmti.xml Changeset: 43cf8b3d Author: Jaikiran Pai Date: 2023-02-18 00:48:29 +0000 URL: https://git.openjdk.org/panama-foreign/commit/43cf8b3d8067bc7128c98f86d5f8b6fa8bbed80e 8302664: Fix several incorrect usages of Preconditions.checkFromIndexSize Reviewed-by: djelinski, dfuchs, alanb ! src/java.base/share/classes/java/lang/Character.java ! src/java.base/share/classes/java/util/Base64.java ! src/java.base/share/classes/java/util/zip/Adler32.java ! src/java.base/share/classes/java/util/zip/CRC32.java ! src/java.base/share/classes/java/util/zip/CRC32C.java ! src/java.base/share/classes/java/util/zip/Deflater.java ! src/java.base/share/classes/java/util/zip/Inflater.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/Request.java Changeset: f82385e5 Author: Jaikiran Pai Date: 2023-02-18 11:58:05 +0000 URL: https://git.openjdk.org/panama-foreign/commit/f82385e58741aa83dccc4876ae69a6033217d9ed 8302623: jarsigner - use BufferedOutputStream to improve performance while creating the signed jar Reviewed-by: weijun ! src/jdk.jartool/share/classes/jdk/security/jarsigner/JarSigner.java Changeset: 78f71b4d Author: Eirik Bjorsnos Committer: Claes Redestad Date: 2023-02-18 12:39:19 +0000 URL: https://git.openjdk.org/panama-foreign/commit/78f71b4d41f8682ea10b1573106b11c00f150a1c 8301873: Avoid string decoding in ZipFile.Source.getEntryPos Reviewed-by: redestad, lancea ! src/java.base/share/classes/java/util/zip/ZipCoder.java ! src/java.base/share/classes/java/util/zip/ZipFile.java + test/jdk/java/util/zip/ZipFile/InvalidBytesInEntryNameOrComment.java ! test/jdk/java/util/zip/ZipFile/TestZipFileEncodings.java Changeset: 53be5dc4 Author: Thomas Stuefe Date: 2023-02-18 14:52:26 +0000 URL: https://git.openjdk.org/panama-foreign/commit/53be5dc48604397fb26fd6e448679982aee19fee 8302812: JDK-8302455 broke ClassLoaderStatsTest on 32-bit Reviewed-by: dcubed ! test/hotspot/jtreg/serviceability/dcmd/vm/ClassLoaderStatsTest.java Changeset: d6716d2e Author: Claes Redestad Date: 2023-02-18 15:17:57 +0000 URL: https://git.openjdk.org/panama-foreign/commit/d6716d2e5471ee794df8833430dd3171b565f78e 8302315: Examine cost of clone of primitive arrays compared to arraycopy Reviewed-by: alanb ! src/java.base/share/classes/java/util/Arrays.java + test/micro/org/openjdk/bench/java/lang/ArrayClone.java Changeset: 7abe2693 Author: Ioi Lam Date: 2023-02-19 05:59:12 +0000 URL: https://git.openjdk.org/panama-foreign/commit/7abe26935ab4356de54acee93390a0d8be1ea289 8302781: CDS archive heap not reproducible after JDK-8296344 Reviewed-by: dcubed ! src/hotspot/share/cds/heapShared.cpp Changeset: 2009dc2b Author: Richard Reingruber Date: 2023-02-20 06:47:57 +0000 URL: https://git.openjdk.org/panama-foreign/commit/2009dc2b737b3468ba6c78d4bf2f5a0bba20ec43 8302462: [REDO] 8297487: G1 Remark: no need to keep alive oop constants of nmethods on stack Reviewed-by: tschatzl, ayang ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/shared/barrierSetNMethod.cpp Changeset: 432cf68c Author: Prasanta Sadhukhan Date: 2023-02-20 08:17:00 +0000 URL: https://git.openjdk.org/panama-foreign/commit/432cf68c4dd1dcce478fccb85163aa0d824474d7 6753661: JFileChooser font not reset after Look & Feel change Reviewed-by: abhiscxk, aivanov, serb ! src/java.desktop/share/classes/sun/swing/plaf/synth/SynthFileChooserUI.java + test/jdk/javax/swing/JFileChooser/JFileChooserFontReset.java Changeset: 743a85db Author: Tobias Holenstein Date: 2023-02-20 08:35:30 +0000 URL: https://git.openjdk.org/panama-foreign/commit/743a85db06ea245dbe6234b1840f18f8b2466e69 8302656: Missing spaces in output of -XX:+CIPrintMethodCodes Reviewed-by: kvn, thartmann ! src/hotspot/share/interpreter/bytecodeTracer.cpp ! src/hotspot/share/oops/methodData.cpp Changeset: 5c0f50bc Author: Emanuel Peter Date: 2023-02-20 08:40:11 +0000 URL: https://git.openjdk.org/panama-foreign/commit/5c0f50bc01cf0b26c8ae68b2afd7f1bfcb217e6d 8295979: [IR Framework] Improve IR matching warning Reviewed-by: thartmann, kvn ! test/hotspot/jtreg/compiler/lib/ir_framework/test/IREncodingPrinter.java Changeset: 7e08275c Author: Emanuel Peter Date: 2023-02-20 08:41:40 +0000 URL: https://git.openjdk.org/panama-foreign/commit/7e08275cc13bfc0f66b1d62b8df58986ecbb45ba 8302668: [TESTBUG] Tests require feature sse4_1 which does not exist, should be sse4.1 Reviewed-by: kvn, thartmann ! test/hotspot/jtreg/compiler/vectorization/runner/BasicByteOpTest.java ! test/hotspot/jtreg/compiler/vectorization/runner/BasicIntOpTest.java ! test/hotspot/jtreg/compiler/vectorization/runner/BasicLongOpTest.java ! test/hotspot/jtreg/compiler/vectorization/runner/LoopArrayIndexComputeTest.java ! test/hotspot/jtreg/compiler/vectorization/runner/LoopCombinedOpTest.java ! test/hotspot/jtreg/compiler/vectorization/runner/LoopLiveOutNodesTest.java ! test/hotspot/jtreg/compiler/vectorization/runner/LoopRangeStrideTest.java ! test/hotspot/jtreg/compiler/vectorization/runner/MultipleLoopsTest.java Changeset: eaae0bae Author: Ivan Walulya Date: 2023-02-20 08:43:02 +0000 URL: https://git.openjdk.org/panama-foreign/commit/eaae0baeba4f114805b0bc022525dfdbf1920cec 8302215: G1: Last-ditch Full GC should do serial compaction for tail regions in per thread compaction points. Reviewed-by: ayang, sjohanss, tschatzl ! src/hotspot/share/gc/g1/g1FullCollector.cpp ! src/hotspot/share/gc/g1/g1FullCollector.hpp ! src/hotspot/share/gc/g1/g1FullGCCompactionPoint.cpp ! src/hotspot/share/gc/g1/g1FullGCCompactionPoint.hpp ! src/hotspot/share/gc/g1/g1FullGCPrepareTask.hpp ! src/hotspot/share/gc/g1/g1FullGCPrepareTask.inline.hpp ! src/hotspot/share/gc/g1/g1FullGCScope.cpp ! src/hotspot/share/gc/g1/g1FullGCScope.hpp Changeset: e971f90a Author: Thomas Schatzl Date: 2023-02-20 10:21:21 +0000 URL: https://git.openjdk.org/panama-foreign/commit/e971f90a0b86c07b19d185406fa5db59c4126ebd 8302206: Factor out duplicate G1VerificationClosure Reviewed-by: kbarrett, ayang ! src/hotspot/share/gc/g1/g1FullGCMarker.cpp ! src/hotspot/share/gc/g1/g1FullGCMarker.hpp ! src/hotspot/share/gc/g1/g1FullGCMarker.inline.hpp ! src/hotspot/share/gc/g1/g1FullGCOopClosures.cpp ! src/hotspot/share/gc/g1/g1FullGCOopClosures.hpp ! src/hotspot/share/gc/g1/g1OopClosures.cpp ! src/hotspot/share/gc/g1/g1OopClosures.hpp ! src/hotspot/share/gc/g1/g1OopClosures.inline.hpp ! src/hotspot/share/gc/g1/g1_globals.hpp ! src/hotspot/share/gc/g1/heapRegion.cpp ! src/hotspot/share/gc/g1/heapRegion.hpp Changeset: 593bec68 Author: Thomas Schatzl Date: 2023-02-20 10:23:00 +0000 URL: https://git.openjdk.org/panama-foreign/commit/593bec685eac13f02f0cbc5c0d38057a28255421 8302122: Parallelize TLAB retirement in prologue in G1 8297611: G1: Merge tlab and per-thread dirty card log flushing Reviewed-by: kbarrett, ayang ! src/hotspot/share/gc/g1/g1BarrierSet.cpp ! src/hotspot/share/gc/g1/g1BarrierSet.hpp ! src/hotspot/share/gc/g1/g1BarrierSet.inline.hpp ! src/hotspot/share/gc/g1/g1DirtyCardQueue.cpp ! src/hotspot/share/gc/g1/g1DirtyCardQueue.hpp ! src/hotspot/share/gc/g1/g1GCPhaseTimes.cpp ! src/hotspot/share/gc/g1/g1GCPhaseTimes.hpp ! src/hotspot/share/gc/g1/g1YoungCollector.cpp ! src/hotspot/share/gc/g1/g1YoungCollector.hpp + src/hotspot/share/gc/g1/g1YoungGCPreEvacuateTasks.cpp + src/hotspot/share/gc/g1/g1YoungGCPreEvacuateTasks.hpp ! src/hotspot/share/gc/shared/cardTableBarrierSet.cpp ! src/hotspot/share/gc/shared/cardTableBarrierSet.hpp ! src/hotspot/share/gc/shared/modRefBarrierSet.hpp ! src/hotspot/share/gc/shared/modRefBarrierSet.inline.hpp ! test/hotspot/jtreg/gc/g1/TestGCLogMessages.java ! test/jdk/jdk/jfr/event/gc/collection/TestG1ParallelPhases.java Changeset: 7c40c8af Author: Thomas Schatzl Date: 2023-02-20 10:45:40 +0000 URL: https://git.openjdk.org/panama-foreign/commit/7c40c8af690a238773e3070f16ec640b53581ee4 8302312: Make ParGCRareEvent_lock G1 specific Reviewed-by: sjohanss, kbarrett ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/g1/g1OopClosures.inline.hpp ! src/hotspot/share/gc/g1/g1YoungCollector.cpp ! src/hotspot/share/gc/g1/heapRegion.cpp ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/runtime/mutexLocker.hpp Changeset: 303c61f3 Author: Ludovic Henry Date: 2023-02-20 10:48:27 +0000 URL: https://git.openjdk.org/panama-foreign/commit/303c61f3ca6b9cf6dd3f7dc700e9d0db04dc10e0 8302776: RISC-V: Fix typo CSR_INSTERT to CSR_INSTRET Reviewed-by: fyang ! src/hotspot/cpu/riscv/macroAssembler_riscv.cpp ! src/hotspot/cpu/riscv/register_riscv.hpp Changeset: 98716e2b Author: Thomas Schatzl Date: 2023-02-20 11:22:04 +0000 URL: https://git.openjdk.org/panama-foreign/commit/98716e2b251c5e86e840116d0c70e2bb07993a10 8302709: Remove explicit remembered set verification in G1 Reviewed-by: ayang, iwalulya ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/heapRegion.cpp ! src/hotspot/share/gc/g1/heapRegion.hpp Changeset: 71cf7c44 Author: Pengfei Li Date: 2023-02-20 12:08:03 +0000 URL: https://git.openjdk.org/panama-foreign/commit/71cf7c4409025c87ac786a54171f00de69fe5317 8302518: Add missing Op_RoundDoubleMode in VectorNode::vector_operands() Reviewed-by: kvn, jbhateja ! src/hotspot/share/opto/vectornode.cpp Changeset: 6ac5e05c Author: Albert Mingkun Yang Date: 2023-02-20 14:07:45 +0000 URL: https://git.openjdk.org/panama-foreign/commit/6ac5e05c58c9f6216397a80ac62e95e2505ccfa3 8302068: Serial: Refactor oop closures used in Young GC Reviewed-by: tschatzl, iwalulya ! src/hotspot/share/gc/serial/defNewGeneration.cpp ! src/hotspot/share/gc/serial/defNewGeneration.hpp ! src/hotspot/share/gc/serial/defNewGeneration.inline.hpp ! src/hotspot/share/gc/serial/genMarkSweep.cpp ! src/hotspot/share/gc/serial/serialHeap.cpp ! src/hotspot/share/gc/serial/serialHeap.hpp ! src/hotspot/share/gc/serial/tenuredGeneration.cpp ! src/hotspot/share/gc/shared/genCollectedHeap.cpp - src/hotspot/share/gc/shared/genOopClosures.hpp - src/hotspot/share/gc/shared/genOopClosures.inline.hpp ! src/hotspot/share/gc/shared/generation.cpp ! src/hotspot/share/gc/shared/space.cpp Changeset: b5a74269 Author: Johan Sj?len Date: 2023-02-20 14:23:54 +0000 URL: https://git.openjdk.org/panama-foreign/commit/b5a7426996bb0e36319186756c46cfa7d0ab6e64 8301749: Tracking malloc pooled memory size Reviewed-by: dholmes, stuefe + src/hotspot/os/linux/mallocInfoDcmd.cpp + src/hotspot/os/linux/mallocInfoDcmd.hpp ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/os/linux/os_linux.hpp ! src/hotspot/share/services/diagnosticCommand.cpp ! src/jdk.jcmd/share/man/jcmd.1 + test/hotspot/jtreg/serviceability/dcmd/vm/MallocInfoTest.java Changeset: e7316952 Author: Prasanta Sadhukhan Date: 2023-02-20 14:47:45 +0000 URL: https://git.openjdk.org/panama-foreign/commit/e731695217b75fd55dc3e820c3123b8739a19c04 8302882: Newly added test javax/swing/JFileChooser/JFileChooserFontReset.java fails with HeadlessException Reviewed-by: jdv ! test/jdk/javax/swing/JFileChooser/JFileChooserFontReset.java Changeset: 7cf7e0a2 Author: Roman Kennke Date: 2023-02-20 15:13:36 +0000 URL: https://git.openjdk.org/panama-foreign/commit/7cf7e0a20b37522b0c7a97e5269bcd2eed174dbe 8302070: Factor null-check into load_klass() calls Reviewed-by: phh, coleenp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/methodHandles_aarch64.cpp ! src/hotspot/cpu/aarch64/templateTable_aarch64.cpp ! src/hotspot/cpu/arm/macroAssembler_arm.cpp ! src/hotspot/cpu/arm/macroAssembler_arm.hpp ! src/hotspot/cpu/arm/methodHandles_arm.cpp ! src/hotspot/cpu/arm/templateTable_arm.cpp ! src/hotspot/cpu/ppc/c1_MacroAssembler_ppc.cpp ! src/hotspot/cpu/ppc/interp_masm_ppc.hpp ! src/hotspot/cpu/ppc/interp_masm_ppc_64.cpp ! src/hotspot/cpu/ppc/macroAssembler_ppc.cpp ! src/hotspot/cpu/ppc/macroAssembler_ppc.hpp ! src/hotspot/cpu/ppc/templateTable_ppc_64.cpp ! src/hotspot/cpu/ppc/vtableStubs_ppc_64.cpp ! src/hotspot/cpu/riscv/macroAssembler_riscv.cpp ! src/hotspot/cpu/riscv/macroAssembler_riscv.hpp ! src/hotspot/cpu/riscv/methodHandles_riscv.cpp ! src/hotspot/cpu/riscv/templateTable_riscv.cpp ! src/hotspot/cpu/s390/macroAssembler_s390.cpp ! src/hotspot/cpu/s390/macroAssembler_s390.hpp ! src/hotspot/cpu/s390/methodHandles_s390.cpp ! src/hotspot/cpu/s390/templateTable_s390.cpp ! src/hotspot/cpu/s390/vtableStubs_s390.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.hpp ! src/hotspot/cpu/x86/methodHandles_x86.cpp ! src/hotspot/cpu/x86/templateTable_x86.cpp Changeset: e47e9ec0 Author: Severin Gehwolf Date: 2023-02-20 17:07:04 +0000 URL: https://git.openjdk.org/panama-foreign/commit/e47e9ec05b630c82182c7843365dfd90fdaa18a0 8300658: memory_and_swap_limit() reporting wrong values on systems with swapaccount=0 Reviewed-by: jsjolen, iklam ! src/hotspot/os/linux/cgroupV1Subsystem_linux.cpp ! src/hotspot/os/linux/cgroupV1Subsystem_linux.hpp ! src/hotspot/os/linux/cgroupV2Subsystem_linux.cpp ! test/hotspot/jtreg/containers/docker/TestMemoryAwareness.java ! test/hotspot/jtreg/containers/docker/TestMemoryWithCgroupV1.java Changeset: 9a797228 Author: Alexey Bakhtin Date: 2023-02-20 17:52:54 +0000 URL: https://git.openjdk.org/panama-foreign/commit/9a797228f3576720196d5e3bf4b204a5e3f87376 8299234: JMX Repository.query performance Reviewed-by: dfuchs, kevinw ! src/java.management/share/classes/com/sun/jmx/mbeanserver/Repository.java ! src/java.management/share/classes/com/sun/jmx/mbeanserver/Util.java ! src/java.management/share/classes/javax/management/ObjectName.java ! test/jdk/javax/management/ObjectName/ApplyWildcardTest.java Changeset: c7517b3d Author: ravi.ra.gupta Committer: Sergey Bylokhov Date: 2023-02-20 18:32:00 +0000 URL: https://git.openjdk.org/panama-foreign/commit/c7517b3decdc55edb7f0ce6e6aa09a6b653c747d 8302525: Write a test to check various components send Events while mouse and key are used simultaneously Reviewed-by: serb + test/jdk/java/awt/event/StressTest/MouseAndKeyEventStressTest.java Changeset: 0bf3a53e Author: Justin King Date: 2023-02-20 18:37:16 +0000 URL: https://git.openjdk.org/panama-foreign/commit/0bf3a53e01818aca5e365ee7275e567aad0273cc 8302599: Extend ASan support to Microsoft Visual C++ Reviewed-by: erikj, stuefe, ihse ! make/autoconf/jdk-options.m4 ! make/data/asan/asan_default_options.c Changeset: 36a08226 Author: sunguoyun Committer: Vladimir Kozlov Date: 2023-02-20 19:28:09 +0000 URL: https://git.openjdk.org/panama-foreign/commit/36a0822633909e03656159245bbeb954efafa2f2 8302369: Reduce the stack size of the C1 compiler Reviewed-by: dlong ! src/hotspot/cpu/aarch64/c1_CodeStubs_aarch64.cpp ! src/hotspot/cpu/aarch64/c1_Defs_aarch64.hpp ! src/hotspot/cpu/arm/c1_CodeStubs_arm.cpp ! src/hotspot/cpu/arm/c1_Defs_arm.hpp ! src/hotspot/cpu/ppc/c1_CodeStubs_ppc.cpp ! src/hotspot/cpu/ppc/c1_Defs_ppc.hpp ! src/hotspot/cpu/riscv/c1_CodeStubs_riscv.cpp ! src/hotspot/cpu/riscv/c1_Defs_riscv.hpp ! src/hotspot/cpu/s390/c1_CodeStubs_s390.cpp ! src/hotspot/cpu/s390/c1_Defs_s390.hpp ! src/hotspot/cpu/x86/c1_CodeStubs_x86.cpp ! src/hotspot/cpu/x86/c1_Defs_x86.hpp ! src/hotspot/share/c1/c1_CodeStubs.hpp ! src/hotspot/share/c1/c1_Compilation.cpp ! src/hotspot/share/c1/c1_Defs.hpp ! src/hotspot/share/c1/c1_FrameMap.cpp ! src/hotspot/share/c1/c1_FrameMap.hpp ! src/hotspot/share/gc/g1/c1/g1BarrierSetC1.hpp ! src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.hpp ! src/hotspot/share/gc/z/c1/zBarrierSetC1.cpp Changeset: bb3dfd6a Author: George Adams Committer: Christoph Langer Date: 2023-02-20 21:58:55 +0000 URL: https://git.openjdk.org/panama-foreign/commit/bb3dfd6adbb58871bc7238107ed254831b22d48b 8302879: doc/building.md update link to jtreg builds Reviewed-by: sgehwolf, clanger ! doc/building.html ! doc/building.md Changeset: 91a2b5ec Author: David Holmes Date: 2023-02-21 01:23:06 +0000 URL: https://git.openjdk.org/panama-foreign/commit/91a2b5ec6f90b9895924a49319c2c6b7007d96bd 8302905: arm32 Raspberry Pi OS build broken by JDK-8301494 Reviewed-by: mikael, martin ! src/hotspot/cpu/arm/interpreterRT_arm.cpp Changeset: 43c71ddf Author: Gui Cao Committer: Fei Yang Date: 2023-02-21 01:39:13 +0000 URL: https://git.openjdk.org/panama-foreign/commit/43c71ddf923d442499449948f4bf8a7c79249af0 8302453: RISC-V: Add support for small width vector operations Co-authored-by: Dingli Zhang Reviewed-by: yzhu, fyang ! src/hotspot/cpu/riscv/c2_MacroAssembler_riscv.cpp ! src/hotspot/cpu/riscv/c2_MacroAssembler_riscv.hpp ! src/hotspot/cpu/riscv/riscv.ad ! src/hotspot/cpu/riscv/riscv_v.ad Changeset: 29f392e4 Author: Tejesh R Date: 2023-02-21 05:19:07 +0000 URL: https://git.openjdk.org/panama-foreign/commit/29f392e4344e467882c36b5737d432b2d0ee7ebb 8299522: Incorrect size of Approve button in custom JFileChooser Reviewed-by: aivanov, abhiscxk, dnguyen ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicFileChooserUI.java + test/jdk/javax/swing/JFileChooser/CustomApproveButtonTest.java Changeset: 17274c72 Author: Emanuel Peter Date: 2023-02-21 07:13:33 +0000 URL: https://git.openjdk.org/panama-foreign/commit/17274c72a962e8ee3afed72b38ed72aa20dd2ae0 8302146: Move TestOverloadCompileQueues.java to tier3 Reviewed-by: kvn, thartmann ! test/hotspot/jtreg/TEST.groups Changeset: 16a4f02f Author: Emanuel Peter Date: 2023-02-21 07:16:51 +0000 URL: https://git.openjdk.org/panama-foreign/commit/16a4f02f2d4f5574af3b20f2f0c788d15dd503ac 8302150: Speed up compiler/codegen/Test7100757.java Reviewed-by: kvn, thartmann ! test/hotspot/jtreg/compiler/codegen/Test7100757.java Changeset: aa10f0d3 Author: Jayathirth D V Date: 2023-02-21 07:30:17 +0000 URL: https://git.openjdk.org/panama-foreign/commit/aa10f0d3ee5d77d83950c9ed4aab11589b822ff4 8302151: BMPImageReader throws an exception reading BMP images Reviewed-by: serb, tr ! src/java.desktop/share/classes/com/sun/imageio/plugins/bmp/BMPImageReader.java + test/jdk/javax/imageio/plugins/bmp/BMP1bppImageWithPaletteTest.java Changeset: 91456703 Author: Matthias Baesken Date: 2023-02-21 08:17:56 +0000 URL: https://git.openjdk.org/panama-foreign/commit/9145670354c41381614877aa71895dc2bd5cce9d 8301661: Enhance os::pd_print_cpu_info on macOS and Windows Reviewed-by: ihse, lucy, dholmes ! make/autoconf/libraries.m4 ! src/hotspot/os/bsd/os_bsd.cpp ! src/hotspot/os/windows/os_windows.cpp Changeset: 63a35012 Author: Stefan Karlsson Date: 2023-02-21 08:23:28 +0000 URL: https://git.openjdk.org/panama-foreign/commit/63a3501273106289dba72384e570962f19264bc9 8302741: ZGC: Remove Universe::verify calls Reviewed-by: ayang, tschatzl ! src/hotspot/share/gc/z/zDriver.cpp Changeset: f35cf79b Author: Albert Mingkun Yang Date: 2023-02-21 09:25:07 +0000 URL: https://git.openjdk.org/panama-foreign/commit/f35cf79b51ba7fa190b546c1ac312802534de8bc 8302867: G1: Removing unused variable in G1CardTable::initialize Reviewed-by: tschatzl ! src/hotspot/share/gc/g1/g1CardTable.cpp Changeset: 9fd77c7b Author: Albert Mingkun Yang Date: 2023-02-21 09:25:51 +0000 URL: https://git.openjdk.org/panama-foreign/commit/9fd77c7b9b06a4e1171c247ed542fbb08c5b6fba 8302868: Serial: Remove CardTableRS::initialize Reviewed-by: tschatzl ! src/hotspot/share/gc/shared/cardTableRS.cpp ! src/hotspot/share/gc/shared/cardTableRS.hpp Changeset: 622f5604 Author: Albert Mingkun Yang Date: 2023-02-21 09:26:47 +0000 URL: https://git.openjdk.org/panama-foreign/commit/622f5604c1fc5b679a68d8cc74f5d751b2827a93 8302886: Parallel: Remove unimplemented methods in ParCompactionManager Reviewed-by: tschatzl ! src/hotspot/share/gc/parallel/psCompactionManager.hpp Changeset: fef19102 Author: Stefan Karlsson Date: 2023-02-21 10:58:36 +0000 URL: https://git.openjdk.org/panama-foreign/commit/fef1910277842303b41854c207fc4caba393adc6 8299777: Test runtime/NMT/BaselineWithParameter.java timed out Reviewed-by: gziemski, iklam, dholmes ! test/hotspot/jtreg/runtime/NMT/BaselineWithParameter.java ! test/hotspot/jtreg/runtime/NMT/JcmdDetailDiff.java ! test/hotspot/jtreg/runtime/NMT/JcmdSummaryClass.java ! test/hotspot/jtreg/runtime/NMT/JcmdSummaryDiff.java Changeset: 60e63789 Author: Stefan Karlsson Date: 2023-02-21 11:04:43 +0000 URL: https://git.openjdk.org/panama-foreign/commit/60e637892576792f663a25b8a949e39c29accd47 8302977: ZGC: Doesn't support gc/TestVerifySubSet.java Reviewed-by: tschatzl ! test/hotspot/jtreg/gc/TestVerifySubSet.java Changeset: 644fe0a9 Author: Julian Waters Date: 2023-02-21 11:58:44 +0000 URL: https://git.openjdk.org/panama-foreign/commit/644fe0a9943e22654673265341ad922e51a78fe0 8302837: Kernel32.cpp array memory release invokes undefined behaviour Reviewed-by: jlahoda ! src/jdk.internal.le/windows/native/lible/Kernel32.cpp Changeset: 8b20aa91 Author: Pavel Rappo Date: 2023-02-21 13:11:26 +0000 URL: https://git.openjdk.org/panama-foreign/commit/8b20aa919b810fc5b3856b392bd0d8b1f882c895 8302981: Fix a typo in the doc comment for java.lang.Record.equals Reviewed-by: jpai ! src/java.base/share/classes/java/lang/Record.java Changeset: 92dfa117 Author: Claes Redestad Date: 2023-02-21 13:31:15 +0000 URL: https://git.openjdk.org/panama-foreign/commit/92dfa1175e4898fc491115e004380780b6862473 8302863: Speed up String::encodeASCII using countPositives Reviewed-by: alanb ! src/java.base/share/classes/java/lang/String.java Changeset: 02eb240c Author: Tobias Holenstein Date: 2023-02-21 13:48:49 +0000 URL: https://git.openjdk.org/panama-foreign/commit/02eb240c7126cf539baca21869ee2b382b28708c 8302846: IGV: Zoom stuck when zooming out on large graphs Reviewed-by: rcastanedalo, thartmann ! src/utils/IdealGraphVisualizer/View/src/main/java/com/sun/hotspot/igv/view/actions/ZoomLevelAction.java Changeset: db483a38 Author: Johannes Bechberger Committer: Jorn Vernee Date: 2023-02-21 14:33:02 +0000 URL: https://git.openjdk.org/panama-foreign/commit/db483a38a815f85bd9668749674b5f0f6e4b27b4 8302320: AsyncGetCallTrace obtains too few frames in sanity test Reviewed-by: jvernee, dholmes, rrich ! src/hotspot/cpu/x86/frame_x86.cpp ! test/hotspot/jtreg/serviceability/AsyncGetCallTrace/libAsyncGetCallTraceTest.cpp Changeset: 10b4cc9e Author: Roger Riggs Date: 2023-02-21 15:37:08 +0000 URL: https://git.openjdk.org/panama-foreign/commit/10b4cc9eb49c14a6be03b3f53e97037529169ed1 8301627: System.exit and Runtime.exit debug logging Reviewed-by: alanb, chegar ! src/java.base/share/classes/java/lang/Runtime.java ! src/java.base/share/classes/java/lang/Shutdown.java ! src/java.base/share/classes/java/lang/System.java + test/jdk/java/lang/RuntimeTests/ExitLogging-FINE.properties + test/jdk/java/lang/RuntimeTests/ExitLogging-INFO.properties + test/jdk/java/lang/RuntimeTests/RuntimeExitLogTest.java Changeset: 5489c821 Author: Glavo Committer: Naoto Sato Date: 2023-02-21 17:35:52 +0000 URL: https://git.openjdk.org/panama-foreign/commit/5489c821dc2e0c3cfa207dc96d9183d165640368 8302603: Use Set.of in java.nio.charset.Charset Reviewed-by: stsypanov, alanb, naoto ! src/java.base/share/classes/java/nio/charset/Charset.java Changeset: dfce4e19 Author: Joe Darcy Date: 2023-02-21 18:31:22 +0000 URL: https://git.openjdk.org/panama-foreign/commit/dfce4e1943f2f95b74b5a9cdde9d738dcffd0b43 8302800: Augment NaN handling tests of FDLIBM methods Reviewed-by: bpb ! test/jdk/java/lang/Math/CubeRootTests.java ! test/jdk/java/lang/Math/Expm1Tests.java ! test/jdk/java/lang/Math/HyperbolicTests.java ! test/jdk/java/lang/Math/InverseTrigTests.java ! test/jdk/java/lang/Math/Log10Tests.java ! test/jdk/java/lang/Math/Log1pTests.java ! test/jdk/java/lang/Math/Tests.java Changeset: 1ea5f9f7 Author: Christian Stein Date: 2023-02-21 19:03:26 +0000 URL: https://git.openjdk.org/panama-foreign/commit/1ea5f9f7cdaa08d049981d4e331e047455a9885e 8302789: (fs) Files.copy should include unsupported copy option in exception message Reviewed-by: alanb, bpb, lancea ! src/java.base/unix/classes/sun/nio/fs/UnixFileSystem.java ! src/java.base/windows/classes/sun/nio/fs/WindowsFileCopy.java Changeset: ef1f7bd3 Author: Eirik Bjorsnos Committer: Naoto Sato Date: 2023-02-21 20:54:36 +0000 URL: https://git.openjdk.org/panama-foreign/commit/ef1f7bd3b80f8777c15ab22b1dff7dfe4f084734 8302877: Speed up latin1 case conversions Reviewed-by: naoto, redestad ! src/java.base/share/classes/java/lang/CharacterDataLatin1.java.template + test/jdk/java/lang/Character/Latin1CaseConversion.java ! test/jdk/sun/text/resources/LocaleData ! test/jdk/sun/text/resources/LocaleData.cldr ! test/micro/org/openjdk/bench/java/lang/Characters.java Changeset: 729c26f7 Author: Mikael Vidstedt Date: 2023-02-21 21:00:38 +0000 URL: https://git.openjdk.org/panama-foreign/commit/729c26f70ea89232ba7c0f2d8e4cb8116d6ca051 8303020: Remove carriage return in pandoc version string Reviewed-by: iris, lancea, erikj ! make/autoconf/basic_tools.m4 Changeset: ce6de371 Author: Justin King Date: 2023-02-21 21:15:43 +0000 URL: https://git.openjdk.org/panama-foreign/commit/ce6de37172cadc3671c03423cb9dd3bb9d2be840 8303010: Add /DEBUG to LDFLAGS for MSVC with ASan Reviewed-by: erikj ! make/autoconf/jdk-options.m4 Changeset: 46f25250 Author: Serguei Spitsyn Date: 2023-02-21 21:22:49 +0000 URL: https://git.openjdk.org/panama-foreign/commit/46f25250bd49702fe18f9903473dc3e1cbe70f84 8299240: rank of JvmtiVTMSTransition_lock can be safepoint Reviewed-by: dholmes, coleenp, pchilanomate ! src/hotspot/share/interpreter/interpreterRuntime.cpp ! src/hotspot/share/prims/jvmtiEnv.cpp ! src/hotspot/share/prims/jvmtiExport.cpp ! src/hotspot/share/prims/jvmtiExport.hpp ! src/hotspot/share/prims/jvmtiThreadState.cpp ! src/hotspot/share/runtime/mutexLocker.cpp Changeset: dcd773ac Author: Albert Mingkun Yang Date: 2023-02-21 21:24:22 +0000 URL: https://git.openjdk.org/panama-foreign/commit/dcd773ac5c9f503c505d934018b41b5123859560 8302864: Parallel: Remove PSVirtualSpace::pointer_delta Reviewed-by: tschatzl, kbarrett ! src/hotspot/share/gc/parallel/psVirtualspace.hpp Changeset: e950b954 Author: Eirik Bjorsnos Committer: Naoto Sato Date: 2023-02-21 21:39:35 +0000 URL: https://git.openjdk.org/panama-foreign/commit/e950b95486d468bbad758d5ba0e5a36445b4cc3c 8303033: Build failure with the micro bench mark Reviewed-by: naoto ! test/micro/org/openjdk/bench/java/lang/Characters.java Changeset: f319c92b Author: Mikael Vidstedt Date: 2023-02-21 22:10:36 +0000 URL: https://git.openjdk.org/panama-foreign/commit/f319c92bd0fc68a64e6ac35ad4569740b858c9b2 8303016: Invalid escapes in grep patterns Reviewed-by: erikj ! make/autoconf/basic_tools.m4 ! make/autoconf/boot-jdk.m4 ! make/autoconf/util_paths.m4 Changeset: 180b94c7 Author: Martin Doerr Date: 2023-02-22 02:24:38 +0000 URL: https://git.openjdk.org/panama-foreign/commit/180b94c73e9ad17d57650d4c985d4104289052a9 8302907: [PPC64] Use more constexpr in class Register Reviewed-by: rrich ! src/hotspot/cpu/ppc/register_ppc.hpp Changeset: 2c52cf07 Author: Prasanta Sadhukhan Date: 2023-02-22 06:13:09 +0000 URL: https://git.openjdk.org/panama-foreign/commit/2c52cf07469970f730aa7397f9f6b98534af3a44 8041447: Test javax/swing/dnd/7171812/bug7171812.java fails with java.lang.RuntimeException: Test failed, scroll on drag doesn't work Reviewed-by: tr, serb ! test/jdk/ProblemList.txt ! test/jdk/javax/swing/dnd/7171812/bug7171812.java Changeset: cba817ae Author: Julian Waters Date: 2023-02-22 06:27:52 +0000 URL: https://git.openjdk.org/panama-foreign/commit/cba817ae590d1130196d7f9d6e75b8d9b37d384b 8302838: jabswitch main() should avoid calling exit explicitly Reviewed-by: serb ! src/jdk.accessibility/windows/native/jabswitch/jabswitch.cpp Changeset: f54e1080 Author: Richard Reingruber Date: 2023-02-22 06:29:48 +0000 URL: https://git.openjdk.org/panama-foreign/commit/f54e1080c5a1da558f548d8eb93f7dfcb6c05979 8302831: PPC: compiler/codecache/TestStressCodeBuffers.java fails after JDK-8301819 Reviewed-by: mdoerr ! src/hotspot/cpu/ppc/ppc.ad Changeset: b6ecca12 Author: Alan Bateman Date: 2023-02-22 08:13:06 +0000 URL: https://git.openjdk.org/panama-foreign/commit/b6ecca126846f9c53d554ff061cfe9b7b20a4d12 8280113: (dc) DatagramSocket.receive does not always throw when the channel is closed Reviewed-by: jpai, dfuchs ! src/java.base/share/classes/sun/nio/ch/DatagramChannelImpl.java + test/jdk/java/nio/channels/DatagramChannel/AdaptorAsyncCloseAfterReceive.java Changeset: 7f353895 Author: Severin Gehwolf Date: 2023-02-22 08:35:10 +0000 URL: https://git.openjdk.org/panama-foreign/commit/7f3538953367f17c8247cc7225ae3b43ed0564c5 8302888: containers/docker/TestJcmd.java fails when run as root under podman Reviewed-by: dholmes ! test/hotspot/jtreg/containers/docker/TestJcmd.java Changeset: 5e1d1b79 Author: Kevin Walls Date: 2023-02-22 09:29:57 +0000 URL: https://git.openjdk.org/panama-foreign/commit/5e1d1b79409cdee7509c682a88fc2905719b2ddf 8302870: More information needed from failures in vmTestbase ThreadUtils.waitThreadState Reviewed-by: dholmes, sspitsyn ! test/hotspot/jtreg/vmTestbase/nsk/monitoring/share/thread/ThreadUtils.java Changeset: 3f3a1f53 Author: Tagir F. Valeev Date: 2023-02-22 09:51:14 +0000 URL: https://git.openjdk.org/panama-foreign/commit/3f3a1f534b7f2f5be6d7ded9d9832fa9394e763c 8302815: Use new Math.clamp method in core libraries Reviewed-by: alanb ! src/java.base/share/classes/java/io/ObjectInputStream.java ! src/java.base/share/classes/java/text/DecimalFormat.java ! src/java.base/share/classes/java/time/format/DateTimeFormatterBuilder.java ! src/java.base/share/classes/java/util/HashMap.java ! src/java.base/share/classes/java/util/HashSet.java ! src/java.base/share/classes/java/util/Hashtable.java ! src/java.base/share/classes/java/util/concurrent/ForkJoinPool.java ! src/java.base/share/classes/java/util/stream/SliceOps.java ! src/java.base/share/classes/jdk/internal/foreign/abi/riscv64/linux/LinuxRISCV64CallArranger.java ! src/java.base/share/classes/jdk/internal/math/FloatingDecimal.java ! src/java.base/unix/classes/sun/nio/fs/UnixUriUtils.java Changeset: 60a35817 Author: Per Minborg Date: 2023-02-22 10:29:40 +0000 URL: https://git.openjdk.org/panama-foreign/commit/60a358172a261d56bfa27fef6fabec2a54b4f352 8302856: Typo in FlightRecorderMXBeanImpl Reviewed-by: kevinw, egahlin ! src/jdk.management.jfr/share/classes/jdk/management/jfr/FlightRecorderMXBeanImpl.java Changeset: 861eea9b Author: Per Minborg Date: 2023-02-22 10:33:58 +0000 URL: https://git.openjdk.org/panama-foreign/commit/861eea9bd43023d76b217d203298f1f09635cdae 8302858: Polish FlightRecorderMXBeanImpl Reviewed-by: egahlin ! src/jdk.management.jfr/share/classes/jdk/management/jfr/FlightRecorderMXBeanImpl.java Changeset: 30b2ac4a Author: Roberto Casta?eda Lozano Date: 2023-02-22 10:59:15 +0000 URL: https://git.openjdk.org/panama-foreign/commit/30b2ac4a28dd871dc56490ce159a18fe30b8855f 8302873: ZGC: dump barrier data in C2 Mach nodes Reviewed-by: thartmann, kvn ! src/hotspot/share/gc/shared/c2/barrierSetC2.hpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.hpp ! src/hotspot/share/opto/machnode.cpp Changeset: 63ef2143 Author: Per Minborg Date: 2023-02-22 11:45:51 +0000 URL: https://git.openjdk.org/panama-foreign/commit/63ef2143289f4aac52c8b2a6b555ed2b33dc1c07 8302849: SurfaceManager might expose partially constructed object Reviewed-by: serb ! src/java.desktop/share/classes/sun/awt/image/SurfaceManager.java Changeset: 57548480 Author: Daniel Fuchs Date: 2023-02-22 12:43:55 +0000 URL: https://git.openjdk.org/panama-foreign/commit/575484806ce11634d4fa8bef6c0c5987e4e0a1c7 8299338: AssertionError in ResponseSubscribers$HttpResponseInputStream::onSubscribe Reviewed-by: jpai ! src/java.net.http/share/classes/jdk/internal/net/http/Http1Exchange.java ! src/java.net.http/share/classes/jdk/internal/net/http/HttpClientImpl.java ! src/java.net.http/share/classes/jdk/internal/net/http/ResponseSubscribers.java ! src/java.net.http/share/classes/jdk/internal/net/http/Stream.java ! src/java.net.http/share/classes/jdk/internal/net/http/common/HttpBodySubscriberWrapper.java ! test/jdk/java/net/httpclient/AsyncExecutorShutdown.java Changeset: adc29c36 Author: Albert Mingkun Yang Date: 2023-02-22 12:48:31 +0000 URL: https://git.openjdk.org/panama-foreign/commit/adc29c36e1df6a0d1e9cecbfb07307e1434b2975 8302878: Group cmdline heap size checking together Reviewed-by: kbarrett, iwalulya ! src/hotspot/share/gc/shared/gcArguments.cpp Changeset: 0d5f7439 Author: Albert Mingkun Yang Date: 2023-02-22 12:49:40 +0000 URL: https://git.openjdk.org/panama-foreign/commit/0d5f7439a4a14cddf2b4347ed9dcc525cf9be024 8303054: Remove unused variables in GCTraceTimeLoggerImpl::log_end Reviewed-by: tschatzl ! src/hotspot/share/gc/shared/gcTraceTime.cpp Changeset: 25bfed3b Author: Sergey Tsypanov Committer: Julian Waters Date: 2023-02-22 14:08:51 +0000 URL: https://git.openjdk.org/panama-foreign/commit/25bfed3b123ed64055b22c8a9723835d4410362c 8302979: (fs) Files usage of SUPPORTED_CHARSETS could be simplified Reviewed-by: alanb, jwaters ! src/java.base/share/classes/java/nio/file/FileChannelLinesSpliterator.java ! src/java.base/share/classes/java/nio/file/Files.java Changeset: 83bea26d Author: Patricio Chilano Mateo Date: 2023-02-22 15:42:53 +0000 URL: https://git.openjdk.org/panama-foreign/commit/83bea26df453282d46afff333e006e8f9b7fb201 8300575: JVMTI support when using alternative virtual thread implementation Reviewed-by: lmesnik, sspitsyn, alanb ! src/hotspot/share/classfile/vmClassMacros.hpp ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/prims/jni.cpp ! src/hotspot/share/prims/jvmtiEnv.cpp ! src/hotspot/share/prims/jvmtiEnvBase.cpp ! src/hotspot/share/prims/jvmtiExport.cpp ! src/hotspot/share/runtime/javaThread.cpp ! src/hotspot/share/services/management.cpp ! src/hotspot/share/services/threadService.cpp ! src/hotspot/share/services/threadService.hpp ! src/java.base/share/classes/java/lang/Thread.java ! test/hotspot/jtreg/runtime/cds/appcds/redefineClass/RedefineRunningMethods_Shared.java ! test/hotspot/jtreg/serviceability/jvmti/GetLocalVariable/GetSetLocalUnsuspended.java ! test/hotspot/jtreg/serviceability/jvmti/GetOwnedMonitorInfo/GetOwnedMonitorInfoTest.java ! test/hotspot/jtreg/serviceability/jvmti/GetOwnedMonitorStackDepthInfo/GetOwnedMonitorStackDepthInfoTest.java ! test/hotspot/jtreg/serviceability/jvmti/HeapMonitor/MyPackage/HeapMonitorVMEventsTest.java ! test/hotspot/jtreg/serviceability/jvmti/RedefineClasses/RedefineRunningMethods.java ! test/hotspot/jtreg/serviceability/jvmti/RedefineClasses/RedefineRunningMethodsWithBacktrace.java ! test/hotspot/jtreg/serviceability/jvmti/events/Breakpoint/breakpoint01/breakpoint01.java ! test/hotspot/jtreg/serviceability/jvmti/events/ClassLoad/classload01/classload01.java ! test/hotspot/jtreg/serviceability/jvmti/events/ClassPrepare/classprep01/classprep01.java ! test/hotspot/jtreg/serviceability/jvmti/events/Exception/exception01/exception01.java ! test/hotspot/jtreg/serviceability/jvmti/events/ExceptionCatch/excatch01/excatch01.java ! test/hotspot/jtreg/serviceability/jvmti/events/FieldAccess/fieldacc01/fieldacc01.java ! test/hotspot/jtreg/serviceability/jvmti/events/FieldAccess/fieldacc02/fieldacc02.java ! test/hotspot/jtreg/serviceability/jvmti/events/FieldAccess/fieldacc03/fieldacc03.java ! test/hotspot/jtreg/serviceability/jvmti/events/FieldAccess/fieldacc04/fieldacc04.java ! test/hotspot/jtreg/serviceability/jvmti/events/FieldModification/fieldmod01/fieldmod01.java ! test/hotspot/jtreg/serviceability/jvmti/events/FieldModification/fieldmod02/fieldmod02.java ! test/hotspot/jtreg/serviceability/jvmti/events/FramePop/framepop01/framepop01.java ! test/hotspot/jtreg/serviceability/jvmti/events/FramePop/framepop02/framepop02.java ! test/hotspot/jtreg/serviceability/jvmti/events/MethodEntry/mentry01/mentry01.java ! test/hotspot/jtreg/serviceability/jvmti/events/MethodEntry/mentry02/mentry02.java ! test/hotspot/jtreg/serviceability/jvmti/events/MethodExit/mexit01/mexit01.java ! test/hotspot/jtreg/serviceability/jvmti/events/MethodExit/mexit02/mexit02.java ! test/hotspot/jtreg/serviceability/jvmti/events/MonitorContendedEnter/mcontenter01/mcontenter01.java ! test/hotspot/jtreg/serviceability/jvmti/events/MonitorContendedEntered/mcontentered01/mcontentered01.java ! test/hotspot/jtreg/serviceability/jvmti/events/MonitorWait/monitorwait01/monitorwait01.java ! test/hotspot/jtreg/serviceability/jvmti/events/MonitorWaited/monitorwaited01/monitorwaited01.java ! test/hotspot/jtreg/serviceability/jvmti/events/SingleStep/singlestep01/singlestep01.java ! test/hotspot/jtreg/serviceability/jvmti/events/SingleStep/singlestep03/singlestep03.java ! test/hotspot/jtreg/serviceability/jvmti/stress/StackTrace/NotSuspended/GetStackTraceNotSuspendedStressTest.java ! test/hotspot/jtreg/serviceability/jvmti/stress/StackTrace/Suspended/GetStackTraceSuspendedStressTest.java ! test/hotspot/jtreg/serviceability/jvmti/stress/ThreadLocalStorage/SetGetThreadLocalStorageStressTest/SetGetThreadLocalStorageStressTest.java ! test/hotspot/jtreg/serviceability/jvmti/thread/GetCurrentContendedMonitor/contmon01/contmon01.java ! test/hotspot/jtreg/serviceability/jvmti/thread/GetCurrentContendedMonitor/contmon02/contmon02.java ! test/hotspot/jtreg/serviceability/jvmti/thread/GetStackTrace/GetStackTraceCurrentThreadTest/GetStackTraceCurrentThreadTest.java ! test/hotspot/jtreg/serviceability/jvmti/thread/GetThreadInfo/thrinfo01/thrinfo01.java ! test/hotspot/jtreg/serviceability/jvmti/thread/GetThreadState/thrstat01/thrstat01.java ! test/hotspot/jtreg/serviceability/jvmti/thread/GetThreadState/thrstat03/thrstat03.java ! test/hotspot/jtreg/serviceability/jvmti/thread/GetThreadState/thrstat05/thrstat05.java + test/hotspot/jtreg/serviceability/jvmti/vthread/BoundVThreadTest/BoundVThreadTest.java + test/hotspot/jtreg/serviceability/jvmti/vthread/BoundVThreadTest/libBoundVThreadTest.cpp ! test/hotspot/jtreg/serviceability/jvmti/vthread/InterruptThreadTest/InterruptThreadTest.java ! test/hotspot/jtreg/serviceability/jvmti/vthread/NullAsCurrentThreadTest/NullAsCurrentThreadTest.java ! test/hotspot/jtreg/serviceability/jvmti/vthread/PinnedTaskTest/PinnedTaskTest.java ! test/hotspot/jtreg/serviceability/jvmti/vthread/SelfSuspendDisablerTest/SelfSuspendDisablerTest.java ! test/hotspot/jtreg/serviceability/jvmti/vthread/SuspendResume1/SuspendResume1.java ! test/hotspot/jtreg/serviceability/jvmti/vthread/SuspendResume2/SuspendResume2.java ! test/hotspot/jtreg/serviceability/jvmti/vthread/SuspendResumeAll/SuspendResumeAll.java ! test/hotspot/jtreg/serviceability/jvmti/vthread/VThreadNotifyFramePopTest/VThreadNotifyFramePopTest.java ! test/hotspot/jtreg/serviceability/jvmti/vthread/VirtualStackTraceTest/VirtualStackTraceTest.java ! test/hotspot/jtreg/serviceability/jvmti/vthread/VirtualThreadStartTest/VirtualThreadStartTest.java ! test/hotspot/jtreg/serviceability/jvmti/vthread/premain/AgentWithVThreadTest.java ! test/jdk/com/sun/jdi/JdbOptions.java ! test/jdk/com/sun/jdi/SuspendAfterDeath.java ! test/langtools/jdk/jshell/Test8294583.java ! test/langtools/jdk/jshell/Test8296012.java ! test/langtools/jdk/jshell/ToolEnablePreviewTest.java Changeset: ee37af47 Author: Thomas Schatzl Date: 2023-02-22 15:45:12 +0000 URL: https://git.openjdk.org/panama-foreign/commit/ee37af47cd722bbfb7235bab0af44cb6f7b7863c 8302975: Remove redundant mark verification during G1 Full GC Reviewed-by: ayang, kbarrett ! src/hotspot/share/gc/g1/g1FullGCMarker.cpp ! src/hotspot/share/gc/g1/g1FullGCMarker.hpp ! src/hotspot/share/gc/g1/g1FullGCMarker.inline.hpp Changeset: 1a62a122 Author: Thomas Schatzl Date: 2023-02-22 15:47:29 +0000 URL: https://git.openjdk.org/panama-foreign/commit/1a62a1229a10688900afb4b1ba0258b1354543c5 8302880: Fix includes in g1ConcurrentMarkObjArrayProcessor files Reviewed-by: ayang, kbarrett ! src/hotspot/share/gc/g1/g1ConcurrentMarkObjArrayProcessor.cpp ! src/hotspot/share/gc/g1/g1ConcurrentMarkObjArrayProcessor.inline.hpp Changeset: b0e0f37d Author: Albert Mingkun Yang Date: 2023-02-22 15:57:08 +0000 URL: https://git.openjdk.org/panama-foreign/commit/b0e0f37d73ff61e9ac7b4652fd632029dbbe3aef 8303067: G1: Remove unimplemented G1FullGCScope::heap_transition Reviewed-by: tschatzl ! src/hotspot/share/gc/g1/g1FullGCScope.hpp Changeset: 5d7e7e28 Author: Thomas Schatzl Date: 2023-02-22 16:11:41 +0000 URL: https://git.openjdk.org/panama-foreign/commit/5d7e7e28b1d96b3bf387104f6c98da022aed76d5 8302760: Improve liveness/remembered set verification for G1 Reviewed-by: kbarrett, iwalulya ! src/hotspot/share/gc/g1/g1HeapVerifier.cpp ! src/hotspot/share/gc/g1/g1OopClosures.cpp ! src/hotspot/share/gc/g1/g1OopClosures.hpp ! src/hotspot/share/gc/g1/g1OopClosures.inline.hpp ! src/hotspot/share/gc/g1/heapRegion.cpp ! src/hotspot/share/gc/g1/heapRegion.hpp ! src/hotspot/share/gc/shared/collectedHeap.cpp ! src/hotspot/share/oops/oop.cpp ! src/hotspot/share/oops/oop.hpp Changeset: d7ada661 Author: Thomas Schatzl Date: 2023-02-22 17:08:24 +0000 URL: https://git.openjdk.org/panama-foreign/commit/d7ada66129a8420d696b515aad4ddc730fe7104c 8303084: G1 Heap region liveness verification has inverted return value Reviewed-by: ayang ! src/hotspot/share/gc/g1/heapRegion.cpp Changeset: f893d231 Author: Glavo Committer: Brian Burkhalter Date: 2023-02-22 17:16:49 +0000 URL: https://git.openjdk.org/panama-foreign/commit/f893d2315db914e946825e57e53313e1a69f5eb6 8303024: (fs) WindowsFileSystem.supportedFileAttributeViews can use Set.of Reviewed-by: bpb ! src/java.base/windows/classes/sun/nio/fs/WindowsFileSystem.java Changeset: 8de841dd Author: Julian Waters Date: 2023-02-22 17:42:34 +0000 URL: https://git.openjdk.org/panama-foreign/commit/8de841dd19a77f9ff6273a74366c08f33e0cac94 8302667: Improve message format when failing to load symbols or libraries Reviewed-by: mchung ! src/java.base/share/native/libjli/args.c ! src/java.base/share/native/libjli/emessages.h Changeset: 07e976ac Author: Albert Mingkun Yang Date: 2023-02-22 18:28:17 +0000 URL: https://git.openjdk.org/panama-foreign/commit/07e976ac26fe3ff6a94713013114dc38c95950b8 8303081: Serial: Remove unused VM_MarkSweep Reviewed-by: tschatzl ! src/hotspot/share/gc/serial/markSweep.hpp Changeset: fcaf8714 Author: Joe Darcy Date: 2023-02-22 22:49:59 +0000 URL: https://git.openjdk.org/panama-foreign/commit/fcaf871408321ed523cf1c6dd3adf9914f2bf9aa 8302028: Port fdlibm atan2 to Java Reviewed-by: bpb ! src/java.base/share/classes/java/lang/FdLibm.java ! src/java.base/share/classes/java/lang/StrictMath.java ! test/jdk/java/lang/Math/Atan2Tests.java + test/jdk/java/lang/StrictMath/Atan2Tests.java ! test/jdk/java/lang/StrictMath/ExhaustingTests.java ! test/jdk/java/lang/StrictMath/FdlibmTranslit.java Changeset: 23e9d9d3 Author: Thomas Stuefe Date: 2023-02-23 06:44:10 +0000 URL: https://git.openjdk.org/panama-foreign/commit/23e9d9d3ee0b2e30876cea47be131ccc86844873 8302811: NMT.random_reallocs_vm fails if NMT is off Reviewed-by: jsjolen, sgehwolf ! test/hotspot/gtest/nmt/test_nmt_cornercases.cpp Changeset: 221f3463 Author: Matthias Baesken Date: 2023-02-23 08:08:25 +0000 URL: https://git.openjdk.org/panama-foreign/commit/221f34634de58d339f6cf7b08b2520fb748fff82 8303047: avoid NULL after 8301661 Reviewed-by: mdoerr, kbarrett, dholmes ! src/hotspot/os/bsd/os_bsd.cpp ! src/hotspot/os/windows/os_windows.cpp Changeset: 1bab93b2 Author: Claes Redestad Date: 2023-02-23 10:31:14 +0000 URL: https://git.openjdk.org/panama-foreign/commit/1bab93b2d0ca62189fee1783d8796d056353c72e 8303073: (bf) Temporarily reinstate private DirectByteBuffer(long, int) constructor Reviewed-by: alanb, bpb ! src/java.base/share/classes/java/nio/Direct-X-Buffer.java.template Changeset: f113b04a Author: Stefan Karlsson Date: 2023-02-23 14:07:37 +0000 URL: https://git.openjdk.org/panama-foreign/commit/f113b04ab94c4428c62548338d31c4eb88ebdeaf 8302927: Unproblemlist Fuzz.java from ProblemList-zgc.txt again Reviewed-by: sjohanss, eosterlund ! test/jdk/ProblemList-zgc.txt Changeset: 2cf8b860 Author: Justin King Date: 2023-02-23 15:23:03 +0000 URL: https://git.openjdk.org/panama-foreign/commit/2cf8b8607dac961e1d63a905c6492daa54c944d5 8303071: Memory leaks in libjdwp Reviewed-by: sspitsyn ! src/jdk.jdwp.agent/share/native/libjdwp/transport.c ! src/jdk.jdwp.agent/share/native/libjdwp/util.c Changeset: 58ca711a Author: Christoph Dreis Committer: Jonathan Gibbons Date: 2023-02-23 15:25:05 +0000 URL: https://git.openjdk.org/panama-foreign/commit/58ca711a9751ce38ef13e8e3ba78221f87de700f 8303078: Reduce allocations when pretty printing JCTree during compilation Reviewed-by: jjg, vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/DocPretty.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/Pretty.java Changeset: a2471b37 Author: Daniel D. Daugherty Date: 2023-02-23 17:07:52 +0000 URL: https://git.openjdk.org/panama-foreign/commit/a2471b37e358040049b616e1d2ce160539b9a2a2 8303125: ProblemList vmTestbase/nsk/jdi/VMOutOfMemoryException/VMOutOfMemoryException001/VMOutOfMemoryException001.java Reviewed-by: jdv ! test/hotspot/jtreg/ProblemList.txt Changeset: 4b6acad0 Author: Erik Gahlin Date: 2023-02-23 17:20:53 +0000 URL: https://git.openjdk.org/panama-foreign/commit/4b6acad0bd7729c39e807cd35c40b0fe4a14783c 8302883: JFR: Improve periodic events Reviewed-by: mgronlun ! src/jdk.jfr/share/classes/jdk/jfr/FlightRecorder.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/JVM.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/MetadataRepository.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformEventType.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformRecorder.java - src/jdk.jfr/share/classes/jdk/jfr/internal/RequestEngine.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/instrument/JDKEvents.java + src/jdk.jfr/share/classes/jdk/jfr/internal/periodic/Batch.java + src/jdk.jfr/share/classes/jdk/jfr/internal/periodic/BatchManager.java + src/jdk.jfr/share/classes/jdk/jfr/internal/periodic/EventTask.java + src/jdk.jfr/share/classes/jdk/jfr/internal/periodic/FlushTask.java + src/jdk.jfr/share/classes/jdk/jfr/internal/periodic/JDKEventTask.java + src/jdk.jfr/share/classes/jdk/jfr/internal/periodic/JVMEventTask.java + src/jdk.jfr/share/classes/jdk/jfr/internal/periodic/JavaEventTask.java + src/jdk.jfr/share/classes/jdk/jfr/internal/periodic/LookupKey.java + src/jdk.jfr/share/classes/jdk/jfr/internal/periodic/PeriodicEvents.java + src/jdk.jfr/share/classes/jdk/jfr/internal/periodic/PeriodicTask.java + src/jdk.jfr/share/classes/jdk/jfr/internal/periodic/PeriodicType.java + src/jdk.jfr/share/classes/jdk/jfr/internal/periodic/TaskRepository.java + src/jdk.jfr/share/classes/jdk/jfr/internal/periodic/UserEventTask.java Changeset: 71dd7eaf Author: Mikhailo Seledtsov Date: 2023-02-23 18:02:43 +0000 URL: https://git.openjdk.org/panama-foreign/commit/71dd7eaf7ff06cb2bb31a2ece97aea60abb47509 8303085: Runtime problem list cleanup Reviewed-by: lmesnik, dholmes ! test/hotspot/jtreg/ProblemList.txt Changeset: 6397cb61 Author: Leonid Mesnik Date: 2023-02-23 18:20:53 +0000 URL: https://git.openjdk.org/panama-foreign/commit/6397cb611a95be5ed86b95d039a2c389f4304281 8301200: Don't scale timeout stress with timeout factor Reviewed-by: lkorinth ! test/hotspot/jtreg/vmTestbase/nsk/share/test/StressOptions.java Changeset: f612dcfe Author: Justin Lu Committer: Naoto Sato Date: 2023-02-23 19:05:40 +0000 URL: https://git.openjdk.org/panama-foreign/commit/f612dcfebea7ffd4390f833646ad45d6f0ebd04f 8302512: Update IANA Language Subtag Registry to Version 2023-02-14 Reviewed-by: naoto ! src/java.base/share/data/lsrdata/language-subtag-registry.txt ! test/jdk/java/util/Locale/LanguageSubtagRegistryTest.java Changeset: 4d33fbd5 Author: Evgeny Nikitin Committer: Leonid Mesnik Date: 2023-02-23 19:51:02 +0000 URL: https://git.openjdk.org/panama-foreign/commit/4d33fbd582d0a3c38180385bdef7225426273806 8303089: [jittester] Add time limit to IRTree generation Reviewed-by: iveresov, lmesnik ! test/hotspot/jtreg/testlibrary/jittester/src/jdk/test/lib/jittester/Automatic.java ! test/hotspot/jtreg/testlibrary/jittester/src/jdk/test/lib/jittester/ProductionLimiter.java ! test/hotspot/jtreg/testlibrary/jittester/src/jdk/test/lib/jittester/ProductionParams.java Changeset: 6b24b4a7 Author: Erik Gahlin Date: 2023-02-23 19:53:21 +0000 URL: https://git.openjdk.org/panama-foreign/commit/6b24b4a70fac9ef1e9554fbbb2c7e1aa991ccc33 8302821: JFR: Periodic task thread spins after recording has stopped Reviewed-by: mgronlun ! src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformRecorder.java Changeset: 796cdd52 Author: Erik Gahlin Date: 2023-02-23 20:12:54 +0000 URL: https://git.openjdk.org/panama-foreign/commit/796cdd52f5fa9222d187295e114ff639c200caef 8302677: JFR: Cache label and contentType in EventType and ValueDescriptor Reviewed-by: mgronlun ! src/jdk.jfr/share/classes/jdk/jfr/EventType.java ! src/jdk.jfr/share/classes/jdk/jfr/ValueDescriptor.java Changeset: 1a078714 Author: Damon Nguyen Committer: Harshitha Onkar Date: 2023-02-23 20:41:25 +0000 URL: https://git.openjdk.org/panama-foreign/commit/1a078714546c7582c310537dcae91b521f3c2b40 8302173: Button border overlaps with button icon on macOS system LaF Reviewed-by: honkar, psadhukhan ! src/java.desktop/macosx/classes/com/apple/laf/AquaButtonUI.java + test/jdk/javax/swing/JButton/HtmlButtonWithTextAndIcon.java Changeset: 8f7c4969 Author: Thomas Stuefe Date: 2023-02-24 07:58:25 +0000 URL: https://git.openjdk.org/panama-foreign/commit/8f7c4969c28c58ae4b9adeed822707b28be16dd0 8302810: NMT gtests don't correctly check for marked ranges Reviewed-by: gziemski, dholmes ! test/hotspot/gtest/nmt/test_nmt_cornercases.cpp ! test/hotspot/gtest/testutils.cpp ! test/hotspot/gtest/testutils.hpp Changeset: 7d8b8ba9 Author: Julian Waters Date: 2023-02-24 08:47:41 +0000 URL: https://git.openjdk.org/panama-foreign/commit/7d8b8ba9c46475ededcae7db6c841b25fa83d167 8303131: pandoc.exe mangles all processed html files Reviewed-by: erikj ! make/common/ProcessMarkdown.gmk Changeset: d688575c Author: duke Date: 2023-02-24 11:00:35 +0000 URL: https://git.openjdk.org/panama-foreign/commit/d688575c1decc40b27e5c515c99f9280daca920b Automatic merge of jdk:master into master From mcimadamore at openjdk.org Fri Feb 24 18:33:17 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Fri, 24 Feb 2023 18:33:17 GMT Subject: [foreign-memaccess+abi] RFR: Refresh FFM API documents Message-ID: This patch refreshes the FFM API documents to reflect the latest API changes. There has been some reshuffling: I realized that we had two sections on unsafe memory segments, one at the end of the memory document, another at the beginning of the FFI document. Since unsafe segments are more common when interacting with native functions, I just kept the latter (and enhanced to explain the options in more details). I also moved (and rewrote) the segment allocator section from the FFI doc to the memory document, as I think working with allocators and using custom arenas is more generally useful, even outside FFI support. I also cleaned up a lot of minor incongruences in the code snippets, text and footnotes which still referred to old API names and concepts. ------------- Commit messages: - More whitespaces - Remove whitespaces and tabs - Drop spurious references to `Addressable`, `whileAlive` - Update FFM API docs Changes: https://git.openjdk.org/panama-foreign/pull/805/files Webrev: https://webrevs.openjdk.org/?repo=panama-foreign&pr=805&range=00 Stats: 182 lines in 2 files changed: 47 ins; 48 del; 87 mod Patch: https://git.openjdk.org/panama-foreign/pull/805.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/805/head:pull/805 PR: https://git.openjdk.org/panama-foreign/pull/805 From mcimadamore at openjdk.org Fri Feb 24 18:39:39 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Fri, 24 Feb 2023 18:39:39 GMT Subject: [foreign-memaccess+abi] RFR: Refresh FFM API documents In-Reply-To: References: Message-ID: <4y4PSdmv50YHGiOJfJSmy1_d9W0XyL_0Z1RkQ4BQgNc=.0e9764f2-8e92-40e5-a975-4dbc72d1a34d@github.com> On Fri, 24 Feb 2023 16:42:02 GMT, Maurizio Cimadamore wrote: > This patch refreshes the FFM API documents to reflect the latest API changes. There has been some reshuffling: I realized that we had two sections on unsafe memory segments, one at the end of the memory document, another at the beginning of the FFI document. Since unsafe segments are more common when interacting with native functions, I just kept the latter (and enhanced to explain the options in more details). > > I also moved (and rewrote) the segment allocator section from the FFI doc to the memory document, as I think working with allocators and using custom arenas is more generally useful, even outside FFI support. > > I also cleaned up a lot of minor incongruences in the code snippets, text and footnotes which still referred to old API names and concepts. Documents can be viewed here: https://github.com/mcimadamore/panama-foreign/blob/foreign_doc_refresh/doc/panama_memaccess.md https://github.com/mcimadamore/panama-foreign/blob/foreign_doc_refresh/doc/panama_ffi.md ------------- PR: https://git.openjdk.org/panama-foreign/pull/805 From aklibisz at gmail.com Mon Feb 27 04:01:59 2023 From: aklibisz at gmail.com (Alex K) Date: Sun, 26 Feb 2023 20:01:59 -0800 Subject: Performance of FloatVector::pow vs. equivalent FloatVector::mul (oracle-jdk-19.0.2, Intel i7 8700B) Message-ID: Hello, I have a question, possibly a bug, to ask/report regarding performance with the jdk.incubator.vector.FloatVector class. Specifically, given a FloatVector fv, I've found that calling fv.mul(fv) is ~40x faster than calling fv.pow(2) Here is an example JMH benchmark: https://github.com/alexklibisz/site-projects/blob/782dcd53d3ee09c93f65b660c8ed4fd030a8889a/jdk-incubator-vector-optimizations/src/main/scala/com/alexklibisz/BenchPowVsMul.scala The results look like this, on my 2018 Mac Mini, w/ Intel i7 8700B, running oracle-jdk-19.0.2: [image: image.png] As far as I can tell, the two operations produce equivalent results, yet one is significantly faster than the other. I'm eager to learn if this is expected, a regression, or something else. Thanks, Alex Klibisz -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image.png Type: image/png Size: 64712 bytes Desc: not available URL: From duke at openjdk.org Mon Feb 27 10:46:01 2023 From: duke at openjdk.org (Swati Sharma) Date: Mon, 27 Feb 2023 10:46:01 GMT Subject: [vectorIntrinsics+fp16] RFR: 8302454: Improve VectorAPI fallback implementation for FP16 operations. In-Reply-To: References: Message-ID: On Thu, 16 Feb 2023 08:41:05 GMT, Xiaohong Gong wrote: >> Hi All, >> >> The patch contains the below changes: >> - Remove redundant Halffloat object creation and rebase existing implementation using Float.float16ToFloat and floatToFloat16 APIs. >> - Enable all the vector API tests for FP16 operations. >> >> Please review and provide your feedback. >> >> Thanks, >> Swati > > src/jdk.incubator.vector/share/classes/jdk/incubator/vector/AbstractMask.java line 376: > >> 374: badMask = >> 375: iota.compare(GE, iota.broadcast(indexLimit)); >> 376: } > > Is it better to add another "broadcast(long)" help method such as "broadcastDirect(long)" for each kind of Vector? Differently with the original "broadcast(long)", the long input is directly casted to the vector type (like the above special handle for Halffloat) without no checking. The benefits are: > > 1. The above code is simplied. And it's no need to set "badMask" to "null", which I think is not recommended for vector/mask instance. > 2. The performance can improve for float/double operations that using this method. See an discussion here: https://github.com/openjdk/jdk/pull/12064#discussion_r1094101761 Thanks @XiaohongGong for the suggestion. This patch contains fp16 related changes, I am planning this optimization to be done in jdk mainline. ------------- PR: https://git.openjdk.org/panama-vector/pull/211 From jbhateja at openjdk.org Mon Feb 27 11:52:47 2023 From: jbhateja at openjdk.org (Jatin Bhateja) Date: Mon, 27 Feb 2023 11:52:47 GMT Subject: [vectorIntrinsics+fp16] RFR: 8302454: Improve VectorAPI fallback implementation for FP16 operations. In-Reply-To: References: Message-ID: <_qLULnivRnlWuE6az4Mz471xjp65LfQ2f7jeZyE7Hf0=.0d2cf28a-1026-413a-b782-bc871f22d7d2@github.com> On Thu, 16 Feb 2023 05:03:53 GMT, Swati Sharma wrote: > Hi All, > > The patch contains the below changes: > - Remove redundant Halffloat object creation and rebase existing implementation using Float.float16ToFloat and floatToFloat16 APIs. > - Enable all the vector API tests for FP16 operations. > > Please review and provide your feedback. > > Thanks, > Swati test/jdk/jdk/incubator/vector/templates/Unit-Miscellaneous.template line 249: > 247: } > 248: #if[Halffloat] > 249: // assertBroadcastLongArraysEquals(r, a, b, mask, $vectorteststype$::blend); Assertion needs to be uncommented. test/jdk/jdk/incubator/vector/templates/Unit-Miscellaneous.template line 632: > 630: #else[Halffloat] > 631: VectorSpecies species = vsh.withLanes($type$.class); > 632: #end[Halffloat] You can save adding special handling in template by introducing a new template-variable test/jdk/jdk/incubator/vector/templates/Unit-header.template line 1063: > 1061: withToString("Halffloat[i * 5]", (int s) -> { > 1062: return fill(s * BUFFER_REPS, > 1063: i -> Halffloat.valueOf(i * 5)); You can move the specialization part of lambda into a separate routine, it will prevent replicating the GENERATOR code. test/jdk/jdk/incubator/vector/templates/Unit-header.template line 1139: > 1137: withToString("Halffloat[i + 1]", (int s) -> { > 1138: return fill(s * BUFFER_REPS, > 1139: i -> ((($type$)(i + 1) == 0) ? Halffloat.valueOf(1) : Halffloat.valueOf(i + 1))); Code replication can be saved by moving specialization into a new routine test/jdk/jdk/incubator/vector/templates/X-LoadStoreTest.java.template line 251: > 249: for (int i = 0; i < a.length; i++) { > 250: #if[Halffloat] > 251: ms.set(ValueLayout.JAVA_SHORT, i * SPECIES.elementSize() / 8 , a[i]); Try removing conditions as suggested above. ------------- PR: https://git.openjdk.org/panama-vector/pull/211 From duke at openjdk.org Mon Feb 27 17:09:51 2023 From: duke at openjdk.org (Saint Wesonga) Date: Mon, 27 Feb 2023 17:09:51 GMT Subject: [foreign-memaccess+abi] RFR: 8295290: Add Windows ARM64 ABI support to the Foreign Function & Memory API [v3] In-Reply-To: <4XtbJ4zO3UBGzg6Qj_Wi-lz9bofUcKmoRttw1781ggk=.aa2c3d35-267a-40fa-9a93-ff6a01f11099@github.com> References: <4XtbJ4zO3UBGzg6Qj_Wi-lz9bofUcKmoRttw1781ggk=.aa2c3d35-267a-40fa-9a93-ff6a01f11099@github.com> Message-ID: On Tue, 10 Jan 2023 17:47:31 GMT, Saint Wesonga wrote: >> Saint Wesonga has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 12 commits: >> >> - Remove redundant check >> - Delete VaList >> - Merge branch 'foreign-memaccess+abi' into WindowsAArch64ABI >> - Merge branch 'foreign-memaccess+abi' into WindowsAArch64ABI >> - Update Windows FFM implementation to match latest Preview API >> - Merge branch 'foreign-memaccess+abi' into WindowsAArch64ABI >> - Simplify newly added tests in TestVarArgs >> - Move storage decisions into StorageCalculator >> - Remove toSessionImpl method >> - Remove unnecessary null check >> - ... and 2 more: https://git.openjdk.org/panama-foreign/compare/5427e47b...ccae2d80 > >> Few more comments inline. >> >> FWIW, I think CallArranger can be cleaned up further, and I've been playing with a patch [1](https://github.com/openjdk/panama-foreign/compare/pull/754/head...JornVernee:panama-foreign:Refector_CallArranger). But I'll file a followup PR for that. > > @JornVernee just to clarify, do you expect more refactoring of the CallArranger in this PR or will that be subsumed by your patch? > @swesonga Hey, just a heads up. It is about that time again where we are looking to put together a PR for the JEP to go into mainline. > > Since we do not support Windows/AArch64 (e.g. we can not test it), we can not be in charge of a PR that brings this port over to mainline. So, I think it's up to you or another maintainer of Windows/AArch64. > > I suggest taking the following two commits: > > 1. [d379ca1](https://github.com/openjdk/panama-foreign/commit/d379ca1ca32926591fbf8a4afdae1a4a52b3cb63) > 2. [08225e4](https://github.com/openjdk/panama-foreign/commit/08225e4f5e00837e974098a933f27267f3c0dbc5) > > And making a PR against openjdk/jdk out of those (since those three are all related to this port). I can approve it again there, since I've already reviewed the changes before. @JornVernee I've opened https://github.com/openjdk/jdk/pull/12773 ------------- PR: https://git.openjdk.org/panama-foreign/pull/754 From jvernee at openjdk.org Mon Feb 27 19:23:47 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Mon, 27 Feb 2023 19:23:47 GMT Subject: [foreign-memaccess+abi] RFR: 8303017: Downcall handle IndexOutOfBoundsException on SysV Message-ID: Fix passing of by-value structs whose size is not a power of 2. The issue is that currently we try to do loads using a ValueLayout that is the size of the nearest power of two that can fit the struct (or part of it, if it is passed in multiple registers). For instance, for a struct of size 6, we try to load its value using `ValueLayout.OfLong`, which is size 8, and thus produce an out of bounds error. A similar issue applies to writes. For the solution I've implemented in this patch, I've attached an explicit byte width to BufferLoads/Stores, which indicates the size of the value we want to load/store. The type that is produced by the binding is still the same. For example, loading a struct of size 6 is implemented as an `int` load and a `short` load, which are then combined into a `long`, instead of attempting to do a single `long` load (and failing). This allows us to avoid doing an out of bounds access. I've added a new test that tests a bunch of structs with varying byte sizes being passed in registers and on the stack. Using a nested `char[]` to precisely tweak the byte size of each struct. ------------- Commit messages: - move pickChunkOffset to SharedUtils - eyeball BE support - forgot bufferStore for AArch64 - add check + fix aarch64 - polish - polish test - chunked in specializer - Chunked load in interpreter - IOOBE Changes: https://git.openjdk.org/panama-foreign/pull/806/files Webrev: https://webrevs.openjdk.org/?repo=panama-foreign&pr=806&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8303017 Stats: 632 lines in 9 files changed: 583 ins; 1 del; 48 mod Patch: https://git.openjdk.org/panama-foreign/pull/806.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/806/head:pull/806 PR: https://git.openjdk.org/panama-foreign/pull/806 From xgong at openjdk.org Tue Feb 28 01:37:39 2023 From: xgong at openjdk.org (Xiaohong Gong) Date: Tue, 28 Feb 2023 01:37:39 GMT Subject: [vectorIntrinsics+fp16] RFR: 8302454: Improve VectorAPI fallback implementation for FP16 operations. In-Reply-To: References: Message-ID: On Mon, 27 Feb 2023 10:42:39 GMT, Swati Sharma wrote: >> src/jdk.incubator.vector/share/classes/jdk/incubator/vector/AbstractMask.java line 376: >> >>> 374: badMask = >>> 375: iota.compare(GE, iota.broadcast(indexLimit)); >>> 376: } >> >> Is it better to add another "broadcast(long)" help method such as "broadcastDirect(long)" for each kind of Vector? Differently with the original "broadcast(long)", the long input is directly casted to the vector type (like the above special handle for Halffloat) without no checking. The benefits are: >> >> 1. The above code is simplied. And it's no need to set "badMask" to "null", which I think is not recommended for vector/mask instance. >> 2. The performance can improve for float/double operations that using this method. See an discussion here: https://github.com/openjdk/jdk/pull/12064#discussion_r1094101761 > > Thanks @XiaohongGong for the suggestion. This patch contains fp16 related changes, I am planning this optimization to be done in jdk mainline. Thanks! That makes sense to me. ------------- PR: https://git.openjdk.org/panama-vector/pull/211 From duke at openjdk.org Tue Feb 28 12:56:27 2023 From: duke at openjdk.org (Swati Sharma) Date: Tue, 28 Feb 2023 12:56:27 GMT Subject: [vectorIntrinsics+fp16] RFR: 8302454: Improve VectorAPI fallback implementation for FP16 operations. [v2] In-Reply-To: References: Message-ID: > Hi All, > > The patch contains the below changes: > - Remove redundant Halffloat object creation and rebase existing implementation using Float.float16ToFloat and floatToFloat16 APIs. > - Enable all the vector API tests for FP16 operations. > > Please review and provide your feedback. > > Thanks, > Swati Swati Sharma has updated the pull request incrementally with one additional commit since the last revision: 8302454: Resolved review comments. ------------- Changes: - all: https://git.openjdk.org/panama-vector/pull/211/files - new: https://git.openjdk.org/panama-vector/pull/211/files/6f303267..e90ecc89 Webrevs: - full: https://webrevs.openjdk.org/?repo=panama-vector&pr=211&range=01 - incr: https://webrevs.openjdk.org/?repo=panama-vector&pr=211&range=00-01 Stats: 805 lines in 46 files changed: 454 ins; 80 del; 271 mod Patch: https://git.openjdk.org/panama-vector/pull/211.diff Fetch: git fetch https://git.openjdk.org/panama-vector pull/211/head:pull/211 PR: https://git.openjdk.org/panama-vector/pull/211 From eirbjo at gmail.com Tue Feb 28 16:04:47 2023 From: eirbjo at gmail.com (=?UTF-8?B?RWlyaWsgQmrDuHJzbsO4cw==?=) Date: Tue, 28 Feb 2023 17:04:47 +0100 Subject: Vectorized latin1 equalsIgnoreCase In-Reply-To: References: Message-ID: On Fri, Feb 24, 2023 at 2:17?AM Viswanathan, Sandhya < sandhya.viswanathan at intel.com> wrote: > Yes, it will be wonderful to add this benchmark. Please go ahead and > create a PR. > > > > If there are objections to adding it to mainline JDK, we could fall back > to the panama-vectror vectorIntrinsics branch. > Hi Sandhya! I've created a PR here: https://github.com/openjdk/jdk/pull/12790 Since I don't have access to create JBS issues, I would need help with that before this can proceed to review. Thanks, Eirik. -------------- next part -------------- An HTML attachment was scrubbed... URL: From sandhya.viswanathan at intel.com Tue Feb 28 19:25:58 2023 From: sandhya.viswanathan at intel.com (Viswanathan, Sandhya) Date: Tue, 28 Feb 2023 19:25:58 +0000 Subject: Vectorized latin1 equalsIgnoreCase In-Reply-To: References: Message-ID: Hi Eirik, I have created a JBS entry based on your PR description: https://bugs.openjdk.org/browse/JDK-8303401 Thanks, Sandhya From: Eirik Bj?rsn?s Sent: Tuesday, February 28, 2023 8:05 AM To: Viswanathan, Sandhya Cc: panama-dev at openjdk.org Subject: Re: Vectorized latin1 equalsIgnoreCase On Fri, Feb 24, 2023 at 2:17?AM Viswanathan, Sandhya > wrote: Yes, it will be wonderful to add this benchmark. Please go ahead and create a PR. If there are objections to adding it to mainline JDK, we could fall back to the panama-vectror vectorIntrinsics branch. Hi Sandhya! I've created a PR here: https://github.com/openjdk/jdk/pull/12790 Since I don't have access to create JBS issues, I would need help with that before this can proceed to review. Thanks, Eirik. -------------- next part -------------- An HTML attachment was scrubbed... URL: From peter.firmstone at zeus.net.au Fri Feb 10 11:53:36 2023 From: peter.firmstone at zeus.net.au (Peter Firmstone) Date: Fri, 10 Feb 2023 11:53:36 -0000 Subject: Error occurs when attempting to unsubscribe. Message-ID: <421b4cee-a4dc-190d-dc09-2f84f877feeb@zeus.net.au> Since I'm unable to contact root at localhost, I'm posting the error message here, this just happened when I tried to unsubscribe: Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator at root at localhost to inform them of the time this error occurred, and the actions you performed just before this error. More information about this error may be available in the server error log. -- Regards, Peter -------------- next part -------------- An HTML attachment was scrubbed... URL: From paul.sandoz at oracle.com Tue Feb 28 20:07:54 2023 From: paul.sandoz at oracle.com (Paul Sandoz) Date: Tue, 28 Feb 2023 20:07:54 +0000 Subject: Performance of FloatVector::pow vs. equivalent FloatVector::mul (oracle-jdk-19.0.2, Intel i7 8700B) In-Reply-To: References: Message-ID: Hi Alex, The performance difference you observe is because the pow operation is falling back to scalar code (Math.pow on each lane element) and not using vector instructions. On x86 linux or windows you should observe better performance of the pow operation because it should leverage code from Intel?s Short Vector Math Library [1], but that code OS specific and is not currently ported on Mac OS. Paul. [1] https://github.com/openjdk/jdk/tree/master/src/jdk.incubator.vector/linux/native/libjsvml https://github.com/openjdk/jdk/tree/master/src/jdk.incubator.vector/windows/native/libjsvml > On Feb 26, 2023, at 8:01 PM, Alex K wrote: > > Hello, > > I have a question, possibly a bug, to ask/report regarding performance with the jdk.incubator.vector.FloatVector class. > > Specifically, given a FloatVector fv, I've found that calling fv.mul(fv) is ~40x faster than calling fv.pow(2) > > Here is an example JMH benchmark: https://github.com/alexklibisz/site-projects/blob/782dcd53d3ee09c93f65b660c8ed4fd030a8889a/jdk-incubator-vector-optimizations/src/main/scala/com/alexklibisz/BenchPowVsMul.scala > > The results look like this, on my 2018 Mac Mini, w/ Intel i7 8700B, running oracle-jdk-19.0.2: > > > > As far as I can tell, the two operations produce equivalent results, yet one is significantly faster than the other. > > I'm eager to learn if this is expected, a regression, or something else. > > Thanks, > Alex Klibisz From dirktoewe at gmail.com Tue Feb 28 20:22:32 2023 From: dirktoewe at gmail.com (Dirk Toewe) Date: Tue, 28 Feb 2023 21:22:32 +0100 Subject: Fwd: Performance of FloatVector::pow vs. equivalent FloatVector::mul (oracle-jdk-19.0.2, Intel i7 8700B) In-Reply-To: References: Message-ID: Sorry for forgetting to include the mailing list. ---------- Forwarded message --------- Von: Dirk Toewe Date: Di., 28. Feb. 2023 um 21:20 Uhr Subject: Re: Performance of FloatVector::pow vs. equivalent FloatVector::mul (oracle-jdk-19.0.2, Intel i7 8700B) To: Paul Sandoz Hi, if the exponent is a compile time constant integer, it would be really useful if either the compiler or the JIT would optimize away with it. Wouldn't this still beat Intel's Vector Math Library (unless the JIT does some template/macro magic)? Regards Dirk Am Di., 28. Feb. 2023 um 21:08 Uhr schrieb Paul Sandoz < paul.sandoz at oracle.com>: > Hi Alex, > > The performance difference you observe is because the pow operation is > falling back to scalar code (Math.pow on each lane element) and not using > vector instructions. > > On x86 linux or windows you should observe better performance of the pow > operation because it should leverage code from Intel?s Short Vector Math > Library [1], but that code OS specific and is not currently ported on Mac > OS. > > Paul. > > [1] > > https://github.com/openjdk/jdk/tree/master/src/jdk.incubator.vector/linux/native/libjsvml > > https://github.com/openjdk/jdk/tree/master/src/jdk.incubator.vector/windows/native/libjsvml > > > On Feb 26, 2023, at 8:01 PM, Alex K wrote: > > > > Hello, > > > > I have a question, possibly a bug, to ask/report regarding performance > with the jdk.incubator.vector.FloatVector class. > > > > Specifically, given a FloatVector fv, I've found that calling fv.mul(fv) > is ~40x faster than calling fv.pow(2) > > > > Here is an example JMH benchmark: > https://github.com/alexklibisz/site-projects/blob/782dcd53d3ee09c93f65b660c8ed4fd030a8889a/jdk-incubator-vector-optimizations/src/main/scala/com/alexklibisz/BenchPowVsMul.scala > > > > The results look like this, on my 2018 Mac Mini, w/ Intel i7 8700B, > running oracle-jdk-19.0.2: > > > > > > > > As far as I can tell, the two operations produce equivalent results, yet > one is significantly faster than the other. > > > > I'm eager to learn if this is expected, a regression, or something else. > > > > Thanks, > > Alex Klibisz > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From paul.sandoz at oracle.com Tue Feb 28 20:43:34 2023 From: paul.sandoz at oracle.com (Paul Sandoz) Date: Tue, 28 Feb 2023 20:43:34 +0000 Subject: Performance of FloatVector::pow vs. equivalent FloatVector::mul (oracle-jdk-19.0.2, Intel i7 8700B) In-Reply-To: References: Message-ID: <63903AB7-6218-48B2-84E7-AA5D079ED069@oracle.com> And replaying to list :-) ? Yes, that's certainly possible, mirroring what C2 does for scalar operations with constants 2.0 and 0.5: https://github.com/openjdk/jdk/blob/master/src/hotspot/share/opto/library_call.cpp#L1753 (Its a little more challenging to determine a vector whose lane elements are all the same and constant, but it's possible.) Paul. > On Feb 28, 2023, at 12:22 PM, Dirk Toewe wrote: > > Sorry for forgetting to include the mailing list. > > ---------- Forwarded message --------- > Von: Dirk Toewe > Date: Di., 28. Feb. 2023 um 21:20 Uhr > Subject: Re: Performance of FloatVector::pow vs. equivalent FloatVector::mul (oracle-jdk-19.0.2, Intel i7 8700B) > To: Paul Sandoz > > > Hi, > > if the exponent is a compile time constant integer, it would be really useful if either the compiler or the JIT would optimize away with it. Wouldn't this still beat Intel's Vector Math Library (unless the JIT does some template/macro magic)? > > Regards > Dirk > > Am Di., 28. Feb. 2023 um 21:08 Uhr schrieb Paul Sandoz : > Hi Alex, > > The performance difference you observe is because the pow operation is falling back to scalar code (Math.pow on each lane element) and not using vector instructions. > > On x86 linux or windows you should observe better performance of the pow operation because it should leverage code from Intel?s Short Vector Math Library [1], but that code OS specific and is not currently ported on Mac OS. > > Paul. > > [1] > https://github.com/openjdk/jdk/tree/master/src/jdk.incubator.vector/linux/native/libjsvml > https://github.com/openjdk/jdk/tree/master/src/jdk.incubator.vector/windows/native/libjsvml > > > On Feb 26, 2023, at 8:01 PM, Alex K wrote: > > > > Hello, > > > > I have a question, possibly a bug, to ask/report regarding performance with the jdk.incubator.vector.FloatVector class. > > > > Specifically, given a FloatVector fv, I've found that calling fv.mul(fv) is ~40x faster than calling fv.pow(2) > > > > Here is an example JMH benchmark: https://github.com/alexklibisz/site-projects/blob/782dcd53d3ee09c93f65b660c8ed4fd030a8889a/jdk-incubator-vector-optimizations/src/main/scala/com/alexklibisz/BenchPowVsMul.scala > > > > The results look like this, on my 2018 Mac Mini, w/ Intel i7 8700B, running oracle-jdk-19.0.2: > > > > > > > > As far as I can tell, the two operations produce equivalent results, yet one is significantly faster than the other. > > > > I'm eager to learn if this is expected, a regression, or something else. > > > > Thanks, > > Alex Klibisz >