From mark.reinhold at oracle.com Wed Mar 1 00:16:15 2023 From: mark.reinhold at oracle.com (Mark Reinhold) Date: Wed, 1 Mar 2023 00:16:15 +0000 Subject: New candidate JEP: 438: Vector API (Fifth Incubator) Message-ID: <20230301001614.A76775CD533@eggemoggin.niobe.net> https://openjdk.org/jeps/438 Summary: Introduce an API to express vector computations that reliably compile at runtime to optimal vector instructions on supported CPU architectures, thus achieving performance superior to equivalent scalar computations. - Mark From jbhateja at openjdk.org Wed Mar 1 06:13:39 2023 From: jbhateja at openjdk.org (Jatin Bhateja) Date: Wed, 1 Mar 2023 06:13:39 GMT Subject: [vectorIntrinsics+fp16] RFR: 8302454: Improve VectorAPI fallback implementation for FP16 operations. [v2] In-Reply-To: References: Message-ID: On Tue, 28 Feb 2023 12:56:27 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 > > Swati Sharma has updated the pull request incrementally with one additional commit since the last revision: > > 8302454: Resolved review comments. src/jdk.incubator.vector/share/classes/jdk/incubator/vector/AbstractMask.java line 388: > 386: if (vectorSpecies().elementType() == Halffloat.class) { > 387: badMask2 = > 388: iota.compare(LT, iota.broadcast(Float.floatToFloat16((float)firstGoodIndex))); There is a flavor of compare API which compares against scalar value, it can be used directly. src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Halffloat.java line 27: > 25: package jdk.incubator.vector; > 26: > 27: //import jdk.internal.vm.annotation.IntrinsicCandidate; You can remove this commented import. src/jdk.incubator.vector/share/classes/jdk/incubator/vector/HalffloatVector.java line 2067: > 2065: HalffloatVector iota = s.iota(); > 2066: short sc = (short) scale_; > 2067: return v.add(sc == 1 ? iota : iota.mul(Halffloat.valueOf((float) sc))); You can directly use Float.floatTofloat16( (float) sc), scale is a non NaN value. test/jdk/jdk/incubator/vector/Float256VectorTests.java line 995: > 993: withToString("float[-i * 5]", (int s) -> { > 994: return fill(s * BUFFER_REPS, > 995: i -> valueOf(-i * 5)); Can you rename valueOf to genValue, by conventions valueOf is associated with Boxes. test/jdk/jdk/incubator/vector/templates/Perf-Scalar-header.template line 76: > 74: cs = fill(i -> Halffloat.valueOf(i+5)); > 75: rs = fill(i -> Halffloat.valueOf(0)); > 76: #else[Halffloat] Specialization can be moved out. test/jdk/jdk/incubator/vector/templates/Perf-header.template line 110: > 108: b = fill(i -> Halffloat.valueOf(i+1)); > 109: c = fill(i -> Halffloat.valueOf(i+5)); > 110: r = fill(i -> Halffloat.valueOf(0)); Specialization can be moved out. test/jdk/jdk/incubator/vector/templates/Unit-header.template line 1706: > 1704: int scale = 2; > 1705: Class ETYPE = $type$.class; > 1706: if (ETYPE == double.class || ETYPE == long.class) Need refactoring here too, why do we need ETYPE double/long check here to. ------------- PR: https://git.openjdk.org/panama-vector/pull/211 From mcimadamore at openjdk.org Wed Mar 1 18:19:44 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Wed, 1 Mar 2023 18:19:44 GMT Subject: [foreign-memaccess+abi] RFR: 8303017: Passing by-value structs whose size is not power of 2 doesn't work on all platforms In-Reply-To: References: Message-ID: <0lxF6UfPpMGden3upMItMwxXFL8jLTbh3vB1Yl3LDGs=.73408020-b8a0-4501-ad22-a8cf8dea46c6@github.com> On Fri, 24 Feb 2023 21:08:50 GMT, Jorn Vernee wrote: > 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. src/java.base/share/classes/jdk/internal/foreign/abi/Binding.java line 591: > 589: // non-exact match, need to do chunked load > 590: long longValue = ((Number) value).longValue(); > 591: int remaining = byteWidth(); There is a strong assumption here that byteWidth() is always < 8. Perhaps add a comment. src/java.base/share/classes/jdk/internal/foreign/abi/Binding.java line 596: > 594: int chunkSize = Integer.highestOneBit(remaining); // next power of 2, in bytes > 595: long writeOffset = offset() + SharedUtils.pickChunkOffset(chunkOffset, byteWidth(), chunkSize); > 596: int shiftAmount = chunkOffset * Byte.SIZE; Is this correct? E.g. assume we have to write 3 shorts { 13, 14, 15 }, and we do that in two chunks. If we are big endian, I think we first write { 14, 15 } then { 13 }. When we write { 14, 15 }, Isn't the offset of the mask 2 bytes (e.g. 16 bits) ? In other words shouldn't `chunkOffset` here also be decorated with `pinkChunkOffset` to take endianness into account? (it seems to me that the shift amount should be equal to `writeOffset - offset()`). src/java.base/share/classes/jdk/internal/foreign/abi/Binding.java line 662: > 660: throw new IllegalStateException("Unexpected chunk size for chunked write: " + chunkSize); > 661: }; > 662: result |= readChunk << (chunkOffset * Byte.SIZE); same here - is the naked reference to `chunkOffset` ok (w.r.t. endianness) ? ------------- PR: https://git.openjdk.org/panama-foreign/pull/806 From eirbjo at gmail.com Wed Mar 1 19:20:49 2023 From: eirbjo at gmail.com (=?UTF-8?B?RWlyaWsgQmrDuHJzbsO4cw==?=) Date: Wed, 1 Mar 2023 20:20:49 +0100 Subject: Vectorized latin1 equalsIgnoreCase In-Reply-To: References: Message-ID: As a follow up to this, I captured the generated code in case someone wants to investigate the performance gap discovered in this PR, namely that using LT, GT, EQ seems to be significantly faster than using semantically equal LE, GE, NE operations. Full generated code: LE code (slower) : https://gist.github.com/eirbjo/c164a857a32abc0f140668e39634b248 LT code (faster): https://gist.github.com/eirbjo/f558947e8200a283eda601a5aa4905e9 A side-by-side diff does reveal some differences. Particularly, the slower LE code has this chunk: vpcmpgtb %ymm11, %ymm12, %ymm0 > vpcmpeqd %ymm1, %ymm1, %ymm1 > vpxor %ymm0, %ymm1, %ymm0 > vpcmpgtb %ymm7, %ymm11, %ymm1 > vpcmpeqd %ymm2, %ymm2, %ymm2 > vpxor %ymm1, %ymm2, %ymm1 > vpand %ymm1, %ymm0, %ymm14 > vpcmpgtb %ymm6, %ymm11, %ymm0 > vpcmpeqd %ymm1, %ymm1, %ymm1 > vpxor %ymm0, %ymm1, %ymm0 > vpcmpgtb %ymm11, %ymm5, %ymm1 > vpcmpeqd %ymm2, %ymm2, %ymm2 > vpxor %ymm1, %ymm2, %ymm1 > vpand %ymm1, %ymm0, %ymm0 > vpcmpeqb %ymm4, %ymm11, %ymm1 > vpcmpeqd %ymm13, %ymm13, %ymm13 > vpxor %ymm1, %ymm13, %ymm1 > vpand %ymm1, %ymm0, %ymm0 > vpor %ymm0, %ymm14, %ymm0 > vpand %ymm3, %ymm0, %ymm0 > vpor %ymm0, %ymm8, %ymm0 > While in the similar area, the faster LT code has just this: vpcmpgtb %ymm11, %ymm9, %ymm2 > vpand %ymm1, %ymm2, %ymm1 > vpor %ymm0, %ymm1, %ymm0 > vpand %ymm8, %ymm0, %ymm0 > vpor %ymm0, %ymm3, %ymm0 nopl (%rax) My machine code reading skills stops here, I just wanted to capture this in case this someone sees an obvious avenue for improvements. Thanks, Eirik. On Tue, Feb 28, 2023 at 8:26?PM Viswanathan, Sandhya < sandhya.viswanathan at intel.com> wrote: > 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 < > 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 jvernee at openjdk.org Wed Mar 1 21:27:32 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Wed, 1 Mar 2023 21:27:32 GMT Subject: [foreign-memaccess+abi] RFR: 8303017: Passing by-value structs whose size is not power of 2 doesn't work on all platforms In-Reply-To: <0lxF6UfPpMGden3upMItMwxXFL8jLTbh3vB1Yl3LDGs=.73408020-b8a0-4501-ad22-a8cf8dea46c6@github.com> References: <0lxF6UfPpMGden3upMItMwxXFL8jLTbh3vB1Yl3LDGs=.73408020-b8a0-4501-ad22-a8cf8dea46c6@github.com> Message-ID: <_gcr40cr2doOMSsFPRQ8lsXjpP7XhZxzmeybOWqKxE4=.70e919f8-7b3d-4d5a-b1a6-89d4c4a78a25@github.com> On Wed, 1 Mar 2023 18:14:25 GMT, Maurizio Cimadamore wrote: >> 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. > > src/java.base/share/classes/jdk/internal/foreign/abi/Binding.java line 596: > >> 594: int chunkSize = Integer.highestOneBit(remaining); // next power of 2, in bytes >> 595: long writeOffset = offset() + SharedUtils.pickChunkOffset(chunkOffset, byteWidth(), chunkSize); >> 596: int shiftAmount = chunkOffset * Byte.SIZE; > > Is this correct? E.g. assume we have to write 3 shorts { 13, 14, 15 }, and we do that in two chunks. If we are big endian, I think we first write { 14, 15 } then { 13 }. When we write { 14, 15 }, Isn't the offset of the mask 2 bytes (e.g. 16 bits) ? In other words shouldn't `chunkOffset` here also be decorated with `pinkChunkOffset` to take endianness into account? (it seems to me that the shift amount should be equal to `writeOffset - offset()`). I think it's correct, but I will try to verify BE as well in the test (somehow). My understanding is this: For LE, we have a struct with 3 shorts in memory like so: lo1, hi1, lo2, hi2, lo3, hi3 0 2 4 6 The native compiler does an oversized load of eight bytes, so we also load the trailing 2 bytes (i.e. byte 6 - 8). And the resulting register looks like this (using `000` to represent junk bytes): 000, 000, hi3, lo3, hi2, lo2, hi1, lo1 8 6 4 2 0 So, we first load an `int` from bytes 0 - 4, and get `000, 000, 000, 000, hi2, lo2, hi1, lo1`, then we load bytes 4 - 6 with shift amount = 4: `000, 000, hi3, lo3, 000, 000, 000, 000` and combine the two to get: `000, 000, hi3, lo3, hi2, lo2, hi1, lo1` (just like we would get from an oversized load). --- For BE, we have in memory: hi1, lo1, hi2, lo2, hi3, lo3 0 2 4 6 We load byte 2 - 6 which using an `int` and get: `000, 000, 000, 000, hi2, lo2, hi3, lo3` (no flipping this time), then we load byte 0 - 2 using a `short` and shift amount = 4 and get `000, 000, hi1, lo1, 000, 000, 000, 000`. Then combined: `000, 000, hi1, lo1, hi2, lo2, hi3, lo3`. i.e., the order of the shorts within the register is flipped on BE, compare to LE. I think this is correct since when I have code like this: struct Foo { short f0; short f1; short f2; }; short func(struct Foo f) { return f.f2; } The compiler generates: [`extsh 3, 3`](https://www.ibm.com/docs/en/aix/7.3?topic=set-extsh-exts-extend-sign-halfword-instruction) which grabs to lower 16 bits of the register (which contains `hi3, lo3`). (for returning `f0` and `f1` the compiler generates 32 and 16 bit shifts respectively. Well, assuming I'm reading PPC disassembly correctly :)) But, if we flipped the shift amount as well, we'd get `000, 000, hi2, lo2, hi3, lo3, 000, 000` on the first load, and combined we'd get `000, 000, hi2, lo2, hi3, lo3, hi1, lo1`, which doesn't seem right, since the order of the shorts is mixed. ------------- PR: https://git.openjdk.org/panama-foreign/pull/806 From jvernee at openjdk.org Wed Mar 1 21:34:23 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Wed, 1 Mar 2023 21:34:23 GMT Subject: [foreign-memaccess+abi] RFR: 8303017: Passing by-value structs whose size is not power of 2 doesn't work on all platforms In-Reply-To: <_gcr40cr2doOMSsFPRQ8lsXjpP7XhZxzmeybOWqKxE4=.70e919f8-7b3d-4d5a-b1a6-89d4c4a78a25@github.com> References: <0lxF6UfPpMGden3upMItMwxXFL8jLTbh3vB1Yl3LDGs=.73408020-b8a0-4501-ad22-a8cf8dea46c6@github.com> <_gcr40cr2doOMSsFPRQ8lsXjpP7XhZxzmeybOWqKxE4=.70e919f8-7b3d-4d5a-b1a6-89d4c4a78a25@github.com> Message-ID: <0OMvTCQJOLwNwEwt8GET5d3UgksaZV54BN48W7gJqAA=.a3fb58a6-2ef8-4b69-9dfe-916033222123@github.com> On Wed, 1 Mar 2023 21:24:40 GMT, Jorn Vernee wrote: >> src/java.base/share/classes/jdk/internal/foreign/abi/Binding.java line 596: >> >>> 594: int chunkSize = Integer.highestOneBit(remaining); // next power of 2, in bytes >>> 595: long writeOffset = offset() + SharedUtils.pickChunkOffset(chunkOffset, byteWidth(), chunkSize); >>> 596: int shiftAmount = chunkOffset * Byte.SIZE; >> >> Is this correct? E.g. assume we have to write 3 shorts { 13, 14, 15 }, and we do that in two chunks. If we are big endian, I think we first write { 14, 15 } then { 13 }. When we write { 14, 15 }, Isn't the offset of the mask 2 bytes (e.g. 16 bits) ? In other words shouldn't `chunkOffset` here also be decorated with `pinkChunkOffset` to take endianness into account? (it seems to me that the shift amount should be equal to `writeOffset - offset()`). > > I think it's correct, but I will try to verify BE as well in the test (somehow). > > My understanding is this: > > For LE, we have a struct with 3 shorts in memory like so: > > lo1, hi1, lo2, hi2, lo3, hi3 > 0 2 4 6 > > The native compiler does an oversized load of eight bytes, so we also load the trailing 2 bytes (i.e. byte 6 - 8). And the resulting register looks like this (using `000` to represent junk bytes): > > 000, 000, hi3, lo3, hi2, lo2, hi1, lo1 > 8 6 4 2 0 > > So, we first load an `int` from bytes 0 - 4, and get `000, 000, 000, 000, hi2, lo2, hi1, lo1`, then we load bytes 4 - 6 with shift amount = 4: `000, 000, hi3, lo3, 000, 000, 000, 000` and combine the two to get: `000, 000, hi3, lo3, hi2, lo2, hi1, lo1` (just like we would get from an oversized load). > > --- > > For BE, we have in memory: > > hi1, lo1, hi2, lo2, hi3, lo3 > 0 2 4 6 > > We load byte 2 - 6 using an `int` and get: `000, 000, 000, 000, hi2, lo2, hi3, lo3` (no flipping this time), then we load byte 0 - 2 using a `short` and shift amount = 4 and get `000, 000, hi1, lo1, 000, 000, 000, 000`. Then combined: `000, 000, hi1, lo1, hi2, lo2, hi3, lo3`. > > i.e., the order of the shorts within the register is flipped on BE, compare to LE. I think this is correct since when I have code like this: > > > struct Foo { > short f0; > short f1; > short f2; > }; > > short func(struct Foo f) { > return f.f2; > } > > > The compiler generates: [`extsh 3, 3`](https://www.ibm.com/docs/en/aix/7.3?topic=set-extsh-exts-extend-sign-halfword-instruction) which grabs to lower 16 bits of the register (which contains `hi3, lo3`). (for returning `f0` and `f1` the compiler generates 32 and 16 bit shifts respectively before the `extsh 3, 3`. Well, assuming I'm reading PPC disassembly correctly :)) > > But, if we flipped the shift amount as well, we'd get `000, 000, hi2, lo2, hi3, lo3, 000, 000` on the first load, and combined we'd get `000, 000, hi2, lo2, hi3, lo3, hi1, lo1`, which doesn't seem right, since the order of the shorts is mixed. I also realized that we could beef up the test by letting the native code (which we assume to be correctly compiled) pass each individual byte to the callback as well. That way we can also test whether the order of the elements is correct. ------------- PR: https://git.openjdk.org/panama-foreign/pull/806 From duke at openjdk.org Thu Mar 2 06:17:19 2023 From: duke at openjdk.org (Swati Sharma) Date: Thu, 2 Mar 2023 06:17:19 GMT Subject: [vectorIntrinsics+fp16] RFR: 8302454: Improve VectorAPI fallback implementation for FP16 operations. [v3] 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/e90ecc89..60780142 Webrevs: - full: https://webrevs.openjdk.org/?repo=panama-vector&pr=211&range=02 - incr: https://webrevs.openjdk.org/?repo=panama-vector&pr=211&range=01-02 Stats: 751 lines in 84 files changed: 184 ins; 118 del; 449 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 mcimadamore at openjdk.org Thu Mar 2 11:04:45 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Thu, 2 Mar 2023 11:04:45 GMT Subject: [foreign-memaccess+abi] RFR: 8303017: Passing by-value structs whose size is not power of 2 doesn't work on all platforms In-Reply-To: <0OMvTCQJOLwNwEwt8GET5d3UgksaZV54BN48W7gJqAA=.a3fb58a6-2ef8-4b69-9dfe-916033222123@github.com> References: <0lxF6UfPpMGden3upMItMwxXFL8jLTbh3vB1Yl3LDGs=.73408020-b8a0-4501-ad22-a8cf8dea46c6@github.com> <_gcr40cr2doOMSsFPRQ8lsXjpP7XhZxzmeybOWqKxE4=.70e919f8-7b3d-4d5a-b1a6-89d4c4a78a25@github.com> <0OMvTCQJOLwNwEwt8GET5d3UgksaZV54BN48W7gJqAA=.a3fb58a6-2ef8-4b69-9dfe-916033222123@github.com> Message-ID: <4zR64nRtEfDUyRtMCpKO9NRM-am5fzJ7zgiEICp5lM8=.4a88d561-6cc4-4b03-890b-f10ff6812f16@github.com> On Wed, 1 Mar 2023 21:28:24 GMT, Jorn Vernee wrote: >> I think it's correct, but I will try to verify BE as well in the test (somehow). >> >> My understanding is this: >> >> For LE, we have a struct with 3 shorts in memory like so: >> >> lo1, hi1, lo2, hi2, lo3, hi3 >> 0 2 4 6 >> >> The native compiler does an oversized load of eight bytes, so we also load the trailing 2 bytes (i.e. byte 6 - 8). And the resulting register looks like this (using `000` to represent junk bytes): >> >> 000, 000, hi3, lo3, hi2, lo2, hi1, lo1 >> 8 6 4 2 0 >> >> So, we first load an `int` from bytes 0 - 4, and get `000, 000, 000, 000, hi2, lo2, hi1, lo1`, then we load bytes 4 - 6 with shift amount = 4: `000, 000, hi3, lo3, 000, 000, 000, 000` and combine the two to get: `000, 000, hi3, lo3, hi2, lo2, hi1, lo1` (just like we would get from an oversized load). >> >> --- >> >> For BE, we have in memory: >> >> hi1, lo1, hi2, lo2, hi3, lo3 >> 0 2 4 6 >> >> We load byte 2 - 6 using an `int` and get: `000, 000, 000, 000, hi2, lo2, hi3, lo3` (no flipping this time), then we load byte 0 - 2 using a `short` and shift amount = 4 and get `000, 000, hi1, lo1, 000, 000, 000, 000`. Then combined: `000, 000, hi1, lo1, hi2, lo2, hi3, lo3`. >> >> i.e., the order of the shorts within the register is flipped on BE, compare to LE. I think this is correct since when I have code like this: >> >> >> struct Foo { >> short f0; >> short f1; >> short f2; >> }; >> >> short func(struct Foo f) { >> return f.f2; >> } >> >> >> The compiler generates: [`extsh 3, 3`](https://www.ibm.com/docs/en/aix/7.3?topic=set-extsh-exts-extend-sign-halfword-instruction) which grabs to lower 16 bits of the register (which contains `hi3, lo3`). For returning `f0` and `f1` the compiler generates 32 and 16 bit shifts respectively before the `extsh 3, 3`. (assuming I'm reading PPC disassembly correctly :)). For LE it's the opposite: https://godbolt.org/z/eMeGKqnhs >> >> But, if we flipped the shift amount as well, we'd get `000, 000, hi2, lo2, hi3, lo3, 000, 000` on the first load, and combined we'd get `000, 000, hi2, lo2, hi3, lo3, hi1, lo1`, which doesn't seem right, since the order of the shorts is mixed. > > I also realized that we could beef up the test by letting the native code (which we assume to be correctly compiled) pass each individual byte to the callback as well. That way we can also test whether the order of the elements is correct. I've been trying to read the PPC ABI [1], which has some useful diagrams. I found this interesting: struct { char c; char d; short s; int n; }; word aligned, sizeof is 8 little endian: +-------+-------+-------+-------+ | 2| 1| 0| | s | d | c | +-------+-------+-------+-------+ | 4| | n | +-------+-------+-------+-------+ big endian: +-------+-------+-------+-------+ |0 |1 |2 | | c | d | s | +-------+-------+-------+-------+ |4 | | n | +-------+-------+-------+-------+ (I think in these diagrams, on the left you always have MSB and on the right the LSB - as explained in an earlier section. The numbers indicate the byte offsets - I believe as laid out in memory - of the struct fields). This seems to confirm your expectations - after a load, struct fields are "flipped" in little-endian, and are not flipped in big-endian. Your implementation takes that into account and avoids a "double flip" (which is what I was proposing as I did not immediately get the difference in the register layout). [1] - https://refspecs.linuxfoundation.org/ELF/ppc64/PPC-elf64abi-1.4.1.txt ------------- PR: https://git.openjdk.org/panama-foreign/pull/806 From mcimadamore at openjdk.org Thu Mar 2 11:59:34 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Thu, 2 Mar 2023 11:59:34 GMT Subject: [foreign-memaccess+abi] RFR: 8303017: Passing by-value structs whose size is not power of 2 doesn't work on all platforms In-Reply-To: References: Message-ID: On Fri, 24 Feb 2023 21:08:50 GMT, Jorn Vernee wrote: > 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. src/java.base/share/classes/jdk/internal/foreign/abi/BindingSpecializer.java line 783: > 781: } else { > 782: // chunked > 783: int readAddrIdx = newLocal(MemorySegment.class); It's nice that, when we specialize we can get rid of the loop we have when interpreting - and just emit a sequence of load/stores (with some extra shifts). ------------- PR: https://git.openjdk.org/panama-foreign/pull/806 From mcimadamore at openjdk.org Thu Mar 2 12:06:36 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Thu, 2 Mar 2023 12:06:36 GMT Subject: [foreign-memaccess+abi] RFR: 8303017: Passing by-value structs whose size is not power of 2 doesn't work on all platforms In-Reply-To: References: Message-ID: On Fri, 24 Feb 2023 21:08:50 GMT, Jorn Vernee wrote: > 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. Marked as reviewed by mcimadamore (Committer). src/java.base/share/classes/jdk/internal/foreign/abi/SharedUtils.java line 347: > 345: } > 346: > 347: public static int byteWidthOfPrimitive(Class type) { When we create memory access var handles, we use this to compute the byte size of a primitive (`VarHandles::memorySegmentViewHandle`): Wrapper.forPrimitiveType(carrier).bitWidth() / 8 Perhaps we should put this into Utils and then reuse in both places? test/jdk/java/foreign/arraystructs/TestArrayStructs.java line 74: > 72: // Test if structs of various different sizes, including non-powers of two, work correctly > 73: @Test(dataProvider = "arrayStructs") > 74: public void testArrayStruct(String functionName, FunctionDescriptor upcallDesc, int numPrefixArgs) throws Throwable { Nice test! ------------- PR: https://git.openjdk.org/panama-foreign/pull/806 From mcimadamore at openjdk.org Thu Mar 2 14:52:55 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Thu, 2 Mar 2023 14:52:55 GMT Subject: [foreign-memaccess+abi] RFR: 8303519: Replace Binding.Context with an arena Message-ID: This patch contains a cleanup I wanted to do for some time. Basically, the linker uses an internal class (`Binding.Context`) to perform allocation needed during a native call/upcall. This context class used to provide both a scope (e.g. `ResourceScope`) and an allocator (`SegmentAllocator`). Given that in recent iteratons of the API, `Arena` *is* an allocator, we can tweak bindings to accept a segment allocator parameter (instead of a context object). For bindings that only need to allocate, they can just call one of the `SegmentAllocator::allocate`) overloads. This simplifies the case where we need to use an external allocation for structs returned by value - as we can now just pass the external allocator - no need to wrap it in a "context". If, on the other hand, the binding needs access to the scope, we can still implement that, by downcasting the segment allocator to `Arena` and then get the scope from there. This is always sound, because this arena is always internally created by the linker. I moved some helper methods/fields to provide ready-made arena flavors in `SharedUtils`, so as to keep `Bindings.java` all about bindings. I think the result is rather nice, and in principle it should perform a little better, given that we don't need to wrap everything into a separate context object. ------------- Commit messages: - Initial push Changes: https://git.openjdk.org/panama-foreign/pull/807/files Webrev: https://webrevs.openjdk.org/?repo=panama-foreign&pr=807&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8303519 Stats: 227 lines in 6 files changed: 72 ins; 100 del; 55 mod Patch: https://git.openjdk.org/panama-foreign/pull/807.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/807/head:pull/807 PR: https://git.openjdk.org/panama-foreign/pull/807 From jvernee at openjdk.org Thu Mar 2 15:47:24 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Thu, 2 Mar 2023 15:47:24 GMT Subject: [foreign-memaccess+abi] RFR: 8303519: Replace Binding.Context with an arena In-Reply-To: References: Message-ID: <2fO0OU99Ixs4U4B-6PQ-lrHQgOuDZB0zyK8Io--DVfo=.badf1fb7-f8d6-4aa3-ac2c-0779794e574a@github.com> On Thu, 2 Mar 2023 14:46:03 GMT, Maurizio Cimadamore wrote: > This patch contains a cleanup I wanted to do for some time. Basically, the linker uses an internal class (`Binding.Context`) to perform allocation needed during a native call/upcall. This context class used to provide both a scope (e.g. `ResourceScope`) and an allocator (`SegmentAllocator`). > > Given that in recent iteratons of the API, `Arena` *is* an allocator, we can tweak bindings to accept a segment allocator parameter (instead of a context object). For bindings that only need to allocate, they can just call one of the `SegmentAllocator::allocate`) overloads. This simplifies the case where we need to use an external allocation for structs returned by value - as we can now just pass the external allocator - no need to wrap it in a "context". > > If, on the other hand, the binding needs access to the scope, we can still implement that, by downcasting the segment allocator to `Arena` and then get the scope from there. This is always sound, because this arena is always internally created by the linker. > > I moved some helper methods/fields to provide ready-made arena flavors in `SharedUtils`, so as to keep `Bindings.java` all about bindings. I think the result is rather nice, and in principle it should perform a little better, given that we don't need to wrap everything into a separate context object. Nice cleanup! ------------- Marked as reviewed by jvernee (Committer). PR: https://git.openjdk.org/panama-foreign/pull/807 From mcimadamore at openjdk.org Thu Mar 2 15:55:31 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Thu, 2 Mar 2023 15:55:31 GMT Subject: [foreign-memaccess+abi] Integrated: 8303519: Replace Binding.Context with an arena In-Reply-To: References: Message-ID: On Thu, 2 Mar 2023 14:46:03 GMT, Maurizio Cimadamore wrote: > This patch contains a cleanup I wanted to do for some time. Basically, the linker uses an internal class (`Binding.Context`) to perform allocation needed during a native call/upcall. This context class used to provide both a scope (e.g. `ResourceScope`) and an allocator (`SegmentAllocator`). > > Given that in recent iteratons of the API, `Arena` *is* an allocator, we can tweak bindings to accept a segment allocator parameter (instead of a context object). For bindings that only need to allocate, they can just call one of the `SegmentAllocator::allocate`) overloads. This simplifies the case where we need to use an external allocation for structs returned by value - as we can now just pass the external allocator - no need to wrap it in a "context". > > If, on the other hand, the binding needs access to the scope, we can still implement that, by downcasting the segment allocator to `Arena` and then get the scope from there. This is always sound, because this arena is always internally created by the linker. > > I moved some helper methods/fields to provide ready-made arena flavors in `SharedUtils`, so as to keep `Bindings.java` all about bindings. I think the result is rather nice, and in principle it should perform a little better, given that we don't need to wrap everything into a separate context object. This pull request has now been integrated. Changeset: a7df48c8 Author: Maurizio Cimadamore URL: https://git.openjdk.org/panama-foreign/commit/a7df48c8b0eed89dbb8c6a0ff441e483b3385ddb Stats: 227 lines in 6 files changed: 72 ins; 100 del; 55 mod 8303519: Replace Binding.Context with an arena Reviewed-by: jvernee ------------- PR: https://git.openjdk.org/panama-foreign/pull/807 From jvernee at openjdk.org Thu Mar 2 17:40:18 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Thu, 2 Mar 2023 17:40:18 GMT Subject: [foreign-memaccess+abi] RFR: 8303017: Passing by-value structs whose size is not power of 2 doesn't work on all platforms [v2] In-Reply-To: References: 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. Jorn Vernee has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 12 commits: - beef up test - Merge branch 'foreign-memaccess+abi' into OOB - review comments - move pickChunkOffset to SharedUtils - eyeball BE support - forgot bufferStore for AArch64 - add check + fix aarch64 - polish - polish test - chunked in specializer - ... and 2 more: https://git.openjdk.org/panama-foreign/compare/a7df48c8...84be4370 ------------- Changes: https://git.openjdk.org/panama-foreign/pull/806/files Webrev: https://webrevs.openjdk.org/?repo=panama-foreign&pr=806&range=01 Stats: 706 lines in 11 files changed: 652 ins; 0 del; 54 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 jvernee at openjdk.org Thu Mar 2 17:40:19 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Thu, 2 Mar 2023 17:40:19 GMT Subject: [foreign-memaccess+abi] RFR: 8303017: Passing by-value structs whose size is not power of 2 doesn't work on all platforms In-Reply-To: References: Message-ID: On Fri, 24 Feb 2023 21:08:50 GMT, Jorn Vernee wrote: > 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. I've address review comments (https://github.com/openjdk/panama-foreign/pull/806/commits/b1ccd916913065d2a146b0d3c328cdc4401546c2) I don't think there's a good way to test the BE behavior on LE platforms, unfortunately. It also made me realize that our linkers are porbably tied to a particular endianess, and we should/could check that the layouts found in a FunctionDescriptor have the expected byte order as well. ------------- PR: https://git.openjdk.org/panama-foreign/pull/806 From jvernee at openjdk.org Thu Mar 2 17:40:23 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Thu, 2 Mar 2023 17:40:23 GMT Subject: [foreign-memaccess+abi] RFR: 8303017: Passing by-value structs whose size is not power of 2 doesn't work on all platforms [v2] In-Reply-To: <0lxF6UfPpMGden3upMItMwxXFL8jLTbh3vB1Yl3LDGs=.73408020-b8a0-4501-ad22-a8cf8dea46c6@github.com> References: <0lxF6UfPpMGden3upMItMwxXFL8jLTbh3vB1Yl3LDGs=.73408020-b8a0-4501-ad22-a8cf8dea46c6@github.com> Message-ID: On Wed, 1 Mar 2023 17:55:23 GMT, Maurizio Cimadamore wrote: >> Jorn Vernee has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 12 commits: >> >> - beef up test >> - Merge branch 'foreign-memaccess+abi' into OOB >> - review comments >> - move pickChunkOffset to SharedUtils >> - eyeball BE support >> - forgot bufferStore for AArch64 >> - add check + fix aarch64 >> - polish >> - polish test >> - chunked in specializer >> - ... and 2 more: https://git.openjdk.org/panama-foreign/compare/a7df48c8...84be4370 > > src/java.base/share/classes/jdk/internal/foreign/abi/Binding.java line 591: > >> 589: // non-exact match, need to do chunked load >> 590: long longValue = ((Number) value).longValue(); >> 591: int remaining = byteWidth(); > > There is a strong assumption here that byteWidth() is always < 8. Perhaps add a comment. Done. I also added the missing check to the `bufferStore` factory. ------------- PR: https://git.openjdk.org/panama-foreign/pull/806 From mcimadamore at openjdk.org Thu Mar 2 17:47:38 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Thu, 2 Mar 2023 17:47:38 GMT Subject: [foreign-memaccess+abi] RFR: 8303017: Passing by-value structs whose size is not power of 2 doesn't work on all platforms [v2] In-Reply-To: References: Message-ID: <3KYaD2Ip3a5rO58Ub3-Ht31RCJ8ZKCegln-O_I6KMps=.c704bc2c-5256-4a3c-92d5-936632f7e803@github.com> On Thu, 2 Mar 2023 17:40:18 GMT, Jorn Vernee wrote: >> 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. > > Jorn Vernee has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 12 commits: > > - beef up test > - Merge branch 'foreign-memaccess+abi' into OOB > - review comments > - move pickChunkOffset to SharedUtils > - eyeball BE support > - forgot bufferStore for AArch64 > - add check + fix aarch64 > - polish > - polish test > - chunked in specializer > - ... and 2 more: https://git.openjdk.org/panama-foreign/compare/a7df48c8...84be4370 Looks good. I agree on validating endianness assumptions. ------------- Marked as reviewed by mcimadamore (Committer). PR: https://git.openjdk.org/panama-foreign/pull/806 From jvernee at openjdk.org Thu Mar 2 17:47:41 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Thu, 2 Mar 2023 17:47:41 GMT Subject: [foreign-memaccess+abi] RFR: 8303017: Passing by-value structs whose size is not power of 2 doesn't work on all platforms [v2] In-Reply-To: References: Message-ID: On Thu, 2 Mar 2023 12:00:10 GMT, Maurizio Cimadamore wrote: >> Jorn Vernee has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 12 commits: >> >> - beef up test >> - Merge branch 'foreign-memaccess+abi' into OOB >> - review comments >> - move pickChunkOffset to SharedUtils >> - eyeball BE support >> - forgot bufferStore for AArch64 >> - add check + fix aarch64 >> - polish >> - polish test >> - chunked in specializer >> - ... and 2 more: https://git.openjdk.org/panama-foreign/compare/a7df48c8...84be4370 > > src/java.base/share/classes/jdk/internal/foreign/abi/SharedUtils.java line 347: > >> 345: } >> 346: >> 347: public static int byteWidthOfPrimitive(Class type) { > > When we create memory access var handles, we use this to compute the byte size of a primitive (`VarHandles::memorySegmentViewHandle`): > > > Wrapper.forPrimitiveType(carrier).bitWidth() / 8 > > > Perhaps we should put this into Utils and then reuse in both places? Good idea. Done. ------------- PR: https://git.openjdk.org/panama-foreign/pull/806 From jvernee at openjdk.org Thu Mar 2 19:35:06 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Thu, 2 Mar 2023 19:35:06 GMT Subject: [foreign-memaccess+abi] Integrated: 8303017: Passing by-value structs whose size is not power of 2 doesn't work on all platforms In-Reply-To: References: Message-ID: On Fri, 24 Feb 2023 21:08:50 GMT, Jorn Vernee wrote: > 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. This pull request has now been integrated. Changeset: 82e8c9df Author: Jorn Vernee URL: https://git.openjdk.org/panama-foreign/commit/82e8c9df442806ea440b6106b4d50281232061cb Stats: 706 lines in 11 files changed: 652 ins; 0 del; 54 mod 8303017: Passing by-value structs whose size is not power of 2 doesn't work on all platforms Reviewed-by: mcimadamore ------------- PR: https://git.openjdk.org/panama-foreign/pull/806 From duke at openjdk.org Fri Mar 3 11:06:21 2023 From: duke at openjdk.org (duke) Date: Fri, 3 Mar 2023 11:06:21 GMT Subject: git: openjdk/panama-foreign: master: 81 new changesets Message-ID: <797569f4-d492-4f47-8f7f-4c407c04e978@openjdk.org> Changeset: 83d77b1c Author: Justin King Date: 2023-02-24 15:49:00 +0000 URL: https://git.openjdk.org/panama-foreign/commit/83d77b1cbb6d0179e9c130d51b7fada2e76e86d3 8303072: Memory leak in exeNullCallerTest.cpp Reviewed-by: dholmes ! test/jdk/jni/nullCaller/exeNullCallerTest.cpp Changeset: ccf3340e Author: Brian Burkhalter Date: 2023-02-24 19:02:12 +0000 URL: https://git.openjdk.org/panama-foreign/commit/ccf3340e829b1f033bd3e662c7ce782c34f7a89b 8303083: (bf) Remove private DirectByteBuffer(long, int) constructor before JDK 21 GA Reviewed-by: alanb, lancea ! src/java.base/share/classes/java/nio/Direct-X-Buffer.java.template Changeset: b4ea8073 Author: Leonid Mesnik Date: 2023-02-24 19:38:55 +0000 URL: https://git.openjdk.org/panama-foreign/commit/b4ea80731c6c0a0328a9801590ba5b081f08c3bd 8288912: vmTestbase/nsk/stress/strace/strace002.java fails with Unexpected method name: currentCarrierThread Reviewed-by: dholmes ! test/hotspot/jtreg/ProblemList.txt + test/hotspot/jtreg/vmTestbase/nsk/stress/strace/StraceBase.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace001.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace002.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace003.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace004.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace005.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace006.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace007.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace008.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace009.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace010.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace011.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace012.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace013.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace014.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace015.java Changeset: 17e3769e Author: Eirik Bjorsnos Committer: Alan Bateman Date: 2023-02-25 07:48:03 +0000 URL: https://git.openjdk.org/panama-foreign/commit/17e3769ed7190c3ba885e6434e1811bca2d66f13 8302871: Speed up StringLatin1.regionMatchesCI Reviewed-by: redestad, martin, alanb ! src/java.base/share/classes/java/lang/CharacterDataLatin1.java.template ! src/java.base/share/classes/java/lang/StringLatin1.java ! test/jdk/java/lang/String/CompactString/EqualsIgnoreCase.java + test/micro/org/openjdk/bench/java/lang/RegionMatchesIC.java Changeset: 2e78d838 Author: Alan Bateman Date: 2023-02-25 07:48:57 +0000 URL: https://git.openjdk.org/panama-foreign/commit/2e78d838a5e55e3ef68bc8df2b40615e8bdb0389 8302899: Executors.newSingleThreadExecutor can use Cleaner to shutdown executor Reviewed-by: rriggs, martin, dfuchs, bchristi ! src/java.base/share/classes/java/util/concurrent/Executors.java ! test/jdk/java/util/concurrent/Executors/AutoShutdown.java Changeset: 1dbd18ac Author: Andrey Turbanov Date: 2023-02-25 13:38:47 +0000 URL: https://git.openjdk.org/panama-foreign/commit/1dbd18ac634521edd293a570c66d4d1fe092cfef 8302120: Prefer ArrayList to LinkedList in AggregatePainter Reviewed-by: serb ! src/java.desktop/share/classes/javax/swing/plaf/synth/ParsedSynthStyle.java Changeset: 3a9f491c Author: Andrey Turbanov Date: 2023-02-25 13:39:36 +0000 URL: https://git.openjdk.org/panama-foreign/commit/3a9f491caa04db8b367129c50892bc669e5765bd 8301964: Expensive fillInStackTrace operation in HttpURLConnection.getLastModified when no last-modified in response Reviewed-by: dfuchs, jpai, alanb ! src/java.base/share/classes/java/net/HttpURLConnection.java ! src/java.base/share/classes/java/net/URLConnection.java ! src/java.base/share/classes/sun/net/www/protocol/https/HttpsURLConnectionImpl.java Changeset: 2fb1e3b7 Author: Andrey Turbanov Date: 2023-02-25 13:40:32 +0000 URL: https://git.openjdk.org/panama-foreign/commit/2fb1e3b7e72cf7836a9ffd9c6a5b09a6eef3c01b 8302268: Prefer ArrayList to LinkedList in XEmbeddedFramePeer Reviewed-by: serb, dnguyen ! src/java.desktop/unix/classes/sun/awt/X11/XEmbeddedFramePeer.java Changeset: a43931b7 Author: Sergey Bylokhov Date: 2023-02-26 23:36:59 +0000 URL: https://git.openjdk.org/panama-foreign/commit/a43931b79cb25d218e8f9b4d4f3a106f59cb2d37 8303102: jcmd: ManagementAgent.status truncates the text longer than O_BUFLEN Reviewed-by: dholmes ! src/hotspot/share/services/diagnosticCommand.cpp ! test/jdk/sun/management/jmxremote/startstop/JMXStatusTest.java Changeset: 1794f497 Author: Emanuel Peter Date: 2023-02-27 07:12:18 +0000 URL: https://git.openjdk.org/panama-foreign/commit/1794f4975147e1623763ed3ba029c9171e91d70c 8302681: [IR Framework] Only allow cpuFeatures from a verified list Reviewed-by: thartmann, pli, chagedorn, kvn ! test/hotspot/jtreg/compiler/lib/ir_framework/test/IREncodingPrinter.java ! test/hotspot/jtreg/compiler/vectorapi/VectorLogicalOpIdentityTest.java ! test/hotspot/jtreg/testlibrary_tests/ir_framework/tests/TestPreconditions.java Changeset: d2660a69 Author: Emanuel Peter Date: 2023-02-27 07:15:27 +0000 URL: https://git.openjdk.org/panama-foreign/commit/d2660a6915582d059d456f1ae8c78831b15f0ef2 8303045: Remove RegionNode::LoopStatus::NeverIrreducibleEntry assert with wrong assumption Reviewed-by: chagedorn, kvn ! src/hotspot/share/opto/cfgnode.cpp + test/hotspot/jtreg/compiler/loopopts/TestInlinedSplitFallInIrreducibleLoopStatus.jasm + test/hotspot/jtreg/compiler/loopopts/TestInlinedSplitFallInIrreducibleLoopStatusMain.java Changeset: 2613b94f Author: Emanuel Peter Date: 2023-02-27 07:16:59 +0000 URL: https://git.openjdk.org/panama-foreign/commit/2613b94f2863f54af22929ca8b5fef290e256ba1 8302149: Speed up compiler/jsr292/methodHandleExceptions/TestAMEnotNPE.java Reviewed-by: kvn, vlivanov ! test/hotspot/jtreg/compiler/jsr292/methodHandleExceptions/TestAMEnotNPE.java Changeset: db217c9a Author: Damon Fenacci Committer: Tobias Hartmann Date: 2023-02-27 07:33:13 +0000 URL: https://git.openjdk.org/panama-foreign/commit/db217c9ad68d3627fb6c9ec99634c7dd03a249d8 8292583: Comment for ciArrayKlass::make is wrong Reviewed-by: thartmann, rcastanedalo ! src/hotspot/share/ci/ciArrayKlass.cpp Changeset: a2c5a4ac Author: Daniel Jeli?ski Date: 2023-02-27 07:52:03 +0000 URL: https://git.openjdk.org/panama-foreign/commit/a2c5a4ac9ee10281470f291f5a8f8393acea02cc 8302732: sun/net/www/http/HttpClient/MultiThreadTest.java still failing intermittently Reviewed-by: dfuchs ! src/java.base/share/classes/sun/net/www/http/KeepAliveCache.java ! test/jdk/sun/net/www/http/HttpClient/KeepAliveTest.java Changeset: 306134dc Author: Darragh Clarke Committer: Jaikiran Pai Date: 2023-02-27 09:18:56 +0000 URL: https://git.openjdk.org/panama-foreign/commit/306134dcf9db6c44adf919fac29f5b227534bdee 8300792: Refactor examples in java.net.http to use @snippet Reviewed-by: dfuchs, jpai ! src/java.net.http/share/classes/java/net/http/HttpClient.java ! src/java.net.http/share/classes/java/net/http/HttpRequest.java ! src/java.net.http/share/classes/java/net/http/HttpResponse.java ! src/java.net.http/share/classes/java/net/http/WebSocket.java Changeset: dbb5581e Author: Prasanta Sadhukhan Date: 2023-02-27 09:19:57 +0000 URL: https://git.openjdk.org/panama-foreign/commit/dbb5581eba5d765bca95585ba91f9b0eee9d1f57 8081474: SwingWorker calls 'done' before the 'doInBackground' is finished Reviewed-by: aivanov, serb ! src/java.desktop/share/classes/javax/swing/SwingWorker.java + test/jdk/javax/swing/SwingWorker/TestDoneBeforeDoInBackground.java Changeset: fbc036e7 Author: Erik Gahlin Date: 2023-02-27 09:47:01 +0000 URL: https://git.openjdk.org/panama-foreign/commit/fbc036e7454720b589d99a8cae30369a10471528 8303135: JFR: Log periodic events using periodic tag Reviewed-by: mgronlun ! src/hotspot/share/jfr/utilities/jfrLogTagSets.hpp ! src/jdk.jfr/share/classes/jdk/jfr/internal/LogTag.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/PeriodicEvents.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/periodic/PeriodicTask.java Changeset: f2b03f9a Author: Johan Sj?len Date: 2023-02-27 11:05:07 +0000 URL: https://git.openjdk.org/panama-foreign/commit/f2b03f9a2c0fca853211e41a1ddf46195dd56698 8303051: Stop saving 5 chunks in each ChunkPool Reviewed-by: rehn, coleenp ! src/hotspot/share/memory/arena.cpp Changeset: 2fe4e5f8 Author: Julian Waters Date: 2023-02-27 15:35:58 +0000 URL: https://git.openjdk.org/panama-foreign/commit/2fe4e5f8d76e20e34d6022417589d521483c78be 8303169: Remove Windows specific workaround from libdt Reviewed-by: cjplummer, sspitsyn, clanger ! src/jdk.jdi/share/native/libdt_shmem/shmemBase.c Changeset: f5a12768 Author: Matias Saavedra Silva Committer: Coleen Phillimore Date: 2023-02-27 15:53:33 +0000 URL: https://git.openjdk.org/panama-foreign/commit/f5a12768fba4a6508fb0359aedd608fd9d6d9024 8262895: [macos_aarch64] runtime/CompressedOops/CompressedClassPointers.java fails with 'Narrow klass base: 0x0000000000000000' missing from stdout/stderr Reviewed-by: dholmes, coleenp ! test/hotspot/jtreg/runtime/CompressedOops/CompressedClassPointers.java Changeset: 55e6bb6b Author: Archie L. Cobbs Committer: Vicente Romero Date: 2023-02-27 16:21:57 +0000 URL: https://git.openjdk.org/panama-foreign/commit/55e6bb6b85828f9a0ac37467ac2d28fd3349c64f 8302685: Some javac unit tests aren't reliably closing open files Reviewed-by: darcy, vromero ! test/langtools/tools/javac/4241573/T4241573.java ! test/langtools/tools/javac/6400872/T6400872.java ! test/langtools/tools/javac/6567415/T6567415.java ! test/langtools/tools/javac/ConditionalExpressionResolvePending.java ! test/langtools/tools/javac/NoStringToLower.java ! test/langtools/tools/javac/Paths/6638501/JarFromManifestFailure.java ! test/langtools/tools/javac/Paths/TestCompileJARInClassPath.java ! test/langtools/tools/javac/T6403466.java ! test/langtools/tools/javac/T7159016.java ! test/langtools/tools/javac/T8003967/DetectMutableStaticFields.java ! test/langtools/tools/javac/T8071847/T8071847.java ! test/langtools/tools/javac/T8152616.java ! test/langtools/tools/javac/api/T6483788.java ! test/langtools/tools/javac/api/T6877206.java ! test/langtools/tools/javac/api/guide/Test.java ! test/langtools/tools/javac/classfiles/attributes/LineNumberTable/LineNumberTestBase.java ! test/langtools/tools/javac/classfiles/attributes/SourceFile/SourceFileTestBase.java ! test/langtools/tools/javac/diags/CheckExamples.java ! test/langtools/tools/javac/diags/CheckResourceKeys.java ! test/langtools/tools/javac/diags/Example.java ! test/langtools/tools/javac/diags/MessageInfo.java ! test/langtools/tools/javac/diags/RunExamples.java ! test/langtools/tools/javac/diags/examples/ProcFileCreateLastRound/processors/AnnoProc.java ! test/langtools/tools/javac/diags/examples/ProcFileReopening/processors/AnnoProc.java ! test/langtools/tools/javac/diags/examples/ProcIllegalFileName/processors/AnnoProc.java ! test/langtools/tools/javac/diags/examples/ProcTypeRecreate/processors/AnnoProc.java ! test/langtools/tools/javac/diags/examples/ProcUseImplicit/processors/AnnoProc.java ! test/langtools/tools/javac/diags/examples/ProcUseProcOrImplicit/processors/AnnoProc.java ! test/langtools/tools/javac/doctree/dcapi/DocCommentTreeApiTester.java ! test/langtools/tools/javac/file/T7068437.java ! test/langtools/tools/javac/file/T7068451.java ! test/langtools/tools/javac/file/zip/T6836682.java ! test/langtools/tools/javac/file/zip/Utils.java ! test/langtools/tools/javac/lambda/deduplication/DeduplicationTest.java ! test/langtools/tools/javac/lambdaShapes/org/openjdk/tests/separate/DirectedClassLoader.java ! test/langtools/tools/javac/options/T7022337.java ! test/langtools/tools/javac/parser/ExtraSemiTest.java ! test/langtools/tools/javac/preview/PreviewErrors.java ! test/langtools/tools/javac/processing/6350124/HelloWorldAP.java ! test/langtools/tools/javac/processing/6413690/T6413690.java ! test/langtools/tools/javac/processing/6499119/ClassProcessor.java ! test/langtools/tools/javac/processing/6634138/T6634138.java ! test/langtools/tools/javac/processing/T6439826.java ! test/langtools/tools/javac/processing/T6920317.java ! test/langtools/tools/javac/processing/TestWarnErrorCount.java ! test/langtools/tools/javac/processing/errors/TestSuppression.java ! test/langtools/tools/javac/processing/filer/TestGetResource.java ! test/langtools/tools/javac/processing/filer/TestLastRound.java ! test/langtools/tools/javac/processing/model/element/TestMissingElement2/Generator.java ! test/langtools/tools/javac/processing/model/element/TestNames.java ! test/langtools/tools/javac/processing/model/util/elements/TestGetConstantExpression.java ! test/langtools/tools/javac/processing/model/util/elements/doccomments/TestDocComments.java ! test/langtools/tools/javac/processing/options/testPrintProcessorInfo/Test.java ! test/langtools/tools/javac/processing/rounds/BaseClassesNotReRead.java ! test/langtools/tools/javac/processing/werror/WErrorGen.java ! test/langtools/tools/javac/sealed/ValidateJarWithSealedAndRecord.java ! test/langtools/tools/javac/switchexpr/SwitchExpressionNoValue.java ! test/langtools/tools/javac/tree/TreePosRoundsTest.java Changeset: a253b460 Author: Naoto Sato Date: 2023-02-27 16:35:59 +0000 URL: https://git.openjdk.org/panama-foreign/commit/a253b4602147633a3d2e83775d1feef4f12a5272 8301119: Support for GB18030-2022 Reviewed-by: alanb, coffeys, lancea ! make/data/charsetmapping/charsets ! make/data/charsetmapping/stdcs-aix ! make/data/charsetmapping/stdcs-linux - make/data/charsetmapping/stdcs-solaris ! make/data/charsetmapping/stdcs-windows ! make/jdk/src/classes/build/tools/charsetmapping/SPI.java = src/java.base/share/classes/sun/nio/cs/GB18030.java ! src/java.base/share/classes/sun/nio/cs/StandardCharsets.java.template ! src/jdk.charsets/share/classes/sun/nio/cs/ext/ExtendedCharsets.java.template ! test/jdk/java/nio/charset/Charset/RegisteredCharsets.java ! test/jdk/sun/nio/cs/TestGB18030.java ! test/jdk/sun/nio/cs/mapping/CoderTest.java ! test/jdk/sun/nio/cs/mapping/GB18030.b2c = test/jdk/sun/nio/cs/mapping/GB18030_2000.b2c Changeset: 42330d28 Author: Brian Burkhalter Date: 2023-02-27 17:11:29 +0000 URL: https://git.openjdk.org/panama-foreign/commit/42330d28da28da034da1927302990f458e76cad1 8029370: (fc) FileChannel javadoc not clear for cases where position == size Reviewed-by: lancea ! src/java.base/share/classes/java/nio/channels/FileChannel.java Changeset: b527edd3 Author: David M. Lloyd Committer: Mandy Chung Date: 2023-02-27 17:18:44 +0000 URL: https://git.openjdk.org/panama-foreign/commit/b527edd3388ad6a0d44a291983b08b2b5c023f8f 8292914: Lambda proxies have unstable names Change the name of generated lambda proxy classes so that they no longer have a numerical suffix. Reviewed-by: mchung ! src/java.base/share/classes/java/lang/invoke/InnerClassLambdaMetafactory.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.meta/src/jdk/vm/ci/meta/MetaUtil.java ! test/hotspot/jtreg/runtime/cds/appcds/LambdaContainsOldInf.java ! test/hotspot/jtreg/runtime/cds/appcds/LambdaEagerInit.java ! test/hotspot/jtreg/runtime/cds/appcds/LambdaWithOldClass.java ! test/hotspot/jtreg/runtime/cds/appcds/SignedJar.java ! test/hotspot/jtreg/runtime/cds/appcds/StaticArchiveWithLambda.java ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/BasicLambdaTest.java ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/LambdaContainsOldInf.java ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/LambdaCustomLoader.java ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/LambdaForClassInBaseArchive.java ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/LambdaForOldInfInBaseArchive.java ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/LambdaInBaseArchive.java ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/LambdaProxyCallerIsHidden.java ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/LambdaProxyDuringShutdown.java ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/NestHostOldInf.java ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/NestTest.java ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/NoClassToArchive.java ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/ParallelLambdaLoadTest.java ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/PredicateTest.java ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/RedefineCallerClassTest.java ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/StaticInnerTest.java ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/UsedAllArchivedLambdas.java ! 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 ! test/hotspot/jtreg/runtime/cds/appcds/javaldr/AnonVmClassesDuringDump.java ! test/hotspot/jtreg/runtime/cds/appcds/methodHandles/CDSMHTest_generate.sh ! test/hotspot/jtreg/runtime/cds/appcds/methodHandles/MethodHandlesAsCollectorTest.java ! test/hotspot/jtreg/runtime/cds/appcds/methodHandles/MethodHandlesCastFailureTest.java ! test/hotspot/jtreg/runtime/cds/appcds/methodHandles/MethodHandlesGeneralTest.java ! test/hotspot/jtreg/runtime/cds/appcds/methodHandles/MethodHandlesInvokersTest.java ! test/hotspot/jtreg/runtime/cds/appcds/methodHandles/MethodHandlesPermuteArgumentsTest.java ! test/hotspot/jtreg/runtime/cds/appcds/methodHandles/MethodHandlesSpreadArgumentsTest.java ! test/hotspot/jtreg/runtime/cds/appcds/test-classes/pkg2/Child.jcod ! test/hotspot/jtreg/serviceability/dcmd/vm/ClassHierarchyTest.java ! test/hotspot/jtreg/serviceability/jvmti/RedefineClasses/ModifyAnonymous.java ! test/hotspot/jtreg/serviceability/jvmti/thread/GetStackTrace/get_stack_trace.h ! test/hotspot/jtreg/serviceability/jvmti/thread/GetStackTrace/getstacktr03/libgetstacktr03.cpp ! test/jdk/java/io/Serializable/serialFilter/SerialFilterTest.java ! test/jdk/java/lang/StackWalker/HiddenFrames.java ! test/jdk/java/lang/StackWalker/VerifyStackTrace.java ! test/jdk/java/lang/invoke/callerSensitive/csm/jdk/test/MethodInvokeTest.java ! test/jdk/java/lang/invoke/lambda/LambdaAsm.java ! test/jdk/java/lang/invoke/lambda/LambdaStackTrace.java Changeset: 4c169d2d Author: Roger Riggs Date: 2023-02-27 18:10:40 +0000 URL: https://git.openjdk.org/panama-foreign/commit/4c169d2d7c3082a278946175874777f78d45b0bc 8303253: Remove unnecessary calls to super() in java.time value based classes Reviewed-by: naoto, mchung, lancea ! src/java.base/share/classes/java/time/Duration.java ! src/java.base/share/classes/java/time/Instant.java ! src/java.base/share/classes/java/time/ZoneOffset.java Changeset: 54603aa1 Author: Erik Gahlin Date: 2023-02-27 18:13:27 +0000 URL: https://git.openjdk.org/panama-foreign/commit/54603aa1b72bfbdd04d69f0f0bf5dcfeb9dcda92 8303208: JFR: 'jfr print' displays incorrect timestamps Reviewed-by: mgronlun ! src/jdk.jfr/share/classes/jdk/jfr/internal/MetadataDescriptor.java Changeset: 784f7b14 Author: Ian Graves Date: 2023-02-27 21:05:36 +0000 URL: https://git.openjdk.org/panama-foreign/commit/784f7b146264ee8eb382f0cc90514018fc5d16d0 8293667: Align jlink's --compress option with jmod's --compress option Reviewed-by: mchung ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/DefaultCompressPlugin.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/ZipPlugin.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/resources/plugins.properties ! src/jdk.jlink/share/classes/module-info.java ! test/jdk/tools/jlink/JLinkTest.java ! test/jdk/tools/jlink/plugins/CompressorPluginTest.java Changeset: f7f10367 Author: David Holmes Date: 2023-02-27 21:38:12 +0000 URL: https://git.openjdk.org/panama-foreign/commit/f7f10367b2169f9e10f79b430acb450aabb5dcb6 8303068: Memory leak in DwarfFile::LineNumberProgram::run_line_number_program Reviewed-by: jsjolen, tschatzl, chagedorn ! src/hotspot/share/utilities/elfFile.hpp Changeset: bca60f47 Author: Erik Gahlin Date: 2023-02-27 22:33:34 +0000 URL: https://git.openjdk.org/panama-foreign/commit/bca60f4767b6d9fbdb9925e175ba465ff397f6b2 8303249: JFR: Incorrect description of dumponexit Reviewed-by: mgronlun ! src/jdk.jfr/share/classes/jdk/jfr/internal/dcmd/DCmdStart.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/dcmd/DCmdStop.java Changeset: 14a014d4 Author: Kim Barrett Date: 2023-02-28 01:59:03 +0000 URL: https://git.openjdk.org/panama-foreign/commit/14a014d4303efda69bd0acbdf71139534601b49a 8302124: HotSpot Style Guide should permit noreturn attribute Reviewed-by: dcubed, iveresov, dholmes, tschatzl, jwaters, kvn ! doc/hotspot-style.html ! doc/hotspot-style.md Changeset: 1e3c9fd6 Author: Archie L. Cobbs Committer: Vicente Romero Date: 2023-02-28 03:33:14 +0000 URL: https://git.openjdk.org/panama-foreign/commit/1e3c9fd67efd8428f702c7a3e26ac2b60e0fe618 8026369: javac potentially ambiguous overload warning needs an improved scheme Reviewed-by: vromero ! src/java.base/share/classes/java/util/LongSummaryStatistics.java ! src/java.base/share/classes/java/util/PrimitiveIterator.java ! src/java.base/share/classes/java/util/Spliterator.java ! src/java.base/share/classes/java/util/Spliterators.java ! src/java.base/share/classes/java/util/stream/Node.java ! src/java.base/share/classes/java/util/stream/Nodes.java ! src/java.base/share/classes/java/util/stream/Sink.java ! src/java.base/share/classes/java/util/stream/SpinedBuffer.java ! src/java.base/share/classes/java/util/stream/StreamSpliterators.java ! src/java.base/share/classes/java/util/stream/Streams.java ! 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/comp/Check.java ! test/langtools/tools/javac/8230827/T8230827.out ! test/langtools/tools/javac/lambda/T8024947/PotentiallyAmbiguousWarningTest.java ! test/langtools/tools/javac/lambda/T8024947/PotentiallyAmbiguousWarningTest.out Changeset: 5feb13b5 Author: Darragh Clarke Committer: Jaikiran Pai Date: 2023-02-28 06:51:37 +0000 URL: https://git.openjdk.org/panama-foreign/commit/5feb13b55d32fad8f533f52ee7bd63e2cf2d247c 8301701: java/net/DatagramSocket/DatagramSocketMulticasting.java should be hardened Reviewed-by: dfuchs ! test/jdk/java/net/DatagramSocket/DatagramSocketMulticasting.java Changeset: e144783e Author: Lutz Schmidt Date: 2023-02-28 12:52:00 +0000 URL: https://git.openjdk.org/panama-foreign/commit/e144783eb2d2a4437d0f992c964e34a932bfa54b 8299817: [s390] AES-CTR mode intrinsic fails with multiple short update() calls Reviewed-by: mbaesken, mdoerr ! src/hotspot/cpu/s390/assembler_s390.hpp ! src/hotspot/cpu/s390/assembler_s390.inline.hpp ! src/hotspot/cpu/s390/macroAssembler_s390.cpp ! src/hotspot/cpu/s390/stubGenerator_s390.cpp + test/hotspot/jtreg/compiler/codegen/aes/Test8299817.java Changeset: 30302d18 Author: Albert Mingkun Yang Date: 2023-02-28 13:39:58 +0000 URL: https://git.openjdk.org/panama-foreign/commit/30302d185ad117e0989949d0d8003e2f1be4dd70 8303250: Call ct_max_alignment_constraint using the base class Reviewed-by: kbarrett, tschatzl ! src/hotspot/share/gc/g1/g1Arguments.cpp ! src/hotspot/share/gc/shared/gcArguments.cpp Changeset: 4a415ad5 Author: Jie Fu Date: 2023-02-28 14:44:38 +0000 URL: https://git.openjdk.org/panama-foreign/commit/4a415ad5848a33137c5c51ee0a843a7025bc1518 8303351: [IR Framework] Add missing cpu feature avx512bw after JDK-8302681 Reviewed-by: epeter, thartmann ! test/hotspot/jtreg/compiler/lib/ir_framework/test/IREncodingPrinter.java Changeset: dc5ea6ae Author: Pavel Rappo Date: 2023-02-28 15:40:05 +0000 URL: https://git.openjdk.org/panama-foreign/commit/dc5ea6aeb500d531b4ba49c8e95bf97744cc6c33 8303350: Fix mistyped {@code} Reviewed-by: jpai ! src/java.base/share/classes/jdk/internal/util/random/RandomSupport.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Types.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/List.java Changeset: 6423065b Author: Erik Gahlin Date: 2023-02-28 16:42:19 +0000 URL: https://git.openjdk.org/panama-foreign/commit/6423065b7dc51748fcc8a2683af1226c01e93ce4 8303261: JFR: jdk/jfr/api/consumer/streaming/TestJVMCrash.java doesn't retry Reviewed-by: mgronlun ! test/jdk/jdk/jfr/api/consumer/streaming/TestJVMCrash.java Changeset: 61e88675 Author: Joe Darcy Date: 2023-02-28 18:33:53 +0000 URL: https://git.openjdk.org/panama-foreign/commit/61e8867591f02f568776eed7211c4a83c56b8170 8302040: Port fdlibm sqrt to Java Reviewed-by: bpb, thartmann, aturbanov ! src/hotspot/share/classfile/vmIntrinsics.hpp ! src/hotspot/share/interpreter/abstractInterpreter.cpp ! src/java.base/share/classes/java/lang/FdLibm.java ! src/java.base/share/classes/java/lang/StrictMath.java + test/jdk/java/lang/Math/SqrtTests.java ! test/jdk/java/lang/StrictMath/ExhaustingTests.java ! test/jdk/java/lang/StrictMath/FdlibmTranslit.java + test/jdk/java/lang/StrictMath/SqrtTests.java Changeset: 50dc041e Author: Julian Waters Date: 2023-02-28 18:35:40 +0000 URL: https://git.openjdk.org/panama-foreign/commit/50dc041ee69eb62454bbf5c47a9545c6183d43d1 8303227: JniObjWithEnv should be NullablePointer compliant Reviewed-by: asemenyuk ! src/jdk.jpackage/windows/native/libjpackage/JniUtils.h Changeset: a10d5ac6 Author: Dmitry Markov Date: 2023-02-28 19:50:49 +0000 URL: https://git.openjdk.org/panama-foreign/commit/a10d5ac61be3d074937f629959c7aeb694147203 8303130: Document required Accessibility permissions on macOS Reviewed-by: erikj, aivanov, prr, serb ! doc/testing.html ! doc/testing.md Changeset: 88151758 Author: Andrey Turbanov Date: 2023-02-28 20:21:07 +0000 URL: https://git.openjdk.org/panama-foreign/commit/881517586d7b6d26c5589c3459902eb964ce9030 8303216: Prefer ArrayList to LinkedList in sun.net.httpserver.ServerImpl Reviewed-by: jpai, vtewari, stsypanov, dfuchs ! src/jdk.httpserver/share/classes/sun/net/httpserver/ServerImpl.java Changeset: 7e47d51e Author: Justin Lu Committer: Naoto Sato Date: 2023-03-01 00:36:22 +0000 URL: https://git.openjdk.org/panama-foreign/commit/7e47d51e10eef7b3bead636d20ff392e7b1dd185 8282319: java.util.Locale method to stream available Locales Reviewed-by: stsypanov, naoto, lancea, rriggs ! src/java.base/share/classes/java/util/Locale.java ! src/java.base/share/classes/sun/util/locale/provider/LocaleServiceProviderPool.java + test/jdk/java/util/Locale/StreamAvailableLocales.java Changeset: 65da2c5d Author: Mikael Vidstedt Date: 2023-03-01 00:48:59 +0000 URL: https://git.openjdk.org/panama-foreign/commit/65da2c5d2dfea30e7d00b8f907f7abb5f6f887df 8303412: Update linux_x64-to-linux_aarch64 cross compilation devkit at Oracle Reviewed-by: dholmes ! make/conf/jib-profiles.js Changeset: 1fdaf252 Author: Leonid Mesnik Date: 2023-03-01 00:50:35 +0000 URL: https://git.openjdk.org/panama-foreign/commit/1fdaf252b6375773072e665fd5d4cfb509e98f4c 8303133: Update ProcessTools.startProcess(...) to exit early if process exit before linePredicate is printed. Reviewed-by: dholmes, rriggs ! test/lib/jdk/test/lib/process/ProcessTools.java ! test/lib/jdk/test/lib/thread/ProcessThread.java Changeset: 3aeefbf1 Author: Leonid Mesnik Date: 2023-03-01 05:21:45 +0000 URL: https://git.openjdk.org/panama-foreign/commit/3aeefbf1defe95113a8abe3d3d11fdf3205bfd3b 8303421: [BACKOUT] 8303133: Update ProcessTools.startProcess(...) to exit early if process exit before linePredicate is printed. Reviewed-by: dholmes ! test/lib/jdk/test/lib/process/ProcessTools.java ! test/lib/jdk/test/lib/thread/ProcessThread.java Changeset: 6b07243f Author: Roland Westrelin Date: 2023-03-01 09:36:22 +0000 URL: https://git.openjdk.org/panama-foreign/commit/6b07243f5671f148166f027796f620bad9b38f73 8301630: C2: 8297933 broke type speculation in some cases Reviewed-by: chagedorn, thartmann ! src/hotspot/share/opto/type.cpp + test/hotspot/jtreg/compiler/c2/irTests/TestTypeSpeculation.java + test/hotspot/jtreg/compiler/types/TestSpeculationBrokenWithIntArrays.java Changeset: 539a4951 Author: Kim Barrett Date: 2023-03-01 10:19:28 +0000 URL: https://git.openjdk.org/panama-foreign/commit/539a4951eee914da15a00cbd04ebc6a2c59b8f23 8302798: Refactor -XX:+UseOSErrorReporting for noreturn crash reporting Reviewed-by: coleenp, stuefe ! src/hotspot/os/posix/os_posix.cpp ! src/hotspot/os/windows/vmError_windows.cpp ! src/hotspot/share/runtime/os.hpp ! src/hotspot/share/utilities/vmError.cpp ! src/hotspot/share/utilities/vmError.hpp Changeset: 2451c5a4 Author: Doug Simon Date: 2023-03-01 10:47:49 +0000 URL: https://git.openjdk.org/panama-foreign/commit/2451c5a4620d5aec0ea9bc52fee5f3a54eb89d62 8303357: [JVMCI] thread is _thread_in_vm when committing JFR compilation event Reviewed-by: never, kvn ! src/hotspot/share/compiler/compilerEvent.cpp Changeset: 4c5d9cfc Author: Thomas Schatzl Date: 2023-03-01 12:34:02 +0000 URL: https://git.openjdk.org/panama-foreign/commit/4c5d9cfc64ac3d2dc86edfe43ec15bbdb09a0bc0 8303013: Always do remembered set verification during G1 Full GC Reviewed-by: ayang, iwalulya ! src/hotspot/share/gc/g1/g1_globals.hpp ! src/hotspot/share/gc/g1/heapRegion.cpp ! test/hotspot/jtreg/gc/g1/TestVerificationInConcurrentCycle.java Changeset: 8b86e1ee Author: Thomas Schatzl Date: 2023-03-01 12:34:53 +0000 URL: https://git.openjdk.org/panama-foreign/commit/8b86e1ee11818e47bbaac14631f645fd298c3252 8303344: After JDK-8302760, G1 heap verification does not exit VM after errors Reviewed-by: iwalulya, ayang ! src/hotspot/share/gc/g1/heapRegion.cpp Changeset: c1e77e05 Author: Ivan Walulya Date: 2023-03-01 13:52:21 +0000 URL: https://git.openjdk.org/panama-foreign/commit/c1e77e05647ca93bb4f39a320a5c7a632e283410 8303252: G1: Return early from Full-GC if no regions are selected for compaction. Reviewed-by: tschatzl, ayang ! src/hotspot/share/gc/g1/g1FullCollector.cpp ! src/hotspot/share/gc/g1/g1FullCollector.hpp ! src/hotspot/share/gc/g1/g1FullCollector.inline.hpp ! src/hotspot/share/gc/g1/g1FullGCCompactTask.cpp ! src/hotspot/share/gc/g1/g1FullGCPrepareTask.cpp ! src/hotspot/share/gc/g1/g1FullGCPrepareTask.hpp ! src/hotspot/share/gc/g1/g1FullGCPrepareTask.inline.hpp + src/hotspot/share/gc/g1/g1FullGCResetMetadataTask.cpp + src/hotspot/share/gc/g1/g1FullGCResetMetadataTask.hpp Changeset: 6af17c1b Author: Albert Mingkun Yang Date: 2023-03-01 15:15:22 +0000 URL: https://git.openjdk.org/panama-foreign/commit/6af17c1b7d26e639a655405c66aaa1e37a5d8489 8303362: Serial: Move CardTableRS to serial directory Reviewed-by: tschatzl, kbarrett = src/hotspot/share/gc/serial/cardTableRS.cpp = src/hotspot/share/gc/serial/cardTableRS.hpp ! src/hotspot/share/gc/serial/defNewGeneration.cpp ! src/hotspot/share/gc/serial/defNewGeneration.inline.hpp ! src/hotspot/share/gc/serial/genMarkSweep.cpp ! src/hotspot/share/gc/serial/tenuredGeneration.cpp ! src/hotspot/share/gc/serial/vmStructs_serial.hpp ! src/hotspot/share/gc/shared/genCollectedHeap.cpp ! src/hotspot/share/gc/shared/generation.cpp ! src/hotspot/share/gc/shared/generationSpec.cpp ! src/hotspot/share/gc/shared/jvmFlagConstraintsGC.cpp ! src/hotspot/share/gc/shared/vmStructs_gc.hpp Changeset: 4c985e52 Author: Justin King Date: 2023-03-01 15:52:49 +0000 URL: https://git.openjdk.org/panama-foreign/commit/4c985e527a4a03d5a78d85a145aa41c1843a3e22 8303183: Memory leak in Arguments::init_shared_archive_paths Reviewed-by: jsjolen, ccheung, dholmes ! src/hotspot/share/runtime/arguments.cpp Changeset: 05faa732 Author: Justin Lu Committer: Naoto Sato Date: 2023-03-01 18:13:42 +0000 URL: https://git.openjdk.org/panama-foreign/commit/05faa7321bc076794048d3d069fa36b14f42ca70 8303232: java.util.Date.parse(String) and java.util.Date(String) don't declare thrown IllegalArgumentException Reviewed-by: jpai, lancea, naoto ! src/java.base/share/classes/java/util/Date.java Changeset: 9fc518ff Author: Eirik Bjorsnos Committer: Sandhya Viswanathan Date: 2023-03-01 18:18:36 +0000 URL: https://git.openjdk.org/panama-foreign/commit/9fc518ff8cadbbb731a016d8f53ed065b3561a7c 8303401: Add a Vector API equalsIgnoreCase micro benchmark Reviewed-by: ecaspole, sviswanathan, psandoz + test/micro/org/openjdk/bench/jdk/incubator/vector/EqualsIgnoreCaseBenchmark.java Changeset: 6e19387f Author: David Holmes Date: 2023-03-01 21:45:11 +0000 URL: https://git.openjdk.org/panama-foreign/commit/6e19387f29944aa9d5c82bf0ece3abf0ca53b39c 8303070: Memory leak in DCmdArgument::parse_value Reviewed-by: fparain, jcking, jsjolen, eosterlund, coleenp ! src/hotspot/share/services/diagnosticArgument.cpp ! test/hotspot/jtreg/runtime/NMT/JcmdScale.java Changeset: 394eac85 Author: Valerie Peng Date: 2023-03-01 22:40:50 +0000 URL: https://git.openjdk.org/panama-foreign/commit/394eac850cf8def6107193695f1d438f083d275a 8295425: Match the default priv exp length between SunPKCS11 and other JDK providers Reviewed-by: weijun ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11KeyPairGenerator.java + test/jdk/sun/security/pkcs11/KeyPairGenerator/TestDefaultDHPrivateExpSize.java Changeset: d10d40a5 Author: Erik Gahlin Date: 2023-03-01 22:54:03 +0000 URL: https://git.openjdk.org/panama-foreign/commit/d10d40a5b2dc4bb491daaac2838cd637302e2313 8303077: JFR: Add example usage to jdk.jfr Reviewed-by: mgronlun ! src/jdk.jfr/share/classes/jdk/jfr/BooleanFlag.java ! src/jdk.jfr/share/classes/jdk/jfr/Configuration.java ! src/jdk.jfr/share/classes/jdk/jfr/DataAmount.java ! src/jdk.jfr/share/classes/jdk/jfr/Enabled.java ! src/jdk.jfr/share/classes/jdk/jfr/EventType.java ! src/jdk.jfr/share/classes/jdk/jfr/Period.java ! src/jdk.jfr/share/classes/jdk/jfr/ValueDescriptor.java ! src/jdk.jfr/share/classes/jdk/jfr/snippet-files/Snippets.java Changeset: dc08216f Author: Tyler Steele Date: 2023-03-02 01:06:02 +0000 URL: https://git.openjdk.org/panama-foreign/commit/dc08216f0ef55970c96df43bcc86ebd5792d486e 8303186: Missing Classpath exception from Continuation.c Reviewed-by: dholmes, jpai ! src/java.base/share/native/libjava/Continuation.c Changeset: 99f5687e Author: Emanuel Peter Date: 2023-03-02 07:22:21 +0000 URL: https://git.openjdk.org/panama-foreign/commit/99f5687eb192b249a4a4533578f56b131fb8f234 8302144: Move ZeroTLABTest.java to tier3 Reviewed-by: thartmann, kvn ! test/hotspot/jtreg/TEST.groups Changeset: 4619e8ba Author: Jan Lahoda Date: 2023-03-02 08:27:44 +0000 URL: https://git.openjdk.org/panama-foreign/commit/4619e8bae838abd1f243c2c65a538806d226b8e8 8297587: Upgrade JLine to 3.22.0 Reviewed-by: vromero ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/Binding.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/Candidate.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/CompletingParsedLine.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/CompletionMatcher.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/Highlighter.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/History.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/LineReader.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/LineReaderBuilder.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/Parser.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/impl/CompletionMatcherImpl.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/impl/DefaultParser.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/impl/LineReaderImpl.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/impl/completer/FileNameCompleter.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/impl/completer/SystemCompleter.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/impl/history/DefaultHistory.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/TerminalBuilder.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/impl/AbstractPty.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/impl/AbstractWindowsTerminal.java + src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/impl/Diag.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/impl/ExecPty.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/impl/PosixPtyTerminal.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/impl/PosixSysTerminal.java + src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/impl/exec/ExecTerminalProvider.java - src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/spi/JansiSupport.java - src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/spi/JnaSupport.java + src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/spi/TerminalProvider.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/Colors.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/Curses.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/Display.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/InfoCmp.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/NonBlocking.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/NonBlockingInputStream.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/NonBlockingInputStreamImpl.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/NonBlockingPumpInputStream.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/NonBlockingPumpReader.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/NonBlockingReader.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/NonBlockingReaderImpl.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/OSUtils.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/PumpReader.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/StyleResolver.java + src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/Timeout.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/WCWidth.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/windows-vtp.caps ! src/jdk.internal.le/share/classes/module-info.java ! src/jdk.internal.le/share/legal/jline.md - src/jdk.internal.le/windows/classes/jdk/internal/org/jline/terminal/impl/jna/JnaSupportImpl.java + src/jdk.internal.le/windows/classes/jdk/internal/org/jline/terminal/impl/jna/JnaTerminalProvider.java ! src/jdk.internal.le/windows/classes/jdk/internal/org/jline/terminal/impl/jna/win/JnaWinConsoleWriter.java ! src/jdk.internal.le/windows/classes/jdk/internal/org/jline/terminal/impl/jna/win/JnaWinSysTerminal.java ! src/jdk.internal.le/windows/classes/jdk/internal/org/jline/terminal/impl/jna/win/WindowsAnsiWriter.java - src/jdk.internal.le/windows/classes/module-info.java.extra ! test/jdk/jdk/internal/jline/AbstractWindowsTerminalTest.java ! test/jdk/jdk/internal/jline/KeyConversionTest.java ! test/langtools/jdk/jshell/ExecPtyGetFlagsToSetTest.java Changeset: dbb562d3 Author: Jan Lahoda Date: 2023-03-02 09:41:11 +0000 URL: https://git.openjdk.org/panama-foreign/commit/dbb562d3b128094cb5bca55237e1331e83526adb 8303355: The Depend plugin does fully recompile when primitive type changes Reviewed-by: erikj, vromero ! make/jdk/src/classes/build/tools/depend/Depend.java ! make/jdk/src/classes/build/tools/depend/DependTest.java Changeset: 3091744f Author: Kim Barrett Date: 2023-03-02 09:43:56 +0000 URL: https://git.openjdk.org/panama-foreign/commit/3091744fff56ae08861f28b87c1de27738c4c62b 8303418: Improve parameter and variable names in BitMap Reviewed-by: tschatzl, aboldtch ! src/hotspot/share/utilities/bitMap.cpp ! src/hotspot/share/utilities/bitMap.hpp ! src/hotspot/share/utilities/bitMap.inline.hpp Changeset: 72de24e5 Author: Jaikiran Pai Date: 2023-03-02 11:24:06 +0000 URL: https://git.openjdk.org/panama-foreign/commit/72de24e59a80a38ea4ea6a8a3f966f555987ac86 8303457: Introduce convenience test library APIs for creating test servers for tests in test/jdk/java/net/httpclient Reviewed-by: dfuchs ! test/jdk/java/net/httpclient/AbstractThrowingPublishers.java ! test/jdk/java/net/httpclient/AbstractThrowingPushPromises.java ! test/jdk/java/net/httpclient/AbstractThrowingSubscribers.java ! test/jdk/java/net/httpclient/AggregateRequestBodyTest.java ! test/jdk/java/net/httpclient/AsyncExecutorShutdown.java ! test/jdk/java/net/httpclient/AuthFilterCacheTest.java ! test/jdk/java/net/httpclient/BasicRedirectTest.java ! test/jdk/java/net/httpclient/CancelRequestTest.java ! test/jdk/java/net/httpclient/CancelStreamedBodyTest.java ! test/jdk/java/net/httpclient/CookieHeaderTest.java ! test/jdk/java/net/httpclient/DependentActionsTest.java ! test/jdk/java/net/httpclient/DependentPromiseActionsTest.java ! test/jdk/java/net/httpclient/EncodedCharsInURI.java ! test/jdk/java/net/httpclient/ExecutorShutdown.java ! test/jdk/java/net/httpclient/ExpectContinueTest.java ! test/jdk/java/net/httpclient/FilePublisher/FilePublisherPermsTest.java ! test/jdk/java/net/httpclient/FilePublisher/FilePublisherTest.java ! test/jdk/java/net/httpclient/ForbiddenHeadTest.java ! test/jdk/java/net/httpclient/GZIPInputStreamTest.java ! test/jdk/java/net/httpclient/HeadTest.java ! test/jdk/java/net/httpclient/HttpClientLocalAddrTest.java ! test/jdk/java/net/httpclient/HttpRedirectTest.java ! test/jdk/java/net/httpclient/HttpSlowServerTest.java ! test/jdk/java/net/httpclient/HttpsTunnelTest.java ! test/jdk/java/net/httpclient/ISO_8859_1_Test.java ! test/jdk/java/net/httpclient/InvalidInputStreamSubscriptionRequest.java ! test/jdk/java/net/httpclient/InvalidSubscriptionRequest.java ! test/jdk/java/net/httpclient/LargeHandshakeTest.java ! test/jdk/java/net/httpclient/LargeResponseTest.java ! test/jdk/java/net/httpclient/LineBodyHandlerTest.java ! test/jdk/java/net/httpclient/NonAsciiCharsInURI.java ! test/jdk/java/net/httpclient/PathSubscriber/BodyHandlerOfFileDownloadTest.java ! test/jdk/java/net/httpclient/PathSubscriber/BodyHandlerOfFileTest.java ! test/jdk/java/net/httpclient/PathSubscriber/BodySubscriberOfFileTest.java ! test/jdk/java/net/httpclient/ProxySelectorTest.java ! test/jdk/java/net/httpclient/RedirectMethodChange.java ! test/jdk/java/net/httpclient/RedirectWithCookie.java ! test/jdk/java/net/httpclient/Response1xxTest.java ! test/jdk/java/net/httpclient/Response204V2Test.java ! test/jdk/java/net/httpclient/ResponsePublisher.java ! test/jdk/java/net/httpclient/RetryWithCookie.java ! test/jdk/java/net/httpclient/SpecialHeadersTest.java ! test/jdk/java/net/httpclient/StreamCloseTest.java ! test/jdk/java/net/httpclient/StreamingBody.java ! test/jdk/java/net/httpclient/UnauthorizedTest.java ! test/jdk/java/net/httpclient/UserCookieTest.java ! test/jdk/java/net/httpclient/lib/jdk/httpclient/test/lib/common/HttpServerAdapters.java Changeset: c9afd55e Author: Thomas Stuefe Date: 2023-03-02 13:21:25 +0000 URL: https://git.openjdk.org/panama-foreign/commit/c9afd55ed6e0d60b43f87fbae66af3559424e51f 8302820: Remove costs for NMTPreInit when NMT is off Reviewed-by: jsjolen, adinn ! src/hotspot/share/services/memTracker.cpp ! src/hotspot/share/services/nmtPreInit.cpp ! src/hotspot/share/services/nmtPreInit.hpp ! test/hotspot/gtest/nmt/test_nmtpreinitmap.cpp ! test/hotspot/jtreg/runtime/NMT/NMTInitializationTest.java Changeset: fb130639 Author: Saint Wesonga Committer: Jorn Vernee Date: 2023-03-02 13:26:27 +0000 URL: https://git.openjdk.org/panama-foreign/commit/fb1306394368bdfe3ccfe4980c663d0a56b4a643 8303409: Add Windows AArch64 ABI support to the Foreign Function & Memory API Reviewed-by: jvernee ! src/hotspot/cpu/aarch64/foreignGlobals_aarch64.cpp ! src/java.base/share/classes/java/lang/foreign/VaList.java ! src/java.base/share/classes/jdk/internal/foreign/CABI.java ! src/java.base/share/classes/jdk/internal/foreign/SystemLookup.java ! src/java.base/share/classes/jdk/internal/foreign/abi/AbstractLinker.java ! src/java.base/share/classes/jdk/internal/foreign/abi/LinkerOptions.java ! src/java.base/share/classes/jdk/internal/foreign/abi/SharedUtils.java ! src/java.base/share/classes/jdk/internal/foreign/abi/aarch64/CallArranger.java ! src/java.base/share/classes/jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64CallArranger.java ! src/java.base/share/classes/jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64CallArranger.java + src/java.base/share/classes/jdk/internal/foreign/abi/aarch64/windows/WindowsAArch64CallArranger.java + src/java.base/share/classes/jdk/internal/foreign/abi/aarch64/windows/WindowsAArch64Linker.java = src/java.base/share/classes/jdk/internal/foreign/abi/aarch64/windows/WindowsAArch64VaList.java ! test/jdk/java/foreign/TestVarArgs.java - test/jdk/java/foreign/callarranger/TestAarch64CallArranger.java + test/jdk/java/foreign/callarranger/TestLinuxAArch64CallArranger.java + test/jdk/java/foreign/callarranger/TestMacOsAArch64CallArranger.java + test/jdk/java/foreign/callarranger/TestWindowsAArch64CallArranger.java ! test/jdk/java/foreign/libVarArgs.c ! test/jdk/java/foreign/shared.h Changeset: b51ea420 Author: Matthias Baesken Date: 2023-03-02 14:21:06 +0000 URL: https://git.openjdk.org/panama-foreign/commit/b51ea4204eaa18687e7712e87cdc92efbddfcb5b 8303354: addCertificatesToKeystore in KeystoreImpl.m needs CFRelease call in early potential CHECK_NULL return Reviewed-by: clanger, mdoerr, weijun ! src/java.base/macosx/native/libosxsecurity/KeystoreImpl.m Changeset: 0926d0cb Author: Chris Plummer Date: 2023-03-02 16:03:38 +0000 URL: https://git.openjdk.org/panama-foreign/commit/0926d0cbceb52f7b12cd69970ed0944d4ed2a242 8302516: Do some cleanup of nsk/share/jdi/EventHandler.java Reviewed-by: amenkov, kevinw, lmesnik ! test/hotspot/jtreg/vmTestbase/nsk/share/jdi/EventHandler.java Changeset: 32247c33 Author: Mandy Chung Date: 2023-03-02 17:05:01 +0000 URL: https://git.openjdk.org/panama-foreign/commit/32247c336a189a40f696626a2578c65535ef6376 8303476: Add the runtime version in the release file of a JDK image Reviewed-by: erikj ! make/ReleaseFile.gmk + test/jdk/build/releaseFile/CheckReleaseFile.java - test/jdk/build/releaseFile/CheckSource.java Changeset: 0b635579 Author: Naoto Sato Date: 2023-03-02 18:31:53 +0000 URL: https://git.openjdk.org/panama-foreign/commit/0b6355794101bda9de623016ce88f8abbb314f63 8303039: Utilize `coverageLevels.txt` Reviewed-by: iris, joehw ! make/CompileToolsJdk.gmk + make/data/cldr/common/properties/coverageLevels.txt ! make/jdk/src/classes/build/tools/cldrconverter/CLDRConverter.java + make/jdk/src/classes/build/tools/cldrconverter/OtherCommonLocales.properties Changeset: 2c7d2c0e Author: Mikhailo Seledtsov Date: 2023-03-02 18:38:50 +0000 URL: https://git.openjdk.org/panama-foreign/commit/2c7d2c0ea93f70d871d7242fcb190fe3f3fcb42d 8303411: JFR problem list entry for JDK-8247776 should be removed Reviewed-by: lmesnik ! test/jdk/ProblemList.txt Changeset: d4dcba04 Author: Andrey Turbanov Date: 2023-03-02 18:40:29 +0000 URL: https://git.openjdk.org/panama-foreign/commit/d4dcba04632f07555e4fe5547ee39125935a03c6 8303267: Prefer ArrayList to LinkedList in ConcurrentLocksPrinter Reviewed-by: cjplummer, sspitsyn ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/ConcurrentLocksPrinter.java Changeset: 843d632a Author: Daniel Jeli?ski Date: 2023-03-02 18:54:27 +0000 URL: https://git.openjdk.org/panama-foreign/commit/843d632ad4bd372506dd4d1ea0cf4157cb668fc1 8303442: Clean up w2k_lsa_auth linker parameters Reviewed-by: erikj ! make/modules/java.security.jgss/Lib.gmk Changeset: e7113dc8 Author: Xue-Lei Andrew Fan Date: 2023-03-02 18:56:05 +0000 URL: https://git.openjdk.org/panama-foreign/commit/e7113dc8a50e7f98f39f7cf50f823942db52cc3d 8302495: update for deprecated sprintf for java.desktop Reviewed-by: prr ! src/java.desktop/linux/native/libjsound/PLATFORM_API_LinuxOS_ALSA_CommonUtils.c ! src/java.desktop/linux/native/libjsound/PLATFORM_API_LinuxOS_ALSA_CommonUtils.h ! src/java.desktop/linux/native/libjsound/PLATFORM_API_LinuxOS_ALSA_MidiUtils.c ! src/java.desktop/linux/native/libjsound/PLATFORM_API_LinuxOS_ALSA_PCMUtils.c ! src/java.desktop/linux/native/libjsound/PLATFORM_API_LinuxOS_ALSA_Ports.c ! src/java.desktop/macosx/native/libawt_lwawt/font/AWTStrike.m ! src/java.desktop/share/native/common/awt/debug/debug_mem.c ! src/java.desktop/share/native/common/awt/debug/debug_trace.c ! src/java.desktop/share/native/common/java2d/opengl/OGLBufImgOps.c ! src/java.desktop/share/native/common/java2d/opengl/OGLPaints.c ! src/java.desktop/unix/native/libsplashscreen/splashscreen_sys.c ! src/java.desktop/windows/native/libawt/java2d/d3d/D3DShaderGen.c ! src/java.desktop/windows/native/libawt/windows/ShellFolder2.cpp ! src/java.desktop/windows/native/libawt/windows/awt_Component.cpp ! src/java.desktop/windows/native/libjsound/PLATFORM_API_WinOS_MidiIn.cpp ! src/java.desktop/windows/native/libjsound/PLATFORM_API_WinOS_MidiOut.c ! src/java.desktop/windows/native/libjsound/PLATFORM_API_WinOS_Ports.c Changeset: 45d8a175 Author: Justin Lu Committer: Naoto Sato Date: 2023-03-02 20:23:04 +0000 URL: https://git.openjdk.org/panama-foreign/commit/45d8a175b11bde953c8897c103d8c3cd6b26f9aa 8303405: fix @returnss typo in ReflectionFactory Reviewed-by: jpai, mchung, martin, iris, lancea, naoto ! src/java.base/share/classes/jdk/internal/reflect/ReflectionFactory.java Changeset: f3abc406 Author: Yi-Fan Tsai Committer: Paul Hohensee Date: 2023-03-02 22:38:58 +0000 URL: https://git.openjdk.org/panama-foreign/commit/f3abc4063de658418283aee1f552c4b4976e5211 8302783: Improve CRC32C intrinsic with crypto pmull on AArch64 Reviewed-by: simonis, phh ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/stubRoutines_aarch64.cpp Changeset: 35003b5f Author: Hao Sun Date: 2023-03-03 01:24:12 +0000 URL: https://git.openjdk.org/panama-foreign/commit/35003b5f7b341d7abd932fc4c795797960321369 8302830: AArch64: Fix the mismatch between cas.m4 and aarch64.ad Reviewed-by: aph, xgong ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/cas.m4 Changeset: c961a918 Author: Yi Yang Date: 2023-03-03 02:00:45 +0000 URL: https://git.openjdk.org/panama-foreign/commit/c961a918ad41a78ec15389837abf29c98d66792f 8143900: OptimizeStringConcat has an opaque dependency on Integer.sizeTable field Reviewed-by: kvn, thartmann ! src/hotspot/share/opto/stringopts.cpp ! src/hotspot/share/opto/stringopts.hpp ! src/java.base/share/classes/java/lang/Integer.java Changeset: e1745bc9 Author: Pavel Rappo Date: 2023-03-03 09:12:14 +0000 URL: https://git.openjdk.org/panama-foreign/commit/e1745bc98180e0d49ed4dd3116a43c90645a1a09 8303473: Add implied {@code} in java.lang.invoke.MethodHandles Reviewed-by: jjg, lancea, mchung ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java Changeset: 339ca887 Author: Vicente Romero Date: 2023-03-03 10:32:35 +0000 URL: https://git.openjdk.org/panama-foreign/commit/339ca887835d6456da9fcccdc32fb7716cbc60bb 8303539: javadoc typos in Attr Reviewed-by: iris, jjg ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java Changeset: b378aa7d Author: duke Date: 2023-03-03 11:00:37 +0000 URL: https://git.openjdk.org/panama-foreign/commit/b378aa7da6ab1e5cda89b1b31ac05ff6bc59de41 Automatic merge of jdk:master into master From duke at openjdk.org Fri Mar 3 11:08:40 2023 From: duke at openjdk.org (J. Duke) Date: Fri, 3 Mar 2023 11:08:40 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 81 commits from the branch `master`that can **not** be merged into the branch `foreign-memaccess+abi`: Over 11 files contains merge conflicts. 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 +134:openjdk-bot-134 $ git checkout openjdk-bot-134 # 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-134:134 _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 - 8303539: javadoc typos in Attr - 8303473: Add implied {@code} in java.lang.invoke.MethodHandles - 8143900: OptimizeStringConcat has an opaque dependency on Integer.sizeTable field - 8302830: AArch64: Fix the mismatch between cas.m4 and aarch64.ad - 8302783: Improve CRC32C intrinsic with crypto pmull on AArch64 - 8303405: fix @returnss typo in ReflectionFactory - 8302495: update for deprecated sprintf for java.desktop - 8303442: Clean up w2k_lsa_auth linker parameters - 8303267: Prefer ArrayList to LinkedList in ConcurrentLocksPrinter - ... and 71 more: https://git.openjdk.org/panama-foreign/compare/d688575c...b378aa7d The webrev contains the conflicts with foreign-memaccess+abi: - merge conflicts: https://webrevs.openjdk.org/?repo=panama-foreign&pr=808&range=00.conflicts Changes: https://git.openjdk.org/panama-foreign/pull/808/files Stats: 12436 lines in 459 files changed: 7765 ins; 2751 del; 1920 mod Patch: https://git.openjdk.org/panama-foreign/pull/808.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/808/head:pull/808 PR: https://git.openjdk.org/panama-foreign/pull/808 From martin.pernollet at protonmail.com Fri Mar 3 15:21:38 2023 From: martin.pernollet at protonmail.com (Martin Pernollet) Date: Fri, 03 Mar 2023 15:21:38 +0000 Subject: Know the type carried by an Addressable In-Reply-To: <53fbba22-1b81-40ac-cf89-8c9953ec8bb1@oracle.com> References: <53fbba22-1b81-40ac-cf89-8c9953ec8bb1@oracle.com> Message-ID: ------- Original Message ------- Le jeudi 23 f?vrier 2023 ? 18:23, Maurizio Cimadamore a ?crit : > What version of jextract are you using? Addressable has been dropped in Java 20. I am still running on Java 19 for PanamaGL. >> 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. This sounds great! So I'll wait for next versions of JExtract to get these extra method generated then. Eager to try this :) -------------- next part -------------- An HTML attachment was scrubbed... URL: From duke at openjdk.org Fri Mar 3 15:31:58 2023 From: duke at openjdk.org (J. Duke) Date: Fri, 3 Mar 2023 15:31:58 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 81 commits from the branch `master`that can **not** be merged into the branch `foreign-memaccess+abi`: > > Over 11 files contains merge conflicts. > > 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 +134:openjdk-bot-134 > $ git checkout openjdk-bot-134 > > # 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-134:134 > > > _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 82 commits: - Merge branch 'foreign-memaccess+abi' into openjdk-bot-134 - Automatic merge of jdk:master into master - 8303539: javadoc typos in Attr Reviewed-by: iris, jjg - 8303473: Add implied {@code} in java.lang.invoke.MethodHandles Reviewed-by: jjg, lancea, mchung - 8143900: OptimizeStringConcat has an opaque dependency on Integer.sizeTable field Reviewed-by: kvn, thartmann - 8302830: AArch64: Fix the mismatch between cas.m4 and aarch64.ad Reviewed-by: aph, xgong - 8302783: Improve CRC32C intrinsic with crypto pmull on AArch64 Reviewed-by: simonis, phh - 8303405: fix @returnss typo in ReflectionFactory Reviewed-by: jpai, mchung, martin, iris, lancea, naoto - 8302495: update for deprecated sprintf for java.desktop Reviewed-by: prr - 8303442: Clean up w2k_lsa_auth linker parameters Reviewed-by: erikj - ... and 72 more: https://git.openjdk.org/panama-foreign/compare/82e8c9df...8ec4fe14 ------------- Changes: https://git.openjdk.org/panama-foreign/pull/808/files Webrev: https://webrevs.openjdk.org/?repo=panama-foreign&pr=808&range=01 Stats: 10061 lines in 440 files changed: 6067 ins; 2101 del; 1893 mod Patch: https://git.openjdk.org/panama-foreign/pull/808.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/808/head:pull/808 PR: https://git.openjdk.org/panama-foreign/pull/808 From duke at openjdk.org Fri Mar 3 16:01:31 2023 From: duke at openjdk.org (J. Duke) Date: Fri, 3 Mar 2023 16:01:31 GMT Subject: [foreign-memaccess+abi] Integrated: Merge master In-Reply-To: References: Message-ID: On Fri, 3 Mar 2023 11:00:55 GMT, J. Duke wrote: > Hi all, > > this is an _automatically_ generated pull request to notify you that there are 81 commits from the branch `master`that can **not** be merged into the branch `foreign-memaccess+abi`: > > Over 11 files contains merge conflicts. > > 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 +134:openjdk-bot-134 > $ git checkout openjdk-bot-134 > > # 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-134:134 > > > _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: 2f3153a1 Author: J. Duke Committer: Maurizio Cimadamore URL: https://git.openjdk.org/panama-foreign/commit/2f3153a172ae5d78d033367027b11c054f1c126f Stats: 10061 lines in 440 files changed: 6067 ins; 2101 del; 1893 mod Merge master ------------- PR: https://git.openjdk.org/panama-foreign/pull/808 From anhmdq at gmail.com Sat Mar 4 10:10:08 2023 From: anhmdq at gmail.com (=?UTF-8?Q?Qu=C3=A2n_Anh_Mai?=) Date: Sat, 4 Mar 2023 18:10:08 +0800 Subject: Arena.addCloseAction and the implementation of a custom allocator Message-ID: Hi, I noticed that the method Arena::addCloseAction has been dropped from the API. May I ask in that case what is the way to create a custom allocator that manages its allocated memory? With the method, I believe it can be achieved with something like this: public MemorySegment allocate(long byteSize, long byteAlignment) { if (byteAlignment > MAX_ALIGNMENT) { throw new IllegalArgumentException(); } try { var arena = Arena.ofAuto(); long address = (long)MALLOC.invokeExact(byteSize); // I assume this should work since other reinterpret casts like unsigned <-> int is legal here arena.addCloseAction(() -> { try { FREE.invokeExact(address); } catch(Throwable e) { throw new RuntimeException(e); } }); return MemorySegment.ofAddress(address, byteSize, arena); } catch(Throwable e) { throw new RuntimeException(e); } } Thanks a lot, Quan Anh -------------- next part -------------- An HTML attachment was scrubbed... URL: From maurizio.cimadamore at oracle.com Sat Mar 4 14:59:38 2023 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Sat, 4 Mar 2023 14:59:38 +0000 Subject: Arena.addCloseAction and the implementation of a custom allocator In-Reply-To: References: Message-ID: Hi, you can still do that, using MemorySegment::ofAddress: |public MemorySegment allocate(long byteSize, long byteAlignment) { if (byteAlignment > MAX_ALIGNMENT) { throw new IllegalArgumentException(); } try { var arena = Arena.ofAuto(); long address = (long)MALLOC.invokeExact(byteSize); // I assume this should work since other reinterpret casts like unsigned <-> int is legal here return MemorySegment.ofAddresss(address, byteSize, arena, () -> { try { FREE.invokeExact(address); } catch(Throwable e) { throw new RuntimeException(e); } }); } catch(Throwable e) { throw new RuntimeException(e); } } | That is, there is a new overload in |MemorySegment::ofAddress| that does exactly what you want. I hope this helps. Cheers Maurizio On 04/03/2023 10:10, Qu?n Anh Mai wrote: > Hi, > > I noticed that the method Arena::addCloseAction has been dropped from > the API. May I ask in that case what is the way to create a > custom?allocator that manages its allocated memory? With the method, I > believe it can be achieved with something like this: > > public MemorySegment allocate(long byteSize, long byteAlignment) { > ? ? if (byteAlignment > MAX_ALIGNMENT) { > ? ? ? ? throw new IllegalArgumentException(); > ? ? } > > ? ? try { > ? ? ? ? var arena = Arena.ofAuto(); > ? ? ? ? long address = (long)MALLOC.invokeExact(byteSize); // I assume > this should work since other reinterpret casts like unsigned <-> int > is legal here > ? ? ? ? arena.addCloseAction(() -> { > ? ? ? ? ? ? ? ? try { > ? ? ? ? ? ? ? ? ? ? FREE.invokeExact(address); > ? ? ? ? ? ? ? ? } catch(Throwable e) { > ? ? ? ? ? ? ? ? ? ? throw new RuntimeException(e); > ? ? ? ? ? ? ? ? } > ? ? ? ? }); > ? ? ? ? return MemorySegment.ofAddress(address, byteSize, arena); > ? ? } catch(Throwable e) { > ? ? ? ? throw new RuntimeException(e); > ? ? } > } > > Thanks a lot, > Quan Anh ? -------------- next part -------------- An HTML attachment was scrubbed... URL: From mcimadamore at openjdk.org Mon Mar 6 14:33:33 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Mon, 6 Mar 2023 14:33:33 GMT Subject: [foreign-memaccess+abi] RFR: 8301803: Rename MemorySegment::array Message-ID: This patch picks up a loose end from Java 20: the name of `MemorySegment::array` is potentially too specific and will not scale when memory segment will be able to cover parts of Java objects contained flattened value types. The method is renamed here to `heapBase`, which is more general. As I was fixing this, I realized that the behavior of this method was undocumented - that is, the method returns an empty optional for native segments. Also, I realized that for heap segments we did not check the reado-only status. The ByteBuffer does this, to prevent the contents of a read-only buffer to be written using the array. We should do the same here. ------------- Commit messages: - Initial push Changes: https://git.openjdk.org/panama-foreign/pull/809/files Webrev: https://webrevs.openjdk.org/?repo=panama-foreign&pr=809&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8301803 Stats: 19 lines in 6 files changed: 8 ins; 2 del; 9 mod Patch: https://git.openjdk.org/panama-foreign/pull/809.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/809/head:pull/809 PR: https://git.openjdk.org/panama-foreign/pull/809 From jvernee at openjdk.org Mon Mar 6 14:33:33 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Mon, 6 Mar 2023 14:33:33 GMT Subject: [foreign-memaccess+abi] RFR: 8301803: Rename MemorySegment::array In-Reply-To: References: Message-ID: On Mon, 6 Mar 2023 14:18:52 GMT, Maurizio Cimadamore wrote: > This patch picks up a loose end from Java 20: the name of `MemorySegment::array` is potentially too specific and will not scale when memory segment will be able to cover parts of Java objects contained flattened value types. The method is renamed here to `heapBase`, which is more general. > > As I was fixing this, I realized that the behavior of this method was undocumented - that is, the method returns an empty optional for native segments. Also, I realized that for heap segments we did not check the reado-only status. The ByteBuffer does this, to prevent the contents of a read-only buffer to be written using the array. We should do the same here. Marked as reviewed by jvernee (Committer). ------------- PR: https://git.openjdk.org/panama-foreign/pull/809 From mcimadamore at openjdk.org Mon Mar 6 14:52:54 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Mon, 6 Mar 2023 14:52:54 GMT Subject: [foreign-memaccess+abi] RFR: 8303667: Drop MemoryLayout::valueLayout factory Message-ID: We have been thinking more about how the layout API might be affected by Valhalla specialized types. With Valhalla, it might be possible to, eventually, get rid of hand-specialized classes such as `ValueLayout.OfInt` and friends, and replace them either with `ValueLayout`, or some `ScalarLayout` (where `ScalarLayout extends ValueLayout`). This would allow us to, also eventually, only provide _one_ accessor for all value/scalar layouts in `MemorySegment`. Under this migration scenario, having a toplevel factory such as `MemoryLayout::valueLayout`, whose semantics is strictly defined in terms of the hand-specialzied classes doesn't seem a great idea. Since this factory is only used rarely (mostly in tests - we could not find any usage in existing GitHub projects targeting the FFM API), it would be better to remove it, to avoid having to deal with pesky migration issues later. Of course, if you are aware of cases we missed where the factory is used in the wild, please let us know. (Although, in general, it is not too difficult to re-iimplement a similar method using the `ValueLayout` constants - `jextract` will need to do this, for instance). ------------- Commit messages: - Initial push Changes: https://git.openjdk.org/panama-foreign/pull/810/files Webrev: https://webrevs.openjdk.org/?repo=panama-foreign&pr=810&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8303667 Stats: 149 lines in 7 files changed: 51 ins; 95 del; 3 mod Patch: https://git.openjdk.org/panama-foreign/pull/810.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/810/head:pull/810 PR: https://git.openjdk.org/panama-foreign/pull/810 From jvernee at openjdk.org Mon Mar 6 15:03:43 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Mon, 6 Mar 2023 15:03:43 GMT Subject: [foreign-memaccess+abi] RFR: 8303667: Drop MemoryLayout::valueLayout factory In-Reply-To: References: Message-ID: <9TxeBs6nfoUS3B2y1DYrZk8U_Pw8PyKfj-zoE8ikcqg=.19ec9bcc-05ec-4c61-a8d5-9d51cf336ec4@github.com> On Mon, 6 Mar 2023 14:45:28 GMT, Maurizio Cimadamore wrote: > We have been thinking more about how the layout API might be affected by Valhalla specialized types. With Valhalla, it might be possible to, eventually, get rid of hand-specialized classes such as `ValueLayout.OfInt` and friends, and replace them either with `ValueLayout`, or some `ScalarLayout` (where `ScalarLayout extends ValueLayout`). This would allow us to, also eventually, only provide _one_ accessor for all value/scalar layouts in `MemorySegment`. > > Under this migration scenario, having a toplevel factory such as `MemoryLayout::valueLayout`, whose semantics is strictly defined in terms of the hand-specialzied classes doesn't seem a great idea. > > Since this factory is only used rarely (mostly in tests - we could not find any usage in existing GitHub projects targeting the FFM API), it would be better to remove it, to avoid having to deal with pesky migration issues later. > > Of course, if you are aware of cases we missed where the factory is used in the wild, please let us know. (Although, in general, it is not too difficult to re-iimplement a similar method using the `ValueLayout` constants - `jextract` will need to do this, for instance). Marked as reviewed by jvernee (Committer). ------------- PR: https://git.openjdk.org/panama-foreign/pull/810 From martin.pernollet at protonmail.com Mon Mar 6 15:51:08 2023 From: martin.pernollet at protonmail.com (Martin Pernollet) Date: Mon, 06 Mar 2023 15:51:08 +0000 Subject: Are generated bindings blocking or not Message-ID: Hi, While trying to compare the performance of generated binding with frameworks that do not use Panama, I was surprised to measure a (too) small time while invoking Panama generated methods in one of my benchmarks. I thus wondered if these methods are blocking or not while invoking their native counterparts? Thanks in advance! Martin -------------- next part -------------- An HTML attachment was scrubbed... URL: From mcimadamore at openjdk.org Mon Mar 6 16:14:52 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Mon, 6 Mar 2023 16:14:52 GMT Subject: [foreign-memaccess+abi] RFR: 8303666: Move address layout outside of ValueLayout namespace Message-ID: This patch moves ValueLayout.OfAddress into a toplevel class. This seems desirable since address layouts are very important in the FFM API, and also provides seadditional methods on top of `ValueLayout` to get/set a *target layout*. ------------- Commit messages: - Initial push Changes: https://git.openjdk.org/panama-foreign/pull/811/files Webrev: https://webrevs.openjdk.org/?repo=panama-foreign&pr=811&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8303666 Stats: 245 lines in 31 files changed: 107 ins; 74 del; 64 mod Patch: https://git.openjdk.org/panama-foreign/pull/811.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/811/head:pull/811 PR: https://git.openjdk.org/panama-foreign/pull/811 From mcimadamore at openjdk.org Mon Mar 6 16:24:22 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Mon, 6 Mar 2023 16:24:22 GMT Subject: [foreign-memaccess+abi] RFR: 8303666: Move address layout outside of ValueLayout namespace [v2] In-Reply-To: References: Message-ID: > This patch moves ValueLayout.OfAddress into a toplevel class. This seems desirable since address layouts are very important in the FFM API, and also provides seadditional methods on top of `ValueLayout` to get/set a *target layout*. Maurizio Cimadamore has updated the pull request incrementally with one additional commit since the last revision: Add copyright header ------------- Changes: - all: https://git.openjdk.org/panama-foreign/pull/811/files - new: https://git.openjdk.org/panama-foreign/pull/811/files/13e321d1..96ecbae1 Webrevs: - full: https://webrevs.openjdk.org/?repo=panama-foreign&pr=811&range=01 - incr: https://webrevs.openjdk.org/?repo=panama-foreign&pr=811&range=00-01 Stats: 26 lines in 1 file changed: 26 ins; 0 del; 0 mod Patch: https://git.openjdk.org/panama-foreign/pull/811.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/811/head:pull/811 PR: https://git.openjdk.org/panama-foreign/pull/811 From maurizio.cimadamore at oracle.com Mon Mar 6 16:51:52 2023 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Mon, 6 Mar 2023 16:51:52 +0000 Subject: Are generated bindings blocking or not In-Reply-To: References: Message-ID: <3f10a599-7465-a714-835a-bcba7b15df36@oracle.com> There is no special semantics associated to native methods. E.g. you would get the same blocking behavior you'd get when calling the function with C: if the function returns immediately, that same function, invoked via a downcall method handle should also return immediately. If the target function spins an asynchronous thread and performs some extra execution there, Panama will *not* wait for that computation to end (again, same as C). Maurizio On 06/03/2023 15:51, Martin Pernollet wrote: > Hi, > > While trying to compare the performance of generated binding with > frameworks that do not use Panama, I was surprised to measure a (too) > small time while invoking Panama generated methods in one of my > benchmarks. > > I thus wondered if these methods are blocking or not while invoking > their native counterparts? > > Thanks in advance! > > Martin -------------- next part -------------- An HTML attachment was scrubbed... URL: From jvernee at openjdk.org Mon Mar 6 18:13:09 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Mon, 6 Mar 2023 18:13:09 GMT Subject: [foreign-memaccess+abi] RFR: 8303666: Move address layout outside of ValueLayout namespace [v2] In-Reply-To: References: Message-ID: On Mon, 6 Mar 2023 16:24:22 GMT, Maurizio Cimadamore wrote: >> This patch moves ValueLayout.OfAddress into a toplevel class. This seems desirable since address layouts are very important in the FFM API, and also provides seadditional methods on top of `ValueLayout` to get/set a *target layout*. > > Maurizio Cimadamore has updated the pull request incrementally with one additional commit since the last revision: > > Add copyright header Marked as reviewed by jvernee (Committer). src/java.base/share/classes/java/lang/foreign/AddressLayout.java line 46: > 44: * layout is used to model the layout of the region of memory whose address is described by that address layout. > 45: * For instance, if an address layout has target layout {@link ValueLayout#JAVA_INT}, the region of memory pointed to by the address > 46: * described by the address layout is 4 bytes long. Specifying a target layout can be useful in the following situations: Some redundant text here it seems Suggestion: * For instance, if an address layout has target layout {@link ValueLayout#JAVA_INT}, the region of memory * described by the address layout is 4 bytes long. Specifying a target layout can be useful in the following situations: ------------- PR: https://git.openjdk.org/panama-foreign/pull/811 From mcimadamore at openjdk.org Tue Mar 7 10:16:59 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Tue, 7 Mar 2023 10:16:59 GMT Subject: [foreign-memaccess+abi] Integrated: 8301803: Rename MemorySegment::array In-Reply-To: References: Message-ID: On Mon, 6 Mar 2023 14:18:52 GMT, Maurizio Cimadamore wrote: > This patch picks up a loose end from Java 20: the name of `MemorySegment::array` is potentially too specific and will not scale when memory segment will be able to cover parts of Java objects contained flattened value types. The method is renamed here to `heapBase`, which is more general. > > As I was fixing this, I realized that the behavior of this method was undocumented - that is, the method returns an empty optional for native segments. Also, I realized that for heap segments we did not check the reado-only status. The ByteBuffer does this, to prevent the contents of a read-only buffer to be written using the array. We should do the same here. This pull request has now been integrated. Changeset: a377942f Author: Maurizio Cimadamore URL: https://git.openjdk.org/panama-foreign/commit/a377942fcffcab11fb9c7a7388a2e763720f0190 Stats: 19 lines in 6 files changed: 8 ins; 2 del; 9 mod 8301803: Rename MemorySegment::array Reviewed-by: jvernee ------------- PR: https://git.openjdk.org/panama-foreign/pull/809 From mcimadamore at openjdk.org Tue Mar 7 10:19:00 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Tue, 7 Mar 2023 10:19:00 GMT Subject: [foreign-memaccess+abi] Integrated: 8303667: Drop MemoryLayout::valueLayout factory In-Reply-To: References: Message-ID: On Mon, 6 Mar 2023 14:45:28 GMT, Maurizio Cimadamore wrote: > We have been thinking more about how the layout API might be affected by Valhalla specialized types. With Valhalla, it might be possible to, eventually, get rid of hand-specialized classes such as `ValueLayout.OfInt` and friends, and replace them either with `ValueLayout`, or some `ScalarLayout` (where `ScalarLayout extends ValueLayout`). This would allow us to, also eventually, only provide _one_ accessor for all value/scalar layouts in `MemorySegment`. > > Under this migration scenario, having a toplevel factory such as `MemoryLayout::valueLayout`, whose semantics is strictly defined in terms of the hand-specialzied classes doesn't seem a great idea. > > Since this factory is only used rarely (mostly in tests - we could not find any usage in existing GitHub projects targeting the FFM API), it would be better to remove it, to avoid having to deal with pesky migration issues later. > > Of course, if you are aware of cases we missed where the factory is used in the wild, please let us know. (Although, in general, it is not too difficult to re-iimplement a similar method using the `ValueLayout` constants - `jextract` will need to do this, for instance). This pull request has now been integrated. Changeset: 3e5ec05c Author: Maurizio Cimadamore URL: https://git.openjdk.org/panama-foreign/commit/3e5ec05c0e263e06ff0d36f8ddb1374dea18c0c6 Stats: 149 lines in 7 files changed: 51 ins; 95 del; 3 mod 8303667: Drop MemoryLayout::valueLayout factory Reviewed-by: jvernee ------------- PR: https://git.openjdk.org/panama-foreign/pull/810 From mcimadamore at openjdk.org Tue Mar 7 10:19:00 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Tue, 7 Mar 2023 10:19:00 GMT Subject: [foreign-memaccess+abi] RFR: 8303666: Move address layout outside of ValueLayout namespace [v2] In-Reply-To: References: Message-ID: On Mon, 6 Mar 2023 18:06:38 GMT, Jorn Vernee wrote: >> Maurizio Cimadamore has updated the pull request incrementally with one additional commit since the last revision: >> >> Add copyright header > > src/java.base/share/classes/java/lang/foreign/AddressLayout.java line 46: > >> 44: * layout is used to model the layout of the region of memory whose address is described by that address layout. >> 45: * For instance, if an address layout has target layout {@link ValueLayout#JAVA_INT}, the region of memory pointed to by the address >> 46: * described by the address layout is 4 bytes long. Specifying a target layout can be useful in the following situations: > > Some redundant text here it seems > Suggestion: > > * For instance, if an address layout has target layout {@link ValueLayout#JAVA_INT}, the region of memory > * described by the address layout is 4 bytes long. Specifying a target layout can be useful in the following situations: Not sure about this - (I went a bit back and forth with the javadoc text). An address layout describe an address value, not a memory region. E.g. it describes 64 bits. With a target layout you can say that those 64 bits point to a memory region that has a given layout. It is a bit convoluted to describe. ------------- PR: https://git.openjdk.org/panama-foreign/pull/811 From mcimadamore at openjdk.org Tue Mar 7 10:31:00 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Tue, 7 Mar 2023 10:31:00 GMT Subject: [foreign-memaccess+abi] RFR: 8303666: Move address layout outside of ValueLayout namespace [v3] In-Reply-To: References: Message-ID: > This patch moves ValueLayout.OfAddress into a toplevel class. This seems desirable since address layouts are very important in the FFM API, and also provides seadditional methods on top of `ValueLayout` to get/set a *target layout*. Maurizio Cimadamore has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains four commits: - Simplify AddressLayout javadoc - Merge branch 'foreign-memaccess+abi' into address_layout_move - Add copyright header - Initial push ------------- Changes: https://git.openjdk.org/panama-foreign/pull/811/files Webrev: https://webrevs.openjdk.org/?repo=panama-foreign&pr=811&range=02 Stats: 268 lines in 31 files changed: 133 ins; 72 del; 63 mod Patch: https://git.openjdk.org/panama-foreign/pull/811.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/811/head:pull/811 PR: https://git.openjdk.org/panama-foreign/pull/811 From mcimadamore at openjdk.org Tue Mar 7 10:31:02 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Tue, 7 Mar 2023 10:31:02 GMT Subject: [foreign-memaccess+abi] RFR: 8303666: Move address layout outside of ValueLayout namespace [v2] In-Reply-To: References: Message-ID: On Tue, 7 Mar 2023 10:16:09 GMT, Maurizio Cimadamore wrote: >> src/java.base/share/classes/java/lang/foreign/AddressLayout.java line 46: >> >>> 44: * layout is used to model the layout of the region of memory whose address is described by that address layout. >>> 45: * For instance, if an address layout has target layout {@link ValueLayout#JAVA_INT}, the region of memory pointed to by the address >>> 46: * described by the address layout is 4 bytes long. Specifying a target layout can be useful in the following situations: >> >> Some redundant text here it seems >> Suggestion: >> >> * For instance, if an address layout has target layout {@link ValueLayout#JAVA_INT}, the region of memory >> * described by the address layout is 4 bytes long. Specifying a target layout can be useful in the following situations: > > Not sure about this - (I went a bit back and forth with the javadoc text). An address layout describe an address value, not a memory region. E.g. it describes 64 bits. With a target layout you can say that those 64 bits point to a memory region that has a given layout. It is a bit convoluted to describe. Gave it another stab - let me know what you think. ------------- PR: https://git.openjdk.org/panama-foreign/pull/811 From jvernee at openjdk.org Tue Mar 7 12:59:21 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Tue, 7 Mar 2023 12:59:21 GMT Subject: [foreign-memaccess+abi] RFR: 8303666: Move address layout outside of ValueLayout namespace [v3] In-Reply-To: References: Message-ID: On Tue, 7 Mar 2023 10:31:00 GMT, Maurizio Cimadamore wrote: >> This patch moves ValueLayout.OfAddress into a toplevel class. This seems desirable since address layouts are very important in the FFM API, and also provides seadditional methods on top of `ValueLayout` to get/set a *target layout*. > > Maurizio Cimadamore has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains four commits: > > - Simplify AddressLayout javadoc > - Merge branch 'foreign-memaccess+abi' into address_layout_move > - Add copyright header > - Initial push Nice! ------------- Marked as reviewed by jvernee (Committer). PR: https://git.openjdk.org/panama-foreign/pull/811 From mcimadamore at openjdk.org Tue Mar 7 13:17:54 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Tue, 7 Mar 2023 13:17:54 GMT Subject: [foreign-memaccess+abi] Integrated: 8303666: Move address layout outside of ValueLayout namespace In-Reply-To: References: Message-ID: The message from this sender included one or more files which could not be scanned for virus detection; do not open these files unless you are certain of the sender's intent. ---------------------------------------------------------------------- On Mon, 6 Mar 2023 16:07:11 GMT, Maurizio Cimadamore wrote: > This patch moves ValueLayout.OfAddress into a toplevel class. This seems desirable since address layouts are very important in the FFM API, and also provides seadditional methods on top of `ValueLayout` to get/set a *target layout*. This pull request has now been integrated. Changeset: 8fb623d4 Author: Maurizio Cimadamore URL: https://git.openjdk.org/panama-foreign/commit/8fb623d4b3bd509bc548f249167d18d0845cad31 Stats: 268 lines in 31 files changed: 133 ins; 72 del; 63 mod 8303666: Move address layout outside of ValueLayout namespace Reviewed-by: jvernee ------------- PR: https://git.openjdk.org/panama-foreign/pull/811 From mcimadamore at openjdk.org Tue Mar 7 15:50:35 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Tue, 7 Mar 2023 15:50:35 GMT Subject: [foreign-memaccess+abi] RFR: 8303757: MemorySegment::reinterpret should accept an Arena Message-ID: This patch tweaks the signature of `MemorySegment::reinterpret` to accept `Arena` instead of just `MemorySegment.Scope`. After some more thinking, I realized that the current scope-accepting methods imply that there is an action at a distance: passing an arena scope to `MemorySegment::reinterpret` not only results in new temporal bounds (which is ok, since `Scope` is about that), but also sets confinement constraints too (which is surprising, as a `Scope` doesn't have a notion of confinement). For this reason, I've dialled back the signature to take an `Arena`. This makes the API more consistent (now "of course" the confinement properties of the returned segment will be specified by the provided arena). It also removes a bit of verbosity at the use site, as doing `arena.scope()` is no longer required. ------------- Commit messages: - Initial push Changes: https://git.openjdk.org/panama-foreign/pull/812/files Webrev: https://webrevs.openjdk.org/?repo=panama-foreign&pr=812&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8303757 Stats: 75 lines in 18 files changed: 25 ins; 6 del; 44 mod Patch: https://git.openjdk.org/panama-foreign/pull/812.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/812/head:pull/812 PR: https://git.openjdk.org/panama-foreign/pull/812 From jvernee at openjdk.org Tue Mar 7 16:33:00 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Tue, 7 Mar 2023 16:33:00 GMT Subject: [foreign-memaccess+abi] RFR: 8303757: MemorySegment::reinterpret should accept an Arena In-Reply-To: References: Message-ID: On Tue, 7 Mar 2023 15:42:45 GMT, Maurizio Cimadamore wrote: > This patch tweaks the signature of `MemorySegment::reinterpret` to accept `Arena` instead of just `MemorySegment.Scope`. After some more thinking, I realized that the current scope-accepting methods imply that there is an action at a distance: passing an arena scope to `MemorySegment::reinterpret` not only results in new temporal bounds (which is ok, since `Scope` is about that), but also sets confinement constraints too (which is surprising, as a `Scope` doesn't have a notion of confinement). > > For this reason, I've dialled back the signature to take an `Arena`. This makes the API more consistent (now "of course" the confinement properties of the returned segment will be specified by the provided arena). It also removes a bit of verbosity at the use site, as doing `arena.scope()` is no longer required. src/java.base/share/classes/java/lang/foreign/MemorySegment.java line 592: > 590: * Returns a new memory segment with the same address and size as this segment, but with the provided scope. > 591: * As such, the returned segment cannot be accessed after the provided arena has been closed. > 592: * Moreover, if the returned segment can be accessed compatibly with the confinement restrictions associated with the Suggestion: * Moreover, the returned segment can be accessed compatibly with the confinement restrictions associated with the src/java.base/share/classes/java/lang/foreign/MemorySegment.java line 596: > 594: * the returned segment can only be accessed by the arena's owner thread, regardless of the confinement restrictions > 595: * associated with this segment. In other words, this method returns a segment that behaves as if it had been allocated > 596: * using the provided arena. "In other words, this method returns a segment that behaves as if it had been allocated using the provided arena." I think this is a really nice way to explain this. src/java.base/share/classes/java/lang/foreign/MemorySegment.java line 604: > 602: * } > 603: * That is, the cleanup action receives a segment that is associated with a fresh scope that is always alive, > 604: * and is accessible from any thread. The size of the segment accepted by the cleanup action is {@code newSize}. There's no `newSize` here. Looking at the implementation, I think this should be: Suggestion: * and is accessible from any thread. The size of the segment accepted by the cleanup action is {@link #byteSize()}. ------------- PR: https://git.openjdk.org/panama-foreign/pull/812 From mcimadamore at openjdk.org Tue Mar 7 17:52:09 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Tue, 7 Mar 2023 17:52:09 GMT Subject: [foreign-memaccess+abi] RFR: 8303757: MemorySegment::reinterpret should accept an Arena [v2] In-Reply-To: References: Message-ID: > This patch tweaks the signature of `MemorySegment::reinterpret` to accept `Arena` instead of just `MemorySegment.Scope`. After some more thinking, I realized that the current scope-accepting methods imply that there is an action at a distance: passing an arena scope to `MemorySegment::reinterpret` not only results in new temporal bounds (which is ok, since `Scope` is about that), but also sets confinement constraints too (which is surprising, as a `Scope` doesn't have a notion of confinement). > > For this reason, I've dialled back the signature to take an `Arena`. This makes the API more consistent (now "of course" the confinement properties of the returned segment will be specified by the provided arena). It also removes a bit of verbosity at the use site, as doing `arena.scope()` is no longer required. Maurizio Cimadamore has updated the pull request incrementally with two additional commits since the last revision: - 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/812/files - new: https://git.openjdk.org/panama-foreign/pull/812/files/d70ea30c..66a791f6 Webrevs: - full: https://webrevs.openjdk.org/?repo=panama-foreign&pr=812&range=01 - incr: https://webrevs.openjdk.org/?repo=panama-foreign&pr=812&range=00-01 Stats: 2 lines in 1 file changed: 0 ins; 0 del; 2 mod Patch: https://git.openjdk.org/panama-foreign/pull/812.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/812/head:pull/812 PR: https://git.openjdk.org/panama-foreign/pull/812 From mcimadamore at openjdk.org Tue Mar 7 17:52:13 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Tue, 7 Mar 2023 17:52:13 GMT Subject: [foreign-memaccess+abi] RFR: 8303757: MemorySegment::reinterpret should accept an Arena [v2] In-Reply-To: References: Message-ID: On Tue, 7 Mar 2023 16:27:12 GMT, Jorn Vernee wrote: >> Maurizio Cimadamore has updated the pull request incrementally with two additional commits since the last revision: >> >> - 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 > > src/java.base/share/classes/java/lang/foreign/MemorySegment.java line 604: > >> 602: * } >> 603: * That is, the cleanup action receives a segment that is associated with a fresh scope that is always alive, >> 604: * and is accessible from any thread. The size of the segment accepted by the cleanup action is {@code newSize}. > > There's no `newSize` here. Looking at the implementation, I think this should be: > Suggestion: > > * and is accessible from any thread. The size of the segment accepted by the cleanup action is {@link #byteSize()}. Good catch! ------------- PR: https://git.openjdk.org/panama-foreign/pull/812 From jvernee at openjdk.org Tue Mar 7 18:07:31 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Tue, 7 Mar 2023 18:07:31 GMT Subject: [foreign-memaccess+abi] RFR: 8303757: MemorySegment::reinterpret should accept an Arena [v2] In-Reply-To: References: Message-ID: The message from this sender included one or more files which could not be scanned for virus detection; do not open these files unless you are certain of the sender's intent. ---------------------------------------------------------------------- On Tue, 7 Mar 2023 17:52:09 GMT, Maurizio Cimadamore wrote: >> This patch tweaks the signature of `MemorySegment::reinterpret` to accept `Arena` instead of just `MemorySegment.Scope`. After some more thinking, I realized that the current scope-accepting methods imply that there is an action at a distance: passing an arena scope to `MemorySegment::reinterpret` not only results in new temporal bounds (which is ok, since `Scope` is about that), but also sets confinement constraints too (which is surprising, as a `Scope` doesn't have a notion of confinement). >> >> For this reason, I've dialled back the signature to take an `Arena`. This makes the API more consistent (now "of course" the confinement properties of the returned segment will be specified by the provided arena). It also removes a bit of verbosity at the use site, as doing `arena.scope()` is no longer required. > > Maurizio Cimadamore has updated the pull request incrementally with two additional commits since the last revision: > > - 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). ------------- PR: https://git.openjdk.org/panama-foreign/pull/812 From mcimadamore at openjdk.org Tue Mar 7 19:11:44 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Tue, 7 Mar 2023 19:11:44 GMT Subject: [foreign-memaccess+abi] Integrated: 8303757: MemorySegment::reinterpret should accept an Arena In-Reply-To: References: Message-ID: On Tue, 7 Mar 2023 15:42:45 GMT, Maurizio Cimadamore wrote: > This patch tweaks the signature of `MemorySegment::reinterpret` to accept `Arena` instead of just `MemorySegment.Scope`. After some more thinking, I realized that the current scope-accepting methods imply that there is an action at a distance: passing an arena scope to `MemorySegment::reinterpret` not only results in new temporal bounds (which is ok, since `Scope` is about that), but also sets confinement constraints too (which is surprising, as a `Scope` doesn't have a notion of confinement). > > For this reason, I've dialled back the signature to take an `Arena`. This makes the API more consistent (now "of course" the confinement properties of the returned segment will be specified by the provided arena). It also removes a bit of verbosity at the use site, as doing `arena.scope()` is no longer required. This pull request has now been integrated. Changeset: 8dcd168e Author: Maurizio Cimadamore URL: https://git.openjdk.org/panama-foreign/commit/8dcd168ef7f765d1379edbac972ffc4751997c64 Stats: 75 lines in 18 files changed: 25 ins; 6 del; 44 mod 8303757: MemorySegment::reinterpret should accept an Arena Reviewed-by: jvernee ------------- PR: https://git.openjdk.org/panama-foreign/pull/812 From jvernee at openjdk.org Wed Mar 8 18:04:51 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Wed, 8 Mar 2023 18:04:51 GMT Subject: [foreign-memaccess+abi] RFR: 8296315: Add get/set-AtIndex methods for byte, boolean [v2] In-Reply-To: References: Message-ID: <7riR21GcJc5kL_qxSJEWzOuFNzaYdYfcZXtgx9ydnU4=.2a75eadf-84d8-4146-a09b-9ab19023fd4e@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 @RedIODev We've discussed this PR with the team, and we'd still like to take in this change. Apologies that the process has been a bit messy so far. Do you want to take another look at this PR? (Unfortunately there are likely other changes needed on top of the ones I listed above, since the API has changed again). If not, we could also take over and add these methods in a separate PR, if that seems more convenient. ------------- PR: https://git.openjdk.org/panama-foreign/pull/747 From jvernee at openjdk.org Wed Mar 8 23:11:32 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Wed, 8 Mar 2023 23:11:32 GMT Subject: [foreign-memaccess+abi] RFR: 8303835: Remove uncaught exception handler linker option Message-ID: Remove the uncaught exception handler linker option for now. It does not seem polished enough, and using the thread's uncaught exception handler seems problematic as well. ------------- Commit messages: - remove uncaught exception handler linker option Changes: https://git.openjdk.org/panama-foreign/pull/813/files Webrev: https://webrevs.openjdk.org/?repo=panama-foreign&pr=813&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8303835 Stats: 113 lines in 11 files changed: 0 ins; 98 del; 15 mod Patch: https://git.openjdk.org/panama-foreign/pull/813.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/813/head:pull/813 PR: https://git.openjdk.org/panama-foreign/pull/813 From mcimadamore at openjdk.org Wed Mar 8 23:22:32 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Wed, 8 Mar 2023 23:22:32 GMT Subject: [foreign-memaccess+abi] RFR: 8303835: Remove uncaught exception handler linker option In-Reply-To: References: Message-ID: On Wed, 8 Mar 2023 20:41:06 GMT, Jorn Vernee wrote: > Remove the uncaught exception handler linker option for now. It does not seem polished enough, and using the thread's uncaught exception handler seems problematic as well. Marked as reviewed by mcimadamore (Committer). ------------- PR: https://git.openjdk.org/panama-foreign/pull/813 From dholmes at openjdk.org Thu Mar 9 03:13:31 2023 From: dholmes at openjdk.org (David Holmes) Date: Thu, 9 Mar 2023 03:13:31 GMT Subject: [foreign-memaccess+abi] RFR: 8303835: Remove uncaught exception handler linker option In-Reply-To: References: Message-ID: On Wed, 8 Mar 2023 20:41:06 GMT, Jorn Vernee wrote: > Remove the uncaught exception handler linker option for now. It does not seem polished enough, and using the thread's uncaught exception handler seems problematic as well. Thumbs up on not using the thread's uncaughtExceptionHandler :) src/java.base/share/classes/jdk/internal/foreign/abi/SharedUtils.java line 315: > 313: if (t != null) { > 314: t.printStackTrace(); > 315: System.err.println("Unrecoverable uncaught exception encountered. The VM will now exit"); Suggestion: try { t.printSackTrace(); System.err... } finally { JLA.exit(1); } ------------- PR: https://git.openjdk.org/panama-foreign/pull/813 From pminborg at openjdk.org Thu Mar 9 10:22:47 2023 From: pminborg at openjdk.org (Per Minborg) Date: Thu, 9 Mar 2023 10:22:47 GMT Subject: [foreign-memaccess+abi] RFR: 8303879: Add MemoryLayout.withNoName() Message-ID: <-7Yo1TSD1gt0XCSpkIagEDUxrZvirCoZf7nOZ4xjY78=.52d231d0-e0b9-46c1-ba93-e5a7c8913de7@github.com> This PR proposes to add a method `MemoryLayout::withNoName` which allows `MemoryLayout` instances to be checked for functional equivalence (i.e. "everything except the name is the same"). This might be useful for reuse, caching etc. of MemoryLayouts and constructs that consists/depends on one or more `MemoryLayout` instance. ------------- Commit messages: - Cleanup test - Add MemoryLayout.withNoName() Changes: https://git.openjdk.org/panama-foreign/pull/814/files Webrev: https://webrevs.openjdk.org/?repo=panama-foreign&pr=814&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8303879 Stats: 150 lines in 10 files changed: 131 ins; 0 del; 19 mod Patch: https://git.openjdk.org/panama-foreign/pull/814.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/814/head:pull/814 PR: https://git.openjdk.org/panama-foreign/pull/814 From pminborg at openjdk.org Thu Mar 9 10:48:15 2023 From: pminborg at openjdk.org (Per Minborg) Date: Thu, 9 Mar 2023 10:48:15 GMT Subject: [foreign-memaccess+abi] RFR: 8303879: Add MemoryLayout.withoutName() [v2] In-Reply-To: <-7Yo1TSD1gt0XCSpkIagEDUxrZvirCoZf7nOZ4xjY78=.52d231d0-e0b9-46c1-ba93-e5a7c8913de7@github.com> References: <-7Yo1TSD1gt0XCSpkIagEDUxrZvirCoZf7nOZ4xjY78=.52d231d0-e0b9-46c1-ba93-e5a7c8913de7@github.com> Message-ID: > This PR proposes to add a method `MemoryLayout::withoutName` which allows `MemoryLayout` instances to be checked for functional equivalence (i.e. "everything except the name is the same"). This might be useful for reuse, caching etc. of MemoryLayouts and constructs that consists/depends on one or more `MemoryLayout` instance. Per Minborg has updated the pull request incrementally with one additional commit since the last revision: Rename method name ------------- Changes: - all: https://git.openjdk.org/panama-foreign/pull/814/files - new: https://git.openjdk.org/panama-foreign/pull/814/files/a91475ec..03cdf295 Webrevs: - full: https://webrevs.openjdk.org/?repo=panama-foreign&pr=814&range=01 - incr: https://webrevs.openjdk.org/?repo=panama-foreign&pr=814&range=00-01 Stats: 34 lines in 10 files changed: 0 ins; 2 del; 32 mod Patch: https://git.openjdk.org/panama-foreign/pull/814.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/814/head:pull/814 PR: https://git.openjdk.org/panama-foreign/pull/814 From mcimadamore at openjdk.org Thu Mar 9 10:48:18 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Thu, 9 Mar 2023 10:48:18 GMT Subject: [foreign-memaccess+abi] RFR: 8303879: Add MemoryLayout.withoutName() [v2] In-Reply-To: References: <-7Yo1TSD1gt0XCSpkIagEDUxrZvirCoZf7nOZ4xjY78=.52d231d0-e0b9-46c1-ba93-e5a7c8913de7@github.com> Message-ID: On Thu, 9 Mar 2023 10:43:44 GMT, Per Minborg wrote: >> This PR proposes to add a method `MemoryLayout::withoutName` which allows `MemoryLayout` instances to be checked for functional equivalence (i.e. "everything except the name is the same"). This might be useful for reuse, caching etc. of MemoryLayouts and constructs that consists/depends on one or more `MemoryLayout` instance. > > Per Minborg has updated the pull request incrementally with one additional commit since the last revision: > > Rename method name Looks good - nice beefing up of the test src/java.base/share/classes/java/lang/foreign/MemoryLayout.java line 208: > 206: * but with no name. > 207: *

> 208: * Nameless layouts can be checked for equality to see if they are otherwise equal. Suggestion: * This can be useful to compare two layouts that have different names, but are otherwise equal. src/java.base/share/classes/java/lang/foreign/ValueLayout.java line 516: > 514: > 515: /** > 516: * A nameless unaligned value layout constant whose size is the same as that of a Java {@code short} I would avoid saying "nameless" here - names are optional - if we don't say anything, it implies that users shouldn't make any assumption on the name being there. ------------- PR: https://git.openjdk.org/panama-foreign/pull/814 From laeubi at laeubi-soft.de Thu Mar 9 11:05:20 2023 From: laeubi at laeubi-soft.de (=?UTF-8?Q?Christoph_L=c3=a4ubrich?=) Date: Thu, 9 Mar 2023 12:05:20 +0100 Subject: Are there plans to have an option for jextract to create an optimized binding? Message-ID: <58d5b858-6131-e98a-35a1-abf24dfa5d57@laeubi-soft.de> Hi Panama Devs, I hope the mailinglist is the right place for such questions/discussions/ideas, as the github repository has not enabled Github-Discussions. jextract is doing a great work, but for some libs it produces a very very large result ( ~ 3000 files or more), I therefore wonder if it would be possible to have jextract passing some code (e.g. a jar) using the binding and then it generates an optimized binding that only contains the functions/constants that are actually used in the java code? thank in advance, Christoph From pminborg at openjdk.org Thu Mar 9 11:07:21 2023 From: pminborg at openjdk.org (Per Minborg) Date: Thu, 9 Mar 2023 11:07:21 GMT Subject: [foreign-memaccess+abi] RFR: 8303888: Add AddressLayout.withoutTargetLayout Message-ID: This PR proposes to add a `AddressLayout.withoutTargetLayout()` method for symmetry reasons. This allows AddressLayout to be converted back to raw addresses. Discussion point: Should this method require native access? ------------- Commit messages: - Add AddressLayout.withoutTargetLayout Changes: https://git.openjdk.org/panama-foreign/pull/815/files Webrev: https://webrevs.openjdk.org/?repo=panama-foreign&pr=815&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8303888 Stats: 16 lines in 3 files changed: 16 ins; 0 del; 0 mod Patch: https://git.openjdk.org/panama-foreign/pull/815.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/815/head:pull/815 PR: https://git.openjdk.org/panama-foreign/pull/815 From maurizio.cimadamore at oracle.com Thu Mar 9 11:18:05 2023 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Thu, 9 Mar 2023 11:18:05 +0000 Subject: Are there plans to have an option for jextract to create an optimized binding? In-Reply-To: <58d5b858-6131-e98a-35a1-abf24dfa5d57@laeubi-soft.de> References: <58d5b858-6131-e98a-35a1-abf24dfa5d57@laeubi-soft.de> Message-ID: <07d32462-003a-89b9-e30c-a9e814506d1a@oracle.com> Hi Christoph, note that jextract already supports a filtering mechanism. The basic usage is described here: https://github.com/openjdk/jextract#filtering-symbols That is: 1. you can run jextract in a way so that it dumps all the symbols it could find during its execution (--dump-includes=) 2. you can then edit the generated file, and drop all the symbols your application doesn't care about 3. you can pass the edited file back to jextract, as an "argfile" e.g. "@" This will only generate bindings for the things you care about. Hope this helps Maurizio On 09/03/2023 11:05, Christoph L?ubrich wrote: > Hi Panama Devs, > > I hope the mailinglist is the right place for such > questions/discussions/ideas, as the github repository has not enabled > Github-Discussions. > > jextract is doing a great work, but for some libs it produces a very > very large result ( ~ 3000 files or more), I therefore wonder if it > would be possible to have jextract passing some code (e.g. a jar) > using the binding and then it generates an optimized binding that only > contains the functions/constants that are actually used in the java code? > > thank in advance, > Christoph From alan.paxton at gmail.com Thu Mar 9 11:15:32 2023 From: alan.paxton at gmail.com (Alan Paxton) Date: Thu, 9 Mar 2023 11:15:32 +0000 Subject: Understanding the performance of my FFI-based API Message-ID: Hi, I hope this is an appropriate list for this question. I have been prototyping an FFI-based version of the RocksDB Java API, which is currently implemented in JNI. RocksDB is a C++ based key,value-store with a Java API layered on top. I have done some benchmarking of the FFI implementation, versus the JNI version and I find it performs consistently slightly slower than the current API. I would like to understand if this is to be expected, e.g. does FFI do more safety checking under the covers when calling a native method ? Or is the performance likely to improve between the preview in Java 19 and release in Java 21 ? If there are resources or suggestions that would help me dig into the performance I'd be very grateful to be pointed to them. For the use case I'm measuring, data is transferred in native memory originally allocated by RocksDB in C++ which I wrap as a MemorySegment; I do allocate native memory for the request structure. These are links to the PR and some documentation of the work: https://github.com/facebook/rocksdb/pull/11095 https://github.com/alanpaxton/rocksdb/blob/eb-1680-panama-ffi/java/JavaFFI.md Many thanks, Alan Paxton -------------- next part -------------- An HTML attachment was scrubbed... URL: From maurizio.cimadamore at oracle.com Thu Mar 9 11:29:46 2023 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Thu, 9 Mar 2023 11:29:46 +0000 Subject: Understanding the performance of my FFI-based API In-Reply-To: References: Message-ID: Hi Alan, first of all, I'd like to thank you for taking the time to share your experience and to write it all up in a document. Stuff like that is very valuable to us, especially at this stage in the project. One quick suggestion when eyeballing your code: your method handles are "static", but not "final". I suggest you try to sprinkle "final" in, and see whether that does the trick. If not, we'd have to look deeper. Cheers Maurizio On 09/03/2023 11:15, Alan Paxton wrote: > Hi, > > I hope this is an appropriate list for this question. > > I have been prototyping an FFI-based version of the RocksDB Java API, > which is currently implemented in JNI. RocksDB is a C++ based > key,value-store with a Java API layered on top. I have done some > benchmarking of the FFI implementation, versus the JNI version and I > find it performs consistently slightly slower than the current API. > > I would like to understand if this is to be expected, e.g. does FFI do > more safety checking under the covers when calling a native method ? > Or is the performance likely to improve between the preview in Java 19 > and release in Java 21 ? > If there are resources or suggestions that would help me dig into the > performance I'd be very grateful to be pointed to them. > > For the use case I'm measuring, data is transferred in native memory > originally allocated by RocksDB in C++ which I wrap as a > MemorySegment; I do allocate native memory for the request structure. > > These are links to the PR and some documentation of the work: > > https://github.com/facebook/rocksdb/pull/11095 > https://github.com/alanpaxton/rocksdb/blob/eb-1680-panama-ffi/java/JavaFFI.md > > Many thanks, > Alan Paxton > From mcimadamore at openjdk.org Thu Mar 9 11:35:46 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Thu, 9 Mar 2023 11:35:46 GMT Subject: [foreign-memaccess+abi] RFR: 8303888: Add AddressLayout.withoutTargetLayout In-Reply-To: References: Message-ID: <9jLXw_l1M4JnSimPO8mB8XZ4UpvYF2wKNurBvK9yQKQ=.1e81a5ce-4cf9-468e-8983-139bf08feb96@github.com> On Thu, 9 Mar 2023 11:00:50 GMT, Per Minborg wrote: > This PR proposes to add a `AddressLayout.withoutTargetLayout()` method for symmetry reasons. This allows AddressLayout to be converted back to raw addresses. > > Discussion point: Should this method require native access? src/java.base/share/classes/java/lang/foreign/AddressLayout.java line 115: > 113: * @see #targetLayout() > 114: */ > 115: AddressLayout withoutTargetLayout(); The term "raw address" is not defined elsewhere. I'd suggest to leave the last sentence out, and maybe replace it with something similar to what you did for "withoutName" (e.g. useful to compare, yada yada). ------------- PR: https://git.openjdk.org/panama-foreign/pull/815 From mcimadamore at openjdk.org Thu Mar 9 11:35:46 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Thu, 9 Mar 2023 11:35:46 GMT Subject: [foreign-memaccess+abi] RFR: 8303888: Add AddressLayout.withoutTargetLayout In-Reply-To: <9jLXw_l1M4JnSimPO8mB8XZ4UpvYF2wKNurBvK9yQKQ=.1e81a5ce-4cf9-468e-8983-139bf08feb96@github.com> References: <9jLXw_l1M4JnSimPO8mB8XZ4UpvYF2wKNurBvK9yQKQ=.1e81a5ce-4cf9-468e-8983-139bf08feb96@github.com> Message-ID: On Thu, 9 Mar 2023 11:32:23 GMT, Maurizio Cimadamore wrote: >> This PR proposes to add a `AddressLayout.withoutTargetLayout()` method for symmetry reasons. This allows AddressLayout to be converted back to raw addresses. >> >> Discussion point: Should this method require native access? > > src/java.base/share/classes/java/lang/foreign/AddressLayout.java line 115: > >> 113: * @see #targetLayout() >> 114: */ >> 115: AddressLayout withoutTargetLayout(); > > The term "raw address" is not defined elsewhere. I'd suggest to leave the last sentence out, and maybe replace it with something similar to what you did for "withoutName" (e.g. useful to compare, yada yada). And, no need to make this a restricted method, because this effectively turns a "more privileged" address layout into a "less privileged" one. ------------- PR: https://git.openjdk.org/panama-foreign/pull/815 From laeubi at laeubi-soft.de Thu Mar 9 11:46:40 2023 From: laeubi at laeubi-soft.de (=?UTF-8?Q?Christoph_L=c3=a4ubrich?=) Date: Thu, 9 Mar 2023 12:46:40 +0100 Subject: Are there plans to have an option for jextract to create an optimized binding? In-Reply-To: <07d32462-003a-89b9-e30c-a9e814506d1a@oracle.com> References: <58d5b858-6131-e98a-35a1-abf24dfa5d57@laeubi-soft.de> <07d32462-003a-89b9-e30c-a9e814506d1a@oracle.com> Message-ID: Hi Maurizio,, that already looks promising! Would be cool if jextract could even automate this, so it finds the symbols from existing class files? I can think about the following: 1) I generate all bindings 2) I have my code and test finished, and run jextract again, passing it my jar file 3) I get a binding with only things required. because for a complex binding I can think its quite hard to find out what I don't care about. Am 09.03.23 um 12:18 schrieb Maurizio Cimadamore: > Hi Christoph, > note that jextract already supports a filtering mechanism. The basic > usage is described here: > > https://github.com/openjdk/jextract#filtering-symbols > > That is: > > 1. you can run jextract in a way so that it dumps all the symbols it > could find during its execution (--dump-includes=) > 2. you can then edit the generated file, and drop all the symbols your > application doesn't care about > 3. you can pass the edited file back to jextract, as an "argfile" e.g. > "@" > > This will only generate bindings for the things you care about. > > Hope this helps > > Maurizio > > > On 09/03/2023 11:05, Christoph L?ubrich wrote: >> Hi Panama Devs, >> >> I hope the mailinglist is the right place for such >> questions/discussions/ideas, as the github repository has not enabled >> Github-Discussions. >> >> jextract is doing a great work, but for some libs it produces a very >> very large result ( ~ 3000 files or more), I therefore wonder if it >> would be possible to have jextract passing some code (e.g. a jar) >> using the binding and then it generates an optimized binding that only >> contains the functions/constants that are actually used in the java code? >> >> thank in advance, >> Christoph From maurizio.cimadamore at oracle.com Thu Mar 9 11:51:22 2023 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Thu, 9 Mar 2023 11:51:22 +0000 Subject: Are there plans to have an option for jextract to create an optimized binding? In-Reply-To: References: <58d5b858-6131-e98a-35a1-abf24dfa5d57@laeubi-soft.de> <07d32462-003a-89b9-e30c-a9e814506d1a@oracle.com> Message-ID: <7407a4a5-da6f-17d4-2b5c-663c34a42479@oracle.com> On 09/03/2023 11:46, Christoph L?ubrich wrote: > Hi Maurizio,, > > that already looks promising! > > Would be cool if jextract could even automate this, so it finds the > symbols from existing class files? > > I can think about the following: > > 1) I generate all bindings > 2) I have my code and test finished, and run jextract again, passing > it my jar file > 3) I get a binding with only things required. > > because for a complex binding I can think its quite hard to find out > what I don't care about. I think this is not impossible -? that said, I think the jextract tool should provide primitive knobs, which are expressive enough to let developers do what they want. For instance, the jar-analyzer tool you describe could also be built on top of jextract. Ideally, I think it would be nice if, one day, IDEs had some kind of integration for this: the extraction process is interactive, and I think that jextract would benefit greatly from some kind of UI. There's only so much we can capture via simple command line options. Maurizio > > Am 09.03.23 um 12:18 schrieb Maurizio Cimadamore: >> Hi Christoph, >> note that jextract already supports a filtering mechanism. The basic >> usage is described here: >> >> https://urldefense.com/v3/__https://github.com/openjdk/jextract*filtering-symbols__;Iw!!ACWV5N9M2RV99hQ!NU_jGOsWk3eJe3kZW2eDc6W9aq6KhmLkOhY78Z7IH6iyWhIw6zT4bTtp_duQ_061rh7ybJcHWGE-vbehtkYce9DViH2B$ >> >> That is: >> >> 1. you can run jextract in a way so that it dumps all the symbols it >> could find during its execution (--dump-includes=) >> 2. you can then edit the generated file, and drop all the symbols >> your application doesn't care about >> 3. you can pass the edited file back to jextract, as an "argfile" >> e.g. "@" >> >> This will only generate bindings for the things you care about. >> >> Hope this helps >> >> Maurizio >> >> >> On 09/03/2023 11:05, Christoph L?ubrich wrote: >>> Hi Panama Devs, >>> >>> I hope the mailinglist is the right place for such >>> questions/discussions/ideas, as the github repository has not >>> enabled Github-Discussions. >>> >>> jextract is doing a great work, but for some libs it produces a very >>> very large result ( ~ 3000 files or more), I therefore wonder if it >>> would be possible to have jextract passing some code (e.g. a jar) >>> using the binding and then it generates an optimized binding that >>> only contains the functions/constants that are actually used in the >>> java code? >>> >>> thank in advance, >>> Christoph From maurizio.cimadamore at oracle.com Thu Mar 9 12:08:22 2023 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Thu, 9 Mar 2023 12:08:22 +0000 Subject: Understanding the performance of my FFI-based API In-Reply-To: References: Message-ID: <0259f879-3138-92ab-c860-d35205d35bea@oracle.com> Also, zooming into the benchmark, something funny seems to be going on with "getKeySegment". This seems different from the "getKeyArr" counterpart, but also has a new issue: I believe that, in JNI, you just passed the Java array "as is" - but in Panama you can't (as the array is on-heap), so there is some double-copying involved there (e.g. you create an on-heap array, which then is moved off-heap). If I'm not mistaken, this method is executed on every benchmark iteration, so the comparison doesn't just mesure the cost of the native call, but also the cost it takes to marshal data from Java heap to native. For instance, the byte buffer versions ("keyBuf") seem to avoid this problem by copying the data directly off-heap (by using a direct buffer). I think the benchmark should use a native segment, and avoid the copy so that at least we avoid that source of noise in the numbers. Cheers Maurizio On 09/03/2023 11:29, Maurizio Cimadamore wrote: > Hi Alan, > first of all, I'd like to thank you for taking the time to share your > experience and to write it all up in a document. Stuff like that is > very valuable to us, especially at this stage in the project. > > One quick suggestion when eyeballing your code: your method handles > are "static", but not "final". I suggest you try to sprinkle "final" > in, and see whether that does the trick. If not, we'd have to look > deeper. > > Cheers > Maurizio > > On 09/03/2023 11:15, Alan Paxton wrote: >> Hi, >> >> I hope this is an appropriate list for this question. >> >> I have been prototyping an FFI-based version of the RocksDB Java API, >> which is currently implemented in JNI. RocksDB is a C++ based >> key,value-store with a Java API layered on top. I have done some >> benchmarking of the FFI implementation, versus the JNI version and I >> find it performs consistently slightly slower than the current API. >> >> I would like to understand if this is to be expected, e.g. does FFI >> do more safety checking under the covers when calling a native method ? >> Or is the performance likely to improve between the preview in Java >> 19 and release in Java 21 ? >> If there are resources or suggestions that would help me dig into the >> performance I'd be very grateful to be pointed to them. >> >> For the use case I'm measuring, data is transferred in native memory >> originally allocated by RocksDB in C++ which I wrap as a >> MemorySegment; I do allocate native memory for the request structure. >> >> These are links to the PR and some documentation of the work: >> >> https://github.com/facebook/rocksdb/pull/11095 >> https://github.com/alanpaxton/rocksdb/blob/eb-1680-panama-ffi/java/JavaFFI.md >> >> >> Many thanks, >> Alan Paxton >> -------------- next part -------------- An HTML attachment was scrubbed... URL: From pminborg at openjdk.org Thu Mar 9 12:17:14 2023 From: pminborg at openjdk.org (Per Minborg) Date: Thu, 9 Mar 2023 12:17:14 GMT Subject: [foreign-memaccess+abi] RFR: 8303879: Add MemoryLayout.withoutName() [v3] In-Reply-To: <-7Yo1TSD1gt0XCSpkIagEDUxrZvirCoZf7nOZ4xjY78=.52d231d0-e0b9-46c1-ba93-e5a7c8913de7@github.com> References: <-7Yo1TSD1gt0XCSpkIagEDUxrZvirCoZf7nOZ4xjY78=.52d231d0-e0b9-46c1-ba93-e5a7c8913de7@github.com> Message-ID: > This PR proposes to add a method `MemoryLayout::withoutName` which allows `MemoryLayout` instances to be checked for functional equivalence (i.e. "everything except the name is the same"). This might be useful for reuse, caching etc. of MemoryLayouts and constructs that consists/depends on one or more `MemoryLayout` instance. 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/814/files - new: https://git.openjdk.org/panama-foreign/pull/814/files/03cdf295..532e2439 Webrevs: - full: https://webrevs.openjdk.org/?repo=panama-foreign&pr=814&range=02 - incr: https://webrevs.openjdk.org/?repo=panama-foreign&pr=814&range=01-02 Stats: 17 lines in 2 files changed: 0 ins; 0 del; 17 mod Patch: https://git.openjdk.org/panama-foreign/pull/814.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/814/head:pull/814 PR: https://git.openjdk.org/panama-foreign/pull/814 From pminborg at openjdk.org Thu Mar 9 12:21:32 2023 From: pminborg at openjdk.org (Per Minborg) Date: Thu, 9 Mar 2023 12:21:32 GMT Subject: [foreign-memaccess+abi] RFR: 8303888: Add AddressLayout.withoutTargetLayout [v2] In-Reply-To: References: Message-ID: > This PR proposes to add a `AddressLayout.withoutTargetLayout()` method for symmetry reasons. This allows AddressLayout to be converted back to raw addresses. > > Discussion point: Should this method require native access? 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/815/files - new: https://git.openjdk.org/panama-foreign/pull/815/files/debafd39..8ed23fe1 Webrevs: - full: https://webrevs.openjdk.org/?repo=panama-foreign&pr=815&range=01 - incr: https://webrevs.openjdk.org/?repo=panama-foreign&pr=815&range=00-01 Stats: 3 lines in 1 file changed: 2 ins; 0 del; 1 mod Patch: https://git.openjdk.org/panama-foreign/pull/815.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/815/head:pull/815 PR: https://git.openjdk.org/panama-foreign/pull/815 From mcimadamore at openjdk.org Thu Mar 9 12:24:42 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Thu, 9 Mar 2023 12:24:42 GMT Subject: [foreign-memaccess+abi] RFR: 8303879: Add MemoryLayout.withoutName() [v3] In-Reply-To: References: <-7Yo1TSD1gt0XCSpkIagEDUxrZvirCoZf7nOZ4xjY78=.52d231d0-e0b9-46c1-ba93-e5a7c8913de7@github.com> Message-ID: On Thu, 9 Mar 2023 12:17:14 GMT, Per Minborg wrote: >> This PR proposes to add a method `MemoryLayout::withoutName` which allows `MemoryLayout` instances to be checked for functional equivalence (i.e. "everything except the name is the same"). This might be useful for reuse, caching etc. of MemoryLayouts and constructs that consists/depends on one or more `MemoryLayout` instance. > > 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/814 From mcimadamore at openjdk.org Thu Mar 9 12:24:50 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Thu, 9 Mar 2023 12:24:50 GMT Subject: [foreign-memaccess+abi] RFR: 8303888: Add AddressLayout.withoutTargetLayout [v2] In-Reply-To: References: Message-ID: <98hWAxKYDUkww2_7ugsSKfgBJi8RjYUWx6x3D_1JPXE=.891e148d-17fb-48b2-9101-0dd49b69a2da@github.com> On Thu, 9 Mar 2023 12:21:32 GMT, Per Minborg wrote: >> This PR proposes to add a `AddressLayout.withoutTargetLayout()` method for symmetry reasons. This allows AddressLayout to be converted back to raw addresses. >> >> Discussion point: Should this method require native access? > > 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/815 From jvernee at openjdk.org Thu Mar 9 13:37:24 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Thu, 9 Mar 2023 13:37:24 GMT Subject: [foreign-memaccess+abi] RFR: 8303835: Remove uncaught exception handler linker option [v2] In-Reply-To: References: Message-ID: > Remove the uncaught exception handler linker option for now. It does not seem polished enough, and using the thread's uncaught exception handler seems problematic as well. Jorn Vernee has updated the pull request incrementally with one additional commit since the last revision: add try/finally block ------------- Changes: - all: https://git.openjdk.org/panama-foreign/pull/813/files - new: https://git.openjdk.org/panama-foreign/pull/813/files/8e820d7a..31c181fc Webrevs: - full: https://webrevs.openjdk.org/?repo=panama-foreign&pr=813&range=01 - incr: https://webrevs.openjdk.org/?repo=panama-foreign&pr=813&range=00-01 Stats: 6 lines in 1 file changed: 3 ins; 0 del; 3 mod Patch: https://git.openjdk.org/panama-foreign/pull/813.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/813/head:pull/813 PR: https://git.openjdk.org/panama-foreign/pull/813 From jvernee at openjdk.org Thu Mar 9 13:47:44 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Thu, 9 Mar 2023 13:47:44 GMT Subject: [foreign-memaccess+abi] RFR: 8303835: Remove uncaught exception handler linker option [v2] In-Reply-To: References: Message-ID: <2VFDbwMNhIKs4t7jNK-WODUWmePApUwXfHk58BLJIxw=.a8de7e46-340d-45a5-935d-38d4052fe8ec@github.com> The message from this sender included one or more files which could not be scanned for virus detection; do not open these files unless you are certain of the sender's intent. ---------------------------------------------------------------------- On Thu, 9 Mar 2023 03:09:04 GMT, David Holmes wrote: >> Jorn Vernee has updated the pull request incrementally with one additional commit since the last revision: >> >> add try/finally block > > src/java.base/share/classes/jdk/internal/foreign/abi/SharedUtils.java line 315: > >> 313: if (t != null) { >> 314: t.printStackTrace(); >> 315: System.err.println("Unrecoverable uncaught exception encountered. The VM will now exit"); > > Suggestion: > > try { > t.printSackTrace(); > System.err... > } finally { > JLA.exit(1); > } Done. ------------- PR: https://git.openjdk.org/panama-foreign/pull/813 From pminborg at openjdk.org Thu Mar 9 14:09:53 2023 From: pminborg at openjdk.org (Per Minborg) Date: Thu, 9 Mar 2023 14:09:53 GMT Subject: [foreign-memaccess+abi] Integrated: 8303879: Add MemoryLayout.withoutName() In-Reply-To: <-7Yo1TSD1gt0XCSpkIagEDUxrZvirCoZf7nOZ4xjY78=.52d231d0-e0b9-46c1-ba93-e5a7c8913de7@github.com> References: <-7Yo1TSD1gt0XCSpkIagEDUxrZvirCoZf7nOZ4xjY78=.52d231d0-e0b9-46c1-ba93-e5a7c8913de7@github.com> Message-ID: On Thu, 9 Mar 2023 10:15:18 GMT, Per Minborg wrote: > This PR proposes to add a method `MemoryLayout::withoutName` which allows `MemoryLayout` instances to be checked for functional equivalence (i.e. "everything except the name is the same"). This might be useful for reuse, caching etc. of MemoryLayouts and constructs that consists/depends on one or more `MemoryLayout` instance. This pull request has now been integrated. Changeset: 01db58db Author: Per Minborg URL: https://git.openjdk.org/panama-foreign/commit/01db58db4d92d990243eca0f7125163cdfd8cd23 Stats: 136 lines in 10 files changed: 131 ins; 2 del; 3 mod 8303879: Add MemoryLayout.withoutName() Reviewed-by: mcimadamore ------------- PR: https://git.openjdk.org/panama-foreign/pull/814 From pminborg at openjdk.org Thu Mar 9 14:10:53 2023 From: pminborg at openjdk.org (Per Minborg) Date: Thu, 9 Mar 2023 14:10:53 GMT Subject: [foreign-memaccess+abi] Integrated: 8303888: Add AddressLayout.withoutTargetLayout In-Reply-To: References: Message-ID: On Thu, 9 Mar 2023 11:00:50 GMT, Per Minborg wrote: > This PR proposes to add a `AddressLayout.withoutTargetLayout()` method for symmetry reasons. This allows AddressLayout to be converted back to raw addresses. > > Discussion point: Should this method require native access? This pull request has now been integrated. Changeset: 873d4b3b Author: Per Minborg URL: https://git.openjdk.org/panama-foreign/commit/873d4b3b85b165d3b9fe44045b96f9e39f3a1d5e Stats: 18 lines in 3 files changed: 18 ins; 0 del; 0 mod 8303888: Add AddressLayout.withoutTargetLayout Reviewed-by: mcimadamore ------------- PR: https://git.openjdk.org/panama-foreign/pull/815 From alan.paxton at gmail.com Thu Mar 9 18:13:38 2023 From: alan.paxton at gmail.com (Alan Paxton) Date: Thu, 9 Mar 2023 18:13:38 +0000 Subject: Understanding the performance of my FFI-based API In-Reply-To: <0259f879-3138-92ab-c860-d35205d35bea@oracle.com> References: <0259f879-3138-92ab-c860-d35205d35bea@oracle.com> Message-ID: Hi Maurizio, Thanks for the quick and detailed response. I think our goals coincide as it would make life easier for rocksjava to successfully implement an FFI API. A couple of quick initial reruns shows me your suggestions both contribute a small amount of improvement, but probably do not account for all the performance I am missing. I shall rerun the full benchmark for confirmation. And since both suggestions give me a clearer idea what might be performance issues, I will take another pass over my code and see if I can spot any other potential problems in how it's implemented, or anything else that isn't truly like-for-like with the JNI version. --Alan On Thu, Mar 9, 2023 at 12:08?PM Maurizio Cimadamore < maurizio.cimadamore at oracle.com> wrote: > Also, zooming into the benchmark, something funny seems to be going on > with "getKeySegment". This seems different from the "getKeyArr" > counterpart, but also has a new issue: I believe that, in JNI, you just > passed the Java array "as is" - but in Panama you can't (as the array is > on-heap), so there is some double-copying involved there (e.g. you create > an on-heap array, which then is moved off-heap). > > If I'm not mistaken, this method is executed on every benchmark iteration, > so the comparison doesn't just mesure the cost of the native call, but also > the cost it takes to marshal data from Java heap to native. > > For instance, the byte buffer versions ("keyBuf") seem to avoid this > problem by copying the data directly off-heap (by using a direct buffer). I > think the benchmark should use a native segment, and avoid the copy so that > at least we avoid that source of noise in the numbers. > > Cheers > Maurizio > On 09/03/2023 11:29, Maurizio Cimadamore wrote: > > Hi Alan, > first of all, I'd like to thank you for taking the time to share your > experience and to write it all up in a document. Stuff like that is very > valuable to us, especially at this stage in the project. > > One quick suggestion when eyeballing your code: your method handles are > "static", but not "final". I suggest you try to sprinkle "final" in, and > see whether that does the trick. If not, we'd have to look deeper. > > Cheers > Maurizio > > On 09/03/2023 11:15, Alan Paxton wrote: > > Hi, > > I hope this is an appropriate list for this question. > > I have been prototyping an FFI-based version of the RocksDB Java API, > which is currently implemented in JNI. RocksDB is a C++ based > key,value-store with a Java API layered on top. I have done some > benchmarking of the FFI implementation, versus the JNI version and I find > it performs consistently slightly slower than the current API. > > I would like to understand if this is to be expected, e.g. does FFI do > more safety checking under the covers when calling a native method ? > Or is the performance likely to improve between the preview in Java 19 and > release in Java 21 ? > If there are resources or suggestions that would help me dig into the > performance I'd be very grateful to be pointed to them. > > For the use case I'm measuring, data is transferred in native memory > originally allocated by RocksDB in C++ which I wrap as a MemorySegment; I > do allocate native memory for the request structure. > > These are links to the PR and some documentation of the work: > > https://github.com/facebook/rocksdb/pull/11095 > > https://github.com/alanpaxton/rocksdb/blob/eb-1680-panama-ffi/java/JavaFFI.md > > Many thanks, > Alan Paxton > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jbhateja at openjdk.org Fri Mar 10 09:46:37 2023 From: jbhateja at openjdk.org (Jatin Bhateja) Date: Fri, 10 Mar 2023 09:46:37 GMT Subject: [vectorIntrinsics+fp16] RFR: 8302454: Improve VectorAPI fallback implementation for FP16 operations. [v3] In-Reply-To: References: Message-ID: On Thu, 2 Mar 2023 06:17:19 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 > > Swati Sharma has updated the pull request incrementally with one additional commit since the last revision: > > 8302454: Resolved review comments. Changes looks good to me. Please integrate. ------------- Marked as reviewed by jbhateja (Committer). PR: https://git.openjdk.org/panama-vector/pull/211 From pminborg at openjdk.org Fri Mar 10 09:56:23 2023 From: pminborg at openjdk.org (Per Minborg) Date: Fri, 10 Mar 2023 09:56:23 GMT Subject: [foreign-memaccess+abi] RFR: Fix override in ValueLayout Message-ID: This PR fixes an override of `withoutName()` that is missed. ------------- Commit messages: - Fix override in ValueLayout Changes: https://git.openjdk.org/panama-foreign/pull/816/files Webrev: https://webrevs.openjdk.org/?repo=panama-foreign&pr=816&range=00 Stats: 16 lines in 2 files changed: 16 ins; 0 del; 0 mod Patch: https://git.openjdk.org/panama-foreign/pull/816.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/816/head:pull/816 PR: https://git.openjdk.org/panama-foreign/pull/816 From mcimadamore at openjdk.org Fri Mar 10 10:06:47 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Fri, 10 Mar 2023 10:06:47 GMT Subject: [foreign-memaccess+abi] RFR: Fix override in ValueLayout In-Reply-To: References: Message-ID: On Fri, 10 Mar 2023 09:49:42 GMT, Per Minborg wrote: > This PR fixes an override of `withoutName()` that is missed. Marked as reviewed by mcimadamore (Committer). ------------- PR: https://git.openjdk.org/panama-foreign/pull/816 From pminborg at openjdk.org Fri Mar 10 10:09:36 2023 From: pminborg at openjdk.org (Per Minborg) Date: Fri, 10 Mar 2023 10:09:36 GMT Subject: [foreign-memaccess+abi] Integrated: Fix override in ValueLayout In-Reply-To: References: Message-ID: <_1j7-WkhslAjyiUNpzuQeM66WUDM0xui4CNLw0YRGjw=.e2e749e7-e28b-47f7-a1f6-4db776327c4e@github.com> On Fri, 10 Mar 2023 09:49:42 GMT, Per Minborg wrote: > This PR fixes an override of `withoutName()` that is missed. This pull request has now been integrated. Changeset: 097817f4 Author: Per Minborg URL: https://git.openjdk.org/panama-foreign/commit/097817f49f1b1bfa61e120c3b4a3d0cb24a4abc6 Stats: 16 lines in 2 files changed: 16 ins; 0 del; 0 mod Fix override in ValueLayout Reviewed-by: mcimadamore ------------- PR: https://git.openjdk.org/panama-foreign/pull/816 From laeubi at laeubi-soft.de Fri Mar 10 10:23:19 2023 From: laeubi at laeubi-soft.de (=?UTF-8?Q?Christoph_L=c3=a4ubrich?=) Date: Fri, 10 Mar 2023 11:23:19 +0100 Subject: Are there plans to have an option for jextract to create an optimized binding? In-Reply-To: <7407a4a5-da6f-17d4-2b5c-663c34a42479@oracle.com> References: <58d5b858-6131-e98a-35a1-abf24dfa5d57@laeubi-soft.de> <07d32462-003a-89b9-e30c-a9e814506d1a@oracle.com> <7407a4a5-da6f-17d4-2b5c-663c34a42479@oracle.com> Message-ID: Hi Maurizio, I have now played around with that option and the filtering works well! I just found one possible way to built into jextract directly that could be quite simple: While cleaning up the generated file I found my self very often simply stripping away anything "not from xyz.h", so I think an option like --limit header1.h,header2.h would reduce the manual work here! of course one can write a shellscript for that as well, but as each line already has a comment # header: /usr/include/myheader.h it seems quite easy to implement that directly at jextract level! Am 09.03.23 um 12:51 schrieb Maurizio Cimadamore: > > On 09/03/2023 11:46, Christoph L?ubrich wrote: >> Hi Maurizio,, >> >> that already looks promising! >> >> Would be cool if jextract could even automate this, so it finds the >> symbols from existing class files? >> >> I can think about the following: >> >> 1) I generate all bindings >> 2) I have my code and test finished, and run jextract again, passing >> it my jar file >> 3) I get a binding with only things required. >> >> because for a complex binding I can think its quite hard to find out >> what I don't care about. > > I think this is not impossible -? that said, I think the jextract tool > should provide primitive knobs, which are expressive enough to let > developers do what they want. For instance, the jar-analyzer tool you > describe could also be built on top of jextract. > > Ideally, I think it would be nice if, one day, IDEs had some kind of > integration for this: the extraction process is interactive, and I think > that jextract would benefit greatly from some kind of UI. There's only > so much we can capture via simple command line options. > > Maurizio > > >> >> Am 09.03.23 um 12:18 schrieb Maurizio Cimadamore: >>> Hi Christoph, >>> note that jextract already supports a filtering mechanism. The basic >>> usage is described here: >>> >>> https://urldefense.com/v3/__https://github.com/openjdk/jextract*filtering-symbols__;Iw!!ACWV5N9M2RV99hQ!NU_jGOsWk3eJe3kZW2eDc6W9aq6KhmLkOhY78Z7IH6iyWhIw6zT4bTtp_duQ_061rh7ybJcHWGE-vbehtkYce9DViH2B$ >>> That is: >>> >>> 1. you can run jextract in a way so that it dumps all the symbols it >>> could find during its execution (--dump-includes=) >>> 2. you can then edit the generated file, and drop all the symbols >>> your application doesn't care about >>> 3. you can pass the edited file back to jextract, as an "argfile" >>> e.g. "@" >>> >>> This will only generate bindings for the things you care about. >>> >>> Hope this helps >>> >>> Maurizio >>> >>> >>> On 09/03/2023 11:05, Christoph L?ubrich wrote: >>>> Hi Panama Devs, >>>> >>>> I hope the mailinglist is the right place for such >>>> questions/discussions/ideas, as the github repository has not >>>> enabled Github-Discussions. >>>> >>>> jextract is doing a great work, but for some libs it produces a very >>>> very large result ( ~ 3000 files or more), I therefore wonder if it >>>> would be possible to have jextract passing some code (e.g. a jar) >>>> using the binding and then it generates an optimized binding that >>>> only contains the functions/constants that are actually used in the >>>> java code? >>>> >>>> thank in advance, >>>> Christoph From maurizio.cimadamore at oracle.com Fri Mar 10 10:41:09 2023 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Fri, 10 Mar 2023 10:41:09 +0000 Subject: Are there plans to have an option for jextract to create an optimized binding? In-Reply-To: References: <58d5b858-6131-e98a-35a1-abf24dfa5d57@laeubi-soft.de> <07d32462-003a-89b9-e30c-a9e814506d1a@oracle.com> <7407a4a5-da6f-17d4-2b5c-663c34a42479@oracle.com> Message-ID: <13371523-f267-f45f-90c5-16a9712383a1@oracle.com> On 10/03/2023 10:23, Christoph L?ubrich wrote: > Hi Maurizio, > > I have now played around with that option and the filtering works well! > > I just found one possible way to built into jextract directly that > could be quite simple: > > While cleaning up the generated file I found my self very often simply > stripping away anything "not from xyz.h", so I think an option like > --limit header1.h,header2.h would reduce the manual work here! > > of course one can write a shellscript for that as well, but as each > line already has a comment > > # header: /usr/include/myheader.h > > it seems quite easy to implement that directly at jextract level! I don't disagree - although, the main idea here is that you can simply filter the contents of the dump file using a "grep -v". In fact, in the long run, it might be better to have the exact argument file you want to use to run jextract checked into your repo. We do this for jextract ourselves: https://github.com/openjdk/jextract/blob/master/updateclang/clang.symbols As people will use jextract more, I think we will get a clearer idea of which "idioms" are common enough to be lifted to proper command line options. Maurizio > > Am 09.03.23 um 12:51 schrieb Maurizio Cimadamore: >> >> On 09/03/2023 11:46, Christoph L?ubrich wrote: >>> Hi Maurizio,, >>> >>> that already looks promising! >>> >>> Would be cool if jextract could even automate this, so it finds the >>> symbols from existing class files? >>> >>> I can think about the following: >>> >>> 1) I generate all bindings >>> 2) I have my code and test finished, and run jextract again, passing >>> it my jar file >>> 3) I get a binding with only things required. >>> >>> because for a complex binding I can think its quite hard to find out >>> what I don't care about. >> >> I think this is not impossible -? that said, I think the jextract >> tool should provide primitive knobs, which are expressive enough to >> let developers do what they want. For instance, the jar-analyzer tool >> you describe could also be built on top of jextract. >> >> Ideally, I think it would be nice if, one day, IDEs had some kind of >> integration for this: the extraction process is interactive, and I >> think that jextract would benefit greatly from some kind of UI. >> There's only so much we can capture via simple command line options. >> >> Maurizio >> >> >>> >>> Am 09.03.23 um 12:18 schrieb Maurizio Cimadamore: >>>> Hi Christoph, >>>> note that jextract already supports a filtering mechanism. The >>>> basic usage is described here: >>>> >>>> https://urldefense.com/v3/__https://github.com/openjdk/jextract*filtering-symbols__;Iw!!ACWV5N9M2RV99hQ!NU_jGOsWk3eJe3kZW2eDc6W9aq6KhmLkOhY78Z7IH6iyWhIw6zT4bTtp_duQ_061rh7ybJcHWGE-vbehtkYce9DViH2B$ >>>> >>>> That is: >>>> >>>> 1. you can run jextract in a way so that it dumps all the symbols >>>> it could find during its execution (--dump-includes=) >>>> 2. you can then edit the generated file, and drop all the symbols >>>> your application doesn't care about >>>> 3. you can pass the edited file back to jextract, as an "argfile" >>>> e.g. "@" >>>> >>>> This will only generate bindings for the things you care about. >>>> >>>> Hope this helps >>>> >>>> Maurizio >>>> >>>> >>>> On 09/03/2023 11:05, Christoph L?ubrich wrote: >>>>> Hi Panama Devs, >>>>> >>>>> I hope the mailinglist is the right place for such >>>>> questions/discussions/ideas, as the github repository has not >>>>> enabled Github-Discussions. >>>>> >>>>> jextract is doing a great work, but for some libs it produces a >>>>> very very large result ( ~ 3000 files or more), I therefore wonder >>>>> if it would be possible to have jextract passing some code (e.g. a >>>>> jar) using the binding and then it generates an optimized binding >>>>> that only contains the functions/constants that are actually used >>>>> in the java code? >>>>> >>>>> thank in advance, >>>>> Christoph From duke at openjdk.org Fri Mar 10 11:04:31 2023 From: duke at openjdk.org (Swati Sharma) Date: Fri, 10 Mar 2023 11:04:31 GMT Subject: [vectorIntrinsics+fp16] Integrated: 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 This pull request has now been integrated. Changeset: 8f2a18d7 Author: Swati Sharma Committer: Jatin Bhateja URL: https://git.openjdk.org/panama-vector/commit/8f2a18d7adcf22b0ceefd4e82753f2fee1808e19 Stats: 9188 lines in 94 files changed: 7991 ins; 123 del; 1074 mod 8302454: Improve VectorAPI fallback implementation for FP16 operations. Co-authored-by: Jatin Bhateja Reviewed-by: jbhateja ------------- PR: https://git.openjdk.org/panama-vector/pull/211 From duke at openjdk.org Fri Mar 10 11:07:38 2023 From: duke at openjdk.org (J. Duke) Date: Fri, 10 Mar 2023 11:07:38 GMT Subject: [foreign-memaccess+abi] RFR: Merge master Message-ID: <-rrPRF4M1Gmydl1bSP4cg4eg4r2EcrpGSrdi5lXOcyc=.419648fd-cd55-45d9-9fd7-c86312a7fa71@github.com> Hi all, this is an _automatically_ generated pull request to notify you that there are 107 commits from the branch `master`that can **not** be merged into the branch `foreign-memaccess+abi`: Over 14 files contains merge conflicts. 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 +135:openjdk-bot-135 $ git checkout openjdk-bot-135 # 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-135:135 _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 - 8294971: jdk.jlink jdk.tools.jimage.JImageTask is using ASM to verify classes - 8303822: gtestMain should give more helpful output - 8303624: The java.lang.Thread.FieldHolder can be null for JNI attaching threads - 8302360: Atomic*.compareAndExchange Javadoc unclear - 8302779: HelidonAppTest.java fails with "assert(_cb == CodeCache::find_blob(pc())) failed: Must be the same" or SIGSEGV - 8303691: Fedora based devkit build should load more packages from archive location - 8303924: ProblemList serviceability/sa/UniqueVtableTest.java on Linux - 8303609: ProblemList serviceability/sa/TestSysProps.java with ZGC - 8289765: JDI EventSet/resume/resume008 failed with "ERROR: suspendCounts don't match for : VirtualThread-unparker" - ... and 97 more: https://git.openjdk.org/panama-foreign/compare/b378aa7d...2693c967 The webrev contains the conflicts with foreign-memaccess+abi: - merge conflicts: https://webrevs.openjdk.org/?repo=panama-foreign&pr=817&range=00.conflicts Changes: https://git.openjdk.org/panama-foreign/pull/817/files Stats: 75547 lines in 1076 files changed: 63544 ins; 3704 del; 8299 mod Patch: https://git.openjdk.org/panama-foreign/pull/817.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/817/head:pull/817 PR: https://git.openjdk.org/panama-foreign/pull/817 From duke at openjdk.org Fri Mar 10 11:08:12 2023 From: duke at openjdk.org (duke) Date: Fri, 10 Mar 2023 11:08:12 GMT Subject: git: openjdk/panama-foreign: master: 107 new changesets Message-ID: <63f794b0-d4c8-4782-bb27-8dc0c83b983c@openjdk.org> Changeset: d23a8bfb Author: changpeng1997 Committer: Andrew Dinn Date: 2023-03-03 12:11:10 +0000 URL: https://git.openjdk.org/panama-foreign/commit/d23a8bfb14037460731fb6ca1890b03278b84b1a 8297753: AArch64: Add optimized rules for vector compare with zero on NEON Reviewed-by: aph ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/aarch64_vector.ad ! src/hotspot/cpu/aarch64/aarch64_vector_ad.m4 ! src/hotspot/cpu/aarch64/assembler_aarch64.hpp ! src/hotspot/cpu/aarch64/c2_MacroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/c2_MacroAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! test/hotspot/gtest/aarch64/aarch64-asmtest.py ! test/hotspot/gtest/aarch64/asmtest.out.h ! test/hotspot/jtreg/compiler/lib/ir_framework/IRNode.java + test/hotspot/jtreg/compiler/vectorapi/VectorCompareWithZeroTest.java Changeset: df9aad01 Author: Sean Mullan Date: 2023-03-03 13:06:11 +0000 URL: https://git.openjdk.org/panama-foreign/commit/df9aad018a769a27221cb29e4e66465e5d98ba94 8297955: LDAP CertStore should use LdapName and not String for DNs Reviewed-by: weijun, rhalade ! src/java.naming/share/classes/sun/security/provider/certpath/ldap/LDAPCertStoreImpl.java ! test/jdk/security/infra/java/security/cert/CertPathValidator/certification/ActalisCA.java Changeset: ff364c19 Author: Afshin Zafari Committer: Alan Bateman Date: 2023-03-03 13:16:43 +0000 URL: https://git.openjdk.org/panama-foreign/commit/ff364c1906f078c13e121a43e60606caff5781e7 8301622: ProcessTools.java compilation gets ThreadDeath deprecation warning Reviewed-by: dholmes, alanb ! test/lib/jdk/test/lib/process/ProcessTools.java Changeset: 8bf084ce Author: Amit Kumar Committer: Alan Bateman Date: 2023-03-03 13:17:31 +0000 URL: https://git.openjdk.org/panama-foreign/commit/8bf084ced9efbed0be99f95103d25f7e6d4aab90 8303499: [s390x] ProblemList StressStackOverflow Reviewed-by: alanb ! test/jdk/ProblemList.txt Changeset: cbdc7a6f Author: Daniel Fuchs Date: 2023-03-03 13:18:23 +0000 URL: https://git.openjdk.org/panama-foreign/commit/cbdc7a6f88511a08800400edfbf13f6d3f7ad4f6 8303481: CancelRequestTest assertTrue failing with AssertionError due to java.util.concurrent.CompletionException: java.io.EOFException: EOF reached while reading Reviewed-by: jpai, djelinski ! src/java.net.http/share/classes/jdk/internal/net/http/frame/OutgoingHeaders.java ! test/jdk/java/net/httpclient/lib/jdk/httpclient/test/lib/http2/Http2TestServerConnection.java ! test/jdk/java/net/httpclient/lib/jdk/httpclient/test/lib/http2/Queue.java Changeset: c6de66c0 Author: Jorn Vernee Date: 2023-03-03 14:33:56 +0000 URL: https://git.openjdk.org/panama-foreign/commit/c6de66c03f691469ff26c14923bf21bdefd5ae72 8303516: HFAs with nested structs/unions/arrays not handled correctly on AArch64 Reviewed-by: mcimadamore ! src/java.base/share/classes/jdk/internal/foreign/abi/SharedUtils.java ! src/java.base/share/classes/jdk/internal/foreign/abi/aarch64/CallArranger.java ! src/java.base/share/classes/jdk/internal/foreign/abi/aarch64/TypeClass.java ! test/jdk/java/foreign/NativeTestHelper.java ! test/jdk/java/foreign/callarranger/TestLinuxAArch64CallArranger.java ! test/jdk/java/foreign/callarranger/TestMacOsAArch64CallArranger.java + test/jdk/java/foreign/nested/TestNested.java + test/jdk/java/foreign/nested/libNested.c Changeset: 7449e1c6 Author: Glavo Committer: Roger Riggs Date: 2023-03-03 15:41:03 +0000 URL: https://git.openjdk.org/panama-foreign/commit/7449e1c6617f51101e415fc29fafa79c6b55e24d 8299807: newStringNoRepl should avoid copying arrays for ASCII compatible charsets Reviewed-by: rriggs ! src/java.base/share/classes/java/lang/String.java ! src/java.base/share/classes/java/lang/System.java Changeset: 80739e11 Author: Doug Simon Date: 2023-03-03 15:52:46 +0000 URL: https://git.openjdk.org/panama-foreign/commit/80739e11b52a73d76525f9508e30f8809342e933 8279619: [JVMCI] improve EncodedSpeculationReason Reviewed-by: never ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.meta/src/jdk/vm/ci/meta/EncodedSpeculationReason.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestSpeculationLog.java Changeset: 379f2061 Author: Roger Riggs Date: 2023-03-03 16:14:45 +0000 URL: https://git.openjdk.org/panama-foreign/commit/379f2061aa4c83388a1becd9661c1ee7b2907830 8303198: System and Runtime.exit() resilience to logging errors Reviewed-by: dholmes, jpai, alanb ! src/java.base/share/classes/java/lang/Shutdown.java ! test/jdk/java/lang/RuntimeTests/RuntimeExitLogTest.java Changeset: 5085bd5f Author: Afshin Zafari Committer: Jesper Wilhelmsson Date: 2023-03-03 16:44:27 +0000 URL: https://git.openjdk.org/panama-foreign/commit/5085bd5f05ca70e08c6764ed208d574c556b6c57 8297936: Use reachabilityFence to manage liveness in ClassUnload tests Reviewed-by: coleenp, dholmes ! test/hotspot/jtreg/runtime/ClassUnload/ConstantPoolDependsTest.java ! test/hotspot/jtreg/runtime/ClassUnload/KeepAliveObject.java ! test/hotspot/jtreg/runtime/ClassUnload/UnloadTest.java Changeset: ae797c64 Author: Afshin Zafari Committer: Calvin Cheung Date: 2023-03-03 16:45:58 +0000 URL: https://git.openjdk.org/panama-foreign/commit/ae797c64afc61a0b1c8fbc48f56b2c41f54a7301 8301117: Remove old_size param from ResizeableResourceHashtable::resize() Reviewed-by: dholmes, coleenp ! src/hotspot/share/gc/g1/g1CodeRootSet.cpp ! src/hotspot/share/utilities/resizeableResourceHash.hpp Changeset: e3016c11 Author: Justin Lu Committer: Naoto Sato Date: 2023-03-03 17:18:44 +0000 URL: https://git.openjdk.org/panama-foreign/commit/e3016c11425f7f915eaf20b6e02a9ec0c9ec8690 8303472: Display name for region TR Reviewed-by: naoto ! make/data/cldr/common/main/en.xml ! src/java.base/share/classes/sun/util/resources/LocaleNames.properties ! test/jdk/sun/text/resources/LocaleData ! test/jdk/sun/text/resources/LocaleData.cldr ! test/jdk/sun/text/resources/LocaleDataTest.java Changeset: 29ee7c3b Author: Chris Plummer Date: 2023-03-03 17:38:29 +0000 URL: https://git.openjdk.org/panama-foreign/commit/29ee7c3b70ded8cd124ca5b4a38a2aee7c39068b 8303523: Cleanup problem listing of nsk/jvmti/AttachOnDemand/attach002a/TestDescription.java Reviewed-by: dholmes, kevinw ! test/hotspot/jtreg/ProblemList-Xcomp.txt ! test/hotspot/jtreg/ProblemList.txt Changeset: 40c5edfc Author: Justin King Date: 2023-03-03 18:07:40 +0000 URL: https://git.openjdk.org/panama-foreign/commit/40c5edfcc4ad98af435d2edf3dd40f20f24fca46 8303181: Memory leak in ClassLoaderExt::setup_app_search_path Reviewed-by: ccheung, dholmes ! src/hotspot/share/classfile/classLoaderExt.cpp Changeset: a50dc67a Author: Xue-Lei Andrew Fan Date: 2023-03-03 18:11:48 +0000 URL: https://git.openjdk.org/panama-foreign/commit/a50dc67a4f480fcf7183d11094d507d80b19d941 8303527: update for deprecated sprintf for jdk.hotspot.agent Reviewed-by: cjplummer ! src/jdk.hotspot.agent/linux/native/libsaproc/ps_proc.c ! src/jdk.hotspot.agent/windows/native/libsaproc/sawindbg.cpp Changeset: 99443142 Author: Roger Riggs Date: 2023-03-03 18:28:06 +0000 URL: https://git.openjdk.org/panama-foreign/commit/99443142cc8280a1fc896981ef3d0ac27365d035 8303587: Remove VMOutOfMemoryError001 test from the problem list after 8303198 Reviewed-by: cjplummer ! test/hotspot/jtreg/ProblemList.txt Changeset: a04b1049 Author: Brian Burkhalter Date: 2023-03-03 18:33:58 +0000 URL: https://git.openjdk.org/panama-foreign/commit/a04b1049ffc29c2ab2ec1b39e70b72288a39b371 8303413: (fs) Ignore polling interval sensitivity modifiers in PollingWatchService Reviewed-by: alanb ! src/java.base/share/classes/sun/nio/fs/PollingWatchService.java ! test/jdk/java/nio/file/WatchService/SensitivityModifier.java Changeset: ae290541 Author: Brian Burkhalter Date: 2023-03-03 18:38:13 +0000 URL: https://git.openjdk.org/panama-foreign/commit/ae290541d17be77bbedf56a4592102ead4e4691e 8303175: (fs) Deprecate com.sun.nio.file.SensitivityWatchEventModifier for removal Reviewed-by: lancea, alanb ! src/jdk.unsupported/share/classes/com/sun/nio/file/SensitivityWatchEventModifier.java Changeset: cd4b88d0 Author: Matias Saavedra Silva Committer: Calvin Cheung Date: 2023-03-03 19:00:27 +0000 URL: https://git.openjdk.org/panama-foreign/commit/cd4b88d0d25958d3b5de2982233bc540ba5a4e3b 8292269: Replace FileMapInfo::fail_continue() with Unified Logging Reviewed-by: iklam, dholmes, ccheung ! src/hotspot/share/cds/dynamicArchive.cpp ! src/hotspot/share/cds/filemap.cpp ! src/hotspot/share/cds/filemap.hpp ! src/hotspot/share/cds/metaspaceShared.cpp ! test/hotspot/jtreg/runtime/cds/ArchiveDoesNotExist.java ! test/hotspot/jtreg/runtime/cds/CdsDifferentCompactStrings.java ! test/hotspot/jtreg/runtime/cds/CdsDifferentObjectAlignment.java ! test/hotspot/jtreg/runtime/cds/appcds/PrintSharedArchiveAndExit.java ! test/hotspot/jtreg/runtime/cds/appcds/VerifierTest.java Changeset: 5b2e2e46 Author: Raffaello Giulietti Date: 2023-03-03 20:51:13 +0000 URL: https://git.openjdk.org/panama-foreign/commit/5b2e2e4695768a6bd8090fb9a6c342fcddcbb3fd 8302590: Add String.indexOf(int ch, int fromIndex, int toIndex) Reviewed-by: rriggs, alanb ! src/java.base/share/classes/java/lang/String.java ! src/java.base/share/classes/java/lang/StringLatin1.java ! src/java.base/share/classes/java/lang/StringUTF16.java + test/jdk/java/lang/String/IndexOfBeginEnd.java Changeset: 629a9053 Author: Alan Bateman Date: 2023-03-04 07:33:33 +0000 URL: https://git.openjdk.org/panama-foreign/commit/629a9053f072a3d8406b923f8fa8ab7056a1ab8d 8303242: ThreadMXBean issues with virtual threads Reviewed-by: mchung, pchilanomate ! src/hotspot/share/services/management.cpp ! src/java.management/share/classes/java/lang/management/ThreadInfo.java ! src/java.management/share/classes/java/lang/management/ThreadMXBean.java ! src/java.management/share/classes/sun/management/ThreadImpl.java ! src/java.management/share/classes/sun/management/Util.java ! src/jdk.management/share/classes/com/sun/management/ThreadMXBean.java + test/jdk/com/sun/management/ThreadMXBean/VirtualThreads.java ! test/jdk/java/lang/management/ThreadMXBean/VirtualThreads.java Changeset: 9fdbf3cf Author: Doug Simon Date: 2023-03-04 21:52:06 +0000 URL: https://git.openjdk.org/panama-foreign/commit/9fdbf3cfc4bf58daa93807b47e403536e4681e90 8303588: [JVMCI] make JVMCI source directories conform with standard layout Reviewed-by: kvn ! make/modules/jdk.internal.vm.ci/Java.gmk = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/aarch64/AArch64.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/aarch64/AArch64Kind.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/aarch64/package-info.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/amd64/AMD64.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/amd64/AMD64Kind.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/amd64/package-info.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/code/Architecture.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/code/BailoutException.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/code/BytecodeFrame.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/code/BytecodePosition.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/code/CPUFeatureName.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/code/CallingConvention.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/code/CodeCacheProvider.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/code/CodeUtil.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/code/CompilationRequest.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/code/CompilationRequestResult.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/code/CompiledCode.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/code/DebugInfo.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/code/InstalledCode.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/code/InvalidInstalledCodeException.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/code/Location.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/code/MemoryBarriers.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/code/ReferenceMap.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/code/Register.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/code/RegisterArray.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/code/RegisterAttributes.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/code/RegisterConfig.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/code/RegisterSaveLayout.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/code/RegisterValue.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/code/StackLockValue.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/code/StackSlot.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/code/SuppressFBWarnings.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/code/TargetDescription.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/code/ValueKindFactory.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/code/ValueUtil.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/code/VirtualObject.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/code/package-info.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/code/site/Call.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/code/site/ConstantReference.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/code/site/DataPatch.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/code/site/DataSectionReference.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/code/site/ExceptionHandler.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/code/site/ImplicitExceptionDispatch.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/code/site/Infopoint.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/code/site/InfopointReason.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/code/site/Mark.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/code/site/Reference.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/code/site/Site.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/code/site/package-info.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/code/stack/InspectedFrame.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/code/stack/InspectedFrameVisitor.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/code/stack/StackIntrospection.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/code/stack/package-info.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/common/InitTimer.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/common/JVMCIError.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/common/NativeImageReinitialize.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/common/SuppressFBWarnings.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/common/package-info.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/Cleaner.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/CompilerToVM.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/DirectHotSpotObjectConstantImpl.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/EmptyEventProvider.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/EventProvider.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HandleCleaner.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotCallingConventionType.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotCodeCacheProvider.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotCompilationRequest.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotCompilationRequestResult.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotCompiledCode.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotCompiledCodeStream.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotCompiledNmethod.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotCompressedNullConstant.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotConstant.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotConstantPool.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotConstantReflectionProvider.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotForeignCallTarget.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotInstalledCode.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotJDKReflection.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotJVMCIBackendFactory.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotJVMCICompilerConfig.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotJVMCICompilerFactory.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotJVMCIReflection.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotJVMCIRuntime.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotJVMCIUnsupportedOperationError.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotJavaType.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotMemoryAccessProvider.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotMemoryAccessProviderImpl.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotMetaAccessProvider.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotMetaspaceConstant.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotMetaspaceConstantImpl.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotMethod.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotMethodData.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotMethodDataAccessor.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotMethodHandleAccessProvider.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotModifiers.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotNmethod.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotObjectConstant.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotObjectConstantImpl.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotObjectConstantScope.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotProfilingInfo.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotReferenceMap.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotResolvedJavaField.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotResolvedJavaFieldImpl.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotResolvedJavaMethod.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotResolvedJavaType.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotResolvedObjectType.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotResolvedPrimitiveType.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotRuntimeStub.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotSignature.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotSpeculationEncoding.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotSpeculationLog.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotStackFrameReference.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotStackIntrospection.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotVMConfig.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotVMConfigAccess.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotVMConfigStore.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotVMEventListener.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/IndirectHotSpotObjectConstantImpl.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/JFR.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/MetaspaceHandleObject.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/MetaspaceObject.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/SharedHotSpotSpeculationLog.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/SharedLibraryJVMCIReflection.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/SuppressFBWarnings.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/UnsafeAccess.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/VMEntryPoint.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/VMField.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/VMFlag.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/VMIntrinsicMethod.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/aarch64/AArch64HotSpotJVMCIBackendFactory.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/aarch64/AArch64HotSpotRegisterConfig.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/aarch64/AArch64HotSpotVMConfig.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/aarch64/package-info.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/amd64/AMD64HotSpotJVMCIBackendFactory.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/amd64/AMD64HotSpotRegisterConfig.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/amd64/AMD64HotSpotVMConfig.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/amd64/package-info.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/package-info.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/riscv64/RISCV64HotSpotJVMCIBackendFactory.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/riscv64/RISCV64HotSpotRegisterConfig.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/riscv64/RISCV64HotSpotVMConfig.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/riscv64/package-info.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/AbstractJavaProfile.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/AbstractProfiledItem.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/AllocatableValue.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/Assumptions.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/Constant.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/ConstantPool.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/ConstantReflectionProvider.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/DefaultProfilingInfo.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/DeoptimizationAction.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/DeoptimizationReason.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/EncodedSpeculationReason.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/ExceptionHandler.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/InvokeTarget.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/JavaConstant.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/JavaField.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/JavaKind.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/JavaMethod.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/JavaMethodProfile.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/JavaType.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/JavaTypeProfile.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/JavaValue.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/LineNumberTable.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/Local.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/LocalVariableTable.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/MemoryAccessProvider.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/MetaAccessProvider.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/MetaUtil.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/MethodHandleAccessProvider.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/ModifiersProvider.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/NullConstant.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/PlatformKind.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/PrimitiveConstant.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/ProfilingInfo.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/RawConstant.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/ResolvedJavaField.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/ResolvedJavaMethod.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/ResolvedJavaType.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/SerializableConstant.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/Signature.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/SpeculationLog.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/SuppressFBWarnings.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/TriState.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/UnresolvedJavaField.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/UnresolvedJavaMethod.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/UnresolvedJavaType.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/VMConstant.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/Value.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/ValueKind.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/package-info.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/riscv64/RISCV64.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/riscv64/RISCV64Kind.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/riscv64/package-info.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/runtime/JVMCI.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/runtime/JVMCIBackend.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/runtime/JVMCICompiler.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/runtime/JVMCICompilerFactory.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/runtime/JVMCIRuntime.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/runtime/package-info.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/services/JVMCIPermission.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/services/JVMCIServiceLocator.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/services/Services.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/services/SuppressFBWarnings.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/services/VMEntryPoint.java = src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/services/package-info.java Changeset: 1bb39a95 Author: Joe Darcy Date: 2023-03-04 23:52:03 +0000 URL: https://git.openjdk.org/panama-foreign/commit/1bb39a95eb42c7f68ba59ac2809717cd7b1df7bc 8302027: Port fdlibm trig functions (sin, cos, tan) 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/SinCosTests.java ! test/jdk/java/lang/Math/TanTests.java ! test/jdk/java/lang/StrictMath/ExhaustingTests.java ! test/jdk/java/lang/StrictMath/FdlibmTranslit.java + test/jdk/java/lang/StrictMath/TrigTests.java Changeset: 148900c2 Author: Fei Yang Date: 2023-03-06 00:33:46 +0000 URL: https://git.openjdk.org/panama-foreign/commit/148900c2dcc50d6c4672af3224c94b430dfb372b 8303562: Remove obsolete comments in os::pd_attempt_reserve_memory_at Reviewed-by: stuefe ! src/hotspot/os/bsd/os_bsd.cpp ! src/hotspot/os/linux/os_linux.cpp Changeset: 10d6a8e6 Author: Yi Yang Date: 2023-03-06 02:02:29 +0000 URL: https://git.openjdk.org/panama-foreign/commit/10d6a8e66a911d876239e44afbd76f7faf660cc3 8299518: HotSpotVirtualMachine shared code across different platforms Reviewed-by: cjplummer, dholmes ! src/jdk.attach/aix/classes/sun/tools/attach/VirtualMachineImpl.java ! src/jdk.attach/linux/classes/sun/tools/attach/VirtualMachineImpl.java ! src/jdk.attach/macosx/classes/sun/tools/attach/VirtualMachineImpl.java ! src/jdk.attach/share/classes/sun/tools/attach/HotSpotVirtualMachine.java ! src/jdk.attach/windows/classes/sun/tools/attach/VirtualMachineImpl.java Changeset: 3eff1a02 Author: Chris Plummer Date: 2023-03-06 07:16:18 +0000 URL: https://git.openjdk.org/panama-foreign/commit/3eff1a022530dfaf3565844756db8736c5e80259 8303630: Move nsk/jvmti/AttachOnDemand/attach002a/TestDescription.java back to general problem list Reviewed-by: dholmes ! test/hotspot/jtreg/ProblemList-Xcomp.txt ! test/hotspot/jtreg/ProblemList.txt Changeset: 15c76e4c Author: Alexander Scherbatiy Date: 2023-03-06 07:40:38 +0000 URL: https://git.openjdk.org/panama-foreign/commit/15c76e4c026112f79828d714a5e1c8f822866afa 8301254: UNIX sun/font coding does not detect SuSE in openSUSE Leap distribution Reviewed-by: prr ! src/java.desktop/unix/classes/sun/font/FcFontConfiguration.java ! src/java.desktop/unix/classes/sun/font/MFontConfiguration.java Changeset: d00a7670 Author: Alexander Scherbatiy Date: 2023-03-06 07:48:37 +0000 URL: https://git.openjdk.org/panama-foreign/commit/d00a767047ec41e233e711dbc5fe7b8818e72f28 8295737: macOS: Print content cut off when width > height with portrait orientation Reviewed-by: prr ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CPrinterJob.java + test/jdk/java/awt/print/PageFormat/PrintContentCutOffTest.java Changeset: 5f153e05 Author: Erik ?sterlund Date: 2023-03-06 07:58:23 +0000 URL: https://git.openjdk.org/panama-foreign/commit/5f153e056b1929a306b0907f4528bbd2766699c2 8302780: Add support for vectorized arraycopy GC barriers Co-authored-by: Yadong Wang Reviewed-by: ayang, fyang, rcastanedalo, aph ! src/hotspot/cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp ! src/hotspot/cpu/riscv/gc/shared/barrierSetAssembler_riscv.cpp ! src/hotspot/cpu/riscv/gc/shared/barrierSetAssembler_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/stubGenerator_x86_64.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.hpp ! src/hotspot/cpu/x86/stubGenerator_x86_64_arraycopy.cpp Changeset: fa1cebed Author: Andrey Turbanov Date: 2023-03-06 08:42:41 +0000 URL: https://git.openjdk.org/panama-foreign/commit/fa1cebedb5de10e34e9d0cd1d8a563c56b562f54 8303266: Prefer ArrayList to LinkedList in JImageTask Reviewed-by: jlaskey ! src/jdk.jlink/share/classes/jdk/tools/jimage/JImageTask.java Changeset: 5753ab5c Author: Prasanta Sadhukhan Date: 2023-03-06 10:20:23 +0000 URL: https://git.openjdk.org/panama-foreign/commit/5753ab5c472c77df720d73491c1ab289eec63374 8297454: javax/swing/JComponent/7154030/bug7154030.java failed with "Exception: Failed to show opaque button" Reviewed-by: tr, jdv ! test/jdk/javax/swing/JComponent/7154030/bug7154030.java Changeset: ec4e8aa4 Author: Albert Mingkun Yang Date: 2023-03-06 10:46:16 +0000 URL: https://git.openjdk.org/panama-foreign/commit/ec4e8aa4f76544fa60a964d72c60b908617f9bae 8303244: G1: call CardTable::clear_MemRegion directly Reviewed-by: ysr, kbarrett ! src/hotspot/share/gc/g1/g1CardTable.cpp ! src/hotspot/share/gc/g1/heapRegion.cpp Changeset: bdffe460 Author: Erik ?sterlund Date: 2023-03-06 11:14:32 +0000 URL: https://git.openjdk.org/panama-foreign/commit/bdffe460cd325f55fffd8e48bd3d15f08d998b15 8301222: Generalize check_release_entry in OopStorage Reviewed-by: tschatzl, kbarrett ! src/hotspot/share/gc/shared/collectedHeap.cpp ! src/hotspot/share/gc/shared/collectedHeap.hpp ! src/hotspot/share/gc/shared/oopStorage.cpp Changeset: 8e201452 Author: Afshin Zafari Committer: Frederic Parain Date: 2023-03-06 12:46:18 +0000 URL: https://git.openjdk.org/panama-foreign/commit/8e2014527ead67ce33627a49223b8269a94f3102 8300654: Remove JVMFlag::flag_error_str as it is unused Reviewed-by: dholmes, fparain ! src/hotspot/share/runtime/flags/jvmFlag.cpp ! src/hotspot/share/runtime/flags/jvmFlag.hpp Changeset: dccfe8a2 Author: Jorn Vernee Date: 2023-03-06 14:52:04 +0000 URL: https://git.openjdk.org/panama-foreign/commit/dccfe8a2eedcead7f33f161f410222c7651398ef 8303582: Reduce duplication in jdk/java/foreign tests Reviewed-by: mcimadamore ! src/java.base/share/classes/jdk/internal/foreign/Utils.java ! test/jdk/java/foreign/CallGeneratorHelper.java ! test/jdk/java/foreign/NativeTestHelper.java ! test/jdk/java/foreign/TestDowncallBase.java ! test/jdk/java/foreign/TestDowncallScope.java ! test/jdk/java/foreign/TestDowncallStack.java ! test/jdk/java/foreign/TestMatrix.java ! test/jdk/java/foreign/TestUpcallAsync.java ! test/jdk/java/foreign/TestUpcallBase.java ! test/jdk/java/foreign/TestUpcallHighArity.java ! test/jdk/java/foreign/TestUpcallScope.java ! test/jdk/java/foreign/TestUpcallStack.java ! test/jdk/java/foreign/TestVarArgs.java Changeset: 5977f266 Author: Jorn Vernee Date: 2023-03-06 15:18:39 +0000 URL: https://git.openjdk.org/panama-foreign/commit/5977f266d04a7a9890665d433d0a2ab627573ca4 8303604: Passing by-value structs whose size is not power of 2 doesn't work on all platforms (mainline) Reviewed-by: mcimadamore ! src/java.base/share/classes/java/lang/invoke/VarHandles.java ! src/java.base/share/classes/jdk/internal/foreign/Utils.java ! src/java.base/share/classes/jdk/internal/foreign/abi/Binding.java ! src/java.base/share/classes/jdk/internal/foreign/abi/BindingSpecializer.java ! src/java.base/share/classes/jdk/internal/foreign/abi/DowncallLinker.java ! src/java.base/share/classes/jdk/internal/foreign/abi/SharedUtils.java ! src/java.base/share/classes/jdk/internal/foreign/abi/aarch64/CallArranger.java ! src/java.base/share/classes/jdk/internal/foreign/abi/x64/sysv/CallArranger.java ! test/jdk/java/foreign/NativeTestHelper.java + test/jdk/java/foreign/arraystructs/TestArrayStructs.java + test/jdk/java/foreign/arraystructs/libArrayStructs.c Changeset: ae8730fd Author: Leonid Mesnik Date: 2023-03-06 15:32:01 +0000 URL: https://git.openjdk.org/panama-foreign/commit/ae8730fd62b382564cda8749763b939aa2939225 8303486: [REDO] Update ProcessTools.startProcess(...) to exit early if process exit before linePredicate is printed. Reviewed-by: dholmes ! test/lib/jdk/test/lib/process/ProcessTools.java ! test/lib/jdk/test/lib/thread/ProcessThread.java Changeset: 877ab659 Author: Leonid Mesnik Date: 2023-03-06 15:33:55 +0000 URL: https://git.openjdk.org/panama-foreign/commit/877ab659b94a275683db72a39a4699d3847b11f3 8303264: Refactor nsk/stress/strace to extract shared and remove redundant code Reviewed-by: mseledtsov, dholmes ! test/hotspot/jtreg/vmTestbase/nsk/stress/strace/StraceBase.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace001.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace002.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace003.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace004.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace005.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace006.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace007.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace008.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace009.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace010.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace011.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace012.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace013.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace014.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace015.java Changeset: cac81ddc Author: Doug Simon Date: 2023-03-06 16:10:02 +0000 URL: https://git.openjdk.org/panama-foreign/commit/cac81ddc9259168a5b12c290ae2ce7db25a729fc 8303577: [JVMCI] OOME causes crash while translating exceptions Reviewed-by: kvn, never ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/jvmci/jvmciEnv.cpp ! src/hotspot/share/jvmci/jvmciJavaClasses.hpp ! src/java.base/share/classes/jdk/internal/vm/VMSupport.java ! test/jdk/jdk/internal/vm/TestTranslatedException.java Changeset: a97271e3 Author: Weijun Wang Date: 2023-03-06 16:20:14 +0000 URL: https://git.openjdk.org/panama-foreign/commit/a97271e3b5d5a08fc503a11cd3e253974fb77ce6 8301793: AlgorithmId should not encode a missing parameters field as NULL unless hardcoded Reviewed-by: mullan ! src/java.base/share/classes/sun/security/x509/AlgorithmId.java + test/jdk/sun/security/x509/AlgorithmId/NullParams.java Changeset: cfb0a25a Author: Naoto Sato Date: 2023-03-06 17:22:52 +0000 URL: https://git.openjdk.org/panama-foreign/commit/cfb0a25a4ee1a9cebd88c84fa622c46fe1c89bae 8303440: The "ZonedDateTime.parse" may not accept the "UTC+XX" zone id Reviewed-by: iris, jpai, rriggs, lancea ! src/java.base/share/classes/java/time/format/DateTimeFormatterBuilder.java + test/jdk/java/time/test/java/time/format/TestUTCParse.java Changeset: ccfe1675 Author: Matthew Donovan Committer: Stuart Marks Date: 2023-03-06 19:18:45 +0000 URL: https://git.openjdk.org/panama-foreign/commit/ccfe1675a2a82accbca0ecd8bd6f1c167a1c06c6 8298939: Refactor open/test/jdk/javax/rmi/ssl/SSLSocketParametersTest.sh to jtreg java test Reviewed-by: dfuchs, smarks ! test/jdk/javax/rmi/ssl/SSLSocketParametersTest.java - test/jdk/javax/rmi/ssl/SSLSocketParametersTest.sh Changeset: f64ed09e Author: Jonathan Gibbons Date: 2023-03-06 22:13:52 +0000 URL: https://git.openjdk.org/panama-foreign/commit/f64ed09e9a674a38f03f1e27e56fb19d72939ba1 8303540: Eliminate unnecessary reference to javac internal class Reviewed-by: hannesw ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java Changeset: c51d40cf Author: Mat Carter Committer: Weijun Wang Date: 2023-03-07 02:12:30 +0000 URL: https://git.openjdk.org/panama-foreign/commit/c51d40cfebe793b2e979db0f2d91ac3b136311bb 8303607: SunMSCAPI provider leaks memory and keys Reviewed-by: weijun ! src/jdk.crypto.mscapi/windows/native/libsunmscapi/security.cpp Changeset: 94eda53d Author: Tobias Hartmann Date: 2023-03-07 06:59:23 +0000 URL: https://git.openjdk.org/panama-foreign/commit/94eda53d98e5011cc613d031ff8941e254eb666b 8201516: DebugNonSafepoints generates incorrect information Reviewed-by: kvn, roland ! src/hotspot/share/opto/parse1.cpp ! src/hotspot/share/opto/phaseX.cpp + test/hotspot/jtreg/compiler/c2/irTests/TestDebugInfo.java Changeset: 97c25df4 Author: Johan Sj?len Date: 2023-03-07 07:24:54 +0000 URL: https://git.openjdk.org/panama-foreign/commit/97c25df4b8a85c761540f4186b030f81418652eb 8204550: NMT: RegionIterator does not need to keep _current_size Reviewed-by: stuefe, gziemski ! src/hotspot/share/services/virtualMemoryTracker.cpp Changeset: 7fbfc884 Author: Albert Mingkun Yang Date: 2023-03-07 08:12:26 +0000 URL: https://git.openjdk.org/panama-foreign/commit/7fbfc884f0980169e8c08167d59147222728b66b 8303534: Merge CompactibleSpace into ContiguousSpace Reviewed-by: cjplummer, tschatzl ! src/hotspot/share/gc/serial/defNewGeneration.cpp ! src/hotspot/share/gc/serial/defNewGeneration.hpp ! src/hotspot/share/gc/serial/tenuredGeneration.hpp ! src/hotspot/share/gc/serial/tenuredGeneration.inline.hpp ! src/hotspot/share/gc/shared/generation.cpp ! src/hotspot/share/gc/shared/generation.hpp ! 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/vmStructs_gc.hpp ! src/hotspot/share/memory/iterator.hpp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/g1/HeapRegion.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/shared/CompactibleSpace.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/shared/ContiguousSpace.java Changeset: 3f2d929d Author: Roland Westrelin Date: 2023-03-07 08:37:37 +0000 URL: https://git.openjdk.org/panama-foreign/commit/3f2d929dc3336b301e7e5dceb899d59451645828 8303511: C2: assert(get_ctrl(n) == cle_out) during unrolling Reviewed-by: kvn, thartmann ! src/hotspot/share/opto/loopopts.cpp + test/hotspot/jtreg/compiler/loopstripmining/TestAddPAtOuterLoopHead.java Changeset: 52d30087 Author: Amit Kumar Committer: Tobias Hartmann Date: 2023-03-07 08:57:27 +0000 URL: https://git.openjdk.org/panama-foreign/commit/52d30087734ad95761078793da6e207797558e2b 8303497: [s390x] ProblemList TestUnreachableInnerLoop.java Reviewed-by: thartmann ! test/hotspot/jtreg/ProblemList.txt Changeset: 008c5eb4 Author: Kim Barrett Date: 2023-03-07 12:59:26 +0000 URL: https://git.openjdk.org/panama-foreign/commit/008c5eb4dd40f93e9c7849bfc681d615ab29baad 8303621: BitMap::iterate should support lambdas and other function objects Reviewed-by: aboldtch, tschatzl, stefank ! src/hotspot/share/c1/c1_LinearScan.cpp ! src/hotspot/share/gc/g1/g1CardSetContainers.inline.hpp ! src/hotspot/share/utilities/bitMap.hpp ! src/hotspot/share/utilities/bitMap.inline.hpp + test/hotspot/gtest/utilities/test_bitMap_iterate.cpp Changeset: 43288bbd Author: Johan Sj?len Date: 2023-03-07 13:16:34 +0000 URL: https://git.openjdk.org/panama-foreign/commit/43288bbd684abfcefdf385ed1e0307070399ccbf 8301477: Replace NULL with nullptr in os/aix Reviewed-by: stuefe, coleenp, tsteele ! src/hotspot/os/aix/attachListener_aix.cpp ! src/hotspot/os/aix/libo4.hpp ! src/hotspot/os/aix/libodm_aix.cpp ! src/hotspot/os/aix/libodm_aix.hpp ! src/hotspot/os/aix/libperfstat_aix.cpp ! src/hotspot/os/aix/loadlib_aix.cpp ! src/hotspot/os/aix/loadlib_aix.hpp ! src/hotspot/os/aix/misc_aix.cpp ! src/hotspot/os/aix/osThread_aix.cpp ! src/hotspot/os/aix/os_aix.cpp ! src/hotspot/os/aix/os_perf_aix.cpp ! src/hotspot/os/aix/porting_aix.cpp ! src/hotspot/os/aix/safepointMechanism_aix.cpp Changeset: 45a616a8 Author: Pavel Rappo Date: 2023-03-07 15:31:42 +0000 URL: https://git.openjdk.org/panama-foreign/commit/45a616a891e4a4b0e77b1f2fa040522f4a99d172 8303480: Miscellaneous fixes to mostly invisible doc comments Reviewed-by: mullan, prr, cjplummer, aivanov, jjg, lancea, rriggs, ihse ! make/ide/idea/jdk/template/src/idea/JdkIdeaAntLogger.java ! make/ide/idea/langtools/template/src/idea/LangtoolsIdeaAntLogger.java ! src/java.base/share/classes/java/lang/invoke/BootstrapMethodInvoker.java ! src/java.base/share/classes/java/security/AccessControlContext.java ! src/java.base/share/classes/java/security/BasicPermission.java ! src/java.base/share/classes/jdk/internal/foreign/abi/CallingSequence.java ! src/java.base/share/classes/jdk/internal/vm/VMSupport.java ! src/java.base/share/classes/sun/util/locale/provider/LocaleNameProviderImpl.java ! src/java.desktop/share/classes/javax/swing/plaf/synth/SynthComboBoxUI.java ! src/java.desktop/share/classes/javax/swing/plaf/synth/SynthComboPopup.java ! src/java.desktop/share/classes/sun/font/GlyphLayout.java ! src/java.desktop/share/classes/sun/java2d/StateTrackableDelegate.java ! src/java.desktop/share/classes/sun/swing/AccumulativeRunnable.java ! src/java.desktop/share/classes/sun/swing/SwingUtilities2.java ! src/java.desktop/unix/classes/sun/awt/X11/XToolkit.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Type.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Types.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Infer.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/win32/coff/DebugDirectoryEntry.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/utilities/LivenessPath.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/Cleaner.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotCompiledCodeStream.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/JFR.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/MethodHandleAccessProvider.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Head.java ! src/utils/LogCompilation/src/main/java/com/sun/hotspot/tools/compiler/LogParser.java ! test/hotspot/jtreg/compiler/lib/ir_framework/TestFramework.java ! test/hotspot/jtreg/gc/g1/plab/lib/PlabGCStatistics.java ! test/hotspot/jtreg/vmTestbase/nsk/share/runner/MultiRunner.java ! test/jdk/java/rmi/testlibrary/TestLibrary.java ! test/jdk/java/time/test/java/time/chrono/TestExampleCode.java ! test/jdk/sun/security/ssl/SignatureScheme/SigSchemePropOrdering.java ! test/jdk/sun/security/tools/keytool/KeyToolTest.java ! test/langtools/jdk/javadoc/doclet/testRecordTypes/examples/SerializableProxy.java ! test/lib/jdk/test/lib/ByteCodeLoader.java ! test/lib/jdk/test/lib/UIBuilder.java ! test/lib/jdk/test/lib/security/timestamp/TsaSigner.java Changeset: ac3ab5b0 Author: Ian Graves Date: 2023-03-07 17:20:04 +0000 URL: https://git.openjdk.org/panama-foreign/commit/ac3ab5b00754a6d96dcb107edb7b82ba582f15b9 8217496: Matcher.group() can return null after usePattern Reviewed-by: smarks ! src/java.base/share/classes/java/util/regex/Matcher.java Changeset: acf89961 Author: Justin Lu Committer: Naoto Sato Date: 2023-03-07 18:18:59 +0000 URL: https://git.openjdk.org/panama-foreign/commit/acf899612f9b6c4fdd919c40a92ce9c40b3744ed 8303275: Use {@Return and @linkplain in Locale and related classes Reviewed-by: naoto ! src/java.base/share/classes/java/util/Locale.java ! src/java.base/share/classes/java/util/spi/LocaleServiceProvider.java ! src/java.base/share/classes/sun/util/locale/provider/LocaleServiceProviderPool.java Changeset: f1f4e1de Author: Justin Lu Committer: Naoto Sato Date: 2023-03-07 18:30:28 +0000 URL: https://git.openjdk.org/panama-foreign/commit/f1f4e1de445cbec44f871791e93d4dd566c232f1 6453901: (cal) clean up sun.util.calendar classes Reviewed-by: naoto, lancea ! src/java.base/share/classes/sun/util/calendar/AbstractCalendar.java ! src/java.base/share/classes/sun/util/calendar/BaseCalendar.java ! src/java.base/share/classes/sun/util/calendar/CalendarDate.java ! src/java.base/share/classes/sun/util/calendar/CalendarSystem.java ! src/java.base/share/classes/sun/util/calendar/CalendarUtils.java ! src/java.base/share/classes/sun/util/calendar/Era.java ! src/java.base/share/classes/sun/util/calendar/ImmutableGregorianDate.java ! src/java.base/share/classes/sun/util/calendar/LocalGregorianCalendar.java ! src/java.base/share/classes/sun/util/calendar/ZoneInfo.java ! src/java.base/share/classes/sun/util/calendar/ZoneInfoFile.java Changeset: 4d4eadea Author: Yudi Zheng Committer: Doug Simon Date: 2023-03-07 18:44:01 +0000 URL: https://git.openjdk.org/panama-foreign/commit/4d4eadeae320722191feaf8022a04461232ae95b 8302452: [JVMCI] Export _poly1305_processBlocks, JfrThreadLocal fields to JVMCI compiler. Reviewed-by: dnsimon, never ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/jfr/support/jfrThreadLocal.hpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp Changeset: b5b5cba7 Author: Joe Darcy Date: 2023-03-07 22:28:12 +0000 URL: https://git.openjdk.org/panama-foreign/commit/b5b5cba7feb0e7ef957fd6bef1e591fdb6fdaa9f 8302801: Remove fdlibm C sources Reviewed-by: bpb, dholmes, alanb, kvn ! make/common/modules/LauncherCommon.gmk ! make/modules/java.base/lib/CoreLibraries.gmk ! src/hotspot/os/windows/sharedRuntimeRem.cpp ! src/hotspot/share/runtime/sharedRuntimeTrig.cpp ! src/java.base/share/classes/java/lang/StrictMath.java - src/java.base/share/native/libfdlibm/e_acos.c - src/java.base/share/native/libfdlibm/e_asin.c - src/java.base/share/native/libfdlibm/e_atan2.c - src/java.base/share/native/libfdlibm/e_atanh.c - src/java.base/share/native/libfdlibm/e_cosh.c - src/java.base/share/native/libfdlibm/e_exp.c - src/java.base/share/native/libfdlibm/e_fmod.c - src/java.base/share/native/libfdlibm/e_log.c - src/java.base/share/native/libfdlibm/e_log10.c - src/java.base/share/native/libfdlibm/e_rem_pio2.c - src/java.base/share/native/libfdlibm/e_remainder.c - src/java.base/share/native/libfdlibm/e_scalb.c - src/java.base/share/native/libfdlibm/e_sinh.c - src/java.base/share/native/libfdlibm/e_sqrt.c - src/java.base/share/native/libfdlibm/fdlibm.h - src/java.base/share/native/libfdlibm/jfdlibm.h - src/java.base/share/native/libfdlibm/k_cos.c - src/java.base/share/native/libfdlibm/k_rem_pio2.c - src/java.base/share/native/libfdlibm/k_sin.c - src/java.base/share/native/libfdlibm/k_standard.c - src/java.base/share/native/libfdlibm/k_tan.c - src/java.base/share/native/libfdlibm/s_atan.c - src/java.base/share/native/libfdlibm/s_ceil.c - src/java.base/share/native/libfdlibm/s_copysign.c - src/java.base/share/native/libfdlibm/s_cos.c - src/java.base/share/native/libfdlibm/s_expm1.c - src/java.base/share/native/libfdlibm/s_fabs.c - src/java.base/share/native/libfdlibm/s_finite.c - src/java.base/share/native/libfdlibm/s_floor.c - src/java.base/share/native/libfdlibm/s_frexp.c - src/java.base/share/native/libfdlibm/s_ilogb.c - src/java.base/share/native/libfdlibm/s_isnan.c - src/java.base/share/native/libfdlibm/s_ldexp.c - src/java.base/share/native/libfdlibm/s_lib_version.c - src/java.base/share/native/libfdlibm/s_log1p.c - src/java.base/share/native/libfdlibm/s_logb.c - src/java.base/share/native/libfdlibm/s_matherr.c - src/java.base/share/native/libfdlibm/s_modf.c - src/java.base/share/native/libfdlibm/s_nextafter.c - src/java.base/share/native/libfdlibm/s_rint.c - src/java.base/share/native/libfdlibm/s_scalbn.c - src/java.base/share/native/libfdlibm/s_signgam.c - src/java.base/share/native/libfdlibm/s_significand.c - src/java.base/share/native/libfdlibm/s_sin.c - src/java.base/share/native/libfdlibm/s_tan.c - src/java.base/share/native/libfdlibm/s_tanh.c - src/java.base/share/native/libfdlibm/w_acos.c - src/java.base/share/native/libfdlibm/w_asin.c - src/java.base/share/native/libfdlibm/w_atan2.c - src/java.base/share/native/libfdlibm/w_atanh.c - src/java.base/share/native/libfdlibm/w_cosh.c - src/java.base/share/native/libfdlibm/w_exp.c - src/java.base/share/native/libfdlibm/w_fmod.c - src/java.base/share/native/libfdlibm/w_log.c - src/java.base/share/native/libfdlibm/w_log10.c - src/java.base/share/native/libfdlibm/w_remainder.c - src/java.base/share/native/libfdlibm/w_scalb.c - src/java.base/share/native/libfdlibm/w_sinh.c - src/java.base/share/native/libfdlibm/w_sqrt.c - src/java.base/share/native/libjava/StrictMath.c Changeset: 9f9d6785 Author: Ravali Yatham Committer: Mandy Chung Date: 2023-03-07 22:31:50 +0000 URL: https://git.openjdk.org/panama-foreign/commit/9f9d678591e02ecaeae7b81eeefb0ba41c7b4dae 8302791: Add specific ClassLoader object to Proxy IllegalArgumentException message Reviewed-by: alanb, mchung ! src/java.base/share/classes/java/lang/ClassLoader.java ! src/java.base/share/classes/java/lang/System.java ! src/java.base/share/classes/java/lang/reflect/Proxy.java ! src/java.base/share/classes/jdk/internal/access/JavaLangAccess.java Changeset: 32f4d8b5 Author: Erik Gahlin Date: 2023-03-07 22:32:45 +0000 URL: https://git.openjdk.org/panama-foreign/commit/32f4d8b5eaf8c5fa5da745bc1348f513e2ffe3d3 8303681: JFR: RemoteRecordingStream::setMaxAge() should accept null Reviewed-by: mgronlun ! src/jdk.management.jfr/share/classes/jdk/management/jfr/DiskRepository.java ! src/jdk.management.jfr/share/classes/jdk/management/jfr/RemoteRecordingStream.java ! test/jdk/jdk/jfr/jmx/streaming/TestDelegated.java Changeset: 5f1108f8 Author: David Holmes Date: 2023-03-07 22:54:07 +0000 URL: https://git.openjdk.org/panama-foreign/commit/5f1108f8f0768837591b06d47dec857963ed1fcb 8303151: DCmd framework cleanups Reviewed-by: jsjolen, stuefe, yyang ! src/hotspot/share/services/diagnosticCommand.cpp ! src/hotspot/share/services/diagnosticFramework.hpp ! src/hotspot/share/services/management.cpp Changeset: d7298245 Author: David Holmes Date: 2023-03-07 22:56:33 +0000 URL: https://git.openjdk.org/panama-foreign/commit/d7298245d6759f62e253b5cf0df975db17fdbf82 8286781: Replace the deprecated/obsolete gethostbyname and inet_addr calls Co-authored-by: Daniel Jeli?ski Reviewed-by: kbarrett, djelinski ! make/autoconf/flags-cflags.m4 ! make/autoconf/libraries.m4 ! src/hotspot/os/posix/os_posix.cpp ! src/hotspot/os/windows/os_windows.cpp ! src/hotspot/share/runtime/os.hpp ! src/hotspot/share/utilities/ostream.cpp Changeset: 9b10c694 Author: Erik Gahlin Date: 2023-03-07 23:32:09 +0000 URL: https://git.openjdk.org/panama-foreign/commit/9b10c69475dc493c64c19c78502c698a575fe7da 8303622: JFR: Missing message with Objects.requireNonNull Reviewed-by: mgronlun ! src/jdk.jfr/share/classes/jdk/jfr/AnnotationElement.java ! src/jdk.jfr/share/classes/jdk/jfr/Recording.java ! src/jdk.jfr/share/classes/jdk/jfr/consumer/RecordedObject.java ! src/jdk.jfr/share/classes/jdk/jfr/consumer/RecordingFile.java ! src/jdk.jfr/share/classes/jdk/jfr/consumer/RecordingStream.java ! src/jdk.management.jfr/share/classes/jdk/management/jfr/RemoteRecordingStream.java Changeset: 5fa9bd45 Author: Kim Barrett Date: 2023-03-08 02:37:06 +0000 URL: https://git.openjdk.org/panama-foreign/commit/5fa9bd458232a0b5f31b1e7e5a4a2b1f4047da35 8302189: Mark assertion failures noreturn 8302799: Refactor Debugging variable usage for noreturn crash reporting Reviewed-by: dholmes, coleenp ! make/hotspot/lib/CompileJvm.gmk ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/share/gc/parallel/parallelScavengeHeap.cpp ! src/hotspot/share/oops/accessBackend.cpp ! src/hotspot/share/runtime/javaThread.cpp ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/utilities/debug.cpp ! src/hotspot/share/utilities/debug.hpp Changeset: 21a6ab1e Author: David Holmes Date: 2023-03-08 02:39:14 +0000 URL: https://git.openjdk.org/panama-foreign/commit/21a6ab1e3ea5228a31955d58fe75e5ae66d1c6cd 8303799: [BACKOUT] JDK-8302801 Remove fdlibm C sources Reviewed-by: darcy, bpb ! make/common/modules/LauncherCommon.gmk ! make/modules/java.base/lib/CoreLibraries.gmk ! src/hotspot/os/windows/sharedRuntimeRem.cpp ! src/hotspot/share/runtime/sharedRuntimeTrig.cpp ! src/java.base/share/classes/java/lang/StrictMath.java + src/java.base/share/native/libfdlibm/e_acos.c + src/java.base/share/native/libfdlibm/e_asin.c + src/java.base/share/native/libfdlibm/e_atan2.c + src/java.base/share/native/libfdlibm/e_atanh.c + src/java.base/share/native/libfdlibm/e_cosh.c + src/java.base/share/native/libfdlibm/e_exp.c + src/java.base/share/native/libfdlibm/e_fmod.c + src/java.base/share/native/libfdlibm/e_log.c + src/java.base/share/native/libfdlibm/e_log10.c + src/java.base/share/native/libfdlibm/e_rem_pio2.c + src/java.base/share/native/libfdlibm/e_remainder.c + src/java.base/share/native/libfdlibm/e_scalb.c + src/java.base/share/native/libfdlibm/e_sinh.c + src/java.base/share/native/libfdlibm/e_sqrt.c + src/java.base/share/native/libfdlibm/fdlibm.h + src/java.base/share/native/libfdlibm/jfdlibm.h + src/java.base/share/native/libfdlibm/k_cos.c + src/java.base/share/native/libfdlibm/k_rem_pio2.c + src/java.base/share/native/libfdlibm/k_sin.c + src/java.base/share/native/libfdlibm/k_standard.c + src/java.base/share/native/libfdlibm/k_tan.c + src/java.base/share/native/libfdlibm/s_atan.c + src/java.base/share/native/libfdlibm/s_ceil.c + src/java.base/share/native/libfdlibm/s_copysign.c + src/java.base/share/native/libfdlibm/s_cos.c + src/java.base/share/native/libfdlibm/s_expm1.c + src/java.base/share/native/libfdlibm/s_fabs.c + src/java.base/share/native/libfdlibm/s_finite.c + src/java.base/share/native/libfdlibm/s_floor.c + src/java.base/share/native/libfdlibm/s_frexp.c + src/java.base/share/native/libfdlibm/s_ilogb.c + src/java.base/share/native/libfdlibm/s_isnan.c + src/java.base/share/native/libfdlibm/s_ldexp.c + src/java.base/share/native/libfdlibm/s_lib_version.c + src/java.base/share/native/libfdlibm/s_log1p.c + src/java.base/share/native/libfdlibm/s_logb.c + src/java.base/share/native/libfdlibm/s_matherr.c + src/java.base/share/native/libfdlibm/s_modf.c + src/java.base/share/native/libfdlibm/s_nextafter.c + src/java.base/share/native/libfdlibm/s_rint.c + src/java.base/share/native/libfdlibm/s_scalbn.c + src/java.base/share/native/libfdlibm/s_signgam.c + src/java.base/share/native/libfdlibm/s_significand.c + src/java.base/share/native/libfdlibm/s_sin.c + src/java.base/share/native/libfdlibm/s_tan.c + src/java.base/share/native/libfdlibm/s_tanh.c + src/java.base/share/native/libfdlibm/w_acos.c + src/java.base/share/native/libfdlibm/w_asin.c + src/java.base/share/native/libfdlibm/w_atan2.c + src/java.base/share/native/libfdlibm/w_atanh.c + src/java.base/share/native/libfdlibm/w_cosh.c + src/java.base/share/native/libfdlibm/w_exp.c + src/java.base/share/native/libfdlibm/w_fmod.c + src/java.base/share/native/libfdlibm/w_log.c + src/java.base/share/native/libfdlibm/w_log10.c + src/java.base/share/native/libfdlibm/w_remainder.c + src/java.base/share/native/libfdlibm/w_scalb.c + src/java.base/share/native/libfdlibm/w_sinh.c + src/java.base/share/native/libfdlibm/w_sqrt.c + src/java.base/share/native/libjava/StrictMath.c Changeset: 09d469e5 Author: Prasanta Sadhukhan Date: 2023-03-08 06:55:17 +0000 URL: https://git.openjdk.org/panama-foreign/commit/09d469e5adb235ebe43aee459f40ea324ebceb0f 8252255: Blurry rendering of SwingNode with HiDPI scaling in JavaFX Reviewed-by: kcr, aghaisas ! src/jdk.unsupported.desktop/share/classes/jdk/swing/interop/LightweightFrameWrapper.java Changeset: 1d071d08 Author: Andrey Turbanov Date: 2023-03-08 07:20:21 +0000 URL: https://git.openjdk.org/panama-foreign/commit/1d071d0817714ee2f1bd2af5f9556f7d268dd0fa 8303690: Prefer ArrayList to LinkedList in com.sun.jmx.mbeanserver.Introspector Reviewed-by: stsypanov, kevinw, cjplummer, sspitsyn ! src/java.management/share/classes/com/sun/jmx/mbeanserver/Introspector.java Changeset: afda8fbf Author: Kevin Walls Date: 2023-03-08 08:20:27 +0000 URL: https://git.openjdk.org/panama-foreign/commit/afda8fbf0bcea18cbe741e9c693789ebe0c6c4c5 8303136: MemoryPoolMBean/isCollectionUsageThresholdExceeded/isexceeded005 failed with "isCollectionUsageThresholdExceeded() returned true, while threshold = 1 and used = 0" Reviewed-by: cjplummer, sspitsyn ! test/hotspot/jtreg/vmTestbase/nsk/monitoring/MemoryPoolMBean/isCollectionUsageThresholdExceeded/isexceeded001.java Changeset: d9882523 Author: Tobias Holenstein Date: 2023-03-08 10:52:05 +0000 URL: https://git.openjdk.org/panama-foreign/commit/d9882523780f360afc94d3df5658019d832e596e 8303443: IGV: Syntax highlighting and resizing for filter editor Reviewed-by: rcastanedalo, thartmann ! src/utils/IdealGraphVisualizer/Filter/src/main/java/com/sun/hotspot/igv/filter/EditFilterDialog.form ! src/utils/IdealGraphVisualizer/Filter/src/main/java/com/sun/hotspot/igv/filter/EditFilterDialog.java Changeset: 8eaf84f0 Author: Matthias Baesken Date: 2023-03-08 11:38:37 +0000 URL: https://git.openjdk.org/panama-foreign/commit/8eaf84f09476b08ed421efe74d7554e2b29bc5a7 8303575: adjust Xen handling on Linux aarch64 Reviewed-by: lucy, mdoerr ! src/hotspot/cpu/aarch64/vm_version_aarch64.cpp ! src/hotspot/share/jfr/periodic/jfrOSInterface.cpp ! src/hotspot/share/runtime/abstract_vm_version.hpp Changeset: 56512cfe Author: Daniel Fuchs Date: 2023-03-08 13:52:52 +0000 URL: https://git.openjdk.org/panama-foreign/commit/56512cfe1f0682c98ba3488af3d03ccef632c016 8303682: Simplify HttpClient DebugLogger Reviewed-by: jpai ! src/java.net.http/share/classes/jdk/internal/net/http/Http2Connection.java ! src/java.net.http/share/classes/jdk/internal/net/http/RawChannelTube.java ! src/java.net.http/share/classes/jdk/internal/net/http/common/DebugLogger.java ! src/java.net.http/share/classes/jdk/internal/net/http/common/Logger.java ! src/java.net.http/share/classes/jdk/internal/net/http/common/Utils.java ! src/java.net.http/share/classes/jdk/internal/net/http/websocket/MessageDecoder.java ! src/java.net.http/share/classes/jdk/internal/net/http/websocket/MessageEncoder.java ! src/java.net.http/share/classes/jdk/internal/net/http/websocket/TransportImpl.java ! src/java.net.http/share/classes/jdk/internal/net/http/websocket/WebSocketImpl.java + test/jdk/java/net/httpclient/DebugLoggerTest.java Changeset: ddcb369c Author: Justin King Date: 2023-03-08 15:38:39 +0000 URL: https://git.openjdk.org/panama-foreign/commit/ddcb369ceabd2207699632e90a358baf251c6f36 8303605: Memory leaks in Metaspace gtests Reviewed-by: stuefe, dholmes ! test/hotspot/gtest/gtestMain.cpp ! test/hotspot/gtest/metaspace/metaspaceGtestSparseArray.hpp ! test/hotspot/gtest/metaspace/test_freeblocks.cpp ! test/hotspot/gtest/metaspace/test_virtualspacenode.cpp Changeset: d287a5e9 Author: Xue-Lei Andrew Fan Date: 2023-03-08 16:07:04 +0000 URL: https://git.openjdk.org/panama-foreign/commit/d287a5e9d8e1b87397694781772c4ddbf5e4f4a4 8303617: update for deprecated sprintf for jdk.jdwp.agent Reviewed-by: cjplummer, sspitsyn ! src/jdk.jdwp.agent/share/native/libdt_socket/socketTransport.c ! src/jdk.jdwp.agent/windows/native/libdt_socket/socket_md.c ! src/jdk.jdwp.agent/windows/native/libjdwp/linker_md.c Changeset: 404d5bdd Author: Hannes Walln?fer Date: 2023-03-08 17:15:43 +0000 URL: https://git.openjdk.org/panama-foreign/commit/404d5bddb9177c3bda03db81e14209e372a00027 8302161: Upgrade jQuery UI to version 1.13.2 Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/jquery-ui.css ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/jquery-ui.js ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/jquery-ui.min.css ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/jquery-ui.min.js ! src/jdk.javadoc/share/legal/jqueryUI.md Changeset: f813dc71 Author: Vladimir Kozlov Date: 2023-03-08 18:23:39 +0000 URL: https://git.openjdk.org/panama-foreign/commit/f813dc71836e002814622fead8a2b0464b49c83a 8302508: Add timestamp to the output TraceCompilerThreads Reviewed-by: thartmann ! src/hotspot/share/compiler/compileBroker.cpp Changeset: 5b43804b Author: Rajan Halade Date: 2023-03-08 21:09:44 +0000 URL: https://git.openjdk.org/panama-foreign/commit/5b43804b7988ea4abd6458fba0a042b7bd6d9cb8 8282201: Consider removal of expiry check in VerifyCACerts.java test Reviewed-by: xuelei, mullan ! test/jdk/sun/security/lib/cacerts/VerifyCACerts.java Changeset: 25de2228 Author: Daniel D. Daugherty Date: 2023-03-08 21:23:28 +0000 URL: https://git.openjdk.org/panama-foreign/commit/25de2228ac3295ea7d0574ce386d5c84d8ed68b1 8303839: [BACKOUT] JDK-8302799 and JDK-8302189 Reviewed-by: dholmes ! make/hotspot/lib/CompileJvm.gmk ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/share/gc/parallel/parallelScavengeHeap.cpp ! src/hotspot/share/oops/accessBackend.cpp ! src/hotspot/share/runtime/javaThread.cpp ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/utilities/debug.cpp ! src/hotspot/share/utilities/debug.hpp Changeset: 05ceb37a Author: Eirik Bjorsnos Committer: Naoto Sato Date: 2023-03-08 21:25:21 +0000 URL: https://git.openjdk.org/panama-foreign/commit/05ceb37a2c036580d445c5a7759db74633c090fe 8303833: java.util.LocaleISOData has wrong comments for 'Norwegian Bokm?l' and 'Volap?k' Reviewed-by: naoto ! src/java.base/share/classes/java/util/LocaleISOData.java Changeset: ad326fc6 Author: Doug Simon Date: 2023-03-08 22:33:42 +0000 URL: https://git.openjdk.org/panama-foreign/commit/ad326fc62be9fa29438fb4b59a51c38dd94afd68 8299570: [JVMCI] Insufficient error handling when CodeBuffer is exhausted Reviewed-by: never, adinn, aph ! src/hotspot/cpu/aarch64/jvmciCodeInstaller_aarch64.cpp ! src/hotspot/cpu/aarch64/nativeInst_aarch64.cpp ! src/hotspot/cpu/aarch64/nativeInst_aarch64.hpp ! src/hotspot/share/code/compiledIC.hpp ! src/hotspot/share/jvmci/jvmciCodeInstaller.cpp Changeset: 02875e77 Author: Justin Lu Committer: Naoto Sato Date: 2023-03-09 00:09:39 +0000 URL: https://git.openjdk.org/panama-foreign/commit/02875e77fd01c39aee6f2f0900ea5605b40a8780 8171156: Class java.util.LocaleISOData has outdated information for country Code NP Reviewed-by: naoto ! src/java.base/share/classes/java/util/LocaleISOData.java Changeset: 8cfd74f7 Author: Vladimir Kozlov Date: 2023-03-09 03:26:38 +0000 URL: https://git.openjdk.org/panama-foreign/commit/8cfd74f76afc9e5d50c52104fef9974784718dd4 8302976: C2 intrinsification of Float.floatToFloat16 and Float.float16ToFloat yields different result than the interpreter Reviewed-by: sviswanathan, jbhateja, vlivanov ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/c1_LIRGenerator_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp ! src/hotspot/cpu/aarch64/vm_version_aarch64.hpp ! src/hotspot/cpu/arm/templateInterpreterGenerator_arm.cpp ! src/hotspot/cpu/ppc/templateInterpreterGenerator_ppc.cpp ! src/hotspot/cpu/riscv/assembler_riscv.hpp ! src/hotspot/cpu/riscv/globals_riscv.hpp ! src/hotspot/cpu/riscv/riscv.ad ! src/hotspot/cpu/riscv/templateInterpreterGenerator_riscv.cpp ! src/hotspot/cpu/riscv/vm_version_riscv.cpp ! src/hotspot/cpu/s390/templateInterpreterGenerator_s390.cpp ! src/hotspot/cpu/x86/c1_LIRAssembler_x86.cpp ! src/hotspot/cpu/x86/c1_LIRGenerator_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.hpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.hpp ! src/hotspot/cpu/x86/templateInterpreterGenerator_x86_32.cpp ! src/hotspot/cpu/x86/templateInterpreterGenerator_x86_64.cpp ! src/hotspot/cpu/x86/vm_version_x86.hpp ! src/hotspot/cpu/x86/x86.ad ! src/hotspot/share/c1/c1_Compiler.cpp ! src/hotspot/share/c1/c1_LIR.cpp ! src/hotspot/share/c1/c1_LIR.hpp ! src/hotspot/share/c1/c1_LIRAssembler.cpp ! src/hotspot/share/c1/c1_LIRGenerator.cpp ! src/hotspot/share/c1/c1_LinearScan.cpp ! src/hotspot/share/classfile/vmIntrinsics.cpp ! src/hotspot/share/compiler/abstractCompiler.hpp ! src/hotspot/share/interpreter/abstractInterpreter.cpp ! src/hotspot/share/interpreter/abstractInterpreter.hpp ! src/hotspot/share/interpreter/templateInterpreterGenerator.cpp ! src/hotspot/share/interpreter/templateInterpreterGenerator.hpp ! src/hotspot/share/opto/convertnode.cpp ! src/hotspot/share/opto/convertnode.hpp ! src/hotspot/share/runtime/abstract_vm_version.hpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/hotspot/share/runtime/sharedRuntime.hpp ! src/hotspot/share/runtime/stubRoutines.cpp ! src/hotspot/share/runtime/stubRoutines.hpp + test/hotspot/jtreg/compiler/intrinsics/float16/Binary16Conversion.java + test/hotspot/jtreg/compiler/intrinsics/float16/Binary16ConversionNaN.java + test/hotspot/jtreg/compiler/intrinsics/float16/TestAllFloat16ToFloat.java + test/hotspot/jtreg/compiler/intrinsics/float16/TestConstFloat16ToFloat.java ! test/jdk/java/lang/Float/Binary16ConversionNaN.java Changeset: 5e232cf0 Author: Roland Westrelin Date: 2023-03-09 07:59:32 +0000 URL: https://git.openjdk.org/panama-foreign/commit/5e232cf0a96cf81036a2d9d7814127b7bc9ebab1 8303564: C2: "Bad graph detected in build_loop_late" after a CMove is wrongly split thru phi Reviewed-by: kvn, thartmann ! src/hotspot/share/opto/loopopts.cpp + test/hotspot/jtreg/compiler/loopopts/TestWrongCMovSplitIf.java Changeset: dc523a58 Author: Roland Westrelin Date: 2023-03-09 08:00:24 +0000 URL: https://git.openjdk.org/panama-foreign/commit/dc523a58a6ece87e5865bea0342415a969172c77 8300258: C2: vectorization fails on simple ByteBuffer loop Co-authored-by: Emanuel Peter Reviewed-by: epeter, kvn ! src/hotspot/share/opto/superword.cpp ! src/hotspot/share/opto/superword.hpp + test/hotspot/jtreg/compiler/c2/irTests/TestVectorizationMismatchedAccess.java + test/hotspot/jtreg/compiler/vectorization/TestOverlappingMismatchedAccesses.java Changeset: dd794108 Author: Alan Bateman Date: 2023-03-09 08:13:57 +0000 URL: https://git.openjdk.org/panama-foreign/commit/dd79410824fa57c7fb1ce56c643bb52540f9a206 8303509: Socket setTrafficClass does not work for IPv4 connections when IPv6 enabled Reviewed-by: djelinski, michaelm ! src/java.base/share/classes/sun/nio/ch/Net.java ! src/java.base/share/classes/sun/nio/ch/NioSocketImpl.java ! src/java.base/share/classes/sun/nio/ch/SocketChannelImpl.java ! src/java.base/unix/native/libnio/ch/Net.c ! src/java.base/windows/native/libnio/ch/Net.c Changeset: a7e308ab Author: Matthias Baesken Date: 2023-03-09 08:36:24 +0000 URL: https://git.openjdk.org/panama-foreign/commit/a7e308ab6e5dba7df790840d29fc7edbf3af2e24 8303576: addIdentitiesToKeystore in KeystoreImpl.m needs CFRelease call in early potential CHECK_NULL return Reviewed-by: weijun ! src/java.base/macosx/native/libosxsecurity/KeystoreImpl.m Changeset: 34a92466 Author: Ahmed Muhsin <36454324+ahmedmuhsin at users.noreply.github.com> Committer: Thomas Schatzl Date: 2023-03-09 09:39:39 +0000 URL: https://git.openjdk.org/panama-foreign/commit/34a92466a615415b76c8cb6010ff7e6e1a1d63b4 8274264: Not all of G1 young collection verification honors the verification type Reviewed-by: ayang, tschatzl ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/g1/g1HeapVerifier.cpp ! src/hotspot/share/gc/g1/g1HeapVerifier.hpp Changeset: 713def0b Author: Jatin Bhateja Date: 2023-03-09 12:05:29 +0000 URL: https://git.openjdk.org/panama-foreign/commit/713def0bf25c3488afb72e453f3b7cd09a909599 8303105: LoopRangeStrideTest fails IR verification on x86 Reviewed-by: thartmann ! test/hotspot/jtreg/compiler/vectorization/runner/LoopRangeStrideTest.java Changeset: 7e015345 Author: Albert Mingkun Yang Date: 2023-03-09 13:40:10 +0000 URL: https://git.openjdk.org/panama-foreign/commit/7e015345902c6101d0dc9dbe21a7baa098fbb820 8303467: Serial: Refactor reference processor Reviewed-by: tschatzl, iwalulya ! src/hotspot/share/gc/serial/defNewGeneration.cpp ! src/hotspot/share/gc/serial/defNewGeneration.hpp ! src/hotspot/share/gc/serial/genMarkSweep.cpp ! src/hotspot/share/gc/serial/genMarkSweep.hpp ! src/hotspot/share/gc/serial/markSweep.cpp ! src/hotspot/share/gc/serial/markSweep.hpp ! src/hotspot/share/gc/serial/tenuredGeneration.cpp ! src/hotspot/share/gc/shared/genCollectedHeap.cpp ! src/hotspot/share/gc/shared/genCollectedHeap.hpp ! src/hotspot/share/gc/shared/generation.cpp ! src/hotspot/share/gc/shared/generation.hpp ! src/hotspot/share/gc/shared/referenceProcessor.cpp ! src/hotspot/share/gc/shared/referenceProcessor.hpp Changeset: 1e9942aa Author: Pavel Rappo Date: 2023-03-09 13:43:36 +0000 URL: https://git.openjdk.org/panama-foreign/commit/1e9942aa112edca33f964db127df6c9ce41e86ff 8303881: Mixed, minor cleanup in jdk.compiler Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Preview.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Scope.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symbol.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Types.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Flow.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassReader.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/model/JavacElements.java Changeset: 4655b790 Author: Adam Sotona Date: 2023-03-09 15:23:03 +0000 URL: https://git.openjdk.org/panama-foreign/commit/4655b790d0b39b4ddabde78d7b3eed196b1152ed 8294982: Implementation of Classfile API Reviewed-by: ihse, psandoz, mcimadamore ! make/RunTests.gmk ! make/modules/java.base/Java.gmk ! make/test/BuildMicrobenchmark.gmk + src/java.base/share/classes/jdk/internal/classfile/AccessFlags.java + src/java.base/share/classes/jdk/internal/classfile/Annotation.java + src/java.base/share/classes/jdk/internal/classfile/AnnotationElement.java + src/java.base/share/classes/jdk/internal/classfile/AnnotationValue.java + src/java.base/share/classes/jdk/internal/classfile/Attribute.java + src/java.base/share/classes/jdk/internal/classfile/AttributeMapper.java + src/java.base/share/classes/jdk/internal/classfile/AttributedElement.java + src/java.base/share/classes/jdk/internal/classfile/Attributes.java + src/java.base/share/classes/jdk/internal/classfile/BootstrapMethodEntry.java + src/java.base/share/classes/jdk/internal/classfile/BufWriter.java + src/java.base/share/classes/jdk/internal/classfile/ClassBuilder.java + src/java.base/share/classes/jdk/internal/classfile/ClassElement.java + src/java.base/share/classes/jdk/internal/classfile/ClassHierarchyResolver.java + src/java.base/share/classes/jdk/internal/classfile/ClassModel.java + src/java.base/share/classes/jdk/internal/classfile/ClassReader.java + src/java.base/share/classes/jdk/internal/classfile/ClassSignature.java + src/java.base/share/classes/jdk/internal/classfile/ClassTransform.java + src/java.base/share/classes/jdk/internal/classfile/Classfile.java + src/java.base/share/classes/jdk/internal/classfile/ClassfileBuilder.java + src/java.base/share/classes/jdk/internal/classfile/ClassfileElement.java + src/java.base/share/classes/jdk/internal/classfile/ClassfileTransform.java + src/java.base/share/classes/jdk/internal/classfile/ClassfileVersion.java + src/java.base/share/classes/jdk/internal/classfile/CodeBuilder.java + src/java.base/share/classes/jdk/internal/classfile/CodeElement.java + src/java.base/share/classes/jdk/internal/classfile/CodeModel.java + src/java.base/share/classes/jdk/internal/classfile/CodeTransform.java + src/java.base/share/classes/jdk/internal/classfile/CompoundElement.java + src/java.base/share/classes/jdk/internal/classfile/CustomAttribute.java + src/java.base/share/classes/jdk/internal/classfile/FieldBuilder.java + src/java.base/share/classes/jdk/internal/classfile/FieldElement.java + src/java.base/share/classes/jdk/internal/classfile/FieldModel.java + src/java.base/share/classes/jdk/internal/classfile/FieldTransform.java + src/java.base/share/classes/jdk/internal/classfile/Instruction.java + src/java.base/share/classes/jdk/internal/classfile/Interfaces.java + src/java.base/share/classes/jdk/internal/classfile/Label.java + src/java.base/share/classes/jdk/internal/classfile/MethodBuilder.java + src/java.base/share/classes/jdk/internal/classfile/MethodElement.java + src/java.base/share/classes/jdk/internal/classfile/MethodModel.java + src/java.base/share/classes/jdk/internal/classfile/MethodSignature.java + src/java.base/share/classes/jdk/internal/classfile/MethodTransform.java + src/java.base/share/classes/jdk/internal/classfile/Opcode.java + src/java.base/share/classes/jdk/internal/classfile/PseudoInstruction.java + src/java.base/share/classes/jdk/internal/classfile/Signature.java + src/java.base/share/classes/jdk/internal/classfile/Superclass.java + src/java.base/share/classes/jdk/internal/classfile/TypeAnnotation.java + src/java.base/share/classes/jdk/internal/classfile/TypeKind.java + src/java.base/share/classes/jdk/internal/classfile/WritableElement.java + src/java.base/share/classes/jdk/internal/classfile/attribute/AnnotationDefaultAttribute.java + src/java.base/share/classes/jdk/internal/classfile/attribute/BootstrapMethodsAttribute.java + src/java.base/share/classes/jdk/internal/classfile/attribute/CharacterRangeInfo.java + src/java.base/share/classes/jdk/internal/classfile/attribute/CharacterRangeTableAttribute.java + src/java.base/share/classes/jdk/internal/classfile/attribute/CodeAttribute.java + src/java.base/share/classes/jdk/internal/classfile/attribute/CompilationIDAttribute.java + src/java.base/share/classes/jdk/internal/classfile/attribute/ConstantValueAttribute.java + src/java.base/share/classes/jdk/internal/classfile/attribute/DeprecatedAttribute.java + src/java.base/share/classes/jdk/internal/classfile/attribute/EnclosingMethodAttribute.java + src/java.base/share/classes/jdk/internal/classfile/attribute/ExceptionsAttribute.java + src/java.base/share/classes/jdk/internal/classfile/attribute/InnerClassInfo.java + src/java.base/share/classes/jdk/internal/classfile/attribute/InnerClassesAttribute.java + src/java.base/share/classes/jdk/internal/classfile/attribute/LineNumberInfo.java + src/java.base/share/classes/jdk/internal/classfile/attribute/LineNumberTableAttribute.java + src/java.base/share/classes/jdk/internal/classfile/attribute/LocalVariableInfo.java + src/java.base/share/classes/jdk/internal/classfile/attribute/LocalVariableTableAttribute.java + src/java.base/share/classes/jdk/internal/classfile/attribute/LocalVariableTypeInfo.java + src/java.base/share/classes/jdk/internal/classfile/attribute/LocalVariableTypeTableAttribute.java + src/java.base/share/classes/jdk/internal/classfile/attribute/MethodParameterInfo.java + src/java.base/share/classes/jdk/internal/classfile/attribute/MethodParametersAttribute.java + src/java.base/share/classes/jdk/internal/classfile/attribute/ModuleAttribute.java + src/java.base/share/classes/jdk/internal/classfile/attribute/ModuleExportInfo.java + src/java.base/share/classes/jdk/internal/classfile/attribute/ModuleHashInfo.java + src/java.base/share/classes/jdk/internal/classfile/attribute/ModuleHashesAttribute.java + src/java.base/share/classes/jdk/internal/classfile/attribute/ModuleMainClassAttribute.java + src/java.base/share/classes/jdk/internal/classfile/attribute/ModuleOpenInfo.java + src/java.base/share/classes/jdk/internal/classfile/attribute/ModulePackagesAttribute.java + src/java.base/share/classes/jdk/internal/classfile/attribute/ModuleProvideInfo.java + src/java.base/share/classes/jdk/internal/classfile/attribute/ModuleRequireInfo.java + src/java.base/share/classes/jdk/internal/classfile/attribute/ModuleResolutionAttribute.java + src/java.base/share/classes/jdk/internal/classfile/attribute/ModuleTargetAttribute.java + src/java.base/share/classes/jdk/internal/classfile/attribute/NestHostAttribute.java + src/java.base/share/classes/jdk/internal/classfile/attribute/NestMembersAttribute.java + src/java.base/share/classes/jdk/internal/classfile/attribute/PermittedSubclassesAttribute.java + src/java.base/share/classes/jdk/internal/classfile/attribute/RecordAttribute.java + src/java.base/share/classes/jdk/internal/classfile/attribute/RecordComponentInfo.java + src/java.base/share/classes/jdk/internal/classfile/attribute/RuntimeInvisibleAnnotationsAttribute.java + src/java.base/share/classes/jdk/internal/classfile/attribute/RuntimeInvisibleParameterAnnotationsAttribute.java + src/java.base/share/classes/jdk/internal/classfile/attribute/RuntimeInvisibleTypeAnnotationsAttribute.java + src/java.base/share/classes/jdk/internal/classfile/attribute/RuntimeVisibleAnnotationsAttribute.java + src/java.base/share/classes/jdk/internal/classfile/attribute/RuntimeVisibleParameterAnnotationsAttribute.java + src/java.base/share/classes/jdk/internal/classfile/attribute/RuntimeVisibleTypeAnnotationsAttribute.java + src/java.base/share/classes/jdk/internal/classfile/attribute/SignatureAttribute.java + src/java.base/share/classes/jdk/internal/classfile/attribute/SourceDebugExtensionAttribute.java + src/java.base/share/classes/jdk/internal/classfile/attribute/SourceFileAttribute.java + src/java.base/share/classes/jdk/internal/classfile/attribute/SourceIDAttribute.java + src/java.base/share/classes/jdk/internal/classfile/attribute/StackMapFrameInfo.java + src/java.base/share/classes/jdk/internal/classfile/attribute/StackMapTableAttribute.java + src/java.base/share/classes/jdk/internal/classfile/attribute/SyntheticAttribute.java + src/java.base/share/classes/jdk/internal/classfile/attribute/UnknownAttribute.java + src/java.base/share/classes/jdk/internal/classfile/components/ClassPrinter.java + src/java.base/share/classes/jdk/internal/classfile/components/ClassRemapper.java + src/java.base/share/classes/jdk/internal/classfile/components/CodeLocalsShifter.java + src/java.base/share/classes/jdk/internal/classfile/components/CodeRelabeler.java + src/java.base/share/classes/jdk/internal/classfile/components/CodeStackTracker.java + src/java.base/share/classes/jdk/internal/classfile/components/package-info.java + src/java.base/share/classes/jdk/internal/classfile/components/snippet-files/PackageSnippets.java + src/java.base/share/classes/jdk/internal/classfile/constantpool/AnnotationConstantValueEntry.java + src/java.base/share/classes/jdk/internal/classfile/constantpool/ClassEntry.java + src/java.base/share/classes/jdk/internal/classfile/constantpool/ConstantDynamicEntry.java + src/java.base/share/classes/jdk/internal/classfile/constantpool/ConstantPool.java + src/java.base/share/classes/jdk/internal/classfile/constantpool/ConstantPoolBuilder.java + src/java.base/share/classes/jdk/internal/classfile/constantpool/ConstantValueEntry.java + src/java.base/share/classes/jdk/internal/classfile/constantpool/DoubleEntry.java + src/java.base/share/classes/jdk/internal/classfile/constantpool/DynamicConstantPoolEntry.java + src/java.base/share/classes/jdk/internal/classfile/constantpool/FieldRefEntry.java + src/java.base/share/classes/jdk/internal/classfile/constantpool/FloatEntry.java + src/java.base/share/classes/jdk/internal/classfile/constantpool/IntegerEntry.java + src/java.base/share/classes/jdk/internal/classfile/constantpool/InterfaceMethodRefEntry.java + src/java.base/share/classes/jdk/internal/classfile/constantpool/InvokeDynamicEntry.java + src/java.base/share/classes/jdk/internal/classfile/constantpool/LoadableConstantEntry.java + src/java.base/share/classes/jdk/internal/classfile/constantpool/LongEntry.java + src/java.base/share/classes/jdk/internal/classfile/constantpool/MemberRefEntry.java + src/java.base/share/classes/jdk/internal/classfile/constantpool/MethodHandleEntry.java + src/java.base/share/classes/jdk/internal/classfile/constantpool/MethodRefEntry.java + src/java.base/share/classes/jdk/internal/classfile/constantpool/MethodTypeEntry.java + src/java.base/share/classes/jdk/internal/classfile/constantpool/ModuleEntry.java + src/java.base/share/classes/jdk/internal/classfile/constantpool/NameAndTypeEntry.java + src/java.base/share/classes/jdk/internal/classfile/constantpool/PackageEntry.java + src/java.base/share/classes/jdk/internal/classfile/constantpool/PoolEntry.java + src/java.base/share/classes/jdk/internal/classfile/constantpool/StringEntry.java + src/java.base/share/classes/jdk/internal/classfile/constantpool/Utf8Entry.java + src/java.base/share/classes/jdk/internal/classfile/impl/AbstractAttributeMapper.java + src/java.base/share/classes/jdk/internal/classfile/impl/AbstractBoundLocalVariable.java + src/java.base/share/classes/jdk/internal/classfile/impl/AbstractDirectBuilder.java + src/java.base/share/classes/jdk/internal/classfile/impl/AbstractElement.java + src/java.base/share/classes/jdk/internal/classfile/impl/AbstractInstruction.java + src/java.base/share/classes/jdk/internal/classfile/impl/AbstractPoolEntry.java + src/java.base/share/classes/jdk/internal/classfile/impl/AbstractPseudoInstruction.java + src/java.base/share/classes/jdk/internal/classfile/impl/AbstractUnboundModel.java + src/java.base/share/classes/jdk/internal/classfile/impl/AccessFlagsImpl.java + src/java.base/share/classes/jdk/internal/classfile/impl/AnnotationImpl.java + src/java.base/share/classes/jdk/internal/classfile/impl/AnnotationReader.java + src/java.base/share/classes/jdk/internal/classfile/impl/AttributeHolder.java + src/java.base/share/classes/jdk/internal/classfile/impl/BlockCodeBuilderImpl.java + src/java.base/share/classes/jdk/internal/classfile/impl/BootstrapMethodEntryImpl.java + src/java.base/share/classes/jdk/internal/classfile/impl/BoundAttribute.java + src/java.base/share/classes/jdk/internal/classfile/impl/BoundCharacterRange.java + src/java.base/share/classes/jdk/internal/classfile/impl/BoundLocalVariable.java + src/java.base/share/classes/jdk/internal/classfile/impl/BoundLocalVariableType.java + src/java.base/share/classes/jdk/internal/classfile/impl/BoundRecordComponentInfo.java + src/java.base/share/classes/jdk/internal/classfile/impl/BufWriterImpl.java + src/java.base/share/classes/jdk/internal/classfile/impl/BufferedCodeBuilder.java + src/java.base/share/classes/jdk/internal/classfile/impl/BufferedFieldBuilder.java + src/java.base/share/classes/jdk/internal/classfile/impl/BufferedMethodBuilder.java + src/java.base/share/classes/jdk/internal/classfile/impl/BytecodeHelpers.java + src/java.base/share/classes/jdk/internal/classfile/impl/CatchBuilderImpl.java + src/java.base/share/classes/jdk/internal/classfile/impl/ChainedClassBuilder.java + src/java.base/share/classes/jdk/internal/classfile/impl/ChainedCodeBuilder.java + src/java.base/share/classes/jdk/internal/classfile/impl/ChainedFieldBuilder.java + src/java.base/share/classes/jdk/internal/classfile/impl/ChainedMethodBuilder.java + src/java.base/share/classes/jdk/internal/classfile/impl/ClassHierarchyImpl.java + src/java.base/share/classes/jdk/internal/classfile/impl/ClassImpl.java + src/java.base/share/classes/jdk/internal/classfile/impl/ClassPrinterImpl.java + src/java.base/share/classes/jdk/internal/classfile/impl/ClassReaderImpl.java + src/java.base/share/classes/jdk/internal/classfile/impl/ClassfileVersionImpl.java + src/java.base/share/classes/jdk/internal/classfile/impl/CodeImpl.java + src/java.base/share/classes/jdk/internal/classfile/impl/DirectClassBuilder.java + src/java.base/share/classes/jdk/internal/classfile/impl/DirectCodeBuilder.java + src/java.base/share/classes/jdk/internal/classfile/impl/DirectFieldBuilder.java + src/java.base/share/classes/jdk/internal/classfile/impl/DirectMethodBuilder.java + src/java.base/share/classes/jdk/internal/classfile/impl/EntryMap.java + src/java.base/share/classes/jdk/internal/classfile/impl/FieldImpl.java + src/java.base/share/classes/jdk/internal/classfile/impl/InterfacesImpl.java + src/java.base/share/classes/jdk/internal/classfile/impl/LabelContext.java + src/java.base/share/classes/jdk/internal/classfile/impl/LabelImpl.java + src/java.base/share/classes/jdk/internal/classfile/impl/LineNumberImpl.java + src/java.base/share/classes/jdk/internal/classfile/impl/MethodImpl.java + src/java.base/share/classes/jdk/internal/classfile/impl/MethodInfo.java + src/java.base/share/classes/jdk/internal/classfile/impl/ModuleAttributeBuilderImpl.java + src/java.base/share/classes/jdk/internal/classfile/impl/ModuleDescImpl.java + src/java.base/share/classes/jdk/internal/classfile/impl/NonterminalCodeBuilder.java + src/java.base/share/classes/jdk/internal/classfile/impl/Options.java + src/java.base/share/classes/jdk/internal/classfile/impl/PackageDescImpl.java + src/java.base/share/classes/jdk/internal/classfile/impl/RawBytecodeHelper.java + src/java.base/share/classes/jdk/internal/classfile/impl/SignaturesImpl.java + src/java.base/share/classes/jdk/internal/classfile/impl/SplitConstantPool.java + src/java.base/share/classes/jdk/internal/classfile/impl/StackMapDecoder.java + src/java.base/share/classes/jdk/internal/classfile/impl/StackMapGenerator.java + src/java.base/share/classes/jdk/internal/classfile/impl/SuperclassImpl.java + src/java.base/share/classes/jdk/internal/classfile/impl/TargetInfoImpl.java + src/java.base/share/classes/jdk/internal/classfile/impl/TemporaryConstantPool.java + src/java.base/share/classes/jdk/internal/classfile/impl/TerminalCodeBuilder.java + src/java.base/share/classes/jdk/internal/classfile/impl/TerminalFieldBuilder.java + src/java.base/share/classes/jdk/internal/classfile/impl/TerminalMethodBuilder.java + src/java.base/share/classes/jdk/internal/classfile/impl/TransformImpl.java + src/java.base/share/classes/jdk/internal/classfile/impl/TransformingCodeBuilder.java + src/java.base/share/classes/jdk/internal/classfile/impl/UnboundAttribute.java + src/java.base/share/classes/jdk/internal/classfile/impl/Util.java + src/java.base/share/classes/jdk/internal/classfile/impl/verifier/VerificationBytecodes.java + src/java.base/share/classes/jdk/internal/classfile/impl/verifier/VerificationFrame.java + src/java.base/share/classes/jdk/internal/classfile/impl/verifier/VerificationSignature.java + src/java.base/share/classes/jdk/internal/classfile/impl/verifier/VerificationTable.java + src/java.base/share/classes/jdk/internal/classfile/impl/verifier/VerificationType.java + src/java.base/share/classes/jdk/internal/classfile/impl/verifier/VerificationWrapper.java + src/java.base/share/classes/jdk/internal/classfile/impl/verifier/VerifierImpl.java + src/java.base/share/classes/jdk/internal/classfile/instruction/ArrayLoadInstruction.java + src/java.base/share/classes/jdk/internal/classfile/instruction/ArrayStoreInstruction.java + src/java.base/share/classes/jdk/internal/classfile/instruction/BranchInstruction.java + src/java.base/share/classes/jdk/internal/classfile/instruction/CharacterRange.java + src/java.base/share/classes/jdk/internal/classfile/instruction/ConstantInstruction.java + src/java.base/share/classes/jdk/internal/classfile/instruction/ConvertInstruction.java + src/java.base/share/classes/jdk/internal/classfile/instruction/ExceptionCatch.java + src/java.base/share/classes/jdk/internal/classfile/instruction/FieldInstruction.java + src/java.base/share/classes/jdk/internal/classfile/instruction/IncrementInstruction.java + src/java.base/share/classes/jdk/internal/classfile/instruction/InvokeDynamicInstruction.java + src/java.base/share/classes/jdk/internal/classfile/instruction/InvokeInstruction.java + src/java.base/share/classes/jdk/internal/classfile/instruction/LabelTarget.java + src/java.base/share/classes/jdk/internal/classfile/instruction/LineNumber.java + src/java.base/share/classes/jdk/internal/classfile/instruction/LoadInstruction.java + src/java.base/share/classes/jdk/internal/classfile/instruction/LocalVariable.java + src/java.base/share/classes/jdk/internal/classfile/instruction/LocalVariableType.java + src/java.base/share/classes/jdk/internal/classfile/instruction/LookupSwitchInstruction.java + src/java.base/share/classes/jdk/internal/classfile/instruction/MonitorInstruction.java + src/java.base/share/classes/jdk/internal/classfile/instruction/NewMultiArrayInstruction.java + src/java.base/share/classes/jdk/internal/classfile/instruction/NewObjectInstruction.java + src/java.base/share/classes/jdk/internal/classfile/instruction/NewPrimitiveArrayInstruction.java + src/java.base/share/classes/jdk/internal/classfile/instruction/NewReferenceArrayInstruction.java + src/java.base/share/classes/jdk/internal/classfile/instruction/NopInstruction.java + src/java.base/share/classes/jdk/internal/classfile/instruction/OperatorInstruction.java + src/java.base/share/classes/jdk/internal/classfile/instruction/ReturnInstruction.java + src/java.base/share/classes/jdk/internal/classfile/instruction/StackInstruction.java + src/java.base/share/classes/jdk/internal/classfile/instruction/StoreInstruction.java + src/java.base/share/classes/jdk/internal/classfile/instruction/SwitchCase.java + src/java.base/share/classes/jdk/internal/classfile/instruction/TableSwitchInstruction.java + src/java.base/share/classes/jdk/internal/classfile/instruction/ThrowInstruction.java + src/java.base/share/classes/jdk/internal/classfile/instruction/TypeCheckInstruction.java + src/java.base/share/classes/jdk/internal/classfile/java/lang/constant/ModuleDesc.java + src/java.base/share/classes/jdk/internal/classfile/java/lang/constant/PackageDesc.java + src/java.base/share/classes/jdk/internal/classfile/package-info.java + src/java.base/share/classes/jdk/internal/classfile/snippet-files/PackageSnippets.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassWriter.java ! test/jdk/TEST.groups + test/jdk/jdk/classfile/AccessFlagsTest.java + test/jdk/jdk/classfile/AdaptCodeTest.java + test/jdk/jdk/classfile/AdvancedTransformationsTest.java + test/jdk/jdk/classfile/AnnotationModelTest.java + test/jdk/jdk/classfile/AnnotationTest.java + test/jdk/jdk/classfile/ArrayTest.java + test/jdk/jdk/classfile/BSMTest.java + test/jdk/jdk/classfile/BasicBlockTest.java + test/jdk/jdk/classfile/BuilderBlockTest.java + test/jdk/jdk/classfile/BuilderParamTest.java + test/jdk/jdk/classfile/BuilderTryCatchTest.java + test/jdk/jdk/classfile/ClassHierarchyInfoTest.java + test/jdk/jdk/classfile/ClassPrinterTest.java + test/jdk/jdk/classfile/ConstantPoolCopyTest.java + test/jdk/jdk/classfile/CorpusTest.java + test/jdk/jdk/classfile/FilterDeadLabelsTest.java + test/jdk/jdk/classfile/LDCTest.java + test/jdk/jdk/classfile/LimitsTest.java + test/jdk/jdk/classfile/LowAdaptTest.java + test/jdk/jdk/classfile/LowJCovAttributeTest.java + test/jdk/jdk/classfile/LowModuleTest.java + test/jdk/jdk/classfile/LvtTest.java + test/jdk/jdk/classfile/MassAdaptCopyCodeTest.java + test/jdk/jdk/classfile/MassAdaptCopyPrimitiveMatchCodeTest.java + test/jdk/jdk/classfile/ModuleBuilderTest.java + test/jdk/jdk/classfile/ModuleDescTest.java + test/jdk/jdk/classfile/OneToOneTest.java + test/jdk/jdk/classfile/OpcodesValidationTest.java + test/jdk/jdk/classfile/PackageDescTest.java + test/jdk/jdk/classfile/ShortJumpsFixTest.java + test/jdk/jdk/classfile/SignaturesTest.java + test/jdk/jdk/classfile/StackMapsTest.java + test/jdk/jdk/classfile/StackTrackerTest.java + test/jdk/jdk/classfile/StreamedVsListTest.java + test/jdk/jdk/classfile/SwapTest.java + test/jdk/jdk/classfile/TEST.properties + test/jdk/jdk/classfile/TempConstantPoolBuilderTest.java + test/jdk/jdk/classfile/TestRecordComponent.java + test/jdk/jdk/classfile/TransformTests.java + test/jdk/jdk/classfile/Utf8EntryTest.java + test/jdk/jdk/classfile/UtilTest.java + test/jdk/jdk/classfile/VerifierSelfTest.java + test/jdk/jdk/classfile/WriteTest.java + test/jdk/jdk/classfile/examples/AnnotationsExamples.java + test/jdk/jdk/classfile/examples/ExampleGallery.java + test/jdk/jdk/classfile/examples/ExperimentalTransformExamples.java + test/jdk/jdk/classfile/examples/ModuleExamples.java + test/jdk/jdk/classfile/examples/TransformExamples.java + test/jdk/jdk/classfile/helpers/ByteArrayClassLoader.java + test/jdk/jdk/classfile/helpers/ClassRecord.java + test/jdk/jdk/classfile/helpers/InstructionModelToCodeBuilder.java + test/jdk/jdk/classfile/helpers/RebuildingTransformation.java + test/jdk/jdk/classfile/helpers/TestConstants.java + test/jdk/jdk/classfile/helpers/TestUtil.java + test/jdk/jdk/classfile/helpers/Transforms.java + test/jdk/jdk/classfile/testdata/Lvt.java + test/jdk/jdk/classfile/testdata/Pattern1.java + test/jdk/jdk/classfile/testdata/Pattern10.java + test/jdk/jdk/classfile/testdata/Pattern2.java + test/jdk/jdk/classfile/testdata/Pattern3.java + test/jdk/jdk/classfile/testdata/Pattern4.java + test/jdk/jdk/classfile/testdata/Pattern5.java + test/jdk/jdk/classfile/testdata/Pattern6.java + test/jdk/jdk/classfile/testdata/Pattern7.java + test/jdk/jdk/classfile/testdata/Pattern8.java + test/jdk/jdk/classfile/testdata/Pattern9.java + test/jdk/jdk/classfile/testdata/TypeAnnotationPattern.java + test/micro/org/openjdk/bench/jdk/classfile/AbstractCorpusBenchmark.java + test/micro/org/openjdk/bench/jdk/classfile/AdHocAdapt.java + test/micro/org/openjdk/bench/jdk/classfile/AdaptInjectNoop.java + test/micro/org/openjdk/bench/jdk/classfile/AdaptMetadata.java + test/micro/org/openjdk/bench/jdk/classfile/AdaptNull.java + test/micro/org/openjdk/bench/jdk/classfile/GenerateStackMaps.java + test/micro/org/openjdk/bench/jdk/classfile/ParseOptions.java + test/micro/org/openjdk/bench/jdk/classfile/ReadDeep.java + test/micro/org/openjdk/bench/jdk/classfile/ReadMetadata.java + test/micro/org/openjdk/bench/jdk/classfile/TestConstants.java + test/micro/org/openjdk/bench/jdk/classfile/Transforms.java + test/micro/org/openjdk/bench/jdk/classfile/Write.java Changeset: cdcf5c1e Author: Leonid Mesnik Date: 2023-03-09 15:44:03 +0000 URL: https://git.openjdk.org/panama-foreign/commit/cdcf5c1ed89505b6bf688fb255b493be4bbb13d2 8303702: Provide ThreadFactory to create platform/virtual threads for com/sun/jdi tests Reviewed-by: cjplummer, sspitsyn ! test/jdk/com/sun/jdi/ClassesByName2Test.java ! test/jdk/com/sun/jdi/DeferredStepTest.java ! test/jdk/com/sun/jdi/EATests.java ! test/jdk/com/sun/jdi/InterruptHangTest.java ! test/jdk/com/sun/jdi/InvokeHangTest.java ! test/jdk/com/sun/jdi/JdbLockTest.java ! test/jdk/com/sun/jdi/JdbStopThreadidTest.java ! test/jdk/com/sun/jdi/MonitorEventTest.java ! test/jdk/com/sun/jdi/PopAsynchronousTest.java ! test/jdk/com/sun/jdi/ResumeOneThreadTest.java ! test/jdk/com/sun/jdi/SimulResumerTest.java ! test/jdk/com/sun/jdi/TestScaffold.java ! test/jdk/com/sun/jdi/TwoThreadsTest.java Changeset: 3227b49a Author: Julian Waters Date: 2023-03-09 16:07:16 +0000 URL: https://git.openjdk.org/panama-foreign/commit/3227b49a7ab5c7a71b5c0a87f3a6984d4b528589 8303760: Visual Studio should use the primary variant in the IDE Reviewed-by: erikj ! make/ide/visualstudio/hotspot/CreateVSProject.gmk Changeset: 68b5eef4 Author: Thomas Schatzl Date: 2023-03-09 16:59:46 +0000 URL: https://git.openjdk.org/panama-foreign/commit/68b5eef44f28ce603a8796545dfa4d3558659bdf 8303334: Further improve liveness/remembered set verification for G1 Reviewed-by: ayang, iwalulya ! src/hotspot/share/gc/g1/heapRegion.cpp Changeset: 595645c7 Author: Adam Sotona Date: 2023-03-09 18:12:35 +0000 URL: https://git.openjdk.org/panama-foreign/commit/595645c76d09b0c30da7fa7d8435ca960c8e3268 8294959: java.base java.lang.Module uses ASM to load module-info.class Reviewed-by: mchung ! src/java.base/share/classes/java/lang/Module.java Changeset: f9aadb94 Author: Alex Menkov Date: 2023-03-09 19:13:02 +0000 URL: https://git.openjdk.org/panama-foreign/commit/f9aadb943cb90382a631a5cafd0624d4e8a47789 8303489: Add a test to verify classes in vmStruct have unique vtables Reviewed-by: cjplummer, sspitsyn ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/types/basic/BasicTypeDataBase.java + test/hotspot/jtreg/serviceability/sa/UniqueVtableTest.java Changeset: 769e7401 Author: Adam Sotona Date: 2023-03-09 19:24:50 +0000 URL: https://git.openjdk.org/panama-foreign/commit/769e74018195feb401f7ef198ec9b09150c14869 8303915: javadoc build failure after JDK-8294959 Reviewed-by: jjg ! make/Docs.gmk Changeset: a9dba565 Author: Justin King Date: 2023-03-09 19:39:07 +0000 URL: https://git.openjdk.org/panama-foreign/commit/a9dba565688a29bef8626488c47519008dcadbe8 8300783: Consolidate byteswap implementations Reviewed-by: kbarrett, kvn ! src/hotspot/cpu/aarch64/bytes_aarch64.hpp ! src/hotspot/cpu/arm/bytes_arm.hpp ! src/hotspot/cpu/ppc/bytes_ppc.hpp ! src/hotspot/cpu/ppc/stubRoutines_ppc_64.cpp ! src/hotspot/cpu/riscv/bytes_riscv.hpp ! src/hotspot/cpu/s390/bytes_s390.hpp ! src/hotspot/cpu/x86/bytes_x86.hpp ! src/hotspot/cpu/zero/bytes_zero.hpp - src/hotspot/os_cpu/aix_ppc/bytes_aix_ppc.hpp - src/hotspot/os_cpu/bsd_aarch64/bytes_bsd_aarch64.hpp - src/hotspot/os_cpu/bsd_x86/bytes_bsd_x86.hpp - src/hotspot/os_cpu/bsd_zero/bytes_bsd_zero.hpp - src/hotspot/os_cpu/linux_aarch64/bytes_linux_aarch64.hpp - src/hotspot/os_cpu/linux_arm/bytes_linux_arm.hpp - src/hotspot/os_cpu/linux_ppc/bytes_linux_ppc.hpp - src/hotspot/os_cpu/linux_riscv/bytes_linux_riscv.hpp - src/hotspot/os_cpu/linux_s390/bytes_linux_s390.hpp - src/hotspot/os_cpu/linux_x86/bytes_linux_x86.hpp - src/hotspot/os_cpu/linux_zero/bytes_linux_zero.hpp - src/hotspot/os_cpu/windows_aarch64/bytes_windows_aarch64.hpp - src/hotspot/os_cpu/windows_x86/bytes_windows_x86.hpp ! src/hotspot/share/code/compressedStream.cpp ! src/hotspot/share/jfr/utilities/jfrBigEndian.hpp ! src/hotspot/share/opto/subnode.cpp + src/hotspot/share/utilities/byteswap.hpp ! src/hotspot/share/utilities/copy.cpp - src/hotspot/share/utilities/moveBits.hpp + src/hotspot/share/utilities/reverse_bits.hpp - test/hotspot/gtest/opto/test_moveBits.cpp + test/hotspot/gtest/utilities/test_byteswap.cpp + test/hotspot/gtest/utilities/test_reverse_bits.cpp Changeset: 5726d31e Author: Johan Sj?len Date: 2023-03-09 20:28:26 +0000 URL: https://git.openjdk.org/panama-foreign/commit/5726d31e56530bbe7dee61ae04b126e20cb3611d 8301074: Replace NULL with nullptr in share/opto/ Reviewed-by: kvn, jwilhelm ! src/hotspot/share/opto/addnode.cpp ! src/hotspot/share/opto/arraycopynode.cpp ! src/hotspot/share/opto/arraycopynode.hpp ! src/hotspot/share/opto/block.cpp ! src/hotspot/share/opto/block.hpp ! src/hotspot/share/opto/buildOopMap.cpp ! src/hotspot/share/opto/bytecodeInfo.cpp ! src/hotspot/share/opto/c2_CodeStubs.cpp ! src/hotspot/share/opto/c2_globals.hpp ! src/hotspot/share/opto/c2compiler.cpp ! src/hotspot/share/opto/callGenerator.cpp ! src/hotspot/share/opto/callGenerator.hpp ! src/hotspot/share/opto/callnode.cpp ! src/hotspot/share/opto/callnode.hpp ! src/hotspot/share/opto/castnode.cpp ! src/hotspot/share/opto/castnode.hpp ! src/hotspot/share/opto/cfgnode.cpp ! src/hotspot/share/opto/cfgnode.hpp ! src/hotspot/share/opto/chaitin.cpp ! src/hotspot/share/opto/chaitin.hpp ! src/hotspot/share/opto/coalesce.cpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/connode.cpp ! src/hotspot/share/opto/connode.hpp ! src/hotspot/share/opto/constantTable.cpp ! src/hotspot/share/opto/convertnode.cpp ! src/hotspot/share/opto/divnode.cpp ! src/hotspot/share/opto/divnode.hpp ! src/hotspot/share/opto/doCall.cpp ! src/hotspot/share/opto/domgraph.cpp ! src/hotspot/share/opto/escape.cpp ! src/hotspot/share/opto/escape.hpp ! src/hotspot/share/opto/gcm.cpp ! src/hotspot/share/opto/generateOptoStub.cpp ! src/hotspot/share/opto/graphKit.cpp ! src/hotspot/share/opto/graphKit.hpp ! src/hotspot/share/opto/idealGraphPrinter.cpp ! src/hotspot/share/opto/idealGraphPrinter.hpp ! src/hotspot/share/opto/idealKit.cpp ! src/hotspot/share/opto/idealKit.hpp ! src/hotspot/share/opto/ifg.cpp ! src/hotspot/share/opto/ifnode.cpp ! src/hotspot/share/opto/indexSet.cpp ! src/hotspot/share/opto/indexSet.hpp ! src/hotspot/share/opto/intrinsicnode.cpp ! src/hotspot/share/opto/lcm.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/library_call.hpp ! src/hotspot/share/opto/live.cpp ! src/hotspot/share/opto/live.hpp ! src/hotspot/share/opto/locknode.cpp ! src/hotspot/share/opto/locknode.hpp ! src/hotspot/share/opto/loopPredicate.cpp ! src/hotspot/share/opto/loopTransform.cpp ! src/hotspot/share/opto/loopUnswitch.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/loopnode.hpp ! src/hotspot/share/opto/loopopts.cpp ! src/hotspot/share/opto/machnode.cpp ! src/hotspot/share/opto/machnode.hpp ! src/hotspot/share/opto/macro.cpp ! src/hotspot/share/opto/macro.hpp ! src/hotspot/share/opto/macroArrayCopy.cpp ! src/hotspot/share/opto/matcher.cpp ! src/hotspot/share/opto/matcher.hpp ! src/hotspot/share/opto/mathexactnode.cpp ! src/hotspot/share/opto/memnode.cpp ! src/hotspot/share/opto/memnode.hpp ! src/hotspot/share/opto/movenode.cpp ! src/hotspot/share/opto/movenode.hpp ! src/hotspot/share/opto/mulnode.cpp ! src/hotspot/share/opto/mulnode.hpp ! src/hotspot/share/opto/multnode.cpp ! src/hotspot/share/opto/multnode.hpp ! src/hotspot/share/opto/narrowptrnode.hpp ! src/hotspot/share/opto/node.cpp ! src/hotspot/share/opto/node.hpp ! src/hotspot/share/opto/opaquenode.cpp ! src/hotspot/share/opto/opaquenode.hpp ! src/hotspot/share/opto/output.cpp ! src/hotspot/share/opto/output.hpp ! src/hotspot/share/opto/parse.hpp ! src/hotspot/share/opto/parse1.cpp ! src/hotspot/share/opto/parse2.cpp ! src/hotspot/share/opto/parse3.cpp ! src/hotspot/share/opto/parseHelper.cpp ! src/hotspot/share/opto/phase.cpp ! src/hotspot/share/opto/phaseX.cpp ! src/hotspot/share/opto/phaseX.hpp ! src/hotspot/share/opto/phasetype.hpp ! src/hotspot/share/opto/postaloc.cpp ! src/hotspot/share/opto/reg_split.cpp ! src/hotspot/share/opto/replacednodes.cpp ! src/hotspot/share/opto/replacednodes.hpp ! src/hotspot/share/opto/rootnode.cpp ! src/hotspot/share/opto/runtime.cpp ! src/hotspot/share/opto/runtime.hpp ! src/hotspot/share/opto/split_if.cpp ! src/hotspot/share/opto/stringopts.cpp ! src/hotspot/share/opto/subnode.cpp ! src/hotspot/share/opto/subnode.hpp ! src/hotspot/share/opto/subtypenode.cpp ! src/hotspot/share/opto/superword.cpp ! src/hotspot/share/opto/superword.hpp ! src/hotspot/share/opto/type.cpp ! src/hotspot/share/opto/type.hpp ! src/hotspot/share/opto/vector.cpp ! src/hotspot/share/opto/vectorIntrinsics.cpp ! src/hotspot/share/opto/vectornode.cpp ! src/hotspot/share/opto/vectornode.hpp Changeset: 8b0eb729 Author: Chris Plummer Date: 2023-03-09 21:55:15 +0000 URL: https://git.openjdk.org/panama-foreign/commit/8b0eb7299a5d0e142453ed5c7a17308077e27993 8289765: JDI EventSet/resume/resume008 failed with "ERROR: suspendCounts don't match for : VirtualThread-unparker" Reviewed-by: sspitsyn, kevinw ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/resume/resume008.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/resume/resume008a.java ! test/hotspot/jtreg/vmTestbase/nsk/share/jdi/EventFilters.java ! test/hotspot/jtreg/vmTestbase/nsk/share/jdi/EventHandler.java Changeset: af0ca78a Author: Chris Plummer Date: 2023-03-09 21:56:08 +0000 URL: https://git.openjdk.org/panama-foreign/commit/af0ca78a8f8108fd81dcdfaa6b8a43a940942633 8303609: ProblemList serviceability/sa/TestSysProps.java with ZGC Reviewed-by: dcubed ! test/hotspot/jtreg/ProblemList-zgc.txt Changeset: e930b63a Author: Alex Menkov Date: 2023-03-09 21:57:15 +0000 URL: https://git.openjdk.org/panama-foreign/commit/e930b63a8f166502740bca45e3d022f69fc04b53 8303924: ProblemList serviceability/sa/UniqueVtableTest.java on Linux Reviewed-by: dcubed ! test/hotspot/jtreg/ProblemList.txt Changeset: 562c8fc6 Author: Christoph Langer Date: 2023-03-09 21:59:12 +0000 URL: https://git.openjdk.org/panama-foreign/commit/562c8fc668e3bfb8cfdf2ea8f60c618a787e7345 8303691: Fedora based devkit build should load more packages from archive location Reviewed-by: mbaesken, erikj ! make/devkit/Tools.gmk Changeset: 8b740b46 Author: Patricio Chilano Mateo Date: 2023-03-09 22:53:44 +0000 URL: https://git.openjdk.org/panama-foreign/commit/8b740b46091c853c7cb66c361deda6dfbb2cedc8 8302779: HelidonAppTest.java fails with "assert(_cb == CodeCache::find_blob(pc())) failed: Must be the same" or SIGSEGV Reviewed-by: coleenp, sspitsyn ! src/hotspot/share/prims/jvmtiRedefineClasses.cpp Changeset: d06308c5 Author: Viktor Klang Committer: Martin Buchholz Date: 2023-03-10 00:31:04 +0000 URL: https://git.openjdk.org/panama-foreign/commit/d06308c54a6f3782565eae343778436013205e21 8302360: Atomic*.compareAndExchange Javadoc unclear Reviewed-by: martin, dholmes ! src/java.base/share/classes/java/lang/invoke/VarHandle.java ! src/java.base/share/classes/java/util/concurrent/atomic/AtomicBoolean.java ! src/java.base/share/classes/java/util/concurrent/atomic/AtomicInteger.java ! src/java.base/share/classes/java/util/concurrent/atomic/AtomicIntegerArray.java ! src/java.base/share/classes/java/util/concurrent/atomic/AtomicLong.java ! src/java.base/share/classes/java/util/concurrent/atomic/AtomicLongArray.java ! src/java.base/share/classes/java/util/concurrent/atomic/AtomicReference.java ! src/java.base/share/classes/java/util/concurrent/atomic/AtomicReferenceArray.java Changeset: e26cc526 Author: David Holmes Date: 2023-03-10 03:08:26 +0000 URL: https://git.openjdk.org/panama-foreign/commit/e26cc526006b16765510e72bd085de069dfae419 8303624: The java.lang.Thread.FieldHolder can be null for JNI attaching threads Reviewed-by: alanb, dcubed ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/runtime/javaThread.cpp Changeset: 0f26d09d Author: Matthias Baesken Date: 2023-03-10 08:27:19 +0000 URL: https://git.openjdk.org/panama-foreign/commit/0f26d09da881b1dfedfc0dcaff46fc169fa1f020 8303822: gtestMain should give more helpful output Reviewed-by: lmesnik ! test/hotspot/gtest/gtestMain.cpp Changeset: b1d89f30 Author: Adam Sotona Date: 2023-03-10 10:15:37 +0000 URL: https://git.openjdk.org/panama-foreign/commit/b1d89f30663aed28783e839c5690f46a2b382002 8294971: jdk.jlink jdk.tools.jimage.JImageTask is using ASM to verify classes Reviewed-by: mchung ! src/java.base/share/classes/module-info.java ! src/jdk.jlink/share/classes/jdk/tools/jimage/JImageTask.java Changeset: 2693c967 Author: duke Date: 2023-03-10 11:00:35 +0000 URL: https://git.openjdk.org/panama-foreign/commit/2693c967485c98821efa34516e508eb304648d95 Automatic merge of jdk:master into master From jvernee at openjdk.org Fri Mar 10 13:35:11 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Fri, 10 Mar 2023 13:35:11 GMT Subject: git: openjdk/panama-foreign: foreign-memaccess+abi: 8303835: Remove uncaught exception handler linker option Message-ID: Changeset: 2a22d914 Author: Jorn Vernee Date: 2023-03-10 13:34:26 +0000 URL: https://git.openjdk.org/panama-foreign/commit/2a22d914371a5094f8dcfc270694de4dbffdd930 8303835: Remove uncaught exception handler linker option Reviewed-by: mcimadamore ! src/java.base/share/classes/java/lang/foreign/Linker.java ! src/java.base/share/classes/jdk/internal/foreign/abi/BindingSpecializer.java ! src/java.base/share/classes/jdk/internal/foreign/abi/CallingSequence.java ! src/java.base/share/classes/jdk/internal/foreign/abi/LinkerOptions.java ! src/java.base/share/classes/jdk/internal/foreign/abi/SharedUtils.java ! src/java.base/share/classes/jdk/internal/foreign/abi/UpcallLinker.java ! src/java.base/share/classes/jdk/internal/foreign/abi/fallback/FallbackLinker.java ! src/java.base/share/classes/jdk/internal/foreign/abi/fallback/LibFallback.java ! src/java.base/share/native/libfallbackLinker/fallbackLinker.c ! test/jdk/java/foreign/TestIllegalLink.java ! test/jdk/java/foreign/TestUpcallException.java From jvernee at openjdk.org Fri Mar 10 13:37:46 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Fri, 10 Mar 2023 13:37:46 GMT Subject: [foreign-memaccess+abi] Integrated: 8303835: Remove uncaught exception handler linker option In-Reply-To: References: Message-ID: On Wed, 8 Mar 2023 20:41:06 GMT, Jorn Vernee wrote: > Remove the uncaught exception handler linker option for now. It does not seem polished enough, and using the thread's uncaught exception handler seems problematic as well. This pull request has now been integrated. Changeset: 2a22d914 Author: Jorn Vernee URL: https://git.openjdk.org/panama-foreign/commit/2a22d914371a5094f8dcfc270694de4dbffdd930 Stats: 110 lines in 11 files changed: 1 ins; 96 del; 13 mod 8303835: Remove uncaught exception handler linker option Reviewed-by: mcimadamore ------------- PR: https://git.openjdk.org/panama-foreign/pull/813 From duke at openjdk.org Fri Mar 10 14:21:52 2023 From: duke at openjdk.org (J. Duke) Date: Fri, 10 Mar 2023 14:21:52 GMT Subject: [foreign-memaccess+abi] RFR: Merge master [v2] In-Reply-To: <-rrPRF4M1Gmydl1bSP4cg4eg4r2EcrpGSrdi5lXOcyc=.419648fd-cd55-45d9-9fd7-c86312a7fa71@github.com> References: <-rrPRF4M1Gmydl1bSP4cg4eg4r2EcrpGSrdi5lXOcyc=.419648fd-cd55-45d9-9fd7-c86312a7fa71@github.com> Message-ID: > Hi all, > > this is an _automatically_ generated pull request to notify you that there are 107 commits from the branch `master`that can **not** be merged into the branch `foreign-memaccess+abi`: > > Over 14 files contains merge conflicts. > > 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 +135:openjdk-bot-135 > $ git checkout openjdk-bot-135 > > # 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-135:135 > > > _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 108 commits: - Merge branch 'foreign-memaccess+abi' into openjdk-bot-135 - Automatic merge of jdk:master into master - 8294971: jdk.jlink jdk.tools.jimage.JImageTask is using ASM to verify classes Reviewed-by: mchung - 8303822: gtestMain should give more helpful output Reviewed-by: lmesnik - 8303624: The java.lang.Thread.FieldHolder can be null for JNI attaching threads Reviewed-by: alanb, dcubed - 8302360: Atomic*.compareAndExchange Javadoc unclear Reviewed-by: martin, dholmes - 8302779: HelidonAppTest.java fails with "assert(_cb == CodeCache::find_blob(pc())) failed: Must be the same" or SIGSEGV Reviewed-by: coleenp, sspitsyn - 8303691: Fedora based devkit build should load more packages from archive location Reviewed-by: mbaesken, erikj - 8303924: ProblemList serviceability/sa/UniqueVtableTest.java on Linux Reviewed-by: dcubed - 8303609: ProblemList serviceability/sa/TestSysProps.java with ZGC Reviewed-by: dcubed - ... and 98 more: https://git.openjdk.org/panama-foreign/compare/2a22d914...d21c2089 ------------- Changes: https://git.openjdk.org/panama-foreign/pull/817/files Webrev: https://webrevs.openjdk.org/?repo=panama-foreign&pr=817&range=01 Stats: 73308 lines in 1052 files changed: 61969 ins; 3262 del; 8077 mod Patch: https://git.openjdk.org/panama-foreign/pull/817.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/817/head:pull/817 PR: https://git.openjdk.org/panama-foreign/pull/817 From duke at openjdk.org Fri Mar 10 14:32:50 2023 From: duke at openjdk.org (J. Duke) Date: Fri, 10 Mar 2023 14:32:50 GMT Subject: [foreign-memaccess+abi] RFR: Merge master [v3] In-Reply-To: <-rrPRF4M1Gmydl1bSP4cg4eg4r2EcrpGSrdi5lXOcyc=.419648fd-cd55-45d9-9fd7-c86312a7fa71@github.com> References: <-rrPRF4M1Gmydl1bSP4cg4eg4r2EcrpGSrdi5lXOcyc=.419648fd-cd55-45d9-9fd7-c86312a7fa71@github.com> Message-ID: > Hi all, > > this is an _automatically_ generated pull request to notify you that there are 107 commits from the branch `master`that can **not** be merged into the branch `foreign-memaccess+abi`: > > Over 14 files contains merge conflicts. > > 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 +135:openjdk-bot-135 > $ git checkout openjdk-bot-135 > > # 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-135:135 > > > _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 incrementally with one additional commit since the last revision: Clean up TestVarArgs further ------------- Changes: - all: https://git.openjdk.org/panama-foreign/pull/817/files - new: https://git.openjdk.org/panama-foreign/pull/817/files/d21c2089..734504e2 Webrevs: - full: https://webrevs.openjdk.org/?repo=panama-foreign&pr=817&range=02 - incr: https://webrevs.openjdk.org/?repo=panama-foreign&pr=817&range=01-02 Stats: 7 lines in 1 file changed: 0 ins; 3 del; 4 mod Patch: https://git.openjdk.org/panama-foreign/pull/817.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/817/head:pull/817 PR: https://git.openjdk.org/panama-foreign/pull/817 From duke at openjdk.org Fri Mar 10 14:32:53 2023 From: duke at openjdk.org (J. Duke) Date: Fri, 10 Mar 2023 14:32:53 GMT Subject: [foreign-memaccess+abi] Integrated: Merge master In-Reply-To: <-rrPRF4M1Gmydl1bSP4cg4eg4r2EcrpGSrdi5lXOcyc=.419648fd-cd55-45d9-9fd7-c86312a7fa71@github.com> References: <-rrPRF4M1Gmydl1bSP4cg4eg4r2EcrpGSrdi5lXOcyc=.419648fd-cd55-45d9-9fd7-c86312a7fa71@github.com> Message-ID: On Fri, 10 Mar 2023 11:00:53 GMT, J. Duke wrote: > Hi all, > > this is an _automatically_ generated pull request to notify you that there are 107 commits from the branch `master`that can **not** be merged into the branch `foreign-memaccess+abi`: > > Over 14 files contains merge conflicts. > > 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 +135:openjdk-bot-135 > $ git checkout openjdk-bot-135 > > # 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-135:135 > > > _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: 8fe753fa Author: J. Duke Committer: Jorn Vernee URL: https://git.openjdk.org/panama-foreign/commit/8fe753faff762162ab1796935a981b2fb1192652 Stats: 73315 lines in 1052 files changed: 61969 ins; 3265 del; 8081 mod Merge master ------------- PR: https://git.openjdk.org/panama-foreign/pull/817 From maurizio.cimadamore at oracle.com Fri Mar 10 18:05:39 2023 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Fri, 10 Mar 2023 18:05:39 +0000 Subject: Understanding the performance of my FFI-based API In-Reply-To: References: <0259f879-3138-92ab-c860-d35205d35bea@oracle.com> Message-ID: Hi Alan, I did some more experiment on your repository. First of all, I fixed the keySegment benchmark utility function to do this: |private MemorySegment getKeySegment() { final int MAX_LEN = 9; // key100000 final int keyIdx = next(); final String keyStr = "key" + keyIdx; for (int i = 0; i < keyStr.length(); ++i) { keySegment.set(ValueLayout.JAVA_BYTE, i, (byte)keyStr.charAt(i)); } for (int i = keyStr.length(); i < MAX_LEN; ++i) { keySegment.set(ValueLayout.JAVA_BYTE, i, (byte) 0x30); } return keySegment; } | E.g. bring it in sync with the buffer version. Then I made, as suggested yesterday, all MethodHandles in FFIMethod static AND final. Also, in FFILayout, I added a call to |.withInvokeExactBehavior()| to each var handle creation. This is helpful to detect inexact calls. I found few inexact calls: * one in FFIDB.java - the result of the foreign call inside getPinnableSlice() is casted to |Long| instead of |long| * one in FFIPinnableSlice.java - the |isPinned()| method also casts to |Boolean|, not |boolean| Then, the |fromPinnable| factory contains some dubious code which is creating a buffer from a segment, just to do a copy. I replaced with this: |MemorySegment.copy(pinnableSlice.data(), ValueLayout.JAVA_BYTE, 0, value, 0, (int)size); | I?ve also updated the code to use the Java 20 API, to make sure I ran with reasonably up to date JVM. Before these changes, I could see a difference between FFI and JNI, especially in the preallocated benchmark variants. With the changes above, it looks like this here: |Benchmark (columnFamilyTestType) (keyCount) (keySize) (valueSize) Mode Cnt Score Error Units GetBenchmarks.ffiGet no_column_family 1000 128 4096 thrpt 30 596.591 ? 6.448 ops/ms GetBenchmarks.ffiGet no_column_family 1000 128 65536 thrpt 30 60.277 ? 0.547 ops/ms GetBenchmarks.ffiGetPinnableSlice no_column_family 1000 128 4096 thrpt 30 771.631 ? 13.835 ops/ms GetBenchmarks.ffiGetPinnableSlice no_column_family 1000 128 65536 thrpt 30 111.709 ? 1.306 ops/ms GetBenchmarks.ffiGetRandom no_column_family 1000 128 4096 thrpt 30 591.891 ? 7.353 ops/ms GetBenchmarks.ffiGetRandom no_column_family 1000 128 65536 thrpt 30 68.197 ? 0.600 ops/ms GetBenchmarks.ffiIdentity no_column_family 1000 128 4096 thrpt 30 58709.753 ? 712.660 ops/ms GetBenchmarks.ffiIdentity no_column_family 1000 128 65536 thrpt 30 59265.794 ? 834.989 ops/ms GetBenchmarks.ffiPreallocatedGet no_column_family 1000 128 4096 thrpt 30 736.686 ? 8.370 ops/ms GetBenchmarks.ffiPreallocatedGet no_column_family 1000 128 65536 thrpt 30 101.211 ? 0.347 ops/ms GetBenchmarks.ffiPreallocatedGetRandom no_column_family 1000 128 4096 thrpt 30 598.381 ? 6.252 ops/ms GetBenchmarks.ffiPreallocatedGetRandom no_column_family 1000 128 65536 thrpt 30 68.037 ? 0.632 ops/ms GetBenchmarks.get no_column_family 1000 128 4096 thrpt 30 559.800 ? 3.369 ops/ms GetBenchmarks.get no_column_family 1000 128 65536 thrpt 30 60.567 ? 0.380 ops/ms GetBenchmarks.preallocatedByteBufferGet no_column_family 1000 128 4096 thrpt 30 758.639 ? 13.025 ops/ms GetBenchmarks.preallocatedByteBufferGet no_column_family 1000 128 65536 thrpt 30 103.190 ? 1.219 ops/ms GetBenchmarks.preallocatedByteBufferGetRandom no_column_family 1000 128 4096 thrpt 30 753.189 ? 12.498 ops/ms GetBenchmarks.preallocatedByteBufferGetRandom no_column_family 1000 128 65536 thrpt 30 103.644 ? 3.625 ops/ms GetBenchmarks.preallocatedGet no_column_family 1000 128 4096 thrpt 30 707.330 ? 10.811 ops/ms GetBenchmarks.preallocatedGet no_column_family 1000 128 65536 thrpt 30 96.743 ? 1.609 ops/ms | It seems most of the numbers are roughly the same. I?m not sure how much the update to 20 matters - maybe try to fix all of the other stuff first, and see what happens (inexact var handle calls can be quite slow compared to Unsafe memory access). Cheers Maurizio On 09/03/2023 18:13, Alan Paxton wrote: > Hi Maurizio, > > Thanks for the quick and detailed response. I think our goals coincide > as it would make life easier for rocksjava to successfully implement > an FFI API. > > A couple of quick initial reruns shows me your suggestions both > contribute a small amount of improvement, but probably do not account > for all the performance I am missing. I shall rerun the full benchmark > for confirmation. > > And since both suggestions give me a clearer idea what might be > performance issues, I will take another pass over my code and see if I > can spot any other potential problems in how it's implemented, or > anything else that isn't truly like-for-like with the JNI version. > > --Alan > > On Thu, Mar 9, 2023 at 12:08?PM Maurizio Cimadamore > wrote: > > Also, zooming into the benchmark, something funny seems to be > going on with "getKeySegment". This seems different from the > "getKeyArr" counterpart, but also has a new issue: I believe that, > in JNI, you just passed the Java array "as is" - but in Panama you > can't (as the array is on-heap), so there is some double-copying > involved there (e.g. you create an on-heap array, which then is > moved off-heap). > > If I'm not mistaken, this method is executed on every benchmark > iteration, so the comparison doesn't just mesure the cost of the > native call, but also the cost it takes to marshal data from Java > heap to native. > > For instance, the byte buffer versions ("keyBuf") seem to avoid > this problem by copying the data directly off-heap (by using a > direct buffer). I think the benchmark should use a native segment, > and avoid the copy so that at least we avoid that source of noise > in the numbers. > > Cheers > Maurizio > > On 09/03/2023 11:29, Maurizio Cimadamore wrote: >> Hi Alan, >> first of all, I'd like to thank you for taking the time to share >> your experience and to write it all up in a document. Stuff like >> that is very valuable to us, especially at this stage in the >> project. >> >> One quick suggestion when eyeballing your code: your method >> handles are "static", but not "final". I suggest you try to >> sprinkle "final" in, and see whether that does the trick. If not, >> we'd have to look deeper. >> >> Cheers >> Maurizio >> >> On 09/03/2023 11:15, Alan Paxton wrote: >>> Hi, >>> >>> I hope this is an appropriate list for this question. >>> >>> I have been prototyping an FFI-based version of the RocksDB Java >>> API, which is currently implemented in JNI. RocksDB is a C++ >>> based key,value-store with a Java API layered on top. I have >>> done some benchmarking of the FFI implementation, versus the JNI >>> version and I find it performs consistently slightly slower than >>> the current API. >>> >>> I would like to understand if this is to be expected, e.g. does >>> FFI do more safety checking under the covers when calling a >>> native method ? >>> Or is the performance likely to improve between the preview in >>> Java 19 and release in Java 21 ? >>> If there are resources or suggestions that would help me dig >>> into the performance I'd be very grateful to be pointed to them. >>> >>> For the use case I'm measuring, data is transferred in native >>> memory originally allocated by RocksDB in C++ which I wrap as a >>> MemorySegment; I do allocate native memory for the request >>> structure. >>> >>> These are links to the PR and some documentation of the work: >>> >>> https://github.com/facebook/rocksdb/pull/11095 >>> >>> >>> https://github.com/alanpaxton/rocksdb/blob/eb-1680-panama-ffi/java/JavaFFI.md >>> >>> >>> >>> Many thanks, >>> Alan Paxton >>> ? -------------- next part -------------- An HTML attachment was scrubbed... URL: From maurizio.cimadamore at oracle.com Fri Mar 10 18:46:27 2023 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Fri, 10 Mar 2023 18:46:27 +0000 Subject: Understanding the performance of my FFI-based API In-Reply-To: References: <0259f879-3138-92ab-c860-d35205d35bea@oracle.com> Message-ID: On 10/03/2023 18:05, Maurizio Cimadamore wrote: > > I?m not sure how much the update to 20 matters - maybe try to fix all > of the other stuff first, and see what happens (inexact var handle > calls can be quite slow compared to Unsafe memory access). > I reverted the Java 20 changes. Numbers still looking good: ``` Benchmark (columnFamilyTestType)? (keyCount)? (keySize)? (valueSize)?? Mode Cnt????? Score???? Error?? Units GetBenchmarks.ffiGet no_column_family??????? 1000??????? 128???????? 4096? thrpt 30??? 596.329 ??? 9.452? ops/ms GetBenchmarks.ffiGet no_column_family??????? 1000??????? 128??????? 65536? thrpt 30???? 60.368 ??? 0.842? ops/ms GetBenchmarks.ffiGetPinnableSlice no_column_family??????? 1000??????? 128???????? 4096? thrpt 30??? 752.036 ??? 5.655? ops/ms GetBenchmarks.ffiGetPinnableSlice no_column_family??????? 1000??????? 128??????? 65536? thrpt 30??? 111.105 ??? 2.304? ops/ms GetBenchmarks.ffiGetRandom no_column_family??????? 1000??????? 128???????? 4096? thrpt 30??? 582.699 ??? 3.379? ops/ms GetBenchmarks.ffiGetRandom no_column_family??????? 1000??????? 128??????? 65536? thrpt 30???? 64.546 ??? 1.829? ops/ms GetBenchmarks.ffiIdentity no_column_family??????? 1000??????? 128???????? 4096? thrpt?? 30 57239.625 ? 674.849? ops/ms GetBenchmarks.ffiIdentity no_column_family??????? 1000??????? 128??????? 65536? thrpt?? 30 57802.683 ? 589.983? ops/ms GetBenchmarks.ffiPreallocatedGet no_column_family??????? 1000??????? 128???????? 4096? thrpt 30??? 717.237 ??? 8.434? ops/ms GetBenchmarks.ffiPreallocatedGet no_column_family??????? 1000??????? 128??????? 65536? thrpt 30???? 96.223 ??? 1.143? ops/ms GetBenchmarks.ffiPreallocatedGetRandom no_column_family??????? 1000??????? 128???????? 4096? thrpt 30??? 585.284 ??? 5.415? ops/ms GetBenchmarks.ffiPreallocatedGetRandom no_column_family??????? 1000??????? 128??????? 65536? thrpt 30???? 66.568 ??? 0.843? ops/ms GetBenchmarks.get no_column_family??????? 1000??????? 128???????? 4096? thrpt 30??? 553.515 ??? 6.278? ops/ms GetBenchmarks.get no_column_family??????? 1000??????? 128??????? 65536? thrpt 30???? 59.999 ??? 0.935? ops/ms GetBenchmarks.preallocatedByteBufferGet no_column_family??????? 1000??????? 128???????? 4096? thrpt 30??? 738.077 ??? 8.767? ops/ms GetBenchmarks.preallocatedByteBufferGet no_column_family??????? 1000??????? 128??????? 65536? thrpt 30???? 99.239 ??? 1.398? ops/ms GetBenchmarks.preallocatedByteBufferGetRandom no_column_family??????? 1000??????? 128???????? 4096? thrpt 30??? 722.680 ?? 11.499? ops/ms GetBenchmarks.preallocatedByteBufferGetRandom no_column_family??????? 1000??????? 128??????? 65536? thrpt 30??? 110.411 ??? 1.117? ops/ms GetBenchmarks.preallocatedGet no_column_family??????? 1000??????? 128???????? 4096? thrpt 30??? 700.405 ??? 8.534? ops/ms GetBenchmarks.preallocatedGet no_column_family??????? 1000??????? 128??????? 65536? thrpt 30???? 99.694 ??? 2.122? ops/ms ``` Maurizio -------------- next part -------------- An HTML attachment was scrubbed... URL: From duke at openjdk.org Sun Mar 12 23:12:49 2023 From: duke at openjdk.org (RedIODev) Date: Sun, 12 Mar 2023 23:12:49 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 I think it's best if you wrap this up. I followed the api changes loosely but didn't keep up with all the details so I don't have the broader picture right now. I'm not sure what else needs to be changed on top of the requested changes. I would do it myself but I'm currently short on time and wouldn't be able to finish this for some time. ------------- PR: https://git.openjdk.org/panama-foreign/pull/747 From pminborg at openjdk.org Mon Mar 13 09:37:56 2023 From: pminborg at openjdk.org (Per Minborg) Date: Mon, 13 Mar 2023 09:37:56 GMT Subject: [foreign-memaccess+abi] RFR: 8296315: Add get/set-AtIndex methods for byte, boolean Message-ID: This PR proposes adding four methods for getting and setting `byte` and `boolean` values via index. It also contains a drive-by fix of a test where the cases for `short` was missing. ------------- Commit messages: - Add get/set-AtIndex methods for byte, boolean Changes: https://git.openjdk.org/panama-foreign/pull/818/files Webrev: https://webrevs.openjdk.org/?repo=panama-foreign&pr=818&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8296315 Stats: 116 lines in 2 files changed: 115 ins; 0 del; 1 mod Patch: https://git.openjdk.org/panama-foreign/pull/818.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/818/head:pull/818 PR: https://git.openjdk.org/panama-foreign/pull/818 From mcimadamore at openjdk.org Mon Mar 13 10:23:08 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Mon, 13 Mar 2023 10:23:08 GMT Subject: [foreign-memaccess+abi] RFR: 8296315: Add get/set-AtIndex methods for byte, boolean In-Reply-To: References: Message-ID: On Mon, 13 Mar 2023 09:29:45 GMT, Per Minborg wrote: > This PR proposes adding four methods for getting and setting `byte` and `boolean` values via index. > > It also contains a drive-by fix of a test where the cases for `short` was missing. Looks good ------------- Marked as reviewed by mcimadamore (Committer). PR: https://git.openjdk.org/panama-foreign/pull/818 From mcimadamore at openjdk.org Mon Mar 13 11:08:03 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Mon, 13 Mar 2023 11:08:03 GMT Subject: [foreign-memaccess+abi] RFR: 8296315: Add get/set-AtIndex methods for byte, boolean [v2] In-Reply-To: References: Message-ID: On Sun, 12 Mar 2023 23:10:05 GMT, RedIODev wrote: >> RedIODev has updated the pull request incrementally with one additional commit since the last revision: >> >> added tests to TestMemoryAccessInstance > > I think it's best if you wrap this up. I followed the api changes loosely but didn't keep up with all the details so I don't have the broader picture right now. I'm not sure what else needs to be changed on top of the requested changes. I would do it myself but I'm currently short on time and wouldn't be able to finish this for some time. Hi @RedIODev - we are taking care of this: https://github.com/openjdk/panama-foreign/pull/818 Please close this PR to avoid confusion. Thanks! ------------- PR: https://git.openjdk.org/panama-foreign/pull/747 From duke at openjdk.org Mon Mar 13 13:55:15 2023 From: duke at openjdk.org (RedIODev) Date: Mon, 13 Mar 2023 13:55:15 GMT Subject: [foreign-memaccess+abi] Withdrawn: 8296315: Add get/set-AtIndex methods for byte, boolean In-Reply-To: References: Message-ID: On Sat, 22 Oct 2022 10:17:44 GMT, RedIODev wrote: > This PR adds the left out getAtIndex and setAtIndex methods for byte and boolean to java.lang.foreign.MemorySegment.java This pull request has been closed without being integrated. ------------- PR: https://git.openjdk.org/panama-foreign/pull/747 From pminborg at openjdk.org Mon Mar 13 16:33:28 2023 From: pminborg at openjdk.org (Per Minborg) Date: Mon, 13 Mar 2023 16:33:28 GMT Subject: [foreign-memaccess+abi] Integrated: 8296315: Add get/set-AtIndex methods for byte, boolean In-Reply-To: References: Message-ID: <8Z5fdFHKFdDHbTgGLUO3FTiZAX_aZ9uK48vE0Ef3VfA=.30586ea4-4011-4253-89e1-5dc0c04b1ff7@github.com> On Mon, 13 Mar 2023 09:29:45 GMT, Per Minborg wrote: > This PR proposes adding four methods for getting and setting `byte` and `boolean` values via index. > > It also contains a drive-by fix of a test where the cases for `short` was missing. This pull request has now been integrated. Changeset: 36e9987e Author: Per Minborg URL: https://git.openjdk.org/panama-foreign/commit/36e9987e45d70d60bc2f471ec94e22f445793930 Stats: 116 lines in 2 files changed: 115 ins; 0 del; 1 mod 8296315: Add get/set-AtIndex methods for byte, boolean Reviewed-by: mcimadamore ------------- PR: https://git.openjdk.org/panama-foreign/pull/818 From jvernee at openjdk.org Tue Mar 14 02:24:57 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Tue, 14 Mar 2023 02:24:57 GMT Subject: [foreign-memaccess+abi] RFR: Refresh FFM API documents In-Reply-To: References: Message-ID: <9kdQzF3RHfyYLklaKVq7dFjmZg6EpwPFNim2YO2oMLk=.ba26e5c3-691f-4db9-8612-48f85c3c8850@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. Marked as reviewed by jvernee (Committer). doc/panama_ffi.md line 29: > 27: try (Arena arena = Arena.ofConfined()) { > 28: foreign = someSegment.get(ValueLayout.ADDRESS, 0) // size = 0, scope = always alive > 29: .reinterpret(4, arena.scope(), null); // size = 4, scope = arena.scope() This should pass the arena now, I think. Suggestion: .reinterpret(4, arena, null); // size = 4, scope = arena.scope() ------------- PR: https://git.openjdk.org/panama-foreign/pull/805 From d.olshanskiy at tinkoff.ru Tue Mar 14 09:41:01 2023 From: d.olshanskiy at tinkoff.ru (Dmitriy Olshanskiy) Date: Tue, 14 Mar 2023 09:41:01 +0000 Subject: Trying out Vector API with ShiftOr algorithm Message-ID: <8f01bac9993d32d72cc3ed4435f9baf444402385.camel@tinkoff.ru> Just wanted to share our early experience with incubator Vector API. Our team been pondering if we could use vectorization in our search engine for a while. The key primitive is based on ShiftOR algorithm ( https://www-igm.univ-mlv.fr/~lecroq/string/node6.html) with a few extensions. In brief with a few bit manipulations + lookup table access it can match any substring of length of up to 64 bytes case- insensitively. While vectorizing the main loop is tricky it would seem that we could use 256 bit vectors to match up to 4 strings in parallel. For our algorithm the strightforward rewrite to Vector API produced code that was about x10 times slower for the case of a single string. To simplify analisys I decided to prepare a pure ShiftOR implementation in the hope that it would be easier to pinpoint any problems with implementation or vector API codegen itself. For the case of a single string I would have expected roughly the same performance. Yes, the lookup table with masks gets 4x bigger but it should still fit in L1 cache easily (8kb), plus we really only using the lower half (ASCII). In reality I see the following in my JMH benchmark: Benchmark Mode Cnt Score Error Units ShiftOrBench.scalar thrpt 5 37906697,202 ? 4141514,236 ops/s ShiftOrBench.vector thrpt 5 14422386,834 ? 690796,099 ops/s Sources and assembly listings for hottest regions are attached. The main loop in scalar version is the following: long state = -1L; for (byte ch : haystack) { state <<= 1; state |= filter[ch]; if ((state & finishMask) == 0) return true; } return false; Vector version is: VectorSpecies species = LongVector.SPECIES_256; LongVector state = LongVector.broadcast(species, -1L); LongVector finish = LongVector.fromArray(species, finishMask, 0); LongVector zero = LongVector.zero(species); for (byte ch : haystack) { state = state.lanewise(VectorOperators.LSHL, 1); LongVector mask = LongVector.fromArray(species, filter, (int)ch * 4); state = state.or(mask); if (state.and(finish).eq(zero).anyTrue()) return true; } return false; Looking at vector ASM I see certain suboptimal things such as this: vptest %ymm4,%ymm7 setne %r11b movzbl %r11b,%r11d test %r11d,%r11d jne 0x00007f202472310f Here we have ZF flag right after vptest, then put it in r11b, extend it, only to test it again and finally do a conditional jump. There is more, but I cannot as easily point my finger at something in particular. So the question is mostly - are my expectations wrong or is it just a work in progress for now? -- Dmitry Olshansky -------------- next part -------------- A non-text attachment was scrubbed... Name: shiftor.zip Type: application/zip Size: 2741 bytes Desc: shiftor.zip URL: -------------- next part -------------- scalar_thrpt_jmhStub, version 4, compile id 603 mov 0x60(%rsp),%rdx xchg %ax,%ax movzbl 0x94(%rdx),%r11d test %r11d,%r11d jne 0x00007f8e38706654 mov $0x1,%ebx jmp 0x00007f8e3870642e mov $0x1,%r11d vmovq %xmm2,%rdx movzbl 0x94(%rdx),%r11d mov 0x380(%r15),%r10 vmovq %xmm3,%rbx add $0x1,%rbx test %eax,(%r10) xchg %ax,%ax test %r11d,%r11d jne 0x00007f8e38706659 vmovq %xmm1,%rdi vmovq %xmm0,%r9 mov 0xc(%r9),%r11d mov 0x14(%r9),%r8d nopl 0x0(%rax,%rax,1) mov 0x8(%r12,%r8,8),%ecx cmp $0x102f3e0,%ecx jne 0x00007f8e387066df mov 0xc(%r12,%r11,8),%ecx lea (%r12,%r8,8),%rbp test %ecx,%ecx nopl 0x0(%rax) jbe 0x00007f8e38706790 mov %ecx,%r10d dec %r10d cmp %ecx,%r10d jae 0x00007f8e3870669d vmovq %rdx,%xmm2 vmovq %rdi,%xmm1 mov 0xc(%rbp),%r14d mov 0xc(%r12,%r14,8),%r9d movsbl 0x10(%r12,%r11,8),%r8d cmp %r9d,%r8d jae 0x00007f8e387066d0 vmovd %r11d,%xmm4 vmovq %rbx,%xmm3 mov 0x10(%rbp),%rbx lea (%r12,%r14,8),%rdx mov $0xfffffffffffffffe,%rdi or 0x10(%rdx,%r8,8),%rdi mov %rdi,%r11 and %rbx,%r11 nopl 0x0(%rax,%rax,1) test %r11,%r11 je 0x00007f8e387063f8 mov %ecx,%esi add $0xfffffffd,%esi cmp %esi,%r10d mov $0x80000000,%r11d cmovl %r11d,%esi vmovd %xmm4,%r10d lea (%r12,%r10,8),%rax cmp $0x1,%esi jle 0x00007f8e38706710 shl %rdi mov $0x1,%r10d mov %esi,%r11d sub %r10d,%r11d xor %r8d,%r8d cmp %r10d,%esi cmovl %r8d,%r11d cmp $0xfa0,%r11d mov $0xfa0,%r8d cmova %r8d,%r11d add %r10d,%r11d jmp 0x00007f8e38706523 nopl 0x0(%rax) mov %r8,%rdi movslq %r10d,%r13 movsbl 0x10(%rax,%r13,1),%r8d cmp %r9d,%r8d jae 0x00007f8e38706601 or 0x10(%rdx,%r8,8),%rdi mov %rdi,%r8 and %rbx,%r8 test %r8,%r8 je 0x00007f8e387063f8 movsbl 0x11(%rax,%r13,1),%r8d shl %rdi cmp %r9d,%r8d jae 0x00007f8e387065f8 or 0x10(%rdx,%r8,8),%rdi mov %rdi,%r8 and %rbx,%r8 test %r8,%r8 je 0x00007f8e387063f8 movsbl 0x12(%rax,%r13,1),%r8d shl %rdi cmp %r9d,%r8d nopl 0x0(%rax,%rax,1) jae 0x00007f8e387065fd or 0x10(%rdx,%r8,8),%rdi mov %rdi,%r8 and %rbx,%r8 test %r8,%r8 je 0x00007f8e387063f8 movsbl 0x13(%rax,%r13,1),%r8d shl %rdi cmp %r9d,%r8d jae 0x00007f8e387065f4 or 0x10(%rdx,%r8,8),%rdi mov %rdi,%r8 and %rbx,%r8 test %r8,%r8 nopw 0x0(%rax,%rax,1) je 0x00007f8e387063f8 mov %rdi,%r8 shl %r8 add $0x4,%r10d cmp %r11d,%r10d jl 0x00007f8e38706520 mov 0x380(%r15),%r11 -------------- next part -------------- vector_thrpt_jmhStub, version 4, compile id 832 vzeroupper add $0xc0,%rsp pop %rbp cmp 0x378(%r15),%rsp ja 0x00007f2024723568 retq vmovq %xmm0,%rbx vmovq %xmm1,%r11 vmovq %xmm2,%r8 vmovq %xmm3,%rdi xor %r9d,%r9d movzbl 0x94(%rdi),%r10d mov 0x380(%r15),%r9 add $0x1,%r14 test %eax,(%r9) test %r10d,%r10d jne 0x00007f2024722d57 mov 0xc(%r11),%r13d mov 0x18(%r11),%r10d mov 0x8(%r12,%r10,8),%r9d nopw 0x0(%rax,%rax,1) cmp $0x102bab0,%r9d jne 0x00007f2024723298 lea (%r12,%r10,8),%rdx mov 0x10(%rdx),%r9d mov 0xc(%r12,%r9,8),%ecx mov %ecx,%r10d add $0xfffffffd,%r10d test %r10d,%r10d jl 0x00007f20247232cc cmp $0x3,%ecx je 0x00007f2024723254 mov 0xc(%r12,%r13,8),%ecx test %ecx,%ecx nopw 0x0(%rax,%rax,1) jbe 0x00007f2024722daf vmovdqu 0x10(%r12,%r9,8),%ymm8 mov %ecx,%r10d dec %r10d cmp %ecx,%r10d jae 0x00007f2024723310 mov 0xc(%rdx),%r9d nopl 0x0(%rax) mov 0xc(%r12,%r9,8),%eax add $0xfffffffd,%eax test %eax,%eax jl 0x00007f2024723310 vmovq %rdi,%xmm3 vmovq %r8,%xmm2 vmovq %r11,%xmm1 vmovq %rbx,%xmm0 movsbl 0x10(%r12,%r13,8),%r11d shl $0x2,%r11d cmp %eax,%r11d jae 0x00007f202472335c lea (%r12,%r9,8),%rdi vpor 0x10(%rdi,%r11,8),%ymm5,%ymm9 vpand %ymm8,%ymm9,%ymm7 vpcmpeqq %ymm6,%ymm7,%ymm7 vptest %ymm4,%ymm7 setne %r11b movzbl %r11b,%r11d test %r11d,%r11d nopl 0x0(%rax) jne 0x00007f202472337e mov %ecx,%esi add $0xfffffffd,%esi cmp %esi,%r10d mov $0x80000000,%r11d cmovl %r11d,%esi lea (%r12,%r13,8),%rbx nopl 0x0(%rax) cmp $0x1,%esi jle 0x00007f2024723368 mov $0x1,%r8d mov %esi,%ebp sub %r8d,%ebp xor %r10d,%r10d cmp %r8d,%esi cmovl %r10d,%ebp cmp $0xfa0,%ebp mov $0xfa0,%r10d cmova %r10d,%ebp add %r8d,%ebp vpsllq $0x1,%ymm9,%ymm7 movslq %r8d,%r10 movsbl 0x10(%rbx,%r10,1),%r11d shl $0x2,%r11d cmp %eax,%r11d jae 0x00007f2024723099 vpor 0x10(%rdi,%r11,8),%ymm7,%ymm9 vpand %ymm8,%ymm9,%ymm7 vpcmpeqq %ymm6,%ymm7,%ymm7 vptest %ymm4,%ymm7 setne %r11b movzbl %r11b,%r11d test %r11d,%r11d jne 0x00007f202472310f movsbl 0x11(%rbx,%r10,1),%r11d vpsllq $0x1,%ymm9,%ymm7 shl $0x2,%r11d cmp %eax,%r11d jae 0x00007f202472308a vpor 0x10(%rdi,%r11,8),%ymm7,%ymm9 vpand %ymm8,%ymm9,%ymm7 vpcmpeqq %ymm6,%ymm7,%ymm7 vptest %ymm4,%ymm7 setne %r11b movzbl %r11b,%r11d test %r11d,%r11d jne 0x00007f2024723100 movsbl 0x12(%rbx,%r10,1),%r11d vpsllq $0x1,%ymm9,%ymm7 shl $0x2,%r11d cmp %eax,%r11d jae 0x00007f202472308f vpor 0x10(%rdi,%r11,8),%ymm7,%ymm9 vpand %ymm8,%ymm9,%ymm7 vpcmpeqq %ymm6,%ymm7,%ymm7 vptest %ymm4,%ymm7 setne %r11b movzbl %r11b,%r11d test %r11d,%r11d jne 0x00007f2024723105 movsbl 0x13(%rbx,%r10,1),%r11d vpsllq $0x1,%ymm9,%ymm7 shl $0x2,%r11d cmp %eax,%r11d jae 0x00007f2024723095 vpor 0x10(%rdi,%r11,8),%ymm7,%ymm9 vpand %ymm8,%ymm9,%ymm7 vpcmpeqq %ymm6,%ymm7,%ymm7 vptest %ymm4,%ymm7 setne %r11b movzbl %r11b,%r11d test %r11d,%r11d jne 0x00007f202472310b add $0x4,%r8d cmp %ebp,%r8d nopl 0x0(%rax,%rax,1) jl 0x00007f2024722ef1 mov 0x380(%r15),%r10 test %eax,(%r10) cmp %esi,%r8d jl 0x00007f2024722ecf cmp %ecx,%r8d nopl 0x0(%rax) jge 0x00007f2024722d9b movsbl 0x10(%rbx,%r8,1),%r11d vpsllq $0x1,%ymm9,%ymm7 shl $0x2,%r11d cmp %eax,%r11d jae 0x00007f2024723373 From mcimadamore at openjdk.org Tue Mar 14 10:56:50 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Tue, 14 Mar 2023 10:56:50 GMT Subject: [foreign-memaccess+abi] RFR: Refresh FFM API documents In-Reply-To: <9kdQzF3RHfyYLklaKVq7dFjmZg6EpwPFNim2YO2oMLk=.ba26e5c3-691f-4db9-8612-48f85c3c8850@github.com> References: <9kdQzF3RHfyYLklaKVq7dFjmZg6EpwPFNim2YO2oMLk=.ba26e5c3-691f-4db9-8612-48f85c3c8850@github.com> Message-ID: On Tue, 14 Mar 2023 02:07:20 GMT, Jorn Vernee 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. > > doc/panama_ffi.md line 29: > >> 27: try (Arena arena = Arena.ofConfined()) { >> 28: foreign = someSegment.get(ValueLayout.ADDRESS, 0) // size = 0, scope = always alive >> 29: .reinterpret(4, arena.scope(), null); // size = 4, scope = arena.scope() > > This should pass the arena now, I think. > Suggestion: > > .reinterpret(4, arena, null); // size = 4, scope = arena.scope() Good catch - I'll re-check. Main issue is that the edits were done when the method accepted a scope. Perhaps some other editing is required. ------------- PR: https://git.openjdk.org/panama-foreign/pull/805 From mcimadamore at openjdk.org Tue Mar 14 11:12:46 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Tue, 14 Mar 2023 11:12:46 GMT Subject: [foreign-memaccess+abi] RFR: Refresh FFM API documents [v2] In-Reply-To: References: 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. Maurizio Cimadamore has updated the pull request incrementally with two additional commits since the last revision: - Update document date - Address review comments ------------- Changes: - all: https://git.openjdk.org/panama-foreign/pull/805/files - new: https://git.openjdk.org/panama-foreign/pull/805/files/ca71bcd1..8f1ecded Webrevs: - full: https://webrevs.openjdk.org/?repo=panama-foreign&pr=805&range=01 - incr: https://webrevs.openjdk.org/?repo=panama-foreign&pr=805&range=00-01 Stats: 22 lines in 2 files changed: 2 ins; 0 del; 20 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 Tue Mar 14 11:12:48 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Tue, 14 Mar 2023 11:12:48 GMT Subject: [foreign-memaccess+abi] RFR: Refresh FFM API documents In-Reply-To: References: Message-ID: 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. I've addressed the comments and also fixed some other issues: * minor typos * double whitespaces * missing `java` in some code blocks ------------- PR: https://git.openjdk.org/panama-foreign/pull/805 From maurizio.cimadamore at oracle.com Tue Mar 14 11:43:33 2023 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Tue, 14 Mar 2023 11:43:33 +0000 Subject: Understanding the performance of my FFI-based API In-Reply-To: References: <0259f879-3138-92ab-c860-d35205d35bea@oracle.com> Message-ID: On 14/03/2023 11:06, Alan Paxton wrote: > You might be able to point me at something that explains what goes on > under the cover of invocation, and why exact matters ? My overall > takeaway is that there are a number of rules of thumb for making use > of FFI fast, if you follow them you get equivalent performance to JNI, > with safety for free. Hi Alan, thanks for coming back to us - it?s great that you have been able to reproduce the results. As for why ?exact? matter - that has to do with the method handle machinery (upon which var handles are also built). Both VarHandle::get/set and MethodHandle::invokeXYZ are ?polymorphic signature? methods. This means that the java static compiler will look at these calls, and emit a /specialized/ method descriptor for the call. So, if you have: |String s = (String)methodHandle.invokeExact(10); | The compiler will emit a descriptor for that call with type |(int)String|. (A similar thing happens for var handle calls). Now, the ?exact? bit has to do with whether the JVM can ?trust? that the symbolic description emitted by javac is the same as the type of the invoked method handle. If that?s the case, we can go straight to the method handle, and most (all) of the method handle machinery goop disappears when the call is inlined. If, however, we use an ?inexact? call (e.g. MethodHandle::invoke), we are telling the JVM that it needs to be prepared to perform some adaptations - that is, the symbolic description might be different from the method handle type. For instance, our static descriptor might say: |(int)String | but our underlying method handle might be like this: |(Integer)String | Method handles allow these adaptation (boxing, and widening, mostly) by wrapping the target method handle in a so called ?asType? adaptation. This returns a /new/ method handle which has a signature that matches that of the incoming arguments, converts them to the right values, and then forwards them to the original method handle. So, there?s one extra level of indirection and, worse, since the same method handle can be adapted to many different signatures (e.g. both |(int)String| and |(Object)int| are valid adaptation for |(Integer)String|), the method handle maintains a ?type cache?, so that if we keep adapting the same method handle to the same type we end up creating another adapter method handle (as we already have one). This explains why type adaptation typically ends up hurting performance quite a bit (even though the JVM have come a long way to deal with those in the last few years :-) ). (Sidebar: the Java 19 FFM API, with its separation between MemorySegment, MemoryAddress and Addressable makes it really hard to write /exact/ method handle invocations, as the downcall method handle type says Addressable, while the user will probably just have a MemorySegment. This means that, in order to have javac write the correct symbolic description, users should cast their segment to Addressable, which seems counterintuitive. This was one of the main reasons as to why in 20 we have simplified the API to remove the split between MemorySegment and MemoryAddress). Var handles work pretty much in the same way - except that, for var handles, we don?t have inexact and exact version of get/set (that would have resulted in way too many methods). Instead, the var handle will act as ?exact? or ?inexact? based on whether the symbolic description matches the var handle type. If you get the exact path, all is good, and no type adaptation is required. If you go the inexact path, then you go through some form of MethodHandle::asType, which ends up hurting performance. Detecting performance issues due to lack of exact var handle invocation has been historically tricky. The ?withInvokeExactBehavior? was added precisely to allow developers to ?express their intentions? more clearly (kudos to Jorn!). As for the need for |final|, the JVM can only truly apply maximum inlining of var handles and method handles if these are ?true constants? - which, for the JVM this means /both/ static /and/ final. Maurizio ? -------------- next part -------------- An HTML attachment was scrubbed... URL: From alan.paxton at gmail.com Tue Mar 14 11:06:46 2023 From: alan.paxton at gmail.com (Alan Paxton) Date: Tue, 14 Mar 2023 11:06:46 +0000 Subject: Understanding the performance of my FFI-based API In-Reply-To: References: <0259f879-3138-92ab-c860-d35205d35bea@oracle.com> Message-ID: Hi Maurizio, Thanks very much for taking the time to work through all that. I have now made the changes you suggested and like you I am seeing results that are comparable between JNI and FFI. I will update my code/document to reflect this asap.. A few thoughts on what I have learned 1. The importance of exact FFI calls to VarHandles, and the usefulness of the .withInvokeExactBehavior() for tracking these down. 2. Good old "make it final if you possibly can.." 3. I had missed MemorySegment.copy(...) as the way to do the efficient memcpy out of a native segment, hence my ugly and inefficient attempt to wrap it in a ByteBuffer 4. Not allocating objects is always the most efficient thing to do You might be able to point me at something that explains what goes on under the cover of invocation, and why exact matters ? My overall takeaway is that there are a number of rules of thumb for making use of FFI fast, if you follow them you get equivalent performance to JNI, with safety for free. --Alan "Benchmark","Mode","Threads","Samples","Score","Score Error (99.9%)","Unit","Param: columnFamilyTestType","Param: keyCount","Param: keySize","Param: valueSize" "org.rocksdb.jmh.GetBenchmarks.ffiGet","thrpt",1,5,18964.735543,853.481052,"ops/s",no_column_family,100000,128,65536 "org.rocksdb.jmh.GetBenchmarks.ffiGetOutputSlice","thrpt",1,5,25157.246026,69.076723,"ops/s",no_column_family,100000,128,65536 "org.rocksdb.jmh.GetBenchmarks.ffiGetPinnableSlice","thrpt",1,5,28124.236270,1087.581497,"ops/s",no_column_family,100000,128,65536 "org.rocksdb.jmh.GetBenchmarks.ffiGetRandom","thrpt",1,5,18130.128894,1212.912411,"ops/s",no_column_family,100000,128,65536 "org.rocksdb.jmh.GetBenchmarks.ffiIdentity","thrpt",1,5,35359992.737450,294600.268777,"ops/s",no_column_family,100000,128,65536 "org.rocksdb.jmh.GetBenchmarks.ffiPreallocatedGet","thrpt",1,5,24029.388397,937.110620,"ops/s",no_column_family,100000,128,65536 "org.rocksdb.jmh.GetBenchmarks.ffiPreallocatedGetRandom","thrpt",1,5,23228.230564,1926.594037,"ops/s",no_column_family,100000,128,65536 "org.rocksdb.jmh.GetBenchmarks.get","thrpt",1,5,19458.822466,755.447304,"ops/s",no_column_family,100000,128,65536 "org.rocksdb.jmh.GetBenchmarks.preallocatedByteBufferGet","thrpt",1,5,25178.037840,310.913780,"ops/s",no_column_family,100000,128,65536 "org.rocksdb.jmh.GetBenchmarks.preallocatedByteBufferGetRandom","thrpt",1,5,24022.235825,622.782684,"ops/s",no_column_family,100000,128,65536 "org.rocksdb.jmh.GetBenchmarks.preallocatedGet","thrpt",1,5,25117.231538,1259.112187,"ops/s",no_column_family,100000,128,65536 On Fri, Mar 10, 2023 at 6:46?PM Maurizio Cimadamore < maurizio.cimadamore at oracle.com> wrote: > > On 10/03/2023 18:05, Maurizio Cimadamore wrote: > > I?m not sure how much the update to 20 matters - maybe try to fix all of > the other stuff first, and see what happens (inexact var handle calls can > be quite slow compared to Unsafe memory access). > > I reverted the Java 20 changes. Numbers still looking good: > > ``` > Benchmark (columnFamilyTestType) > (keyCount) (keySize) (valueSize) Mode Cnt Score Error Units > GetBenchmarks.ffiGet > no_column_family 1000 128 4096 thrpt 30 596.329 > ? 9.452 ops/ms > GetBenchmarks.ffiGet > no_column_family 1000 128 65536 thrpt 30 60.368 > ? 0.842 ops/ms > GetBenchmarks.ffiGetPinnableSlice > no_column_family 1000 128 4096 thrpt 30 752.036 > ? 5.655 ops/ms > GetBenchmarks.ffiGetPinnableSlice > no_column_family 1000 128 65536 thrpt 30 111.105 > ? 2.304 ops/ms > GetBenchmarks.ffiGetRandom > no_column_family 1000 128 4096 thrpt 30 582.699 > ? 3.379 ops/ms > GetBenchmarks.ffiGetRandom > no_column_family 1000 128 65536 thrpt 30 64.546 > ? 1.829 ops/ms > GetBenchmarks.ffiIdentity > no_column_family 1000 128 4096 thrpt 30 57239.625 > ? 674.849 ops/ms > GetBenchmarks.ffiIdentity > no_column_family 1000 128 65536 thrpt 30 57802.683 > ? 589.983 ops/ms > GetBenchmarks.ffiPreallocatedGet > no_column_family 1000 128 4096 thrpt 30 717.237 > ? 8.434 ops/ms > GetBenchmarks.ffiPreallocatedGet > no_column_family 1000 128 65536 thrpt 30 96.223 > ? 1.143 ops/ms > GetBenchmarks.ffiPreallocatedGetRandom > no_column_family 1000 128 4096 thrpt 30 585.284 > ? 5.415 ops/ms > GetBenchmarks.ffiPreallocatedGetRandom > no_column_family 1000 128 65536 thrpt 30 66.568 > ? 0.843 ops/ms > GetBenchmarks.get > no_column_family 1000 128 4096 thrpt 30 553.515 > ? 6.278 ops/ms > GetBenchmarks.get > no_column_family 1000 128 65536 thrpt 30 59.999 > ? 0.935 ops/ms > GetBenchmarks.preallocatedByteBufferGet > no_column_family 1000 128 4096 thrpt 30 738.077 > ? 8.767 ops/ms > GetBenchmarks.preallocatedByteBufferGet > no_column_family 1000 128 65536 thrpt 30 99.239 > ? 1.398 ops/ms > GetBenchmarks.preallocatedByteBufferGetRandom > no_column_family 1000 128 4096 thrpt 30 722.680 > ? 11.499 ops/ms > GetBenchmarks.preallocatedByteBufferGetRandom > no_column_family 1000 128 65536 thrpt 30 110.411 > ? 1.117 ops/ms > GetBenchmarks.preallocatedGet > no_column_family 1000 128 4096 thrpt 30 700.405 > ? 8.534 ops/ms > GetBenchmarks.preallocatedGet > no_column_family 1000 128 65536 thrpt 30 99.694 > ? 2.122 ops/ms > ``` > > Maurizio > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jvernee at openjdk.org Tue Mar 14 11:59:49 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Tue, 14 Mar 2023 11:59:49 GMT Subject: [foreign-memaccess+abi] RFR: Refresh FFM API documents [v2] In-Reply-To: References: Message-ID: On Tue, 14 Mar 2023 11:12:46 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. > > Maurizio Cimadamore has updated the pull request incrementally with two additional commits since the last revision: > > - Update document date > - Address review comments Marked as reviewed by jvernee (Committer). ------------- PR: https://git.openjdk.org/panama-foreign/pull/805 From mcimadamore at openjdk.org Tue Mar 14 12:19:50 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Tue, 14 Mar 2023 12:19:50 GMT Subject: [foreign-memaccess+abi] Integrated: Refresh FFM API documents In-Reply-To: References: Message-ID: <2q7T6nKP7349IMTmcdT1R71dNHsueZqtOO2yzvtxxiQ=.67d021ea-5ecc-43ab-b70e-379fe26f5b3c@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. This pull request has now been integrated. Changeset: f8c989ce Author: Maurizio Cimadamore URL: https://git.openjdk.org/panama-foreign/commit/f8c989ceeed85c67e20b0b8ba4f0e457687a603c Stats: 186 lines in 2 files changed: 48 ins; 47 del; 91 mod Refresh FFM API documents Reviewed-by: jvernee ------------- PR: https://git.openjdk.org/panama-foreign/pull/805 From mcimadamore at openjdk.org Tue Mar 14 12:37:52 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Tue, 14 Mar 2023 12:37:52 GMT Subject: [foreign-memaccess+abi] RFR: Fix minor typos in ffi document Message-ID: In my previous PR, I have missed a couple of issues in the FFI document. ------------- Commit messages: - Fix minor typos in ffi document Changes: https://git.openjdk.org/panama-foreign/pull/819/files Webrev: https://webrevs.openjdk.org/?repo=panama-foreign&pr=819&range=00 Stats: 2 lines in 1 file changed: 0 ins; 0 del; 2 mod Patch: https://git.openjdk.org/panama-foreign/pull/819.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/819/head:pull/819 PR: https://git.openjdk.org/panama-foreign/pull/819 From jvernee at openjdk.org Tue Mar 14 14:10:39 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Tue, 14 Mar 2023 14:10:39 GMT Subject: [foreign-memaccess+abi] RFR: Fix minor typos in ffi document In-Reply-To: References: Message-ID: On Tue, 14 Mar 2023 12:30:09 GMT, Maurizio Cimadamore wrote: > In my previous PR, I have missed a couple of issues in the FFI document. Marked as reviewed by jvernee (Committer). ------------- PR: https://git.openjdk.org/panama-foreign/pull/819 From anhmdq at gmail.com Tue Mar 14 14:37:55 2023 From: anhmdq at gmail.com (=?UTF-8?Q?Qu=C3=A2n_Anh_Mai?=) Date: Tue, 14 Mar 2023 22:37:55 +0800 Subject: Trying out Vector API with ShiftOr algorithm In-Reply-To: <8f01bac9993d32d72cc3ed4435f9baf444402385.camel@tinkoff.ru> References: <8f01bac9993d32d72cc3ed4435f9baf444402385.camel@tinkoff.ru> Message-ID: Hi, I believe your constructor of VectorShiftOr is not right. To be specific, in these lines: filter[low * 4] = filter[low] & mask; filter[upper * 4] = filter[upper] & mask; The indices of the right-hand sides should be low * 4 and upper * 4, respectively. Additionally, a byte-to-int conversion is defaulted to be signed, so your load from the filter array should be filter[Byte.toUnsignedInt(ch)]. With that, I ran your benchmark on the head of openjdk/jdk and got these numbers: Benchmark Mode Cnt Score Error Units ShiftOrBench.scalar thrpt 5 29343807.339 ? 5317309.461 ops/s ShiftOrBench.vector thrpt 5 19713483.999 ? 1492701.034 ops/s The slowdown relative to the scalar implementation is expected since the CPU can execute those instructions really efficiently, and vector operations only shine because they can perform on multiple inputs concurrently, as well as powerful cross-lane operations, both of which are absent from the benchmark. With regards to the excessive materialisation of the flags, it has been fixed in mainline, and the code emitted would be vtestps %ymm4, %ymm4 jne 0x00007fe668b696ac Thanks, Quan Anh -------------- next part -------------- An HTML attachment was scrubbed... URL: From mcimadamore at openjdk.org Tue Mar 14 15:10:40 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Tue, 14 Mar 2023 15:10:40 GMT Subject: [foreign-memaccess+abi] Integrated: Fix minor typos in ffi document In-Reply-To: References: Message-ID: <0RZ4jwWKdAsHgYjuBXck7qtXp3jDeUu5V_UPNRSq8t4=.c175fcaa-6b2f-4aff-b0b0-81b2565f8191@github.com> On Tue, 14 Mar 2023 12:30:09 GMT, Maurizio Cimadamore wrote: > In my previous PR, I have missed a couple of issues in the FFI document. This pull request has now been integrated. Changeset: 026dd073 Author: Maurizio Cimadamore URL: https://git.openjdk.org/panama-foreign/commit/026dd0736a9b68226bfb00935d96d25c5c6b96cf Stats: 2 lines in 1 file changed: 0 ins; 0 del; 2 mod Fix minor typos in ffi document Reviewed-by: jvernee ------------- PR: https://git.openjdk.org/panama-foreign/pull/819 From mcimadamore at openjdk.org Thu Mar 16 16:50:06 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Thu, 16 Mar 2023 16:50:06 GMT Subject: [foreign-memaccess+abi] RFR: 8298096: Refine javadoc for Linker In-Reply-To: References: Message-ID: On Thu, 16 Mar 2023 14:58:11 GMT, Maurizio Cimadamore wrote: > The javadoc for the `Linker` interface is very abstract: it defines the general characteristics of downcall method handles and upcall stubs, and it does so in a very general way, so as not to bias the discussion towards a specific kind of linker implementation. > > The result is that, looking at the `Linker` javadoc, one has very little clues on how this interface is meant to be used e.g. to write native interop code. While the toplevel package javadoc provides some examples, these examples are relatively simple and do not cover all the features provided by the FFM API. > > To rectify this, I did another pass on the `Linker` javadoc. I retained the very good general intro (the first few paras). But then, instead of talking about "downcalls" and "upcalls" - we immediately start talking about "Calling native functions" and we ground the discussion on the native linker. This gives us the opportunity to discuss native calls, function pointers, variadic calls, and even how to deal with functions returning pointers. > > The text of the sections on upcalls/downcall (which is normative text) has been moved in the javadoc of the relevant methods. > > Finally, since with the new examples there was some overlapping between the toplevel package javadoc and the `Linker` javadoc, I also decided to take another pass at the package javadoc, and simplify it further: now there are only 3 sections: foreign memory, foreign function, restricted methods. For each of the first two sections there's a quick summary (which describes the main abstractions and their roles), followed by an idiomatic example. Restricted methods also belong here, as they are a cross-cutting concern of the FFM API. > > Overall, I believe this iteration is much better than what we had, and more useful. While covering all the details of native interop would be outside the scope of the FFM javadoc, I think the new `Linker` javadoc strikes a good balance. Javadoc: https://cr.openjdk.org/~mcimadamore/test_javadoc/linker_new/java.base/java/lang/foreign/package-summary.html ------------- PR: https://git.openjdk.org/panama-foreign/pull/820 From mcimadamore at openjdk.org Thu Mar 16 16:50:05 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Thu, 16 Mar 2023 16:50:05 GMT Subject: [foreign-memaccess+abi] RFR: 8298096: Refine javadoc for Linker Message-ID: The javadoc for the `Linker` interface is very abstract: it defines the general characteristics of downcall method handles and upcall stubs, and it does so in a very general way, so as not to bias the discussion towards a specific kind of linker implementation. The result is that, looking at the `Linker` javadoc, one has very little clues on how this interface is meant to be used e.g. to write native interop code. While the toplevel package javadoc provides some examples, these examples are relatively simple and do not cover all the features provided by the FFM API. To rectify this, I did another pass on the `Linker` javadoc. I retained the very good general intro (the first few paras). But then, instead of talking about "downcalls" and "upcalls" - we immediately start talking about "Calling native functions" and we ground the discussion on the native linker. This gives us the opportunity to discuss native calls, function pointers, variadic calls, and even how to deal with functions returning pointers. The text of the sections on upcalls/downcall (which is normative text) has been moved in the javadoc of the relevant methods. Finally, since with the new examples there was some overlapping between the toplevel package javadoc and the `Linker` javadoc, I also decided to take another pass at the package javadoc, and simplify it further: now there are only 3 sections: foreign memory, foreign function, restricted methods. For each of the first two sections there's a quick summary (which describes the main abstractions and their roles), followed by an idiomatic example. Restricted methods also belong here, as they are a cross-cutting concern of the FFM API. Overall, I believe this iteration is much better than what we had, and more useful. While covering all the details of native interop would be outside the scope of the FFM javadoc, I think the new `Linker` javadoc strikes a good balance. ------------- Commit messages: - Fix whitespaces - Fix package javadoc - Initial push Changes: https://git.openjdk.org/panama-foreign/pull/820/files Webrev: https://webrevs.openjdk.org/?repo=panama-foreign&pr=820&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8298096 Stats: 537 lines in 2 files changed: 332 ins; 151 del; 54 mod Patch: https://git.openjdk.org/panama-foreign/pull/820.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/820/head:pull/820 PR: https://git.openjdk.org/panama-foreign/pull/820 From mcimadamore at openjdk.org Thu Mar 16 17:14:05 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Thu, 16 Mar 2023 17:14:05 GMT Subject: [foreign-memaccess+abi] RFR: 8304276: Add javadoc for custom arena Message-ID: As the subject says, this PR adds a new section to the `Arena` javadoc, which describes how to build a "slicing arena". This example is useful to show how to build custom arenas. ------------- Commit messages: - Initial push Changes: https://git.openjdk.org/panama-foreign/pull/821/files Webrev: https://webrevs.openjdk.org/?repo=panama-foreign&pr=821&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8304276 Stats: 44 lines in 1 file changed: 44 ins; 0 del; 0 mod Patch: https://git.openjdk.org/panama-foreign/pull/821.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/821/head:pull/821 PR: https://git.openjdk.org/panama-foreign/pull/821 From jvernee at openjdk.org Thu Mar 16 19:43:22 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Thu, 16 Mar 2023 19:43:22 GMT Subject: [foreign-memaccess+abi] RFR: 8304276: Add javadoc for custom arena In-Reply-To: References: Message-ID: On Thu, 16 Mar 2023 17:05:33 GMT, Maurizio Cimadamore wrote: > As the subject says, this PR adds a new section to the `Arena` javadoc, which describes how to build a "slicing arena". This example is useful to show how to build custom arenas. Marked as reviewed by jvernee (Committer). ------------- PR: https://git.openjdk.org/panama-foreign/pull/821 From jvernee at openjdk.org Thu Mar 16 20:46:01 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Thu, 16 Mar 2023 20:46:01 GMT Subject: [foreign-memaccess+abi] RFR: 8298096: Refine javadoc for Linker In-Reply-To: References: Message-ID: On Thu, 16 Mar 2023 14:58:11 GMT, Maurizio Cimadamore wrote: > The javadoc for the `Linker` interface is very abstract: it defines the general characteristics of downcall method handles and upcall stubs, and it does so in a very general way, so as not to bias the discussion towards a specific kind of linker implementation. > > The result is that, looking at the `Linker` javadoc, one has very little clues on how this interface is meant to be used e.g. to write native interop code. While the toplevel package javadoc provides some examples, these examples are relatively simple and do not cover all the features provided by the FFM API. > > To rectify this, I did another pass on the `Linker` javadoc. I retained the very good general intro (the first few paras). But then, instead of talking about "downcalls" and "upcalls" - we immediately start talking about "Calling native functions" and we ground the discussion on the native linker. This gives us the opportunity to discuss native calls, function pointers, variadic calls, and even how to deal with functions returning pointers. > > The text of the sections on upcalls/downcall (which is normative text) has been moved in the javadoc of the relevant methods. > > Finally, since with the new examples there was some overlapping between the toplevel package javadoc and the `Linker` javadoc, I also decided to take another pass at the package javadoc, and simplify it further: now there are only 3 sections: foreign memory, foreign function, restricted methods. For each of the first two sections there's a quick summary (which describes the main abstractions and their roles), followed by an idiomatic example. Restricted methods also belong here, as they are a cross-cutting concern of the FFM API. > > Overall, I believe this iteration is much better than what we had, and more useful. While covering all the details of native interop would be outside the scope of the FFM javadoc, I think the new `Linker` javadoc strikes a good balance. src/java.base/share/classes/java/lang/foreign/Linker.java line 113: > 111: * maps to a {@linkplain StructLayout struct layout}, whereas a C {@code union} type maps to a {@link UnionLayout union > 112: * layout}. Depending on the ABI implemented by the native linker, additional {@linkplain MemoryLayout#paddingLayout(long) padding} > 113: * member layouts might be required to conform to the size and alignment constraint of a composite type definition in C. I think the comment on padding here is maybe a bit too vague. I think it would be better to say explicitly that padding is not added to group layouts automatically, and has to be manually specified. (On that note, maybe we want to add a factory in MemoryLayout that basically exposes `Utils.computePaddedStruct`) src/java.base/share/classes/java/lang/foreign/Linker.java line 175: > 173: * Restricted methods are unsafe, and, if used incorrectly, their use might crash > 174: * the JVM or, worse, silently result in memory corruption. Thus, clients should refrain from depending on > 175: * restricted methods, and use safe and supported functionalities, where possible. Shouldn't the 'restricted' paragraph stay? src/java.base/share/classes/java/lang/foreign/Linker.java line 208: > 206: * > 207: * The {@code qsort} function can be used to sort the contents of an array, using a custom comparator function which is > 208: * passed as a function pointer (the {@code compar} parameter). To be able to call {@code qsort} function from Java, Suggestion: * passed as a function pointer (the {@code compar} parameter). To be able to call the {@code qsort} function from Java, src/java.base/share/classes/java/lang/foreign/Linker.java line 323: > 321: * {@snippet lang = java: > 322: * MemorySegment allocateMemory(long byteSize, Arena arena) { > 323: * MemorySegment segment = (MemorySegment)malloc.invokeExact(byteSize); // size = byteSize, scope = always alive Suggestion: * MemorySegment segment = (MemorySegment)malloc.invokeExact(byteSize); // size = 0, scope = always alive ------------- PR: https://git.openjdk.org/panama-foreign/pull/820 From mcimadamore at openjdk.org Thu Mar 16 21:43:50 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Thu, 16 Mar 2023 21:43:50 GMT Subject: [foreign-memaccess+abi] Integrated: 8304276: Add javadoc for custom arena In-Reply-To: References: Message-ID: <1pgBv1IY0my93a5qiUY-e1smyeB90qVpHAGWGSCh6t4=.264fe44d-4079-4f8f-ac90-3e5a5beaec1d@github.com> On Thu, 16 Mar 2023 17:05:33 GMT, Maurizio Cimadamore wrote: > As the subject says, this PR adds a new section to the `Arena` javadoc, which describes how to build a "slicing arena". This example is useful to show how to build custom arenas. This pull request has now been integrated. Changeset: 63855aa0 Author: Maurizio Cimadamore URL: https://git.openjdk.org/panama-foreign/commit/63855aa004596e65d3c96f047bb5b39d46cb058a Stats: 44 lines in 1 file changed: 44 ins; 0 del; 0 mod 8304276: Add javadoc for custom arena Reviewed-by: jvernee ------------- PR: https://git.openjdk.org/panama-foreign/pull/821 From mcimadamore at openjdk.org Thu Mar 16 21:49:07 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Thu, 16 Mar 2023 21:49:07 GMT Subject: [foreign-memaccess+abi] RFR: 8298096: Refine javadoc for Linker [v2] In-Reply-To: References: Message-ID: > The javadoc for the `Linker` interface is very abstract: it defines the general characteristics of downcall method handles and upcall stubs, and it does so in a very general way, so as not to bias the discussion towards a specific kind of linker implementation. > > The result is that, looking at the `Linker` javadoc, one has very little clues on how this interface is meant to be used e.g. to write native interop code. While the toplevel package javadoc provides some examples, these examples are relatively simple and do not cover all the features provided by the FFM API. > > To rectify this, I did another pass on the `Linker` javadoc. I retained the very good general intro (the first few paras). But then, instead of talking about "downcalls" and "upcalls" - we immediately start talking about "Calling native functions" and we ground the discussion on the native linker. This gives us the opportunity to discuss native calls, function pointers, variadic calls, and even how to deal with functions returning pointers. > > The text of the sections on upcalls/downcall (which is normative text) has been moved in the javadoc of the relevant methods. > > Finally, since with the new examples there was some overlapping between the toplevel package javadoc and the `Linker` javadoc, I also decided to take another pass at the package javadoc, and simplify it further: now there are only 3 sections: foreign memory, foreign function, restricted methods. For each of the first two sections there's a quick summary (which describes the main abstractions and their roles), followed by an idiomatic example. Restricted methods also belong here, as they are a cross-cutting concern of the FFM API. > > Overall, I believe this iteration is much better than what we had, and more useful. While covering all the details of native interop would be outside the scope of the FFM javadoc, I think the new `Linker` javadoc strikes a good balance. Maurizio Cimadamore has updated the pull request incrementally with three additional commits since the last revision: - Add back restricted para on Linker::nativeLinker - Update src/java.base/share/classes/java/lang/foreign/Linker.java Co-authored-by: Jorn Vernee - Update src/java.base/share/classes/java/lang/foreign/Linker.java Co-authored-by: Jorn Vernee ------------- Changes: - all: https://git.openjdk.org/panama-foreign/pull/820/files - new: https://git.openjdk.org/panama-foreign/pull/820/files/42410264..696d4e46 Webrevs: - full: https://webrevs.openjdk.org/?repo=panama-foreign&pr=820&range=01 - incr: https://webrevs.openjdk.org/?repo=panama-foreign&pr=820&range=00-01 Stats: 7 lines in 1 file changed: 5 ins; 0 del; 2 mod Patch: https://git.openjdk.org/panama-foreign/pull/820.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/820/head:pull/820 PR: https://git.openjdk.org/panama-foreign/pull/820 From mcimadamore at openjdk.org Thu Mar 16 22:13:08 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Thu, 16 Mar 2023 22:13:08 GMT Subject: [foreign-memaccess+abi] RFR: 8298096: Refine javadoc for Linker [v3] In-Reply-To: References: Message-ID: > The javadoc for the `Linker` interface is very abstract: it defines the general characteristics of downcall method handles and upcall stubs, and it does so in a very general way, so as not to bias the discussion towards a specific kind of linker implementation. > > The result is that, looking at the `Linker` javadoc, one has very little clues on how this interface is meant to be used e.g. to write native interop code. While the toplevel package javadoc provides some examples, these examples are relatively simple and do not cover all the features provided by the FFM API. > > To rectify this, I did another pass on the `Linker` javadoc. I retained the very good general intro (the first few paras). But then, instead of talking about "downcalls" and "upcalls" - we immediately start talking about "Calling native functions" and we ground the discussion on the native linker. This gives us the opportunity to discuss native calls, function pointers, variadic calls, and even how to deal with functions returning pointers. > > The text of the sections on upcalls/downcall (which is normative text) has been moved in the javadoc of the relevant methods. > > Finally, since with the new examples there was some overlapping between the toplevel package javadoc and the `Linker` javadoc, I also decided to take another pass at the package javadoc, and simplify it further: now there are only 3 sections: foreign memory, foreign function, restricted methods. For each of the first two sections there's a quick summary (which describes the main abstractions and their roles), followed by an idiomatic example. Restricted methods also belong here, as they are a cross-cutting concern of the FFM API. > > Overall, I believe this iteration is much better than what we had, and more useful. While covering all the details of native interop would be outside the scope of the FFM javadoc, I think the new `Linker` javadoc strikes a good balance. Maurizio Cimadamore has updated the pull request incrementally with one additional commit since the last revision: Clarify padding in structs ------------- Changes: - all: https://git.openjdk.org/panama-foreign/pull/820/files - new: https://git.openjdk.org/panama-foreign/pull/820/files/696d4e46..876b9a1c Webrevs: - full: https://webrevs.openjdk.org/?repo=panama-foreign&pr=820&range=02 - incr: https://webrevs.openjdk.org/?repo=panama-foreign&pr=820&range=01-02 Stats: 4 lines in 1 file changed: 2 ins; 0 del; 2 mod Patch: https://git.openjdk.org/panama-foreign/pull/820.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/820/head:pull/820 PR: https://git.openjdk.org/panama-foreign/pull/820 From jvernee at openjdk.org Thu Mar 16 22:15:58 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Thu, 16 Mar 2023 22:15:58 GMT Subject: [foreign-memaccess+abi] RFR: 8298096: Refine javadoc for Linker [v3] In-Reply-To: References: Message-ID: On Thu, 16 Mar 2023 22:13:08 GMT, Maurizio Cimadamore wrote: >> The javadoc for the `Linker` interface is very abstract: it defines the general characteristics of downcall method handles and upcall stubs, and it does so in a very general way, so as not to bias the discussion towards a specific kind of linker implementation. >> >> The result is that, looking at the `Linker` javadoc, one has very little clues on how this interface is meant to be used e.g. to write native interop code. While the toplevel package javadoc provides some examples, these examples are relatively simple and do not cover all the features provided by the FFM API. >> >> To rectify this, I did another pass on the `Linker` javadoc. I retained the very good general intro (the first few paras). But then, instead of talking about "downcalls" and "upcalls" - we immediately start talking about "Calling native functions" and we ground the discussion on the native linker. This gives us the opportunity to discuss native calls, function pointers, variadic calls, and even how to deal with functions returning pointers. >> >> The text of the sections on upcalls/downcall (which is normative text) has been moved in the javadoc of the relevant methods. >> >> Finally, since with the new examples there was some overlapping between the toplevel package javadoc and the `Linker` javadoc, I also decided to take another pass at the package javadoc, and simplify it further: now there are only 3 sections: foreign memory, foreign function, restricted methods. For each of the first two sections there's a quick summary (which describes the main abstractions and their roles), followed by an idiomatic example. Restricted methods also belong here, as they are a cross-cutting concern of the FFM API. >> >> Overall, I believe this iteration is much better than what we had, and more useful. While covering all the details of native interop would be outside the scope of the FFM javadoc, I think the new `Linker` javadoc strikes a good balance. > > Maurizio Cimadamore has updated the pull request incrementally with one additional commit since the last revision: > > Clarify padding in structs Marked as reviewed by jvernee (Committer). ------------- PR: https://git.openjdk.org/panama-foreign/pull/820 From paul.sandoz at oracle.com Thu Mar 16 22:23:15 2023 From: paul.sandoz at oracle.com (Paul Sandoz) Date: Thu, 16 Mar 2023 22:23:15 +0000 Subject: Trying out Vector API with ShiftOr algorithm In-Reply-To: References: <8f01bac9993d32d72cc3ed4435f9baf444402385.camel@tinkoff.ru> Message-ID: <7D82CAEB-7519-42CB-87C2-183E1E814FAF@oracle.com> > On Mar 14, 2023, at 7:37 AM, Qu?n Anh Mai wrote: > > The slowdown relative to the scalar implementation is expected since the CPU can execute those instructions really efficiently, and vector operations only shine because they can perform on multiple inputs concurrently, as well as powerful cross-lane operations, both of which are absent from the benchmark. > Yes, there is no data parallelism in the loop. Ideally we should be able to stride over the elements of haystack by the long vector length, use a mapped load from the filter array using the haystack as the index map array. @ForceInline public final void intoArray(long[] a, int offset, int[] indexMap, int mapOffset) { But haystack is a byte[] array. If that array is promoted to an int[] array it might be possible. There has been some performance work done on mapped loads/stores but there is likely more work needed, so no guarantees this will be more performance right now. Paul. From mcimadamore at openjdk.org Fri Mar 17 00:02:52 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Fri, 17 Mar 2023 00:02:52 GMT Subject: [foreign-memaccess+abi] Integrated: 8298096: Refine javadoc for Linker In-Reply-To: References: Message-ID: On Thu, 16 Mar 2023 14:58:11 GMT, Maurizio Cimadamore wrote: > The javadoc for the `Linker` interface is very abstract: it defines the general characteristics of downcall method handles and upcall stubs, and it does so in a very general way, so as not to bias the discussion towards a specific kind of linker implementation. > > The result is that, looking at the `Linker` javadoc, one has very little clues on how this interface is meant to be used e.g. to write native interop code. While the toplevel package javadoc provides some examples, these examples are relatively simple and do not cover all the features provided by the FFM API. > > To rectify this, I did another pass on the `Linker` javadoc. I retained the very good general intro (the first few paras). But then, instead of talking about "downcalls" and "upcalls" - we immediately start talking about "Calling native functions" and we ground the discussion on the native linker. This gives us the opportunity to discuss native calls, function pointers, variadic calls, and even how to deal with functions returning pointers. > > The text of the sections on upcalls/downcall (which is normative text) has been moved in the javadoc of the relevant methods. > > Finally, since with the new examples there was some overlapping between the toplevel package javadoc and the `Linker` javadoc, I also decided to take another pass at the package javadoc, and simplify it further: now there are only 3 sections: foreign memory, foreign function, restricted methods. For each of the first two sections there's a quick summary (which describes the main abstractions and their roles), followed by an idiomatic example. Restricted methods also belong here, as they are a cross-cutting concern of the FFM API. > > Overall, I believe this iteration is much better than what we had, and more useful. While covering all the details of native interop would be outside the scope of the FFM javadoc, I think the new `Linker` javadoc strikes a good balance. This pull request has now been integrated. Changeset: 32ffd898 Author: Maurizio Cimadamore URL: https://git.openjdk.org/panama-foreign/commit/32ffd898810694c8860a39f2d2e16a00b84bc508 Stats: 535 lines in 2 files changed: 335 ins; 147 del; 53 mod 8298096: Refine javadoc for Linker Reviewed-by: jvernee ------------- PR: https://git.openjdk.org/panama-foreign/pull/820 From mcimadamore at openjdk.org Fri Mar 17 00:40:27 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Fri, 17 Mar 2023 00:40:27 GMT Subject: [foreign-memaccess+abi] RFR: Fix issue in custom arena code Message-ID: I realized there are few issues with the custom arena code which has been added in the `Arena` javadoc as part of https://git.openjdk.org/panama-foreign/pull/821. ------------- Commit messages: - Initial push Changes: https://git.openjdk.org/panama-foreign/pull/822/files Webrev: https://webrevs.openjdk.org/?repo=panama-foreign&pr=822&range=00 Stats: 2 lines in 1 file changed: 0 ins; 0 del; 2 mod Patch: https://git.openjdk.org/panama-foreign/pull/822.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/822/head:pull/822 PR: https://git.openjdk.org/panama-foreign/pull/822 From jvernee at openjdk.org Fri Mar 17 00:56:49 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Fri, 17 Mar 2023 00:56:49 GMT Subject: [foreign-memaccess+abi] RFR: Fix issue in custom arena code In-Reply-To: References: Message-ID: On Fri, 17 Mar 2023 00:34:42 GMT, Maurizio Cimadamore wrote: > I realized there are few issues with the custom arena code which has been added in the `Arena` javadoc as part of https://git.openjdk.org/panama-foreign/pull/821. Oh... I didn't notice these either ------------- Marked as reviewed by jvernee (Committer). PR: https://git.openjdk.org/panama-foreign/pull/822 From mcimadamore at openjdk.org Fri Mar 17 00:59:49 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Fri, 17 Mar 2023 00:59:49 GMT Subject: [foreign-memaccess+abi] Integrated: Fix issue in custom arena code In-Reply-To: References: Message-ID: On Fri, 17 Mar 2023 00:34:42 GMT, Maurizio Cimadamore wrote: > I realized there are few issues with the custom arena code which has been added in the `Arena` javadoc as part of https://git.openjdk.org/panama-foreign/pull/821. This pull request has now been integrated. Changeset: 21ebfddd Author: Maurizio Cimadamore URL: https://git.openjdk.org/panama-foreign/commit/21ebfddd0a434c247249da093304aa55c962c652 Stats: 2 lines in 1 file changed: 0 ins; 0 del; 2 mod Fix issue in custom arena code Reviewed-by: jvernee ------------- PR: https://git.openjdk.org/panama-foreign/pull/822 From d.olshanskiy at tinkoff.ru Fri Mar 17 08:55:45 2023 From: d.olshanskiy at tinkoff.ru (Dmitriy Olshanskiy) Date: Fri, 17 Mar 2023 08:55:45 +0000 Subject: Trying out Vector API with ShiftOr algorithm In-Reply-To: References: <8f01bac9993d32d72cc3ed4435f9baf444402385.camel@tinkoff.ru> Message-ID: <026183291bcff64b99e6d058eef255438fdf6ad5.camel@tinkoff.ru> ? ??, 14/03/2023 ? 22:37 +0800, Qu?n Anh Mai ?????: > > > > Hi, > > > > I believe your constructor of VectorShiftOr is not right. To be > > > specific, in these lines: > > > > ? ? filter[low * 4] = filter[low] & mask; > > ? ? filter[upper * 4] = filter[upper] & mask; > > > > The indices of the right-hand sides should be low * 4 and upper * > > 4, > respectively. That's what I get being in the hurry, thanks for spotting this. > > ?Additionally, a byte-to-int conversion is defaulted to be signed, > > so > your load from the filter array should be > > > filter[Byte.toUnsignedInt(ch)].? Technically true, but we stick to ASCII anyway. > > With that, I ran your benchmark on the head of openjdk/jdk and got > > > these numbers: > > > > Benchmark? ? ? ? ? ? ?Mode? Cnt? ? ? ? ?Score? ? ? ? ?Error? Units > > ShiftOrBench.scalar? thrpt? ? 5? 29343807.339 ? 5317309.461? ops/s > > ShiftOrBench.vector? thrpt? ? 5? 19713483.999 ? 1492701.034? ops/s > > > > The slowdown relative to the scalar implementation is expected > > since > the CPU can execute those instructions really efficiently, > > and vector > operations only shine because they can perform on > > multiple inputs > concurrently, as well as powerful cross-lane > > operations, both of > which are absent from the benchmark. I did some experiments with plain C, it seems to be about the same. This makes it only useful with 3+ strings I guess, which is far from the common cases we have. Anyway, thanks for taking the time to look into it. > > > > With regards to the excessive materialisation of the flags, it has > > > been fixed in mainline, and the code emitted would be > > > > ? ? vtestps %ymm4, %ymm4 > > ? ? jne? ? ?0x00007fe668b696ac > > Great! > > Thanks, > > Quan Anh From duke at openjdk.org Fri Mar 17 11:08:36 2023 From: duke at openjdk.org (J. Duke) Date: Fri, 17 Mar 2023 11:08:36 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 95 commits from the branch `master`that can **not** be merged into the branch `foreign-memaccess+abi`: Over 17 files contains merge conflicts. 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 +136:openjdk-bot-136 $ git checkout openjdk-bot-136 # 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-136:136 _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 - 8304130: Add runtime/StackGuardPages/TestStackGuardPagesNative.java to ProblemList.txt - 8299375: [PPC64] GetStackTraceSuspendedStressTest tries to deoptimize frame with invalid fp - 8304063: tools/jpackage/share/AppLauncherEnvTest.java fails when checking LD_LIBRARY_PATH - 8304242: CPUInfoTest fails because "serialize" CPU feature is not known - 7154070: in SwingSet2, switching between LaFs it's easy to lose JTable dividers - 8304146: Refactor VisibleMemberTable (LocalMemberTable) - 8303150: DCmd framework unnecessarily creates a DCmd instance on registration - 8304360: Test to ensure ConstantDescs fields work - 8304225: Remove javax/script/Test7.java from ProblemList - ... and 85 more: https://git.openjdk.org/panama-foreign/compare/2693c967...7d96468e The webrev contains the conflicts with foreign-memaccess+abi: - merge conflicts: https://webrevs.openjdk.org/?repo=panama-foreign&pr=823&range=00.conflicts Changes: https://git.openjdk.org/panama-foreign/pull/823/files Stats: 74258 lines in 686 files changed: 44999 ins; 20435 del; 8824 mod Patch: https://git.openjdk.org/panama-foreign/pull/823.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/823/head:pull/823 PR: https://git.openjdk.org/panama-foreign/pull/823 From duke at openjdk.org Fri Mar 17 11:13:55 2023 From: duke at openjdk.org (duke) Date: Fri, 17 Mar 2023 11:13:55 GMT Subject: git: openjdk/panama-foreign: master: 95 new changesets Message-ID: <34a091df-1940-4605-b1c2-f2c19644ea45@openjdk.org> Changeset: 75d63062 Author: Hannes Walln?fer Date: 2023-03-10 11:07:14 +0000 URL: https://git.openjdk.org/panama-foreign/commit/75d630621c86840eed9b29bf6e4c5e22e82369f0 8303349: Simplify link format for generic types in index pages Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AllClassesIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ConstantsSummaryWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlLinkFactory.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlLinkInfo.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/IndexWriter.java ! test/langtools/jdk/javadoc/doclet/testInterface/TestInterface.java Changeset: b9951dd6 Author: Maurizio Cimadamore Date: 2023-03-10 13:12:50 +0000 URL: https://git.openjdk.org/panama-foreign/commit/b9951dd63997b6330001311c925e171f4645a28b 8303820: Simplify type metadata Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Type.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/TypeMetadata.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Types.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Annotate.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/DeferredAttr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassReader.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/UninitializedType.java Changeset: de9f3b6a Author: Matthew Donovan Committer: Weijun Wang Date: 2023-03-10 14:10:41 +0000 URL: https://git.openjdk.org/panama-foreign/commit/de9f3b6aac85edb39af67db887af78906e8d5da0 8296400: pointCrlIssuers might be null in DistributionPointFetcher::verifyURL Reviewed-by: weijun ! src/java.base/share/classes/sun/security/provider/certpath/DistributionPointFetcher.java Changeset: 6d30bbe6 Author: Jorn Vernee Date: 2023-03-10 14:42:54 +0000 URL: https://git.openjdk.org/panama-foreign/commit/6d30bbe62c10af0f2c80cb1eaac3d171fb7bffcb 8303001: Add test for re-entrant upcalls Reviewed-by: mcimadamore + test/jdk/java/foreign/stackwalk/TestReentrantUpcalls.java + test/jdk/java/foreign/stackwalk/libReentrantUpcalls.c Changeset: 01312a00 Author: Tobias Holenstein Date: 2023-03-10 15:39:45 +0000 URL: https://git.openjdk.org/panama-foreign/commit/01312a002ba27bfbfebb9fde484ca34ebde0704c 8300821: UB: Applying non-zero offset to non-null pointer 0xfffffffffffffffe produced null pointer Reviewed-by: kvn, thartmann ! src/hotspot/share/asm/codeBuffer.cpp ! src/hotspot/share/code/relocInfo.cpp Changeset: a32ee5dd Author: Matthias Baesken Date: 2023-03-10 15:57:30 +0000 URL: https://git.openjdk.org/panama-foreign/commit/a32ee5dd8b5d0b65b39d7a3f8bedc7c099987f6f 8303949: gcc10 warning Linux ppc64le - note: the layout of aggregates containing vectors with 8-byte alignment has changed in GCC 5 Reviewed-by: erikj, mdoerr ! make/autoconf/flags-cflags.m4 Changeset: f2a36b4b Author: Viktor Klang Committer: Paul Sandoz Date: 2023-03-10 16:01:12 +0000 URL: https://git.openjdk.org/panama-foreign/commit/f2a36b4b529b1d74ca38633244dda092a15d50ac 8302666: Replace CHM with VarHandle in ForeachOrderedTask Reviewed-by: psandoz ! src/java.base/share/classes/java/util/stream/ForEachOps.java Changeset: 548d552b Author: Matias Saavedra Silva Committer: Coleen Phillimore Date: 2023-03-10 16:30:48 +0000 URL: https://git.openjdk.org/panama-foreign/commit/548d552bc10a3031fc85724ef561d17878dda5b1 8303548: Arguments::get_default_shared_archive_path() should cache the result for future use Reviewed-by: ccheung, dholmes ! src/hotspot/share/cds/filemap.cpp ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/arguments.hpp Changeset: c26e1d01 Author: Matias Saavedra Silva Committer: Coleen Phillimore Date: 2023-03-10 16:31:41 +0000 URL: https://git.openjdk.org/panama-foreign/commit/c26e1d0148de27d0b257ec10380a5c50483fd3c0 8303495: Unused path parameter in ClassLoader::add_to_app_classpath_entries(JavaThread* current, char* path, ...) Reviewed-by: ccheung, dholmes ! src/hotspot/share/classfile/classLoader.cpp ! src/hotspot/share/classfile/classLoader.hpp Changeset: 9dd7b879 Author: Erik Gahlin Date: 2023-03-10 17:09:56 +0000 URL: https://git.openjdk.org/panama-foreign/commit/9dd7b8799700e938688a28c8a2c14826eee96f5c 8303674: JFR: TypeLibrary class not thread safe Reviewed-by: mgronlun ! src/jdk.jfr/share/classes/jdk/jfr/internal/MetadataRepository.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/TypeLibrary.java Changeset: 206661d4 Author: Matias Saavedra Silva Committer: Calvin Cheung Date: 2023-03-10 17:11:48 +0000 URL: https://git.openjdk.org/panama-foreign/commit/206661d45f465399bd6e3c4066896fc822340b9f 8281941: Change CDS warning messages to use Unified Logging Reviewed-by: dholmes, ccheung ! src/hotspot/share/cds/classListWriter.cpp ! src/hotspot/share/cds/dynamicArchive.cpp ! src/hotspot/share/cds/filemap.cpp ! src/hotspot/share/cds/metaspaceShared.cpp ! test/hotspot/jtreg/runtime/cds/appcds/SpecifySysLoaderProp.java ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/ArchiveConsistency.java ! test/lib/jdk/test/lib/cds/CDSTestUtils.java Changeset: a3358b10 Author: Justin Lu Committer: Naoto Sato Date: 2023-03-10 17:39:13 +0000 URL: https://git.openjdk.org/panama-foreign/commit/a3358b10cab44a97404aee8c1d07d580930fd199 8303853: Update ISO 3166 country codes table Reviewed-by: naoto ! src/java.base/share/classes/java/util/LocaleISOData.java Changeset: 6f54eda4 Author: Justin Lu Committer: Naoto Sato Date: 2023-03-10 17:40:10 +0000 URL: https://git.openjdk.org/panama-foreign/commit/6f54eda4a42a7c27c8eabbdc1c989de7cf246bdb 8299088: ClassLoader::defineClass2 throws OOME but JNI exception pending thrown by getUTF Reviewed-by: mchung, naoto ! src/java.base/share/native/libjava/ClassLoader.c Changeset: bf16b5b9 Author: Man Cao Date: 2023-03-10 18:14:09 +0000 URL: https://git.openjdk.org/panama-foreign/commit/bf16b5b9880eb89b283006db090dce4346aa877b 8303937: Corrupted heap dumps due to missing retries for os::write() Reviewed-by: cjplummer, dholmes ! src/hotspot/share/services/heapDumperCompression.cpp Changeset: 94de0a73 Author: Stuart Marks Date: 2023-03-10 18:58:44 +0000 URL: https://git.openjdk.org/panama-foreign/commit/94de0a73de06a7be2e5346de38e428074ea68f94 8302513: remove sun.awt.util.IdentityLinkedList Reviewed-by: serb, prr, aivanov ! src/java.desktop/share/classes/java/awt/Dialog.java - src/java.desktop/share/classes/sun/awt/util/IdentityLinkedList.java Changeset: d7f4221b Author: Daniel D. Daugherty Date: 2023-03-10 20:10:50 +0000 URL: https://git.openjdk.org/panama-foreign/commit/d7f4221bfe9637a7961f30a25196a0e3161baafd 8304005: ProblemList serviceability/AsyncGetCallTrace/MyPackage/ASGCTBaseTest.java on linux-x64 in Xcomp mode Reviewed-by: rriggs ! test/hotspot/jtreg/ProblemList-Xcomp.txt Changeset: 21169285 Author: Kim Barrett Date: 2023-03-10 21:16:56 +0000 URL: https://git.openjdk.org/panama-foreign/commit/2116928528c0554b2ba0171bd7968ab693972804 8303900: Rename BitMap search functions Reviewed-by: stefank, aboldtch ! src/hotspot/share/gc/g1/g1CardSetContainers.hpp ! src/hotspot/share/gc/g1/g1CommittedRegionMap.cpp ! src/hotspot/share/gc/g1/g1ConcurrentMarkBitMap.inline.hpp ! src/hotspot/share/gc/g1/g1PageBasedVirtualSpace.cpp ! src/hotspot/share/gc/g1/g1RegionToSpaceMapper.cpp ! src/hotspot/share/gc/parallel/parMarkBitMap.inline.hpp ! src/hotspot/share/gc/shared/markBitMap.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp ! src/hotspot/share/gc/z/zLiveMap.inline.hpp ! src/hotspot/share/utilities/bitMap.hpp ! src/hotspot/share/utilities/bitMap.inline.hpp ! test/hotspot/gtest/utilities/test_bitMap_search.cpp Changeset: 0a4d54f7 Author: Alexander Matveev Date: 2023-03-11 01:04:13 +0000 URL: https://git.openjdk.org/panama-foreign/commit/0a4d54f7ce2ac906a8012ed92c84ed8303cb4b90 8299779: Test tools/jpackage/share/jdk/jpackage/tests/MainClassTest.java timed out Reviewed-by: asemenyuk ! test/jdk/tools/jpackage/share/jdk/jpackage/tests/MainClassTest.java Changeset: 98a7a60f Author: Feilong Jiang Committer: Fei Yang Date: 2023-03-11 04:48:06 +0000 URL: https://git.openjdk.org/panama-foreign/commit/98a7a60fcb7d1efdba60438df3c468f5320fb64c 8303863: RISC-V: TestArrayStructs.java fails after JDK-8303604 Reviewed-by: jvernee, fyang ! src/java.base/share/classes/jdk/internal/foreign/abi/riscv64/linux/LinuxRISCV64CallArranger.java Changeset: a06426a5 Author: Julian Waters Date: 2023-03-11 14:36:56 +0000 URL: https://git.openjdk.org/panama-foreign/commit/a06426a52f16c08c95b1c0270a5fc40721921022 8274400: HotSpot Style Guide should permit use of alignof Reviewed-by: kbarrett, kvn, dholmes, dcubed ! doc/hotspot-style.html ! doc/hotspot-style.md Changeset: fbc76c2c Author: Daniel D. Daugherty Date: 2023-03-11 17:38:47 +0000 URL: https://git.openjdk.org/panama-foreign/commit/fbc76c2c7866204783803d2ac829fb95b040a015 8304017: ProblemList com/sun/jdi/InvokeHangTest.java on windows-x64 in vthread mode 8304018: ProblemList javax/swing/JColorChooser/Test6827032.java on windows-x64 8304019: ProblemList java/awt/dnd/MissingDragExitEventTest/MissingDragExitEventTest.java on windows-x64 Reviewed-by: stuefe ! test/jdk/ProblemList-svc-vthread.txt ! test/jdk/ProblemList.txt Changeset: c313e1ac Author: Eirik Bjorsnos Committer: Julian Waters Date: 2023-03-11 18:44:47 +0000 URL: https://git.openjdk.org/panama-foreign/commit/c313e1ac7b3305b1c012755de4e94728b17e2505 8303922: build-test-lib target is broken Reviewed-by: erikj, jwaters ! make/test/BuildTestLib.gmk ! test/lib/jdk/test/lib/hexdump/ASN1Formatter.java Changeset: d20bde29 Author: Daniel Skantz Committer: Emanuel Peter Date: 2023-03-13 07:33:46 +0000 URL: https://git.openjdk.org/panama-foreign/commit/d20bde29f2c0162ea62b42d0b618566cf5d9678a 8294715: Add IR checks to the reduction vectorization tests Reviewed-by: rcastanedalo, epeter ! test/hotspot/jtreg/compiler/lib/ir_framework/IRNode.java ! test/hotspot/jtreg/compiler/loopopts/superword/ProdRed_Double.java ! test/hotspot/jtreg/compiler/loopopts/superword/ProdRed_Float.java ! test/hotspot/jtreg/compiler/loopopts/superword/ProdRed_Int.java ! test/hotspot/jtreg/compiler/loopopts/superword/RedTest_int.java ! test/hotspot/jtreg/compiler/loopopts/superword/RedTest_long.java ! test/hotspot/jtreg/compiler/loopopts/superword/SumRedAbsNeg_Double.java ! test/hotspot/jtreg/compiler/loopopts/superword/SumRedAbsNeg_Float.java ! test/hotspot/jtreg/compiler/loopopts/superword/SumRedSqrt_Double.java ! test/hotspot/jtreg/compiler/loopopts/superword/SumRed_Double.java ! test/hotspot/jtreg/compiler/loopopts/superword/SumRed_Float.java ! test/hotspot/jtreg/compiler/loopopts/superword/SumRed_Int.java ! test/hotspot/jtreg/compiler/loopopts/superword/SumRed_Long.java Changeset: 1148a659 Author: Tomas Zezula Committer: Doug Simon Date: 2023-03-13 08:40:12 +0000 URL: https://git.openjdk.org/panama-foreign/commit/1148a659a89edc6a4f320d578bc0025eae3553fb 8303678: [JVMCI] Add possibility to convert object JavaConstant to jobject. Reviewed-by: never ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotJVMCIRuntime.java Changeset: 31e1e397 Author: Tomas Zezula Committer: Doug Simon Date: 2023-03-13 08:41:40 +0000 URL: https://git.openjdk.org/panama-foreign/commit/31e1e3975bf20a37a93a138dd651c6f50a80808f 8303646: [JVMCI] Add possibility to lookup ResolvedJavaType from jclass. Reviewed-by: never ! src/hotspot/share/jvmci/jvmciCompilerToVM.cpp ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/CompilerToVM.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotJVMCIRuntime.java Changeset: c183fce9 Author: Robbin Ehn Date: 2023-03-13 09:34:00 +0000 URL: https://git.openjdk.org/panama-foreign/commit/c183fce9543ca15f5db632babecdb7797d0745e4 8300926: Several startup regressions ~6-70% in 21-b6 all platforms Reviewed-by: eosterlund, dcubed, coleenp ! src/hotspot/share/cds/lambdaFormInvokers.cpp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/classfile/vmClasses.cpp ! src/hotspot/share/code/codeCache.cpp ! src/hotspot/share/code/codeCache.hpp ! src/hotspot/share/code/compiledMethod.cpp ! src/hotspot/share/code/compiledMethod.hpp ! src/hotspot/share/code/dependencies.hpp ! src/hotspot/share/code/dependencyContext.cpp ! src/hotspot/share/code/dependencyContext.hpp ! src/hotspot/share/code/nmethod.cpp ! src/hotspot/share/jvmci/jvmciEnv.cpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceKlass.hpp ! src/hotspot/share/oops/method.cpp ! src/hotspot/share/oops/method.hpp ! src/hotspot/share/prims/jvmtiRedefineClasses.cpp ! src/hotspot/share/prims/methodHandles.cpp ! src/hotspot/share/prims/methodHandles.hpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/runtime/deoptimization.cpp ! src/hotspot/share/runtime/deoptimization.hpp Changeset: b575e54b Author: Thomas Schatzl Date: 2023-03-13 09:56:40 +0000 URL: https://git.openjdk.org/panama-foreign/commit/b575e54bc96c8fc413893dbbe91d0b5ce0192179 8303963: Replace various encodings of UINT/SIZE_MAX in gc code Reviewed-by: ayang, kbarrett ! src/hotspot/share/gc/g1/g1FullCollector.cpp ! src/hotspot/share/gc/g1/g1RegionToSpaceMapper.cpp ! src/hotspot/share/gc/shared/collectedHeap.cpp ! src/hotspot/share/gc/shared/collectedHeap.hpp ! src/hotspot/share/gc/shared/gcId.hpp ! src/hotspot/share/gc/shared/workerDataArray.cpp ! src/hotspot/share/memory/metaspace/metachunk.cpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/os.cpp ! src/hotspot/share/services/gcNotifier.cpp ! src/hotspot/share/services/management.cpp ! src/hotspot/share/services/memoryUsage.hpp Changeset: 3018b470 Author: Thomas Schatzl Date: 2023-03-13 09:57:24 +0000 URL: https://git.openjdk.org/panama-foreign/commit/3018b4705e21ebdad8997eff9271e21e537f000d 8303969: Limit printed failures within an object during G1 heap verification Reviewed-by: ayang, iwalulya ! src/hotspot/share/gc/g1/g1_globals.hpp ! src/hotspot/share/gc/g1/heapRegion.cpp Changeset: 25e7ac22 Author: Adam Sotona Date: 2023-03-13 10:13:45 +0000 URL: https://git.openjdk.org/panama-foreign/commit/25e7ac226a3be9c064c0a65c398a8165596150f7 8294966: Convert jdk.jartool/sun.tools.jar.FingerPrint to use the ClassFile API to parse JAR entries Reviewed-by: mchung ! make/modules/jdk.jartool/Java.gmk ! src/java.base/share/classes/module-info.java ! src/jdk.jartool/share/classes/module-info.java ! src/jdk.jartool/share/classes/sun/tools/jar/FingerPrint.java Changeset: 805a4e68 Author: Thomas Schatzl Date: 2023-03-13 11:06:20 +0000 URL: https://git.openjdk.org/panama-foreign/commit/805a4e68060ccd82b2d37d733937351bcf83e683 8303883: Confusing parameter name in G1UpdateRemSetTrackingBeforeRebuild::distribute_marked_bytes Reviewed-by: ayang, iwalulya ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/g1/g1ConcurrentMark.hpp Changeset: 8e41bf22 Author: Jasmine K <25208576+SuperCoder7979 at users.noreply.github.com> Committer: Claes Redestad Date: 2023-03-13 11:10:42 +0000 URL: https://git.openjdk.org/panama-foreign/commit/8e41bf222f4adce0bfaee7d464962d5ae22e3b3b 8303238: Create generalizations for existing LShift ideal transforms Reviewed-by: redestad, thartmann ! src/hotspot/share/opto/mulnode.cpp ! test/hotspot/jtreg/compiler/c2/irTests/LShiftINodeIdealizationTests.java + test/hotspot/jtreg/compiler/c2/irTests/LShiftLNodeIdealizationTests.java + test/micro/org/openjdk/bench/vm/compiler/LShiftNodeIdealize.java Changeset: 4cf4c599 Author: Albert Mingkun Yang Date: 2023-03-13 11:30:52 +0000 URL: https://git.openjdk.org/panama-foreign/commit/4cf4c599b9a8a08cdd7ab865355af4e12e364750 8303824: Parallel: Use more strict card table API Reviewed-by: tschatzl, iwalulya, ysr ! src/hotspot/share/gc/parallel/psOldGen.hpp ! src/hotspot/share/gc/parallel/psParallelCompact.cpp Changeset: 431e702b Author: Andrey Turbanov Date: 2023-03-13 13:08:52 +0000 URL: https://git.openjdk.org/panama-foreign/commit/431e702b676e2c02224d60181c34b5fe97873d8b 8303213: Avoid AtomicReference in TextComponentPrintable Reviewed-by: serb, aivanov ! src/java.desktop/share/classes/sun/swing/text/TextComponentPrintable.java Changeset: 466ffebc Author: Daniel Fuchs Date: 2023-03-13 14:24:56 +0000 URL: https://git.openjdk.org/panama-foreign/commit/466ffebcae1ee5817a83fdbc33f5ec3bd6de7e60 8303965: java.net.http.HttpClient should reset the stream if response headers contain malformed header fields Reviewed-by: jpai ! src/java.net.http/share/classes/jdk/internal/net/http/Exchange.java ! src/java.net.http/share/classes/jdk/internal/net/http/Http2Connection.java ! src/java.net.http/share/classes/jdk/internal/net/http/Stream.java + src/java.net.http/share/classes/jdk/internal/net/http/common/HeaderDecoder.java ! src/java.net.http/share/classes/jdk/internal/net/http/common/Utils.java + src/java.net.http/share/classes/jdk/internal/net/http/common/ValidatingHeadersConsumer.java ! test/jdk/java/net/httpclient/http2/BadHeadersTest.java Changeset: f835aaaf Author: Alexey Ivanov Date: 2023-03-13 15:05:15 +0000 URL: https://git.openjdk.org/panama-foreign/commit/f835aaafc7332d324ca9b08b2a34539fc1c573aa 8300727: java/awt/List/ListGarbageCollectionTest/AwtListGarbageCollectionTest.java failed with "List wasn't garbage collected" Reviewed-by: prr, tr, serb ! test/jdk/java/awt/List/ListGarbageCollectionTest/AwtListGarbageCollectionTest.java Changeset: a95bc7ac Author: Adam Sotona Date: 2023-03-13 15:53:01 +0000 URL: https://git.openjdk.org/panama-foreign/commit/a95bc7acd091b287af02485434e1e55ba1e0369d 8294974: Convert jdk.jshell/jdk.jshell.execution.LocalExecutionControl to use the Classfile API to instrument classes Reviewed-by: jlahoda ! src/java.base/share/classes/module-info.java ! src/jdk.jshell/share/classes/jdk/jshell/execution/LocalExecutionControl.java ! test/jdk/jdk/classfile/TEST.properties Changeset: 671a4521 Author: Justin King Date: 2023-03-13 16:23:34 +0000 URL: https://git.openjdk.org/panama-foreign/commit/671a45219fd727f2a0e1ed040577ec726775f07e 8303606: Memory leaks in Arguments::parse_each_vm_init_arg Reviewed-by: dholmes, fparain ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/arguments.hpp Changeset: 56851075 Author: Ilarion Nakonechnyy Committer: Coleen Phillimore Date: 2023-03-13 17:26:25 +0000 URL: https://git.openjdk.org/panama-foreign/commit/5685107579f0f00b5eae881311315cec34c1ddcb 8302491: NoClassDefFoundError omits the original cause of an error Reviewed-by: coleenp, dholmes ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/oops/instanceKlass.cpp Changeset: a8f662ec Author: Patricio Chilano Mateo Date: 2023-03-13 20:15:23 +0000 URL: https://git.openjdk.org/panama-foreign/commit/a8f662ecb2cf13ba7fa499b9a9150da4318306a8 8303908: Add missing check in VTMS_transition_disable_for_all() for suspend mode Reviewed-by: sspitsyn, dholmes ! src/hotspot/share/prims/jvmtiThreadState.cpp Changeset: 7bbc5e0e Author: Pavel Rappo Date: 2023-03-13 20:53:52 +0000 URL: https://git.openjdk.org/panama-foreign/commit/7bbc5e0efbcbf97e8c1d4e889bd06c33c5f4eaa5 8300517: Refactor VisibleMemberTable (method members) Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/doclet/package-info.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/MethodWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TagletWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/WorkArounds.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 ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/ToolOptions.java ! test/langtools/jdk/javadoc/doclet/testInterface/TestInterface.java + test/langtools/jdk/javadoc/doclet/testInterface/pkg3/I.java ! test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestBadOverride.java + test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestSpecifiedBy.java ! test/langtools/jdk/javadoc/tool/IgnoreSourceErrors.java Changeset: 49181b81 Author: Feilong Jiang Committer: Fei Yang Date: 2023-03-14 00:55:21 +0000 URL: https://git.openjdk.org/panama-foreign/commit/49181b81dd284f65455492183ce5d0ab38b48d52 8303955: RISC-V: Factor out the tmp parameter from copy_memory and copy_memory_v Reviewed-by: fyang, yzhu ! src/hotspot/cpu/riscv/stubGenerator_riscv.cpp Changeset: c073ef2e Author: Alisen Chung Date: 2023-03-14 04:04:19 +0000 URL: https://git.openjdk.org/panama-foreign/commit/c073ef2ed59483c8dccec9fcac930c862885ff91 8303482: Update LCMS to 2.15 Reviewed-by: serb, prr, dnguyen ! src/java.desktop/share/legal/lcms.md ! src/java.desktop/share/native/liblcms/cmsalpha.c ! src/java.desktop/share/native/liblcms/cmscam02.c ! src/java.desktop/share/native/liblcms/cmscgats.c ! src/java.desktop/share/native/liblcms/cmscnvrt.c ! src/java.desktop/share/native/liblcms/cmserr.c ! src/java.desktop/share/native/liblcms/cmsgamma.c ! src/java.desktop/share/native/liblcms/cmshalf.c ! src/java.desktop/share/native/liblcms/cmsintrp.c ! src/java.desktop/share/native/liblcms/cmsio0.c ! src/java.desktop/share/native/liblcms/cmsio1.c ! src/java.desktop/share/native/liblcms/cmslut.c ! src/java.desktop/share/native/liblcms/cmsmd5.c ! src/java.desktop/share/native/liblcms/cmsmtrx.c ! src/java.desktop/share/native/liblcms/cmsnamed.c ! src/java.desktop/share/native/liblcms/cmsopt.c ! src/java.desktop/share/native/liblcms/cmspack.c ! src/java.desktop/share/native/liblcms/cmspcs.c ! src/java.desktop/share/native/liblcms/cmsplugin.c ! src/java.desktop/share/native/liblcms/cmsps2.c ! src/java.desktop/share/native/liblcms/cmssamp.c ! src/java.desktop/share/native/liblcms/cmssm.c ! src/java.desktop/share/native/liblcms/cmstypes.c ! src/java.desktop/share/native/liblcms/cmsvirt.c ! src/java.desktop/share/native/liblcms/cmswtpnt.c ! src/java.desktop/share/native/liblcms/cmsxform.c ! src/java.desktop/share/native/liblcms/lcms2.h ! src/java.desktop/share/native/liblcms/lcms2_internal.h ! src/java.desktop/share/native/liblcms/lcms2_plugin.h Changeset: 2bb990ed Author: Julian Waters Date: 2023-03-14 07:24:18 +0000 URL: https://git.openjdk.org/panama-foreign/commit/2bb990edde5c8a08b9a9b209aa1fcdc3c38c3cb8 8301244: Tidy up compiler specific warnings files Reviewed-by: kbarrett, dholmes ! src/hotspot/share/utilities/compilerWarnings_gcc.hpp ! src/hotspot/share/utilities/compilerWarnings_visCPP.hpp Changeset: b6d70f2c Author: Matthias Baesken Date: 2023-03-14 08:08:28 +0000 URL: https://git.openjdk.org/panama-foreign/commit/b6d70f2c49da6f99e3a0a84b1df6e3d48c7e2e58 8303973: Library detection in runtime/ErrorHandling/TestDwarf.java fails on ppc64le RHEL8.5 for libpthread-2.28.so Reviewed-by: chagedorn ! test/hotspot/jtreg/runtime/ErrorHandling/TestDwarf.java Changeset: 43eca1dc Author: Adam Sotona Date: 2023-03-14 08:36:05 +0000 URL: https://git.openjdk.org/panama-foreign/commit/43eca1dcb197e3615b6077a5d8aef28f32a7724c 8303910: jdk/classfile/CorpusTest.java failed 1 of 6754 tests Reviewed-by: jpai ! src/java.base/share/classes/jdk/internal/classfile/TypeKind.java Changeset: 0cc0f063 Author: Ivan Walulya Date: 2023-03-14 10:46:16 +0000 URL: https://git.openjdk.org/panama-foreign/commit/0cc0f063e2c19bdc1cd31a8656e330a333419f37 8304015: G1: Metaspace-induced GCs should not trigger maximal compaction Reviewed-by: ayang, tschatzl ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp Changeset: 31680b2b Author: Eirik Bjorsnos Committer: Weijun Wang Date: 2023-03-14 11:48:59 +0000 URL: https://git.openjdk.org/panama-foreign/commit/31680b2bcffe03ec11204946a1e168d4d9f31d87 8303410: Remove ContentSigner APIs and jarsigner -altsigner and -altsignerpath options Reviewed-by: weijun - src/jdk.jartool/share/classes/com/sun/jarsigner/ContentSigner.java - src/jdk.jartool/share/classes/com/sun/jarsigner/ContentSignerParameters.java - src/jdk.jartool/share/classes/com/sun/jarsigner/package-info.java ! src/jdk.jartool/share/classes/jdk/security/jarsigner/JarSigner.java ! src/jdk.jartool/share/classes/module-info.java ! src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Main.java ! src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Resources.java ! src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Resources_de.java ! src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Resources_ja.java ! src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Resources_zh_CN.java ! test/jdk/TEST.groups - test/jdk/com/sun/jarsigner/DefaultMethod.java ! test/jdk/jdk/security/jarsigner/Spec.java ! test/jdk/sun/security/tools/jarsigner/Options.java Changeset: ec1eb00e Author: Vladimir Kozlov Date: 2023-03-14 12:20:14 +0000 URL: https://git.openjdk.org/panama-foreign/commit/ec1eb00ed3290f44bdb175e0ca05522fd860efa1 8303415: Add VM_Version::is_intrinsic_supported(id) Reviewed-by: thartmann, dholmes ! src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp ! src/hotspot/cpu/arm/templateInterpreterGenerator_arm.cpp ! src/hotspot/cpu/ppc/templateInterpreterGenerator_ppc.cpp ! src/hotspot/cpu/riscv/templateInterpreterGenerator_riscv.cpp ! src/hotspot/cpu/s390/templateInterpreterGenerator_s390.cpp ! src/hotspot/cpu/x86/templateInterpreterGenerator_x86_32.cpp ! src/hotspot/cpu/x86/templateInterpreterGenerator_x86_64.cpp ! src/hotspot/cpu/x86/vm_version_x86.cpp ! src/hotspot/cpu/x86/vm_version_x86.hpp ! src/hotspot/share/classfile/vmIntrinsics.cpp ! src/hotspot/share/classfile/vmIntrinsics.hpp ! src/hotspot/share/compiler/abstractCompiler.hpp ! src/hotspot/share/compiler/compilerDirectives.cpp ! src/hotspot/share/compiler/compilerDirectives.hpp ! src/hotspot/share/interpreter/abstractInterpreter.cpp ! src/hotspot/share/interpreter/abstractInterpreter.hpp ! src/hotspot/share/interpreter/templateInterpreterGenerator.cpp ! src/hotspot/share/interpreter/templateInterpreterGenerator.hpp ! src/hotspot/share/interpreter/zero/zeroInterpreterGenerator.cpp ! src/hotspot/share/opto/c2compiler.cpp ! src/hotspot/share/opto/c2compiler.hpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/runtime/abstract_vm_version.hpp ! src/hotspot/share/runtime/globals.hpp ! test/hotspot/jtreg/compiler/floatingpoint/NaNTest.java Changeset: 55aa1224 Author: Coleen Phillimore Date: 2023-03-14 13:27:55 +0000 URL: https://git.openjdk.org/panama-foreign/commit/55aa122462c34d8f4cafa58f4d1f2d900449c83e 8304059: Use InstanceKlass in dependencies Reviewed-by: vlivanov, thartmann ! src/hotspot/share/code/codeCache.cpp ! src/hotspot/share/code/dependencies.cpp ! src/hotspot/share/code/dependencies.hpp ! src/hotspot/share/code/nmethod.cpp Changeset: c466cdf9 Author: Christian Hagedorn Date: 2023-03-14 14:57:47 +0000 URL: https://git.openjdk.org/panama-foreign/commit/c466cdf973ca9c4ecec1a28f158ebf366386024e 8299546: C2: MulLNode::mul_ring() wrongly returns bottom type due to casting errors with large numbers Reviewed-by: iveresov, kvn, qamai ! src/hotspot/share/opto/mulnode.cpp ! src/hotspot/share/utilities/globalDefinitions.hpp + test/hotspot/jtreg/compiler/c2/irTests/igvn/TestIntegerMulRing.java + test/hotspot/jtreg/compiler/ccp/TestMissingMulLOptimization.java Changeset: da044dd5 Author: Jamil Nimeh Date: 2023-03-14 15:42:47 +0000 URL: https://git.openjdk.org/panama-foreign/commit/da044dd5698d14eccd2a30a24cc691e30fa00cbd 8300939: sun/security/provider/certpath/OCSP/OCSPNoContentLength.java fails due to network errors Reviewed-by: djelinski, weijun ! test/jdk/ProblemList.txt ! test/jdk/java/security/testlibrary/SimpleOCSPServer.java ! test/jdk/sun/security/provider/certpath/OCSP/OCSPNoContentLength.java Changeset: a00f5d24 Author: Thomas Stuefe Date: 2023-03-14 15:51:20 +0000 URL: https://git.openjdk.org/panama-foreign/commit/a00f5d24d3824e3ab84208401a967efe0e7bf88e 8303861: Error handling step timeouts should never be blocked by OnError and others Reviewed-by: dholmes, rkennke ! src/hotspot/share/runtime/nonJavaThread.cpp ! src/hotspot/share/utilities/vmError.cpp ! test/hotspot/jtreg/runtime/ErrorHandling/TimeoutInErrorHandlingTest.java Changeset: 9f9ab02f Author: Hannes Walln?fer Date: 2023-03-14 16:20:35 +0000 URL: https://git.openjdk.org/panama-foreign/commit/9f9ab02ff6a3779b43c9024e5ec190de4eec9ab5 8303895: Simplify and clean up LinkFactory code Reviewed-by: prappo ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractExecutableMemberWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlLinkFactory.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlLinkInfo.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Signatures.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/links/LinkFactory.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/links/LinkInfo.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/links/package-info.java Changeset: 10f16746 Author: Alexey Bakhtin Date: 2023-03-14 16:41:09 +0000 URL: https://git.openjdk.org/panama-foreign/commit/10f16746254ce62031f40ffb0f49f22e81cbe631 8303809: Dispose context in SPNEGO NegotiatorImpl Reviewed-by: dfuchs, weijun ! src/java.base/share/classes/sun/net/www/protocol/http/AuthenticationInfo.java ! src/java.base/share/classes/sun/net/www/protocol/http/HttpURLConnection.java ! src/java.base/share/classes/sun/net/www/protocol/http/NegotiateAuthentication.java ! src/java.base/share/classes/sun/net/www/protocol/http/Negotiator.java ! src/java.security.jgss/share/classes/sun/net/www/protocol/http/spnego/NegotiatorImpl.java Changeset: 4e631fa4 Author: Kevin Walls Date: 2023-03-14 16:59:27 +0000 URL: https://git.openjdk.org/panama-foreign/commit/4e631fa43fd821846c12ae2177360c44cf770766 8298966: Deprecate JMX Subject Delegation and the method JMXConnector.getMBeanServerConnection(Subject) for removal. Reviewed-by: mchung, dfuchs ! src/java.management.rmi/share/classes/javax/management/remote/rmi/RMIConnector.java ! src/java.management/share/classes/javax/management/remote/JMXConnector.java Changeset: 830fd413 Author: Calvin Cheung Date: 2023-03-14 17:15:19 +0000 URL: https://git.openjdk.org/panama-foreign/commit/830fd413461709a494bcb81952e5c32088676ee3 8302795: Shared archive failed on old version class with jsr bytecode Reviewed-by: minqi, matsaave ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceKlass.hpp + test/hotspot/jtreg/runtime/cds/appcds/OldClassWithjsr.java + test/hotspot/jtreg/runtime/cds/appcds/test-classes/OldClassWithjsrApp.jasm Changeset: baf11e73 Author: Daniel Jeli?ski Date: 2023-03-14 17:18:56 +0000 URL: https://git.openjdk.org/panama-foreign/commit/baf11e734f7b5308490edc74f3168744c0857b24 8303814: getLastErrorString should avoid charset conversions Reviewed-by: naoto, cjplummer, rriggs ! src/java.base/share/native/libjava/io_util.c ! src/java.base/share/native/libjava/jni_util.c ! src/java.base/share/native/libjava/jni_util.h ! src/java.base/share/native/libzip/zip_util.c ! src/java.base/unix/native/libjava/jni_util_md.c ! src/java.base/windows/native/libjava/jni_util_md.c ! src/java.base/windows/native/libnio/ch/FileDispatcherImpl.c ! src/jdk.hotspot.agent/share/native/libsaproc/sadis.c Changeset: 45809fd0 Author: Julian Waters Date: 2023-03-14 17:32:25 +0000 URL: https://git.openjdk.org/panama-foreign/commit/45809fd0c026dfab2aa004ca425017ec7891d2e6 8295884: Implement IDE support for Eclipse Reviewed-by: erikj ! .gitignore ! doc/ide.html ! doc/ide.md ! make/Main.gmk + make/ide/eclipse/CreateWorkspace.gmk + make/ide/eclipse/classpath.template + make/ide/eclipse/native.template + make/ide/eclipse/settings.template + make/ide/eclipse/workspace.template Changeset: f81e1def Author: Pavel Rappo Date: 2023-03-14 18:36:46 +0000 URL: https://git.openjdk.org/panama-foreign/commit/f81e1def8f74e91dcf7fa3bf54531a85956dc5e4 8303882: Refactor some iterators in jdk.compiler Co-authored-by: Jan Lahoda Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/Iterators.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/List.java + test/langtools/tools/javac/util/IteratorsTest.java Changeset: 617c15f5 Author: Daniel D. Daugherty Date: 2023-03-14 20:09:51 +0000 URL: https://git.openjdk.org/panama-foreign/commit/617c15f5a131fdf254fc4277f6dd78d64292db1c 8304172: ProblemList serviceability/sa/UniqueVtableTest.java 8304175: ProblemList compiler/vectorapi/VectorLogicalOpIdentityTest.java on 2 platforms Reviewed-by: azvegint ! test/hotspot/jtreg/ProblemList.txt Changeset: f5c8b68c Author: Harshitha Onkar Date: 2023-03-14 20:18:44 +0000 URL: https://git.openjdk.org/panama-foreign/commit/f5c8b68c1c4d8bdbf4838aafdcd657fc104420d8 8301998: Update HarfBuzz to 7.0.1 Reviewed-by: erikj, prr ! make/modules/java.desktop/lib/Awt2dLibraries.gmk ! src/java.desktop/share/legal/harfbuzz.md = src/java.desktop/share/native/libharfbuzz/OT/Color/CBDT/CBDT.hh + src/java.desktop/share/native/libharfbuzz/OT/Color/COLR/COLR.hh = src/java.desktop/share/native/libharfbuzz/OT/Color/COLR/colrv1-closure.hh = src/java.desktop/share/native/libharfbuzz/OT/Color/CPAL/CPAL.hh + src/java.desktop/share/native/libharfbuzz/OT/Color/sbix/sbix.hh + src/java.desktop/share/native/libharfbuzz/OT/Color/svg/svg.hh + src/java.desktop/share/native/libharfbuzz/OT/Layout/Common/Coverage.hh + src/java.desktop/share/native/libharfbuzz/OT/Layout/Common/CoverageFormat1.hh + src/java.desktop/share/native/libharfbuzz/OT/Layout/Common/CoverageFormat2.hh + src/java.desktop/share/native/libharfbuzz/OT/Layout/Common/RangeRecord.hh + src/java.desktop/share/native/libharfbuzz/OT/Layout/GDEF/GDEF.hh - src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/Anchor.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/AnchorFormat3.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/Common.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/CursivePos.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/CursivePosFormat1.hh + src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/GPOS.hh + src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/LigatureArray.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/MarkArray.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/MarkBasePos.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/MarkBasePosFormat1.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/MarkLigPos.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/MarkLigPosFormat1.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/MarkMarkPos.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/MarkMarkPosFormat1.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/MarkRecord.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/PairPos.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/PairPosFormat1.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/PairPosFormat2.hh + src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/PairSet.hh + src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/PairValueRecord.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/SinglePos.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/SinglePosFormat1.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/SinglePosFormat2.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/ValueFormat.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/AlternateSet.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/AlternateSubst.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/AlternateSubstFormat1.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/ChainContextSubst.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/Common.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/ContextSubst.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/ExtensionSubst.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/GSUB.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/Ligature.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/LigatureSet.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/LigatureSubst.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/LigatureSubstFormat1.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/MultipleSubst.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/MultipleSubstFormat1.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/ReverseChainSingleSubst.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/ReverseChainSingleSubstFormat1.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/Sequence.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/SingleSubst.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/SingleSubstFormat1.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/SingleSubstFormat2.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/SubstLookup.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/SubstLookupSubTable.hh + src/java.desktop/share/native/libharfbuzz/OT/Layout/types.hh ! src/java.desktop/share/native/libharfbuzz/OT/glyf/CompositeGlyph.hh ! src/java.desktop/share/native/libharfbuzz/OT/glyf/Glyph.hh ! src/java.desktop/share/native/libharfbuzz/OT/glyf/GlyphHeader.hh ! src/java.desktop/share/native/libharfbuzz/OT/glyf/SimpleGlyph.hh ! src/java.desktop/share/native/libharfbuzz/OT/glyf/SubsetGlyph.hh + src/java.desktop/share/native/libharfbuzz/OT/glyf/VarCompositeGlyph.hh + src/java.desktop/share/native/libharfbuzz/OT/glyf/composite-iter.hh + src/java.desktop/share/native/libharfbuzz/OT/glyf/coord-setter.hh ! src/java.desktop/share/native/libharfbuzz/OT/glyf/glyf-helpers.hh ! src/java.desktop/share/native/libharfbuzz/OT/glyf/glyf.hh ! src/java.desktop/share/native/libharfbuzz/OT/glyf/path-builder.hh + src/java.desktop/share/native/libharfbuzz/OT/name/name.hh ! src/java.desktop/share/native/libharfbuzz/UPDATING.txt + src/java.desktop/share/native/libharfbuzz/graph/classdef-graph.hh + src/java.desktop/share/native/libharfbuzz/graph/coverage-graph.hh ! src/java.desktop/share/native/libharfbuzz/graph/graph.hh + src/java.desktop/share/native/libharfbuzz/graph/gsubgpos-context.cc + src/java.desktop/share/native/libharfbuzz/graph/gsubgpos-context.hh + src/java.desktop/share/native/libharfbuzz/graph/gsubgpos-graph.hh + src/java.desktop/share/native/libharfbuzz/graph/markbasepos-graph.hh + src/java.desktop/share/native/libharfbuzz/graph/pairpos-graph.hh ! src/java.desktop/share/native/libharfbuzz/graph/serialize.hh + src/java.desktop/share/native/libharfbuzz/graph/split-helpers.hh ! src/java.desktop/share/native/libharfbuzz/hb-aat-layout-bsln-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-aat-layout-common.hh ! src/java.desktop/share/native/libharfbuzz/hb-aat-layout-feat-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-aat-layout-just-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-aat-layout-kerx-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-aat-layout-morx-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-aat-layout-opbd-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-aat-layout-trak-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-aat-layout.cc ! src/java.desktop/share/native/libharfbuzz/hb-aat-layout.hh ! src/java.desktop/share/native/libharfbuzz/hb-aat-map.cc ! src/java.desktop/share/native/libharfbuzz/hb-aat-map.hh ! src/java.desktop/share/native/libharfbuzz/hb-algs.hh ! src/java.desktop/share/native/libharfbuzz/hb-array.hh ! src/java.desktop/share/native/libharfbuzz/hb-atomic.hh ! src/java.desktop/share/native/libharfbuzz/hb-bit-page.hh ! src/java.desktop/share/native/libharfbuzz/hb-bit-set-invertible.hh ! src/java.desktop/share/native/libharfbuzz/hb-bit-set.hh ! src/java.desktop/share/native/libharfbuzz/hb-blob.cc ! src/java.desktop/share/native/libharfbuzz/hb-blob.h ! src/java.desktop/share/native/libharfbuzz/hb-blob.hh ! src/java.desktop/share/native/libharfbuzz/hb-buffer-deserialize-json.hh + src/java.desktop/share/native/libharfbuzz/hb-buffer-deserialize-text-glyphs.hh + src/java.desktop/share/native/libharfbuzz/hb-buffer-deserialize-text-unicode.hh - src/java.desktop/share/native/libharfbuzz/hb-buffer-deserialize-text.hh ! src/java.desktop/share/native/libharfbuzz/hb-buffer-serialize.cc ! src/java.desktop/share/native/libharfbuzz/hb-buffer-verify.cc ! src/java.desktop/share/native/libharfbuzz/hb-buffer.cc ! src/java.desktop/share/native/libharfbuzz/hb-buffer.h ! src/java.desktop/share/native/libharfbuzz/hb-buffer.hh ! src/java.desktop/share/native/libharfbuzz/hb-cache.hh ! src/java.desktop/share/native/libharfbuzz/hb-cff-interp-common.hh ! src/java.desktop/share/native/libharfbuzz/hb-cff-interp-cs-common.hh ! src/java.desktop/share/native/libharfbuzz/hb-cff-interp-dict-common.hh ! src/java.desktop/share/native/libharfbuzz/hb-cff1-interp-cs.hh ! src/java.desktop/share/native/libharfbuzz/hb-cff2-interp-cs.hh ! src/java.desktop/share/native/libharfbuzz/hb-common.cc ! src/java.desktop/share/native/libharfbuzz/hb-common.h ! src/java.desktop/share/native/libharfbuzz/hb-config.hh ! src/java.desktop/share/native/libharfbuzz/hb-cplusplus.hh ! src/java.desktop/share/native/libharfbuzz/hb-debug.hh ! src/java.desktop/share/native/libharfbuzz/hb-deprecated.h ! src/java.desktop/share/native/libharfbuzz/hb-draw.cc ! src/java.desktop/share/native/libharfbuzz/hb-draw.h + src/java.desktop/share/native/libharfbuzz/hb-face-builder.cc ! src/java.desktop/share/native/libharfbuzz/hb-face.cc ! src/java.desktop/share/native/libharfbuzz/hb-face.h ! src/java.desktop/share/native/libharfbuzz/hb-face.hh ! src/java.desktop/share/native/libharfbuzz/hb-fallback-shape.cc ! src/java.desktop/share/native/libharfbuzz/hb-font.cc ! src/java.desktop/share/native/libharfbuzz/hb-font.h ! src/java.desktop/share/native/libharfbuzz/hb-font.hh ! src/java.desktop/share/native/libharfbuzz/hb-ft.cc ! src/java.desktop/share/native/libharfbuzz/hb-iter.hh + src/java.desktop/share/native/libharfbuzz/hb-limits.hh ! src/java.desktop/share/native/libharfbuzz/hb-machinery.hh ! src/java.desktop/share/native/libharfbuzz/hb-map.cc ! src/java.desktop/share/native/libharfbuzz/hb-map.h ! src/java.desktop/share/native/libharfbuzz/hb-map.hh ! src/java.desktop/share/native/libharfbuzz/hb-meta.hh + src/java.desktop/share/native/libharfbuzz/hb-multimap.hh ! src/java.desktop/share/native/libharfbuzz/hb-mutex.hh ! src/java.desktop/share/native/libharfbuzz/hb-null.hh ! src/java.desktop/share/native/libharfbuzz/hb-number-parser.hh ! src/java.desktop/share/native/libharfbuzz/hb-number.cc ! src/java.desktop/share/native/libharfbuzz/hb-object.hh ! src/java.desktop/share/native/libharfbuzz/hb-open-file.hh ! src/java.desktop/share/native/libharfbuzz/hb-open-type.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-cff-common.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-cff1-table.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-cff1-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-cff2-table.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-cff2-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-cmap-table.hh - src/java.desktop/share/native/libharfbuzz/hb-ot-color-colr-table.hh - src/java.desktop/share/native/libharfbuzz/hb-ot-color-sbix-table.hh - src/java.desktop/share/native/libharfbuzz/hb-ot-color-svg-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-color.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-color.h ! src/java.desktop/share/native/libharfbuzz/hb-ot-deprecated.h ! src/java.desktop/share/native/libharfbuzz/hb-ot-face-table-list.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-face.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-font.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-hdmx-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-head-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-hmtx-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-layout-base-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-layout-common.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-layout-gdef-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-layout-gpos-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-layout-gsub-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-layout-gsubgpos.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-layout.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-layout.h ! src/java.desktop/share/native/libharfbuzz/hb-ot-layout.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-map.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-map.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-math-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-math.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-maxp-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-meta-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-metrics.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-name-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-name.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-name.h ! src/java.desktop/share/native/libharfbuzz/hb-ot-os2-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-os2-unicode-ranges.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-post-table-v2subset.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-post-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-normalize.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-arabic-fallback.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-arabic-joining-list.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-arabic-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-arabic.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-default.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-hangul.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-hebrew.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-indic-machine.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-indic-table.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-indic.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-khmer-machine.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-khmer.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-myanmar-machine.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-myanmar.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-syllabic.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-syllabic.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-thai.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-use-machine.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-use-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-use.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-vowel-constraints.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-shaper.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-stat-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-tag.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-var-avar-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-var-common.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-var-fvar-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-var-gvar-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-var-hvar-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-var-mvar-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-var.cc + src/java.desktop/share/native/libharfbuzz/hb-outline.cc + src/java.desktop/share/native/libharfbuzz/hb-outline.hh + src/java.desktop/share/native/libharfbuzz/hb-paint-extents.cc + src/java.desktop/share/native/libharfbuzz/hb-paint-extents.hh + src/java.desktop/share/native/libharfbuzz/hb-paint.cc + src/java.desktop/share/native/libharfbuzz/hb-paint.h + src/java.desktop/share/native/libharfbuzz/hb-paint.hh ! src/java.desktop/share/native/libharfbuzz/hb-pool.hh ! src/java.desktop/share/native/libharfbuzz/hb-priority-queue.hh ! src/java.desktop/share/native/libharfbuzz/hb-repacker.hh ! src/java.desktop/share/native/libharfbuzz/hb-sanitize.hh ! src/java.desktop/share/native/libharfbuzz/hb-serialize.hh ! src/java.desktop/share/native/libharfbuzz/hb-set-digest.hh ! src/java.desktop/share/native/libharfbuzz/hb-set.cc ! src/java.desktop/share/native/libharfbuzz/hb-set.h ! src/java.desktop/share/native/libharfbuzz/hb-set.hh ! src/java.desktop/share/native/libharfbuzz/hb-shape-plan.cc ! src/java.desktop/share/native/libharfbuzz/hb-shape-plan.h ! src/java.desktop/share/native/libharfbuzz/hb-shape-plan.hh ! src/java.desktop/share/native/libharfbuzz/hb-shape.cc ! src/java.desktop/share/native/libharfbuzz/hb-shaper.cc ! src/java.desktop/share/native/libharfbuzz/hb-static.cc + src/java.desktop/share/native/libharfbuzz/hb-subset-accelerator.hh ! src/java.desktop/share/native/libharfbuzz/hb-subset-cff-common.cc ! src/java.desktop/share/native/libharfbuzz/hb-subset-cff-common.hh ! src/java.desktop/share/native/libharfbuzz/hb-subset-cff1.cc ! src/java.desktop/share/native/libharfbuzz/hb-subset-cff2.cc ! src/java.desktop/share/native/libharfbuzz/hb-subset-input.cc ! src/java.desktop/share/native/libharfbuzz/hb-subset-input.hh ! src/java.desktop/share/native/libharfbuzz/hb-subset-plan.cc ! src/java.desktop/share/native/libharfbuzz/hb-subset-plan.hh ! src/java.desktop/share/native/libharfbuzz/hb-subset.cc ! src/java.desktop/share/native/libharfbuzz/hb-subset.h ! src/java.desktop/share/native/libharfbuzz/hb-subset.hh ! src/java.desktop/share/native/libharfbuzz/hb-ucd-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ucd.cc ! src/java.desktop/share/native/libharfbuzz/hb-unicode-emoji-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-unicode.cc ! src/java.desktop/share/native/libharfbuzz/hb-unicode.h ! src/java.desktop/share/native/libharfbuzz/hb-utf.hh ! src/java.desktop/share/native/libharfbuzz/hb-vector.hh ! src/java.desktop/share/native/libharfbuzz/hb-version.h ! src/java.desktop/share/native/libharfbuzz/hb.h ! src/java.desktop/share/native/libharfbuzz/hb.hh Changeset: cd41c69d Author: Leonid Mesnik Date: 2023-03-14 21:52:34 +0000 URL: https://git.openjdk.org/panama-foreign/commit/cd41c69d4484f900a89a71f1c9bab2bc2e383c1e 8303705: Field sleeper.started should be volatile JdbLockTestTarg.java Reviewed-by: dholmes ! test/jdk/com/sun/jdi/JdbLockTest.java Changeset: 065d3e0d Author: Alexandre Iline Date: 2023-03-14 23:36:57 +0000 URL: https://git.openjdk.org/panama-foreign/commit/065d3e0d58c96b8a84f3c02bb8704fab6459eaa7 8304171: Fix layout of JCov instrumented bundle on Mac OS Reviewed-by: erikj ! make/Bundles.gmk ! make/conf/jib-profiles.js Changeset: 714b5f03 Author: Adam Sotona Date: 2023-03-15 07:09:55 +0000 URL: https://git.openjdk.org/panama-foreign/commit/714b5f036fc70d8d1d4d3ec8777fe95cffc0fe5b 8294962: Convert java.base/jdk.internal.module package to use the Classfile API to modify and write module-info.class Reviewed-by: alanb, mchung ! src/java.base/share/classes/jdk/internal/classfile/Classfile.java ! src/java.base/share/classes/jdk/internal/classfile/attribute/ModuleAttribute.java ! src/java.base/share/classes/jdk/internal/classfile/impl/ModuleAttributeBuilderImpl.java ! src/java.base/share/classes/jdk/internal/module/ModuleInfoExtender.java ! src/java.base/share/classes/jdk/internal/module/ModuleInfoWriter.java ! test/jdk/java/lang/module/ModuleDescriptorTest.java ! test/jdk/jdk/classfile/ModuleBuilderTest.java ! test/jdk/jdk/classfile/examples/ModuleExamples.java Changeset: 349139b2 Author: Arno Zeller Committer: Matthias Baesken Date: 2023-03-15 07:55:07 +0000 URL: https://git.openjdk.org/panama-foreign/commit/349139b2ccec57ad5d500b81b1d225af9e17a5e7 8304030: Configure call fails on AIX when using --with-gtest option. Reviewed-by: mbaesken, erikj ! make/autoconf/lib-tests.m4 Changeset: e3777b0c Author: Johan Sj?len Date: 2023-03-15 10:46:51 +0000 URL: https://git.openjdk.org/panama-foreign/commit/e3777b0c49abb9cc1925f4044392afadf3adef61 8270865: Print process ID with -Xlog:os Reviewed-by: dholmes, ccheung ! src/hotspot/share/runtime/threads.cpp Changeset: 3d77e217 Author: Julian Waters Date: 2023-03-15 13:34:48 +0000 URL: https://git.openjdk.org/panama-foreign/commit/3d77e217b2b97d2c290c50c4dc55987ecc13eb79 8301308: Remove version conditionalization for gcc/clang PRAGMA_DIAG_PUSH/POP Reviewed-by: kbarrett, dholmes ! src/hotspot/share/utilities/compilerWarnings_gcc.hpp Changeset: 01e69205 Author: Emanuel Peter Date: 2023-03-15 14:02:45 +0000 URL: https://git.openjdk.org/panama-foreign/commit/01e6920581407bc3bd69db495fc694629ef01262 8298935: fix independence bug in create_pack logic in SuperWord::find_adjacent_refs Reviewed-by: kvn, jbhateja ! src/hotspot/share/opto/superword.cpp ! src/hotspot/share/opto/superword.hpp ! test/hotspot/jtreg/compiler/lib/ir_framework/IRNode.java + test/hotspot/jtreg/compiler/loopopts/superword/TestCyclicDependency.java + test/hotspot/jtreg/compiler/loopopts/superword/TestDependencyOffsets.java ! test/hotspot/jtreg/compiler/vectorization/TestForEachRem.java + test/hotspot/jtreg/compiler/vectorization/TestOptionVectorizeIR.java Changeset: 35a29690 Author: Rich DiCroce Committer: Daniel Jeli?ski Date: 2023-03-15 17:06:32 +0000 URL: https://git.openjdk.org/panama-foreign/commit/35a2969057ce2d8673d6c338e1daa7e84935c591 8302659: Modernize Windows native code for NetworkInterface Reviewed-by: ihse, djelinski, alanb, michaelm ! make/modules/java.base/Lib.gmk ! src/java.base/windows/native/libnet/NetworkInterface.c ! src/java.base/windows/native/libnet/NetworkInterface.h - src/java.base/windows/native/libnet/NetworkInterface_winXP.c ! src/java.base/windows/native/libnet/ResolverConfigurationImpl.c ! test/jdk/java/net/SocketOption/OptionsTest.java Changeset: 7ad48ea3 Author: Leonid Mesnik Date: 2023-03-15 17:15:51 +0000 URL: https://git.openjdk.org/panama-foreign/commit/7ad48ea3ad3e90de64fbc73bf6d555a567b994f4 8300317: vmTestbase/nsk/stress/strace/strace* tests fail with "ERROR: wrong lengths of stack traces" Reviewed-by: dholmes, mseledtsov ! test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace015.java Changeset: 824a5e4c Author: Matthew Donovan Committer: Rajan Halade Date: 2023-03-15 17:39:11 +0000 URL: https://git.openjdk.org/panama-foreign/commit/824a5e4c605d4aee55252bce5364fa01de525e1b 8284047: Harmonize/Standardize the SSLSocket/SSLEngine/SSLSocketSSLEngine test templates Reviewed-by: rhalade - test/jdk/javax/net/ssl/ALPN/MyX509ExtendedKeyManager.java ! test/jdk/javax/net/ssl/ALPN/SSLEngineAlpnTest.java ! test/jdk/javax/net/ssl/ALPN/SSLServerSocketAlpnTest.java ! test/jdk/javax/net/ssl/ALPN/SSLSocketAlpnTest.java ! test/jdk/javax/net/ssl/SSLEngine/HandshakeWithInvalidRecordVersion.java ! test/jdk/javax/net/ssl/TLSv12/DisabledShortRSAKeys.java ! test/jdk/javax/net/ssl/templates/SSLContextTemplate.java ! test/jdk/javax/net/ssl/templates/SSLEngineTemplate.java - test/jdk/javax/net/ssl/templates/SSLSocketSSLEngineTemplate.java ! test/jdk/javax/net/ssl/templates/SSLSocketTemplate.java ! test/jdk/sun/security/ssl/ALPN/AlpnGreaseTest.java ! test/jdk/sun/security/ssl/CipherSuite/DisabledCurve.java ! test/jdk/sun/security/ssl/CipherSuite/RestrictSignatureScheme.java ! test/jdk/sun/security/ssl/SSLEngineImpl/SSLEngineBadBufferArrayAccess.java ! test/jdk/sun/security/ssl/SSLSessionImpl/InvalidateSession.java ! test/jdk/sun/security/ssl/SSLSocketImpl/ClientSocketCloseHang.java - test/jdk/sun/security/ssl/SSLSocketImpl/SSLSocketBruceForceClose.java + test/jdk/sun/security/ssl/SSLSocketImpl/SSLSocketBruteForceClose.java ! test/jdk/sun/security/ssl/SSLSocketImpl/SSLSocketClose.java ! test/jdk/sun/security/ssl/SSLSocketImpl/SocketExceptionForSocketIssues.java ! test/jdk/sun/security/ssl/SignatureScheme/SigAlgosExtTestWithTLS12.java ! test/jdk/sun/security/ssl/SignatureScheme/Tls13NamedGroups.java ! test/jdk/sun/security/ssl/X509TrustManagerImpl/TooManyCAs.java Changeset: 116627df Author: Vladimir Kozlov Date: 2023-03-15 18:08:10 +0000 URL: https://git.openjdk.org/panama-foreign/commit/116627dfb0ef3ac4d4e4d3a37a7f028759429583 8304267: JDK-8303415 missed change in Zero Interpreter Reviewed-by: dcubed ! src/hotspot/share/interpreter/zero/zeroInterpreterGenerator.cpp Changeset: 1ae69e3e Author: Daniel Jeli?ski Date: 2023-03-15 20:51:22 +0000 URL: https://git.openjdk.org/panama-foreign/commit/1ae69e3e91e548da06b35b327ec7a6d47eb1acd5 8304287: Problemlist java/net/SocketOption/OptionsTest.java Reviewed-by: dfuchs ! test/jdk/ProblemList.txt ! test/jdk/java/net/SocketOption/OptionsTest.java Changeset: be08a256 Author: Weijun Wang Date: 2023-03-15 21:22:53 +0000 URL: https://git.openjdk.org/panama-foreign/commit/be08a256ab8abab63ec9070342fb5ee46f00219b 8304264: Debug messages always show up for NativeGSS Reviewed-by: mullan ! src/java.security.jgss/share/classes/sun/security/jgss/wrapper/GSSLibStub.java ! src/java.security.jgss/share/classes/sun/security/jgss/wrapper/GSSNameElement.java ! src/java.security.jgss/share/classes/sun/security/jgss/wrapper/Krb5Util.java ! src/java.security.jgss/share/classes/sun/security/jgss/wrapper/NativeGSSContext.java ! src/java.security.jgss/share/classes/sun/security/jgss/wrapper/SunNativeProvider.java Changeset: 2b81faeb Author: Jorn Vernee Date: 2023-03-15 23:43:18 +0000 URL: https://git.openjdk.org/panama-foreign/commit/2b81faeb3514060e6c8c950ef4e39e299c43199d 8303022: "assert(allocates2(pc)) failed: not in CodeBuffer memory" When linking downcall handle Reviewed-by: kvn, vlivanov ! src/hotspot/cpu/aarch64/downcallLinker_aarch64.cpp ! src/hotspot/cpu/aarch64/upcallLinker_aarch64.cpp ! src/hotspot/cpu/riscv/downcallLinker_riscv.cpp ! src/hotspot/cpu/riscv/upcallLinker_riscv.cpp ! src/hotspot/cpu/x86/downcallLinker_x86_64.cpp ! src/hotspot/cpu/x86/upcallLinker_x86_64.cpp ! src/hotspot/share/asm/codeBuffer.cpp + test/jdk/java/foreign/largestub/TestLargeStub.java Changeset: 42dd9077 Author: changpeng1997 Committer: Eric Liu Date: 2023-03-16 04:16:04 +0000 URL: https://git.openjdk.org/panama-foreign/commit/42dd9077a087e1431b76c5653db820e65a6cc177 8302906: AArch64: Add SVE backend support for vector unsigned comparison Reviewed-by: aph, eliu ! src/hotspot/cpu/aarch64/aarch64_vector.ad ! src/hotspot/cpu/aarch64/aarch64_vector_ad.m4 ! src/hotspot/cpu/aarch64/assembler_aarch64.hpp ! src/hotspot/cpu/aarch64/c2_MacroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/c2_MacroAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/matcher_aarch64.hpp ! src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp ! test/hotspot/gtest/aarch64/aarch64-asmtest.py ! test/hotspot/gtest/aarch64/asmtest.out.h Changeset: eefbaa29 Author: Abhishek Kumar Date: 2023-03-16 05:00:40 +0000 URL: https://git.openjdk.org/panama-foreign/commit/eefbaa29567f89e0c28425fe4ed4bddef3a14891 8283400: [macos] a11y : Screen magnifier does not reflect JRadioButton value change Reviewed-by: serb, asemenov ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CAccessible.java Changeset: b7945bc9 Author: Damon Fenacci Committer: Tobias Hartmann Date: 2023-03-16 08:28:55 +0000 URL: https://git.openjdk.org/panama-foreign/commit/b7945bc9e5db5761f17a9e56246424fbcab21627 8303154: Investigate and improve instruction cache flushing during compilation Reviewed-by: thartmann, kvn ! src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp ! src/hotspot/cpu/arm/sharedRuntime_arm.cpp ! src/hotspot/cpu/riscv/sharedRuntime_riscv.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp ! src/hotspot/share/c1/c1_Compilation.cpp ! src/hotspot/share/code/codeCache.cpp Changeset: 7277bb19 Author: Ilya Korennoy Committer: Tobias Hartmann Date: 2023-03-16 08:38:22 +0000 URL: https://git.openjdk.org/panama-foreign/commit/7277bb19f128b84094400cb4262b2e0432e559c5 8293324: ciField.hpp has two methods to return field's offset Reviewed-by: thartmann ! src/hotspot/share/c1/c1_GraphBuilder.cpp ! src/hotspot/share/c1/c1_ValueMap.cpp ! src/hotspot/share/ci/bcEscapeAnalyzer.cpp ! src/hotspot/share/ci/ciField.cpp ! src/hotspot/share/ci/ciField.hpp ! src/hotspot/share/ci/ciInstance.cpp ! src/hotspot/share/opto/arraycopynode.cpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/graphKit.cpp ! src/hotspot/share/opto/macro.cpp Changeset: dfc7214a Author: Per Minborg Date: 2023-03-16 12:11:10 +0000 URL: https://git.openjdk.org/panama-foreign/commit/dfc7214a3ed28f679d7404954d5602f6aa6e1699 8304283: Modernize the switch statements in jdk.internal.foreign Reviewed-by: mcimadamore ! src/java.base/share/classes/jdk/internal/foreign/abi/Binding.java ! src/java.base/share/classes/jdk/internal/foreign/abi/BindingSpecializer.java ! src/java.base/share/classes/jdk/internal/foreign/abi/CallingSequenceBuilder.java ! src/java.base/share/classes/jdk/internal/foreign/abi/aarch64/AArch64Architecture.java ! src/java.base/share/classes/jdk/internal/foreign/abi/riscv64/RISCV64Architecture.java ! src/java.base/share/classes/jdk/internal/foreign/abi/riscv64/linux/TypeClass.java ! src/java.base/share/classes/jdk/internal/foreign/abi/x64/X86_64Architecture.java ! src/java.base/share/classes/jdk/internal/foreign/abi/x64/windows/CallArranger.java Changeset: d4eb3953 Author: Jorn Vernee Date: 2023-03-16 12:27:25 +0000 URL: https://git.openjdk.org/panama-foreign/commit/d4eb395335260bcab95de557142e93f47a671301 8303684: Lift upcall sharing mechanism to AbstractLinker (mainline) Reviewed-by: mcimadamore ! src/java.base/share/classes/jdk/internal/foreign/abi/AbstractLinker.java ! src/java.base/share/classes/jdk/internal/foreign/abi/BindingSpecializer.java ! src/java.base/share/classes/jdk/internal/foreign/abi/DowncallLinker.java ! src/java.base/share/classes/jdk/internal/foreign/abi/SharedUtils.java ! src/java.base/share/classes/jdk/internal/foreign/abi/UpcallLinker.java ! src/java.base/share/classes/jdk/internal/foreign/abi/aarch64/CallArranger.java ! src/java.base/share/classes/jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64Linker.java ! src/java.base/share/classes/jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64Linker.java ! src/java.base/share/classes/jdk/internal/foreign/abi/aarch64/windows/WindowsAArch64Linker.java ! src/java.base/share/classes/jdk/internal/foreign/abi/riscv64/linux/LinuxRISCV64CallArranger.java ! src/java.base/share/classes/jdk/internal/foreign/abi/riscv64/linux/LinuxRISCV64Linker.java ! src/java.base/share/classes/jdk/internal/foreign/abi/x64/sysv/CallArranger.java ! src/java.base/share/classes/jdk/internal/foreign/abi/x64/sysv/SysVx64Linker.java ! src/java.base/share/classes/jdk/internal/foreign/abi/x64/windows/CallArranger.java ! src/java.base/share/classes/jdk/internal/foreign/abi/x64/windows/Windowsx64Linker.java ! test/micro/org/openjdk/bench/java/lang/foreign/LinkUpcall.java Changeset: 7dbab81d Author: Chen Liang Committer: Jorn Vernee Date: 2023-03-16 12:31:01 +0000 URL: https://git.openjdk.org/panama-foreign/commit/7dbab81d3c06efb1225c4d57ad3eb4960fcf5cc6 8304161: Add TypeKind.from to derive from TypeDescriptor.OfField Reviewed-by: jvernee ! src/java.base/share/classes/jdk/internal/classfile/TypeKind.java ! src/java.base/share/classes/jdk/internal/classfile/components/CodeLocalsShifter.java ! src/java.base/share/classes/jdk/internal/classfile/components/CodeStackTracker.java ! src/java.base/share/classes/jdk/internal/classfile/components/snippet-files/PackageSnippets.java ! src/java.base/share/classes/jdk/internal/classfile/snippet-files/PackageSnippets.java ! test/jdk/jdk/classfile/AdvancedTransformationsTest.java Changeset: b5108b4f Author: Albert Mingkun Yang Date: 2023-03-16 13:15:46 +0000 URL: https://git.openjdk.org/panama-foreign/commit/b5108b4f3714451994af6378bf8ae9338a76940e 8303749: Serial: Use more strict card table API Reviewed-by: tschatzl, iwalulya ! src/hotspot/share/gc/serial/cardTableRS.cpp Changeset: f6291520 Author: Albert Mingkun Yang Date: 2023-03-16 13:16:32 +0000 URL: https://git.openjdk.org/panama-foreign/commit/f629152021d4ce0288119c47d5a111b87dce1de6 8304055: G1: Remove OldGCAllocRegion::release Reviewed-by: iwalulya, tschatzl ! src/hotspot/share/gc/g1/g1AllocRegion.cpp ! src/hotspot/share/gc/g1/g1AllocRegion.hpp Changeset: 96889bf3 Author: Ivan Walulya Date: 2023-03-16 14:15:39 +0000 URL: https://git.openjdk.org/panama-foreign/commit/96889bf3e4f36fa7f9e9b9989a1bc3ac4719bfeb 8191565: Last-ditch Full GC should also move humongous objects Reviewed-by: tschatzl, sjohanss ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp ! src/hotspot/share/gc/g1/g1FullCollector.cpp ! src/hotspot/share/gc/g1/g1FullCollector.hpp ! src/hotspot/share/gc/g1/g1FullCollector.inline.hpp ! src/hotspot/share/gc/g1/g1FullGCCompactTask.cpp ! src/hotspot/share/gc/g1/g1FullGCCompactTask.hpp ! src/hotspot/share/gc/g1/g1FullGCCompactionPoint.cpp ! src/hotspot/share/gc/g1/g1FullGCCompactionPoint.hpp ! src/hotspot/share/gc/g1/g1FullGCHeapRegionAttr.hpp ! src/hotspot/share/gc/g1/g1FullGCPrepareTask.inline.hpp ! src/hotspot/share/gc/g1/heapRegion.cpp ! src/hotspot/share/gc/g1/heapRegion.inline.hpp ! src/hotspot/share/utilities/growableArray.hpp = test/hotspot/jtreg/gc/TestAllocHumongousFragment.java Changeset: 2f23c80e Author: Jaikiran Pai Date: 2023-03-16 15:33:31 +0000 URL: https://git.openjdk.org/panama-foreign/commit/2f23c80e0de44815d26a7d541701e16c9c1d32bc 8304225: Remove javax/script/Test7.java from ProblemList Reviewed-by: naoto ! test/jdk/ProblemList.txt Changeset: 2e987d79 Author: Chen Liang Committer: Jorn Vernee Date: 2023-03-16 20:55:29 +0000 URL: https://git.openjdk.org/panama-foreign/commit/2e987d798aa27321207325a18971f80219695e24 8304360: Test to ensure ConstantDescs fields work Reviewed-by: mchung, jvernee + test/jdk/java/lang/constant/ConstantDescsTest.java Changeset: a487a270 Author: David Holmes Date: 2023-03-16 21:00:21 +0000 URL: https://git.openjdk.org/panama-foreign/commit/a487a270dcd6d6a6b5ea49dece515334a0e48efc 8303150: DCmd framework unnecessarily creates a DCmd instance on registration Reviewed-by: fparain, stuefe, kevinw ! src/hotspot/share/classfile/classLoaderHierarchyDCmd.cpp ! src/hotspot/share/classfile/classLoaderHierarchyDCmd.hpp ! src/hotspot/share/jfr/dcmd/jfrDcmds.cpp ! src/hotspot/share/jfr/dcmd/jfrDcmds.hpp ! src/hotspot/share/logging/logDiagnosticCommand.cpp ! src/hotspot/share/logging/logDiagnosticCommand.hpp ! src/hotspot/share/memory/metaspace/metaspaceDCmd.cpp ! src/hotspot/share/memory/metaspace/metaspaceDCmd.hpp ! src/hotspot/share/services/diagnosticCommand.cpp ! src/hotspot/share/services/diagnosticCommand.hpp ! src/hotspot/share/services/diagnosticFramework.hpp ! src/hotspot/share/services/nmtDCmd.hpp Changeset: 8eed7dea Author: Pavel Rappo Date: 2023-03-16 22:23:41 +0000 URL: https://git.openjdk.org/panama-foreign/commit/8eed7dea7b92dd98b74277e8521100f7f807eabb 8304146: Refactor VisibleMemberTable (LocalMemberTable) Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/VisibleMemberTable.java Changeset: 6b422754 Author: Prasanta Sadhukhan Date: 2023-03-17 03:35:01 +0000 URL: https://git.openjdk.org/panama-foreign/commit/6b422754613937f02caa2e30ca4846c20828fe1d 7154070: in SwingSet2, switching between LaFs it's easy to lose JTable dividers 6788475: Changing to Nimbus LAF and back doesn't reset look and feel of JTable completely Reviewed-by: tr, abhiscxk, honkar, jdv ! src/java.desktop/share/classes/javax/swing/plaf/synth/SynthTableUI.java + test/jdk/javax/swing/JTable/TestJTableGridReset.java Changeset: 36995c5a Author: Kosta Stojiljkovic Committer: Tobias Hartmann Date: 2023-03-17 06:20:24 +0000 URL: https://git.openjdk.org/panama-foreign/commit/36995c5a75c74c1748c1751ac621b5d62e964fc5 8304242: CPUInfoTest fails because "serialize" CPU feature is not known Reviewed-by: kvn, sviswanathan, thartmann ! test/lib-test/jdk/test/whitebox/CPUInfoTest.java Changeset: ebac7eec Author: Matthias Baesken Date: 2023-03-17 07:55:55 +0000 URL: https://git.openjdk.org/panama-foreign/commit/ebac7eec8e5923c66a80cbd66e79c354f30a07a3 8304063: tools/jpackage/share/AppLauncherEnvTest.java fails when checking LD_LIBRARY_PATH Reviewed-by: asemenyuk, almatvee ! test/jdk/tools/jpackage/share/AppLauncherEnvTest.java Changeset: 9d518c52 Author: Richard Reingruber Date: 2023-03-17 08:45:17 +0000 URL: https://git.openjdk.org/panama-foreign/commit/9d518c528b11953b556aa7585fc69ff9c9a22435 8299375: [PPC64] GetStackTraceSuspendedStressTest tries to deoptimize frame with invalid fp Reviewed-by: mdoerr ! src/hotspot/cpu/ppc/continuationFreezeThaw_ppc.inline.hpp ! src/hotspot/cpu/ppc/frame_ppc.hpp ! src/hotspot/cpu/ppc/frame_ppc.inline.hpp Changeset: 620564ac Author: Johan Sj?len Date: 2023-03-17 10:07:37 +0000 URL: https://git.openjdk.org/panama-foreign/commit/620564ac6152be92c5fa83b474d30a43e698d51e 8304130: Add runtime/StackGuardPages/TestStackGuardPagesNative.java to ProblemList.txt Reviewed-by: dcubed ! test/hotspot/jtreg/ProblemList.txt Changeset: 7d96468e Author: duke Date: 2023-03-17 11:00:27 +0000 URL: https://git.openjdk.org/panama-foreign/commit/7d96468e1e2bf61a169d9d46ce285890f28b974e Automatic merge of jdk:master into master From duke at openjdk.org Fri Mar 17 14:49:45 2023 From: duke at openjdk.org (J. Duke) Date: Fri, 17 Mar 2023 14:49:45 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 95 commits from the branch `master`that can **not** be merged into the branch `foreign-memaccess+abi`: > > Over 17 files contains merge conflicts. > > 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 +136:openjdk-bot-136 > $ git checkout openjdk-bot-136 > > # 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-136:136 > > > _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 96 commits: - Merge branch 'foreign-memaccess+abi' into 136 - Automatic merge of jdk:master into master - 8304130: Add runtime/StackGuardPages/TestStackGuardPagesNative.java to ProblemList.txt Reviewed-by: dcubed - 8299375: [PPC64] GetStackTraceSuspendedStressTest tries to deoptimize frame with invalid fp Reviewed-by: mdoerr - 8304063: tools/jpackage/share/AppLauncherEnvTest.java fails when checking LD_LIBRARY_PATH Reviewed-by: asemenyuk, almatvee - 8304242: CPUInfoTest fails because "serialize" CPU feature is not known Reviewed-by: kvn, sviswanathan, thartmann - 7154070: in SwingSet2, switching between LaFs it's easy to lose JTable dividers 6788475: Changing to Nimbus LAF and back doesn't reset look and feel of JTable completely Reviewed-by: tr, abhiscxk, honkar, jdv - 8304146: Refactor VisibleMemberTable (LocalMemberTable) Reviewed-by: jjg - 8303150: DCmd framework unnecessarily creates a DCmd instance on registration Reviewed-by: fparain, stuefe, kevinw - 8304360: Test to ensure ConstantDescs fields work Reviewed-by: mchung, jvernee - ... and 86 more: https://git.openjdk.org/panama-foreign/compare/21ebfddd...d9701f4b ------------- Changes: https://git.openjdk.org/panama-foreign/pull/823/files Webrev: https://webrevs.openjdk.org/?repo=panama-foreign&pr=823&range=01 Stats: 74120 lines in 683 files changed: 44944 ins; 20402 del; 8774 mod Patch: https://git.openjdk.org/panama-foreign/pull/823.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/823/head:pull/823 PR: https://git.openjdk.org/panama-foreign/pull/823 From duke at openjdk.org Fri Mar 17 15:26:19 2023 From: duke at openjdk.org (J. Duke) Date: Fri, 17 Mar 2023 15:26:19 GMT Subject: [foreign-memaccess+abi] RFR: Merge master [v3] In-Reply-To: References: Message-ID: > Hi all, > > this is an _automatically_ generated pull request to notify you that there are 95 commits from the branch `master`that can **not** be merged into the branch `foreign-memaccess+abi`: > > Over 17 files contains merge conflicts. > > 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 +136:openjdk-bot-136 > $ git checkout openjdk-bot-136 > > # 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-136:136 > > > _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 1037 commits: - merge fixes - Merge branch 'foreign-memaccess+abi' into 136 - Fix issue in custom arena code Reviewed-by: jvernee - 8298096: Refine javadoc for Linker Reviewed-by: jvernee - 8304276: Add javadoc for custom arena Reviewed-by: jvernee - Fix minor typos in ffi document Reviewed-by: jvernee - Refresh FFM API documents Reviewed-by: jvernee - 8296315: Add get/set-AtIndex methods for byte, boolean Reviewed-by: mcimadamore - Merge master - 8303835: Remove uncaught exception handler linker option Reviewed-by: mcimadamore - ... and 1027 more: https://git.openjdk.org/panama-foreign/compare/7d96468e...a3126b5b ------------- Changes: https://git.openjdk.org/panama-foreign/pull/823/files Webrev: https://webrevs.openjdk.org/?repo=panama-foreign&pr=823&range=02 Stats: 14921 lines in 274 files changed: 6959 ins; 6002 del; 1960 mod Patch: https://git.openjdk.org/panama-foreign/pull/823.diff Fetch: git fetch https://git.openjdk.org/panama-foreign pull/823/head:pull/823 PR: https://git.openjdk.org/panama-foreign/pull/823 From duke at openjdk.org Fri Mar 17 15:26:21 2023 From: duke at openjdk.org (J. Duke) Date: Fri, 17 Mar 2023 15:26:21 GMT Subject: [foreign-memaccess+abi] Integrated: Merge master In-Reply-To: References: Message-ID: <9sgjvh8ddqPqHkqcusFZ7x70T-b3omVXq4NpW8ilbFc=.022fd73b-084c-4772-81d8-13f8e8165616@github.com> On Fri, 17 Mar 2023 11:00:44 GMT, J. Duke wrote: > Hi all, > > this is an _automatically_ generated pull request to notify you that there are 95 commits from the branch `master`that can **not** be merged into the branch `foreign-memaccess+abi`: > > Over 17 files contains merge conflicts. > > 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 +136:openjdk-bot-136 > $ git checkout openjdk-bot-136 > > # 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-136:136 > > > _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: dbddb9e2 Author: J. Duke Committer: Jorn Vernee URL: https://git.openjdk.org/panama-foreign/commit/dbddb9e2b74dd71e54dbb296cdc2bb4375d872e4 Stats: 74117 lines in 683 files changed: 44947 ins; 20402 del; 8768 mod Merge master ------------- PR: https://git.openjdk.org/panama-foreign/pull/823 From mark.reinhold at oracle.com Fri Mar 17 17:32:22 2023 From: mark.reinhold at oracle.com (Mark Reinhold) Date: Fri, 17 Mar 2023 17:32:22 +0000 Subject: New candidate JEP: 442: Foreign Function & Memory API (Third Preview) Message-ID: <20230317173221.D80535CF51F@eggemoggin.niobe.net> https://openjdk.org/jeps/442 Summary: Introduce an API by which Java programs can interoperate with code and data outside of the Java runtime. By efficiently invoking foreign functions (i.e., code outside the JVM), and by safely accessing foreign memory (i.e., memory not managed by the JVM), the API enables Java programs to call native libraries and process native data without the brittleness and danger of JNI. This is a preview API. - Mark From martin.pernollet at protonmail.com Sun Mar 19 18:33:09 2023 From: martin.pernollet at protonmail.com (Martin Pernollet) Date: Sun, 19 Mar 2023 18:33:09 +0000 Subject: Debugging segfaults Message-ID: Hi, Would anyone recommend a way to debug a segmentation fault occuring on Windows when using a native lib binded with JExtract? For the story : I got freeglut working on Windows correctly, but when I try to use freeglut with [WGL](https://www.khronos.org/opengl/wiki/Creating_an_OpenGL_Context_(WGL)), I got the below crash. WGL allows getting an OpenGL context on windows, without relying on glut, hence avoiding to get a native Windows window opened. While freeglut alone only requires loading opengl32.dll, glu32.dll and freeglut.dll, WGL additionnaly requires to load User32.dll, Gdi32.dll and Kernel32.dll. Thanks for your recommandations! # # A fatal error has been detected by the Java Runtime Environment: # # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007ff85a90583b, pid=5736, tid=10080 # # JRE version: OpenJDK Runtime Environment (19.0.2+7) (build 19.0.2+7-44) # Java VM: OpenJDK 64-Bit Server VM (19.0.2+7-44, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, windows-amd64) # Problematic frame: # C [freeglut.dll+0x583b] # # No core dump will be written. Minidumps are not enabled by default on client versions of Windows # # If you would like to submit a bug report, please visit: # https://bugreport.java.com/bugreport/crash.jsp # The crash happened outside the Java Virtual Machine in native code. # See problematic frame for where to report the bug. # --------------- S U M M A R Y ------------ Command Line: -Djava.library.path=C:\Windows\system32;C:\Users\Martin\Downloads\freeglut-MSVC-3.0.0-2.mp\freeglut\bin\x64 -Dsun.java2d.d3d=false -Xmx1024M -Dfile.encoding=UTF-8 --enable-preview -XX:+ShowCodeDetailsInExceptionMessages demos.panamagl.swing.DemoTeapot_Onscreen_Swing -Dpanamagl.offscreen.OffscreenRenderer Host: 11th Gen Intel(R) Core(TM) i5-1135G7 @ 2.40GHz, 8 cores, 15G, Windows 10 , 64 bit Build 19041 (10.0.19041.2364) Time: Sun Mar 19 17:35:31 2023 Europe de l , 64 bit Build 19041 (10.0.19041.2364) elapsed time: 1.156167 seconds (0d 0h 0m 1s) --------------- T H R E A D --------------- Current thread (0x000001e0f18d9cc0): JavaThread "AWT-EventQueue-0" [_thread_in_native, id=10080, stack(0x0000000ccad00000,0x0000000ccae00000)] Stack: [0x0000000ccad00000,0x0000000ccae00000], sp=0x0000000ccadfe8d0, free space=1018k Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) C [freeglut.dll+0x583b] Java frames: (J=compiled Java code, j=interpreted, Vv=VM code) v ~RuntimeStub::nep_invoker_blob 0x000001e0e4cd5988 j java.lang.invoke.LambdaForm$MH+0x00000008011b4400.invoke(Ljava/lang/Object;JD)V+10 java.base at 19.0.2 j java.lang.invoke.LambdaForm$MH+0x00000008011bb000.invokeExact_MT(Ljava/lang/Object;JDLjava/lang/Object;)V+21 java.base at 19.0.2 j jdk.internal.foreign.abi.DowncallStub+0x00000008011b4800.invoke(Ljava/lang/foreign/SegmentAllocator;Ljava/lang/foreign/Addressable;D)V+48 java.base at 19.0.2 j java.lang.invoke.LambdaForm$DMH+0x00000008011b4c00.invokeStatic(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;D)V+14 java.base at 19.0.2 j java.lang.invoke.LambdaForm$MH+0x00000008011b6800.invoke(Ljava/lang/Object;D)V+46 java.base at 19.0.2 j java.lang.invoke.LambdaForm$MH+0x00000008011ba800.invokeExact_MT(Ljava/lang/Object;DLjava/lang/Object;)V+19 java.base at 19.0.2 j freeglut.windows.x86.freeglut_h_15.glutSolidTeapot(D)V+6 j panamagl.platform.windows.x64.GL_windows_x64.glutSolidTeapot(D)V+1 j demos.panamagl.swing.DemoTeapot_Onscreen_Swing$2.display(Lpanamagl/opengl/GL;)V+64 j panamagl.offscreen.AOffscreenRenderer.renderGLToImage(Lpanamagl/GLCanvas;Lpanamagl/GLEventListener;)V+9 j panamagl.offscreen.AOffscreenRenderer.renderGLToImage(Lpanamagl/GLCanvas;Lpanamagl/GLEventListener;II)V+135 j panamagl.offscreen.AOffscreenRenderer$1.run()V+20 j java.awt.event.InvocationEvent.dispatch()V+11 java.desktop at 19.0.2 j java.awt.EventQueue.dispatchEventImpl(Ljava/awt/AWTEvent;Ljava/lang/Object;)V+21 java.desktop at 19.0.2 j java.awt.EventQueue$4.run()Ljava/lang/Void;+32 java.desktop at 19.0.2 j java.awt.EventQueue$4.run()Ljava/lang/Object;+1 java.desktop at 19.0.2 j java.security.AccessController.executePrivileged(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;Ljava/lang/Class;)Ljava/lang/Object;+29 java.base at 19.0.2 j java.security.AccessController.doPrivileged(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;+13 java.base at 19.0.2 j java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;Ljava/security/AccessControlContext;)Ljava/lang/Object;+18 java.base at 19.0.2 j java.awt.EventQueue.dispatchEvent(Ljava/awt/AWTEvent;)V+46 java.desktop at 19.0.2 j java.awt.EventDispatchThread.pumpOneEventForFilters(I)V+81 java.desktop at 19.0.2 j java.awt.EventDispatchThread.pumpEventsForFilter(ILjava/awt/Conditional;Ljava/awt/EventFilter;)V+35 java.desktop at 19.0.2 j java.awt.EventDispatchThread.pumpEventsForHierarchy(ILjava/awt/Conditional;Ljava/awt/Component;)V+11 java.desktop at 19.0.2 j java.awt.EventDispatchThread.pumpEvents(ILjava/awt/Conditional;)V+4 java.desktop at 19.0.2 j java.awt.EventDispatchThread.pumpEvents(Ljava/awt/Conditional;)V+3 java.desktop at 19.0.2 j java.awt.EventDispatchThread.run()V+9 java.desktop at 19.0.2 v ~StubRoutines::call_stub 0x000001e0e4a510e8 siginfo: EXCEPTION_ACCESS_VIOLATION (0xc0000005), reading address 0x00000000000000c1 Registers: RAX=0x0000000000000000, RBX=0x0000000000000008, RCX=0x00007ff85a93c3a0, RDX=0x00007ff85a98ee40 RSP=0x0000000ccadfe8d0, RBP=0x0000000ccadfea40, RSI=0x0000000000000000, RDI=0x0000000000000800 R8 =0x00007ff85a9888e0, R9 =0x0000000000000800, R10=0x00000000000007f8, R11=0x00007ff85a93c3a0 R12=0x0000000000000000, R13=0x0000000ccadfec30, R14=0x0000000000000000, R15=0x00007ff85a9888e0 RIP=0x00007ff85a90583b, EFLAGS=0x0000000000010202 Register to memory mapping: RIP=0x00007ff85a90583b freeglut.dll RAX=0x0 is NULL RBX=0x0000000000000008 is an unknown value RCX=0x00007ff85a93c3a0 freeglut.dll RDX=0x00007ff85a98ee40 freeglut.dll RSP=0x0000000ccadfe8d0 is pointing into the stack for thread: 0x000001e0f18d9cc0 RBP=0x0000000ccadfea40 is pointing into the stack for thread: 0x000001e0f18d9cc0 RSI=0x0 is NULL RDI=0x0000000000000800 is an unknown value R8 =0x00007ff85a9888e0 freeglut.dll R9 =0x0000000000000800 is an unknown value R10=0x00000000000007f8 is an unknown value R11=0x00007ff85a93c3a0 freeglut.dll R12=0x0 is NULL R13=0x0000000ccadfec30 is pointing into the stack for thread: 0x000001e0f18d9cc0 R14=0x0 is NULL R15=0x00007ff85a9888e0 freeglut.dll Top of Stack: (sp=0x0000000ccadfe8d0) 0x0000000ccadfe8d0: 000000003fc9999a 0000000000000000 0x0000000ccadfe8e0: 0000000040000000 0000000000000000 0x0000000ccadfe8f0: 000000003f000000 0000000000000000 0x0000000ccadfe900: 00007ff85a937380 0000000000000009 0x0000000ccadfe910: 0000000000000002 0000000000000000 0x0000000ccadfe920: 00007ff85a9888e0 0000000000000000 0x0000000ccadfe930: 0000000000000000 00007ff85a915bf2 0x0000000ccadfe940: 0000000000000008 0000000ccadfea40 0x0000000ccadfe950: 0000000000000000 00007ff85a9639e0 0x0000000ccadfe960: 00007ff85a9639e0 0000000000000001 0x0000000ccadfe970: 00007ff8000024c0 00007ff85a994840 0x0000000ccadfe980: 0000000088753dec 00007ff83fa50a20 0x0000000ccadfe990: 0000000000000000 000001e0f610b820 0x0000000ccadfe9a0: 0000004000000000 00000000ffffffc0 0x0000000ccadfe9b0: 0000000000000000 00007ff85a93c3a0 0x0000000ccadfe9c0: 00007ff85a98ee40 00007ff85a937b59 Instructions: (pc=0x00007ff85a90583b) 0x00007ff85a90573b: 00 00 48 8b 05 ec 23 03 00 49 8b d9 44 8b 50 34 0x00007ff85a90574b: 44 8b 58 38 74 64 41 83 fa ff 75 05 45 3b da 74 0x00007ff85a90575b: 59 8b 84 24 b8 00 00 00 44 89 5c 24 58 44 89 54 0x00007ff85a90576b: 24 50 89 44 24 48 8b 84 24 b0 00 00 00 89 44 24 0x00007ff85a90577b: 40 48 8b 84 24 a8 00 00 00 48 89 44 24 38 8b 84 0x00007ff85a90578b: 24 a0 00 00 00 89 44 24 30 8b 84 24 98 00 00 00 0x00007ff85a90579b: 89 44 24 28 8b 84 24 90 00 00 00 89 44 24 20 e8 0x00007ff85a9057ab: 21 04 00 00 48 83 c4 60 5b c3 8b 84 24 b8 00 00 0x00007ff85a9057bb: 00 44 8b 8c 24 90 00 00 00 4c 8b c3 89 44 24 40 0x00007ff85a9057cb: 8b 84 24 b0 00 00 00 89 44 24 38 48 8b 84 24 a8 0x00007ff85a9057db: 00 00 00 48 89 44 24 30 8b 84 24 a0 00 00 00 89 0x00007ff85a9057eb: 44 24 28 8b 84 24 98 00 00 00 89 44 24 20 e8 42 0x00007ff85a9057fb: 01 00 00 48 83 c4 60 5b c3 cc cc cc cc cc cc cc 0x00007ff85a90580b: cc cc cc cc cc 48 89 5c 24 08 48 89 6c 24 10 48 0x00007ff85a90581b: 89 74 24 18 48 89 7c 24 20 41 54 41 56 41 57 48 0x00007ff85a90582b: 83 ec 50 48 8b 05 fb 22 03 00 41 8b f9 4d 8b f8 0x00007ff85a90583b: 80 b8 c1 00 00 00 00 8b 58 34 44 8b 70 38 44 8b 0x00007ff85a90584b: 60 3c 48 8b f2 48 8b e9 74 08 45 8b c1 e8 a3 0a 0x00007ff85a90585b: 00 00 83 3d 20 fb 02 00 00 74 65 83 fb ff 75 05 0x00007ff85a90586b: 44 3b f3 74 5b 8b 84 24 a0 00 00 00 44 89 64 24 0x00007ff85a90587b: 48 44 89 74 24 40 89 5c 24 38 89 44 24 30 8b 84 0x00007ff85a90588b: 24 98 00 00 00 89 44 24 28 48 8b 84 24 90 00 00 0x00007ff85a90589b: 00 44 8b cf 4d 8b c7 48 8b d6 48 8b cd 48 89 44 0x00007ff85a9058ab: 24 20 e8 ae 06 00 00 48 8b 05 77 22 03 00 80 b8 0x00007ff85a9058bb: c1 00 00 00 00 74 52 8b cb e8 07 0c 00 00 eb 49 0x00007ff85a9058cb: 8b 84 24 a0 00 00 00 44 8b cf 4d 8b c7 89 44 24 0x00007ff85a9058db: 30 8b 84 24 98 00 00 00 48 8b d6 89 44 24 28 48 0x00007ff85a9058eb: 8b 84 24 90 00 00 00 48 8b cd 48 89 44 24 20 e8 0x00007ff85a9058fb: 81 01 00 00 48 8b 05 2a 22 03 00 80 b8 c1 00 00 0x00007ff85a90590b: 00 00 74 05 e8 ec 0a 00 00 4c 8d 5c 24 50 49 8b 0x00007ff85a90591b: 5b 20 49 8b 6b 28 49 8b 73 30 49 8b 7b 38 49 8b 0x00007ff85a90592b: e3 41 5f 41 5e 41 5c c3 cc cc cc cc cc cc cc cc Stack slot to memory mapping: stack at sp + 0 slots: 0x000000003fc9999a is an unknown value stack at sp + 1 slots: 0x0 is NULL stack at sp + 2 slots: 0x0000000040000000 is an unknown value stack at sp + 3 slots: 0x0 is NULL stack at sp + 4 slots: 0x000000003f000000 is an unknown value stack at sp + 5 slots: 0x0 is NULL stack at sp + 6 slots: 0x00007ff85a937380 freeglut.dll stack at sp + 7 slots: 0x0000000000000009 is an unknown value -------------------------------------------------------------------------------- Decoding CodeBlob, name: nep_invoker_blob, at [0x000001e0e4cd5980, 0x000001e0e4cd5a78] 248 bytes [MachCode] 0x000001e0e4cd5980: 5548 8bec | 4883 ec20 | c5f8 7749 | 89af d002 | 0000 49ba | 8859 cde4 | e001 0000 | 4d89 97c8 0x000001e0e4cd59a0: 0200 0049 | 89a7 c002 | 0000 41c7 | 8774 0300 | 0004 0000 | 004c 8bd2 | 41ff d2c5 | f877 41c7 0x000001e0e4cd59c0: 8774 0300 | 0005 0000 | 00f0 8344 | 24c0 0049 | 3baf 7803 | 0000 0f87 | 5300 0000 | 4181 bf70 0x000001e0e4cd59e0: 0300 0000 | 0000 000f | 8542 0000 | 0041 c787 | 7403 0000 | 0800 0000 | 4181 bfe8 | 0300 0002 0x000001e0e4cd5a00: 0000 000f | 844c 0000 | 0049 c787 | c002 0000 | 0000 0000 | 49c7 87d0 | 0200 0000 | 0000 0049 0x000001e0e4cd5a20: c787 c802 | 0000 0000 | 0000 c5f8 | 77c9 c3c5 | f877 498b | cf4c 8be4 | 4883 ec20 | 4883 e4f0 0x000001e0e4cd5a40: 49ba 0015 | ad3f f87f | 0000 41ff | d249 8be4 | 4d33 e4eb | 98c5 f877 | 4c8b e448 | 83ec 2048 0x000001e0e4cd5a60: 83e4 f049 | ba30 5ca2 | 3ff8 7f00 | 0041 ffd2 | 498b e44d | 33e4 eb91 [/MachCode] -------------------------------------------------------------------------------- --------------- P R O C E S S --------------- Threads class SMR info: _java_thread_list=0x000001e0f7d81c40, length=18, elements={ 0x000001e0f18d1780, 0x000001e0f18d2660, 0x000001e0f18dacb0, 0x000001e0f18d7ce0, 0x000001e0f18d8cd0, 0x000001e0f18da210, 0x000001e0f5c075f0, 0x000001e0f5c15fb0, 0x000001e0f18d7790, 0x000001e0f18d9220, 0x000001e0f18d6cf0, 0x000001e0f18d8230, 0x000001e0f18d9770, 0x000001e0f18d8780, 0x000001e0f18d9cc0, 0x000001e0f18d7240, 0x000001e0f613a5e0, 0x000001e0f5c14970 } Java Threads: ( => current thread ) 0x000001e0f18d1780 JavaThread "Reference Handler" daemon [_thread_blocked, id=4296, stack(0x0000000cc9d00000,0x0000000cc9e00000)] 0x000001e0f18d2660 JavaThread "Finalizer" daemon [_thread_blocked, id=24616, stack(0x0000000cc9e00000,0x0000000cc9f00000)] 0x000001e0f18dacb0 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=10472, stack(0x0000000cc9f00000,0x0000000cca000000)] 0x000001e0f18d7ce0 JavaThread "Attach Listener" daemon [_thread_blocked, id=30288, stack(0x0000000cca000000,0x0000000cca100000)] 0x000001e0f18d8cd0 JavaThread "Service Thread" daemon [_thread_blocked, id=9536, stack(0x0000000cca100000,0x0000000cca200000)] 0x000001e0f18da210 JavaThread "Monitor Deflation Thread" daemon [_thread_blocked, id=22692, stack(0x0000000cca200000,0x0000000cca300000)] 0x000001e0f5c075f0 JavaThread "C2 CompilerThread0" daemon [_thread_blocked, id=13848, stack(0x0000000cca300000,0x0000000cca400000)] 0x000001e0f5c15fb0 JavaThread "C1 CompilerThread0" daemon [_thread_blocked, id=29136, stack(0x0000000cca400000,0x0000000cca500000)] 0x000001e0f18d7790 JavaThread "Sweeper thread" daemon [_thread_blocked, id=5824, stack(0x0000000cca500000,0x0000000cca600000)] 0x000001e0f18d9220 JavaThread "Notification Thread" daemon [_thread_blocked, id=14544, stack(0x0000000cca600000,0x0000000cca700000)] 0x000001e0f18d6cf0 JavaThread "Common-Cleaner" daemon [_thread_blocked, id=26608, stack(0x0000000cca800000,0x0000000cca900000)] 0x000001e0f18d8230 JavaThread "Java2D Disposer" daemon [_thread_blocked, id=24116, stack(0x0000000ccaa00000,0x0000000ccab00000)] 0x000001e0f18d9770 JavaThread "AWT-Shutdown" [_thread_blocked, id=21736, stack(0x0000000ccab00000,0x0000000ccac00000)] 0x000001e0f18d8780 JavaThread "AWT-Windows" daemon [_thread_in_native, id=17988, stack(0x0000000ccac00000,0x0000000ccad00000)] =>0x000001e0f18d9cc0 JavaThread "AWT-EventQueue-0" [_thread_in_native, id=10080, stack(0x0000000ccad00000,0x0000000ccae00000)] 0x000001e0f18d7240 JavaThread "pool-2-thread-1" [_thread_blocked, id=15192, stack(0x0000000ccae00000,0x0000000ccaf00000)] 0x000001e0f613a5e0 JavaThread "DestroyJavaVM" [_thread_blocked, id=29648, stack(0x0000000cc9600000,0x0000000cc9700000)] 0x000001e0f5c14970 JavaThread "C2 CompilerThread1" daemon [_thread_blocked, id=1204, stack(0x0000000ccb800000,0x0000000ccb900000)] Other Threads: 0x000001e0f18b98e0 VMThread "VM Thread" [stack: 0x0000000cc9c00000,0x0000000cc9d00000] [id=25684] 0x000001e0f5d40800 WatcherThread "VM Periodic Task Thread" [stack: 0x0000000cca700000,0x0000000cca800000] [id=21296] 0x000001e0d5606770 WorkerThread "GC Thread#0" [stack: 0x0000000cc9700000,0x0000000cc9800000] [id=12912] 0x000001e0f67fe9a0 WorkerThread "GC Thread#1" [stack: 0x0000000ccaf00000,0x0000000ccb000000] [id=27552] 0x000001e0f67fec70 WorkerThread "GC Thread#2" [stack: 0x0000000ccb000000,0x0000000ccb100000] [id=6156] 0x000001e0f7b1a850 WorkerThread "GC Thread#3" [stack: 0x0000000ccb100000,0x0000000ccb200000] [id=8612] 0x000001e0f7b1ab20 WorkerThread "GC Thread#4" [stack: 0x0000000ccb200000,0x0000000ccb300000] [id=16552] 0x000001e0f7acb140 WorkerThread "GC Thread#5" [stack: 0x0000000ccb300000,0x0000000ccb400000] [id=27916] 0x000001e0f7acaba0 WorkerThread "GC Thread#6" [stack: 0x0000000ccb400000,0x0000000ccb500000] [id=11396] 0x000001e0f7acb410 WorkerThread "GC Thread#7" [stack: 0x0000000ccb500000,0x0000000ccb600000] [id=15224] 0x000001e0d56106e0 ConcurrentGCThread "G1 Main Marker" [stack: 0x0000000cc9800000,0x0000000cc9900000] [id=23116] 0x000001e0d5611110 WorkerThread "G1 Conc#0" [stack: 0x0000000cc9900000,0x0000000cc9a00000] [id=14660] 0x000001e0f7acbc80 WorkerThread "G1 Conc#1" [stack: 0x0000000ccb600000,0x0000000ccb700000] [id=12876] 0x000001e0d568ebc0 ConcurrentGCThread "G1 Refine#0" [stack: 0x0000000cc9a00000,0x0000000cc9b00000] [id=29724] 0x000001e0f1775930 ConcurrentGCThread "G1 Service" [stack: 0x0000000cc9b00000,0x0000000cc9c00000] [id=15468] Threads with active compile tasks: VM state: not at safepoint (normal execution) VM Mutex/Monitor currently owned by a thread: None Heap address: 0x00000000c0000000, size: 1024 MB, Compressed Oops mode: 32-bit CDS archive(s) mapped at: [0x0000000800000000-0x0000000800c40000-0x0000000800c40000), size 12845056, SharedBaseAddress: 0x0000000800000000, ArchiveRelocationMode: 0. Compressed class space mapped at: 0x0000000801000000-0x0000000841000000, reserved size: 1073741824 Narrow klass base: 0x0000000800000000, Narrow klass shift: 0, Narrow klass range: 0x100000000 GC Precious Log: CardTable entry size: 512 Card Set container configuration: InlinePtr #cards 5 size 8 Array Of Cards #cards 12 size 40 Howl #buckets 4 coarsen threshold 1843 Howl Bitmap #cards 512 size 80 coarsen threshold 460 Card regions per heap region 1 cards per card region 2048 CPUs: 8 total, 8 available Memory: 16107M Large Page Support: Disabled NUMA Support: Disabled Compressed Oops: Enabled (32-bit) Heap Region Size: 1M Heap Min Capacity: 8M Heap Initial Capacity: 252M Heap Max Capacity: 1G Pre-touch: Disabled Parallel Workers: 8 Concurrent Workers: 2 Concurrent Refinement Workers: 8 Periodic GC: Disabled Heap: garbage-first heap total 45056K, used 35782K [0x00000000c0000000, 0x0000000100000000) region size 1024K, 21 young (21504K), 3 survivors (3072K) Metaspace used 29523K, committed 30464K, reserved 1114112K class space used 1312K, committed 1728K, reserved 1048576K Heap Regions: E=young(eden), S=young(survivor), O=old, HS=humongous(starts), HC=humongous(continues), CS=collection set, F=free, OA=open archive, CA=closed archive, TAMS=top-at-mark-start (previous, next) | 0|0x00000000c0000000, 0x00000000c0100000, 0x00000000c0100000|100%|HS| |TAMS 0x00000000c0100000, 0x00000000c0000000| Complete | 1|0x00000000c0100000, 0x00000000c0200000, 0x00000000c0200000|100%|HC| |TAMS 0x00000000c0200000, 0x00000000c0100000| Complete | 2|0x00000000c0200000, 0x00000000c0300000, 0x00000000c0300000|100%|HS| |TAMS 0x00000000c0300000, 0x00000000c0200000| Complete | 3|0x00000000c0300000, 0x00000000c0400000, 0x00000000c0400000|100%|HC| |TAMS 0x00000000c0400000, 0x00000000c0300000| Complete | 4|0x00000000c0400000, 0x00000000c0500000, 0x00000000c0500000|100%|HC| |TAMS 0x00000000c0500000, 0x00000000c0400000| Complete | 5|0x00000000c0500000, 0x00000000c0600000, 0x00000000c0600000|100%| O| |TAMS 0x00000000c0600000, 0x00000000c0500000| Untracked | 6|0x00000000c0600000, 0x00000000c0700000, 0x00000000c0700000|100%| O| |TAMS 0x00000000c0635600, 0x00000000c0600000| Untracked | 7|0x00000000c0700000, 0x00000000c0800000, 0x00000000c0800000|100%| O| |TAMS 0x00000000c0700000, 0x00000000c0700000| Untracked | 8|0x00000000c0800000, 0x00000000c08ff400, 0x00000000c0900000| 99%| O| |TAMS 0x00000000c0800000, 0x00000000c0800000| Untracked | 9|0x00000000c0900000, 0x00000000c0a00000, 0x00000000c0a00000|100%|HS| |TAMS 0x00000000c0900000, 0x00000000c0900000| Complete | 10|0x00000000c0a00000, 0x00000000c0b00000, 0x00000000c0b00000|100%|HC| |TAMS 0x00000000c0a00000, 0x00000000c0a00000| Complete | 11|0x00000000c0b00000, 0x00000000c0c00000, 0x00000000c0c00000|100%|HC| |TAMS 0x00000000c0b00000, 0x00000000c0b00000| Complete | 12|0x00000000c0c00000, 0x00000000c0d00000, 0x00000000c0d00000|100%|HS| |TAMS 0x00000000c0c00000, 0x00000000c0c00000| Complete | 13|0x00000000c0d00000, 0x00000000c0e00000, 0x00000000c0e00000|100%|HC| |TAMS 0x00000000c0d00000, 0x00000000c0d00000| Complete | 14|0x00000000c0e00000, 0x00000000c0f00000, 0x00000000c0f00000|100%|HC| |TAMS 0x00000000c0e00000, 0x00000000c0e00000| Complete | 15|0x00000000c0f00000, 0x00000000c1000000, 0x00000000c1000000|100%|HC| |TAMS 0x00000000c0f00000, 0x00000000c0f00000| Complete | 16|0x00000000c1000000, 0x00000000c1000000, 0x00000000c1100000| 0%| F| |TAMS 0x00000000c1000000, 0x00000000c1000000| Untracked | 17|0x00000000c1100000, 0x00000000c1100000, 0x00000000c1200000| 0%| F| |TAMS 0x00000000c1100000, 0x00000000c1100000| Untracked | 18|0x00000000c1200000, 0x00000000c1200000, 0x00000000c1300000| 0%| F| |TAMS 0x00000000c1200000, 0x00000000c1200000| Untracked | 19|0x00000000c1300000, 0x00000000c1300000, 0x00000000c1400000| 0%| F| |TAMS 0x00000000c1300000, 0x00000000c1300000| Untracked | 20|0x00000000c1400000, 0x00000000c1400000, 0x00000000c1500000| 0%| F| |TAMS 0x00000000c1400000, 0x00000000c1400000| Untracked | 21|0x00000000c1500000, 0x00000000c1500000, 0x00000000c1600000| 0%| F| |TAMS 0x00000000c1500000, 0x00000000c1500000| Untracked | 22|0x00000000c1600000, 0x00000000c1600000, 0x00000000c1700000| 0%| F| |TAMS 0x00000000c1600000, 0x00000000c1600000| Untracked | 23|0x00000000c1700000, 0x00000000c17fce80, 0x00000000c1800000| 98%| E| |TAMS 0x00000000c1700000, 0x00000000c1700000| Complete | 24|0x00000000c1800000, 0x00000000c1900000, 0x00000000c1900000|100%| E|CS|TAMS 0x00000000c1800000, 0x00000000c1800000| Complete | 25|0x00000000c1900000, 0x00000000c1a00000, 0x00000000c1a00000|100%| E|CS|TAMS 0x00000000c1900000, 0x00000000c1900000| Complete | 26|0x00000000c1a00000, 0x00000000c1b00000, 0x00000000c1b00000|100%| E|CS|TAMS 0x00000000c1a00000, 0x00000000c1a00000| Complete | 27|0x00000000c1b00000, 0x00000000c1c00000, 0x00000000c1c00000|100%| E| |TAMS 0x00000000c1b00000, 0x00000000c1b00000| Complete | 28|0x00000000c1c00000, 0x00000000c1d00000, 0x00000000c1d00000|100%| E|CS|TAMS 0x00000000c1c00000, 0x00000000c1c00000| Complete | 29|0x00000000c1d00000, 0x00000000c1e00000, 0x00000000c1e00000|100%| E|CS|TAMS 0x00000000c1d00000, 0x00000000c1d00000| Complete | 30|0x00000000c1e00000, 0x00000000c1f00000, 0x00000000c1f00000|100%| E|CS|TAMS 0x00000000c1e00000, 0x00000000c1e00000| Complete | 31|0x00000000c1f00000, 0x00000000c2000000, 0x00000000c2000000|100%| E|CS|TAMS 0x00000000c1f00000, 0x00000000c1f00000| Complete | 32|0x00000000c2000000, 0x00000000c2100000, 0x00000000c2100000|100%| E|CS|TAMS 0x00000000c2000000, 0x00000000c2000000| Complete | 33|0x00000000c2100000, 0x00000000c2200000, 0x00000000c2200000|100%| E|CS|TAMS 0x00000000c2100000, 0x00000000c2100000| Complete | 34|0x00000000c2200000, 0x00000000c2300000, 0x00000000c2300000|100%| E|CS|TAMS 0x00000000c2200000, 0x00000000c2200000| Complete | 35|0x00000000c2300000, 0x00000000c2400000, 0x00000000c2400000|100%| E|CS|TAMS 0x00000000c2300000, 0x00000000c2300000| Complete | 36|0x00000000c2400000, 0x00000000c2500000, 0x00000000c2500000|100%| E|CS|TAMS 0x00000000c2400000, 0x00000000c2400000| Complete | 37|0x00000000c2500000, 0x00000000c2600000, 0x00000000c2600000|100%| E|CS|TAMS 0x00000000c2500000, 0x00000000c2500000| Complete | 38|0x00000000c2600000, 0x00000000c2700000, 0x00000000c2700000|100%| E|CS|TAMS 0x00000000c2600000, 0x00000000c2600000| Complete | 39|0x00000000c2700000, 0x00000000c2800000, 0x00000000c2800000|100%| E|CS|TAMS 0x00000000c2700000, 0x00000000c2700000| Complete | 242|0x00000000cf200000, 0x00000000cf2f2770, 0x00000000cf300000| 94%| S|CS|TAMS 0x00000000cf200000, 0x00000000cf200000| Complete | 243|0x00000000cf300000, 0x00000000cf400000, 0x00000000cf400000|100%| S|CS|TAMS 0x00000000cf300000, 0x00000000cf300000| Complete | 244|0x00000000cf400000, 0x00000000cf500000, 0x00000000cf500000|100%| S|CS|TAMS 0x00000000cf400000, 0x00000000cf400000| Complete | 251|0x00000000cfb00000, 0x00000000cfc00000, 0x00000000cfc00000|100%| E|CS|TAMS 0x00000000cfb00000, 0x00000000cfb00000| Complete Card table byte_map: [0x000001e0eca50000,0x000001e0ecc50000] _byte_map_base: 0x000001e0ec450000 Marking Bits (Prev, Next): (CMBitMap*) 0x000001e0d5606de0, (CMBitMap*) 0x000001e0d5606da0 Prev Bits: [0x000001e0ede50000, 0x000001e0eee50000) Next Bits: [0x000001e0ece50000, 0x000001e0ede50000) Polling page: 0x000001e0d3570000 Metaspace: Usage: Non-class: 27.55 MB used. Class: 1.28 MB used. Both: 28.83 MB used. Virtual space: Non-class space: 64.00 MB reserved, 28.06 MB ( 44%) committed, 1 nodes. Class space: 1.00 GB reserved, 1.69 MB ( <1%) committed, 1 nodes. Both: 1.06 GB reserved, 29.75 MB ( 3%) committed. Chunk freelists: Non-Class: 3.96 MB Class: 2.19 MB Both: 6.15 MB MaxMetaspaceSize: unlimited CompressedClassSpaceSize: 1.00 GB Initial GC threshold: 21.00 MB Current GC threshold: 35.12 MB CDS: on MetaspaceReclaimPolicy: balanced - commit_granule_bytes: 65536. - commit_granule_words: 8192. - virtual_space_node_default_size: 8388608. - enlarge_chunks_in_place: 1. - new_chunks_are_fully_committed: 0. - uncommit_free_chunks: 1. - use_allocation_guard: 0. Internal statistics: num_allocs_failed_limit: 3. num_arena_births: 1398. num_arena_deaths: 0. num_vsnodes_births: 2. num_vsnodes_deaths: 0. num_space_committed: 473. num_space_uncommitted: 0. num_chunks_returned_to_freelist: 3. num_chunks_taken_from_freelist: 2104. num_chunk_merges: 3. num_chunk_splits: 1631. num_chunks_enlarged: 1180. num_inconsistent_stats: 0. CodeHeap 'non-profiled nmethods': size=120000Kb used=742Kb max_used=742Kb free=119257Kb bounds [0x000001e0e4ff0000, 0x000001e0e5260000, 0x000001e0ec520000] CodeHeap 'profiled nmethods': size=120000Kb used=2447Kb max_used=2447Kb free=117552Kb bounds [0x000001e0dd520000, 0x000001e0dd790000, 0x000001e0e4a50000] CodeHeap 'non-nmethods': size=5760Kb used=2648Kb max_used=2663Kb free=3111Kb bounds [0x000001e0e4a50000, 0x000001e0e4cf0000, 0x000001e0e4ff0000] total_blobs=2825 nmethods=1617 adapters=1064 compilation: enabled stopped_count=0, restarted_count=0 full_count=0 Compilation events (20 events): Event: 1.150 Thread 0x000001e0f5c15fb0 nmethod 1602 0x000001e0dd77d410 code [0x000001e0dd77d760, 0x000001e0dd77ea28] Event: 1.150 Thread 0x000001e0f5c15fb0 1605 3 java.lang.invoke.LambdaFormBuffer::endEdit (313 bytes) Event: 1.151 Thread 0x000001e0f5c075f0 nmethod 1601 0x000001e0e50a7c10 code [0x000001e0e50a7da0, 0x000001e0e50a7ef8] Event: 1.151 Thread 0x000001e0f5c15fb0 nmethod 1605 0x000001e0dd77f010 code [0x000001e0dd77f280, 0x000001e0dd7800b8] Event: 1.151 Thread 0x000001e0f5c15fb0 1606 3 java.util.zip.ZipFile$ZipFileInputStream::initDataOffset (117 bytes) Event: 1.152 Thread 0x000001e0f5c15fb0 nmethod 1606 0x000001e0dd780490 code [0x000001e0dd7806c0, 0x000001e0dd780e88] Event: 1.152 Thread 0x000001e0f5c15fb0 1607 ! 3 java.util.zip.ZipFile$Source::readAt (39 bytes) Event: 1.152 Thread 0x000001e0f5c15fb0 nmethod 1607 0x000001e0dd781190 code [0x000001e0dd781360, 0x000001e0dd781698] Event: 1.152 Thread 0x000001e0f5c15fb0 1609 3 java.util.ImmutableCollections$List12::toArray (41 bytes) Event: 1.152 Thread 0x000001e0f5c15fb0 nmethod 1609 0x000001e0dd781910 code [0x000001e0dd781ae0, 0x000001e0dd782258] Event: 1.152 Thread 0x000001e0f5c15fb0 1608 3 java.util.ArrayList::toArray (12 bytes) Event: 1.152 Thread 0x000001e0f5c15fb0 nmethod 1608 0x000001e0dd782390 code [0x000001e0dd782540, 0x000001e0dd782748] Event: 1.152 Thread 0x000001e0f5c15fb0 1610 3 jdk.internal.foreign.abi.BindingSpecializer::popType (9 bytes) Event: 1.152 Thread 0x000001e0f5c15fb0 nmethod 1610 0x000001e0dd782890 code [0x000001e0dd782a40, 0x000001e0dd782ba8] Event: 1.152 Thread 0x000001e0f5c15fb0 1611 3 jdk.internal.foreign.abi.BindingSpecializer$$Lambda$167/0x00000008010bdd10::test (12 bytes) Event: 1.152 Thread 0x000001e0f5c15fb0 nmethod 1611 0x000001e0dd782c90 code [0x000001e0dd782e40, 0x000001e0dd783298] Event: 1.153 Thread 0x000001e0f5c14970 nmethod 1598 0x000001e0e50a8c10 code [0x000001e0e50a8e20, 0x000001e0e50a9468] Event: 1.154 Thread 0x000001e0f5c15fb0 1616 3 java.util.concurrent.ConcurrentHashMap::values (25 bytes) Event: 1.154 Thread 0x000001e0f5c15fb0 nmethod 1616 0x000001e0dd783390 code [0x000001e0dd783560, 0x000001e0dd783918] Event: 1.154 Thread 0x000001e0f5c15fb0 1617 3 java.util.concurrent.ConcurrentHashMap$ValuesView::iterator (34 bytes) GC Heap History (4 events): Event: 0.578 GC heap before {Heap before GC invocations=0 (full 0): garbage-first heap total 258048K, used 27648K [0x00000000c0000000, 0x0000000100000000) region size 1024K, 23 young (23552K), 0 survivors (0K) Metaspace used 16675K, committed 17024K, reserved 1114112K class space used 933K, committed 1088K, reserved 1048576K } Event: 0.582 GC heap after {Heap after GC invocations=1 (full 0): garbage-first heap total 258048K, used 9429K [0x00000000c0000000, 0x0000000100000000) region size 1024K, 3 young (3072K), 3 survivors (3072K) Metaspace used 16675K, committed 17024K, reserved 1114112K class space used 933K, committed 1088K, reserved 1048576K } Event: 0.638 GC heap before {Heap before GC invocations=1 (full 0): garbage-first heap total 258048K, used 14549K [0x00000000c0000000, 0x0000000100000000) region size 1024K, 10 young (10240K), 3 survivors (3072K) Metaspace used 21212K, committed 21504K, reserved 1114112K class space used 933K, committed 1088K, reserved 1048576K } Event: 0.641 GC heap after {Heap after GC invocations=2 (full 0): garbage-first heap total 258048K, used 12230K [0x00000000c0000000, 0x0000000100000000) region size 1024K, 3 young (3072K), 3 survivors (3072K) Metaspace used 21212K, committed 21504K, reserved 1114112K class space used 933K, committed 1088K, reserved 1048576K } Dll operation events (15 events): Event: 0.005 Loaded shared library C:\Program Files\Java\jdk-19.0.2\bin\java.dll Event: 0.015 Loaded shared library C:\Program Files\Java\jdk-19.0.2\bin\jsvml.dll Event: 0.073 Loaded shared library C:\Program Files\Java\jdk-19.0.2\bin\jimage.dll Event: 0.077 Loaded shared library C:\Program Files\Java\jdk-19.0.2\bin\awt.dll Event: 0.101 Loaded shared library C:\Program Files\Java\jdk-19.0.2\bin\net.dll Event: 0.102 Loaded shared library C:\Program Files\Java\jdk-19.0.2\bin\nio.dll Event: 0.105 Loaded shared library C:\Program Files\Java\jdk-19.0.2\bin\zip.dll Event: 0.394 Loaded shared library C:\Program Files\Java\jdk-19.0.2\bin\freetype.dll Event: 0.395 Loaded shared library C:\Program Files\Java\jdk-19.0.2\bin\fontmanager.dll Event: 0.415 Loaded shared library C:\Windows\System32\opengl32.dll Event: 0.415 Loaded shared library C:\Windows\System32\glu32.dll Event: 0.417 Loaded shared library C:\Users\Martin\Downloads\freeglut-MSVC-3.0.0-2.mp\freeglut\bin\x64\freeglut.dll Event: 0.417 Loaded shared library C:\Windows\System32\user32.dll Event: 0.417 Loaded shared library C:\Windows\System32\gdi32.dll Event: 0.417 Loaded shared library C:\Windows\System32\kernel32.dll Deoptimization events (20 events): Event: 0.975 Thread 0x000001e0f18d9cc0 Uncommon trap: trap_request=0xffffff45 fr.pc=0x000001e0e504e070 relative=0x0000000000001b50 Event: 0.975 Thread 0x000001e0f18d9cc0 Uncommon trap: reason=unstable_if action=reinterpret pc=0x000001e0e504e070 method=jdk.internal.org.objectweb.asm.Frame.execute(IILjdk/internal/org/objectweb/asm/Symbol;Ljdk/internal/org/objectweb/asm/SymbolTable;)V @ 1 c2 Event: 0.975 Thread 0x000001e0f18d9cc0 DEOPT PACKING pc=0x000001e0e504e070 sp=0x0000000ccadfd0e0 Event: 0.975 Thread 0x000001e0f18d9cc0 DEOPT UNPACKING pc=0x000001e0e4a6aba3 sp=0x0000000ccadfd068 mode 2 Event: 0.975 Thread 0x000001e0f18d9cc0 Uncommon trap: trap_request=0xffffff45 fr.pc=0x000001e0e5066e58 relative=0x00000000000004d8 Event: 0.975 Thread 0x000001e0f18d9cc0 Uncommon trap: reason=unstable_if action=reinterpret pc=0x000001e0e5066e58 method=jdk.internal.org.objectweb.asm.MethodWriter.visitVarInsn(II)V @ 242 c2 Event: 0.975 Thread 0x000001e0f18d9cc0 DEOPT PACKING pc=0x000001e0e5066e58 sp=0x0000000ccadfd150 Event: 0.975 Thread 0x000001e0f18d9cc0 DEOPT UNPACKING pc=0x000001e0e4a6aba3 sp=0x0000000ccadfd0f8 mode 2 Event: 1.045 Thread 0x000001e0f18d9cc0 Uncommon trap: trap_request=0xffffff45 fr.pc=0x000001e0e5079b24 relative=0x0000000000000844 Event: 1.045 Thread 0x000001e0f18d9cc0 Uncommon trap: reason=unstable_if action=reinterpret pc=0x000001e0e5079b24 method=jdk.internal.org.objectweb.asm.Frame.getAbstractTypeFromDescriptor(Ljdk/internal/org/objectweb/asm/SymbolTable;Ljava/lang/String;I)I @ 5 c2 Event: 1.045 Thread 0x000001e0f18d9cc0 DEOPT PACKING pc=0x000001e0e5079b24 sp=0x0000000ccadfd1b0 Event: 1.045 Thread 0x000001e0f18d9cc0 DEOPT UNPACKING pc=0x000001e0e4a6aba3 sp=0x0000000ccadfd170 mode 2 Event: 1.064 Thread 0x000001e0f18d9cc0 Uncommon trap: trap_request=0xffffff45 fr.pc=0x000001e0e506d798 relative=0x0000000000000078 Event: 1.064 Thread 0x000001e0f18d9cc0 Uncommon trap: reason=unstable_if action=reinterpret pc=0x000001e0e506d798 method=jdk.internal.foreign.MemorySessionImpl.checkValidStateRaw()V @ 4 c2 Event: 1.064 Thread 0x000001e0f18d9cc0 DEOPT PACKING pc=0x000001e0e506d798 sp=0x0000000ccadfe540 Event: 1.064 Thread 0x000001e0f18d9cc0 DEOPT UNPACKING pc=0x000001e0e4a6aba3 sp=0x0000000ccadfe4e0 mode 2 Event: 1.149 Thread 0x000001e0f18d9cc0 Uncommon trap: trap_request=0xffffff45 fr.pc=0x000001e0e50a6ac4 relative=0x0000000000000204 Event: 1.149 Thread 0x000001e0f18d9cc0 Uncommon trap: reason=unstable_if action=reinterpret pc=0x000001e0e50a6ac4 method=jdk.internal.org.objectweb.asm.Type.getTypeInternal(Ljava/lang/String;II)Ljdk/internal/org/objectweb/asm/Type; @ 5 c2 Event: 1.149 Thread 0x000001e0f18d9cc0 DEOPT PACKING pc=0x000001e0e50a6ac4 sp=0x0000000ccadfd8c0 Event: 1.149 Thread 0x000001e0f18d9cc0 DEOPT UNPACKING pc=0x000001e0e4a6aba3 sp=0x0000000ccadfd858 mode 2 Classes loaded (20 events): Event: 1.127 Loading class java/awt/im/InputMethodRequests Event: 1.127 Loading class java/awt/im/InputMethodRequests done Event: 1.127 Loading class java/awt/im/spi/InputMethodContext done Event: 1.127 Loading class sun/awt/im/InputContext Event: 1.127 Loading class sun/awt/im/InputContext done Event: 1.127 Loading class sun/awt/im/InputMethodContext done Event: 1.127 Loading class sun/awt/windows/WInputMethod Event: 1.127 Loading class sun/awt/im/InputMethodAdapter Event: 1.127 Loading class java/awt/im/spi/InputMethod Event: 1.127 Loading class java/awt/im/spi/InputMethod done Event: 1.127 Loading class sun/awt/im/InputMethodAdapter done Event: 1.127 Loading class sun/awt/windows/WInputMethod done Event: 1.128 Loading class java/awt/event/MouseWheelEvent Event: 1.129 Loading class java/awt/event/MouseWheelEvent done Event: 1.129 Loading class java/awt/TextComponent Event: 1.129 Loading class java/awt/TextComponent done Event: 1.129 Loading class javax/swing/text/JTextComponent Event: 1.129 Loading class javax/swing/Scrollable Event: 1.129 Loading class javax/swing/Scrollable done Event: 1.129 Loading class javax/swing/text/JTextComponent done Classes unloaded (0 events): No events Classes redefined (0 events): No events Internal exceptions (20 events): Event: 1.058 Thread 0x000001e0f18d9cc0 Exception (0x00000000c19fe608) thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] Event: 1.061 Thread 0x000001e0f18d9cc0 Exception (0x00000000c1819d48) thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] Event: 1.061 Thread 0x000001e0f18d9cc0 Exception (0x00000000c1821648) thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] Event: 1.063 Thread 0x000001e0f18d9cc0 Exception (0x00000000c1839f50) thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] Event: 1.063 Thread 0x000001e0f18d9cc0 Exception (0x00000000c1840818) thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] Event: 1.066 Thread 0x000001e0f18d9cc0 Exception (0x00000000c1851960) thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] Event: 1.067 Thread 0x000001e0f18d9cc0 Exception (0x00000000c1868c20) thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] Event: 1.071 Thread 0x000001e0f18d9cc0 Exception (0x00000000c188d318) thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] Event: 1.071 Thread 0x000001e0f18d9cc0 Exception (0x00000000c1890ce0) thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] Event: 1.134 Thread 0x000001e0f18d9cc0 Exception (0x00000000c18c6ea8) thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] Event: 1.135 Thread 0x000001e0f18d9cc0 Exception (0x00000000c18ce420) thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] Event: 1.143 Thread 0x000001e0f18d9cc0 Exception (0x00000000c18e9e00) thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] Event: 1.145 Thread 0x000001e0f18d9cc0 Exception (0x00000000c170ccd8) thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] Event: 1.145 Thread 0x000001e0f18d9cc0 Exception (0x00000000c17145a0) thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] Event: 1.147 Thread 0x000001e0f18d9cc0 Exception (0x00000000c1726d98) thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] Event: 1.147 Thread 0x000001e0f18d9cc0 Exception (0x00000000c172aaa0) thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] Event: 1.147 Thread 0x000001e0f18d9cc0 Exception (0x00000000c172e0a8) thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] Event: 1.150 Thread 0x000001e0f18d9cc0 Exception (0x00000000c174fe60) thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] Event: 1.150 Thread 0x000001e0f18d9cc0 Exception (0x00000000c1757728) thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] Event: 1.152 Thread 0x000001e0f18d9cc0 Exception (0x00000000c1778378) thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] VM Operations (14 events): Event: 0.111 Executing VM operation: HandshakeAllThreads Event: 0.111 Executing VM operation: HandshakeAllThreads done Event: 0.242 Executing VM operation: HandshakeAllThreads Event: 0.242 Executing VM operation: HandshakeAllThreads done Event: 0.578 Executing VM operation: G1CollectForAllocation Event: 0.582 Executing VM operation: G1CollectForAllocation done Event: 0.638 Executing VM operation: CollectForMetadataAllocation Event: 0.641 Executing VM operation: CollectForMetadataAllocation done Event: 0.644 Executing VM operation: G1PauseRemark Event: 0.645 Executing VM operation: G1PauseRemark done Event: 0.645 Executing VM operation: G1PauseCleanup Event: 0.650 Executing VM operation: G1PauseCleanup done Event: 1.114 Executing VM operation: HandshakeAllThreads Event: 1.114 Executing VM operation: HandshakeAllThreads done Events (20 events): Event: 0.025 Thread 0x000001e0f18d2660 Thread added: 0x000001e0f18d2660 Event: 0.025 Thread 0x000001e0f18dacb0 Thread added: 0x000001e0f18dacb0 Event: 0.025 Thread 0x000001e0f18d7ce0 Thread added: 0x000001e0f18d7ce0 Event: 0.026 Thread 0x000001e0f18d8cd0 Thread added: 0x000001e0f18d8cd0 Event: 0.026 Thread 0x000001e0f18da210 Thread added: 0x000001e0f18da210 Event: 0.026 Thread 0x000001e0f5c075f0 Thread added: 0x000001e0f5c075f0 Event: 0.026 Thread 0x000001e0f5c15fb0 Thread added: 0x000001e0f5c15fb0 Event: 0.026 Thread 0x000001e0f18d7790 Thread added: 0x000001e0f18d7790 Event: 0.055 Thread 0x000001e0f18d9220 Thread added: 0x000001e0f18d9220 Event: 0.058 Thread 0x000001e0f18d6cf0 Thread added: 0x000001e0f18d6cf0 Event: 0.122 Thread 0x000001e0f5c13330 Thread added: 0x000001e0f5c13330 Event: 0.154 Thread 0x000001e0f18d8230 Thread added: 0x000001e0f18d8230 Event: 0.155 Thread 0x000001e0f18d9770 Thread added: 0x000001e0f18d9770 Event: 0.159 Thread 0x000001e0f18d8780 Thread added: 0x000001e0f18d8780 Event: 0.375 Thread 0x000001e0f18d9cc0 Thread added: 0x000001e0f18d9cc0 Event: 0.375 Thread 0x000001e0f18d7240 Thread added: 0x000001e0f18d7240 Event: 0.375 Thread 0x000001e0d55c46e0 Thread exited: 0x000001e0d55c46e0 Event: 0.375 Thread 0x000001e0f613a5e0 Thread added: 0x000001e0f613a5e0 Event: 0.714 Thread 0x000001e0f5c13330 Thread exited: 0x000001e0f5c13330 Event: 0.915 Thread 0x000001e0f5c14970 Thread added: 0x000001e0f5c14970 Dynamic libraries: 0x00007ff6151c0000 - 0x00007ff6151ce000 C:\Program Files\Java\jdk-19.0.2\bin\javaw.exe 0x00007ff899050000 - 0x00007ff899248000 C:\Windows\SYSTEM32\ntdll.dll 0x00007ff898860000 - 0x00007ff89891f000 C:\Windows\System32\KERNEL32.DLL 0x00007ff896960000 - 0x00007ff896c32000 C:\Windows\System32\KERNELBASE.dll 0x00007ff896e50000 - 0x00007ff896f50000 C:\Windows\System32\ucrtbase.dll 0x00007ff88b480000 - 0x00007ff88b49b000 C:\Program Files\Java\jdk-19.0.2\bin\VCRUNTIME140.dll 0x00007ff881a90000 - 0x00007ff881aa7000 C:\Program Files\Java\jdk-19.0.2\bin\jli.dll 0x00007ff8986b0000 - 0x00007ff898851000 C:\Windows\System32\USER32.dll 0x00007ff87f7c0000 - 0x00007ff87fa5a000 C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.19041.1110_none_60b5254171f9507e\COMCTL32.dll 0x00007ff896f50000 - 0x00007ff896f72000 C:\Windows\System32\win32u.dll 0x00007ff897320000 - 0x00007ff89734b000 C:\Windows\System32\GDI32.dll 0x00007ff898e60000 - 0x00007ff898efe000 C:\Windows\System32\msvcrt.dll 0x00007ff896f80000 - 0x00007ff89708f000 C:\Windows\System32\gdi32full.dll 0x00007ff896740000 - 0x00007ff8967dd000 C:\Windows\System32\msvcp_win.dll 0x00007ff898e20000 - 0x00007ff898e52000 C:\Windows\System32\IMM32.DLL 0x00007ff88b460000 - 0x00007ff88b46c000 C:\Program Files\Java\jdk-19.0.2\bin\vcruntime140_1.dll 0x00007ff868400000 - 0x00007ff86848e000 C:\Program Files\Java\jdk-19.0.2\bin\msvcp140.dll 0x00007ff83f2d0000 - 0x00007ff83ff90000 C:\Program Files\Java\jdk-19.0.2\bin\server\jvm.dll 0x00007ff8970f0000 - 0x00007ff89719e000 C:\Windows\System32\ADVAPI32.dll 0x00007ff898f60000 - 0x00007ff898ffc000 C:\Windows\System32\sechost.dll 0x00007ff897350000 - 0x00007ff897475000 C:\Windows\System32\RPCRT4.dll 0x00007ff88fae0000 - 0x00007ff88fae9000 C:\Windows\SYSTEM32\WSOCK32.dll 0x00007ff890fa0000 - 0x00007ff890fc7000 C:\Windows\SYSTEM32\WINMM.dll 0x00007ff88eed0000 - 0x00007ff88eeda000 C:\Windows\SYSTEM32\VERSION.dll 0x00007ff898db0000 - 0x00007ff898e1b000 C:\Windows\System32\WS2_32.dll 0x00007ff894fa0000 - 0x00007ff894fb2000 C:\Windows\SYSTEM32\kernel.appcore.dll 0x00007ff88d810000 - 0x00007ff88d81a000 C:\Program Files\Java\jdk-19.0.2\bin\jimage.dll 0x00007ff8944b0000 - 0x00007ff894694000 C:\Windows\SYSTEM32\DBGHELP.DLL 0x00007ff88cb40000 - 0x00007ff88cb75000 C:\Windows\SYSTEM32\dbgcore.DLL 0x00007ff8968d0000 - 0x00007ff896952000 C:\Windows\System32\bcryptPrimitives.dll 0x00007ff881950000 - 0x00007ff881976000 C:\Program Files\Java\jdk-19.0.2\bin\java.dll 0x00007ff86a290000 - 0x00007ff86a367000 C:\Program Files\Java\jdk-19.0.2\bin\jsvml.dll 0x00007ff897480000 - 0x00007ff897bc4000 C:\Windows\System32\SHELL32.dll 0x00007ff8947a0000 - 0x00007ff894f32000 C:\Windows\SYSTEM32\windows.storage.dll 0x00007ff898920000 - 0x00007ff898c75000 C:\Windows\System32\combase.dll 0x00007ff8960c0000 - 0x00007ff8960f0000 C:\Windows\SYSTEM32\Wldp.dll 0x00007ff898c80000 - 0x00007ff898d2d000 C:\Windows\System32\SHCORE.dll 0x00007ff8971a0000 - 0x00007ff8971f5000 C:\Windows\System32\shlwapi.dll 0x00007ff896680000 - 0x00007ff89669f000 C:\Windows\SYSTEM32\profapi.dll 0x00007ff84de90000 - 0x00007ff84e020000 C:\Program Files\Java\jdk-19.0.2\bin\awt.dll 0x00007ff897c90000 - 0x00007ff897d5d000 C:\Windows\System32\OLEAUT32.dll 0x00007ff88f8e0000 - 0x00007ff88f971000 C:\Windows\SYSTEM32\apphelp.dll 0x00007ff881820000 - 0x00007ff881833000 C:\Program Files\Java\jdk-19.0.2\bin\net.dll 0x00007ff88fff0000 - 0x00007ff8900fc000 C:\Windows\SYSTEM32\WINHTTP.dll 0x00007ff895ea0000 - 0x00007ff895f0a000 C:\Windows\system32\mswsock.dll 0x00007ff8809d0000 - 0x00007ff8809e6000 C:\Program Files\Java\jdk-19.0.2\bin\nio.dll 0x00007ff87fb70000 - 0x00007ff87fb88000 C:\Program Files\Java\jdk-19.0.2\bin\zip.dll 0x00007ff891370000 - 0x00007ff89140e000 C:\Windows\system32\uxtheme.dll 0x00007ff897200000 - 0x00007ff897315000 C:\Windows\System32\MSCTF.dll 0x00007ff898370000 - 0x00007ff89849a000 C:\Windows\System32\ole32.dll 0x00007ff893cf0000 - 0x00007ff893d1f000 C:\Windows\system32\DWMAPI.DLL 0x00007ff85a270000 - 0x00007ff85a395000 C:\Windows\system32\opengl32.dll 0x00007ff85bb10000 - 0x00007ff85bb3c000 C:\Windows\SYSTEM32\GLU32.dll 0x00007ff85e900000 - 0x00007ff85e986000 C:\Program Files\Java\jdk-19.0.2\bin\freetype.dll 0x00007ff8588d0000 - 0x00007ff858996000 C:\Program Files\Java\jdk-19.0.2\bin\fontmanager.dll 0x00007ff85a900000 - 0x00007ff85a9a1000 C:\Users\Martin\Downloads\freeglut-MSVC-3.0.0-2.mp\freeglut\bin\x64\freeglut.dll 0x00007ff8981e0000 - 0x00007ff89828f000 C:\Windows\System32\clbcatq.dll 0x00007ff88c4e0000 - 0x00007ff88c5d7000 C:\Windows\System32\AppXDeploymentClient.dll 0x00007ff82e1a0000 - 0x00007ff82f24b000 C:\Windows\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_c664ba079c9e0cd1\igxelpicd64.dll 0x00007ff894fc0000 - 0x00007ff8950b3000 C:\Windows\system32\dxgi.dll 0x00007ff84b760000 - 0x00007ff84b885000 C:\Windows\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_c664ba079c9e0cd1\igdml64.dll 0x00007ff880140000 - 0x00007ff880552000 C:\Windows\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_c664ba079c9e0cd1\igdgmm64.dll 0x00007ff896830000 - 0x00007ff896857000 C:\Windows\System32\bcrypt.dll 0x00007ff8777f0000 - 0x00007ff87bcda000 C:\Windows\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_c664ba079c9e0cd1\igc64.dll 0x00007ff895cd0000 - 0x00007ff895d1b000 C:\Windows\SYSTEM32\powrprof.dll 0x00007ff895b40000 - 0x00007ff895b52000 C:\Windows\SYSTEM32\UMPDC.dll 0x00007ff86aa30000 - 0x00007ff86ab29000 C:\Windows\SYSTEM32\textinputframework.dll 0x00007ff88eee0000 - 0x00007ff88f23e000 C:\Windows\System32\CoreUIComponents.dll 0x00007ff88f240000 - 0x00007ff88f332000 C:\Windows\System32\CoreMessaging.dll 0x00007ff8958b0000 - 0x00007ff8958e3000 C:\Windows\SYSTEM32\ntmarta.dll 0x00007ff890640000 - 0x00007ff890794000 C:\Windows\SYSTEM32\wintypes.dll dbghelp: loaded successfully - version: 4.0.5 - missing functions: none symbol engine: initialized successfully - sym options: 0x614 - pdb path: .;C:\Program Files\Java\jdk-19.0.2\bin;C:\Windows\SYSTEM32;C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.19041.1110_none_60b5254171f9507e;C:\Program Files\Java\jdk-19.0.2\bin\server;C:\Users\Martin\Downloads\freeglut-MSVC-3.0.0-2.mp\freeglut\bin\x64;C:\Windows\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_c664ba079c9e0cd1 VM Arguments: jvm_args: -Djava.library.path=C:\Windows\system32;C:\Users\Martin\Downloads\freeglut-MSVC-3.0.0-2.mp\freeglut\bin\x64 -Dsun.java2d.d3d=false -Xmx1024M -Dfile.encoding=UTF-8 --enable-preview -XX:+ShowCodeDetailsInExceptionMessages java_command: demos.panamagl.swing.DemoTeapot_Onscreen_Swing -Dpanamagl.offscreen.OffscreenRenderer java_class_path (initial): C:\Users\Martin\Dev\jzy3d\public\panama-gl\panama-gl-samples\target\classes;C:\Users\Martin\Dev\jzy3d\public\panama-gl\panama-gl-api\target\classes;C:\Users\Martin\Dev\jzy3d\public\panama-gl\panama-gl-ui-awt\target\classes;C:\Users\Martin\Dev\jzy3d\public\panama-gl\panama-gl-ui-swing\target\classes;C:\Users\Martin\Dev\jzy3d\public\panama-gl\panama-gl-wrappers-macos\target\classes;C:\Users\Martin\.m2\repository\org\jzy3d\panama-gl-bindings-macos\1.0.1-SNAPSHOT\panama-gl-bindings-macos-1.0.1-SNAPSHOT.jar;C:\Users\Martin\Dev\jzy3d\public\jzy3d-api\jzy3d-core\target\classes;C:\Users\Martin\Dev\jzy3d\public\jzy3d-api\jzy3d-jdt-core\target\classes;C:\Users\Martin\.m2\repository\commons-io\commons-io\2.7\commons-io-2.7.jar;C:\Users\Martin\.m2\repository\org\apache\commons\commons-lang3\3.12.0\commons-lang3-3.12.0.jar;C:\Users\Martin\.m2\repository\org\smurn\jply\0.2.1\jply-0.2.1.jar;C:\Users\Martin\.m2\repository\net\sf\opencsv\opencsv\2.1\opencsv-2.1.jar;C:\Users\Martin\.m2\repository\org\tallison\jmatio\1.5\jmatio-1.5.jar;C:\Users\Martin\.m2\repository\org\slf4j\slf4j-api\1.7.25\slf4j-api-1.7.25.jar;C:\Users\Martin\.m2\repository\com\diogonunes\JColor\5.2.0\JColor-5.2.0.jar;C:\Users\Martin\.m2\repository\net\java\dev\jna\jna\5.8.0\jna-5.8.0.jar;C:\Users\Martin\.m2\repository\net\java\dev\jna\jna-platform\5.8.0\jna-platform-5.8.0.jar;C:\Users\Martin\.m2\repository\org\apache\logging\log4j\log4j-api\2.17.1\log4j-api-2.17.1.jar;C:\Users\Martin\.m2\repository\org\apache\logging\log4j\log4j-core\2.17.1\log4j-core-2.17.1.jar;C:\Users\Martin\Dev\jzy3d\public\jzy3d-api\jzy3d-native-jogl-swing\target\classes;C:\Users\Martin\Dev\jzy3d\public\jzy3d-api\jzy3d-native-jogl-awt\target\classes;C:\Users\Martin\Dev\jzy3d\public\jzy3d-api\jzy3d-core-awt\target\classes;C:\Users\Martin\Dev\jzy3d\public\jzy3d-api\jzy3d-native-jogl-core\target\classes;C:\Users\Martin\.m2\repository\org\jogamp\jogl\jogl-all\v2.4.0-rc4\jogl-all-v2.4.0-rc4.jar;C:\Users\Martin\.m2\repository\org\jogamp\jogl\jogl-all-natives-linux-aarch64\v2.4.0-rc4\jogl-all-natives-linux-aarch64-v2.4.0-rc4.jar;C:\Users\Martin\.m2\repository\org\jogamp\jogl\jogl-all-natives-linux-amd64\v2.4.0-rc4\jogl-all-natives-linux-amd64-v2.4.0-rc4.jar;C:\Users\Martin\.m2\repository\org\jogamp\jogl\jogl-all-natives-linux-armv6hf\v2.4.0-rc4\jogl-all-natives-linux-armv6hf-v2.4.0-rc4.jar;C:\Users\Martin\.m2\repository\org\jogamp\jogl\jogl-all-natives-linux-i586\v2.4.0-rc4\jogl-all-natives-linux-i586-v2.4.0-rc4.jar;C:\Users\Martin\.m2\repository\org\jogamp\jogl\jogl-all-natives-macosx-universal\v2.4.0-rc4\jogl-all-natives-macosx-universal-v2.4.0-rc4.jar;C:\Users\Martin\.m2\repository\org\jogamp\jogl\jogl-all-natives-windows-amd64\v2.4.0-rc4\jogl-all-natives-windows-amd64-v2.4.0-rc4.jar;C:\Users\Martin\.m2\repository\org\jogamp\jogl\jogl-all-natives-windows-i586\v2.4.0-rc4\jogl-all-natives-windows-i586-v2.4.0-rc4.jar;C:\Users\Martin\.m2\repository\org\jogamp\gluegen\gluegen-rt\v2.4.0-rc4\gluegen-rt-v2.4.0-rc4.jar;C:\Users\Martin\.m2\repository\org\jogamp\gluegen\gluegen-rt-natives-macosx-universal\v2.4.0-rc4\gluegen-rt-natives-macosx-universal-v2.4.0-rc4.jar;C:\Users\Martin\.m2\repository\org\jogamp\gluegen\gluegen-rt-natives-linux-aarch64\v2.4.0-rc4\gluegen-rt-natives-linux-aarch64-v2.4.0-rc4.jar;C:\Users\Martin\.m2\repository\org\jogamp\gluegen\gluegen-rt-natives-linux-amd64\v2.4.0-rc4\gluegen-rt-natives-linux-amd64-v2.4.0-rc4.jar;C:\Users\Martin\.m2\repository\org\jogamp\gluegen\gluegen-rt-natives-linux-armv6hf\v2.4.0-rc4\gluegen-rt-natives-linux-armv6hf-v2.4.0-rc4.jar;C:\Users\Martin\.m2\repository\org\jogamp\gluegen\gluegen-rt-natives-linux-i586\v2.4.0-rc4\gluegen-rt-natives-linux-i586-v2.4.0-rc4.jar;C:\Users\Martin\.m2\repository\org\jogamp\gluegen\gluegen-rt-natives-windows-amd64\v2.4.0-rc4\gluegen-rt-natives-windows-amd64-v2.4.0-rc4.jar;C:\Users\Martin\.m2\repository\org\jogamp\gluegen\gluegen-rt-natives-windows-i586\v2.4.0-rc4\gluegen-rt-natives-windows-i586-v2.4.0-rc4.jar;C:\Users\Martin\Dev\jzy3d\public\jzy3d-api\jzy3d-native-jogl-core\target\test-classes;C:\Users\Martin\Dev\jzy3d\public\jzy3d-api\jzy3d-core\target\test-classes;C:\Users\Martin\.m2\repository\com\miglayout\miglayout\3.7.4\miglayout-3.7.4.jar;C:\Users\Martin\Dev\jzy3d\public\panama-gl\panama-gl-wrappers-linux\target\classes;C:\Users\Martin\.m2\repository\org\jzy3d\panama-gl-bindings-linux\1.0.1-SNAPSHOT\panama-gl-bindings-linux-1.0.1-SNAPSHOT.jar;C:\Users\Martin\Dev\jzy3d\public\panama-gl\panama-gl-wrappers-windows\target\classes;C:\Users\Martin\.m2\repository\org\jzy3d\panama-gl-bindings-windows\1.0.1-SNAPSHOT\panama-gl-bindings-windows-1.0.1-SNAPSHOT.jar;C:\Users\Martin\.m2\repository\log4j\log4j\1.2.16\log4j-1.2.16.jar;C:\Users\Martin\.m2\repository\org\apache\commons\commons-collections4\4.4\commons-collections4-4.4.jar;C:\Users\Martin\.m2\repository\com\google\guava\guava\24.0-jre\guava-24.0-jre.jar;C:\Users\Martin\.m2\repository\com\google\code\findbugs\jsr305\1.3.9\jsr305-1.3.9.jar;C:\Users\Martin\.m2\repository\org\checkerframework\checker-compat-qual\2.0.0\checker-compat-qual-2.0.0.jar;C:\Users\Martin\.m2\repository\com\google\errorprone\error_prone_annotations\2.1.3\error_prone_annotations-2.1.3.jar;C:\Users\Martin\.m2\repository\com\google\j2objc\j2objc-annotations\1.1\j2objc-annotations-1.1.jar;C:\Users\Martin\.m2\repository\org\codehaus\mojo\animal-sniffer-annotations\1.14\animal-sniffer-annotations-1.14.jar Launcher Type: SUN_STANDARD [Global flags] intx CICompilerCount = 4 {product} {ergonomic} uint ConcGCThreads = 2 {product} {ergonomic} uint G1ConcRefinementThreads = 8 {product} {ergonomic} size_t G1HeapRegionSize = 1048576 {product} {ergonomic} uintx GCDrainStackTargetSize = 64 {product} {ergonomic} size_t InitialHeapSize = 264241152 {product} {ergonomic} size_t MarkStackSize = 4194304 {product} {ergonomic} size_t MaxHeapSize = 1073741824 {product} {command line} size_t MaxNewSize = 643825664 {product} {ergonomic} size_t MinHeapDeltaBytes = 1048576 {product} {ergonomic} size_t MinHeapSize = 8388608 {product} {ergonomic} uintx NonNMethodCodeHeapSize = 5839372 {pd product} {ergonomic} uintx NonProfiledCodeHeapSize = 122909434 {pd product} {ergonomic} uintx ProfiledCodeHeapSize = 122909434 {pd product} {ergonomic} uintx ReservedCodeCacheSize = 251658240 {pd product} {ergonomic} bool SegmentedCodeCache = true {product} {ergonomic} bool ShowCodeDetailsInExceptionMessages = true {manageable} {command line} size_t SoftMaxHeapSize = 1073741824 {manageable} {ergonomic} bool UseCompressedClassPointers = true {product lp64_product} {ergonomic} bool UseCompressedOops = true {product lp64_product} {ergonomic} bool UseG1GC = true {product} {ergonomic} bool UseLargePagesIndividualAllocation = false {pd product} {ergonomic} Logging: Log output configuration: #0: stdout all=warning uptime,level,tags foldmultilines=false #1: stderr all=off uptime,level,tags foldmultilines=false Environment Variables: JAVA_HOME=C:\Program Files\Java\jdk-19.0.2 PATH=C:/Program Files/Java/jdk-19.0.2/bin/server;C:/Program Files/Java/jdk-19.0.2/bin;C:\Users\Martin\Dev\jzy3d\private\vtk-java-wrapper\lib\9.1.0\vtk-Windows-x86_64;C:\Program Files\Java\jdk-19.0.2\bin\;C:\Program Files\Common Files\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\Git\cmd;C:\Program Files (x86)\apache-maven-3.8.3\bin;C:\Program Files (x86)\apache-ant-1.9.16\bin;C:\Program Files\CMake\bin;C:\Program Files\dotnet\;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn\;C:\Program Files\7-Zip;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Program Files\gawk-3.1.6-1-bin\bin;C:\Mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\x86_64-w64-mingw32\bin;C:\Mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin;C:\Program Files\win_flex_bison3-latest;C:\Users\Martin\AppData\Local\Programs\Python\Python39\Scripts\;C:\Users\Martin\AppData\Local\Programs\Python\Python39\;C:\Users\Martin\AppData\Local\Microsoft\WindowsApps;C:\Users\Martin\AppData\Local\atom\bin;C:\Program Files (x86)\apache-maven-3.8.3\bin;C:\Users\Martin\.dotnet\tools;C:\Users\Martin\AppData\Local\Programs\MiKTeX\miktex\bin\x64\;C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2022.3.1\bin;;C:\Windows\system32; USERNAME=Martin OS=Windows_NT PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 140 Stepping 1, GenuineIntel TMP=C:\Users\Martin\AppData\Local\Temp TEMP=C:\Users\Martin\AppData\Local\Temp --------------- S Y S T E M --------------- OS: Windows 10 , 64 bit Build 19041 (10.0.19041.2364) OS uptime: 86 days 0:06 hours Hyper-V role detected CPU: total 8 (initial active 8) (4 cores per cpu, 2 threads per core) family 6 model 140 stepping 1 microcode 0xa4, cx8, cmov, fxsr, ht, mmx, 3dnowpref, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, lzcnt, tsc, tscinvbit, avx, avx2, aes, erms, clmul, bmi1, bmi2, adx, avx512f, avx512dq, avx512cd, avx512bw, avx512vl, sha, fma, vzeroupper, avx512_vpopcntdq, avx512_vpclmulqdq, avx512_vaes, avx512_vnni, clflush, clflushopt, clwb, avx512_vbmi2, avx512_vbmi, hv, rdtscp, rdpid, fsrm, gfni, avx512_bitalg Memory: 4k page, system-wide physical 16107M (4494M free) TotalPageFile size 25774M (AvailPageFile size 6176M) current process WorkingSet (physical memory assigned to process): 233M, peak: 233M current process commit charge ("private bytes"): 240M, peak: 379M vm_info: OpenJDK 64-Bit Server VM (19.0.2+7-44) for windows-amd64 JRE (19.0.2+7-44), built on 2022-11-30T18:02:09Z by "mach5one" with MS VC++ 17.1 (VS2022) END. -------------- next part -------------- An HTML attachment was scrubbed... URL: From maurizio.cimadamore at oracle.com Mon Mar 20 10:04:17 2023 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Mon, 20 Mar 2023 10:04:17 +0000 Subject: Debugging segfaults In-Reply-To: References: Message-ID: Hi Martin, while I have no insight on this specific issue, what usually helps me is to boil down the crash to a simple reproducer, and then, in some cases, try to write that same simple reproducer in C/C++ to see if the crash persists. If it does (which I suspect) the problem probably lies a bit deeper, perhaps the libraries you are trying to use are not meant to be used together (I seem to see some indication of this when eyeballing some quick searches online). Maurizio On 19/03/2023 18:33, Martin Pernollet wrote: > Hi, > > Would anyone recommend a way to debug a segmentation fault occuring on > Windows when using a native lib binded with JExtract? > > For the story : I got freeglut working on Windows correctly, but when > I try to use freeglut with WGL > , > I got the below crash. WGL allows getting an OpenGL context on > windows, without relying on glut, hence avoiding to get a native > Windows window opened. > > While freeglut alone only requires loading opengl32.dll, glu32.dll and > freeglut.dll, WGL additionnaly requires to load User32.dll, Gdi32.dll > and Kernel32.dll. > > Thanks for your recommandations! > > # > > # A fatal error has been detected by the Java Runtime Environment: > > # > > # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007ff85a90583b, > pid=5736, tid=10080 > > # > > # JRE version: OpenJDK Runtime Environment (19.0.2+7) (build 19.0.2+7-44) > > # Java VM: OpenJDK 64-Bit Server VM (19.0.2+7-44, mixed mode, sharing, > tiered, compressed oops, compressed class ptrs, g1 gc, windows-amd64) > > # Problematic frame: > > # C [freeglut.dll+0x583b] > > # > > # No core dump will be written. Minidumps are not enabled by default > on client versions of Windows > > # > > # If you would like to submit a bug report, please visit: > > # https://bugreport.java.com/bugreport/crash.jsp > > # The crash happened outside the Java Virtual Machine in native code. > > # See problematic frame for where to report the bug. > > # > > --------------- S U M M A R Y ------------ > > Command Line: > -Djava.library.path=C:\Windows\system32;C:\Users\Martin\Downloads\freeglut-MSVC-3.0.0-2.mp\freeglut\bin\x64 > -Dsun.java2d.d3d=false -Xmx1024M -Dfile.encoding=UTF-8 > --enable-preview -XX:+ShowCodeDetailsInExceptionMessages > demos.panamagl.swing.DemoTeapot_Onscreen_Swing > -Dpanamagl.offscreen.OffscreenRenderer > > Host: 11th Gen Intel(R) Core(TM) i5-1135G7 @ 2.40GHz, 8 cores, 15G, > Windows 10 , 64 bit Build 19041 (10.0.19041.2364) > > Time: Sun Mar 19 17:35:31 2023 Europe de l , 64 bit Build 19041 > (10.0.19041.2364) elapsed time: 1.156167 seconds (0d 0h 0m 1s) > > --------------- T H R E A D --------------- > > Current thread (0x000001e0f18d9cc0): JavaThread "AWT-EventQueue-0" > [_thread_in_native, id=10080, > stack(0x0000000ccad00000,0x0000000ccae00000)] > > Stack: [0x0000000ccad00000,0x0000000ccae00000], sp=0x0000000ccadfe8d0, > free space=1018k > > Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, > C=native code) > > C [freeglut.dll+0x583b] > > Java frames: (J=compiled Java code, j=interpreted, Vv=VM code) > > v ~RuntimeStub::nep_invoker_blob 0x000001e0e4cd5988 > > j > java.lang.invoke.LambdaForm$MH+0x00000008011b4400.invoke(Ljava/lang/Object;JD)V+10 > java.base at 19.0.2 > > j > java.lang.invoke.LambdaForm$MH+0x00000008011bb000.invokeExact_MT(Ljava/lang/Object;JDLjava/lang/Object;)V+21 > java.base at 19.0.2 > > j > jdk.internal.foreign.abi.DowncallStub+0x00000008011b4800.invoke(Ljava/lang/foreign/SegmentAllocator;Ljava/lang/foreign/Addressable;D)V+48 > java.base at 19.0.2 > > j > java.lang.invoke.LambdaForm$DMH+0x00000008011b4c00.invokeStatic(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;D)V+14 > java.base at 19.0.2 > > j > java.lang.invoke.LambdaForm$MH+0x00000008011b6800.invoke(Ljava/lang/Object;D)V+46 > java.base at 19.0.2 > > j > java.lang.invoke.LambdaForm$MH+0x00000008011ba800.invokeExact_MT(Ljava/lang/Object;DLjava/lang/Object;)V+19 > java.base at 19.0.2 > > j freeglut.windows.x86.freeglut_h_15.glutSolidTeapot(D)V+6 > > j panamagl.platform.windows.x64.GL_windows_x64.glutSolidTeapot(D)V+1 > > j > demos.panamagl.swing.DemoTeapot_Onscreen_Swing$2.display(Lpanamagl/opengl/GL;)V+64 > > j > panamagl.offscreen.AOffscreenRenderer.renderGLToImage(Lpanamagl/GLCanvas;Lpanamagl/GLEventListener;)V+9 > > j > panamagl.offscreen.AOffscreenRenderer.renderGLToImage(Lpanamagl/GLCanvas;Lpanamagl/GLEventListener;II)V+135 > > j panamagl.offscreen.AOffscreenRenderer$1.run()V+20 > > j java.awt.event.InvocationEvent.dispatch()V+11 java.desktop at 19.0.2 > > j > java.awt.EventQueue.dispatchEventImpl(Ljava/awt/AWTEvent;Ljava/lang/Object;)V+21 > java.desktop at 19.0.2 > > j java.awt.EventQueue$4.run()Ljava/lang/Void;+32 java.desktop at 19.0.2 > > j java.awt.EventQueue$4.run()Ljava/lang/Object;+1 java.desktop at 19.0.2 > > j > java.security.AccessController.executePrivileged(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;Ljava/lang/Class;)Ljava/lang/Object;+29 > java.base at 19.0.2 > > j > java.security.AccessController.doPrivileged(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;+13 > java.base at 19.0.2 > > j > java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;Ljava/security/AccessControlContext;)Ljava/lang/Object;+18 > java.base at 19.0.2 > > j java.awt.EventQueue.dispatchEvent(Ljava/awt/AWTEvent;)V+46 > java.desktop at 19.0.2 > > j java.awt.EventDispatchThread.pumpOneEventForFilters(I)V+81 > java.desktop at 19.0.2 > > j > java.awt.EventDispatchThread.pumpEventsForFilter(ILjava/awt/Conditional;Ljava/awt/EventFilter;)V+35 > java.desktop at 19.0.2 > > j > java.awt.EventDispatchThread.pumpEventsForHierarchy(ILjava/awt/Conditional;Ljava/awt/Component;)V+11 > java.desktop at 19.0.2 > > j java.awt.EventDispatchThread.pumpEvents(ILjava/awt/Conditional;)V+4 > java.desktop at 19.0.2 > > j java.awt.EventDispatchThread.pumpEvents(Ljava/awt/Conditional;)V+3 > java.desktop at 19.0.2 > > j java.awt.EventDispatchThread.run()V+9 java.desktop at 19.0.2 > > v ~StubRoutines::call_stub 0x000001e0e4a510e8 > > siginfo: EXCEPTION_ACCESS_VIOLATION (0xc0000005), reading address > 0x00000000000000c1 > > Registers: > > RAX=0x0000000000000000, RBX=0x0000000000000008, > RCX=0x00007ff85a93c3a0, RDX=0x00007ff85a98ee40 > > RSP=0x0000000ccadfe8d0, RBP=0x0000000ccadfea40, > RSI=0x0000000000000000, RDI=0x0000000000000800 > > R8 =0x00007ff85a9888e0, R9 =0x0000000000000800, > R10=0x00000000000007f8, R11=0x00007ff85a93c3a0 > > R12=0x0000000000000000, R13=0x0000000ccadfec30, > R14=0x0000000000000000, R15=0x00007ff85a9888e0 > > RIP=0x00007ff85a90583b, EFLAGS=0x0000000000010202 > > Register to memory mapping: > > RIP=0x00007ff85a90583b freeglut.dll > > RAX=0x0 is NULL > > RBX=0x0000000000000008 is an unknown value > > RCX=0x00007ff85a93c3a0 freeglut.dll > > RDX=0x00007ff85a98ee40 freeglut.dll > > RSP=0x0000000ccadfe8d0 is pointing into the stack for thread: > 0x000001e0f18d9cc0 > > RBP=0x0000000ccadfea40 is pointing into the stack for thread: > 0x000001e0f18d9cc0 > > RSI=0x0 is NULL > > RDI=0x0000000000000800 is an unknown value > > R8 =0x00007ff85a9888e0 freeglut.dll > > R9 =0x0000000000000800 is an unknown value > > R10=0x00000000000007f8 is an unknown value > > R11=0x00007ff85a93c3a0 freeglut.dll > > R12=0x0 is NULL > > R13=0x0000000ccadfec30 is pointing into the stack for thread: > 0x000001e0f18d9cc0 > > R14=0x0 is NULL > > R15=0x00007ff85a9888e0 freeglut.dll > > Top of Stack: (sp=0x0000000ccadfe8d0) > > 0x0000000ccadfe8d0: 000000003fc9999a 0000000000000000 > > 0x0000000ccadfe8e0: 0000000040000000 0000000000000000 > > 0x0000000ccadfe8f0: 000000003f000000 0000000000000000 > > 0x0000000ccadfe900: 00007ff85a937380 0000000000000009 > > 0x0000000ccadfe910: 0000000000000002 0000000000000000 > > 0x0000000ccadfe920: 00007ff85a9888e0 0000000000000000 > > 0x0000000ccadfe930: 0000000000000000 00007ff85a915bf2 > > 0x0000000ccadfe940: 0000000000000008 0000000ccadfea40 > > 0x0000000ccadfe950: 0000000000000000 00007ff85a9639e0 > > 0x0000000ccadfe960: 00007ff85a9639e0 0000000000000001 > > 0x0000000ccadfe970: 00007ff8000024c0 00007ff85a994840 > > 0x0000000ccadfe980: 0000000088753dec 00007ff83fa50a20 > > 0x0000000ccadfe990: 0000000000000000 000001e0f610b820 > > 0x0000000ccadfe9a0: 0000004000000000 00000000ffffffc0 > > 0x0000000ccadfe9b0: 0000000000000000 00007ff85a93c3a0 > > 0x0000000ccadfe9c0: 00007ff85a98ee40 00007ff85a937b59 > > Instructions: (pc=0x00007ff85a90583b) > > 0x00007ff85a90573b: 00 00 48 8b 05 ec 23 03 00 49 8b d9 44 8b 50 34 > > 0x00007ff85a90574b: 44 8b 58 38 74 64 41 83 fa ff 75 05 45 3b da 74 > > 0x00007ff85a90575b: 59 8b 84 24 b8 00 00 00 44 89 5c 24 58 44 89 54 > > 0x00007ff85a90576b: 24 50 89 44 24 48 8b 84 24 b0 00 00 00 89 44 24 > > 0x00007ff85a90577b: 40 48 8b 84 24 a8 00 00 00 48 89 44 24 38 8b 84 > > 0x00007ff85a90578b: 24 a0 00 00 00 89 44 24 30 8b 84 24 98 00 00 00 > > 0x00007ff85a90579b: 89 44 24 28 8b 84 24 90 00 00 00 89 44 24 20 e8 > > 0x00007ff85a9057ab: 21 04 00 00 48 83 c4 60 5b c3 8b 84 24 b8 00 00 > > 0x00007ff85a9057bb: 00 44 8b 8c 24 90 00 00 00 4c 8b c3 89 44 24 40 > > 0x00007ff85a9057cb: 8b 84 24 b0 00 00 00 89 44 24 38 48 8b 84 24 a8 > > 0x00007ff85a9057db: 00 00 00 48 89 44 24 30 8b 84 24 a0 00 00 00 89 > > 0x00007ff85a9057eb: 44 24 28 8b 84 24 98 00 00 00 89 44 24 20 e8 42 > > 0x00007ff85a9057fb: 01 00 00 48 83 c4 60 5b c3 cc cc cc cc cc cc cc > > 0x00007ff85a90580b: cc cc cc cc cc 48 89 5c 24 08 48 89 6c 24 10 48 > > 0x00007ff85a90581b: 89 74 24 18 48 89 7c 24 20 41 54 41 56 41 57 48 > > 0x00007ff85a90582b: 83 ec 50 48 8b 05 fb 22 03 00 41 8b f9 4d 8b f8 > > 0x00007ff85a90583b: 80 b8 c1 00 00 00 00 8b 58 34 44 8b 70 38 44 8b > > 0x00007ff85a90584b: 60 3c 48 8b f2 48 8b e9 74 08 45 8b c1 e8 a3 0a > > 0x00007ff85a90585b: 00 00 83 3d 20 fb 02 00 00 74 65 83 fb ff 75 05 > > 0x00007ff85a90586b: 44 3b f3 74 5b 8b 84 24 a0 00 00 00 44 89 64 24 > > 0x00007ff85a90587b: 48 44 89 74 24 40 89 5c 24 38 89 44 24 30 8b 84 > > 0x00007ff85a90588b: 24 98 00 00 00 89 44 24 28 48 8b 84 24 90 00 00 > > 0x00007ff85a90589b: 00 44 8b cf 4d 8b c7 48 8b d6 48 8b cd 48 89 44 > > 0x00007ff85a9058ab: 24 20 e8 ae 06 00 00 48 8b 05 77 22 03 00 80 b8 > > 0x00007ff85a9058bb: c1 00 00 00 00 74 52 8b cb e8 07 0c 00 00 eb 49 > > 0x00007ff85a9058cb: 8b 84 24 a0 00 00 00 44 8b cf 4d 8b c7 89 44 24 > > 0x00007ff85a9058db: 30 8b 84 24 98 00 00 00 48 8b d6 89 44 24 28 48 > > 0x00007ff85a9058eb: 8b 84 24 90 00 00 00 48 8b cd 48 89 44 24 20 e8 > > 0x00007ff85a9058fb: 81 01 00 00 48 8b 05 2a 22 03 00 80 b8 c1 00 00 > > 0x00007ff85a90590b: 00 00 74 05 e8 ec 0a 00 00 4c 8d 5c 24 50 49 8b > > 0x00007ff85a90591b: 5b 20 49 8b 6b 28 49 8b 73 30 49 8b 7b 38 49 8b > > 0x00007ff85a90592b: e3 41 5f 41 5e 41 5c c3 cc cc cc cc cc cc cc cc > > Stack slot to memory mapping: > > stack at sp + 0 slots: 0x000000003fc9999a is an unknown value > > stack at sp + 1 slots: 0x0 is NULL > > stack at sp + 2 slots: 0x0000000040000000 is an unknown value > > stack at sp + 3 slots: 0x0 is NULL > > stack at sp + 4 slots: 0x000000003f000000 is an unknown value > > stack at sp + 5 slots: 0x0 is NULL > > stack at sp + 6 slots: 0x00007ff85a937380 freeglut.dll > > stack at sp + 7 slots: 0x0000000000000009 is an unknown value > > -------------------------------------------------------------------------------- > > Decoding CodeBlob, name: nep_invoker_blob, at [0x000001e0e4cd5980, > 0x000001e0e4cd5a78] 248 bytes > > [MachCode] > > 0x000001e0e4cd5980: 5548 8bec | 4883 ec20 | c5f8 7749 | 89af d002 | > 0000 49ba | 8859 cde4 | e001 0000 | 4d89 97c8 > > 0x000001e0e4cd59a0: 0200 0049 | 89a7 c002 | 0000 41c7 | 8774 0300 | > 0004 0000 | 004c 8bd2 | 41ff d2c5 | f877 41c7 > > 0x000001e0e4cd59c0: 8774 0300 | 0005 0000 | 00f0 8344 | 24c0 0049 | > 3baf 7803 | 0000 0f87 | 5300 0000 | 4181 bf70 > > 0x000001e0e4cd59e0: 0300 0000 | 0000 000f | 8542 0000 | 0041 c787 | > 7403 0000 | 0800 0000 | 4181 bfe8 | 0300 0002 > > 0x000001e0e4cd5a00: 0000 000f | 844c 0000 | 0049 c787 | c002 0000 | > 0000 0000 | 49c7 87d0 | 0200 0000 | 0000 0049 > > 0x000001e0e4cd5a20: c787 c802 | 0000 0000 | 0000 c5f8 | 77c9 c3c5 | > f877 498b | cf4c 8be4 | 4883 ec20 | 4883 e4f0 > > 0x000001e0e4cd5a40: 49ba 0015 | ad3f f87f | 0000 41ff | d249 8be4 | > 4d33 e4eb | 98c5 f877 | 4c8b e448 | 83ec 2048 > > 0x000001e0e4cd5a60: 83e4 f049 | ba30 5ca2 | 3ff8 7f00 | 0041 ffd2 | > 498b e44d | 33e4 eb91 > > [/MachCode] > > -------------------------------------------------------------------------------- > > --------------- P R O C E S S --------------- > > Threads class SMR info: > > _java_thread_list=0x000001e0f7d81c40, length=18, elements={ > > 0x000001e0f18d1780, 0x000001e0f18d2660, 0x000001e0f18dacb0, > 0x000001e0f18d7ce0, > > 0x000001e0f18d8cd0, 0x000001e0f18da210, 0x000001e0f5c075f0, > 0x000001e0f5c15fb0, > > 0x000001e0f18d7790, 0x000001e0f18d9220, 0x000001e0f18d6cf0, > 0x000001e0f18d8230, > > 0x000001e0f18d9770, 0x000001e0f18d8780, 0x000001e0f18d9cc0, > 0x000001e0f18d7240, > > 0x000001e0f613a5e0, 0x000001e0f5c14970 > > } > > Java Threads: ( => current thread ) > > 0x000001e0f18d1780 JavaThread "Reference Handler" daemon > [_thread_blocked, id=4296, stack(0x0000000cc9d00000,0x0000000cc9e00000)] > > 0x000001e0f18d2660 JavaThread "Finalizer" daemon [_thread_blocked, > id=24616, stack(0x0000000cc9e00000,0x0000000cc9f00000)] > > 0x000001e0f18dacb0 JavaThread "Signal Dispatcher" daemon > [_thread_blocked, id=10472, stack(0x0000000cc9f00000,0x0000000cca000000)] > > 0x000001e0f18d7ce0 JavaThread "Attach Listener" daemon > [_thread_blocked, id=30288, stack(0x0000000cca000000,0x0000000cca100000)] > > 0x000001e0f18d8cd0 JavaThread "Service Thread" daemon > [_thread_blocked, id=9536, stack(0x0000000cca100000,0x0000000cca200000)] > > 0x000001e0f18da210 JavaThread "Monitor Deflation Thread" daemon > [_thread_blocked, id=22692, stack(0x0000000cca200000,0x0000000cca300000)] > > 0x000001e0f5c075f0 JavaThread "C2 CompilerThread0" daemon > [_thread_blocked, id=13848, stack(0x0000000cca300000,0x0000000cca400000)] > > 0x000001e0f5c15fb0 JavaThread "C1 CompilerThread0" daemon > [_thread_blocked, id=29136, stack(0x0000000cca400000,0x0000000cca500000)] > > 0x000001e0f18d7790 JavaThread "Sweeper thread" daemon > [_thread_blocked, id=5824, stack(0x0000000cca500000,0x0000000cca600000)] > > 0x000001e0f18d9220 JavaThread "Notification Thread" daemon > [_thread_blocked, id=14544, stack(0x0000000cca600000,0x0000000cca700000)] > > 0x000001e0f18d6cf0 JavaThread "Common-Cleaner" daemon > [_thread_blocked, id=26608, stack(0x0000000cca800000,0x0000000cca900000)] > > 0x000001e0f18d8230 JavaThread "Java2D Disposer" daemon > [_thread_blocked, id=24116, stack(0x0000000ccaa00000,0x0000000ccab00000)] > > 0x000001e0f18d9770 JavaThread "AWT-Shutdown" [_thread_blocked, > id=21736, stack(0x0000000ccab00000,0x0000000ccac00000)] > > 0x000001e0f18d8780 JavaThread "AWT-Windows" daemon [_thread_in_native, > id=17988, stack(0x0000000ccac00000,0x0000000ccad00000)] > > =>0x000001e0f18d9cc0 JavaThread "AWT-EventQueue-0" [_thread_in_native, > id=10080, stack(0x0000000ccad00000,0x0000000ccae00000)] > > 0x000001e0f18d7240 JavaThread "pool-2-thread-1" [_thread_blocked, > id=15192, stack(0x0000000ccae00000,0x0000000ccaf00000)] > > 0x000001e0f613a5e0 JavaThread "DestroyJavaVM" [_thread_blocked, > id=29648, stack(0x0000000cc9600000,0x0000000cc9700000)] > > 0x000001e0f5c14970 JavaThread "C2 CompilerThread1" daemon > [_thread_blocked, id=1204, stack(0x0000000ccb800000,0x0000000ccb900000)] > > Other Threads: > > 0x000001e0f18b98e0 VMThread "VM Thread" [stack: > 0x0000000cc9c00000,0x0000000cc9d00000] [id=25684] > > 0x000001e0f5d40800 WatcherThread "VM Periodic Task Thread" [stack: > 0x0000000cca700000,0x0000000cca800000] [id=21296] > > 0x000001e0d5606770 WorkerThread "GC Thread#0" [stack: > 0x0000000cc9700000,0x0000000cc9800000] [id=12912] > > 0x000001e0f67fe9a0 WorkerThread "GC Thread#1" [stack: > 0x0000000ccaf00000,0x0000000ccb000000] [id=27552] > > 0x000001e0f67fec70 WorkerThread "GC Thread#2" [stack: > 0x0000000ccb000000,0x0000000ccb100000] [id=6156] > > 0x000001e0f7b1a850 WorkerThread "GC Thread#3" [stack: > 0x0000000ccb100000,0x0000000ccb200000] [id=8612] > > 0x000001e0f7b1ab20 WorkerThread "GC Thread#4" [stack: > 0x0000000ccb200000,0x0000000ccb300000] [id=16552] > > 0x000001e0f7acb140 WorkerThread "GC Thread#5" [stack: > 0x0000000ccb300000,0x0000000ccb400000] [id=27916] > > 0x000001e0f7acaba0 WorkerThread "GC Thread#6" [stack: > 0x0000000ccb400000,0x0000000ccb500000] [id=11396] > > 0x000001e0f7acb410 WorkerThread "GC Thread#7" [stack: > 0x0000000ccb500000,0x0000000ccb600000] [id=15224] > > 0x000001e0d56106e0 ConcurrentGCThread "G1 Main Marker" [stack: > 0x0000000cc9800000,0x0000000cc9900000] [id=23116] > > 0x000001e0d5611110 WorkerThread "G1 Conc#0" [stack: > 0x0000000cc9900000,0x0000000cc9a00000] [id=14660] > > 0x000001e0f7acbc80 WorkerThread "G1 Conc#1" [stack: > 0x0000000ccb600000,0x0000000ccb700000] [id=12876] > > 0x000001e0d568ebc0 ConcurrentGCThread "G1 Refine#0" [stack: > 0x0000000cc9a00000,0x0000000cc9b00000] [id=29724] > > 0x000001e0f1775930 ConcurrentGCThread "G1 Service" [stack: > 0x0000000cc9b00000,0x0000000cc9c00000] [id=15468] > > Threads with active compile tasks: > > VM state: not at safepoint (normal execution) > > VM Mutex/Monitor currently owned by a thread: None > > Heap address: 0x00000000c0000000, size: 1024 MB, Compressed Oops mode: > 32-bit > > CDS archive(s) mapped at: > [0x0000000800000000-0x0000000800c40000-0x0000000800c40000), size > 12845056, SharedBaseAddress: 0x0000000800000000, ArchiveRelocationMode: 0. > > Compressed class space mapped at: > 0x0000000801000000-0x0000000841000000, reserved size: 1073741824 > > Narrow klass base: 0x0000000800000000, Narrow klass shift: 0, Narrow > klass range: 0x100000000 > > GC Precious Log: > > CardTable entry size: 512 > > Card Set container configuration: InlinePtr #cards 5 size 8 Array Of > Cards #cards 12 size 40 Howl #buckets 4 coarsen threshold 1843 Howl > Bitmap #cards 512 size 80 coarsen threshold 460 Card regions per heap > region 1 cards per card region 2048 > > CPUs: 8 total, 8 available > > Memory: 16107M > > Large Page Support: Disabled > > NUMA Support: Disabled > > Compressed Oops: Enabled (32-bit) > > Heap Region Size: 1M > > Heap Min Capacity: 8M > > Heap Initial Capacity: 252M > > Heap Max Capacity: 1G > > Pre-touch: Disabled > > Parallel Workers: 8 > > Concurrent Workers: 2 > > Concurrent Refinement Workers: 8 > > Periodic GC: Disabled > > Heap: > > garbage-first heap total 45056K, used 35782K [0x00000000c0000000, > 0x0000000100000000) > > region size 1024K, 21 young (21504K), 3 survivors (3072K) > > Metaspace used 29523K, committed 30464K, reserved 1114112K > > class space used 1312K, committed 1728K, reserved 1048576K > > Heap Regions: E=young(eden), S=young(survivor), O=old, > HS=humongous(starts), HC=humongous(continues), CS=collection set, > F=free, OA=open archive, CA=closed archive, TAMS=top-at-mark-start > (previous, next) > > | 0|0x00000000c0000000, 0x00000000c0100000, > 0x00000000c0100000|100%|HS| |TAMS 0x00000000c0100000, > 0x00000000c0000000| Complete > > | 1|0x00000000c0100000, 0x00000000c0200000, > 0x00000000c0200000|100%|HC| |TAMS 0x00000000c0200000, > 0x00000000c0100000| Complete > > | 2|0x00000000c0200000, 0x00000000c0300000, > 0x00000000c0300000|100%|HS| |TAMS 0x00000000c0300000, > 0x00000000c0200000| Complete > > | 3|0x00000000c0300000, 0x00000000c0400000, > 0x00000000c0400000|100%|HC| |TAMS 0x00000000c0400000, > 0x00000000c0300000| Complete > > | 4|0x00000000c0400000, 0x00000000c0500000, > 0x00000000c0500000|100%|HC| |TAMS 0x00000000c0500000, > 0x00000000c0400000| Complete > > | 5|0x00000000c0500000, 0x00000000c0600000, 0x00000000c0600000|100%| > O| |TAMS 0x00000000c0600000, 0x00000000c0500000| Untracked > > | 6|0x00000000c0600000, 0x00000000c0700000, 0x00000000c0700000|100%| > O| |TAMS 0x00000000c0635600, 0x00000000c0600000| Untracked > > | 7|0x00000000c0700000, 0x00000000c0800000, 0x00000000c0800000|100%| > O| |TAMS 0x00000000c0700000, 0x00000000c0700000| Untracked > > | 8|0x00000000c0800000, 0x00000000c08ff400, 0x00000000c0900000| 99%| > O| |TAMS 0x00000000c0800000, 0x00000000c0800000| Untracked > > | 9|0x00000000c0900000, 0x00000000c0a00000, > 0x00000000c0a00000|100%|HS| |TAMS 0x00000000c0900000, > 0x00000000c0900000| Complete > > | 10|0x00000000c0a00000, 0x00000000c0b00000, > 0x00000000c0b00000|100%|HC| |TAMS 0x00000000c0a00000, > 0x00000000c0a00000| Complete > > | 11|0x00000000c0b00000, 0x00000000c0c00000, > 0x00000000c0c00000|100%|HC| |TAMS 0x00000000c0b00000, > 0x00000000c0b00000| Complete > > | 12|0x00000000c0c00000, 0x00000000c0d00000, > 0x00000000c0d00000|100%|HS| |TAMS 0x00000000c0c00000, > 0x00000000c0c00000| Complete > > | 13|0x00000000c0d00000, 0x00000000c0e00000, > 0x00000000c0e00000|100%|HC| |TAMS 0x00000000c0d00000, > 0x00000000c0d00000| Complete > > | 14|0x00000000c0e00000, 0x00000000c0f00000, > 0x00000000c0f00000|100%|HC| |TAMS 0x00000000c0e00000, > 0x00000000c0e00000| Complete > > | 15|0x00000000c0f00000, 0x00000000c1000000, > 0x00000000c1000000|100%|HC| |TAMS 0x00000000c0f00000, > 0x00000000c0f00000| Complete > > | 16|0x00000000c1000000, 0x00000000c1000000, 0x00000000c1100000| 0%| > F| |TAMS 0x00000000c1000000, 0x00000000c1000000| Untracked > > | 17|0x00000000c1100000, 0x00000000c1100000, 0x00000000c1200000| 0%| > F| |TAMS 0x00000000c1100000, 0x00000000c1100000| Untracked > > | 18|0x00000000c1200000, 0x00000000c1200000, 0x00000000c1300000| 0%| > F| |TAMS 0x00000000c1200000, 0x00000000c1200000| Untracked > > | 19|0x00000000c1300000, 0x00000000c1300000, 0x00000000c1400000| 0%| > F| |TAMS 0x00000000c1300000, 0x00000000c1300000| Untracked > > | 20|0x00000000c1400000, 0x00000000c1400000, 0x00000000c1500000| 0%| > F| |TAMS 0x00000000c1400000, 0x00000000c1400000| Untracked > > | 21|0x00000000c1500000, 0x00000000c1500000, 0x00000000c1600000| 0%| > F| |TAMS 0x00000000c1500000, 0x00000000c1500000| Untracked > > | 22|0x00000000c1600000, 0x00000000c1600000, 0x00000000c1700000| 0%| > F| |TAMS 0x00000000c1600000, 0x00000000c1600000| Untracked > > | 23|0x00000000c1700000, 0x00000000c17fce80, 0x00000000c1800000| 98%| > E| |TAMS 0x00000000c1700000, 0x00000000c1700000| Complete > > | 24|0x00000000c1800000, 0x00000000c1900000, 0x00000000c1900000|100%| > E|CS|TAMS 0x00000000c1800000, 0x00000000c1800000| Complete > > | 25|0x00000000c1900000, 0x00000000c1a00000, 0x00000000c1a00000|100%| > E|CS|TAMS 0x00000000c1900000, 0x00000000c1900000| Complete > > | 26|0x00000000c1a00000, 0x00000000c1b00000, 0x00000000c1b00000|100%| > E|CS|TAMS 0x00000000c1a00000, 0x00000000c1a00000| Complete > > | 27|0x00000000c1b00000, 0x00000000c1c00000, 0x00000000c1c00000|100%| > E| |TAMS 0x00000000c1b00000, 0x00000000c1b00000| Complete > > | 28|0x00000000c1c00000, 0x00000000c1d00000, 0x00000000c1d00000|100%| > E|CS|TAMS 0x00000000c1c00000, 0x00000000c1c00000| Complete > > | 29|0x00000000c1d00000, 0x00000000c1e00000, 0x00000000c1e00000|100%| > E|CS|TAMS 0x00000000c1d00000, 0x00000000c1d00000| Complete > > | 30|0x00000000c1e00000, 0x00000000c1f00000, 0x00000000c1f00000|100%| > E|CS|TAMS 0x00000000c1e00000, 0x00000000c1e00000| Complete > > | 31|0x00000000c1f00000, 0x00000000c2000000, 0x00000000c2000000|100%| > E|CS|TAMS 0x00000000c1f00000, 0x00000000c1f00000| Complete > > | 32|0x00000000c2000000, 0x00000000c2100000, 0x00000000c2100000|100%| > E|CS|TAMS 0x00000000c2000000, 0x00000000c2000000| Complete > > | 33|0x00000000c2100000, 0x00000000c2200000, 0x00000000c2200000|100%| > E|CS|TAMS 0x00000000c2100000, 0x00000000c2100000| Complete > > | 34|0x00000000c2200000, 0x00000000c2300000, 0x00000000c2300000|100%| > E|CS|TAMS 0x00000000c2200000, 0x00000000c2200000| Complete > > | 35|0x00000000c2300000, 0x00000000c2400000, 0x00000000c2400000|100%| > E|CS|TAMS 0x00000000c2300000, 0x00000000c2300000| Complete > > | 36|0x00000000c2400000, 0x00000000c2500000, 0x00000000c2500000|100%| > E|CS|TAMS 0x00000000c2400000, 0x00000000c2400000| Complete > > | 37|0x00000000c2500000, 0x00000000c2600000, 0x00000000c2600000|100%| > E|CS|TAMS 0x00000000c2500000, 0x00000000c2500000| Complete > > | 38|0x00000000c2600000, 0x00000000c2700000, 0x00000000c2700000|100%| > E|CS|TAMS 0x00000000c2600000, 0x00000000c2600000| Complete > > | 39|0x00000000c2700000, 0x00000000c2800000, 0x00000000c2800000|100%| > E|CS|TAMS 0x00000000c2700000, 0x00000000c2700000| Complete > > | 242|0x00000000cf200000, 0x00000000cf2f2770, 0x00000000cf300000| 94%| > S|CS|TAMS 0x00000000cf200000, 0x00000000cf200000| Complete > > | 243|0x00000000cf300000, 0x00000000cf400000, 0x00000000cf400000|100%| > S|CS|TAMS 0x00000000cf300000, 0x00000000cf300000| Complete > > | 244|0x00000000cf400000, 0x00000000cf500000, 0x00000000cf500000|100%| > S|CS|TAMS 0x00000000cf400000, 0x00000000cf400000| Complete > > | 251|0x00000000cfb00000, 0x00000000cfc00000, 0x00000000cfc00000|100%| > E|CS|TAMS 0x00000000cfb00000, 0x00000000cfb00000| Complete > > Card table byte_map: [0x000001e0eca50000,0x000001e0ecc50000] > _byte_map_base: 0x000001e0ec450000 > > Marking Bits (Prev, Next): (CMBitMap*) 0x000001e0d5606de0, (CMBitMap*) > 0x000001e0d5606da0 > > Prev Bits: [0x000001e0ede50000, 0x000001e0eee50000) > > Next Bits: [0x000001e0ece50000, 0x000001e0ede50000) > > Polling page: 0x000001e0d3570000 > > Metaspace: > > Usage: > > Non-class: 27.55 MB used. > > Class: 1.28 MB used. > > Both: 28.83 MB used. > > Virtual space: > > Non-class space: 64.00 MB reserved, 28.06 MB ( 44%) committed, 1 nodes. > > Class space: 1.00 GB reserved, 1.69 MB ( <1%) committed, 1 nodes. > > Both: 1.06 GB reserved, 29.75 MB ( 3%) committed. > > Chunk freelists: > > Non-Class: 3.96 MB > > Class: 2.19 MB > > Both: 6.15 MB > > MaxMetaspaceSize: unlimited > > CompressedClassSpaceSize: 1.00 GB > > Initial GC threshold: 21.00 MB > > Current GC threshold: 35.12 MB > > CDS: on > > MetaspaceReclaimPolicy: balanced > > - commit_granule_bytes: 65536. > > - commit_granule_words: 8192. > > - virtual_space_node_default_size: 8388608. > > - enlarge_chunks_in_place: 1. > > - new_chunks_are_fully_committed: 0. > > - uncommit_free_chunks: 1. > > - use_allocation_guard: 0. > > Internal statistics: > > num_allocs_failed_limit: 3. > > num_arena_births: 1398. > > num_arena_deaths: 0. > > num_vsnodes_births: 2. > > num_vsnodes_deaths: 0. > > num_space_committed: 473. > > num_space_uncommitted: 0. > > num_chunks_returned_to_freelist: 3. > > num_chunks_taken_from_freelist: 2104. > > num_chunk_merges: 3. > > num_chunk_splits: 1631. > > num_chunks_enlarged: 1180. > > num_inconsistent_stats: 0. > > CodeHeap 'non-profiled nmethods': size=120000Kb used=742Kb > max_used=742Kb free=119257Kb > > bounds [0x000001e0e4ff0000, 0x000001e0e5260000, 0x000001e0ec520000] > > CodeHeap 'profiled nmethods': size=120000Kb used=2447Kb > max_used=2447Kb free=117552Kb > > bounds [0x000001e0dd520000, 0x000001e0dd790000, 0x000001e0e4a50000] > > CodeHeap 'non-nmethods': size=5760Kb used=2648Kb max_used=2663Kb > free=3111Kb > > bounds [0x000001e0e4a50000, 0x000001e0e4cf0000, 0x000001e0e4ff0000] > > total_blobs=2825 nmethods=1617 adapters=1064 > > compilation: enabled > > stopped_count=0, restarted_count=0 > > full_count=0 > > Compilation events (20 events): > > Event: 1.150 Thread 0x000001e0f5c15fb0 nmethod 1602 0x000001e0dd77d410 > code [0x000001e0dd77d760, 0x000001e0dd77ea28] > > Event: 1.150 Thread 0x000001e0f5c15fb0 1605 3 > java.lang.invoke.LambdaFormBuffer::endEdit (313 bytes) > > Event: 1.151 Thread 0x000001e0f5c075f0 nmethod 1601 0x000001e0e50a7c10 > code [0x000001e0e50a7da0, 0x000001e0e50a7ef8] > > Event: 1.151 Thread 0x000001e0f5c15fb0 nmethod 1605 0x000001e0dd77f010 > code [0x000001e0dd77f280, 0x000001e0dd7800b8] > > Event: 1.151 Thread 0x000001e0f5c15fb0 1606 3 > java.util.zip.ZipFile$ZipFileInputStream::initDataOffset (117 bytes) > > Event: 1.152 Thread 0x000001e0f5c15fb0 nmethod 1606 0x000001e0dd780490 > code [0x000001e0dd7806c0, 0x000001e0dd780e88] > > Event: 1.152 Thread 0x000001e0f5c15fb0 1607 ! 3 > java.util.zip.ZipFile$Source::readAt (39 bytes) > > Event: 1.152 Thread 0x000001e0f5c15fb0 nmethod 1607 0x000001e0dd781190 > code [0x000001e0dd781360, 0x000001e0dd781698] > > Event: 1.152 Thread 0x000001e0f5c15fb0 1609 3 > java.util.ImmutableCollections$List12::toArray (41 bytes) > > Event: 1.152 Thread 0x000001e0f5c15fb0 nmethod 1609 0x000001e0dd781910 > code [0x000001e0dd781ae0, 0x000001e0dd782258] > > Event: 1.152 Thread 0x000001e0f5c15fb0 1608 3 > java.util.ArrayList::toArray (12 bytes) > > Event: 1.152 Thread 0x000001e0f5c15fb0 nmethod 1608 0x000001e0dd782390 > code [0x000001e0dd782540, 0x000001e0dd782748] > > Event: 1.152 Thread 0x000001e0f5c15fb0 1610 3 > jdk.internal.foreign.abi.BindingSpecializer::popType (9 bytes) > > Event: 1.152 Thread 0x000001e0f5c15fb0 nmethod 1610 0x000001e0dd782890 > code [0x000001e0dd782a40, 0x000001e0dd782ba8] > > Event: 1.152 Thread 0x000001e0f5c15fb0 1611 3 > jdk.internal.foreign.abi.BindingSpecializer$$Lambda$167/0x00000008010bdd10::test > (12 bytes) > > Event: 1.152 Thread 0x000001e0f5c15fb0 nmethod 1611 0x000001e0dd782c90 > code [0x000001e0dd782e40, 0x000001e0dd783298] > > Event: 1.153 Thread 0x000001e0f5c14970 nmethod 1598 0x000001e0e50a8c10 > code [0x000001e0e50a8e20, 0x000001e0e50a9468] > > Event: 1.154 Thread 0x000001e0f5c15fb0 1616 3 > java.util.concurrent.ConcurrentHashMap::values (25 bytes) > > Event: 1.154 Thread 0x000001e0f5c15fb0 nmethod 1616 0x000001e0dd783390 > code [0x000001e0dd783560, 0x000001e0dd783918] > > Event: 1.154 Thread 0x000001e0f5c15fb0 1617 3 > java.util.concurrent.ConcurrentHashMap$ValuesView::iterator (34 bytes) > > GC Heap History (4 events): > > Event: 0.578 GC heap before > > {Heap before GC invocations=0 (full 0): > > garbage-first heap total 258048K, used 27648K [0x00000000c0000000, > 0x0000000100000000) > > region size 1024K, 23 young (23552K), 0 survivors (0K) > > Metaspace used 16675K, committed 17024K, reserved 1114112K > > class space used 933K, committed 1088K, reserved 1048576K > > } > > Event: 0.582 GC heap after > > {Heap after GC invocations=1 (full 0): > > garbage-first heap total 258048K, used 9429K [0x00000000c0000000, > 0x0000000100000000) > > region size 1024K, 3 young (3072K), 3 survivors (3072K) > > Metaspace used 16675K, committed 17024K, reserved 1114112K > > class space used 933K, committed 1088K, reserved 1048576K > > } > > Event: 0.638 GC heap before > > {Heap before GC invocations=1 (full 0): > > garbage-first heap total 258048K, used 14549K [0x00000000c0000000, > 0x0000000100000000) > > region size 1024K, 10 young (10240K), 3 survivors (3072K) > > Metaspace used 21212K, committed 21504K, reserved 1114112K > > class space used 933K, committed 1088K, reserved 1048576K > > } > > Event: 0.641 GC heap after > > {Heap after GC invocations=2 (full 0): > > garbage-first heap total 258048K, used 12230K [0x00000000c0000000, > 0x0000000100000000) > > region size 1024K, 3 young (3072K), 3 survivors (3072K) > > Metaspace used 21212K, committed 21504K, reserved 1114112K > > class space used 933K, committed 1088K, reserved 1048576K > > } > > Dll operation events (15 events): > > Event: 0.005 Loaded shared library C:\Program > Files\Java\jdk-19.0.2\bin\java.dll > > Event: 0.015 Loaded shared library C:\Program > Files\Java\jdk-19.0.2\bin\jsvml.dll > > Event: 0.073 Loaded shared library C:\Program > Files\Java\jdk-19.0.2\bin\jimage.dll > > Event: 0.077 Loaded shared library C:\Program > Files\Java\jdk-19.0.2\bin\awt.dll > > Event: 0.101 Loaded shared library C:\Program > Files\Java\jdk-19.0.2\bin\net.dll > > Event: 0.102 Loaded shared library C:\Program > Files\Java\jdk-19.0.2\bin\nio.dll > > Event: 0.105 Loaded shared library C:\Program > Files\Java\jdk-19.0.2\bin\zip.dll > > Event: 0.394 Loaded shared library C:\Program > Files\Java\jdk-19.0.2\bin\freetype.dll > > Event: 0.395 Loaded shared library C:\Program > Files\Java\jdk-19.0.2\bin\fontmanager.dll > > Event: 0.415 Loaded shared library C:\Windows\System32\opengl32.dll > > Event: 0.415 Loaded shared library C:\Windows\System32\glu32.dll > > Event: 0.417 Loaded shared library > C:\Users\Martin\Downloads\freeglut-MSVC-3.0.0-2.mp\freeglut\bin\x64\freeglut.dll > > Event: 0.417 Loaded shared library C:\Windows\System32\user32.dll > > Event: 0.417 Loaded shared library C:\Windows\System32\gdi32.dll > > Event: 0.417 Loaded shared library C:\Windows\System32\kernel32.dll > > Deoptimization events (20 events): > > Event: 0.975 Thread 0x000001e0f18d9cc0 Uncommon trap: > trap_request=0xffffff45 fr.pc=0x000001e0e504e070 > relative=0x0000000000001b50 > > Event: 0.975 Thread 0x000001e0f18d9cc0 Uncommon trap: > reason=unstable_if action=reinterpret pc=0x000001e0e504e070 > method=jdk.internal.org.objectweb.asm.Frame.execute(IILjdk/internal/org/objectweb/asm/Symbol;Ljdk/internal/org/objectweb/asm/SymbolTable;)V > @ 1 c2 > > Event: 0.975 Thread 0x000001e0f18d9cc0 DEOPT PACKING > pc=0x000001e0e504e070 sp=0x0000000ccadfd0e0 > > Event: 0.975 Thread 0x000001e0f18d9cc0 DEOPT UNPACKING > pc=0x000001e0e4a6aba3 sp=0x0000000ccadfd068 mode 2 > > Event: 0.975 Thread 0x000001e0f18d9cc0 Uncommon trap: > trap_request=0xffffff45 fr.pc=0x000001e0e5066e58 > relative=0x00000000000004d8 > > Event: 0.975 Thread 0x000001e0f18d9cc0 Uncommon trap: > reason=unstable_if action=reinterpret pc=0x000001e0e5066e58 > method=jdk.internal.org.objectweb.asm.MethodWriter.visitVarInsn(II)V @ > 242 c2 > > Event: 0.975 Thread 0x000001e0f18d9cc0 DEOPT PACKING > pc=0x000001e0e5066e58 sp=0x0000000ccadfd150 > > Event: 0.975 Thread 0x000001e0f18d9cc0 DEOPT UNPACKING > pc=0x000001e0e4a6aba3 sp=0x0000000ccadfd0f8 mode 2 > > Event: 1.045 Thread 0x000001e0f18d9cc0 Uncommon trap: > trap_request=0xffffff45 fr.pc=0x000001e0e5079b24 > relative=0x0000000000000844 > > Event: 1.045 Thread 0x000001e0f18d9cc0 Uncommon trap: > reason=unstable_if action=reinterpret pc=0x000001e0e5079b24 > method=jdk.internal.org.objectweb.asm.Frame.getAbstractTypeFromDescriptor(Ljdk/internal/org/objectweb/asm/SymbolTable;Ljava/lang/String;I)I > @ 5 c2 > > Event: 1.045 Thread 0x000001e0f18d9cc0 DEOPT PACKING > pc=0x000001e0e5079b24 sp=0x0000000ccadfd1b0 > > Event: 1.045 Thread 0x000001e0f18d9cc0 DEOPT UNPACKING > pc=0x000001e0e4a6aba3 sp=0x0000000ccadfd170 mode 2 > > Event: 1.064 Thread 0x000001e0f18d9cc0 Uncommon trap: > trap_request=0xffffff45 fr.pc=0x000001e0e506d798 > relative=0x0000000000000078 > > Event: 1.064 Thread 0x000001e0f18d9cc0 Uncommon trap: > reason=unstable_if action=reinterpret pc=0x000001e0e506d798 > method=jdk.internal.foreign.MemorySessionImpl.checkValidStateRaw()V @ 4 c2 > > Event: 1.064 Thread 0x000001e0f18d9cc0 DEOPT PACKING > pc=0x000001e0e506d798 sp=0x0000000ccadfe540 > > Event: 1.064 Thread 0x000001e0f18d9cc0 DEOPT UNPACKING > pc=0x000001e0e4a6aba3 sp=0x0000000ccadfe4e0 mode 2 > > Event: 1.149 Thread 0x000001e0f18d9cc0 Uncommon trap: > trap_request=0xffffff45 fr.pc=0x000001e0e50a6ac4 > relative=0x0000000000000204 > > Event: 1.149 Thread 0x000001e0f18d9cc0 Uncommon trap: > reason=unstable_if action=reinterpret pc=0x000001e0e50a6ac4 > method=jdk.internal.org.objectweb.asm.Type.getTypeInternal(Ljava/lang/String;II)Ljdk/internal/org/objectweb/asm/Type; > @ 5 c2 > > Event: 1.149 Thread 0x000001e0f18d9cc0 DEOPT PACKING > pc=0x000001e0e50a6ac4 sp=0x0000000ccadfd8c0 > > Event: 1.149 Thread 0x000001e0f18d9cc0 DEOPT UNPACKING > pc=0x000001e0e4a6aba3 sp=0x0000000ccadfd858 mode 2 > > Classes loaded (20 events): > > Event: 1.127 Loading class java/awt/im/InputMethodRequests > > Event: 1.127 Loading class java/awt/im/InputMethodRequests done > > Event: 1.127 Loading class java/awt/im/spi/InputMethodContext done > > Event: 1.127 Loading class sun/awt/im/InputContext > > Event: 1.127 Loading class sun/awt/im/InputContext done > > Event: 1.127 Loading class sun/awt/im/InputMethodContext done > > Event: 1.127 Loading class sun/awt/windows/WInputMethod > > Event: 1.127 Loading class sun/awt/im/InputMethodAdapter > > Event: 1.127 Loading class java/awt/im/spi/InputMethod > > Event: 1.127 Loading class java/awt/im/spi/InputMethod done > > Event: 1.127 Loading class sun/awt/im/InputMethodAdapter done > > Event: 1.127 Loading class sun/awt/windows/WInputMethod done > > Event: 1.128 Loading class java/awt/event/MouseWheelEvent > > Event: 1.129 Loading class java/awt/event/MouseWheelEvent done > > Event: 1.129 Loading class java/awt/TextComponent > > Event: 1.129 Loading class java/awt/TextComponent done > > Event: 1.129 Loading class javax/swing/text/JTextComponent > > Event: 1.129 Loading class javax/swing/Scrollable > > Event: 1.129 Loading class javax/swing/Scrollable done > > Event: 1.129 Loading class javax/swing/text/JTextComponent done > > Classes unloaded (0 events): > > No events > > Classes redefined (0 events): > > No events > > Internal exceptions (20 events): > > Event: 1.058 Thread 0x000001e0f18d9cc0 Exception 'java/lang/NoSuchMethodError'{0x00000000c19fe608}: 'void > java.lang.invoke.DirectMethodHandle$Holder.invokeSpecial(java.lang.Object, > java.lang.Object, long, int)'> (0x00000000c19fe608) > > thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] > > Event: 1.061 Thread 0x000001e0f18d9cc0 Exception 'java/lang/NoSuchMethodError'{0x00000000c1819d48}: 'void > java.lang.invoke.DirectMethodHandle$Holder.invokeStaticInit(java.lang.Object, > java.lang.Object, java.lang.Object, float, float, float)'> > (0x00000000c1819d48) > > thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] > > Event: 1.061 Thread 0x000001e0f18d9cc0 Exception 'java/lang/NoSuchMethodError'{0x00000000c1821648}: 'void > java.lang.invoke.DelegatingMethodHandle$Holder.reinvoke_L(java.lang.Object, > java.lang.Object, java.lang.Object, float, float, float)'> > (0x00000000c1821648) > > thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] > > Event: 1.063 Thread 0x000001e0f18d9cc0 Exception 'java/lang/NoSuchMethodError'{0x00000000c1839f50}: 'java.lang.Object > java.lang.invoke.DirectMethodHandle$Holder.invokeStatic(java.lang.Object, > long, java.lang.Object)'> (0x00000000c1839f50) > > thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] > > Event: 1.063 Thread 0x000001e0f18d9cc0 Exception 'java/lang/NoSuchMethodError'{0x00000000c1840818}: 'java.lang.Object > java.lang.invoke.DirectMethodHandle$Holder.newInvokeSpecial(java.lang.Object, > long, java.lang.Object)'> (0x00000000c1840818) > > thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] > > Event: 1.066 Thread 0x000001e0f18d9cc0 Exception 'java/lang/NoSuchMethodError'{0x00000000c1851960}: 'void > java.lang.invoke.DirectMethodHandle$Holder.invokeSpecial(java.lang.Object, > java.lang.Object, int, int, java.lang.Object)'> (0x00000000c1851960) > > thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] > > Event: 1.067 Thread 0x000001e0f18d9cc0 Exception 'java/lang/NoSuchMethodError'{0x00000000c1868c20}: 'void > java.lang.invoke.DelegatingMethodHandle$Holder.reinvoke_L(java.lang.Object, > java.lang.Object, java.lang.Object, long, float)'> (0x00000000c1868c20) > > thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] > > Event: 1.071 Thread 0x000001e0f18d9cc0 Exception 'java/lang/NoSuchMethodError'{0x00000000c188d318}: 'void > java.lang.invoke.DirectMethodHandle$Holder.invokeStatic(java.lang.Object, > java.lang.Object, java.lang.Object)'> (0x00000000c188d318) > > thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] > > Event: 1.071 Thread 0x000001e0f18d9cc0 Exception 'java/lang/NoSuchMethodError'{0x00000000c1890ce0}: 'void > java.lang.invoke.DirectMethodHandle$Holder.invokeStaticInit(java.lang.Object, > java.lang.Object, java.lang.Object)'> (0x00000000c1890ce0) > > thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] > > Event: 1.134 Thread 0x000001e0f18d9cc0 Exception 'java/lang/NoSuchMethodError'{0x00000000c18c6ea8}: 'void > java.lang.invoke.DirectMethodHandle$Holder.invokeStaticInit(java.lang.Object, > java.lang.Object, java.lang.Object, double, double)'> > (0x00000000c18c6ea8) > > thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] > > Event: 1.135 Thread 0x000001e0f18d9cc0 Exception 'java/lang/NoSuchMethodError'{0x00000000c18ce420}: 'void > java.lang.invoke.DelegatingMethodHandle$Holder.reinvoke_L(java.lang.Object, > java.lang.Object, java.lang.Object, double, double)'> > (0x00000000c18ce420) > > thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] > > Event: 1.143 Thread 0x000001e0f18d9cc0 Exception 'java/lang/NoSuchMethodError'{0x00000000c18e9e00}: 'void > java.lang.invoke.DirectMethodHandle$Holder.invokeSpecial(java.lang.Object, > java.lang.Object, int, int, int, int)'> (0x00000000c18e9e00) > > thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] > > Event: 1.145 Thread 0x000001e0f18d9cc0 Exception 'java/lang/NoSuchMethodError'{0x00000000c170ccd8}: 'void > java.lang.invoke.DirectMethodHandle$Holder.invokeStaticInit(java.lang.Object, > java.lang.Object, java.lang.Object, int, java.lang.Object, > java.lang.Object)'> (0x00000000c170ccd8) > > thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] > > Event: 1.145 Thread 0x000001e0f18d9cc0 Exception 'java/lang/NoSuchMethodError'{0x00000000c17145a0}: 'void > java.lang.invoke.DelegatingMethodHandle$Holder.reinvoke_L(java.lang.Object, > java.lang.Object, java.lang.Object, int, java.lang.Object, > java.lang.Object)'> (0x00000000c17145a0) > > thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] > > Event: 1.147 Thread 0x000001e0f18d9cc0 Exception 'java/lang/NoSuchMethodError'{0x00000000c1726d98}: 'void > java.lang.invoke.Invokers$Holder.invokeExact_MT(java.lang.Object, > java.lang.Object)'> (0x00000000c1726d98) > > thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] > > Event: 1.147 Thread 0x000001e0f18d9cc0 Exception 'java/lang/NoSuchMethodError'{0x00000000c172aaa0}: 'void > java.lang.invoke.DirectMethodHandle$Holder.invokeSpecial(java.lang.Object, > java.lang.Object, long)'> (0x00000000c172aaa0) > > thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] > > Event: 1.147 Thread 0x000001e0f18d9cc0 Exception 'java/lang/NoSuchMethodError'{0x00000000c172e0a8}: 'void > java.lang.invoke.Invokers$Holder.invokeExact_MT(java.lang.Object, > long, java.lang.Object)'> (0x00000000c172e0a8) > > thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] > > Event: 1.150 Thread 0x000001e0f18d9cc0 Exception 'java/lang/NoSuchMethodError'{0x00000000c174fe60}: 'void > java.lang.invoke.DirectMethodHandle$Holder.invokeStaticInit(java.lang.Object, > java.lang.Object, java.lang.Object, double, double, double, double)'> > (0x00000000c174fe60) > > thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] > > Event: 1.150 Thread 0x000001e0f18d9cc0 Exception 'java/lang/NoSuchMethodError'{0x00000000c1757728}: 'void > java.lang.invoke.DelegatingMethodHandle$Holder.reinvoke_L(java.lang.Object, > java.lang.Object, java.lang.Object, double, double, double, double)'> > (0x00000000c1757728) > > thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] > > Event: 1.152 Thread 0x000001e0f18d9cc0 Exception 'java/lang/NoSuchMethodError'{0x00000000c1778378}: 'void > java.lang.invoke.DirectMethodHandle$Holder.invokeSpecial(java.lang.Object, > java.lang.Object, float, float, float)'> (0x00000000c1778378) > > thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] > > VM Operations (14 events): > > Event: 0.111 Executing VM operation: HandshakeAllThreads > > Event: 0.111 Executing VM operation: HandshakeAllThreads done > > Event: 0.242 Executing VM operation: HandshakeAllThreads > > Event: 0.242 Executing VM operation: HandshakeAllThreads done > > Event: 0.578 Executing VM operation: G1CollectForAllocation > > Event: 0.582 Executing VM operation: G1CollectForAllocation done > > Event: 0.638 Executing VM operation: CollectForMetadataAllocation > > Event: 0.641 Executing VM operation: CollectForMetadataAllocation done > > Event: 0.644 Executing VM operation: G1PauseRemark > > Event: 0.645 Executing VM operation: G1PauseRemark done > > Event: 0.645 Executing VM operation: G1PauseCleanup > > Event: 0.650 Executing VM operation: G1PauseCleanup done > > Event: 1.114 Executing VM operation: HandshakeAllThreads > > Event: 1.114 Executing VM operation: HandshakeAllThreads done > > Events (20 events): > > Event: 0.025 Thread 0x000001e0f18d2660 Thread added: 0x000001e0f18d2660 > > Event: 0.025 Thread 0x000001e0f18dacb0 Thread added: 0x000001e0f18dacb0 > > Event: 0.025 Thread 0x000001e0f18d7ce0 Thread added: 0x000001e0f18d7ce0 > > Event: 0.026 Thread 0x000001e0f18d8cd0 Thread added: 0x000001e0f18d8cd0 > > Event: 0.026 Thread 0x000001e0f18da210 Thread added: 0x000001e0f18da210 > > Event: 0.026 Thread 0x000001e0f5c075f0 Thread added: 0x000001e0f5c075f0 > > Event: 0.026 Thread 0x000001e0f5c15fb0 Thread added: 0x000001e0f5c15fb0 > > Event: 0.026 Thread 0x000001e0f18d7790 Thread added: 0x000001e0f18d7790 > > Event: 0.055 Thread 0x000001e0f18d9220 Thread added: 0x000001e0f18d9220 > > Event: 0.058 Thread 0x000001e0f18d6cf0 Thread added: 0x000001e0f18d6cf0 > > Event: 0.122 Thread 0x000001e0f5c13330 Thread added: 0x000001e0f5c13330 > > Event: 0.154 Thread 0x000001e0f18d8230 Thread added: 0x000001e0f18d8230 > > Event: 0.155 Thread 0x000001e0f18d9770 Thread added: 0x000001e0f18d9770 > > Event: 0.159 Thread 0x000001e0f18d8780 Thread added: 0x000001e0f18d8780 > > Event: 0.375 Thread 0x000001e0f18d9cc0 Thread added: 0x000001e0f18d9cc0 > > Event: 0.375 Thread 0x000001e0f18d7240 Thread added: 0x000001e0f18d7240 > > Event: 0.375 Thread 0x000001e0d55c46e0 Thread exited: 0x000001e0d55c46e0 > > Event: 0.375 Thread 0x000001e0f613a5e0 Thread added: 0x000001e0f613a5e0 > > Event: 0.714 Thread 0x000001e0f5c13330 Thread exited: 0x000001e0f5c13330 > > Event: 0.915 Thread 0x000001e0f5c14970 Thread added: 0x000001e0f5c14970 > > Dynamic libraries: > > 0x00007ff6151c0000 - 0x00007ff6151ce000 C:\Program > Files\Java\jdk-19.0.2\bin\javaw.exe > > 0x00007ff899050000 - 0x00007ff899248000 C:\Windows\SYSTEM32\ntdll.dll > > 0x00007ff898860000 - 0x00007ff89891f000 C:\Windows\System32\KERNEL32.DLL > > 0x00007ff896960000 - 0x00007ff896c32000 C:\Windows\System32\KERNELBASE.dll > > 0x00007ff896e50000 - 0x00007ff896f50000 C:\Windows\System32\ucrtbase.dll > > 0x00007ff88b480000 - 0x00007ff88b49b000 C:\Program > Files\Java\jdk-19.0.2\bin\VCRUNTIME140.dll > > 0x00007ff881a90000 - 0x00007ff881aa7000 C:\Program > Files\Java\jdk-19.0.2\bin\jli.dll > > 0x00007ff8986b0000 - 0x00007ff898851000 C:\Windows\System32\USER32.dll > > 0x00007ff87f7c0000 - 0x00007ff87fa5a000 > C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.19041.1110_none_60b5254171f9507e\COMCTL32.dll > > 0x00007ff896f50000 - 0x00007ff896f72000 C:\Windows\System32\win32u.dll > > 0x00007ff897320000 - 0x00007ff89734b000 C:\Windows\System32\GDI32.dll > > 0x00007ff898e60000 - 0x00007ff898efe000 C:\Windows\System32\msvcrt.dll > > 0x00007ff896f80000 - 0x00007ff89708f000 C:\Windows\System32\gdi32full.dll > > 0x00007ff896740000 - 0x00007ff8967dd000 C:\Windows\System32\msvcp_win.dll > > 0x00007ff898e20000 - 0x00007ff898e52000 C:\Windows\System32\IMM32.DLL > > 0x00007ff88b460000 - 0x00007ff88b46c000 C:\Program > Files\Java\jdk-19.0.2\bin\vcruntime140_1.dll > > 0x00007ff868400000 - 0x00007ff86848e000 C:\Program > Files\Java\jdk-19.0.2\bin\msvcp140.dll > > 0x00007ff83f2d0000 - 0x00007ff83ff90000 C:\Program > Files\Java\jdk-19.0.2\bin\server\jvm.dll > > 0x00007ff8970f0000 - 0x00007ff89719e000 C:\Windows\System32\ADVAPI32.dll > > 0x00007ff898f60000 - 0x00007ff898ffc000 C:\Windows\System32\sechost.dll > > 0x00007ff897350000 - 0x00007ff897475000 C:\Windows\System32\RPCRT4.dll > > 0x00007ff88fae0000 - 0x00007ff88fae9000 C:\Windows\SYSTEM32\WSOCK32.dll > > 0x00007ff890fa0000 - 0x00007ff890fc7000 C:\Windows\SYSTEM32\WINMM.dll > > 0x00007ff88eed0000 - 0x00007ff88eeda000 C:\Windows\SYSTEM32\VERSION.dll > > 0x00007ff898db0000 - 0x00007ff898e1b000 C:\Windows\System32\WS2_32.dll > > 0x00007ff894fa0000 - 0x00007ff894fb2000 > C:\Windows\SYSTEM32\kernel.appcore.dll > > 0x00007ff88d810000 - 0x00007ff88d81a000 C:\Program > Files\Java\jdk-19.0.2\bin\jimage.dll > > 0x00007ff8944b0000 - 0x00007ff894694000 C:\Windows\SYSTEM32\DBGHELP.DLL > > 0x00007ff88cb40000 - 0x00007ff88cb75000 C:\Windows\SYSTEM32\dbgcore.DLL > > 0x00007ff8968d0000 - 0x00007ff896952000 > C:\Windows\System32\bcryptPrimitives.dll > > 0x00007ff881950000 - 0x00007ff881976000 C:\Program > Files\Java\jdk-19.0.2\bin\java.dll > > 0x00007ff86a290000 - 0x00007ff86a367000 C:\Program > Files\Java\jdk-19.0.2\bin\jsvml.dll > > 0x00007ff897480000 - 0x00007ff897bc4000 C:\Windows\System32\SHELL32.dll > > 0x00007ff8947a0000 - 0x00007ff894f32000 > C:\Windows\SYSTEM32\windows.storage.dll > > 0x00007ff898920000 - 0x00007ff898c75000 C:\Windows\System32\combase.dll > > 0x00007ff8960c0000 - 0x00007ff8960f0000 C:\Windows\SYSTEM32\Wldp.dll > > 0x00007ff898c80000 - 0x00007ff898d2d000 C:\Windows\System32\SHCORE.dll > > 0x00007ff8971a0000 - 0x00007ff8971f5000 C:\Windows\System32\shlwapi.dll > > 0x00007ff896680000 - 0x00007ff89669f000 C:\Windows\SYSTEM32\profapi.dll > > 0x00007ff84de90000 - 0x00007ff84e020000 C:\Program > Files\Java\jdk-19.0.2\bin\awt.dll > > 0x00007ff897c90000 - 0x00007ff897d5d000 C:\Windows\System32\OLEAUT32.dll > > 0x00007ff88f8e0000 - 0x00007ff88f971000 C:\Windows\SYSTEM32\apphelp.dll > > 0x00007ff881820000 - 0x00007ff881833000 C:\Program > Files\Java\jdk-19.0.2\bin\net.dll > > 0x00007ff88fff0000 - 0x00007ff8900fc000 C:\Windows\SYSTEM32\WINHTTP.dll > > 0x00007ff895ea0000 - 0x00007ff895f0a000 C:\Windows\system32\mswsock.dll > > 0x00007ff8809d0000 - 0x00007ff8809e6000 C:\Program > Files\Java\jdk-19.0.2\bin\nio.dll > > 0x00007ff87fb70000 - 0x00007ff87fb88000 C:\Program > Files\Java\jdk-19.0.2\bin\zip.dll > > 0x00007ff891370000 - 0x00007ff89140e000 C:\Windows\system32\uxtheme.dll > > 0x00007ff897200000 - 0x00007ff897315000 C:\Windows\System32\MSCTF.dll > > 0x00007ff898370000 - 0x00007ff89849a000 C:\Windows\System32\ole32.dll > > 0x00007ff893cf0000 - 0x00007ff893d1f000 C:\Windows\system32\DWMAPI.DLL > > 0x00007ff85a270000 - 0x00007ff85a395000 C:\Windows\system32\opengl32.dll > > 0x00007ff85bb10000 - 0x00007ff85bb3c000 C:\Windows\SYSTEM32\GLU32.dll > > 0x00007ff85e900000 - 0x00007ff85e986000 C:\Program > Files\Java\jdk-19.0.2\bin\freetype.dll > > 0x00007ff8588d0000 - 0x00007ff858996000 C:\Program > Files\Java\jdk-19.0.2\bin\fontmanager.dll > > 0x00007ff85a900000 - 0x00007ff85a9a1000 > C:\Users\Martin\Downloads\freeglut-MSVC-3.0.0-2.mp\freeglut\bin\x64\freeglut.dll > > 0x00007ff8981e0000 - 0x00007ff89828f000 C:\Windows\System32\clbcatq.dll > > 0x00007ff88c4e0000 - 0x00007ff88c5d7000 > C:\Windows\System32\AppXDeploymentClient.dll > > 0x00007ff82e1a0000 - 0x00007ff82f24b000 > C:\Windows\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_c664ba079c9e0cd1\igxelpicd64.dll > > 0x00007ff894fc0000 - 0x00007ff8950b3000 C:\Windows\system32\dxgi.dll > > 0x00007ff84b760000 - 0x00007ff84b885000 > C:\Windows\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_c664ba079c9e0cd1\igdml64.dll > > 0x00007ff880140000 - 0x00007ff880552000 > C:\Windows\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_c664ba079c9e0cd1\igdgmm64.dll > > 0x00007ff896830000 - 0x00007ff896857000 C:\Windows\System32\bcrypt.dll > > 0x00007ff8777f0000 - 0x00007ff87bcda000 > C:\Windows\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_c664ba079c9e0cd1\igc64.dll > > 0x00007ff895cd0000 - 0x00007ff895d1b000 C:\Windows\SYSTEM32\powrprof.dll > > 0x00007ff895b40000 - 0x00007ff895b52000 C:\Windows\SYSTEM32\UMPDC.dll > > 0x00007ff86aa30000 - 0x00007ff86ab29000 > C:\Windows\SYSTEM32\textinputframework.dll > > 0x00007ff88eee0000 - 0x00007ff88f23e000 > C:\Windows\System32\CoreUIComponents.dll > > 0x00007ff88f240000 - 0x00007ff88f332000 > C:\Windows\System32\CoreMessaging.dll > > 0x00007ff8958b0000 - 0x00007ff8958e3000 C:\Windows\SYSTEM32\ntmarta.dll > > 0x00007ff890640000 - 0x00007ff890794000 C:\Windows\SYSTEM32\wintypes.dll > > dbghelp: loaded successfully - version: 4.0.5 - missing functions: none > > symbol engine: initialized successfully - sym options: 0x614 - pdb > path: .;C:\Program > Files\Java\jdk-19.0.2\bin;C:\Windows\SYSTEM32;C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.19041.1110_none_60b5254171f9507e;C:\Program > Files\Java\jdk-19.0.2\bin\server;C:\Users\Martin\Downloads\freeglut-MSVC-3.0.0-2.mp\freeglut\bin\x64;C:\Windows\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_c664ba079c9e0cd1 > > VM Arguments: > > jvm_args: > -Djava.library.path=C:\Windows\system32;C:\Users\Martin\Downloads\freeglut-MSVC-3.0.0-2.mp\freeglut\bin\x64 > -Dsun.java2d.d3d=false -Xmx1024M -Dfile.encoding=UTF-8 > --enable-preview -XX:+ShowCodeDetailsInExceptionMessages > > java_command: demos.panamagl.swing.DemoTeapot_Onscreen_Swing > -Dpanamagl.offscreen.OffscreenRenderer > > java_class_path (initial): > C:\Users\Martin\Dev\jzy3d\public\panama-gl\panama-gl-samples\target\classes;C:\Users\Martin\Dev\jzy3d\public\panama-gl\panama-gl-api\target\classes;C:\Users\Martin\Dev\jzy3d\public\panama-gl\panama-gl-ui-awt\target\classes;C:\Users\Martin\Dev\jzy3d\public\panama-gl\panama-gl-ui-swing\target\classes;C:\Users\Martin\Dev\jzy3d\public\panama-gl\panama-gl-wrappers-macos\target\classes;C:\Users\Martin\.m2\repository\org\jzy3d\panama-gl-bindings-macos\1.0.1-SNAPSHOT\panama-gl-bindings-macos-1.0.1-SNAPSHOT.jar;C:\Users\Martin\Dev\jzy3d\public\jzy3d-api\jzy3d-core\target\classes;C:\Users\Martin\Dev\jzy3d\public\jzy3d-api\jzy3d-jdt-core\target\classes;C:\Users\Martin\.m2\repository\commons-io\commons-io\2.7\commons-io-2.7.jar;C:\Users\Martin\.m2\repository\org\apache\commons\commons-lang3\3.12.0\commons-lang3-3.12.0.jar;C:\Users\Martin\.m2\repository\org\smurn\jply\0.2.1\jply-0.2.1.jar;C:\Users\Martin\.m2\repository\net\sf\opencsv\opencsv\2.1\opencsv-2.1.jar;C:\Users\Martin\.m2\repository\org\tallison\jmatio\1.5\jmatio-1.5.jar;C:\Users\Martin\.m2\repository\org\slf4j\slf4j-api\1.7.25\slf4j-api-1.7.25.jar;C:\Users\Martin\.m2\repository\com\diogonunes\JColor\5.2.0\JColor-5.2.0.jar;C:\Users\Martin\.m2\repository\net\java\dev\jna\jna\5.8.0\jna-5.8.0.jar;C:\Users\Martin\.m2\repository\net\java\dev\jna\jna-platform\5.8.0\jna-platform-5.8.0.jar;C:\Users\Martin\.m2\repository\org\apache\logging\log4j\log4j-api\2.17.1\log4j-api-2.17.1.jar;C:\Users\Martin\.m2\repository\org\apache\logging\log4j\log4j-core\2.17.1\log4j-core-2.17.1.jar;C:\Users\Martin\Dev\jzy3d\public\jzy3d-api\jzy3d-native-jogl-swing\target\classes;C:\Users\Martin\Dev\jzy3d\public\jzy3d-api\jzy3d-native-jogl-awt\target\classes;C:\Users\Martin\Dev\jzy3d\public\jzy3d-api\jzy3d-core-awt\target\classes;C:\Users\Martin\Dev\jzy3d\public\jzy3d-api\jzy3d-native-jogl-core\target\classes;C:\Users\Martin\.m2\repository\org\jogamp\jogl\jogl-all\v2.4.0-rc4\jogl-all-v2.4.0-rc4.jar;C:\Users\Martin\.m2\repository\org\jogamp\jogl\jogl-all-natives-linux-aarch64\v2.4.0-rc4\jogl-all-natives-linux-aarch64-v2.4.0-rc4.jar;C:\Users\Martin\.m2\repository\org\jogamp\jogl\jogl-all-natives-linux-amd64\v2.4.0-rc4\jogl-all-natives-linux-amd64-v2.4.0-rc4.jar;C:\Users\Martin\.m2\repository\org\jogamp\jogl\jogl-all-natives-linux-armv6hf\v2.4.0-rc4\jogl-all-natives-linux-armv6hf-v2.4.0-rc4.jar;C:\Users\Martin\.m2\repository\org\jogamp\jogl\jogl-all-natives-linux-i586\v2.4.0-rc4\jogl-all-natives-linux-i586-v2.4.0-rc4.jar;C:\Users\Martin\.m2\repository\org\jogamp\jogl\jogl-all-natives-macosx-universal\v2.4.0-rc4\jogl-all-natives-macosx-universal-v2.4.0-rc4.jar;C:\Users\Martin\.m2\repository\org\jogamp\jogl\jogl-all-natives-windows-amd64\v2.4.0-rc4\jogl-all-natives-windows-amd64-v2.4.0-rc4.jar;C:\Users\Martin\.m2\repository\org\jogamp\jogl\jogl-all-natives-windows-i586\v2.4.0-rc4\jogl-all-natives-windows-i586-v2.4.0-rc4.jar;C:\Users\Martin\.m2\repository\org\jogamp\gluegen\gluegen-rt\v2.4.0-rc4\gluegen-rt-v2.4.0-rc4.jar;C:\Users\Martin\.m2\repository\org\jogamp\gluegen\gluegen-rt-natives-macosx-universal\v2.4.0-rc4\gluegen-rt-natives-macosx-universal-v2.4.0-rc4.jar;C:\Users\Martin\.m2\repository\org\jogamp\gluegen\gluegen-rt-natives-linux-aarch64\v2.4.0-rc4\gluegen-rt-natives-linux-aarch64-v2.4.0-rc4.jar;C:\Users\Martin\.m2\repository\org\jogamp\gluegen\gluegen-rt-natives-linux-amd64\v2.4.0-rc4\gluegen-rt-natives-linux-amd64-v2.4.0-rc4.jar;C:\Users\Martin\.m2\repository\org\jogamp\gluegen\gluegen-rt-natives-linux-armv6hf\v2.4.0-rc4\gluegen-rt-natives-linux-armv6hf-v2.4.0-rc4.jar;C:\Users\Martin\.m2\repository\org\jogamp\gluegen\gluegen-rt-natives-linux-i586\v2.4.0-rc4\gluegen-rt-natives-linux-i586-v2.4.0-rc4.jar;C:\Users\Martin\.m2\repository\org\jogamp\gluegen\gluegen-rt-natives-windows-amd64\v2.4.0-rc4\gluegen-rt-natives-windows-amd64-v2.4.0-rc4.jar;C:\Users\Martin\.m2\repository\org\jogamp\gluegen\gluegen-rt-natives-windows-i586\v2.4.0-rc4\gluegen-rt-natives-windows-i586-v2.4.0-rc4.jar;C:\Users\Martin\Dev\jzy3d\public\jzy3d-api\jzy3d-native-jogl-core\target\test-classes;C:\Users\Martin\Dev\jzy3d\public\jzy3d-api\jzy3d-core\target\test-classes;C:\Users\Martin\.m2\repository\com\miglayout\miglayout\3.7.4\miglayout-3.7.4.jar;C:\Users\Martin\Dev\jzy3d\public\panama-gl\panama-gl-wrappers-linux\target\classes;C:\Users\Martin\.m2\repository\org\jzy3d\panama-gl-bindings-linux\1.0.1-SNAPSHOT\panama-gl-bindings-linux-1.0.1-SNAPSHOT.jar;C:\Users\Martin\Dev\jzy3d\public\panama-gl\panama-gl-wrappers-windows\target\classes;C:\Users\Martin\.m2\repository\org\jzy3d\panama-gl-bindings-windows\1.0.1-SNAPSHOT\panama-gl-bindings-windows-1.0.1-SNAPSHOT.jar;C:\Users\Martin\.m2\repository\log4j\log4j\1.2.16\log4j-1.2.16.jar;C:\Users\Martin\.m2\repository\org\apache\commons\commons-collections4\4.4\commons-collections4-4.4.jar;C:\Users\Martin\.m2\repository\com\google\guava\guava\24.0-jre\guava-24.0-jre.jar;C:\Users\Martin\.m2\repository\com\google\code\findbugs\jsr305\1.3.9\jsr305-1.3.9.jar;C:\Users\Martin\.m2\repository\org\checkerframework\checker-compat-qual\2.0.0\checker-compat-qual-2.0.0.jar;C:\Users\Martin\.m2\repository\com\google\errorprone\error_prone_annotations\2.1.3\error_prone_annotations-2.1.3.jar;C:\Users\Martin\.m2\repository\com\google\j2objc\j2objc-annotations\1.1\j2objc-annotations-1.1.jar;C:\Users\Martin\.m2\repository\org\codehaus\mojo\animal-sniffer-annotations\1.14\animal-sniffer-annotations-1.14.jar > > Launcher Type: SUN_STANDARD > > [Global flags] > > intx CICompilerCount = 4 {product} {ergonomic} > > uint ConcGCThreads = 2 {product} {ergonomic} > > uint G1ConcRefinementThreads = 8 {product} {ergonomic} > > size_t G1HeapRegionSize = 1048576 {product} {ergonomic} > > uintx GCDrainStackTargetSize = 64 {product} {ergonomic} > > size_t InitialHeapSize = 264241152 {product} {ergonomic} > > size_t MarkStackSize = 4194304 {product} {ergonomic} > > size_t MaxHeapSize = 1073741824 {product} {command line} > > size_t MaxNewSize = 643825664 {product} {ergonomic} > > size_t MinHeapDeltaBytes = 1048576 {product} {ergonomic} > > size_t MinHeapSize = 8388608 {product} {ergonomic} > > uintx NonNMethodCodeHeapSize = 5839372 {pd product} {ergonomic} > > uintx NonProfiledCodeHeapSize = 122909434 {pd product} {ergonomic} > > uintx ProfiledCodeHeapSize = 122909434 {pd product} {ergonomic} > > uintx ReservedCodeCacheSize = 251658240 {pd product} {ergonomic} > > bool SegmentedCodeCache = true {product} {ergonomic} > > bool ShowCodeDetailsInExceptionMessages = true {manageable} {command line} > > size_t SoftMaxHeapSize = 1073741824 {manageable} {ergonomic} > > bool UseCompressedClassPointers = true {product lp64_product} {ergonomic} > > bool UseCompressedOops = true {product lp64_product} {ergonomic} > > bool UseG1GC = true {product} {ergonomic} > > bool UseLargePagesIndividualAllocation = false {pd product} {ergonomic} > > Logging: > > Log output configuration: > > #0: stdout all=warning uptime,level,tags foldmultilines=false > > #1: stderr all=off uptime,level,tags foldmultilines=false > > Environment Variables: > > JAVA_HOME=C:\Program Files\Java\jdk-19.0.2 > > PATH=C:/Program Files/Java/jdk-19.0.2/bin/server;C:/Program > Files/Java/jdk-19.0.2/bin;C:\Users\Martin\Dev\jzy3d\private\vtk-java-wrapper\lib\9.1.0\vtk-Windows-x86_64;C:\Program > Files\Java\jdk-19.0.2\bin\;C:\Program Files\Common > Files\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program > Files\Git\cmd;C:\Program Files (x86)\apache-maven-3.8.3\bin;C:\Program > Files (x86)\apache-ant-1.9.16\bin;C:\Program > Files\CMake\bin;C:\Program Files\dotnet\;C:\Program Files\Microsoft > SQL Server\130\Tools\Binn\;C:\Program Files\Microsoft SQL > Server\Client SDK\ODBC\170\Tools\Binn\;C:\Program > Files\7-Zip;C:\Program Files (x86)\Common > Files\Oracle\Java\javapath;C:\Program > Files\gawk-3.1.6-1-bin\bin;C:\Mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\x86_64-w64-mingw32\bin;C:\Mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin;C:\Program > Files\win_flex_bison3-latest;C:\Users\Martin\AppData\Local\Programs\Python\Python39\Scripts\;C:\Users\Martin\AppData\Local\Programs\Python\Python39\;C:\Users\Martin\AppData\Local\Microsoft\WindowsApps;C:\Users\Martin\AppData\Local\atom\bin;C:\Program > Files > (x86)\apache-maven-3.8.3\bin;C:\Users\Martin\.dotnet\tools;C:\Users\Martin\AppData\Local\Programs\MiKTeX\miktex\bin\x64\;C:\Program > Files\JetBrains\IntelliJ IDEA Community Edition > 2022.3.1\bin;;C:\Windows\system32; > > USERNAME=Martin > > OS=Windows_NT > > PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 140 Stepping 1, GenuineIntel > > TMP=C:\Users\Martin\AppData\Local\Temp > > TEMP=C:\Users\Martin\AppData\Local\Temp > > --------------- S Y S T E M --------------- > > OS: > > Windows 10 , 64 bit Build 19041 (10.0.19041.2364) > > OS uptime: 86 days 0:06 hours > > Hyper-V role detected > > CPU: total 8 (initial active 8) (4 cores per cpu, 2 threads per core) > family 6 model 140 stepping 1 microcode 0xa4, cx8, cmov, fxsr, ht, > mmx, 3dnowpref, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, lzcnt, > tsc, tscinvbit, avx, avx2, aes, erms, clmul, bmi1, bmi2, adx, avx512f, > avx512dq, avx512cd, avx512bw, avx512vl, sha, fma, vzeroupper, > avx512_vpopcntdq, avx512_vpclmulqdq, avx512_vaes, avx512_vnni, > clflush, clflushopt, clwb, avx512_vbmi2, avx512_vbmi, hv, rdtscp, > rdpid, fsrm, gfni, avx512_bitalg > > Memory: 4k page, system-wide physical 16107M (4494M free) > > TotalPageFile size 25774M (AvailPageFile size 6176M) > > current process WorkingSet (physical memory assigned to process): > 233M, peak: 233M > > current process commit charge ("private bytes"): 240M, peak: 379M > > vm_info: OpenJDK 64-Bit Server VM (19.0.2+7-44) for windows-amd64 JRE > (19.0.2+7-44), built on 2022-11-30T18:02:09Z by "mach5one" with MS > VC++ 17.1 (VS2022) > > END. > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jorn.vernee at oracle.com Tue Mar 21 13:03:43 2023 From: jorn.vernee at oracle.com (Jorn Vernee) Date: Tue, 21 Mar 2023 14:03:43 +0100 Subject: Debugging segfaults In-Reply-To: References: Message-ID: <76a25271-8bff-c3bf-a4b6-f47b37073ed7@oracle.com> Hi Martin, It is possible (at least on Windows) to attach both a Java and native debugger to a process. Something I often do, is start a Java program in the IntelliJ Java debugger, and then set a breakpoint in the main method where I print out the process id. Then, I use that id to attach a native debugger to the same process, set a breakpoint in native code where I want to debug, and then continue execution in the Java debugger. The native breakpoint should be hit. You could use this together with a debug build of the particular library to step through the code and see exactly why it is crashing. FWIW, it looks like freeglut is easy to build from source on Windows ass well, in case there's no debug build available on the web. HTH, Jorn On 19/03/2023 19:33, Martin Pernollet wrote: > Hi, > > Would anyone recommend a way to debug a segmentation fault occuring on > Windows when using a native lib binded with JExtract? > > For the story : I got freeglut working on Windows correctly, but when > I try to use freeglut with WGL > , > I got the below crash. WGL allows getting an OpenGL context on > windows, without relying on glut, hence avoiding to get a native > Windows window opened. > > While freeglut alone only requires loading opengl32.dll, glu32.dll and > freeglut.dll, WGL additionnaly requires to load User32.dll, Gdi32.dll > and Kernel32.dll. > > Thanks for your recommandations! > > # > > # A fatal error has been detected by the Java Runtime Environment: > > # > > # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007ff85a90583b, > pid=5736, tid=10080 > > # > > # JRE version: OpenJDK Runtime Environment (19.0.2+7) (build 19.0.2+7-44) > > # Java VM: OpenJDK 64-Bit Server VM (19.0.2+7-44, mixed mode, sharing, > tiered, compressed oops, compressed class ptrs, g1 gc, windows-amd64) > > # Problematic frame: > > # C [freeglut.dll+0x583b] > > # > > # No core dump will be written. Minidumps are not enabled by default > on client versions of Windows > > # > > # If you would like to submit a bug report, please visit: > > # https://bugreport.java.com/bugreport/crash.jsp > > # The crash happened outside the Java Virtual Machine in native code. > > # See problematic frame for where to report the bug. > > # > > --------------- S U M M A R Y ------------ > > Command Line: > -Djava.library.path=C:\Windows\system32;C:\Users\Martin\Downloads\freeglut-MSVC-3.0.0-2.mp\freeglut\bin\x64 > -Dsun.java2d.d3d=false -Xmx1024M -Dfile.encoding=UTF-8 > --enable-preview -XX:+ShowCodeDetailsInExceptionMessages > demos.panamagl.swing.DemoTeapot_Onscreen_Swing > -Dpanamagl.offscreen.OffscreenRenderer > > Host: 11th Gen Intel(R) Core(TM) i5-1135G7 @ 2.40GHz, 8 cores, 15G, > Windows 10 , 64 bit Build 19041 (10.0.19041.2364) > > Time: Sun Mar 19 17:35:31 2023 Europe de l , 64 bit Build 19041 > (10.0.19041.2364) elapsed time: 1.156167 seconds (0d 0h 0m 1s) > > --------------- T H R E A D --------------- > > Current thread (0x000001e0f18d9cc0): JavaThread "AWT-EventQueue-0" > [_thread_in_native, id=10080, > stack(0x0000000ccad00000,0x0000000ccae00000)] > > Stack: [0x0000000ccad00000,0x0000000ccae00000], sp=0x0000000ccadfe8d0, > free space=1018k > > Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, > C=native code) > > C [freeglut.dll+0x583b] > > Java frames: (J=compiled Java code, j=interpreted, Vv=VM code) > > v ~RuntimeStub::nep_invoker_blob 0x000001e0e4cd5988 > > j > java.lang.invoke.LambdaForm$MH+0x00000008011b4400.invoke(Ljava/lang/Object;JD)V+10 > java.base at 19.0.2 > > j > java.lang.invoke.LambdaForm$MH+0x00000008011bb000.invokeExact_MT(Ljava/lang/Object;JDLjava/lang/Object;)V+21 > java.base at 19.0.2 > > j > jdk.internal.foreign.abi.DowncallStub+0x00000008011b4800.invoke(Ljava/lang/foreign/SegmentAllocator;Ljava/lang/foreign/Addressable;D)V+48 > java.base at 19.0.2 > > j > java.lang.invoke.LambdaForm$DMH+0x00000008011b4c00.invokeStatic(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;D)V+14 > java.base at 19.0.2 > > j > java.lang.invoke.LambdaForm$MH+0x00000008011b6800.invoke(Ljava/lang/Object;D)V+46 > java.base at 19.0.2 > > j > java.lang.invoke.LambdaForm$MH+0x00000008011ba800.invokeExact_MT(Ljava/lang/Object;DLjava/lang/Object;)V+19 > java.base at 19.0.2 > > j freeglut.windows.x86.freeglut_h_15.glutSolidTeapot(D)V+6 > > j panamagl.platform.windows.x64.GL_windows_x64.glutSolidTeapot(D)V+1 > > j > demos.panamagl.swing.DemoTeapot_Onscreen_Swing$2.display(Lpanamagl/opengl/GL;)V+64 > > j > panamagl.offscreen.AOffscreenRenderer.renderGLToImage(Lpanamagl/GLCanvas;Lpanamagl/GLEventListener;)V+9 > > j > panamagl.offscreen.AOffscreenRenderer.renderGLToImage(Lpanamagl/GLCanvas;Lpanamagl/GLEventListener;II)V+135 > > j panamagl.offscreen.AOffscreenRenderer$1.run()V+20 > > j java.awt.event.InvocationEvent.dispatch()V+11 java.desktop at 19.0.2 > > j > java.awt.EventQueue.dispatchEventImpl(Ljava/awt/AWTEvent;Ljava/lang/Object;)V+21 > java.desktop at 19.0.2 > > j java.awt.EventQueue$4.run()Ljava/lang/Void;+32 java.desktop at 19.0.2 > > j java.awt.EventQueue$4.run()Ljava/lang/Object;+1 java.desktop at 19.0.2 > > j > java.security.AccessController.executePrivileged(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;Ljava/lang/Class;)Ljava/lang/Object;+29 > java.base at 19.0.2 > > j > java.security.AccessController.doPrivileged(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;+13 > java.base at 19.0.2 > > j > java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;Ljava/security/AccessControlContext;)Ljava/lang/Object;+18 > java.base at 19.0.2 > > j java.awt.EventQueue.dispatchEvent(Ljava/awt/AWTEvent;)V+46 > java.desktop at 19.0.2 > > j java.awt.EventDispatchThread.pumpOneEventForFilters(I)V+81 > java.desktop at 19.0.2 > > j > java.awt.EventDispatchThread.pumpEventsForFilter(ILjava/awt/Conditional;Ljava/awt/EventFilter;)V+35 > java.desktop at 19.0.2 > > j > java.awt.EventDispatchThread.pumpEventsForHierarchy(ILjava/awt/Conditional;Ljava/awt/Component;)V+11 > java.desktop at 19.0.2 > > j java.awt.EventDispatchThread.pumpEvents(ILjava/awt/Conditional;)V+4 > java.desktop at 19.0.2 > > j java.awt.EventDispatchThread.pumpEvents(Ljava/awt/Conditional;)V+3 > java.desktop at 19.0.2 > > j java.awt.EventDispatchThread.run()V+9 java.desktop at 19.0.2 > > v ~StubRoutines::call_stub 0x000001e0e4a510e8 > > siginfo: EXCEPTION_ACCESS_VIOLATION (0xc0000005), reading address > 0x00000000000000c1 > > Registers: > > RAX=0x0000000000000000, RBX=0x0000000000000008, > RCX=0x00007ff85a93c3a0, RDX=0x00007ff85a98ee40 > > RSP=0x0000000ccadfe8d0, RBP=0x0000000ccadfea40, > RSI=0x0000000000000000, RDI=0x0000000000000800 > > R8 =0x00007ff85a9888e0, R9 =0x0000000000000800, > R10=0x00000000000007f8, R11=0x00007ff85a93c3a0 > > R12=0x0000000000000000, R13=0x0000000ccadfec30, > R14=0x0000000000000000, R15=0x00007ff85a9888e0 > > RIP=0x00007ff85a90583b, EFLAGS=0x0000000000010202 > > Register to memory mapping: > > RIP=0x00007ff85a90583b freeglut.dll > > RAX=0x0 is NULL > > RBX=0x0000000000000008 is an unknown value > > RCX=0x00007ff85a93c3a0 freeglut.dll > > RDX=0x00007ff85a98ee40 freeglut.dll > > RSP=0x0000000ccadfe8d0 is pointing into the stack for thread: > 0x000001e0f18d9cc0 > > RBP=0x0000000ccadfea40 is pointing into the stack for thread: > 0x000001e0f18d9cc0 > > RSI=0x0 is NULL > > RDI=0x0000000000000800 is an unknown value > > R8 =0x00007ff85a9888e0 freeglut.dll > > R9 =0x0000000000000800 is an unknown value > > R10=0x00000000000007f8 is an unknown value > > R11=0x00007ff85a93c3a0 freeglut.dll > > R12=0x0 is NULL > > R13=0x0000000ccadfec30 is pointing into the stack for thread: > 0x000001e0f18d9cc0 > > R14=0x0 is NULL > > R15=0x00007ff85a9888e0 freeglut.dll > > Top of Stack: (sp=0x0000000ccadfe8d0) > > 0x0000000ccadfe8d0: 000000003fc9999a 0000000000000000 > > 0x0000000ccadfe8e0: 0000000040000000 0000000000000000 > > 0x0000000ccadfe8f0: 000000003f000000 0000000000000000 > > 0x0000000ccadfe900: 00007ff85a937380 0000000000000009 > > 0x0000000ccadfe910: 0000000000000002 0000000000000000 > > 0x0000000ccadfe920: 00007ff85a9888e0 0000000000000000 > > 0x0000000ccadfe930: 0000000000000000 00007ff85a915bf2 > > 0x0000000ccadfe940: 0000000000000008 0000000ccadfea40 > > 0x0000000ccadfe950: 0000000000000000 00007ff85a9639e0 > > 0x0000000ccadfe960: 00007ff85a9639e0 0000000000000001 > > 0x0000000ccadfe970: 00007ff8000024c0 00007ff85a994840 > > 0x0000000ccadfe980: 0000000088753dec 00007ff83fa50a20 > > 0x0000000ccadfe990: 0000000000000000 000001e0f610b820 > > 0x0000000ccadfe9a0: 0000004000000000 00000000ffffffc0 > > 0x0000000ccadfe9b0: 0000000000000000 00007ff85a93c3a0 > > 0x0000000ccadfe9c0: 00007ff85a98ee40 00007ff85a937b59 > > Instructions: (pc=0x00007ff85a90583b) > > 0x00007ff85a90573b: 00 00 48 8b 05 ec 23 03 00 49 8b d9 44 8b 50 34 > > 0x00007ff85a90574b: 44 8b 58 38 74 64 41 83 fa ff 75 05 45 3b da 74 > > 0x00007ff85a90575b: 59 8b 84 24 b8 00 00 00 44 89 5c 24 58 44 89 54 > > 0x00007ff85a90576b: 24 50 89 44 24 48 8b 84 24 b0 00 00 00 89 44 24 > > 0x00007ff85a90577b: 40 48 8b 84 24 a8 00 00 00 48 89 44 24 38 8b 84 > > 0x00007ff85a90578b: 24 a0 00 00 00 89 44 24 30 8b 84 24 98 00 00 00 > > 0x00007ff85a90579b: 89 44 24 28 8b 84 24 90 00 00 00 89 44 24 20 e8 > > 0x00007ff85a9057ab: 21 04 00 00 48 83 c4 60 5b c3 8b 84 24 b8 00 00 > > 0x00007ff85a9057bb: 00 44 8b 8c 24 90 00 00 00 4c 8b c3 89 44 24 40 > > 0x00007ff85a9057cb: 8b 84 24 b0 00 00 00 89 44 24 38 48 8b 84 24 a8 > > 0x00007ff85a9057db: 00 00 00 48 89 44 24 30 8b 84 24 a0 00 00 00 89 > > 0x00007ff85a9057eb: 44 24 28 8b 84 24 98 00 00 00 89 44 24 20 e8 42 > > 0x00007ff85a9057fb: 01 00 00 48 83 c4 60 5b c3 cc cc cc cc cc cc cc > > 0x00007ff85a90580b: cc cc cc cc cc 48 89 5c 24 08 48 89 6c 24 10 48 > > 0x00007ff85a90581b: 89 74 24 18 48 89 7c 24 20 41 54 41 56 41 57 48 > > 0x00007ff85a90582b: 83 ec 50 48 8b 05 fb 22 03 00 41 8b f9 4d 8b f8 > > 0x00007ff85a90583b: 80 b8 c1 00 00 00 00 8b 58 34 44 8b 70 38 44 8b > > 0x00007ff85a90584b: 60 3c 48 8b f2 48 8b e9 74 08 45 8b c1 e8 a3 0a > > 0x00007ff85a90585b: 00 00 83 3d 20 fb 02 00 00 74 65 83 fb ff 75 05 > > 0x00007ff85a90586b: 44 3b f3 74 5b 8b 84 24 a0 00 00 00 44 89 64 24 > > 0x00007ff85a90587b: 48 44 89 74 24 40 89 5c 24 38 89 44 24 30 8b 84 > > 0x00007ff85a90588b: 24 98 00 00 00 89 44 24 28 48 8b 84 24 90 00 00 > > 0x00007ff85a90589b: 00 44 8b cf 4d 8b c7 48 8b d6 48 8b cd 48 89 44 > > 0x00007ff85a9058ab: 24 20 e8 ae 06 00 00 48 8b 05 77 22 03 00 80 b8 > > 0x00007ff85a9058bb: c1 00 00 00 00 74 52 8b cb e8 07 0c 00 00 eb 49 > > 0x00007ff85a9058cb: 8b 84 24 a0 00 00 00 44 8b cf 4d 8b c7 89 44 24 > > 0x00007ff85a9058db: 30 8b 84 24 98 00 00 00 48 8b d6 89 44 24 28 48 > > 0x00007ff85a9058eb: 8b 84 24 90 00 00 00 48 8b cd 48 89 44 24 20 e8 > > 0x00007ff85a9058fb: 81 01 00 00 48 8b 05 2a 22 03 00 80 b8 c1 00 00 > > 0x00007ff85a90590b: 00 00 74 05 e8 ec 0a 00 00 4c 8d 5c 24 50 49 8b > > 0x00007ff85a90591b: 5b 20 49 8b 6b 28 49 8b 73 30 49 8b 7b 38 49 8b > > 0x00007ff85a90592b: e3 41 5f 41 5e 41 5c c3 cc cc cc cc cc cc cc cc > > Stack slot to memory mapping: > > stack at sp + 0 slots: 0x000000003fc9999a is an unknown value > > stack at sp + 1 slots: 0x0 is NULL > > stack at sp + 2 slots: 0x0000000040000000 is an unknown value > > stack at sp + 3 slots: 0x0 is NULL > > stack at sp + 4 slots: 0x000000003f000000 is an unknown value > > stack at sp + 5 slots: 0x0 is NULL > > stack at sp + 6 slots: 0x00007ff85a937380 freeglut.dll > > stack at sp + 7 slots: 0x0000000000000009 is an unknown value > > -------------------------------------------------------------------------------- > > Decoding CodeBlob, name: nep_invoker_blob, at [0x000001e0e4cd5980, > 0x000001e0e4cd5a78] 248 bytes > > [MachCode] > > 0x000001e0e4cd5980: 5548 8bec | 4883 ec20 | c5f8 7749 | 89af d002 | > 0000 49ba | 8859 cde4 | e001 0000 | 4d89 97c8 > > 0x000001e0e4cd59a0: 0200 0049 | 89a7 c002 | 0000 41c7 | 8774 0300 | > 0004 0000 | 004c 8bd2 | 41ff d2c5 | f877 41c7 > > 0x000001e0e4cd59c0: 8774 0300 | 0005 0000 | 00f0 8344 | 24c0 0049 | > 3baf 7803 | 0000 0f87 | 5300 0000 | 4181 bf70 > > 0x000001e0e4cd59e0: 0300 0000 | 0000 000f | 8542 0000 | 0041 c787 | > 7403 0000 | 0800 0000 | 4181 bfe8 | 0300 0002 > > 0x000001e0e4cd5a00: 0000 000f | 844c 0000 | 0049 c787 | c002 0000 | > 0000 0000 | 49c7 87d0 | 0200 0000 | 0000 0049 > > 0x000001e0e4cd5a20: c787 c802 | 0000 0000 | 0000 c5f8 | 77c9 c3c5 | > f877 498b | cf4c 8be4 | 4883 ec20 | 4883 e4f0 > > 0x000001e0e4cd5a40: 49ba 0015 | ad3f f87f | 0000 41ff | d249 8be4 | > 4d33 e4eb | 98c5 f877 | 4c8b e448 | 83ec 2048 > > 0x000001e0e4cd5a60: 83e4 f049 | ba30 5ca2 | 3ff8 7f00 | 0041 ffd2 | > 498b e44d | 33e4 eb91 > > [/MachCode] > > -------------------------------------------------------------------------------- > > --------------- P R O C E S S --------------- > > Threads class SMR info: > > _java_thread_list=0x000001e0f7d81c40, length=18, elements={ > > 0x000001e0f18d1780, 0x000001e0f18d2660, 0x000001e0f18dacb0, > 0x000001e0f18d7ce0, > > 0x000001e0f18d8cd0, 0x000001e0f18da210, 0x000001e0f5c075f0, > 0x000001e0f5c15fb0, > > 0x000001e0f18d7790, 0x000001e0f18d9220, 0x000001e0f18d6cf0, > 0x000001e0f18d8230, > > 0x000001e0f18d9770, 0x000001e0f18d8780, 0x000001e0f18d9cc0, > 0x000001e0f18d7240, > > 0x000001e0f613a5e0, 0x000001e0f5c14970 > > } > > Java Threads: ( => current thread ) > > 0x000001e0f18d1780 JavaThread "Reference Handler" daemon > [_thread_blocked, id=4296, stack(0x0000000cc9d00000,0x0000000cc9e00000)] > > 0x000001e0f18d2660 JavaThread "Finalizer" daemon [_thread_blocked, > id=24616, stack(0x0000000cc9e00000,0x0000000cc9f00000)] > > 0x000001e0f18dacb0 JavaThread "Signal Dispatcher" daemon > [_thread_blocked, id=10472, stack(0x0000000cc9f00000,0x0000000cca000000)] > > 0x000001e0f18d7ce0 JavaThread "Attach Listener" daemon > [_thread_blocked, id=30288, stack(0x0000000cca000000,0x0000000cca100000)] > > 0x000001e0f18d8cd0 JavaThread "Service Thread" daemon > [_thread_blocked, id=9536, stack(0x0000000cca100000,0x0000000cca200000)] > > 0x000001e0f18da210 JavaThread "Monitor Deflation Thread" daemon > [_thread_blocked, id=22692, stack(0x0000000cca200000,0x0000000cca300000)] > > 0x000001e0f5c075f0 JavaThread "C2 CompilerThread0" daemon > [_thread_blocked, id=13848, stack(0x0000000cca300000,0x0000000cca400000)] > > 0x000001e0f5c15fb0 JavaThread "C1 CompilerThread0" daemon > [_thread_blocked, id=29136, stack(0x0000000cca400000,0x0000000cca500000)] > > 0x000001e0f18d7790 JavaThread "Sweeper thread" daemon > [_thread_blocked, id=5824, stack(0x0000000cca500000,0x0000000cca600000)] > > 0x000001e0f18d9220 JavaThread "Notification Thread" daemon > [_thread_blocked, id=14544, stack(0x0000000cca600000,0x0000000cca700000)] > > 0x000001e0f18d6cf0 JavaThread "Common-Cleaner" daemon > [_thread_blocked, id=26608, stack(0x0000000cca800000,0x0000000cca900000)] > > 0x000001e0f18d8230 JavaThread "Java2D Disposer" daemon > [_thread_blocked, id=24116, stack(0x0000000ccaa00000,0x0000000ccab00000)] > > 0x000001e0f18d9770 JavaThread "AWT-Shutdown" [_thread_blocked, > id=21736, stack(0x0000000ccab00000,0x0000000ccac00000)] > > 0x000001e0f18d8780 JavaThread "AWT-Windows" daemon [_thread_in_native, > id=17988, stack(0x0000000ccac00000,0x0000000ccad00000)] > > =>0x000001e0f18d9cc0 JavaThread "AWT-EventQueue-0" [_thread_in_native, > id=10080, stack(0x0000000ccad00000,0x0000000ccae00000)] > > 0x000001e0f18d7240 JavaThread "pool-2-thread-1" [_thread_blocked, > id=15192, stack(0x0000000ccae00000,0x0000000ccaf00000)] > > 0x000001e0f613a5e0 JavaThread "DestroyJavaVM" [_thread_blocked, > id=29648, stack(0x0000000cc9600000,0x0000000cc9700000)] > > 0x000001e0f5c14970 JavaThread "C2 CompilerThread1" daemon > [_thread_blocked, id=1204, stack(0x0000000ccb800000,0x0000000ccb900000)] > > Other Threads: > > 0x000001e0f18b98e0 VMThread "VM Thread" [stack: > 0x0000000cc9c00000,0x0000000cc9d00000] [id=25684] > > 0x000001e0f5d40800 WatcherThread "VM Periodic Task Thread" [stack: > 0x0000000cca700000,0x0000000cca800000] [id=21296] > > 0x000001e0d5606770 WorkerThread "GC Thread#0" [stack: > 0x0000000cc9700000,0x0000000cc9800000] [id=12912] > > 0x000001e0f67fe9a0 WorkerThread "GC Thread#1" [stack: > 0x0000000ccaf00000,0x0000000ccb000000] [id=27552] > > 0x000001e0f67fec70 WorkerThread "GC Thread#2" [stack: > 0x0000000ccb000000,0x0000000ccb100000] [id=6156] > > 0x000001e0f7b1a850 WorkerThread "GC Thread#3" [stack: > 0x0000000ccb100000,0x0000000ccb200000] [id=8612] > > 0x000001e0f7b1ab20 WorkerThread "GC Thread#4" [stack: > 0x0000000ccb200000,0x0000000ccb300000] [id=16552] > > 0x000001e0f7acb140 WorkerThread "GC Thread#5" [stack: > 0x0000000ccb300000,0x0000000ccb400000] [id=27916] > > 0x000001e0f7acaba0 WorkerThread "GC Thread#6" [stack: > 0x0000000ccb400000,0x0000000ccb500000] [id=11396] > > 0x000001e0f7acb410 WorkerThread "GC Thread#7" [stack: > 0x0000000ccb500000,0x0000000ccb600000] [id=15224] > > 0x000001e0d56106e0 ConcurrentGCThread "G1 Main Marker" [stack: > 0x0000000cc9800000,0x0000000cc9900000] [id=23116] > > 0x000001e0d5611110 WorkerThread "G1 Conc#0" [stack: > 0x0000000cc9900000,0x0000000cc9a00000] [id=14660] > > 0x000001e0f7acbc80 WorkerThread "G1 Conc#1" [stack: > 0x0000000ccb600000,0x0000000ccb700000] [id=12876] > > 0x000001e0d568ebc0 ConcurrentGCThread "G1 Refine#0" [stack: > 0x0000000cc9a00000,0x0000000cc9b00000] [id=29724] > > 0x000001e0f1775930 ConcurrentGCThread "G1 Service" [stack: > 0x0000000cc9b00000,0x0000000cc9c00000] [id=15468] > > Threads with active compile tasks: > > VM state: not at safepoint (normal execution) > > VM Mutex/Monitor currently owned by a thread: None > > Heap address: 0x00000000c0000000, size: 1024 MB, Compressed Oops mode: > 32-bit > > CDS archive(s) mapped at: > [0x0000000800000000-0x0000000800c40000-0x0000000800c40000), size > 12845056, SharedBaseAddress: 0x0000000800000000, ArchiveRelocationMode: 0. > > Compressed class space mapped at: > 0x0000000801000000-0x0000000841000000, reserved size: 1073741824 > > Narrow klass base: 0x0000000800000000, Narrow klass shift: 0, Narrow > klass range: 0x100000000 > > GC Precious Log: > > CardTable entry size: 512 > > Card Set container configuration: InlinePtr #cards 5 size 8 Array Of > Cards #cards 12 size 40 Howl #buckets 4 coarsen threshold 1843 Howl > Bitmap #cards 512 size 80 coarsen threshold 460 Card regions per heap > region 1 cards per card region 2048 > > CPUs: 8 total, 8 available > > Memory: 16107M > > Large Page Support: Disabled > > NUMA Support: Disabled > > Compressed Oops: Enabled (32-bit) > > Heap Region Size: 1M > > Heap Min Capacity: 8M > > Heap Initial Capacity: 252M > > Heap Max Capacity: 1G > > Pre-touch: Disabled > > Parallel Workers: 8 > > Concurrent Workers: 2 > > Concurrent Refinement Workers: 8 > > Periodic GC: Disabled > > Heap: > > garbage-first heap total 45056K, used 35782K [0x00000000c0000000, > 0x0000000100000000) > > region size 1024K, 21 young (21504K), 3 survivors (3072K) > > Metaspace used 29523K, committed 30464K, reserved 1114112K > > class space used 1312K, committed 1728K, reserved 1048576K > > Heap Regions: E=young(eden), S=young(survivor), O=old, > HS=humongous(starts), HC=humongous(continues), CS=collection set, > F=free, OA=open archive, CA=closed archive, TAMS=top-at-mark-start > (previous, next) > > | 0|0x00000000c0000000, 0x00000000c0100000, > 0x00000000c0100000|100%|HS| |TAMS 0x00000000c0100000, > 0x00000000c0000000| Complete > > | 1|0x00000000c0100000, 0x00000000c0200000, > 0x00000000c0200000|100%|HC| |TAMS 0x00000000c0200000, > 0x00000000c0100000| Complete > > | 2|0x00000000c0200000, 0x00000000c0300000, > 0x00000000c0300000|100%|HS| |TAMS 0x00000000c0300000, > 0x00000000c0200000| Complete > > | 3|0x00000000c0300000, 0x00000000c0400000, > 0x00000000c0400000|100%|HC| |TAMS 0x00000000c0400000, > 0x00000000c0300000| Complete > > | 4|0x00000000c0400000, 0x00000000c0500000, > 0x00000000c0500000|100%|HC| |TAMS 0x00000000c0500000, > 0x00000000c0400000| Complete > > | 5|0x00000000c0500000, 0x00000000c0600000, 0x00000000c0600000|100%| > O| |TAMS 0x00000000c0600000, 0x00000000c0500000| Untracked > > | 6|0x00000000c0600000, 0x00000000c0700000, 0x00000000c0700000|100%| > O| |TAMS 0x00000000c0635600, 0x00000000c0600000| Untracked > > | 7|0x00000000c0700000, 0x00000000c0800000, 0x00000000c0800000|100%| > O| |TAMS 0x00000000c0700000, 0x00000000c0700000| Untracked > > | 8|0x00000000c0800000, 0x00000000c08ff400, 0x00000000c0900000| 99%| > O| |TAMS 0x00000000c0800000, 0x00000000c0800000| Untracked > > | 9|0x00000000c0900000, 0x00000000c0a00000, > 0x00000000c0a00000|100%|HS| |TAMS 0x00000000c0900000, > 0x00000000c0900000| Complete > > | 10|0x00000000c0a00000, 0x00000000c0b00000, > 0x00000000c0b00000|100%|HC| |TAMS 0x00000000c0a00000, > 0x00000000c0a00000| Complete > > | 11|0x00000000c0b00000, 0x00000000c0c00000, > 0x00000000c0c00000|100%|HC| |TAMS 0x00000000c0b00000, > 0x00000000c0b00000| Complete > > | 12|0x00000000c0c00000, 0x00000000c0d00000, > 0x00000000c0d00000|100%|HS| |TAMS 0x00000000c0c00000, > 0x00000000c0c00000| Complete > > | 13|0x00000000c0d00000, 0x00000000c0e00000, > 0x00000000c0e00000|100%|HC| |TAMS 0x00000000c0d00000, > 0x00000000c0d00000| Complete > > | 14|0x00000000c0e00000, 0x00000000c0f00000, > 0x00000000c0f00000|100%|HC| |TAMS 0x00000000c0e00000, > 0x00000000c0e00000| Complete > > | 15|0x00000000c0f00000, 0x00000000c1000000, > 0x00000000c1000000|100%|HC| |TAMS 0x00000000c0f00000, > 0x00000000c0f00000| Complete > > | 16|0x00000000c1000000, 0x00000000c1000000, 0x00000000c1100000| 0%| > F| |TAMS 0x00000000c1000000, 0x00000000c1000000| Untracked > > | 17|0x00000000c1100000, 0x00000000c1100000, 0x00000000c1200000| 0%| > F| |TAMS 0x00000000c1100000, 0x00000000c1100000| Untracked > > | 18|0x00000000c1200000, 0x00000000c1200000, 0x00000000c1300000| 0%| > F| |TAMS 0x00000000c1200000, 0x00000000c1200000| Untracked > > | 19|0x00000000c1300000, 0x00000000c1300000, 0x00000000c1400000| 0%| > F| |TAMS 0x00000000c1300000, 0x00000000c1300000| Untracked > > | 20|0x00000000c1400000, 0x00000000c1400000, 0x00000000c1500000| 0%| > F| |TAMS 0x00000000c1400000, 0x00000000c1400000| Untracked > > | 21|0x00000000c1500000, 0x00000000c1500000, 0x00000000c1600000| 0%| > F| |TAMS 0x00000000c1500000, 0x00000000c1500000| Untracked > > | 22|0x00000000c1600000, 0x00000000c1600000, 0x00000000c1700000| 0%| > F| |TAMS 0x00000000c1600000, 0x00000000c1600000| Untracked > > | 23|0x00000000c1700000, 0x00000000c17fce80, 0x00000000c1800000| 98%| > E| |TAMS 0x00000000c1700000, 0x00000000c1700000| Complete > > | 24|0x00000000c1800000, 0x00000000c1900000, 0x00000000c1900000|100%| > E|CS|TAMS 0x00000000c1800000, 0x00000000c1800000| Complete > > | 25|0x00000000c1900000, 0x00000000c1a00000, 0x00000000c1a00000|100%| > E|CS|TAMS 0x00000000c1900000, 0x00000000c1900000| Complete > > | 26|0x00000000c1a00000, 0x00000000c1b00000, 0x00000000c1b00000|100%| > E|CS|TAMS 0x00000000c1a00000, 0x00000000c1a00000| Complete > > | 27|0x00000000c1b00000, 0x00000000c1c00000, 0x00000000c1c00000|100%| > E| |TAMS 0x00000000c1b00000, 0x00000000c1b00000| Complete > > | 28|0x00000000c1c00000, 0x00000000c1d00000, 0x00000000c1d00000|100%| > E|CS|TAMS 0x00000000c1c00000, 0x00000000c1c00000| Complete > > | 29|0x00000000c1d00000, 0x00000000c1e00000, 0x00000000c1e00000|100%| > E|CS|TAMS 0x00000000c1d00000, 0x00000000c1d00000| Complete > > | 30|0x00000000c1e00000, 0x00000000c1f00000, 0x00000000c1f00000|100%| > E|CS|TAMS 0x00000000c1e00000, 0x00000000c1e00000| Complete > > | 31|0x00000000c1f00000, 0x00000000c2000000, 0x00000000c2000000|100%| > E|CS|TAMS 0x00000000c1f00000, 0x00000000c1f00000| Complete > > | 32|0x00000000c2000000, 0x00000000c2100000, 0x00000000c2100000|100%| > E|CS|TAMS 0x00000000c2000000, 0x00000000c2000000| Complete > > | 33|0x00000000c2100000, 0x00000000c2200000, 0x00000000c2200000|100%| > E|CS|TAMS 0x00000000c2100000, 0x00000000c2100000| Complete > > | 34|0x00000000c2200000, 0x00000000c2300000, 0x00000000c2300000|100%| > E|CS|TAMS 0x00000000c2200000, 0x00000000c2200000| Complete > > | 35|0x00000000c2300000, 0x00000000c2400000, 0x00000000c2400000|100%| > E|CS|TAMS 0x00000000c2300000, 0x00000000c2300000| Complete > > | 36|0x00000000c2400000, 0x00000000c2500000, 0x00000000c2500000|100%| > E|CS|TAMS 0x00000000c2400000, 0x00000000c2400000| Complete > > | 37|0x00000000c2500000, 0x00000000c2600000, 0x00000000c2600000|100%| > E|CS|TAMS 0x00000000c2500000, 0x00000000c2500000| Complete > > | 38|0x00000000c2600000, 0x00000000c2700000, 0x00000000c2700000|100%| > E|CS|TAMS 0x00000000c2600000, 0x00000000c2600000| Complete > > | 39|0x00000000c2700000, 0x00000000c2800000, 0x00000000c2800000|100%| > E|CS|TAMS 0x00000000c2700000, 0x00000000c2700000| Complete > > | 242|0x00000000cf200000, 0x00000000cf2f2770, 0x00000000cf300000| 94%| > S|CS|TAMS 0x00000000cf200000, 0x00000000cf200000| Complete > > | 243|0x00000000cf300000, 0x00000000cf400000, 0x00000000cf400000|100%| > S|CS|TAMS 0x00000000cf300000, 0x00000000cf300000| Complete > > | 244|0x00000000cf400000, 0x00000000cf500000, 0x00000000cf500000|100%| > S|CS|TAMS 0x00000000cf400000, 0x00000000cf400000| Complete > > | 251|0x00000000cfb00000, 0x00000000cfc00000, 0x00000000cfc00000|100%| > E|CS|TAMS 0x00000000cfb00000, 0x00000000cfb00000| Complete > > Card table byte_map: [0x000001e0eca50000,0x000001e0ecc50000] > _byte_map_base: 0x000001e0ec450000 > > Marking Bits (Prev, Next): (CMBitMap*) 0x000001e0d5606de0, (CMBitMap*) > 0x000001e0d5606da0 > > Prev Bits: [0x000001e0ede50000, 0x000001e0eee50000) > > Next Bits: [0x000001e0ece50000, 0x000001e0ede50000) > > Polling page: 0x000001e0d3570000 > > Metaspace: > > Usage: > > Non-class: 27.55 MB used. > > Class: 1.28 MB used. > > Both: 28.83 MB used. > > Virtual space: > > Non-class space: 64.00 MB reserved, 28.06 MB ( 44%) committed, 1 nodes. > > Class space: 1.00 GB reserved, 1.69 MB ( <1%) committed, 1 nodes. > > Both: 1.06 GB reserved, 29.75 MB ( 3%) committed. > > Chunk freelists: > > Non-Class: 3.96 MB > > Class: 2.19 MB > > Both: 6.15 MB > > MaxMetaspaceSize: unlimited > > CompressedClassSpaceSize: 1.00 GB > > Initial GC threshold: 21.00 MB > > Current GC threshold: 35.12 MB > > CDS: on > > MetaspaceReclaimPolicy: balanced > > - commit_granule_bytes: 65536. > > - commit_granule_words: 8192. > > - virtual_space_node_default_size: 8388608. > > - enlarge_chunks_in_place: 1. > > - new_chunks_are_fully_committed: 0. > > - uncommit_free_chunks: 1. > > - use_allocation_guard: 0. > > Internal statistics: > > num_allocs_failed_limit: 3. > > num_arena_births: 1398. > > num_arena_deaths: 0. > > num_vsnodes_births: 2. > > num_vsnodes_deaths: 0. > > num_space_committed: 473. > > num_space_uncommitted: 0. > > num_chunks_returned_to_freelist: 3. > > num_chunks_taken_from_freelist: 2104. > > num_chunk_merges: 3. > > num_chunk_splits: 1631. > > num_chunks_enlarged: 1180. > > num_inconsistent_stats: 0. > > CodeHeap 'non-profiled nmethods': size=120000Kb used=742Kb > max_used=742Kb free=119257Kb > > bounds [0x000001e0e4ff0000, 0x000001e0e5260000, 0x000001e0ec520000] > > CodeHeap 'profiled nmethods': size=120000Kb used=2447Kb > max_used=2447Kb free=117552Kb > > bounds [0x000001e0dd520000, 0x000001e0dd790000, 0x000001e0e4a50000] > > CodeHeap 'non-nmethods': size=5760Kb used=2648Kb max_used=2663Kb > free=3111Kb > > bounds [0x000001e0e4a50000, 0x000001e0e4cf0000, 0x000001e0e4ff0000] > > total_blobs=2825 nmethods=1617 adapters=1064 > > compilation: enabled > > stopped_count=0, restarted_count=0 > > full_count=0 > > Compilation events (20 events): > > Event: 1.150 Thread 0x000001e0f5c15fb0 nmethod 1602 0x000001e0dd77d410 > code [0x000001e0dd77d760, 0x000001e0dd77ea28] > > Event: 1.150 Thread 0x000001e0f5c15fb0 1605 3 > java.lang.invoke.LambdaFormBuffer::endEdit (313 bytes) > > Event: 1.151 Thread 0x000001e0f5c075f0 nmethod 1601 0x000001e0e50a7c10 > code [0x000001e0e50a7da0, 0x000001e0e50a7ef8] > > Event: 1.151 Thread 0x000001e0f5c15fb0 nmethod 1605 0x000001e0dd77f010 > code [0x000001e0dd77f280, 0x000001e0dd7800b8] > > Event: 1.151 Thread 0x000001e0f5c15fb0 1606 3 > java.util.zip.ZipFile$ZipFileInputStream::initDataOffset (117 bytes) > > Event: 1.152 Thread 0x000001e0f5c15fb0 nmethod 1606 0x000001e0dd780490 > code [0x000001e0dd7806c0, 0x000001e0dd780e88] > > Event: 1.152 Thread 0x000001e0f5c15fb0 1607 ! 3 > java.util.zip.ZipFile$Source::readAt (39 bytes) > > Event: 1.152 Thread 0x000001e0f5c15fb0 nmethod 1607 0x000001e0dd781190 > code [0x000001e0dd781360, 0x000001e0dd781698] > > Event: 1.152 Thread 0x000001e0f5c15fb0 1609 3 > java.util.ImmutableCollections$List12::toArray (41 bytes) > > Event: 1.152 Thread 0x000001e0f5c15fb0 nmethod 1609 0x000001e0dd781910 > code [0x000001e0dd781ae0, 0x000001e0dd782258] > > Event: 1.152 Thread 0x000001e0f5c15fb0 1608 3 > java.util.ArrayList::toArray (12 bytes) > > Event: 1.152 Thread 0x000001e0f5c15fb0 nmethod 1608 0x000001e0dd782390 > code [0x000001e0dd782540, 0x000001e0dd782748] > > Event: 1.152 Thread 0x000001e0f5c15fb0 1610 3 > jdk.internal.foreign.abi.BindingSpecializer::popType (9 bytes) > > Event: 1.152 Thread 0x000001e0f5c15fb0 nmethod 1610 0x000001e0dd782890 > code [0x000001e0dd782a40, 0x000001e0dd782ba8] > > Event: 1.152 Thread 0x000001e0f5c15fb0 1611 3 > jdk.internal.foreign.abi.BindingSpecializer$$Lambda$167/0x00000008010bdd10::test > (12 bytes) > > Event: 1.152 Thread 0x000001e0f5c15fb0 nmethod 1611 0x000001e0dd782c90 > code [0x000001e0dd782e40, 0x000001e0dd783298] > > Event: 1.153 Thread 0x000001e0f5c14970 nmethod 1598 0x000001e0e50a8c10 > code [0x000001e0e50a8e20, 0x000001e0e50a9468] > > Event: 1.154 Thread 0x000001e0f5c15fb0 1616 3 > java.util.concurrent.ConcurrentHashMap::values (25 bytes) > > Event: 1.154 Thread 0x000001e0f5c15fb0 nmethod 1616 0x000001e0dd783390 > code [0x000001e0dd783560, 0x000001e0dd783918] > > Event: 1.154 Thread 0x000001e0f5c15fb0 1617 3 > java.util.concurrent.ConcurrentHashMap$ValuesView::iterator (34 bytes) > > GC Heap History (4 events): > > Event: 0.578 GC heap before > > {Heap before GC invocations=0 (full 0): > > garbage-first heap total 258048K, used 27648K [0x00000000c0000000, > 0x0000000100000000) > > region size 1024K, 23 young (23552K), 0 survivors (0K) > > Metaspace used 16675K, committed 17024K, reserved 1114112K > > class space used 933K, committed 1088K, reserved 1048576K > > } > > Event: 0.582 GC heap after > > {Heap after GC invocations=1 (full 0): > > garbage-first heap total 258048K, used 9429K [0x00000000c0000000, > 0x0000000100000000) > > region size 1024K, 3 young (3072K), 3 survivors (3072K) > > Metaspace used 16675K, committed 17024K, reserved 1114112K > > class space used 933K, committed 1088K, reserved 1048576K > > } > > Event: 0.638 GC heap before > > {Heap before GC invocations=1 (full 0): > > garbage-first heap total 258048K, used 14549K [0x00000000c0000000, > 0x0000000100000000) > > region size 1024K, 10 young (10240K), 3 survivors (3072K) > > Metaspace used 21212K, committed 21504K, reserved 1114112K > > class space used 933K, committed 1088K, reserved 1048576K > > } > > Event: 0.641 GC heap after > > {Heap after GC invocations=2 (full 0): > > garbage-first heap total 258048K, used 12230K [0x00000000c0000000, > 0x0000000100000000) > > region size 1024K, 3 young (3072K), 3 survivors (3072K) > > Metaspace used 21212K, committed 21504K, reserved 1114112K > > class space used 933K, committed 1088K, reserved 1048576K > > } > > Dll operation events (15 events): > > Event: 0.005 Loaded shared library C:\Program > Files\Java\jdk-19.0.2\bin\java.dll > > Event: 0.015 Loaded shared library C:\Program > Files\Java\jdk-19.0.2\bin\jsvml.dll > > Event: 0.073 Loaded shared library C:\Program > Files\Java\jdk-19.0.2\bin\jimage.dll > > Event: 0.077 Loaded shared library C:\Program > Files\Java\jdk-19.0.2\bin\awt.dll > > Event: 0.101 Loaded shared library C:\Program > Files\Java\jdk-19.0.2\bin\net.dll > > Event: 0.102 Loaded shared library C:\Program > Files\Java\jdk-19.0.2\bin\nio.dll > > Event: 0.105 Loaded shared library C:\Program > Files\Java\jdk-19.0.2\bin\zip.dll > > Event: 0.394 Loaded shared library C:\Program > Files\Java\jdk-19.0.2\bin\freetype.dll > > Event: 0.395 Loaded shared library C:\Program > Files\Java\jdk-19.0.2\bin\fontmanager.dll > > Event: 0.415 Loaded shared library C:\Windows\System32\opengl32.dll > > Event: 0.415 Loaded shared library C:\Windows\System32\glu32.dll > > Event: 0.417 Loaded shared library > C:\Users\Martin\Downloads\freeglut-MSVC-3.0.0-2.mp\freeglut\bin\x64\freeglut.dll > > Event: 0.417 Loaded shared library C:\Windows\System32\user32.dll > > Event: 0.417 Loaded shared library C:\Windows\System32\gdi32.dll > > Event: 0.417 Loaded shared library C:\Windows\System32\kernel32.dll > > Deoptimization events (20 events): > > Event: 0.975 Thread 0x000001e0f18d9cc0 Uncommon trap: > trap_request=0xffffff45 fr.pc=0x000001e0e504e070 > relative=0x0000000000001b50 > > Event: 0.975 Thread 0x000001e0f18d9cc0 Uncommon trap: > reason=unstable_if action=reinterpret pc=0x000001e0e504e070 > method=jdk.internal.org.objectweb.asm.Frame.execute(IILjdk/internal/org/objectweb/asm/Symbol;Ljdk/internal/org/objectweb/asm/SymbolTable;)V > @ 1 c2 > > Event: 0.975 Thread 0x000001e0f18d9cc0 DEOPT PACKING > pc=0x000001e0e504e070 sp=0x0000000ccadfd0e0 > > Event: 0.975 Thread 0x000001e0f18d9cc0 DEOPT UNPACKING > pc=0x000001e0e4a6aba3 sp=0x0000000ccadfd068 mode 2 > > Event: 0.975 Thread 0x000001e0f18d9cc0 Uncommon trap: > trap_request=0xffffff45 fr.pc=0x000001e0e5066e58 > relative=0x00000000000004d8 > > Event: 0.975 Thread 0x000001e0f18d9cc0 Uncommon trap: > reason=unstable_if action=reinterpret pc=0x000001e0e5066e58 > method=jdk.internal.org.objectweb.asm.MethodWriter.visitVarInsn(II)V @ > 242 c2 > > Event: 0.975 Thread 0x000001e0f18d9cc0 DEOPT PACKING > pc=0x000001e0e5066e58 sp=0x0000000ccadfd150 > > Event: 0.975 Thread 0x000001e0f18d9cc0 DEOPT UNPACKING > pc=0x000001e0e4a6aba3 sp=0x0000000ccadfd0f8 mode 2 > > Event: 1.045 Thread 0x000001e0f18d9cc0 Uncommon trap: > trap_request=0xffffff45 fr.pc=0x000001e0e5079b24 > relative=0x0000000000000844 > > Event: 1.045 Thread 0x000001e0f18d9cc0 Uncommon trap: > reason=unstable_if action=reinterpret pc=0x000001e0e5079b24 > method=jdk.internal.org.objectweb.asm.Frame.getAbstractTypeFromDescriptor(Ljdk/internal/org/objectweb/asm/SymbolTable;Ljava/lang/String;I)I > @ 5 c2 > > Event: 1.045 Thread 0x000001e0f18d9cc0 DEOPT PACKING > pc=0x000001e0e5079b24 sp=0x0000000ccadfd1b0 > > Event: 1.045 Thread 0x000001e0f18d9cc0 DEOPT UNPACKING > pc=0x000001e0e4a6aba3 sp=0x0000000ccadfd170 mode 2 > > Event: 1.064 Thread 0x000001e0f18d9cc0 Uncommon trap: > trap_request=0xffffff45 fr.pc=0x000001e0e506d798 > relative=0x0000000000000078 > > Event: 1.064 Thread 0x000001e0f18d9cc0 Uncommon trap: > reason=unstable_if action=reinterpret pc=0x000001e0e506d798 > method=jdk.internal.foreign.MemorySessionImpl.checkValidStateRaw()V @ 4 c2 > > Event: 1.064 Thread 0x000001e0f18d9cc0 DEOPT PACKING > pc=0x000001e0e506d798 sp=0x0000000ccadfe540 > > Event: 1.064 Thread 0x000001e0f18d9cc0 DEOPT UNPACKING > pc=0x000001e0e4a6aba3 sp=0x0000000ccadfe4e0 mode 2 > > Event: 1.149 Thread 0x000001e0f18d9cc0 Uncommon trap: > trap_request=0xffffff45 fr.pc=0x000001e0e50a6ac4 > relative=0x0000000000000204 > > Event: 1.149 Thread 0x000001e0f18d9cc0 Uncommon trap: > reason=unstable_if action=reinterpret pc=0x000001e0e50a6ac4 > method=jdk.internal.org.objectweb.asm.Type.getTypeInternal(Ljava/lang/String;II)Ljdk/internal/org/objectweb/asm/Type; > @ 5 c2 > > Event: 1.149 Thread 0x000001e0f18d9cc0 DEOPT PACKING > pc=0x000001e0e50a6ac4 sp=0x0000000ccadfd8c0 > > Event: 1.149 Thread 0x000001e0f18d9cc0 DEOPT UNPACKING > pc=0x000001e0e4a6aba3 sp=0x0000000ccadfd858 mode 2 > > Classes loaded (20 events): > > Event: 1.127 Loading class java/awt/im/InputMethodRequests > > Event: 1.127 Loading class java/awt/im/InputMethodRequests done > > Event: 1.127 Loading class java/awt/im/spi/InputMethodContext done > > Event: 1.127 Loading class sun/awt/im/InputContext > > Event: 1.127 Loading class sun/awt/im/InputContext done > > Event: 1.127 Loading class sun/awt/im/InputMethodContext done > > Event: 1.127 Loading class sun/awt/windows/WInputMethod > > Event: 1.127 Loading class sun/awt/im/InputMethodAdapter > > Event: 1.127 Loading class java/awt/im/spi/InputMethod > > Event: 1.127 Loading class java/awt/im/spi/InputMethod done > > Event: 1.127 Loading class sun/awt/im/InputMethodAdapter done > > Event: 1.127 Loading class sun/awt/windows/WInputMethod done > > Event: 1.128 Loading class java/awt/event/MouseWheelEvent > > Event: 1.129 Loading class java/awt/event/MouseWheelEvent done > > Event: 1.129 Loading class java/awt/TextComponent > > Event: 1.129 Loading class java/awt/TextComponent done > > Event: 1.129 Loading class javax/swing/text/JTextComponent > > Event: 1.129 Loading class javax/swing/Scrollable > > Event: 1.129 Loading class javax/swing/Scrollable done > > Event: 1.129 Loading class javax/swing/text/JTextComponent done > > Classes unloaded (0 events): > > No events > > Classes redefined (0 events): > > No events > > Internal exceptions (20 events): > > Event: 1.058 Thread 0x000001e0f18d9cc0 Exception 'java/lang/NoSuchMethodError'{0x00000000c19fe608}: 'void > java.lang.invoke.DirectMethodHandle$Holder.invokeSpecial(java.lang.Object, > java.lang.Object, long, int)'> (0x00000000c19fe608) > > thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] > > Event: 1.061 Thread 0x000001e0f18d9cc0 Exception 'java/lang/NoSuchMethodError'{0x00000000c1819d48}: 'void > java.lang.invoke.DirectMethodHandle$Holder.invokeStaticInit(java.lang.Object, > java.lang.Object, java.lang.Object, float, float, float)'> > (0x00000000c1819d48) > > thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] > > Event: 1.061 Thread 0x000001e0f18d9cc0 Exception 'java/lang/NoSuchMethodError'{0x00000000c1821648}: 'void > java.lang.invoke.DelegatingMethodHandle$Holder.reinvoke_L(java.lang.Object, > java.lang.Object, java.lang.Object, float, float, float)'> > (0x00000000c1821648) > > thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] > > Event: 1.063 Thread 0x000001e0f18d9cc0 Exception 'java/lang/NoSuchMethodError'{0x00000000c1839f50}: 'java.lang.Object > java.lang.invoke.DirectMethodHandle$Holder.invokeStatic(java.lang.Object, > long, java.lang.Object)'> (0x00000000c1839f50) > > thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] > > Event: 1.063 Thread 0x000001e0f18d9cc0 Exception 'java/lang/NoSuchMethodError'{0x00000000c1840818}: 'java.lang.Object > java.lang.invoke.DirectMethodHandle$Holder.newInvokeSpecial(java.lang.Object, > long, java.lang.Object)'> (0x00000000c1840818) > > thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] > > Event: 1.066 Thread 0x000001e0f18d9cc0 Exception 'java/lang/NoSuchMethodError'{0x00000000c1851960}: 'void > java.lang.invoke.DirectMethodHandle$Holder.invokeSpecial(java.lang.Object, > java.lang.Object, int, int, java.lang.Object)'> (0x00000000c1851960) > > thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] > > Event: 1.067 Thread 0x000001e0f18d9cc0 Exception 'java/lang/NoSuchMethodError'{0x00000000c1868c20}: 'void > java.lang.invoke.DelegatingMethodHandle$Holder.reinvoke_L(java.lang.Object, > java.lang.Object, java.lang.Object, long, float)'> (0x00000000c1868c20) > > thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] > > Event: 1.071 Thread 0x000001e0f18d9cc0 Exception 'java/lang/NoSuchMethodError'{0x00000000c188d318}: 'void > java.lang.invoke.DirectMethodHandle$Holder.invokeStatic(java.lang.Object, > java.lang.Object, java.lang.Object)'> (0x00000000c188d318) > > thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] > > Event: 1.071 Thread 0x000001e0f18d9cc0 Exception 'java/lang/NoSuchMethodError'{0x00000000c1890ce0}: 'void > java.lang.invoke.DirectMethodHandle$Holder.invokeStaticInit(java.lang.Object, > java.lang.Object, java.lang.Object)'> (0x00000000c1890ce0) > > thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] > > Event: 1.134 Thread 0x000001e0f18d9cc0 Exception 'java/lang/NoSuchMethodError'{0x00000000c18c6ea8}: 'void > java.lang.invoke.DirectMethodHandle$Holder.invokeStaticInit(java.lang.Object, > java.lang.Object, java.lang.Object, double, double)'> > (0x00000000c18c6ea8) > > thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] > > Event: 1.135 Thread 0x000001e0f18d9cc0 Exception 'java/lang/NoSuchMethodError'{0x00000000c18ce420}: 'void > java.lang.invoke.DelegatingMethodHandle$Holder.reinvoke_L(java.lang.Object, > java.lang.Object, java.lang.Object, double, double)'> > (0x00000000c18ce420) > > thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] > > Event: 1.143 Thread 0x000001e0f18d9cc0 Exception 'java/lang/NoSuchMethodError'{0x00000000c18e9e00}: 'void > java.lang.invoke.DirectMethodHandle$Holder.invokeSpecial(java.lang.Object, > java.lang.Object, int, int, int, int)'> (0x00000000c18e9e00) > > thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] > > Event: 1.145 Thread 0x000001e0f18d9cc0 Exception 'java/lang/NoSuchMethodError'{0x00000000c170ccd8}: 'void > java.lang.invoke.DirectMethodHandle$Holder.invokeStaticInit(java.lang.Object, > java.lang.Object, java.lang.Object, int, java.lang.Object, > java.lang.Object)'> (0x00000000c170ccd8) > > thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] > > Event: 1.145 Thread 0x000001e0f18d9cc0 Exception 'java/lang/NoSuchMethodError'{0x00000000c17145a0}: 'void > java.lang.invoke.DelegatingMethodHandle$Holder.reinvoke_L(java.lang.Object, > java.lang.Object, java.lang.Object, int, java.lang.Object, > java.lang.Object)'> (0x00000000c17145a0) > > thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] > > Event: 1.147 Thread 0x000001e0f18d9cc0 Exception 'java/lang/NoSuchMethodError'{0x00000000c1726d98}: 'void > java.lang.invoke.Invokers$Holder.invokeExact_MT(java.lang.Object, > java.lang.Object)'> (0x00000000c1726d98) > > thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] > > Event: 1.147 Thread 0x000001e0f18d9cc0 Exception 'java/lang/NoSuchMethodError'{0x00000000c172aaa0}: 'void > java.lang.invoke.DirectMethodHandle$Holder.invokeSpecial(java.lang.Object, > java.lang.Object, long)'> (0x00000000c172aaa0) > > thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] > > Event: 1.147 Thread 0x000001e0f18d9cc0 Exception 'java/lang/NoSuchMethodError'{0x00000000c172e0a8}: 'void > java.lang.invoke.Invokers$Holder.invokeExact_MT(java.lang.Object, > long, java.lang.Object)'> (0x00000000c172e0a8) > > thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] > > Event: 1.150 Thread 0x000001e0f18d9cc0 Exception 'java/lang/NoSuchMethodError'{0x00000000c174fe60}: 'void > java.lang.invoke.DirectMethodHandle$Holder.invokeStaticInit(java.lang.Object, > java.lang.Object, java.lang.Object, double, double, double, double)'> > (0x00000000c174fe60) > > thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] > > Event: 1.150 Thread 0x000001e0f18d9cc0 Exception 'java/lang/NoSuchMethodError'{0x00000000c1757728}: 'void > java.lang.invoke.DelegatingMethodHandle$Holder.reinvoke_L(java.lang.Object, > java.lang.Object, java.lang.Object, double, double, double, double)'> > (0x00000000c1757728) > > thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] > > Event: 1.152 Thread 0x000001e0f18d9cc0 Exception 'java/lang/NoSuchMethodError'{0x00000000c1778378}: 'void > java.lang.invoke.DirectMethodHandle$Holder.invokeSpecial(java.lang.Object, > java.lang.Object, float, float, float)'> (0x00000000c1778378) > > thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] > > VM Operations (14 events): > > Event: 0.111 Executing VM operation: HandshakeAllThreads > > Event: 0.111 Executing VM operation: HandshakeAllThreads done > > Event: 0.242 Executing VM operation: HandshakeAllThreads > > Event: 0.242 Executing VM operation: HandshakeAllThreads done > > Event: 0.578 Executing VM operation: G1CollectForAllocation > > Event: 0.582 Executing VM operation: G1CollectForAllocation done > > Event: 0.638 Executing VM operation: CollectForMetadataAllocation > > Event: 0.641 Executing VM operation: CollectForMetadataAllocation done > > Event: 0.644 Executing VM operation: G1PauseRemark > > Event: 0.645 Executing VM operation: G1PauseRemark done > > Event: 0.645 Executing VM operation: G1PauseCleanup > > Event: 0.650 Executing VM operation: G1PauseCleanup done > > Event: 1.114 Executing VM operation: HandshakeAllThreads > > Event: 1.114 Executing VM operation: HandshakeAllThreads done > > Events (20 events): > > Event: 0.025 Thread 0x000001e0f18d2660 Thread added: 0x000001e0f18d2660 > > Event: 0.025 Thread 0x000001e0f18dacb0 Thread added: 0x000001e0f18dacb0 > > Event: 0.025 Thread 0x000001e0f18d7ce0 Thread added: 0x000001e0f18d7ce0 > > Event: 0.026 Thread 0x000001e0f18d8cd0 Thread added: 0x000001e0f18d8cd0 > > Event: 0.026 Thread 0x000001e0f18da210 Thread added: 0x000001e0f18da210 > > Event: 0.026 Thread 0x000001e0f5c075f0 Thread added: 0x000001e0f5c075f0 > > Event: 0.026 Thread 0x000001e0f5c15fb0 Thread added: 0x000001e0f5c15fb0 > > Event: 0.026 Thread 0x000001e0f18d7790 Thread added: 0x000001e0f18d7790 > > Event: 0.055 Thread 0x000001e0f18d9220 Thread added: 0x000001e0f18d9220 > > Event: 0.058 Thread 0x000001e0f18d6cf0 Thread added: 0x000001e0f18d6cf0 > > Event: 0.122 Thread 0x000001e0f5c13330 Thread added: 0x000001e0f5c13330 > > Event: 0.154 Thread 0x000001e0f18d8230 Thread added: 0x000001e0f18d8230 > > Event: 0.155 Thread 0x000001e0f18d9770 Thread added: 0x000001e0f18d9770 > > Event: 0.159 Thread 0x000001e0f18d8780 Thread added: 0x000001e0f18d8780 > > Event: 0.375 Thread 0x000001e0f18d9cc0 Thread added: 0x000001e0f18d9cc0 > > Event: 0.375 Thread 0x000001e0f18d7240 Thread added: 0x000001e0f18d7240 > > Event: 0.375 Thread 0x000001e0d55c46e0 Thread exited: 0x000001e0d55c46e0 > > Event: 0.375 Thread 0x000001e0f613a5e0 Thread added: 0x000001e0f613a5e0 > > Event: 0.714 Thread 0x000001e0f5c13330 Thread exited: 0x000001e0f5c13330 > > Event: 0.915 Thread 0x000001e0f5c14970 Thread added: 0x000001e0f5c14970 > > Dynamic libraries: > > 0x00007ff6151c0000 - 0x00007ff6151ce000 C:\Program > Files\Java\jdk-19.0.2\bin\javaw.exe > > 0x00007ff899050000 - 0x00007ff899248000 C:\Windows\SYSTEM32\ntdll.dll > > 0x00007ff898860000 - 0x00007ff89891f000 C:\Windows\System32\KERNEL32.DLL > > 0x00007ff896960000 - 0x00007ff896c32000 C:\Windows\System32\KERNELBASE.dll > > 0x00007ff896e50000 - 0x00007ff896f50000 C:\Windows\System32\ucrtbase.dll > > 0x00007ff88b480000 - 0x00007ff88b49b000 C:\Program > Files\Java\jdk-19.0.2\bin\VCRUNTIME140.dll > > 0x00007ff881a90000 - 0x00007ff881aa7000 C:\Program > Files\Java\jdk-19.0.2\bin\jli.dll > > 0x00007ff8986b0000 - 0x00007ff898851000 C:\Windows\System32\USER32.dll > > 0x00007ff87f7c0000 - 0x00007ff87fa5a000 > C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.19041.1110_none_60b5254171f9507e\COMCTL32.dll > > 0x00007ff896f50000 - 0x00007ff896f72000 C:\Windows\System32\win32u.dll > > 0x00007ff897320000 - 0x00007ff89734b000 C:\Windows\System32\GDI32.dll > > 0x00007ff898e60000 - 0x00007ff898efe000 C:\Windows\System32\msvcrt.dll > > 0x00007ff896f80000 - 0x00007ff89708f000 C:\Windows\System32\gdi32full.dll > > 0x00007ff896740000 - 0x00007ff8967dd000 C:\Windows\System32\msvcp_win.dll > > 0x00007ff898e20000 - 0x00007ff898e52000 C:\Windows\System32\IMM32.DLL > > 0x00007ff88b460000 - 0x00007ff88b46c000 C:\Program > Files\Java\jdk-19.0.2\bin\vcruntime140_1.dll > > 0x00007ff868400000 - 0x00007ff86848e000 C:\Program > Files\Java\jdk-19.0.2\bin\msvcp140.dll > > 0x00007ff83f2d0000 - 0x00007ff83ff90000 C:\Program > Files\Java\jdk-19.0.2\bin\server\jvm.dll > > 0x00007ff8970f0000 - 0x00007ff89719e000 C:\Windows\System32\ADVAPI32.dll > > 0x00007ff898f60000 - 0x00007ff898ffc000 C:\Windows\System32\sechost.dll > > 0x00007ff897350000 - 0x00007ff897475000 C:\Windows\System32\RPCRT4.dll > > 0x00007ff88fae0000 - 0x00007ff88fae9000 C:\Windows\SYSTEM32\WSOCK32.dll > > 0x00007ff890fa0000 - 0x00007ff890fc7000 C:\Windows\SYSTEM32\WINMM.dll > > 0x00007ff88eed0000 - 0x00007ff88eeda000 C:\Windows\SYSTEM32\VERSION.dll > > 0x00007ff898db0000 - 0x00007ff898e1b000 C:\Windows\System32\WS2_32.dll > > 0x00007ff894fa0000 - 0x00007ff894fb2000 > C:\Windows\SYSTEM32\kernel.appcore.dll > > 0x00007ff88d810000 - 0x00007ff88d81a000 C:\Program > Files\Java\jdk-19.0.2\bin\jimage.dll > > 0x00007ff8944b0000 - 0x00007ff894694000 C:\Windows\SYSTEM32\DBGHELP.DLL > > 0x00007ff88cb40000 - 0x00007ff88cb75000 C:\Windows\SYSTEM32\dbgcore.DLL > > 0x00007ff8968d0000 - 0x00007ff896952000 > C:\Windows\System32\bcryptPrimitives.dll > > 0x00007ff881950000 - 0x00007ff881976000 C:\Program > Files\Java\jdk-19.0.2\bin\java.dll > > 0x00007ff86a290000 - 0x00007ff86a367000 C:\Program > Files\Java\jdk-19.0.2\bin\jsvml.dll > > 0x00007ff897480000 - 0x00007ff897bc4000 C:\Windows\System32\SHELL32.dll > > 0x00007ff8947a0000 - 0x00007ff894f32000 > C:\Windows\SYSTEM32\windows.storage.dll > > 0x00007ff898920000 - 0x00007ff898c75000 C:\Windows\System32\combase.dll > > 0x00007ff8960c0000 - 0x00007ff8960f0000 C:\Windows\SYSTEM32\Wldp.dll > > 0x00007ff898c80000 - 0x00007ff898d2d000 C:\Windows\System32\SHCORE.dll > > 0x00007ff8971a0000 - 0x00007ff8971f5000 C:\Windows\System32\shlwapi.dll > > 0x00007ff896680000 - 0x00007ff89669f000 C:\Windows\SYSTEM32\profapi.dll > > 0x00007ff84de90000 - 0x00007ff84e020000 C:\Program > Files\Java\jdk-19.0.2\bin\awt.dll > > 0x00007ff897c90000 - 0x00007ff897d5d000 C:\Windows\System32\OLEAUT32.dll > > 0x00007ff88f8e0000 - 0x00007ff88f971000 C:\Windows\SYSTEM32\apphelp.dll > > 0x00007ff881820000 - 0x00007ff881833000 C:\Program > Files\Java\jdk-19.0.2\bin\net.dll > > 0x00007ff88fff0000 - 0x00007ff8900fc000 C:\Windows\SYSTEM32\WINHTTP.dll > > 0x00007ff895ea0000 - 0x00007ff895f0a000 C:\Windows\system32\mswsock.dll > > 0x00007ff8809d0000 - 0x00007ff8809e6000 C:\Program > Files\Java\jdk-19.0.2\bin\nio.dll > > 0x00007ff87fb70000 - 0x00007ff87fb88000 C:\Program > Files\Java\jdk-19.0.2\bin\zip.dll > > 0x00007ff891370000 - 0x00007ff89140e000 C:\Windows\system32\uxtheme.dll > > 0x00007ff897200000 - 0x00007ff897315000 C:\Windows\System32\MSCTF.dll > > 0x00007ff898370000 - 0x00007ff89849a000 C:\Windows\System32\ole32.dll > > 0x00007ff893cf0000 - 0x00007ff893d1f000 C:\Windows\system32\DWMAPI.DLL > > 0x00007ff85a270000 - 0x00007ff85a395000 C:\Windows\system32\opengl32.dll > > 0x00007ff85bb10000 - 0x00007ff85bb3c000 C:\Windows\SYSTEM32\GLU32.dll > > 0x00007ff85e900000 - 0x00007ff85e986000 C:\Program > Files\Java\jdk-19.0.2\bin\freetype.dll > > 0x00007ff8588d0000 - 0x00007ff858996000 C:\Program > Files\Java\jdk-19.0.2\bin\fontmanager.dll > > 0x00007ff85a900000 - 0x00007ff85a9a1000 > C:\Users\Martin\Downloads\freeglut-MSVC-3.0.0-2.mp\freeglut\bin\x64\freeglut.dll > > 0x00007ff8981e0000 - 0x00007ff89828f000 C:\Windows\System32\clbcatq.dll > > 0x00007ff88c4e0000 - 0x00007ff88c5d7000 > C:\Windows\System32\AppXDeploymentClient.dll > > 0x00007ff82e1a0000 - 0x00007ff82f24b000 > C:\Windows\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_c664ba079c9e0cd1\igxelpicd64.dll > > 0x00007ff894fc0000 - 0x00007ff8950b3000 C:\Windows\system32\dxgi.dll > > 0x00007ff84b760000 - 0x00007ff84b885000 > C:\Windows\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_c664ba079c9e0cd1\igdml64.dll > > 0x00007ff880140000 - 0x00007ff880552000 > C:\Windows\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_c664ba079c9e0cd1\igdgmm64.dll > > 0x00007ff896830000 - 0x00007ff896857000 C:\Windows\System32\bcrypt.dll > > 0x00007ff8777f0000 - 0x00007ff87bcda000 > C:\Windows\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_c664ba079c9e0cd1\igc64.dll > > 0x00007ff895cd0000 - 0x00007ff895d1b000 C:\Windows\SYSTEM32\powrprof.dll > > 0x00007ff895b40000 - 0x00007ff895b52000 C:\Windows\SYSTEM32\UMPDC.dll > > 0x00007ff86aa30000 - 0x00007ff86ab29000 > C:\Windows\SYSTEM32\textinputframework.dll > > 0x00007ff88eee0000 - 0x00007ff88f23e000 > C:\Windows\System32\CoreUIComponents.dll > > 0x00007ff88f240000 - 0x00007ff88f332000 > C:\Windows\System32\CoreMessaging.dll > > 0x00007ff8958b0000 - 0x00007ff8958e3000 C:\Windows\SYSTEM32\ntmarta.dll > > 0x00007ff890640000 - 0x00007ff890794000 C:\Windows\SYSTEM32\wintypes.dll > > dbghelp: loaded successfully - version: 4.0.5 - missing functions: none > > symbol engine: initialized successfully - sym options: 0x614 - pdb > path: .;C:\Program > Files\Java\jdk-19.0.2\bin;C:\Windows\SYSTEM32;C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.19041.1110_none_60b5254171f9507e;C:\Program > Files\Java\jdk-19.0.2\bin\server;C:\Users\Martin\Downloads\freeglut-MSVC-3.0.0-2.mp\freeglut\bin\x64;C:\Windows\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_c664ba079c9e0cd1 > > VM Arguments: > > jvm_args: > -Djava.library.path=C:\Windows\system32;C:\Users\Martin\Downloads\freeglut-MSVC-3.0.0-2.mp\freeglut\bin\x64 > -Dsun.java2d.d3d=false -Xmx1024M -Dfile.encoding=UTF-8 > --enable-preview -XX:+ShowCodeDetailsInExceptionMessages > > java_command: demos.panamagl.swing.DemoTeapot_Onscreen_Swing > -Dpanamagl.offscreen.OffscreenRenderer > > java_class_path (initial): > C:\Users\Martin\Dev\jzy3d\public\panama-gl\panama-gl-samples\target\classes;C:\Users\Martin\Dev\jzy3d\public\panama-gl\panama-gl-api\target\classes;C:\Users\Martin\Dev\jzy3d\public\panama-gl\panama-gl-ui-awt\target\classes;C:\Users\Martin\Dev\jzy3d\public\panama-gl\panama-gl-ui-swing\target\classes;C:\Users\Martin\Dev\jzy3d\public\panama-gl\panama-gl-wrappers-macos\target\classes;C:\Users\Martin\.m2\repository\org\jzy3d\panama-gl-bindings-macos\1.0.1-SNAPSHOT\panama-gl-bindings-macos-1.0.1-SNAPSHOT.jar;C:\Users\Martin\Dev\jzy3d\public\jzy3d-api\jzy3d-core\target\classes;C:\Users\Martin\Dev\jzy3d\public\jzy3d-api\jzy3d-jdt-core\target\classes;C:\Users\Martin\.m2\repository\commons-io\commons-io\2.7\commons-io-2.7.jar;C:\Users\Martin\.m2\repository\org\apache\commons\commons-lang3\3.12.0\commons-lang3-3.12.0.jar;C:\Users\Martin\.m2\repository\org\smurn\jply\0.2.1\jply-0.2.1.jar;C:\Users\Martin\.m2\repository\net\sf\opencsv\opencsv\2.1\opencsv-2.1.jar;C:\Users\Martin\.m2\repository\org\tallison\jmatio\1.5\jmatio-1.5.jar;C:\Users\Martin\.m2\repository\org\slf4j\slf4j-api\1.7.25\slf4j-api-1.7.25.jar;C:\Users\Martin\.m2\repository\com\diogonunes\JColor\5.2.0\JColor-5.2.0.jar;C:\Users\Martin\.m2\repository\net\java\dev\jna\jna\5.8.0\jna-5.8.0.jar;C:\Users\Martin\.m2\repository\net\java\dev\jna\jna-platform\5.8.0\jna-platform-5.8.0.jar;C:\Users\Martin\.m2\repository\org\apache\logging\log4j\log4j-api\2.17.1\log4j-api-2.17.1.jar;C:\Users\Martin\.m2\repository\org\apache\logging\log4j\log4j-core\2.17.1\log4j-core-2.17.1.jar;C:\Users\Martin\Dev\jzy3d\public\jzy3d-api\jzy3d-native-jogl-swing\target\classes;C:\Users\Martin\Dev\jzy3d\public\jzy3d-api\jzy3d-native-jogl-awt\target\classes;C:\Users\Martin\Dev\jzy3d\public\jzy3d-api\jzy3d-core-awt\target\classes;C:\Users\Martin\Dev\jzy3d\public\jzy3d-api\jzy3d-native-jogl-core\target\classes;C:\Users\Martin\.m2\repository\org\jogamp\jogl\jogl-all\v2.4.0-rc4\jogl-all-v2.4.0-rc4.jar;C:\Users\Martin\.m2\repository\org\jogamp\jogl\jogl-all-natives-linux-aarch64\v2.4.0-rc4\jogl-all-natives-linux-aarch64-v2.4.0-rc4.jar;C:\Users\Martin\.m2\repository\org\jogamp\jogl\jogl-all-natives-linux-amd64\v2.4.0-rc4\jogl-all-natives-linux-amd64-v2.4.0-rc4.jar;C:\Users\Martin\.m2\repository\org\jogamp\jogl\jogl-all-natives-linux-armv6hf\v2.4.0-rc4\jogl-all-natives-linux-armv6hf-v2.4.0-rc4.jar;C:\Users\Martin\.m2\repository\org\jogamp\jogl\jogl-all-natives-linux-i586\v2.4.0-rc4\jogl-all-natives-linux-i586-v2.4.0-rc4.jar;C:\Users\Martin\.m2\repository\org\jogamp\jogl\jogl-all-natives-macosx-universal\v2.4.0-rc4\jogl-all-natives-macosx-universal-v2.4.0-rc4.jar;C:\Users\Martin\.m2\repository\org\jogamp\jogl\jogl-all-natives-windows-amd64\v2.4.0-rc4\jogl-all-natives-windows-amd64-v2.4.0-rc4.jar;C:\Users\Martin\.m2\repository\org\jogamp\jogl\jogl-all-natives-windows-i586\v2.4.0-rc4\jogl-all-natives-windows-i586-v2.4.0-rc4.jar;C:\Users\Martin\.m2\repository\org\jogamp\gluegen\gluegen-rt\v2.4.0-rc4\gluegen-rt-v2.4.0-rc4.jar;C:\Users\Martin\.m2\repository\org\jogamp\gluegen\gluegen-rt-natives-macosx-universal\v2.4.0-rc4\gluegen-rt-natives-macosx-universal-v2.4.0-rc4.jar;C:\Users\Martin\.m2\repository\org\jogamp\gluegen\gluegen-rt-natives-linux-aarch64\v2.4.0-rc4\gluegen-rt-natives-linux-aarch64-v2.4.0-rc4.jar;C:\Users\Martin\.m2\repository\org\jogamp\gluegen\gluegen-rt-natives-linux-amd64\v2.4.0-rc4\gluegen-rt-natives-linux-amd64-v2.4.0-rc4.jar;C:\Users\Martin\.m2\repository\org\jogamp\gluegen\gluegen-rt-natives-linux-armv6hf\v2.4.0-rc4\gluegen-rt-natives-linux-armv6hf-v2.4.0-rc4.jar;C:\Users\Martin\.m2\repository\org\jogamp\gluegen\gluegen-rt-natives-linux-i586\v2.4.0-rc4\gluegen-rt-natives-linux-i586-v2.4.0-rc4.jar;C:\Users\Martin\.m2\repository\org\jogamp\gluegen\gluegen-rt-natives-windows-amd64\v2.4.0-rc4\gluegen-rt-natives-windows-amd64-v2.4.0-rc4.jar;C:\Users\Martin\.m2\repository\org\jogamp\gluegen\gluegen-rt-natives-windows-i586\v2.4.0-rc4\gluegen-rt-natives-windows-i586-v2.4.0-rc4.jar;C:\Users\Martin\Dev\jzy3d\public\jzy3d-api\jzy3d-native-jogl-core\target\test-classes;C:\Users\Martin\Dev\jzy3d\public\jzy3d-api\jzy3d-core\target\test-classes;C:\Users\Martin\.m2\repository\com\miglayout\miglayout\3.7.4\miglayout-3.7.4.jar;C:\Users\Martin\Dev\jzy3d\public\panama-gl\panama-gl-wrappers-linux\target\classes;C:\Users\Martin\.m2\repository\org\jzy3d\panama-gl-bindings-linux\1.0.1-SNAPSHOT\panama-gl-bindings-linux-1.0.1-SNAPSHOT.jar;C:\Users\Martin\Dev\jzy3d\public\panama-gl\panama-gl-wrappers-windows\target\classes;C:\Users\Martin\.m2\repository\org\jzy3d\panama-gl-bindings-windows\1.0.1-SNAPSHOT\panama-gl-bindings-windows-1.0.1-SNAPSHOT.jar;C:\Users\Martin\.m2\repository\log4j\log4j\1.2.16\log4j-1.2.16.jar;C:\Users\Martin\.m2\repository\org\apache\commons\commons-collections4\4.4\commons-collections4-4.4.jar;C:\Users\Martin\.m2\repository\com\google\guava\guava\24.0-jre\guava-24.0-jre.jar;C:\Users\Martin\.m2\repository\com\google\code\findbugs\jsr305\1.3.9\jsr305-1.3.9.jar;C:\Users\Martin\.m2\repository\org\checkerframework\checker-compat-qual\2.0.0\checker-compat-qual-2.0.0.jar;C:\Users\Martin\.m2\repository\com\google\errorprone\error_prone_annotations\2.1.3\error_prone_annotations-2.1.3.jar;C:\Users\Martin\.m2\repository\com\google\j2objc\j2objc-annotations\1.1\j2objc-annotations-1.1.jar;C:\Users\Martin\.m2\repository\org\codehaus\mojo\animal-sniffer-annotations\1.14\animal-sniffer-annotations-1.14.jar > > Launcher Type: SUN_STANDARD > > [Global flags] > > intx CICompilerCount = 4 {product} {ergonomic} > > uint ConcGCThreads = 2 {product} {ergonomic} > > uint G1ConcRefinementThreads = 8 {product} {ergonomic} > > size_t G1HeapRegionSize = 1048576 {product} {ergonomic} > > uintx GCDrainStackTargetSize = 64 {product} {ergonomic} > > size_t InitialHeapSize = 264241152 {product} {ergonomic} > > size_t MarkStackSize = 4194304 {product} {ergonomic} > > size_t MaxHeapSize = 1073741824 {product} {command line} > > size_t MaxNewSize = 643825664 {product} {ergonomic} > > size_t MinHeapDeltaBytes = 1048576 {product} {ergonomic} > > size_t MinHeapSize = 8388608 {product} {ergonomic} > > uintx NonNMethodCodeHeapSize = 5839372 {pd product} {ergonomic} > > uintx NonProfiledCodeHeapSize = 122909434 {pd product} {ergonomic} > > uintx ProfiledCodeHeapSize = 122909434 {pd product} {ergonomic} > > uintx ReservedCodeCacheSize = 251658240 {pd product} {ergonomic} > > bool SegmentedCodeCache = true {product} {ergonomic} > > bool ShowCodeDetailsInExceptionMessages = true {manageable} {command line} > > size_t SoftMaxHeapSize = 1073741824 {manageable} {ergonomic} > > bool UseCompressedClassPointers = true {product lp64_product} {ergonomic} > > bool UseCompressedOops = true {product lp64_product} {ergonomic} > > bool UseG1GC = true {product} {ergonomic} > > bool UseLargePagesIndividualAllocation = false {pd product} {ergonomic} > > Logging: > > Log output configuration: > > #0: stdout all=warning uptime,level,tags foldmultilines=false > > #1: stderr all=off uptime,level,tags foldmultilines=false > > Environment Variables: > > JAVA_HOME=C:\Program Files\Java\jdk-19.0.2 > > PATH=C:/Program Files/Java/jdk-19.0.2/bin/server;C:/Program > Files/Java/jdk-19.0.2/bin;C:\Users\Martin\Dev\jzy3d\private\vtk-java-wrapper\lib\9.1.0\vtk-Windows-x86_64;C:\Program > Files\Java\jdk-19.0.2\bin\;C:\Program Files\Common > Files\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program > Files\Git\cmd;C:\Program Files (x86)\apache-maven-3.8.3\bin;C:\Program > Files (x86)\apache-ant-1.9.16\bin;C:\Program > Files\CMake\bin;C:\Program Files\dotnet\;C:\Program Files\Microsoft > SQL Server\130\Tools\Binn\;C:\Program Files\Microsoft SQL > Server\Client SDK\ODBC\170\Tools\Binn\;C:\Program > Files\7-Zip;C:\Program Files (x86)\Common > Files\Oracle\Java\javapath;C:\Program > Files\gawk-3.1.6-1-bin\bin;C:\Mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\x86_64-w64-mingw32\bin;C:\Mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin;C:\Program > Files\win_flex_bison3-latest;C:\Users\Martin\AppData\Local\Programs\Python\Python39\Scripts\;C:\Users\Martin\AppData\Local\Programs\Python\Python39\;C:\Users\Martin\AppData\Local\Microsoft\WindowsApps;C:\Users\Martin\AppData\Local\atom\bin;C:\Program > Files > (x86)\apache-maven-3.8.3\bin;C:\Users\Martin\.dotnet\tools;C:\Users\Martin\AppData\Local\Programs\MiKTeX\miktex\bin\x64\;C:\Program > Files\JetBrains\IntelliJ IDEA Community Edition > 2022.3.1\bin;;C:\Windows\system32; > > USERNAME=Martin > > OS=Windows_NT > > PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 140 Stepping 1, GenuineIntel > > TMP=C:\Users\Martin\AppData\Local\Temp > > TEMP=C:\Users\Martin\AppData\Local\Temp > > --------------- S Y S T E M --------------- > > OS: > > Windows 10 , 64 bit Build 19041 (10.0.19041.2364) > > OS uptime: 86 days 0:06 hours > > Hyper-V role detected > > CPU: total 8 (initial active 8) (4 cores per cpu, 2 threads per core) > family 6 model 140 stepping 1 microcode 0xa4, cx8, cmov, fxsr, ht, > mmx, 3dnowpref, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, lzcnt, > tsc, tscinvbit, avx, avx2, aes, erms, clmul, bmi1, bmi2, adx, avx512f, > avx512dq, avx512cd, avx512bw, avx512vl, sha, fma, vzeroupper, > avx512_vpopcntdq, avx512_vpclmulqdq, avx512_vaes, avx512_vnni, > clflush, clflushopt, clwb, avx512_vbmi2, avx512_vbmi, hv, rdtscp, > rdpid, fsrm, gfni, avx512_bitalg > > Memory: 4k page, system-wide physical 16107M (4494M free) > > TotalPageFile size 25774M (AvailPageFile size 6176M) > > current process WorkingSet (physical memory assigned to process): > 233M, peak: 233M > > current process commit charge ("private bytes"): 240M, peak: 379M > > vm_info: OpenJDK 64-Bit Server VM (19.0.2+7-44) for windows-amd64 JRE > (19.0.2+7-44), built on 2022-11-30T18:02:09Z by "mach5one" with MS > VC++ 17.1 (VS2022) > > END. > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From martin.pernollet at protonmail.com Tue Mar 21 17:16:42 2023 From: martin.pernollet at protonmail.com (Martin Pernollet) Date: Tue, 21 Mar 2023 17:16:42 +0000 Subject: Debugging segfaults In-Reply-To: <76a25271-8bff-c3bf-a4b6-f47b37073ed7@oracle.com> References: <76a25271-8bff-c3bf-a4b6-f47b37073ed7@oracle.com> Message-ID: Hi, Thank you a lot for these hints. I'll go through building freeglut in debug mode and see what the native debugger can tell. Regards, Martin Envoy? avec la messagerie s?curis?e [Proton Mail](https://proton.me/). ------- Original Message ------- Le mardi 21 mars 2023 ? 14:03, Jorn Vernee a ?crit : > Hi Martin, > > It is possible (at least on Windows) to attach both a Java and native debugger to a process. Something I often do, is start a Java program in the IntelliJ Java debugger, and then set a breakpoint in the main method where I print out the process id. Then, I use that id to attach a native debugger to the same process, set a breakpoint in native code where I want to debug, and then continue execution in the Java debugger. The native breakpoint should be hit. > > You could use this together with a debug build of the particular library to step through the code and see exactly why it is crashing. FWIW, it looks like freeglut is easy to build from source on Windows ass well, in case there's no debug build available on the web. > > HTH, > Jorn > > On 19/03/2023 19:33, Martin Pernollet wrote: > >> Hi, >> >> Would anyone recommend a way to debug a segmentation fault occuring on Windows when using a native lib binded with JExtract? >> >> For the story : I got freeglut working on Windows correctly, but when I try to use freeglut with [WGL](https://www.khronos.org/opengl/wiki/Creating_an_OpenGL_Context_(WGL)), I got the below crash. WGL allows getting an OpenGL context on windows, without relying on glut, hence avoiding to get a native Windows window opened. >> >> While freeglut alone only requires loading opengl32.dll, glu32.dll and freeglut.dll, WGL additionnaly requires to load User32.dll, Gdi32.dll and Kernel32.dll. >> >> Thanks for your recommandations! >> >> # >> >> # A fatal error has been detected by the Java Runtime Environment: >> >> # >> >> # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007ff85a90583b, pid=5736, tid=10080 >> >> # >> >> # JRE version: OpenJDK Runtime Environment (19.0.2+7) (build 19.0.2+7-44) >> >> # Java VM: OpenJDK 64-Bit Server VM (19.0.2+7-44, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, windows-amd64) >> >> # Problematic frame: >> >> # C [freeglut.dll+0x583b] >> >> # >> >> # No core dump will be written. Minidumps are not enabled by default on client versions of Windows >> >> # >> >> # If you would like to submit a bug report, please visit: >> >> # https://bugreport.java.com/bugreport/crash.jsp >> >> # The crash happened outside the Java Virtual Machine in native code. >> >> # See problematic frame for where to report the bug. >> >> # >> >> --------------- S U M M A R Y ------------ >> >> Command Line: -Djava.library.path=C:\Windows\system32;C:\Users\Martin\Downloads\freeglut-MSVC-3.0.0-2.mp\freeglut\bin\x64 -Dsun.java2d.d3d=false -Xmx1024M -Dfile.encoding=UTF-8 --enable-preview -XX:+ShowCodeDetailsInExceptionMessages demos.panamagl.swing.DemoTeapot_Onscreen_Swing -Dpanamagl.offscreen.OffscreenRenderer >> >> Host: 11th Gen Intel(R) Core(TM) i5-1135G7 @ 2.40GHz, 8 cores, 15G, Windows 10 , 64 bit Build 19041 (10.0.19041.2364) >> >> Time: Sun Mar 19 17:35:31 2023 Europe de l , 64 bit Build 19041 (10.0.19041.2364) elapsed time: 1.156167 seconds (0d 0h 0m 1s) >> >> --------------- T H R E A D --------------- >> >> Current thread (0x000001e0f18d9cc0): JavaThread "AWT-EventQueue-0" [_thread_in_native, id=10080, stack(0x0000000ccad00000,0x0000000ccae00000)] >> >> Stack: [0x0000000ccad00000,0x0000000ccae00000], sp=0x0000000ccadfe8d0, free space=1018k >> >> Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) >> >> C [freeglut.dll+0x583b] >> >> Java frames: (J=compiled Java code, j=interpreted, Vv=VM code) >> >> v ~RuntimeStub::nep_invoker_blob 0x000001e0e4cd5988 >> >> j java.lang.invoke.LambdaForm$MH+0x00000008011b4400.invoke(Ljava/lang/Object;JD)V+10 java.base at 19.0.2 >> >> j java.lang.invoke.LambdaForm$MH+0x00000008011bb000.invokeExact_MT(Ljava/lang/Object;JDLjava/lang/Object;)V+21 java.base at 19.0.2 >> >> j jdk.internal.foreign.abi.DowncallStub+0x00000008011b4800.invoke(Ljava/lang/foreign/SegmentAllocator;Ljava/lang/foreign/Addressable;D)V+48 java.base at 19.0.2 >> >> j java.lang.invoke.LambdaForm$DMH+0x00000008011b4c00.invokeStatic(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;D)V+14 java.base at 19.0.2 >> >> j java.lang.invoke.LambdaForm$MH+0x00000008011b6800.invoke(Ljava/lang/Object;D)V+46 java.base at 19.0.2 >> >> j java.lang.invoke.LambdaForm$MH+0x00000008011ba800.invokeExact_MT(Ljava/lang/Object;DLjava/lang/Object;)V+19 java.base at 19.0.2 >> >> j freeglut.windows.x86.freeglut_h_15.glutSolidTeapot(D)V+6 >> >> j panamagl.platform.windows.x64.GL_windows_x64.glutSolidTeapot(D)V+1 >> >> j demos.panamagl.swing.DemoTeapot_Onscreen_Swing$2.display(Lpanamagl/opengl/GL;)V+64 >> >> j panamagl.offscreen.AOffscreenRenderer.renderGLToImage(Lpanamagl/GLCanvas;Lpanamagl/GLEventListener;)V+9 >> >> j panamagl.offscreen.AOffscreenRenderer.renderGLToImage(Lpanamagl/GLCanvas;Lpanamagl/GLEventListener;II)V+135 >> >> j panamagl.offscreen.AOffscreenRenderer$1.run()V+20 >> >> j java.awt.event.InvocationEvent.dispatch()V+11 java.desktop at 19.0.2 >> >> j java.awt.EventQueue.dispatchEventImpl(Ljava/awt/AWTEvent;Ljava/lang/Object;)V+21 java.desktop at 19.0.2 >> >> j java.awt.EventQueue$4.run()Ljava/lang/Void;+32 java.desktop at 19.0.2 >> >> j java.awt.EventQueue$4.run()Ljava/lang/Object;+1 java.desktop at 19.0.2 >> >> j java.security.AccessController.executePrivileged(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;Ljava/lang/Class;)Ljava/lang/Object;+29 java.base at 19.0.2 >> >> j java.security.AccessController.doPrivileged(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;+13 java.base at 19.0.2 >> >> j java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;Ljava/security/AccessControlContext;)Ljava/lang/Object;+18 java.base at 19.0.2 >> >> j java.awt.EventQueue.dispatchEvent(Ljava/awt/AWTEvent;)V+46 java.desktop at 19.0.2 >> >> j java.awt.EventDispatchThread.pumpOneEventForFilters(I)V+81 java.desktop at 19.0.2 >> >> j java.awt.EventDispatchThread.pumpEventsForFilter(ILjava/awt/Conditional;Ljava/awt/EventFilter;)V+35 java.desktop at 19.0.2 >> >> j java.awt.EventDispatchThread.pumpEventsForHierarchy(ILjava/awt/Conditional;Ljava/awt/Component;)V+11 java.desktop at 19.0.2 >> >> j java.awt.EventDispatchThread.pumpEvents(ILjava/awt/Conditional;)V+4 java.desktop at 19.0.2 >> >> j java.awt.EventDispatchThread.pumpEvents(Ljava/awt/Conditional;)V+3 java.desktop at 19.0.2 >> >> j java.awt.EventDispatchThread.run()V+9 java.desktop at 19.0.2 >> >> v ~StubRoutines::call_stub 0x000001e0e4a510e8 >> >> siginfo: EXCEPTION_ACCESS_VIOLATION (0xc0000005), reading address 0x00000000000000c1 >> >> Registers: >> >> RAX=0x0000000000000000, RBX=0x0000000000000008, RCX=0x00007ff85a93c3a0, RDX=0x00007ff85a98ee40 >> >> RSP=0x0000000ccadfe8d0, RBP=0x0000000ccadfea40, RSI=0x0000000000000000, RDI=0x0000000000000800 >> >> R8 =0x00007ff85a9888e0, R9 =0x0000000000000800, R10=0x00000000000007f8, R11=0x00007ff85a93c3a0 >> >> R12=0x0000000000000000, R13=0x0000000ccadfec30, R14=0x0000000000000000, R15=0x00007ff85a9888e0 >> >> RIP=0x00007ff85a90583b, EFLAGS=0x0000000000010202 >> >> Register to memory mapping: >> >> RIP=0x00007ff85a90583b freeglut.dll >> >> RAX=0x0 is NULL >> >> RBX=0x0000000000000008 is an unknown value >> >> RCX=0x00007ff85a93c3a0 freeglut.dll >> >> RDX=0x00007ff85a98ee40 freeglut.dll >> >> RSP=0x0000000ccadfe8d0 is pointing into the stack for thread: 0x000001e0f18d9cc0 >> >> RBP=0x0000000ccadfea40 is pointing into the stack for thread: 0x000001e0f18d9cc0 >> >> RSI=0x0 is NULL >> >> RDI=0x0000000000000800 is an unknown value >> >> R8 =0x00007ff85a9888e0 freeglut.dll >> >> R9 =0x0000000000000800 is an unknown value >> >> R10=0x00000000000007f8 is an unknown value >> >> R11=0x00007ff85a93c3a0 freeglut.dll >> >> R12=0x0 is NULL >> >> R13=0x0000000ccadfec30 is pointing into the stack for thread: 0x000001e0f18d9cc0 >> >> R14=0x0 is NULL >> >> R15=0x00007ff85a9888e0 freeglut.dll >> >> Top of Stack: (sp=0x0000000ccadfe8d0) >> >> 0x0000000ccadfe8d0: 000000003fc9999a 0000000000000000 >> >> 0x0000000ccadfe8e0: 0000000040000000 0000000000000000 >> >> 0x0000000ccadfe8f0: 000000003f000000 0000000000000000 >> >> 0x0000000ccadfe900: 00007ff85a937380 0000000000000009 >> >> 0x0000000ccadfe910: 0000000000000002 0000000000000000 >> >> 0x0000000ccadfe920: 00007ff85a9888e0 0000000000000000 >> >> 0x0000000ccadfe930: 0000000000000000 00007ff85a915bf2 >> >> 0x0000000ccadfe940: 0000000000000008 0000000ccadfea40 >> >> 0x0000000ccadfe950: 0000000000000000 00007ff85a9639e0 >> >> 0x0000000ccadfe960: 00007ff85a9639e0 0000000000000001 >> >> 0x0000000ccadfe970: 00007ff8000024c0 00007ff85a994840 >> >> 0x0000000ccadfe980: 0000000088753dec 00007ff83fa50a20 >> >> 0x0000000ccadfe990: 0000000000000000 000001e0f610b820 >> >> 0x0000000ccadfe9a0: 0000004000000000 00000000ffffffc0 >> >> 0x0000000ccadfe9b0: 0000000000000000 00007ff85a93c3a0 >> >> 0x0000000ccadfe9c0: 00007ff85a98ee40 00007ff85a937b59 >> >> Instructions: (pc=0x00007ff85a90583b) >> >> 0x00007ff85a90573b: 00 00 48 8b 05 ec 23 03 00 49 8b d9 44 8b 50 34 >> >> 0x00007ff85a90574b: 44 8b 58 38 74 64 41 83 fa ff 75 05 45 3b da 74 >> >> 0x00007ff85a90575b: 59 8b 84 24 b8 00 00 00 44 89 5c 24 58 44 89 54 >> >> 0x00007ff85a90576b: 24 50 89 44 24 48 8b 84 24 b0 00 00 00 89 44 24 >> >> 0x00007ff85a90577b: 40 48 8b 84 24 a8 00 00 00 48 89 44 24 38 8b 84 >> >> 0x00007ff85a90578b: 24 a0 00 00 00 89 44 24 30 8b 84 24 98 00 00 00 >> >> 0x00007ff85a90579b: 89 44 24 28 8b 84 24 90 00 00 00 89 44 24 20 e8 >> >> 0x00007ff85a9057ab: 21 04 00 00 48 83 c4 60 5b c3 8b 84 24 b8 00 00 >> >> 0x00007ff85a9057bb: 00 44 8b 8c 24 90 00 00 00 4c 8b c3 89 44 24 40 >> >> 0x00007ff85a9057cb: 8b 84 24 b0 00 00 00 89 44 24 38 48 8b 84 24 a8 >> >> 0x00007ff85a9057db: 00 00 00 48 89 44 24 30 8b 84 24 a0 00 00 00 89 >> >> 0x00007ff85a9057eb: 44 24 28 8b 84 24 98 00 00 00 89 44 24 20 e8 42 >> >> 0x00007ff85a9057fb: 01 00 00 48 83 c4 60 5b c3 cc cc cc cc cc cc cc >> >> 0x00007ff85a90580b: cc cc cc cc cc 48 89 5c 24 08 48 89 6c 24 10 48 >> >> 0x00007ff85a90581b: 89 74 24 18 48 89 7c 24 20 41 54 41 56 41 57 48 >> >> 0x00007ff85a90582b: 83 ec 50 48 8b 05 fb 22 03 00 41 8b f9 4d 8b f8 >> >> 0x00007ff85a90583b: 80 b8 c1 00 00 00 00 8b 58 34 44 8b 70 38 44 8b >> >> 0x00007ff85a90584b: 60 3c 48 8b f2 48 8b e9 74 08 45 8b c1 e8 a3 0a >> >> 0x00007ff85a90585b: 00 00 83 3d 20 fb 02 00 00 74 65 83 fb ff 75 05 >> >> 0x00007ff85a90586b: 44 3b f3 74 5b 8b 84 24 a0 00 00 00 44 89 64 24 >> >> 0x00007ff85a90587b: 48 44 89 74 24 40 89 5c 24 38 89 44 24 30 8b 84 >> >> 0x00007ff85a90588b: 24 98 00 00 00 89 44 24 28 48 8b 84 24 90 00 00 >> >> 0x00007ff85a90589b: 00 44 8b cf 4d 8b c7 48 8b d6 48 8b cd 48 89 44 >> >> 0x00007ff85a9058ab: 24 20 e8 ae 06 00 00 48 8b 05 77 22 03 00 80 b8 >> >> 0x00007ff85a9058bb: c1 00 00 00 00 74 52 8b cb e8 07 0c 00 00 eb 49 >> >> 0x00007ff85a9058cb: 8b 84 24 a0 00 00 00 44 8b cf 4d 8b c7 89 44 24 >> >> 0x00007ff85a9058db: 30 8b 84 24 98 00 00 00 48 8b d6 89 44 24 28 48 >> >> 0x00007ff85a9058eb: 8b 84 24 90 00 00 00 48 8b cd 48 89 44 24 20 e8 >> >> 0x00007ff85a9058fb: 81 01 00 00 48 8b 05 2a 22 03 00 80 b8 c1 00 00 >> >> 0x00007ff85a90590b: 00 00 74 05 e8 ec 0a 00 00 4c 8d 5c 24 50 49 8b >> >> 0x00007ff85a90591b: 5b 20 49 8b 6b 28 49 8b 73 30 49 8b 7b 38 49 8b >> >> 0x00007ff85a90592b: e3 41 5f 41 5e 41 5c c3 cc cc cc cc cc cc cc cc >> >> Stack slot to memory mapping: >> >> stack at sp + 0 slots: 0x000000003fc9999a is an unknown value >> >> stack at sp + 1 slots: 0x0 is NULL >> >> stack at sp + 2 slots: 0x0000000040000000 is an unknown value >> >> stack at sp + 3 slots: 0x0 is NULL >> >> stack at sp + 4 slots: 0x000000003f000000 is an unknown value >> >> stack at sp + 5 slots: 0x0 is NULL >> >> stack at sp + 6 slots: 0x00007ff85a937380 freeglut.dll >> >> stack at sp + 7 slots: 0x0000000000000009 is an unknown value >> >> -------------------------------------------------------------------------------- >> >> Decoding CodeBlob, name: nep_invoker_blob, at [0x000001e0e4cd5980, 0x000001e0e4cd5a78] 248 bytes >> >> [MachCode] >> >> 0x000001e0e4cd5980: 5548 8bec | 4883 ec20 | c5f8 7749 | 89af d002 | 0000 49ba | 8859 cde4 | e001 0000 | 4d89 97c8 >> >> 0x000001e0e4cd59a0: 0200 0049 | 89a7 c002 | 0000 41c7 | 8774 0300 | 0004 0000 | 004c 8bd2 | 41ff d2c5 | f877 41c7 >> >> 0x000001e0e4cd59c0: 8774 0300 | 0005 0000 | 00f0 8344 | 24c0 0049 | 3baf 7803 | 0000 0f87 | 5300 0000 | 4181 bf70 >> >> 0x000001e0e4cd59e0: 0300 0000 | 0000 000f | 8542 0000 | 0041 c787 | 7403 0000 | 0800 0000 | 4181 bfe8 | 0300 0002 >> >> 0x000001e0e4cd5a00: 0000 000f | 844c 0000 | 0049 c787 | c002 0000 | 0000 0000 | 49c7 87d0 | 0200 0000 | 0000 0049 >> >> 0x000001e0e4cd5a20: c787 c802 | 0000 0000 | 0000 c5f8 | 77c9 c3c5 | f877 498b | cf4c 8be4 | 4883 ec20 | 4883 e4f0 >> >> 0x000001e0e4cd5a40: 49ba 0015 | ad3f f87f | 0000 41ff | d249 8be4 | 4d33 e4eb | 98c5 f877 | 4c8b e448 | 83ec 2048 >> >> 0x000001e0e4cd5a60: 83e4 f049 | ba30 5ca2 | 3ff8 7f00 | 0041 ffd2 | 498b e44d | 33e4 eb91 >> >> [/MachCode] >> >> -------------------------------------------------------------------------------- >> >> --------------- P R O C E S S --------------- >> >> Threads class SMR info: >> >> _java_thread_list=0x000001e0f7d81c40, length=18, elements={ >> >> 0x000001e0f18d1780, 0x000001e0f18d2660, 0x000001e0f18dacb0, 0x000001e0f18d7ce0, >> >> 0x000001e0f18d8cd0, 0x000001e0f18da210, 0x000001e0f5c075f0, 0x000001e0f5c15fb0, >> >> 0x000001e0f18d7790, 0x000001e0f18d9220, 0x000001e0f18d6cf0, 0x000001e0f18d8230, >> >> 0x000001e0f18d9770, 0x000001e0f18d8780, 0x000001e0f18d9cc0, 0x000001e0f18d7240, >> >> 0x000001e0f613a5e0, 0x000001e0f5c14970 >> >> } >> >> Java Threads: ( => current thread ) >> >> 0x000001e0f18d1780 JavaThread "Reference Handler" daemon [_thread_blocked, id=4296, stack(0x0000000cc9d00000,0x0000000cc9e00000)] >> >> 0x000001e0f18d2660 JavaThread "Finalizer" daemon [_thread_blocked, id=24616, stack(0x0000000cc9e00000,0x0000000cc9f00000)] >> >> 0x000001e0f18dacb0 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=10472, stack(0x0000000cc9f00000,0x0000000cca000000)] >> >> 0x000001e0f18d7ce0 JavaThread "Attach Listener" daemon [_thread_blocked, id=30288, stack(0x0000000cca000000,0x0000000cca100000)] >> >> 0x000001e0f18d8cd0 JavaThread "Service Thread" daemon [_thread_blocked, id=9536, stack(0x0000000cca100000,0x0000000cca200000)] >> >> 0x000001e0f18da210 JavaThread "Monitor Deflation Thread" daemon [_thread_blocked, id=22692, stack(0x0000000cca200000,0x0000000cca300000)] >> >> 0x000001e0f5c075f0 JavaThread "C2 CompilerThread0" daemon [_thread_blocked, id=13848, stack(0x0000000cca300000,0x0000000cca400000)] >> >> 0x000001e0f5c15fb0 JavaThread "C1 CompilerThread0" daemon [_thread_blocked, id=29136, stack(0x0000000cca400000,0x0000000cca500000)] >> >> 0x000001e0f18d7790 JavaThread "Sweeper thread" daemon [_thread_blocked, id=5824, stack(0x0000000cca500000,0x0000000cca600000)] >> >> 0x000001e0f18d9220 JavaThread "Notification Thread" daemon [_thread_blocked, id=14544, stack(0x0000000cca600000,0x0000000cca700000)] >> >> 0x000001e0f18d6cf0 JavaThread "Common-Cleaner" daemon [_thread_blocked, id=26608, stack(0x0000000cca800000,0x0000000cca900000)] >> >> 0x000001e0f18d8230 JavaThread "Java2D Disposer" daemon [_thread_blocked, id=24116, stack(0x0000000ccaa00000,0x0000000ccab00000)] >> >> 0x000001e0f18d9770 JavaThread "AWT-Shutdown" [_thread_blocked, id=21736, stack(0x0000000ccab00000,0x0000000ccac00000)] >> >> 0x000001e0f18d8780 JavaThread "AWT-Windows" daemon [_thread_in_native, id=17988, stack(0x0000000ccac00000,0x0000000ccad00000)] >> >> =>0x000001e0f18d9cc0 JavaThread "AWT-EventQueue-0" [_thread_in_native, id=10080, stack(0x0000000ccad00000,0x0000000ccae00000)] >> >> 0x000001e0f18d7240 JavaThread "pool-2-thread-1" [_thread_blocked, id=15192, stack(0x0000000ccae00000,0x0000000ccaf00000)] >> >> 0x000001e0f613a5e0 JavaThread "DestroyJavaVM" [_thread_blocked, id=29648, stack(0x0000000cc9600000,0x0000000cc9700000)] >> >> 0x000001e0f5c14970 JavaThread "C2 CompilerThread1" daemon [_thread_blocked, id=1204, stack(0x0000000ccb800000,0x0000000ccb900000)] >> >> Other Threads: >> >> 0x000001e0f18b98e0 VMThread "VM Thread" [stack: 0x0000000cc9c00000,0x0000000cc9d00000] [id=25684] >> >> 0x000001e0f5d40800 WatcherThread "VM Periodic Task Thread" [stack: 0x0000000cca700000,0x0000000cca800000] [id=21296] >> >> 0x000001e0d5606770 WorkerThread "GC Thread#0" [stack: 0x0000000cc9700000,0x0000000cc9800000] [id=12912] >> >> 0x000001e0f67fe9a0 WorkerThread "GC Thread#1" [stack: 0x0000000ccaf00000,0x0000000ccb000000] [id=27552] >> >> 0x000001e0f67fec70 WorkerThread "GC Thread#2" [stack: 0x0000000ccb000000,0x0000000ccb100000] [id=6156] >> >> 0x000001e0f7b1a850 WorkerThread "GC Thread#3" [stack: 0x0000000ccb100000,0x0000000ccb200000] [id=8612] >> >> 0x000001e0f7b1ab20 WorkerThread "GC Thread#4" [stack: 0x0000000ccb200000,0x0000000ccb300000] [id=16552] >> >> 0x000001e0f7acb140 WorkerThread "GC Thread#5" [stack: 0x0000000ccb300000,0x0000000ccb400000] [id=27916] >> >> 0x000001e0f7acaba0 WorkerThread "GC Thread#6" [stack: 0x0000000ccb400000,0x0000000ccb500000] [id=11396] >> >> 0x000001e0f7acb410 WorkerThread "GC Thread#7" [stack: 0x0000000ccb500000,0x0000000ccb600000] [id=15224] >> >> 0x000001e0d56106e0 ConcurrentGCThread "G1 Main Marker" [stack: 0x0000000cc9800000,0x0000000cc9900000] [id=23116] >> >> 0x000001e0d5611110 WorkerThread "G1 Conc#0" [stack: 0x0000000cc9900000,0x0000000cc9a00000] [id=14660] >> >> 0x000001e0f7acbc80 WorkerThread "G1 Conc#1" [stack: 0x0000000ccb600000,0x0000000ccb700000] [id=12876] >> >> 0x000001e0d568ebc0 ConcurrentGCThread "G1 Refine#0" [stack: 0x0000000cc9a00000,0x0000000cc9b00000] [id=29724] >> >> 0x000001e0f1775930 ConcurrentGCThread "G1 Service" [stack: 0x0000000cc9b00000,0x0000000cc9c00000] [id=15468] >> >> Threads with active compile tasks: >> >> VM state: not at safepoint (normal execution) >> >> VM Mutex/Monitor currently owned by a thread: None >> >> Heap address: 0x00000000c0000000, size: 1024 MB, Compressed Oops mode: 32-bit >> >> CDS archive(s) mapped at: [0x0000000800000000-0x0000000800c40000-0x0000000800c40000), size 12845056, SharedBaseAddress: 0x0000000800000000, ArchiveRelocationMode: 0. >> >> Compressed class space mapped at: 0x0000000801000000-0x0000000841000000, reserved size: 1073741824 >> >> Narrow klass base: 0x0000000800000000, Narrow klass shift: 0, Narrow klass range: 0x100000000 >> >> GC Precious Log: >> >> CardTable entry size: 512 >> >> Card Set container configuration: InlinePtr #cards 5 size 8 Array Of Cards #cards 12 size 40 Howl #buckets 4 coarsen threshold 1843 Howl Bitmap #cards 512 size 80 coarsen threshold 460 Card regions per heap region 1 cards per card region 2048 >> >> CPUs: 8 total, 8 available >> >> Memory: 16107M >> >> Large Page Support: Disabled >> >> NUMA Support: Disabled >> >> Compressed Oops: Enabled (32-bit) >> >> Heap Region Size: 1M >> >> Heap Min Capacity: 8M >> >> Heap Initial Capacity: 252M >> >> Heap Max Capacity: 1G >> >> Pre-touch: Disabled >> >> Parallel Workers: 8 >> >> Concurrent Workers: 2 >> >> Concurrent Refinement Workers: 8 >> >> Periodic GC: Disabled >> >> Heap: >> >> garbage-first heap total 45056K, used 35782K [0x00000000c0000000, 0x0000000100000000) >> >> region size 1024K, 21 young (21504K), 3 survivors (3072K) >> >> Metaspace used 29523K, committed 30464K, reserved 1114112K >> >> class space used 1312K, committed 1728K, reserved 1048576K >> >> Heap Regions: E=young(eden), S=young(survivor), O=old, HS=humongous(starts), HC=humongous(continues), CS=collection set, F=free, OA=open archive, CA=closed archive, TAMS=top-at-mark-start (previous, next) >> >> | 0|0x00000000c0000000, 0x00000000c0100000, 0x00000000c0100000|100%|HS| |TAMS 0x00000000c0100000, 0x00000000c0000000| Complete >> >> | 1|0x00000000c0100000, 0x00000000c0200000, 0x00000000c0200000|100%|HC| |TAMS 0x00000000c0200000, 0x00000000c0100000| Complete >> >> | 2|0x00000000c0200000, 0x00000000c0300000, 0x00000000c0300000|100%|HS| |TAMS 0x00000000c0300000, 0x00000000c0200000| Complete >> >> | 3|0x00000000c0300000, 0x00000000c0400000, 0x00000000c0400000|100%|HC| |TAMS 0x00000000c0400000, 0x00000000c0300000| Complete >> >> | 4|0x00000000c0400000, 0x00000000c0500000, 0x00000000c0500000|100%|HC| |TAMS 0x00000000c0500000, 0x00000000c0400000| Complete >> >> | 5|0x00000000c0500000, 0x00000000c0600000, 0x00000000c0600000|100%| O| |TAMS 0x00000000c0600000, 0x00000000c0500000| Untracked >> >> | 6|0x00000000c0600000, 0x00000000c0700000, 0x00000000c0700000|100%| O| |TAMS 0x00000000c0635600, 0x00000000c0600000| Untracked >> >> | 7|0x00000000c0700000, 0x00000000c0800000, 0x00000000c0800000|100%| O| |TAMS 0x00000000c0700000, 0x00000000c0700000| Untracked >> >> | 8|0x00000000c0800000, 0x00000000c08ff400, 0x00000000c0900000| 99%| O| |TAMS 0x00000000c0800000, 0x00000000c0800000| Untracked >> >> | 9|0x00000000c0900000, 0x00000000c0a00000, 0x00000000c0a00000|100%|HS| |TAMS 0x00000000c0900000, 0x00000000c0900000| Complete >> >> | 10|0x00000000c0a00000, 0x00000000c0b00000, 0x00000000c0b00000|100%|HC| |TAMS 0x00000000c0a00000, 0x00000000c0a00000| Complete >> >> | 11|0x00000000c0b00000, 0x00000000c0c00000, 0x00000000c0c00000|100%|HC| |TAMS 0x00000000c0b00000, 0x00000000c0b00000| Complete >> >> | 12|0x00000000c0c00000, 0x00000000c0d00000, 0x00000000c0d00000|100%|HS| |TAMS 0x00000000c0c00000, 0x00000000c0c00000| Complete >> >> | 13|0x00000000c0d00000, 0x00000000c0e00000, 0x00000000c0e00000|100%|HC| |TAMS 0x00000000c0d00000, 0x00000000c0d00000| Complete >> >> | 14|0x00000000c0e00000, 0x00000000c0f00000, 0x00000000c0f00000|100%|HC| |TAMS 0x00000000c0e00000, 0x00000000c0e00000| Complete >> >> | 15|0x00000000c0f00000, 0x00000000c1000000, 0x00000000c1000000|100%|HC| |TAMS 0x00000000c0f00000, 0x00000000c0f00000| Complete >> >> | 16|0x00000000c1000000, 0x00000000c1000000, 0x00000000c1100000| 0%| F| |TAMS 0x00000000c1000000, 0x00000000c1000000| Untracked >> >> | 17|0x00000000c1100000, 0x00000000c1100000, 0x00000000c1200000| 0%| F| |TAMS 0x00000000c1100000, 0x00000000c1100000| Untracked >> >> | 18|0x00000000c1200000, 0x00000000c1200000, 0x00000000c1300000| 0%| F| |TAMS 0x00000000c1200000, 0x00000000c1200000| Untracked >> >> | 19|0x00000000c1300000, 0x00000000c1300000, 0x00000000c1400000| 0%| F| |TAMS 0x00000000c1300000, 0x00000000c1300000| Untracked >> >> | 20|0x00000000c1400000, 0x00000000c1400000, 0x00000000c1500000| 0%| F| |TAMS 0x00000000c1400000, 0x00000000c1400000| Untracked >> >> | 21|0x00000000c1500000, 0x00000000c1500000, 0x00000000c1600000| 0%| F| |TAMS 0x00000000c1500000, 0x00000000c1500000| Untracked >> >> | 22|0x00000000c1600000, 0x00000000c1600000, 0x00000000c1700000| 0%| F| |TAMS 0x00000000c1600000, 0x00000000c1600000| Untracked >> >> | 23|0x00000000c1700000, 0x00000000c17fce80, 0x00000000c1800000| 98%| E| |TAMS 0x00000000c1700000, 0x00000000c1700000| Complete >> >> | 24|0x00000000c1800000, 0x00000000c1900000, 0x00000000c1900000|100%| E|CS|TAMS 0x00000000c1800000, 0x00000000c1800000| Complete >> >> | 25|0x00000000c1900000, 0x00000000c1a00000, 0x00000000c1a00000|100%| E|CS|TAMS 0x00000000c1900000, 0x00000000c1900000| Complete >> >> | 26|0x00000000c1a00000, 0x00000000c1b00000, 0x00000000c1b00000|100%| E|CS|TAMS 0x00000000c1a00000, 0x00000000c1a00000| Complete >> >> | 27|0x00000000c1b00000, 0x00000000c1c00000, 0x00000000c1c00000|100%| E| |TAMS 0x00000000c1b00000, 0x00000000c1b00000| Complete >> >> | 28|0x00000000c1c00000, 0x00000000c1d00000, 0x00000000c1d00000|100%| E|CS|TAMS 0x00000000c1c00000, 0x00000000c1c00000| Complete >> >> | 29|0x00000000c1d00000, 0x00000000c1e00000, 0x00000000c1e00000|100%| E|CS|TAMS 0x00000000c1d00000, 0x00000000c1d00000| Complete >> >> | 30|0x00000000c1e00000, 0x00000000c1f00000, 0x00000000c1f00000|100%| E|CS|TAMS 0x00000000c1e00000, 0x00000000c1e00000| Complete >> >> | 31|0x00000000c1f00000, 0x00000000c2000000, 0x00000000c2000000|100%| E|CS|TAMS 0x00000000c1f00000, 0x00000000c1f00000| Complete >> >> | 32|0x00000000c2000000, 0x00000000c2100000, 0x00000000c2100000|100%| E|CS|TAMS 0x00000000c2000000, 0x00000000c2000000| Complete >> >> | 33|0x00000000c2100000, 0x00000000c2200000, 0x00000000c2200000|100%| E|CS|TAMS 0x00000000c2100000, 0x00000000c2100000| Complete >> >> | 34|0x00000000c2200000, 0x00000000c2300000, 0x00000000c2300000|100%| E|CS|TAMS 0x00000000c2200000, 0x00000000c2200000| Complete >> >> | 35|0x00000000c2300000, 0x00000000c2400000, 0x00000000c2400000|100%| E|CS|TAMS 0x00000000c2300000, 0x00000000c2300000| Complete >> >> | 36|0x00000000c2400000, 0x00000000c2500000, 0x00000000c2500000|100%| E|CS|TAMS 0x00000000c2400000, 0x00000000c2400000| Complete >> >> | 37|0x00000000c2500000, 0x00000000c2600000, 0x00000000c2600000|100%| E|CS|TAMS 0x00000000c2500000, 0x00000000c2500000| Complete >> >> | 38|0x00000000c2600000, 0x00000000c2700000, 0x00000000c2700000|100%| E|CS|TAMS 0x00000000c2600000, 0x00000000c2600000| Complete >> >> | 39|0x00000000c2700000, 0x00000000c2800000, 0x00000000c2800000|100%| E|CS|TAMS 0x00000000c2700000, 0x00000000c2700000| Complete >> >> | 242|0x00000000cf200000, 0x00000000cf2f2770, 0x00000000cf300000| 94%| S|CS|TAMS 0x00000000cf200000, 0x00000000cf200000| Complete >> >> | 243|0x00000000cf300000, 0x00000000cf400000, 0x00000000cf400000|100%| S|CS|TAMS 0x00000000cf300000, 0x00000000cf300000| Complete >> >> | 244|0x00000000cf400000, 0x00000000cf500000, 0x00000000cf500000|100%| S|CS|TAMS 0x00000000cf400000, 0x00000000cf400000| Complete >> >> | 251|0x00000000cfb00000, 0x00000000cfc00000, 0x00000000cfc00000|100%| E|CS|TAMS 0x00000000cfb00000, 0x00000000cfb00000| Complete >> >> Card table byte_map: [0x000001e0eca50000,0x000001e0ecc50000] _byte_map_base: 0x000001e0ec450000 >> >> Marking Bits (Prev, Next): (CMBitMap*) 0x000001e0d5606de0, (CMBitMap*) 0x000001e0d5606da0 >> >> Prev Bits: [0x000001e0ede50000, 0x000001e0eee50000) >> >> Next Bits: [0x000001e0ece50000, 0x000001e0ede50000) >> >> Polling page: 0x000001e0d3570000 >> >> Metaspace: >> >> Usage: >> >> Non-class: 27.55 MB used. >> >> Class: 1.28 MB used. >> >> Both: 28.83 MB used. >> >> Virtual space: >> >> Non-class space: 64.00 MB reserved, 28.06 MB ( 44%) committed, 1 nodes. >> >> Class space: 1.00 GB reserved, 1.69 MB ( <1%) committed, 1 nodes. >> >> Both: 1.06 GB reserved, 29.75 MB ( 3%) committed. >> >> Chunk freelists: >> >> Non-Class: 3.96 MB >> >> Class: 2.19 MB >> >> Both: 6.15 MB >> >> MaxMetaspaceSize: unlimited >> >> CompressedClassSpaceSize: 1.00 GB >> >> Initial GC threshold: 21.00 MB >> >> Current GC threshold: 35.12 MB >> >> CDS: on >> >> MetaspaceReclaimPolicy: balanced >> >> - commit_granule_bytes: 65536. >> >> - commit_granule_words: 8192. >> >> - virtual_space_node_default_size: 8388608. >> >> - enlarge_chunks_in_place: 1. >> >> - new_chunks_are_fully_committed: 0. >> >> - uncommit_free_chunks: 1. >> >> - use_allocation_guard: 0. >> >> Internal statistics: >> >> num_allocs_failed_limit: 3. >> >> num_arena_births: 1398. >> >> num_arena_deaths: 0. >> >> num_vsnodes_births: 2. >> >> num_vsnodes_deaths: 0. >> >> num_space_committed: 473. >> >> num_space_uncommitted: 0. >> >> num_chunks_returned_to_freelist: 3. >> >> num_chunks_taken_from_freelist: 2104. >> >> num_chunk_merges: 3. >> >> num_chunk_splits: 1631. >> >> num_chunks_enlarged: 1180. >> >> num_inconsistent_stats: 0. >> >> CodeHeap 'non-profiled nmethods': size=120000Kb used=742Kb max_used=742Kb free=119257Kb >> >> bounds [0x000001e0e4ff0000, 0x000001e0e5260000, 0x000001e0ec520000] >> >> CodeHeap 'profiled nmethods': size=120000Kb used=2447Kb max_used=2447Kb free=117552Kb >> >> bounds [0x000001e0dd520000, 0x000001e0dd790000, 0x000001e0e4a50000] >> >> CodeHeap 'non-nmethods': size=5760Kb used=2648Kb max_used=2663Kb free=3111Kb >> >> bounds [0x000001e0e4a50000, 0x000001e0e4cf0000, 0x000001e0e4ff0000] >> >> total_blobs=2825 nmethods=1617 adapters=1064 >> >> compilation: enabled >> >> stopped_count=0, restarted_count=0 >> >> full_count=0 >> >> Compilation events (20 events): >> >> Event: 1.150 Thread 0x000001e0f5c15fb0 nmethod 1602 0x000001e0dd77d410 code [0x000001e0dd77d760, 0x000001e0dd77ea28] >> >> Event: 1.150 Thread 0x000001e0f5c15fb0 1605 3 java.lang.invoke.LambdaFormBuffer::endEdit (313 bytes) >> >> Event: 1.151 Thread 0x000001e0f5c075f0 nmethod 1601 0x000001e0e50a7c10 code [0x000001e0e50a7da0, 0x000001e0e50a7ef8] >> >> Event: 1.151 Thread 0x000001e0f5c15fb0 nmethod 1605 0x000001e0dd77f010 code [0x000001e0dd77f280, 0x000001e0dd7800b8] >> >> Event: 1.151 Thread 0x000001e0f5c15fb0 1606 3 java.util.zip.ZipFile$ZipFileInputStream::initDataOffset (117 bytes) >> >> Event: 1.152 Thread 0x000001e0f5c15fb0 nmethod 1606 0x000001e0dd780490 code [0x000001e0dd7806c0, 0x000001e0dd780e88] >> >> Event: 1.152 Thread 0x000001e0f5c15fb0 1607 ! 3 java.util.zip.ZipFile$Source::readAt (39 bytes) >> >> Event: 1.152 Thread 0x000001e0f5c15fb0 nmethod 1607 0x000001e0dd781190 code [0x000001e0dd781360, 0x000001e0dd781698] >> >> Event: 1.152 Thread 0x000001e0f5c15fb0 1609 3 java.util.ImmutableCollections$List12::toArray (41 bytes) >> >> Event: 1.152 Thread 0x000001e0f5c15fb0 nmethod 1609 0x000001e0dd781910 code [0x000001e0dd781ae0, 0x000001e0dd782258] >> >> Event: 1.152 Thread 0x000001e0f5c15fb0 1608 3 java.util.ArrayList::toArray (12 bytes) >> >> Event: 1.152 Thread 0x000001e0f5c15fb0 nmethod 1608 0x000001e0dd782390 code [0x000001e0dd782540, 0x000001e0dd782748] >> >> Event: 1.152 Thread 0x000001e0f5c15fb0 1610 3 jdk.internal.foreign.abi.BindingSpecializer::popType (9 bytes) >> >> Event: 1.152 Thread 0x000001e0f5c15fb0 nmethod 1610 0x000001e0dd782890 code [0x000001e0dd782a40, 0x000001e0dd782ba8] >> >> Event: 1.152 Thread 0x000001e0f5c15fb0 1611 3 jdk.internal.foreign.abi.BindingSpecializer$$Lambda$167/0x00000008010bdd10::test (12 bytes) >> >> Event: 1.152 Thread 0x000001e0f5c15fb0 nmethod 1611 0x000001e0dd782c90 code [0x000001e0dd782e40, 0x000001e0dd783298] >> >> Event: 1.153 Thread 0x000001e0f5c14970 nmethod 1598 0x000001e0e50a8c10 code [0x000001e0e50a8e20, 0x000001e0e50a9468] >> >> Event: 1.154 Thread 0x000001e0f5c15fb0 1616 3 java.util.concurrent.ConcurrentHashMap::values (25 bytes) >> >> Event: 1.154 Thread 0x000001e0f5c15fb0 nmethod 1616 0x000001e0dd783390 code [0x000001e0dd783560, 0x000001e0dd783918] >> >> Event: 1.154 Thread 0x000001e0f5c15fb0 1617 3 java.util.concurrent.ConcurrentHashMap$ValuesView::iterator (34 bytes) >> >> GC Heap History (4 events): >> >> Event: 0.578 GC heap before >> >> {Heap before GC invocations=0 (full 0): >> >> garbage-first heap total 258048K, used 27648K [0x00000000c0000000, 0x0000000100000000) >> >> region size 1024K, 23 young (23552K), 0 survivors (0K) >> >> Metaspace used 16675K, committed 17024K, reserved 1114112K >> >> class space used 933K, committed 1088K, reserved 1048576K >> >> } >> >> Event: 0.582 GC heap after >> >> {Heap after GC invocations=1 (full 0): >> >> garbage-first heap total 258048K, used 9429K [0x00000000c0000000, 0x0000000100000000) >> >> region size 1024K, 3 young (3072K), 3 survivors (3072K) >> >> Metaspace used 16675K, committed 17024K, reserved 1114112K >> >> class space used 933K, committed 1088K, reserved 1048576K >> >> } >> >> Event: 0.638 GC heap before >> >> {Heap before GC invocations=1 (full 0): >> >> garbage-first heap total 258048K, used 14549K [0x00000000c0000000, 0x0000000100000000) >> >> region size 1024K, 10 young (10240K), 3 survivors (3072K) >> >> Metaspace used 21212K, committed 21504K, reserved 1114112K >> >> class space used 933K, committed 1088K, reserved 1048576K >> >> } >> >> Event: 0.641 GC heap after >> >> {Heap after GC invocations=2 (full 0): >> >> garbage-first heap total 258048K, used 12230K [0x00000000c0000000, 0x0000000100000000) >> >> region size 1024K, 3 young (3072K), 3 survivors (3072K) >> >> Metaspace used 21212K, committed 21504K, reserved 1114112K >> >> class space used 933K, committed 1088K, reserved 1048576K >> >> } >> >> Dll operation events (15 events): >> >> Event: 0.005 Loaded shared library C:\Program Files\Java\jdk-19.0.2\bin\java.dll >> >> Event: 0.015 Loaded shared library C:\Program Files\Java\jdk-19.0.2\bin\jsvml.dll >> >> Event: 0.073 Loaded shared library C:\Program Files\Java\jdk-19.0.2\bin\jimage.dll >> >> Event: 0.077 Loaded shared library C:\Program Files\Java\jdk-19.0.2\bin\awt.dll >> >> Event: 0.101 Loaded shared library C:\Program Files\Java\jdk-19.0.2\bin\net.dll >> >> Event: 0.102 Loaded shared library C:\Program Files\Java\jdk-19.0.2\bin\nio.dll >> >> Event: 0.105 Loaded shared library C:\Program Files\Java\jdk-19.0.2\bin\zip.dll >> >> Event: 0.394 Loaded shared library C:\Program Files\Java\jdk-19.0.2\bin\freetype.dll >> >> Event: 0.395 Loaded shared library C:\Program Files\Java\jdk-19.0.2\bin\fontmanager.dll >> >> Event: 0.415 Loaded shared library C:\Windows\System32\opengl32.dll >> >> Event: 0.415 Loaded shared library C:\Windows\System32\glu32.dll >> >> Event: 0.417 Loaded shared library C:\Users\Martin\Downloads\freeglut-MSVC-3.0.0-2.mp\freeglut\bin\x64\freeglut.dll >> >> Event: 0.417 Loaded shared library C:\Windows\System32\user32.dll >> >> Event: 0.417 Loaded shared library C:\Windows\System32\gdi32.dll >> >> Event: 0.417 Loaded shared library C:\Windows\System32\kernel32.dll >> >> Deoptimization events (20 events): >> >> Event: 0.975 Thread 0x000001e0f18d9cc0 Uncommon trap: trap_request=0xffffff45 fr.pc=0x000001e0e504e070 relative=0x0000000000001b50 >> >> Event: 0.975 Thread 0x000001e0f18d9cc0 Uncommon trap: reason=unstable_if action=reinterpret pc=0x000001e0e504e070 method=jdk.internal.org.objectweb.asm.Frame.execute(IILjdk/internal/org/objectweb/asm/Symbol;Ljdk/internal/org/objectweb/asm/SymbolTable;)V @ 1 c2 >> >> Event: 0.975 Thread 0x000001e0f18d9cc0 DEOPT PACKING pc=0x000001e0e504e070 sp=0x0000000ccadfd0e0 >> >> Event: 0.975 Thread 0x000001e0f18d9cc0 DEOPT UNPACKING pc=0x000001e0e4a6aba3 sp=0x0000000ccadfd068 mode 2 >> >> Event: 0.975 Thread 0x000001e0f18d9cc0 Uncommon trap: trap_request=0xffffff45 fr.pc=0x000001e0e5066e58 relative=0x00000000000004d8 >> >> Event: 0.975 Thread 0x000001e0f18d9cc0 Uncommon trap: reason=unstable_if action=reinterpret pc=0x000001e0e5066e58 method=jdk.internal.org.objectweb.asm.MethodWriter.visitVarInsn(II)V @ 242 c2 >> >> Event: 0.975 Thread 0x000001e0f18d9cc0 DEOPT PACKING pc=0x000001e0e5066e58 sp=0x0000000ccadfd150 >> >> Event: 0.975 Thread 0x000001e0f18d9cc0 DEOPT UNPACKING pc=0x000001e0e4a6aba3 sp=0x0000000ccadfd0f8 mode 2 >> >> Event: 1.045 Thread 0x000001e0f18d9cc0 Uncommon trap: trap_request=0xffffff45 fr.pc=0x000001e0e5079b24 relative=0x0000000000000844 >> >> Event: 1.045 Thread 0x000001e0f18d9cc0 Uncommon trap: reason=unstable_if action=reinterpret pc=0x000001e0e5079b24 method=jdk.internal.org.objectweb.asm.Frame.getAbstractTypeFromDescriptor(Ljdk/internal/org/objectweb/asm/SymbolTable;Ljava/lang/String;I)I @ 5 c2 >> >> Event: 1.045 Thread 0x000001e0f18d9cc0 DEOPT PACKING pc=0x000001e0e5079b24 sp=0x0000000ccadfd1b0 >> >> Event: 1.045 Thread 0x000001e0f18d9cc0 DEOPT UNPACKING pc=0x000001e0e4a6aba3 sp=0x0000000ccadfd170 mode 2 >> >> Event: 1.064 Thread 0x000001e0f18d9cc0 Uncommon trap: trap_request=0xffffff45 fr.pc=0x000001e0e506d798 relative=0x0000000000000078 >> >> Event: 1.064 Thread 0x000001e0f18d9cc0 Uncommon trap: reason=unstable_if action=reinterpret pc=0x000001e0e506d798 method=jdk.internal.foreign.MemorySessionImpl.checkValidStateRaw()V @ 4 c2 >> >> Event: 1.064 Thread 0x000001e0f18d9cc0 DEOPT PACKING pc=0x000001e0e506d798 sp=0x0000000ccadfe540 >> >> Event: 1.064 Thread 0x000001e0f18d9cc0 DEOPT UNPACKING pc=0x000001e0e4a6aba3 sp=0x0000000ccadfe4e0 mode 2 >> >> Event: 1.149 Thread 0x000001e0f18d9cc0 Uncommon trap: trap_request=0xffffff45 fr.pc=0x000001e0e50a6ac4 relative=0x0000000000000204 >> >> Event: 1.149 Thread 0x000001e0f18d9cc0 Uncommon trap: reason=unstable_if action=reinterpret pc=0x000001e0e50a6ac4 method=jdk.internal.org.objectweb.asm.Type.getTypeInternal(Ljava/lang/String;II)Ljdk/internal/org/objectweb/asm/Type; @ 5 c2 >> >> Event: 1.149 Thread 0x000001e0f18d9cc0 DEOPT PACKING pc=0x000001e0e50a6ac4 sp=0x0000000ccadfd8c0 >> >> Event: 1.149 Thread 0x000001e0f18d9cc0 DEOPT UNPACKING pc=0x000001e0e4a6aba3 sp=0x0000000ccadfd858 mode 2 >> >> Classes loaded (20 events): >> >> Event: 1.127 Loading class java/awt/im/InputMethodRequests >> >> Event: 1.127 Loading class java/awt/im/InputMethodRequests done >> >> Event: 1.127 Loading class java/awt/im/spi/InputMethodContext done >> >> Event: 1.127 Loading class sun/awt/im/InputContext >> >> Event: 1.127 Loading class sun/awt/im/InputContext done >> >> Event: 1.127 Loading class sun/awt/im/InputMethodContext done >> >> Event: 1.127 Loading class sun/awt/windows/WInputMethod >> >> Event: 1.127 Loading class sun/awt/im/InputMethodAdapter >> >> Event: 1.127 Loading class java/awt/im/spi/InputMethod >> >> Event: 1.127 Loading class java/awt/im/spi/InputMethod done >> >> Event: 1.127 Loading class sun/awt/im/InputMethodAdapter done >> >> Event: 1.127 Loading class sun/awt/windows/WInputMethod done >> >> Event: 1.128 Loading class java/awt/event/MouseWheelEvent >> >> Event: 1.129 Loading class java/awt/event/MouseWheelEvent done >> >> Event: 1.129 Loading class java/awt/TextComponent >> >> Event: 1.129 Loading class java/awt/TextComponent done >> >> Event: 1.129 Loading class javax/swing/text/JTextComponent >> >> Event: 1.129 Loading class javax/swing/Scrollable >> >> Event: 1.129 Loading class javax/swing/Scrollable done >> >> Event: 1.129 Loading class javax/swing/text/JTextComponent done >> >> Classes unloaded (0 events): >> >> No events >> >> Classes redefined (0 events): >> >> No events >> >> Internal exceptions (20 events): >> >> Event: 1.058 Thread 0x000001e0f18d9cc0 Exception (0x00000000c19fe608) >> >> thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] >> >> Event: 1.061 Thread 0x000001e0f18d9cc0 Exception (0x00000000c1819d48) >> >> thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] >> >> Event: 1.061 Thread 0x000001e0f18d9cc0 Exception (0x00000000c1821648) >> >> thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] >> >> Event: 1.063 Thread 0x000001e0f18d9cc0 Exception (0x00000000c1839f50) >> >> thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] >> >> Event: 1.063 Thread 0x000001e0f18d9cc0 Exception (0x00000000c1840818) >> >> thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] >> >> Event: 1.066 Thread 0x000001e0f18d9cc0 Exception (0x00000000c1851960) >> >> thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] >> >> Event: 1.067 Thread 0x000001e0f18d9cc0 Exception (0x00000000c1868c20) >> >> thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] >> >> Event: 1.071 Thread 0x000001e0f18d9cc0 Exception (0x00000000c188d318) >> >> thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] >> >> Event: 1.071 Thread 0x000001e0f18d9cc0 Exception (0x00000000c1890ce0) >> >> thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] >> >> Event: 1.134 Thread 0x000001e0f18d9cc0 Exception (0x00000000c18c6ea8) >> >> thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] >> >> Event: 1.135 Thread 0x000001e0f18d9cc0 Exception (0x00000000c18ce420) >> >> thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] >> >> Event: 1.143 Thread 0x000001e0f18d9cc0 Exception (0x00000000c18e9e00) >> >> thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] >> >> Event: 1.145 Thread 0x000001e0f18d9cc0 Exception (0x00000000c170ccd8) >> >> thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] >> >> Event: 1.145 Thread 0x000001e0f18d9cc0 Exception (0x00000000c17145a0) >> >> thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] >> >> Event: 1.147 Thread 0x000001e0f18d9cc0 Exception (0x00000000c1726d98) >> >> thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] >> >> Event: 1.147 Thread 0x000001e0f18d9cc0 Exception (0x00000000c172aaa0) >> >> thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] >> >> Event: 1.147 Thread 0x000001e0f18d9cc0 Exception (0x00000000c172e0a8) >> >> thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] >> >> Event: 1.150 Thread 0x000001e0f18d9cc0 Exception (0x00000000c174fe60) >> >> thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] >> >> Event: 1.150 Thread 0x000001e0f18d9cc0 Exception (0x00000000c1757728) >> >> thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] >> >> Event: 1.152 Thread 0x000001e0f18d9cc0 Exception (0x00000000c1778378) >> >> thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 774] >> >> VM Operations (14 events): >> >> Event: 0.111 Executing VM operation: HandshakeAllThreads >> >> Event: 0.111 Executing VM operation: HandshakeAllThreads done >> >> Event: 0.242 Executing VM operation: HandshakeAllThreads >> >> Event: 0.242 Executing VM operation: HandshakeAllThreads done >> >> Event: 0.578 Executing VM operation: G1CollectForAllocation >> >> Event: 0.582 Executing VM operation: G1CollectForAllocation done >> >> Event: 0.638 Executing VM operation: CollectForMetadataAllocation >> >> Event: 0.641 Executing VM operation: CollectForMetadataAllocation done >> >> Event: 0.644 Executing VM operation: G1PauseRemark >> >> Event: 0.645 Executing VM operation: G1PauseRemark done >> >> Event: 0.645 Executing VM operation: G1PauseCleanup >> >> Event: 0.650 Executing VM operation: G1PauseCleanup done >> >> Event: 1.114 Executing VM operation: HandshakeAllThreads >> >> Event: 1.114 Executing VM operation: HandshakeAllThreads done >> >> Events (20 events): >> >> Event: 0.025 Thread 0x000001e0f18d2660 Thread added: 0x000001e0f18d2660 >> >> Event: 0.025 Thread 0x000001e0f18dacb0 Thread added: 0x000001e0f18dacb0 >> >> Event: 0.025 Thread 0x000001e0f18d7ce0 Thread added: 0x000001e0f18d7ce0 >> >> Event: 0.026 Thread 0x000001e0f18d8cd0 Thread added: 0x000001e0f18d8cd0 >> >> Event: 0.026 Thread 0x000001e0f18da210 Thread added: 0x000001e0f18da210 >> >> Event: 0.026 Thread 0x000001e0f5c075f0 Thread added: 0x000001e0f5c075f0 >> >> Event: 0.026 Thread 0x000001e0f5c15fb0 Thread added: 0x000001e0f5c15fb0 >> >> Event: 0.026 Thread 0x000001e0f18d7790 Thread added: 0x000001e0f18d7790 >> >> Event: 0.055 Thread 0x000001e0f18d9220 Thread added: 0x000001e0f18d9220 >> >> Event: 0.058 Thread 0x000001e0f18d6cf0 Thread added: 0x000001e0f18d6cf0 >> >> Event: 0.122 Thread 0x000001e0f5c13330 Thread added: 0x000001e0f5c13330 >> >> Event: 0.154 Thread 0x000001e0f18d8230 Thread added: 0x000001e0f18d8230 >> >> Event: 0.155 Thread 0x000001e0f18d9770 Thread added: 0x000001e0f18d9770 >> >> Event: 0.159 Thread 0x000001e0f18d8780 Thread added: 0x000001e0f18d8780 >> >> Event: 0.375 Thread 0x000001e0f18d9cc0 Thread added: 0x000001e0f18d9cc0 >> >> Event: 0.375 Thread 0x000001e0f18d7240 Thread added: 0x000001e0f18d7240 >> >> Event: 0.375 Thread 0x000001e0d55c46e0 Thread exited: 0x000001e0d55c46e0 >> >> Event: 0.375 Thread 0x000001e0f613a5e0 Thread added: 0x000001e0f613a5e0 >> >> Event: 0.714 Thread 0x000001e0f5c13330 Thread exited: 0x000001e0f5c13330 >> >> Event: 0.915 Thread 0x000001e0f5c14970 Thread added: 0x000001e0f5c14970 >> >> Dynamic libraries: >> >> 0x00007ff6151c0000 - 0x00007ff6151ce000 C:\Program Files\Java\jdk-19.0.2\bin\javaw.exe >> >> 0x00007ff899050000 - 0x00007ff899248000 C:\Windows\SYSTEM32\ntdll.dll >> >> 0x00007ff898860000 - 0x00007ff89891f000 C:\Windows\System32\KERNEL32.DLL >> >> 0x00007ff896960000 - 0x00007ff896c32000 C:\Windows\System32\KERNELBASE.dll >> >> 0x00007ff896e50000 - 0x00007ff896f50000 C:\Windows\System32\ucrtbase.dll >> >> 0x00007ff88b480000 - 0x00007ff88b49b000 C:\Program Files\Java\jdk-19.0.2\bin\VCRUNTIME140.dll >> >> 0x00007ff881a90000 - 0x00007ff881aa7000 C:\Program Files\Java\jdk-19.0.2\bin\jli.dll >> >> 0x00007ff8986b0000 - 0x00007ff898851000 C:\Windows\System32\USER32.dll >> >> 0x00007ff87f7c0000 - 0x00007ff87fa5a000 C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.19041.1110_none_60b5254171f9507e\COMCTL32.dll >> >> 0x00007ff896f50000 - 0x00007ff896f72000 C:\Windows\System32\win32u.dll >> >> 0x00007ff897320000 - 0x00007ff89734b000 C:\Windows\System32\GDI32.dll >> >> 0x00007ff898e60000 - 0x00007ff898efe000 C:\Windows\System32\msvcrt.dll >> >> 0x00007ff896f80000 - 0x00007ff89708f000 C:\Windows\System32\gdi32full.dll >> >> 0x00007ff896740000 - 0x00007ff8967dd000 C:\Windows\System32\msvcp_win.dll >> >> 0x00007ff898e20000 - 0x00007ff898e52000 C:\Windows\System32\IMM32.DLL >> >> 0x00007ff88b460000 - 0x00007ff88b46c000 C:\Program Files\Java\jdk-19.0.2\bin\vcruntime140_1.dll >> >> 0x00007ff868400000 - 0x00007ff86848e000 C:\Program Files\Java\jdk-19.0.2\bin\msvcp140.dll >> >> 0x00007ff83f2d0000 - 0x00007ff83ff90000 C:\Program Files\Java\jdk-19.0.2\bin\server\jvm.dll >> >> 0x00007ff8970f0000 - 0x00007ff89719e000 C:\Windows\System32\ADVAPI32.dll >> >> 0x00007ff898f60000 - 0x00007ff898ffc000 C:\Windows\System32\sechost.dll >> >> 0x00007ff897350000 - 0x00007ff897475000 C:\Windows\System32\RPCRT4.dll >> >> 0x00007ff88fae0000 - 0x00007ff88fae9000 C:\Windows\SYSTEM32\WSOCK32.dll >> >> 0x00007ff890fa0000 - 0x00007ff890fc7000 C:\Windows\SYSTEM32\WINMM.dll >> >> 0x00007ff88eed0000 - 0x00007ff88eeda000 C:\Windows\SYSTEM32\VERSION.dll >> >> 0x00007ff898db0000 - 0x00007ff898e1b000 C:\Windows\System32\WS2_32.dll >> >> 0x00007ff894fa0000 - 0x00007ff894fb2000 C:\Windows\SYSTEM32\kernel.appcore.dll >> >> 0x00007ff88d810000 - 0x00007ff88d81a000 C:\Program Files\Java\jdk-19.0.2\bin\jimage.dll >> >> 0x00007ff8944b0000 - 0x00007ff894694000 C:\Windows\SYSTEM32\DBGHELP.DLL >> >> 0x00007ff88cb40000 - 0x00007ff88cb75000 C:\Windows\SYSTEM32\dbgcore.DLL >> >> 0x00007ff8968d0000 - 0x00007ff896952000 C:\Windows\System32\bcryptPrimitives.dll >> >> 0x00007ff881950000 - 0x00007ff881976000 C:\Program Files\Java\jdk-19.0.2\bin\java.dll >> >> 0x00007ff86a290000 - 0x00007ff86a367000 C:\Program Files\Java\jdk-19.0.2\bin\jsvml.dll >> >> 0x00007ff897480000 - 0x00007ff897bc4000 C:\Windows\System32\SHELL32.dll >> >> 0x00007ff8947a0000 - 0x00007ff894f32000 C:\Windows\SYSTEM32\windows.storage.dll >> >> 0x00007ff898920000 - 0x00007ff898c75000 C:\Windows\System32\combase.dll >> >> 0x00007ff8960c0000 - 0x00007ff8960f0000 C:\Windows\SYSTEM32\Wldp.dll >> >> 0x00007ff898c80000 - 0x00007ff898d2d000 C:\Windows\System32\SHCORE.dll >> >> 0x00007ff8971a0000 - 0x00007ff8971f5000 C:\Windows\System32\shlwapi.dll >> >> 0x00007ff896680000 - 0x00007ff89669f000 C:\Windows\SYSTEM32\profapi.dll >> >> 0x00007ff84de90000 - 0x00007ff84e020000 C:\Program Files\Java\jdk-19.0.2\bin\awt.dll >> >> 0x00007ff897c90000 - 0x00007ff897d5d000 C:\Windows\System32\OLEAUT32.dll >> >> 0x00007ff88f8e0000 - 0x00007ff88f971000 C:\Windows\SYSTEM32\apphelp.dll >> >> 0x00007ff881820000 - 0x00007ff881833000 C:\Program Files\Java\jdk-19.0.2\bin\net.dll >> >> 0x00007ff88fff0000 - 0x00007ff8900fc000 C:\Windows\SYSTEM32\WINHTTP.dll >> >> 0x00007ff895ea0000 - 0x00007ff895f0a000 C:\Windows\system32\mswsock.dll >> >> 0x00007ff8809d0000 - 0x00007ff8809e6000 C:\Program Files\Java\jdk-19.0.2\bin\nio.dll >> >> 0x00007ff87fb70000 - 0x00007ff87fb88000 C:\Program Files\Java\jdk-19.0.2\bin\zip.dll >> >> 0x00007ff891370000 - 0x00007ff89140e000 C:\Windows\system32\uxtheme.dll >> >> 0x00007ff897200000 - 0x00007ff897315000 C:\Windows\System32\MSCTF.dll >> >> 0x00007ff898370000 - 0x00007ff89849a000 C:\Windows\System32\ole32.dll >> >> 0x00007ff893cf0000 - 0x00007ff893d1f000 C:\Windows\system32\DWMAPI.DLL >> >> 0x00007ff85a270000 - 0x00007ff85a395000 C:\Windows\system32\opengl32.dll >> >> 0x00007ff85bb10000 - 0x00007ff85bb3c000 C:\Windows\SYSTEM32\GLU32.dll >> >> 0x00007ff85e900000 - 0x00007ff85e986000 C:\Program Files\Java\jdk-19.0.2\bin\freetype.dll >> >> 0x00007ff8588d0000 - 0x00007ff858996000 C:\Program Files\Java\jdk-19.0.2\bin\fontmanager.dll >> >> 0x00007ff85a900000 - 0x00007ff85a9a1000 C:\Users\Martin\Downloads\freeglut-MSVC-3.0.0-2.mp\freeglut\bin\x64\freeglut.dll >> >> 0x00007ff8981e0000 - 0x00007ff89828f000 C:\Windows\System32\clbcatq.dll >> >> 0x00007ff88c4e0000 - 0x00007ff88c5d7000 C:\Windows\System32\AppXDeploymentClient.dll >> >> 0x00007ff82e1a0000 - 0x00007ff82f24b000 C:\Windows\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_c664ba079c9e0cd1\igxelpicd64.dll >> >> 0x00007ff894fc0000 - 0x00007ff8950b3000 C:\Windows\system32\dxgi.dll >> >> 0x00007ff84b760000 - 0x00007ff84b885000 C:\Windows\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_c664ba079c9e0cd1\igdml64.dll >> >> 0x00007ff880140000 - 0x00007ff880552000 C:\Windows\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_c664ba079c9e0cd1\igdgmm64.dll >> >> 0x00007ff896830000 - 0x00007ff896857000 C:\Windows\System32\bcrypt.dll >> >> 0x00007ff8777f0000 - 0x00007ff87bcda000 C:\Windows\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_c664ba079c9e0cd1\igc64.dll >> >> 0x00007ff895cd0000 - 0x00007ff895d1b000 C:\Windows\SYSTEM32\powrprof.dll >> >> 0x00007ff895b40000 - 0x00007ff895b52000 C:\Windows\SYSTEM32\UMPDC.dll >> >> 0x00007ff86aa30000 - 0x00007ff86ab29000 C:\Windows\SYSTEM32\textinputframework.dll >> >> 0x00007ff88eee0000 - 0x00007ff88f23e000 C:\Windows\System32\CoreUIComponents.dll >> >> 0x00007ff88f240000 - 0x00007ff88f332000 C:\Windows\System32\CoreMessaging.dll >> >> 0x00007ff8958b0000 - 0x00007ff8958e3000 C:\Windows\SYSTEM32\ntmarta.dll >> >> 0x00007ff890640000 - 0x00007ff890794000 C:\Windows\SYSTEM32\wintypes.dll >> >> dbghelp: loaded successfully - version: 4.0.5 - missing functions: none >> >> symbol engine: initialized successfully - sym options: 0x614 - pdb path: .;C:\Program Files\Java\jdk-19.0.2\bin;C:\Windows\SYSTEM32;C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.19041.1110_none_60b5254171f9507e;C:\Program Files\Java\jdk-19.0.2\bin\server;C:\Users\Martin\Downloads\freeglut-MSVC-3.0.0-2.mp\freeglut\bin\x64;C:\Windows\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_c664ba079c9e0cd1 >> >> VM Arguments: >> >> jvm_args: -Djava.library.path=C:\Windows\system32;C:\Users\Martin\Downloads\freeglut-MSVC-3.0.0-2.mp\freeglut\bin\x64 -Dsun.java2d.d3d=false -Xmx1024M -Dfile.encoding=UTF-8 --enable-preview -XX:+ShowCodeDetailsInExceptionMessages >> >> java_command: demos.panamagl.swing.DemoTeapot_Onscreen_Swing -Dpanamagl.offscreen.OffscreenRenderer >> >> java_class_path (initial): C:\Users\Martin\Dev\jzy3d\public\panama-gl\panama-gl-samples\target\classes;C:\Users\Martin\Dev\jzy3d\public\panama-gl\panama-gl-api\target\classes;C:\Users\Martin\Dev\jzy3d\public\panama-gl\panama-gl-ui-awt\target\classes;C:\Users\Martin\Dev\jzy3d\public\panama-gl\panama-gl-ui-swing\target\classes;C:\Users\Martin\Dev\jzy3d\public\panama-gl\panama-gl-wrappers-macos\target\classes;C:\Users\Martin\.m2\repository\org\jzy3d\panama-gl-bindings-macos\1.0.1-SNAPSHOT\panama-gl-bindings-macos-1.0.1-SNAPSHOT.jar;C:\Users\Martin\Dev\jzy3d\public\jzy3d-api\jzy3d-core\target\classes;C:\Users\Martin\Dev\jzy3d\public\jzy3d-api\jzy3d-jdt-core\target\classes;C:\Users\Martin\.m2\repository\commons-io\commons-io\2.7\commons-io-2.7.jar;C:\Users\Martin\.m2\repository\org\apache\commons\commons-lang3\3.12.0\commons-lang3-3.12.0.jar;C:\Users\Martin\.m2\repository\org\smurn\jply\0.2.1\jply-0.2.1.jar;C:\Users\Martin\.m2\repository\net\sf\opencsv\opencsv\2.1\opencsv-2.1.jar;C:\Users\Martin\.m2\repository\org\tallison\jmatio\1.5\jmatio-1.5.jar;C:\Users\Martin\.m2\repository\org\slf4j\slf4j-api\1.7.25\slf4j-api-1.7.25.jar;C:\Users\Martin\.m2\repository\com\diogonunes\JColor\5.2.0\JColor-5.2.0.jar;C:\Users\Martin\.m2\repository\net\java\dev\jna\jna\5.8.0\jna-5.8.0.jar;C:\Users\Martin\.m2\repository\net\java\dev\jna\jna-platform\5.8.0\jna-platform-5.8.0.jar;C:\Users\Martin\.m2\repository\org\apache\logging\log4j\log4j-api\2.17.1\log4j-api-2.17.1.jar;C:\Users\Martin\.m2\repository\org\apache\logging\log4j\log4j-core\2.17.1\log4j-core-2.17.1.jar;C:\Users\Martin\Dev\jzy3d\public\jzy3d-api\jzy3d-native-jogl-swing\target\classes;C:\Users\Martin\Dev\jzy3d\public\jzy3d-api\jzy3d-native-jogl-awt\target\classes;C:\Users\Martin\Dev\jzy3d\public\jzy3d-api\jzy3d-core-awt\target\classes;C:\Users\Martin\Dev\jzy3d\public\jzy3d-api\jzy3d-native-jogl-core\target\classes;C:\Users\Martin\.m2\repository\org\jogamp\jogl\jogl-all\v2.4.0-rc4\jogl-all-v2.4.0-rc4.jar;C:\Users\Martin\.m2\repository\org\jogamp\jogl\jogl-all-natives-linux-aarch64\v2.4.0-rc4\jogl-all-natives-linux-aarch64-v2.4.0-rc4.jar;C:\Users\Martin\.m2\repository\org\jogamp\jogl\jogl-all-natives-linux-amd64\v2.4.0-rc4\jogl-all-natives-linux-amd64-v2.4.0-rc4.jar;C:\Users\Martin\.m2\repository\org\jogamp\jogl\jogl-all-natives-linux-armv6hf\v2.4.0-rc4\jogl-all-natives-linux-armv6hf-v2.4.0-rc4.jar;C:\Users\Martin\.m2\repository\org\jogamp\jogl\jogl-all-natives-linux-i586\v2.4.0-rc4\jogl-all-natives-linux-i586-v2.4.0-rc4.jar;C:\Users\Martin\.m2\repository\org\jogamp\jogl\jogl-all-natives-macosx-universal\v2.4.0-rc4\jogl-all-natives-macosx-universal-v2.4.0-rc4.jar;C:\Users\Martin\.m2\repository\org\jogamp\jogl\jogl-all-natives-windows-amd64\v2.4.0-rc4\jogl-all-natives-windows-amd64-v2.4.0-rc4.jar;C:\Users\Martin\.m2\repository\org\jogamp\jogl\jogl-all-natives-windows-i586\v2.4.0-rc4\jogl-all-natives-windows-i586-v2.4.0-rc4.jar;C:\Users\Martin\.m2\repository\org\jogamp\gluegen\gluegen-rt\v2.4.0-rc4\gluegen-rt-v2.4.0-rc4.jar;C:\Users\Martin\.m2\repository\org\jogamp\gluegen\gluegen-rt-natives-macosx-universal\v2.4.0-rc4\gluegen-rt-natives-macosx-universal-v2.4.0-rc4.jar;C:\Users\Martin\.m2\repository\org\jogamp\gluegen\gluegen-rt-natives-linux-aarch64\v2.4.0-rc4\gluegen-rt-natives-linux-aarch64-v2.4.0-rc4.jar;C:\Users\Martin\.m2\repository\org\jogamp\gluegen\gluegen-rt-natives-linux-amd64\v2.4.0-rc4\gluegen-rt-natives-linux-amd64-v2.4.0-rc4.jar;C:\Users\Martin\.m2\repository\org\jogamp\gluegen\gluegen-rt-natives-linux-armv6hf\v2.4.0-rc4\gluegen-rt-natives-linux-armv6hf-v2.4.0-rc4.jar;C:\Users\Martin\.m2\repository\org\jogamp\gluegen\gluegen-rt-natives-linux-i586\v2.4.0-rc4\gluegen-rt-natives-linux-i586-v2.4.0-rc4.jar;C:\Users\Martin\.m2\repository\org\jogamp\gluegen\gluegen-rt-natives-windows-amd64\v2.4.0-rc4\gluegen-rt-natives-windows-amd64-v2.4.0-rc4.jar;C:\Users\Martin\.m2\repository\org\jogamp\gluegen\gluegen-rt-natives-windows-i586\v2.4.0-rc4\gluegen-rt-natives-windows-i586-v2.4.0-rc4.jar;C:\Users\Martin\Dev\jzy3d\public\jzy3d-api\jzy3d-native-jogl-core\target\test-classes;C:\Users\Martin\Dev\jzy3d\public\jzy3d-api\jzy3d-core\target\test-classes;C:\Users\Martin\.m2\repository\com\miglayout\miglayout\3.7.4\miglayout-3.7.4.jar;C:\Users\Martin\Dev\jzy3d\public\panama-gl\panama-gl-wrappers-linux\target\classes;C:\Users\Martin\.m2\repository\org\jzy3d\panama-gl-bindings-linux\1.0.1-SNAPSHOT\panama-gl-bindings-linux-1.0.1-SNAPSHOT.jar;C:\Users\Martin\Dev\jzy3d\public\panama-gl\panama-gl-wrappers-windows\target\classes;C:\Users\Martin\.m2\repository\org\jzy3d\panama-gl-bindings-windows\1.0.1-SNAPSHOT\panama-gl-bindings-windows-1.0.1-SNAPSHOT.jar;C:\Users\Martin\.m2\repository\log4j\log4j\1.2.16\log4j-1.2.16.jar;C:\Users\Martin\.m2\repository\org\apache\commons\commons-collections4\4.4\commons-collections4-4.4.jar;C:\Users\Martin\.m2\repository\com\google\guava\guava\24.0-jre\guava-24.0-jre.jar;C:\Users\Martin\.m2\repository\com\google\code\findbugs\jsr305\1.3.9\jsr305-1.3.9.jar;C:\Users\Martin\.m2\repository\org\checkerframework\checker-compat-qual\2.0.0\checker-compat-qual-2.0.0.jar;C:\Users\Martin\.m2\repository\com\google\errorprone\error_prone_annotations\2.1.3\error_prone_annotations-2.1.3.jar;C:\Users\Martin\.m2\repository\com\google\j2objc\j2objc-annotations\1.1\j2objc-annotations-1.1.jar;C:\Users\Martin\.m2\repository\org\codehaus\mojo\animal-sniffer-annotations\1.14\animal-sniffer-annotations-1.14.jar >> >> Launcher Type: SUN_STANDARD >> >> [Global flags] >> >> intx CICompilerCount = 4 {product} {ergonomic} >> >> uint ConcGCThreads = 2 {product} {ergonomic} >> >> uint G1ConcRefinementThreads = 8 {product} {ergonomic} >> >> size_t G1HeapRegionSize = 1048576 {product} {ergonomic} >> >> uintx GCDrainStackTargetSize = 64 {product} {ergonomic} >> >> size_t InitialHeapSize = 264241152 {product} {ergonomic} >> >> size_t MarkStackSize = 4194304 {product} {ergonomic} >> >> size_t MaxHeapSize = 1073741824 {product} {command line} >> >> size_t MaxNewSize = 643825664 {product} {ergonomic} >> >> size_t MinHeapDeltaBytes = 1048576 {product} {ergonomic} >> >> size_t MinHeapSize = 8388608 {product} {ergonomic} >> >> uintx NonNMethodCodeHeapSize = 5839372 {pd product} {ergonomic} >> >> uintx NonProfiledCodeHeapSize = 122909434 {pd product} {ergonomic} >> >> uintx ProfiledCodeHeapSize = 122909434 {pd product} {ergonomic} >> >> uintx ReservedCodeCacheSize = 251658240 {pd product} {ergonomic} >> >> bool SegmentedCodeCache = true {product} {ergonomic} >> >> bool ShowCodeDetailsInExceptionMessages = true {manageable} {command line} >> >> size_t SoftMaxHeapSize = 1073741824 {manageable} {ergonomic} >> >> bool UseCompressedClassPointers = true {product lp64_product} {ergonomic} >> >> bool UseCompressedOops = true {product lp64_product} {ergonomic} >> >> bool UseG1GC = true {product} {ergonomic} >> >> bool UseLargePagesIndividualAllocation = false {pd product} {ergonomic} >> >> Logging: >> >> Log output configuration: >> >> #0: stdout all=warning uptime,level,tags foldmultilines=false >> >> #1: stderr all=off uptime,level,tags foldmultilines=false >> >> Environment Variables: >> >> JAVA_HOME=C:\Program Files\Java\jdk-19.0.2 >> >> PATH=C:/Program Files/Java/jdk-19.0.2/bin/server;C:/Program Files/Java/jdk-19.0.2/bin;C:\Users\Martin\Dev\jzy3d\private\vtk-java-wrapper\lib\9.1.0\vtk-Windows-x86_64;C:\Program Files\Java\jdk-19.0.2\bin\;C:\Program Files\Common Files\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\Git\cmd;C:\Program Files (x86)\apache-maven-3.8.3\bin;C:\Program Files (x86)\apache-ant-1.9.16\bin;C:\Program Files\CMake\bin;C:\Program Files\dotnet\;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn\;C:\Program Files\7-Zip;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Program Files\gawk-3.1.6-1-bin\bin;C:\Mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\x86_64-w64-mingw32\bin;C:\Mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin;C:\Program Files\win_flex_bison3-latest;C:\Users\Martin\AppData\Local\Programs\Python\Python39\Scripts\;C:\Users\Martin\AppData\Local\Programs\Python\Python39\;C:\Users\Martin\AppData\Local\Microsoft\WindowsApps;C:\Users\Martin\AppData\Local\atom\bin;C:\Program Files (x86)\apache-maven-3.8.3\bin;C:\Users\Martin\.dotnet\tools;C:\Users\Martin\AppData\Local\Programs\MiKTeX\miktex\bin\x64\;C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2022.3.1\bin;;C:\Windows\system32; >> >> USERNAME=Martin >> >> OS=Windows_NT >> >> PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 140 Stepping 1, GenuineIntel >> >> TMP=C:\Users\Martin\AppData\Local\Temp >> >> TEMP=C:\Users\Martin\AppData\Local\Temp >> >> --------------- S Y S T E M --------------- >> >> OS: >> >> Windows 10 , 64 bit Build 19041 (10.0.19041.2364) >> >> OS uptime: 86 days 0:06 hours >> >> Hyper-V role detected >> >> CPU: total 8 (initial active 8) (4 cores per cpu, 2 threads per core) family 6 model 140 stepping 1 microcode 0xa4, cx8, cmov, fxsr, ht, mmx, 3dnowpref, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, lzcnt, tsc, tscinvbit, avx, avx2, aes, erms, clmul, bmi1, bmi2, adx, avx512f, avx512dq, avx512cd, avx512bw, avx512vl, sha, fma, vzeroupper, avx512_vpopcntdq, avx512_vpclmulqdq, avx512_vaes, avx512_vnni, clflush, clflushopt, clwb, avx512_vbmi2, avx512_vbmi, hv, rdtscp, rdpid, fsrm, gfni, avx512_bitalg >> >> Memory: 4k page, system-wide physical 16107M (4494M free) >> >> TotalPageFile size 25774M (AvailPageFile size 6176M) >> >> current process WorkingSet (physical memory assigned to process): 233M, peak: 233M >> >> current process commit charge ("private bytes"): 240M, peak: 379M >> >> vm_info: OpenJDK 64-Bit Server VM (19.0.2+7-44) for windows-amd64 JRE (19.0.2+7-44), built on 2022-11-30T18:02:09Z by "mach5one" with MS VC++ 17.1 (VS2022) >> >> END. -------------- next part -------------- An HTML attachment was scrubbed... URL: From duke at openjdk.org Fri Mar 24 11:05:33 2023 From: duke at openjdk.org (duke) Date: Fri, 24 Mar 2023 11:05:33 GMT Subject: git: openjdk/panama-foreign: foreign-memaccess+abi: 81 new changesets Message-ID: <9f6d6597-ceca-43c7-8c35-5f2878080a1d@openjdk.org> Changeset: b2639e1d Author: Adam Sotona Date: 2023-03-17 11:47:11 +0000 URL: https://git.openjdk.org/panama-foreign/commit/b2639e1d6246a7e1aab1d9d15add7979adf40766 8304164: jdk/classfile/CorpusTest.java still fails after JDK-8303910 Reviewed-by: jpai ! src/java.base/share/classes/jdk/internal/classfile/impl/ClassHierarchyImpl.java Changeset: cb4ae192 Author: Afshin Zafari Committer: Coleen Phillimore Date: 2023-03-17 13:20:58 +0000 URL: https://git.openjdk.org/panama-foreign/commit/cb4ae1922db7fe3645fd50f301b4a1be965bc79b 8292059: Do not inline InstanceKlass::allocate_instance() Reviewed-by: coleenp, stefank ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceKlass.inline.hpp ! src/hotspot/share/prims/jvmtiEnvBase.cpp Changeset: 6dd6c15e Author: Afshin Zafari Committer: Coleen Phillimore Date: 2023-03-17 13:21:47 +0000 URL: https://git.openjdk.org/panama-foreign/commit/6dd6c15ed4b2a563989e97c5a75634c3e0e7e915 8301684: Fix test code to not get finalizer deprecation warnings Reviewed-by: coleenp, dholmes ! test/hotspot/jtreg/vmTestbase/nsk/share/ClassUnloader.java ! test/hotspot/jtreg/vmTestbase/nsk/share/CustomClassLoader.java Changeset: 384a8b85 Author: Damon Fenacci Committer: Tobias Hartmann Date: 2023-03-17 13:24:55 +0000 URL: https://git.openjdk.org/panama-foreign/commit/384a8b85a7266b920242ea73baf578577ca588ec 8303069: Memory leak in CompilerOracle::parse_from_line Reviewed-by: thartmann, jcking ! src/hotspot/share/compiler/compilerOracle.cpp Changeset: d5a15070 Author: Leonid Mesnik Date: 2023-03-17 13:43:54 +0000 URL: https://git.openjdk.org/panama-foreign/commit/d5a150706e9070557533135489a73fc8cefc0cec 8304314: StackWalkTest.java fails after CODETOOLS-7903373 Reviewed-by: alanb, mchung ! test/jdk/java/lang/StackWalker/StackWalkTest.java Changeset: 8d2ebf24 Author: Leonid Mesnik Date: 2023-03-17 13:45:41 +0000 URL: https://git.openjdk.org/panama-foreign/commit/8d2ebf248e2884fbf138b603ae82f81bd0926cf3 8303697: ProcessTools doesn't print last line of process output Reviewed-by: dholmes, stuefe + test/lib-test/jdk/test/lib/process/ProcessToolsLastLineTest.java ! test/lib/jdk/test/lib/process/StreamPumper.java Changeset: 4486f1b7 Author: Naoto Sato Date: 2023-03-17 15:44:38 +0000 URL: https://git.openjdk.org/panama-foreign/commit/4486f1b72047dcdb2877cb3c9b4ca02f6cd008e9 8304367: jlink --include-locales=* attempts to parse non .class resource files with classfile reader Reviewed-by: mchung, lancea, jpai ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/IncludeLocalesPlugin.java Changeset: 02a4ee20 Author: Alex Menkov Date: 2023-03-17 18:23:03 +0000 URL: https://git.openjdk.org/panama-foreign/commit/02a4ee206a979858c23c22da35e70560e0f27efd 8303921: serviceability/sa/UniqueVtableTest.java timed out Reviewed-by: cjplummer, sspitsyn ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/serviceability/sa/TestIntConstant.java ! test/hotspot/jtreg/serviceability/sa/TestPrintMdo.java ! test/hotspot/jtreg/serviceability/sa/TestType.java ! test/hotspot/jtreg/serviceability/sa/TestUniverse.java ! test/hotspot/jtreg/serviceability/sa/UniqueVtableTest.java Changeset: 932be354 Author: Coleen Phillimore Date: 2023-03-17 18:56:05 +0000 URL: https://git.openjdk.org/panama-foreign/commit/932be3542d3d82b7da76ef3b82bf76231daf2aa6 8298469: Obsolete legacy parallel class loading workaround for non-parallel-capable class loaders Reviewed-by: dholmes, fparain ! src/hotspot/share/classfile/placeholders.cpp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/objectMonitor.cpp ! src/hotspot/share/runtime/objectMonitor.hpp ! src/hotspot/share/runtime/synchronizer.cpp ! src/hotspot/share/runtime/synchronizer.hpp ! test/hotspot/jtreg/runtime/ParallelLoad/ParallelSuper/ParallelSuperTest.java Changeset: bfb812a8 Author: Frederic Parain Date: 2023-03-17 20:18:36 +0000 URL: https://git.openjdk.org/panama-foreign/commit/bfb812a8ff8bca70aed7695c73f019ae66ac6f33 8292818: replace 96-bit representation for field metadata with variable-sized streams Co-authored-by: John R Rose Co-authored-by: Chris Plummer Reviewed-by: dholmes, coleenp, cjplummer, dnsimon ! src/hotspot/share/ci/ciField.cpp ! src/hotspot/share/ci/ciFlags.hpp ! src/hotspot/share/classfile/classFileParser.cpp ! src/hotspot/share/classfile/classFileParser.hpp ! src/hotspot/share/classfile/fieldLayoutBuilder.cpp ! src/hotspot/share/classfile/fieldLayoutBuilder.hpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/interpreter/interpreterRuntime.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVM.cpp ! src/hotspot/share/jvmci/jvmciEnv.cpp ! src/hotspot/share/jvmci/jvmciEnv.hpp ! src/hotspot/share/jvmci/jvmciJavaClasses.hpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/jvmci/vmSymbols_jvmci.hpp ! src/hotspot/share/oops/array.hpp + src/hotspot/share/oops/fieldInfo.cpp ! src/hotspot/share/oops/fieldInfo.hpp + src/hotspot/share/oops/fieldInfo.inline.hpp ! src/hotspot/share/oops/fieldStreams.hpp ! src/hotspot/share/oops/fieldStreams.inline.hpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceKlass.hpp ! src/hotspot/share/oops/instanceKlass.inline.hpp ! src/hotspot/share/prims/jvmtiClassFileReconstituter.cpp ! src/hotspot/share/prims/jvmtiRedefineClasses.cpp ! src/hotspot/share/runtime/deoptimization.cpp ! src/hotspot/share/runtime/fieldDescriptor.cpp ! src/hotspot/share/runtime/fieldDescriptor.hpp ! src/hotspot/share/runtime/fieldDescriptor.inline.hpp ! src/hotspot/share/runtime/reflectionUtils.cpp ! src/hotspot/share/runtime/reflectionUtils.hpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/hotspot/share/utilities/accessFlags.hpp ! src/hotspot/share/utilities/unsigned5.hpp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/AccessFlags.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/Field.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/InstanceKlass.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/ClassConstants.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/tools/ClassLoaderStats.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/tools/jcore/ClassWriter.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/ui/classbrowser/HTMLGenerator.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/utilities/GenericArray.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/CompilerToVM.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotConstantPool.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotResolvedJavaFieldImpl.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotVMConfig.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/ResolvedJavaField.java ! test/hotspot/gtest/oops/test_instanceKlass.cpp ! test/hotspot/jtreg/compiler/jvmci/common/patches/jdk.internal.vm.ci/jdk/vm/ci/hotspot/HotSpotResolvedJavaFieldHelper.java ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/ResolveFieldInPoolTest.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.hotspot.test/src/jdk/vm/ci/hotspot/test/HotSpotResolvedJavaFieldTest.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.hotspot.test/src/jdk/vm/ci/hotspot/test/TestHotSpotResolvedJavaField.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestResolvedJavaField.java Changeset: b085ab93 Author: Archie L. Cobbs Committer: Vicente Romero Date: 2023-03-17 20:52:38 +0000 URL: https://git.openjdk.org/panama-foreign/commit/b085ab9316ed7a25b4981e05210299be50eb7ccd 8180387: com.sun.source.util.JavacTask should have a protected constructor. Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/source/util/JavacTask.java Changeset: 8f5bb538 Author: Archie L. Cobbs Committer: Vicente Romero Date: 2023-03-17 22:05:50 +0000 URL: https://git.openjdk.org/panama-foreign/commit/8f5bb538aba42bffb9611546a18f14eb2ea82b70 8015831: Add lint check for calling overridable methods from a constructor 6557145: Warn about calling abstract methods in constructors Reviewed-by: ihse, vromero, mcimadamore ! make/CompileDemos.gmk ! make/CompileModuleTools.gmk ! make/modules/java.base/Java.gmk ! make/modules/java.datatransfer/Java.gmk ! make/modules/java.desktop/Java.gmk ! make/modules/java.logging/Java.gmk ! make/modules/java.management/Java.gmk ! make/modules/java.naming/Java.gmk = make/modules/java.net.http/Java.gmk ! make/modules/java.rmi/Java.gmk ! make/modules/java.security.jgss/Java.gmk = make/modules/java.security.sasl/Java.gmk ! make/modules/java.sql.rowset/Java.gmk ! make/modules/java.sql/Java.gmk ! make/modules/java.xml.crypto/Java.gmk ! make/modules/java.xml/Java.gmk ! make/modules/jdk.charsets/Java.gmk ! make/modules/jdk.compiler/Gendata.gmk ! make/modules/jdk.compiler/Java.gmk = make/modules/jdk.crypto.ec/Java.gmk = make/modules/jdk.crypto.mscapi/Java.gmk ! make/modules/jdk.hotspot.agent/Java.gmk ! make/modules/jdk.httpserver/Java.gmk ! make/modules/jdk.internal.jvmstat/Java.gmk ! make/modules/jdk.internal.le/Java.gmk ! make/modules/jdk.internal.opt/Java.gmk ! make/modules/jdk.internal.vm.ci/Java.gmk ! make/modules/jdk.javadoc/Gendata.gmk ! make/modules/jdk.javadoc/Java.gmk ! make/modules/jdk.jcmd/Java.gmk ! make/modules/jdk.jconsole/Java.gmk ! make/modules/jdk.jdeps/Gensrc.gmk ! make/modules/jdk.jdeps/Java.gmk ! make/modules/jdk.jdeps/Launcher.gmk ! make/modules/jdk.jdi/Java.gmk = make/modules/jdk.jlink/Java.gmk ! make/modules/jdk.jpackage/Java.gmk ! make/modules/jdk.jshell/Java.gmk = make/modules/jdk.jstatd/Java.gmk ! make/modules/jdk.localedata/Java.gmk = make/modules/jdk.management/Java.gmk ! make/modules/jdk.sctp/Java.gmk ! make/test/BuildFailureHandler.gmk ! make/test/BuildMicrobenchmark.gmk ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Lint.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Flow.java + src/jdk.compiler/share/classes/com/sun/tools/javac/comp/ThisEscapeAnalyzer.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac.properties ! src/jdk.compiler/share/classes/module-info.java ! src/jdk.compiler/share/man/javac.1 + test/langtools/tools/javac/diags/examples/ThisEscape.java + test/langtools/tools/javac/warnings/ThisEscape.java + test/langtools/tools/javac/warnings/ThisEscape.out Changeset: 254288a5 Author: Archie L. Cobbs Committer: Vicente Romero Date: 2023-03-17 22:12:09 +0000 URL: https://git.openjdk.org/panama-foreign/commit/254288a518ee1d6d486a96c1883e569fa7e95a68 8014021: TreeMaker.Params behaves inconsistently when the owning method has the same number of parameters as the number of parameter types requested Reviewed-by: vromero, jlahoda ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TypeEnter.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeMaker.java Changeset: c56f011b Author: Alexander Matveev Date: 2023-03-18 00:02:23 +0000 URL: https://git.openjdk.org/panama-foreign/commit/c56f011baa4ce7f44661f6ade8e313f812730c02 8298995: tools/jpackage/share/AddLauncherTest.java#id1 failed "AddLauncherTest.test; checks=53" Reviewed-by: asemenyuk ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/RetryExecutor.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/MacHelper.java Changeset: f8482c20 Author: Chris Plummer Date: 2023-03-18 00:23:58 +0000 URL: https://git.openjdk.org/panama-foreign/commit/f8482c20f4f55d4fc5b304a33c87775b5acfe2b8 8297638: Memory leak in case of many started-dead threads Reviewed-by: amenkov, sspitsyn ! src/jdk.jdi/share/classes/com/sun/tools/jdi/VMState.java ! src/jdk.jdi/share/classes/com/sun/tools/jdi/VirtualMachineImpl.java + test/jdk/com/sun/jdi/ThreadMemoryLeakTest.java Changeset: 7503ecc0 Author: Yudi Zheng Committer: Doug Simon Date: 2023-03-18 09:41:39 +0000 URL: https://git.openjdk.org/panama-foreign/commit/7503ecc0f185f6da777c022a66d7af6c40dcd05f 8304138: [JVMCI] Test FailedSpeculation existence before appending. Reviewed-by: kvn, dnsimon ! src/hotspot/share/oops/methodData.cpp Changeset: 033c0b17 Author: Chris Plummer Date: 2023-03-18 17:08:00 +0000 URL: https://git.openjdk.org/panama-foreign/commit/033c0b17cbbf830ec28495761016d147902e4c42 8304437: ProblemList com/sun/jdi/ThreadMemoryLeadTest.java with ZGC Reviewed-by: jpai, dcubed ! test/jdk/ProblemList-zgc.txt Changeset: e339e183 Author: Archie L. Cobbs Committer: Vicente Romero Date: 2023-03-18 17:32:00 +0000 URL: https://git.openjdk.org/panama-foreign/commit/e339e183c1d60e494d266bac0c2ec05c1ec30cc6 7016187: `javac -h` could generate conflict .h for inner class and class name with '_' Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/JNIWriter.java ! test/langtools/tools/javac/nativeHeaders/NativeHeaderTest.java Changeset: c09f83ec Author: Feilong Jiang Committer: Fei Yang Date: 2023-03-20 00:53:52 +0000 URL: https://git.openjdk.org/panama-foreign/commit/c09f83ec25749af349fb5609e3641b5bb6d34072 8304293: RISC-V: JDK-8276799 missed atomic intrinsic support for C1 Reviewed-by: fyang, yzhu ! src/hotspot/cpu/riscv/vm_version_riscv.cpp Changeset: 45056703 Author: Daniel Jeli?ski Date: 2023-03-20 09:31:33 +0000 URL: https://git.openjdk.org/panama-foreign/commit/450567031ec32846c9a8f157eb56bd099b17b5a5 8304174: Remove delays from httpserver tests Reviewed-by: jpai, dfuchs ! test/jdk/com/sun/net/httpserver/DateFormatterTest.java ! test/jdk/com/sun/net/httpserver/HttpServerTest.java ! test/jdk/com/sun/net/httpserver/SelCacheTest.java ! test/jdk/com/sun/net/httpserver/Test.java ! test/jdk/com/sun/net/httpserver/Test1.java ! test/jdk/com/sun/net/httpserver/Test10.java ! test/jdk/com/sun/net/httpserver/Test11.java ! test/jdk/com/sun/net/httpserver/Test12.java ! test/jdk/com/sun/net/httpserver/Test13.java ! test/jdk/com/sun/net/httpserver/Test14.java ! test/jdk/com/sun/net/httpserver/Test2.java ! test/jdk/com/sun/net/httpserver/Test3.java ! test/jdk/com/sun/net/httpserver/Test4.java ! test/jdk/com/sun/net/httpserver/Test5.java ! test/jdk/com/sun/net/httpserver/Test6.java ! test/jdk/com/sun/net/httpserver/Test6a.java ! test/jdk/com/sun/net/httpserver/Test7.java ! test/jdk/com/sun/net/httpserver/Test7a.java ! test/jdk/com/sun/net/httpserver/Test8.java ! test/jdk/com/sun/net/httpserver/Test8a.java ! test/jdk/com/sun/net/httpserver/Test9.java ! test/jdk/com/sun/net/httpserver/Test9a.java ! test/jdk/com/sun/net/httpserver/TestLogging.java ! test/jdk/com/sun/net/httpserver/bugs/8199849/BasicAuthenticatorCharset.java ! test/jdk/com/sun/net/httpserver/bugs/8199849/TestHttpUnicode.java ! test/jdk/com/sun/net/httpserver/bugs/B6339483.java ! test/jdk/com/sun/net/httpserver/bugs/B6341616.java ! test/jdk/com/sun/net/httpserver/bugs/B6361557.java ! test/jdk/com/sun/net/httpserver/bugs/B6393710.java ! test/jdk/com/sun/net/httpserver/bugs/B6401598.java ! test/jdk/com/sun/net/httpserver/bugs/B6431193.java ! test/jdk/com/sun/net/httpserver/bugs/B6433018.java ! test/jdk/com/sun/net/httpserver/bugs/B6526158.java ! test/jdk/com/sun/net/httpserver/bugs/B6526913.java ! test/jdk/com/sun/net/httpserver/bugs/B6529200.java ! test/jdk/com/sun/net/httpserver/bugs/B6744329.java ! test/jdk/com/sun/net/httpserver/bugs/B6886436.java ! test/jdk/com/sun/net/httpserver/bugs/B8211420.java ! test/jdk/com/sun/net/httpserver/bugs/HttpExchange/AutoCloseableHttpExchange.java ! test/lib/jdk/test/lib/net/SimpleHttpServer.java Changeset: 652bda0a Author: Albert Mingkun Yang Date: 2023-03-20 11:15:29 +0000 URL: https://git.openjdk.org/panama-foreign/commit/652bda0af8f046e9cabd44e3b176fb2cb982c818 8304411: Remove unused CardTable::clear Reviewed-by: tschatzl ! src/hotspot/share/gc/shared/cardTable.cpp ! src/hotspot/share/gc/shared/cardTable.hpp Changeset: ded6a813 Author: Viktor Klang Committer: Jaikiran Pai Date: 2023-03-20 13:55:47 +0000 URL: https://git.openjdk.org/panama-foreign/commit/ded6a8131970ac2f7ae59716769e6f6bae3b809a 8303742: CompletableFuture.orTimeout leaks if the future completes exceptionally Reviewed-by: jpai, alanb ! src/java.base/share/classes/java/util/concurrent/CompletableFuture.java + test/jdk/java/util/concurrent/CompletableFuture/CompletableFutureOrTimeoutExceptionallyTest.java Changeset: c396f1ed Author: Archie L. Cobbs Committer: Vicente Romero Date: 2023-03-20 14:33:16 +0000 URL: https://git.openjdk.org/panama-foreign/commit/c396f1ed8b91b799fdd6a9a849d7407e606227d5 8304443: bootcycle builds fail after JDK-8015831 Reviewed-by: vromero ! src/java.base/share/classes/jdk/internal/jimage/BasicImageReader.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/api/BasicJavacTask.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/api/JavacTrees.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/api/MultiTaskListener.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/ClassFinder.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/DeferredCompletionFailureHandler.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/DeferredLintHandler.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Lint.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/MissingInfoHandler.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/ModuleFinder.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symbol.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symtab.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Type.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/TypeAnnotations.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Types.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Analyzer.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Annotate.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/ArgumentAttr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/AttrRecover.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/CompileStates.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/DeferredAttr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Enter.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Flow.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Infer.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Lower.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/MemberEnter.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Modules.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Operators.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Todo.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TransPatterns.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TransTypes.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TypeEnter.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/file/BaseFileManager.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/file/FSInfo.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/file/JavacFileManager.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassReader.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassWriter.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Gen.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/StringConcat.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/main/Arguments.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/main/JavaCompiler.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/model/JavacElements.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/model/JavacTypes.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/ParserFactory.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/ScannerFactory.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/Tokens.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/UnicodeReader.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/DocTreeMaker.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeMaker.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/AbstractDiagnosticFormatter.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/BasicDiagnosticFormatter.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/Dependencies.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/JCDiagnostic.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/JavacMessages.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/Log.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/Names.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/Options.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/RichDiagnosticFormatter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/doclet/StandardDoclet.java Changeset: 80e97972 Author: Jonathan Gibbons Date: 2023-03-20 15:14:25 +0000 URL: https://git.openjdk.org/panama-foreign/commit/80e979720a052fbc944b0d85ab25daa831942f19 8304433: cleanup sentence breaker code in DocTreeMaker Reviewed-by: hannesw ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/DocTreeMaker.java ! test/langtools/tools/javac/tree/SourceDocTreeScannerTest.java Changeset: eb73fa83 Author: Matias Saavedra Silva Committer: Coleen Phillimore Date: 2023-03-20 15:21:10 +0000 URL: https://git.openjdk.org/panama-foreign/commit/eb73fa833cfae24726e081308a595709dfb8f264 8301715: CDS should be disabled in exploded JDK Reviewed-by: ccheung, coleenp ! src/hotspot/share/cds/filemap.cpp ! src/hotspot/share/runtime/arguments.cpp Changeset: 4ed73505 Author: Thomas Schatzl Date: 2023-03-20 16:25:53 +0000 URL: https://git.openjdk.org/panama-foreign/commit/4ed7350573af73428d922a9a90ff7ce5c4acbc8b 8304393: Provide method to iterate over regions of humongous object in G1 Reviewed-by: iwalulya, ayang ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp ! src/hotspot/share/gc/g1/g1CollectedHeap.inline.hpp ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/g1/g1ConcurrentMark.hpp ! src/hotspot/share/gc/g1/g1FullGCCompactionPoint.cpp ! src/hotspot/share/gc/g1/g1RemSetTrackingPolicy.cpp ! src/hotspot/share/gc/g1/g1YoungGCPostEvacuateTasks.cpp Changeset: 4c8c9935 Author: Tyler Steele Date: 2023-03-20 17:13:35 +0000 URL: https://git.openjdk.org/panama-foreign/commit/4c8c9935eb23bfbabf311ad2e27498227f4ee932 8304364: [AIX] Build erroneously determines build disk is non-local when using GNU-utils df on AIX Reviewed-by: erikj ! make/autoconf/basic.m4 Changeset: 622f2394 Author: Mandy Chung Date: 2023-03-20 17:30:24 +0000 URL: https://git.openjdk.org/panama-foreign/commit/622f239448c2a96a74202621ee84c181d79fbde4 8304163: Move jdk.internal.module.ModuleInfoWriter to the test library Reviewed-by: jpai, alanb ! test/hotspot/jtreg/serviceability/dcmd/framework/TestProcessModuleLauncher.java ! test/hotspot/jtreg/serviceability/dcmd/framework/VMVersionTest.java ! test/jdk/java/lang/ClassLoader/securityManager/ClassLoaderTest.java ! test/jdk/java/lang/ModuleTests/AnnotationsTest.java ! test/jdk/java/lang/module/ClassFileVersionsTest.java ! test/jdk/java/lang/module/ConfigurationTest.java ! test/jdk/java/lang/module/ModuleDescriptorTest.java ! test/jdk/java/lang/module/ModuleFinderTest.java ! test/jdk/java/lang/module/ModuleNamesTest.java ! test/jdk/java/lang/module/MultiReleaseJarTest.java ! test/jdk/java/security/Provider/SecurityProviderModularTest.java ! test/jdk/javax/security/auth/login/modules/JaasModularClientTest.java ! test/jdk/javax/security/auth/login/modules/JaasModularDefaultHandlerTest.java ! test/jdk/jdk/modules/incubator/ServiceBinding.java ! test/jdk/sun/tools/jcmd/TestProcessHelper.java ! test/jdk/tools/jlink/JLinkNegativeTest.java = test/lib/jdk/test/lib/util/ModuleInfoWriter.java Changeset: 19f2edd9 Author: Julian Waters Date: 2023-03-20 18:13:05 +0000 URL: https://git.openjdk.org/panama-foreign/commit/19f2edd9b7e354cf31df4b7596e6a6eb59b34bf9 8304541: Modules THROW_MSG_ should return nullptr instead of JNI_FALSE Reviewed-by: coleenp ! src/hotspot/share/classfile/modules.cpp Changeset: 42723dcb Author: Maurizio Cimadamore Date: 2023-03-20 18:44:20 +0000 URL: https://git.openjdk.org/panama-foreign/commit/42723dcb1862da598092bb499056940d78a8bdac 8304420: Regression ~11% with Javac-Generates on all platforms in b14 Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Type.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Annotate.java Changeset: 2d0d057d Author: Kim Barrett Date: 2023-03-20 19:23:38 +0000 URL: https://git.openjdk.org/panama-foreign/commit/2d0d057d6691d4abe4ca1ef44b29f03043323b67 8304016: Add BitMap find_last suite of functions Reviewed-by: stefank, aboldtch ! src/hotspot/share/utilities/bitMap.hpp ! src/hotspot/share/utilities/bitMap.inline.hpp ! test/hotspot/gtest/utilities/test_bitMap_search.cpp Changeset: bc0ed730 Author: Serguei Spitsyn Date: 2023-03-20 19:55:16 +0000 URL: https://git.openjdk.org/panama-foreign/commit/bc0ed730f2c9dad55d0046b4fe8c9cd623b6dbf8 8304303: implement VirtualThread class notifyJvmti methods as C2 intrinsics Reviewed-by: vlivanov, lmesnik ! make/data/hotspot-symbols/symbols-unix ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/classfile/vmIntrinsics.hpp ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/include/jvm.h ! src/hotspot/share/opto/c2compiler.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/library_call.hpp ! src/hotspot/share/opto/runtime.cpp ! src/hotspot/share/opto/runtime.hpp ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/prims/jvmtiExport.cpp ! src/hotspot/share/prims/jvmtiThreadState.cpp ! src/hotspot/share/prims/jvmtiThreadState.hpp ! src/hotspot/share/runtime/javaThread.hpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/hotspot/share/runtime/sharedRuntime.hpp ! src/java.base/share/classes/java/lang/VirtualThread.java ! src/java.base/share/native/libjava/VirtualThread.c Changeset: f593a6b5 Author: Naoto Sato Date: 2023-03-20 20:20:19 +0000 URL: https://git.openjdk.org/panama-foreign/commit/f593a6b52ee7161f7d63bfaf04062551c1281e61 8303018: Unicode Emoji Properties Reviewed-by: prr, erikj, rriggs + make/jdk/src/classes/build/tools/generatecharacter/EmojiData.java ! make/jdk/src/classes/build/tools/generatecharacter/GenerateCharacter.java - make/jdk/src/classes/build/tools/generateemojidata/GenerateEmojiData.java ! make/modules/java.base/Gensrc.gmk ! make/modules/java.base/gensrc/GensrcCharacterData.gmk - make/modules/java.base/gensrc/GensrcEmojiData.gmk ! src/java.base/share/classes/java/lang/Character.java ! src/java.base/share/classes/java/lang/CharacterData.java ! src/java.base/share/classes/java/lang/CharacterData00.java.template ! src/java.base/share/classes/java/lang/CharacterData01.java.template ! src/java.base/share/classes/java/lang/CharacterData02.java.template ! src/java.base/share/classes/java/lang/CharacterData03.java.template ! src/java.base/share/classes/java/lang/CharacterData0E.java.template ! src/java.base/share/classes/java/lang/CharacterDataLatin1.java.template ! src/java.base/share/classes/java/lang/CharacterDataPrivateUse.java ! src/java.base/share/classes/java/lang/CharacterDataUndefined.java - src/java.base/share/classes/jdk/internal/util/regex/EmojiData.java.template ! src/java.base/share/classes/jdk/internal/util/regex/Grapheme.java + test/jdk/java/lang/Character/TestEmojiProperties.java Changeset: bbca7c3e Author: Mandy Chung Date: 2023-03-20 23:24:49 +0000 URL: https://git.openjdk.org/panama-foreign/commit/bbca7c3ede338a04d140abfe3e19cb27c628a0f5 8304542: Convert use of internal VM::classFileVersion to ClassFileFormatVersion Reviewed-by: alanb ! src/java.base/share/classes/java/lang/invoke/MethodHandleStatics.java ! src/java.base/share/classes/java/lang/reflect/ProxyGenerator.java ! src/java.base/share/classes/jdk/internal/foreign/abi/BindingSpecializer.java ! src/java.base/share/classes/jdk/internal/misc/VM.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/SystemModulesPlugin.java Changeset: a72ba383 Author: Varada M Committer: David Holmes Date: 2023-03-21 05:45:58 +0000 URL: https://git.openjdk.org/panama-foreign/commit/a72ba3834781ef174e206aaf1d34dbb2ed305df1 8303948: HsErrFileUtils.checkHsErrFileContent() fails to check the last pattern. Reviewed-by: dholmes, stuefe ! test/hotspot/jtreg/runtime/ErrorHandling/HsErrFileUtils.java ! test/hotspot/jtreg/runtime/ErrorHandling/TestSigInfoInHsErrFile.java Changeset: a6b72f56 Author: Jasmine K <25208576+SuperCoder7979 at users.noreply.github.com> Committer: Tobias Hartmann Date: 2023-03-21 06:03:05 +0000 URL: https://git.openjdk.org/panama-foreign/commit/a6b72f56f56b4f33ac163e90b115d79b2b844999 8304230: LShift ideal transform assertion Reviewed-by: thartmann ! src/hotspot/share/opto/mulnode.cpp Changeset: c4df9b5f Author: Jan Lahoda Date: 2023-03-21 07:33:56 +0000 URL: https://git.openjdk.org/panama-foreign/commit/c4df9b5f176672617f29bd253f01df2ea81dac36 8304537: Ant-based langtools build fails after JDK-8015831 Add lint check for calling overridable methods from a constructor Reviewed-by: vromero, erikj ! make/modules/jdk.compiler/Java.gmk ! make/modules/jdk.jdeps/Java.gmk ! make/modules/jdk.jshell/Java.gmk ! src/jdk.jdeps/share/classes/com/sun/tools/classfile/Dependencies.java ! src/jdk.jshell/share/classes/jdk/jshell/execution/JdiInitiator.java ! src/jdk.jshell/share/classes/jdk/jshell/spi/ExecutionControl.java Changeset: 4bf1fbb0 Author: Raffaello Giulietti Date: 2023-03-21 08:43:23 +0000 URL: https://git.openjdk.org/panama-foreign/commit/4bf1fbb06d63b4c52bfd3922beb2adf069e25b09 8303648: Add String.indexOf(String str, int beginIndex, int endIndex) Reviewed-by: rriggs ! src/java.base/share/classes/java/lang/String.java ! test/jdk/java/lang/String/IndexOfBeginEnd.java Changeset: c65bb2c5 Author: Matthias Baesken Date: 2023-03-21 09:13:01 +0000 URL: https://git.openjdk.org/panama-foreign/commit/c65bb2c58e0328cec83ebfa5408b5176f8639d14 8304334: java/awt/color/ICC_ColorSpace/ToFromCIEXYZRoundTrip.java times out on slow platforms Reviewed-by: lucy, serb, prr ! test/jdk/java/awt/color/ICC_ColorSpace/ToFromCIEXYZRoundTrip.java Changeset: 1c04686c Author: Xiaolin Zheng Committer: Andrew Dinn Date: 2023-03-21 11:27:54 +0000 URL: https://git.openjdk.org/panama-foreign/commit/1c04686cd68a78f926f09707ac723aa762945527 8304387: Fix positions of shared static stubs / trampolines Reviewed-by: adinn, fyang ! src/hotspot/cpu/aarch64/codeBuffer_aarch64.cpp ! src/hotspot/cpu/arm/codeBuffer_arm.hpp ! src/hotspot/cpu/ppc/codeBuffer_ppc.hpp ! src/hotspot/cpu/riscv/codeBuffer_riscv.cpp ! src/hotspot/cpu/s390/codeBuffer_s390.hpp ! src/hotspot/cpu/zero/codeBuffer_zero.hpp ! src/hotspot/share/asm/codeBuffer.cpp ! src/hotspot/share/asm/codeBuffer.hpp ! src/hotspot/share/asm/codeBuffer.inline.hpp ! src/hotspot/share/c1/c1_Compilation.cpp ! src/hotspot/share/ci/ciEnv.cpp ! src/hotspot/share/opto/output.cpp Changeset: bbde2158 Author: Coleen Phillimore Date: 2023-03-21 13:18:44 +0000 URL: https://git.openjdk.org/panama-foreign/commit/bbde2158d1d11be909292d0c8625211e6cf5359e 8299494: Test vmTestbase/nsk/stress/except/except011.java failed: ExceptionInInitializerError: target class not found Reviewed-by: dholmes, dcubed - test/hotspot/jtreg/vmTestbase/nsk/stress/except/except011.java - test/hotspot/jtreg/vmTestbase/nsk/stress/except/except011oops.java Changeset: d788a1bb Author: Chen Liang Committer: Jorn Vernee Date: 2023-03-21 14:55:17 +0000 URL: https://git.openjdk.org/panama-foreign/commit/d788a1bb808da73ef17aee0b773b7e3ea682426f 8304180: Constant Descriptors for MethodHandles::classData and classDataAt Reviewed-by: jvernee, mchung ! src/java.base/share/classes/java/lang/constant/ConstantDescs.java Changeset: d6f20e2f Author: Christian Hagedorn Date: 2023-03-21 16:05:42 +0000 URL: https://git.openjdk.org/panama-foreign/commit/d6f20e2fbff2551fcccd55cca73e9a3ca2ea0331 8304680: Problemlist compiler/sharedstubs/SharedStubToInterpTest.java Reviewed-by: thartmann ! test/hotspot/jtreg/ProblemList.txt Changeset: 019fcd81 Author: Chen Liang Committer: Mandy Chung Date: 2023-03-21 16:16:08 +0000 URL: https://git.openjdk.org/panama-foreign/commit/019fcd819c4f24e6c9de9d4f9fc64b8db6bc6cfa 8304139: Add and method constants to ConstantDescs Reviewed-by: mchung ! src/java.base/share/classes/java/lang/Class.java ! src/java.base/share/classes/java/lang/StackTraceElement.java ! src/java.base/share/classes/java/lang/constant/ConstantDescs.java ! src/java.base/share/classes/java/lang/constant/ConstantUtils.java ! src/java.base/share/classes/java/lang/constant/DirectMethodHandleDesc.java ! src/java.base/share/classes/java/lang/invoke/MethodHandleInfo.java ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java Changeset: 0deb6489 Author: Chris Plummer Date: 2023-03-21 18:00:35 +0000 URL: https://git.openjdk.org/panama-foreign/commit/0deb648985b018653ccdaf193dc13b3cf21c088a 8290200: com/sun/jdi/InvokeHangTest.java fails with "Debuggee appears to be hung" Reviewed-by: amenkov, lmesnik, sspitsyn, dcubed ! test/jdk/ProblemList-svc-vthread.txt ! test/jdk/com/sun/jdi/InvokeHangTest.java Changeset: 0156909a Author: Adam Sotona Date: 2023-03-22 06:13:34 +0000 URL: https://git.openjdk.org/panama-foreign/commit/0156909ab38072869e2eb9f5049042b9199d14a0 8304502: Classfile API class hierarchy makes assumptions when class is not resolved Reviewed-by: jpai ! src/java.base/share/classes/jdk/internal/classfile/impl/ClassHierarchyImpl.java ! test/jdk/jdk/classfile/AdvancedTransformationsTest.java ! test/jdk/jdk/classfile/ClassHierarchyInfoTest.java ! test/jdk/jdk/classfile/VerifierSelfTest.java Changeset: c039d266 Author: Wang Haomin Committer: Tobias Hartmann Date: 2023-03-22 07:36:11 +0000 URL: https://git.openjdk.org/panama-foreign/commit/c039d26603e85ae37b0a53430a47f5751bf911af 8303804: Fix some errors of If-VectorTest and CMove-VectorTest Reviewed-by: qamai, thartmann ! src/hotspot/share/adlc/archDesc.cpp ! src/hotspot/share/adlc/output_c.cpp Changeset: eda00651 Author: Daniel Jeli?ski Date: 2023-03-22 08:42:39 +0000 URL: https://git.openjdk.org/panama-foreign/commit/eda006510792de75d898cd66eeb86a00ad2fd45a 8304286: java/net/SocketOption/OptionsTest.java failing after JDK-8302659 Reviewed-by: dfuchs ! test/jdk/ProblemList.txt ! test/jdk/java/net/SocketOption/OptionsTest.java ! test/jdk/java/net/SocketOption/options.policy Changeset: ca94287d Author: Albert Mingkun Yang Date: 2023-03-22 10:11:55 +0000 URL: https://git.openjdk.org/panama-foreign/commit/ca94287d2b133f220f38ab321562a14f0db04a56 8304144: G1: Remove unnecessary is_survivor check in G1ClearCardTableTask Reviewed-by: tschatzl, ysr ! src/hotspot/share/gc/g1/g1RemSet.cpp Changeset: c74507ee Author: Albert Mingkun Yang Date: 2023-03-22 10:12:38 +0000 URL: https://git.openjdk.org/panama-foreign/commit/c74507eeb3c6b744b144e241373b109548624121 8304657: G1: Rename set_state_empty to set_state_untracked Reviewed-by: tschatzl ! src/hotspot/share/gc/g1/g1RemSetTrackingPolicy.cpp ! src/hotspot/share/gc/g1/heapRegionRemSet.cpp ! src/hotspot/share/gc/g1/heapRegionRemSet.hpp ! src/hotspot/share/gc/g1/heapRegionRemSet.inline.hpp Changeset: 358c61b5 Author: Adam Sotona Date: 2023-03-22 12:12:14 +0000 URL: https://git.openjdk.org/panama-foreign/commit/358c61b58d0f1ff54caf732e361de5f7ab068d10 8294972: Convert jdk.jlink internal plugins to use the Classfile API Reviewed-by: mchung, alanb ! src/java.base/share/classes/module-info.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/AbstractPlugin.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/IncludeLocalesPlugin.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/StripJavaDebugAttributesPlugin.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/SystemModulesPlugin.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/VersionPropsPlugin.java Changeset: ddf1e34c Author: Coleen Phillimore Date: 2023-03-22 12:33:00 +0000 URL: https://git.openjdk.org/panama-foreign/commit/ddf1e34c1a0815e8677212f1a7860ca7cf9fc2c9 8304089: Convert TraceDependencies to UL Reviewed-by: vlivanov, dholmes ! src/hotspot/share/ci/ciMethod.cpp ! src/hotspot/share/code/dependencies.cpp ! src/hotspot/share/code/dependencies.hpp ! src/hotspot/share/code/dependencyContext.cpp ! src/hotspot/share/code/nmethod.cpp ! src/hotspot/share/code/nmethod.hpp ! src/hotspot/share/logging/logTag.hpp ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/frame.cpp ! src/hotspot/share/runtime/globals.hpp ! test/hotspot/jtreg/compiler/cha/AbstractRootMethod.java ! test/hotspot/jtreg/compiler/cha/DefaultRootMethod.java ! test/hotspot/jtreg/compiler/cha/StrengthReduceInterfaceCall.java ! test/hotspot/jtreg/compiler/jsr292/CallSiteDepContextTest.java Changeset: 4154a980 Author: Johan Sj?len Date: 2023-03-22 14:18:40 +0000 URL: https://git.openjdk.org/panama-foreign/commit/4154a980ca28c1ae56db26e3dce64c07c225de12 8301498: Replace NULL with nullptr in cpu/x86 Reviewed-by: dholmes, kvn ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/cpu/x86/bytes_x86.hpp ! src/hotspot/cpu/x86/c1_CodeStubs_x86.cpp ! src/hotspot/cpu/x86/c1_LIRAssembler_x86.cpp ! src/hotspot/cpu/x86/c1_LIRGenerator_x86.cpp ! src/hotspot/cpu/x86/c1_LinearScan_x86.cpp ! src/hotspot/cpu/x86/c1_MacroAssembler_x86.cpp ! src/hotspot/cpu/x86/c1_MacroAssembler_x86.hpp ! src/hotspot/cpu/x86/c1_Runtime1_x86.cpp ! src/hotspot/cpu/x86/c2_CodeStubs_x86.cpp ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp ! src/hotspot/cpu/x86/c2_intelJccErratum_x86.cpp ! src/hotspot/cpu/x86/compiledIC_x86.cpp ! src/hotspot/cpu/x86/continuationFreezeThaw_x86.inline.hpp ! src/hotspot/cpu/x86/disassembler_x86.hpp ! src/hotspot/cpu/x86/downcallLinker_x86_64.cpp ! src/hotspot/cpu/x86/frame_x86.cpp ! src/hotspot/cpu/x86/frame_x86.inline.hpp ! src/hotspot/cpu/x86/gc/g1/g1BarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shared/barrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/globals_x86.hpp ! src/hotspot/cpu/x86/icBuffer_x86.cpp ! src/hotspot/cpu/x86/interp_masm_x86.cpp ! src/hotspot/cpu/x86/interp_masm_x86.hpp ! src/hotspot/cpu/x86/javaFrameAnchor_x86.hpp ! src/hotspot/cpu/x86/jniFastGetField_x86_32.cpp ! src/hotspot/cpu/x86/jniFastGetField_x86_64.cpp ! src/hotspot/cpu/x86/jvmciCodeInstaller_x86.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/nativeInst_x86.cpp ! src/hotspot/cpu/x86/nativeInst_x86.hpp ! src/hotspot/cpu/x86/registerMap_x86.cpp ! src/hotspot/cpu/x86/relocInfo_x86.cpp ! src/hotspot/cpu/x86/runtime_x86_32.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_32.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.hpp ! src/hotspot/cpu/x86/stubGenerator_x86_64_arraycopy.cpp ! src/hotspot/cpu/x86/stubRoutines_x86.cpp ! src/hotspot/cpu/x86/stubRoutines_x86_32.cpp ! src/hotspot/cpu/x86/stubRoutines_x86_64.cpp ! src/hotspot/cpu/x86/templateInterpreterGenerator_x86.cpp ! src/hotspot/cpu/x86/templateInterpreterGenerator_x86_32.cpp ! src/hotspot/cpu/x86/templateInterpreterGenerator_x86_64.cpp ! src/hotspot/cpu/x86/templateTable_x86.cpp ! src/hotspot/cpu/x86/vm_version_x86.cpp ! src/hotspot/cpu/x86/vtableStubs_x86_32.cpp ! src/hotspot/cpu/x86/vtableStubs_x86_64.cpp Changeset: 75168eac Author: Ludvig Janiuk Committer: Erik Joelsson Date: 2023-03-22 14:58:34 +0000 URL: https://git.openjdk.org/panama-foreign/commit/75168eaca3f665785519bb489073962a4972fdc0 8304134: jib bootstrapper fails to quote filename when checking download filetype Reviewed-by: erikj ! bin/jib.sh Changeset: 760c0128 Author: Justin King Date: 2023-03-22 15:28:44 +0000 URL: https://git.openjdk.org/panama-foreign/commit/760c0128a4ef787c8c8addb26894c072ba8b2eb1 8304683: Memory leak in WB_IsMethodCompatible Reviewed-by: thartmann ! src/hotspot/share/prims/whitebox.cpp Changeset: 37774556 Author: Jan Kratochvil Committer: Sandhya Viswanathan Date: 2023-03-22 15:55:57 +0000 URL: https://git.openjdk.org/panama-foreign/commit/37774556da8a5aacf55884133ae936ed5a28eab2 8302191: Performance degradation for float/double modulo on Linux Reviewed-by: dholmes, sviswanathan ! src/hotspot/cpu/x86/sharedRuntime_x86.cpp ! src/hotspot/share/runtime/sharedRuntime.cpp + test/micro/org/openjdk/bench/vm/floatingpoint/DremFrem.java Changeset: a2d8f634 Author: Chen Liang Committer: Mandy Chung Date: 2023-03-22 16:19:34 +0000 URL: https://git.openjdk.org/panama-foreign/commit/a2d8f634de69d11d7beec5e853f710719497bfe3 8288730: Add type parameter to Lookup::accessClass and Lookup::ensureInitialized Reviewed-by: mchung ! src/java.base/share/classes/java/lang/invoke/ConstantBootstraps.java ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java Changeset: e73411a2 Author: Leonid Mesnik Date: 2023-03-22 18:25:41 +0000 URL: https://git.openjdk.org/panama-foreign/commit/e73411a2354cf266ab7a5ddadfb6ea98d7eb4cd1 8304376: Rename t1/t2 classes in com/sun/jdi/CLETest.java to avoid class duplication error in IDE Reviewed-by: sspitsyn, cjplummer ! test/jdk/com/sun/jdi/CLETest.java Changeset: 91f407d6 Author: Archie L. Cobbs Committer: Vicente Romero Date: 2023-03-22 21:00:27 +0000 URL: https://git.openjdk.org/panama-foreign/commit/91f407d6fe285c44bcc25c1acdf5dc0c43be0172 8029301: Confusing error message for array creation method reference Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties ! test/langtools/tools/javac/diags/examples/CantApplySymbolFragment.java ! test/langtools/tools/javac/lambda/MethodReference60.out Changeset: c4338620 Author: Prasanta Sadhukhan Date: 2023-03-23 02:58:01 +0000 URL: https://git.openjdk.org/panama-foreign/commit/c4338620b7651f4da03ce4cfddb9e5b053fddb6a 6245410: javax.swing.text.html.CSS.Attribute: BACKGROUND_POSITION is not w3c spec compliant Reviewed-by: aivanov ! src/java.desktop/share/classes/javax/swing/text/html/CSS.java + test/jdk/javax/swing/text/html/CSS/CSSAttributeComplianceTest.java Changeset: af4d5600 Author: Emanuel Peter Date: 2023-03-23 07:44:18 +0000 URL: https://git.openjdk.org/panama-foreign/commit/af4d5600e37ec6d331e62c5d37491ee97cad5311 8303951: Add asserts before record_method_not_compilable where possible Reviewed-by: kvn, thartmann ! src/hotspot/share/compiler/compileBroker.cpp ! src/hotspot/share/opto/buildOopMap.cpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/domgraph.cpp ! src/hotspot/share/opto/gcm.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/matcher.cpp ! src/hotspot/share/opto/output.cpp ! src/hotspot/share/opto/parse1.cpp ! src/hotspot/share/opto/reg_split.cpp Changeset: e2cfcfbf Author: Prasanta Sadhukhan Date: 2023-03-23 07:50:57 +0000 URL: https://git.openjdk.org/panama-foreign/commit/e2cfcfbfa90017b1b4ecbf6fb2f0f782c88456a3 6817009: Action.SELECTED_KEY not toggled when using key binding Reviewed-by: tr, jdv ! src/java.desktop/share/classes/javax/swing/SwingUtilities.java + test/jdk/javax/swing/JToggleButton/TestSelectedKey.java Changeset: 63d4afbe Author: Jan Lahoda Date: 2023-03-23 08:35:25 +0000 URL: https://git.openjdk.org/panama-foreign/commit/63d4afbeb17df4eff0f65041926373ee62a8a33a 8304671: javac regression: Compilation with --release 8 fails on underscore in enum identifiers Reviewed-by: vromero, darcy ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! test/langtools/tools/javac/parser/JavacParserTest.java Changeset: bf917ba6 Author: Coleen Phillimore Date: 2023-03-23 13:47:06 +0000 URL: https://git.openjdk.org/panama-foreign/commit/bf917ba6af9a69859f469a1e8056fbd32396cae4 8304687: Move add_to_hierarchy Reviewed-by: dholmes, fparain ! src/hotspot/share/cds/lambdaFormInvokers.cpp ! src/hotspot/share/ci/ciEnv.cpp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/classfile/vmClasses.cpp ! src/hotspot/share/jvmci/jvmciRuntime.cpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceKlass.hpp Changeset: 147f3473 Author: Daniel Jeli?ski Date: 2023-03-23 15:45:14 +0000 URL: https://git.openjdk.org/panama-foreign/commit/147f3473d4cb6e0bb9edda87d571ba5088fda4a2 8219083: java/net/MulticastSocket/SetGetNetworkInterfaceTest.java failed in same binary run on windows x64 Reviewed-by: dfuchs ! test/jdk/ProblemList.txt Changeset: c00d0885 Author: Archie L. Cobbs Committer: Vicente Romero Date: 2023-03-23 15:59:51 +0000 URL: https://git.openjdk.org/panama-foreign/commit/c00d0885ae3c99c0ebacec0bd7de7382ee954dc1 8043179: Lambda expression can mutate final field Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Flow.java + test/langtools/tools/javac/lambda/8043179/LambdaMutateFinalField.java + test/langtools/tools/javac/lambda/8043179/LambdaMutateFinalField.out + test/langtools/tools/javac/lambda/8043179/LambdaMutateFinalVar.java + test/langtools/tools/javac/lambda/8043179/LambdaMutateFinalVar.out Changeset: 4b8f7db6 Author: Archie L. Cobbs Committer: Vicente Romero Date: 2023-03-23 16:04:35 +0000 URL: https://git.openjdk.org/panama-foreign/commit/4b8f7db6be80e425bebfaf6f68d49da74f29386a 8027682: javac wrongly accepts semicolons in package and import decls Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties ! test/jdk/com/sun/jndi/dns/Parser.java ! test/jdk/java/lang/constant/methodTypeDesc/ResolveConstantDesc.java ! test/jdk/java/lang/management/MemoryMXBean/CollectionUsageThreshold.java ! test/jdk/java/nio/channels/AsynchronousFileChannel/Basic.java ! test/jdk/jdk/jfr/tool/ExecuteHelper.java ! test/langtools/tools/javac/annotations/typeAnnotations/failures/AnnotatedImport.out ! test/langtools/tools/javac/annotations/typeAnnotations/failures/AnnotatedPackage1.out ! test/langtools/tools/javac/annotations/typeAnnotations/failures/AnnotatedPackage2.out + test/langtools/tools/javac/diags/examples/ExtraImportSemicolonError.java + test/langtools/tools/javac/diags/examples/ExtraImportSemicolonWarning.java + test/langtools/tools/javac/parser/ExtraImportSemicolon.java + test/langtools/tools/javac/parser/ExtraImportSemicolon.out1 + test/langtools/tools/javac/parser/ExtraImportSemicolon.out2 - test/langtools/tools/javac/tree/T6963934.java ! test/langtools/tools/jdeps/modules/src/unsupported/q/Counter.java ! test/langtools/tools/lib/types/TypeHarness.java Changeset: 6fa25cc1 Author: Archie L. Cobbs Committer: Vicente Romero Date: 2023-03-23 16:06:47 +0000 URL: https://git.openjdk.org/panama-foreign/commit/6fa25cc134e8a6787490e080fb98c2d61cf0b049 8184444: The compiler error "variable not initialized in the default constructor" is not apt in case of static final variables Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Flow.java + test/langtools/tools/javac/DefiniteAssignment/StaticFinalInit.java + test/langtools/tools/javac/DefiniteAssignment/StaticFinalInit.out ! test/langtools/tools/javac/flow/T8030218/CompileTimeErrorForNonAssignedStaticFieldTest.out ! test/langtools/tools/javac/positions/TreeEndPosTest.java Changeset: 46cca1a4 Author: Brian Burkhalter Date: 2023-03-23 18:00:07 +0000 URL: https://git.openjdk.org/panama-foreign/commit/46cca1a4c52b47587e5e7e460744213f304b7ed3 4842457: (bf spec) Clarify meaning of "(optional operation)" Reviewed-by: alanb ! src/java.base/share/classes/java/nio/X-Buffer.java.template Changeset: 51035a75 Author: Brian Burkhalter Date: 2023-03-23 18:01:12 +0000 URL: https://git.openjdk.org/panama-foreign/commit/51035a75e493f64b26f78e7fc87f6f6e536e4f56 8294137: Review running times of java.math tests Reviewed-by: darcy ! test/jdk/java/math/BigInteger/BigIntegerTest.java ! test/jdk/java/math/BigInteger/LargeValueExceptions.java ! test/jdk/java/math/BigInteger/largeMemory/SymmetricRangeTests.java Changeset: 7f9e6916 Author: Thomas Schatzl Date: 2023-03-23 19:13:28 +0000 URL: https://git.openjdk.org/panama-foreign/commit/7f9e691630753af44648d946b5f5ba3dbad68b57 8304712: Only pass total number of regions into G1Policy::calc_min_old_cset_length Reviewed-by: ayang, iwalulya ! src/hotspot/share/gc/g1/g1CollectionSetChooser.cpp ! src/hotspot/share/gc/g1/g1Policy.cpp ! src/hotspot/share/gc/g1/g1Policy.hpp Changeset: f37674a8 Author: Thomas Schatzl Date: 2023-03-23 19:14:24 +0000 URL: https://git.openjdk.org/panama-foreign/commit/f37674a8f7efb4304683dacc855f940be2768a09 8304711: Combine G1 root region abort and wait into a single method Reviewed-by: ayang, iwalulya ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/g1/g1ConcurrentMark.hpp ! src/hotspot/share/gc/g1/g1ConcurrentMarkThread.cpp Changeset: 3859faf1 Author: Vladimir Kozlov Date: 2023-03-23 19:15:34 +0000 URL: https://git.openjdk.org/panama-foreign/commit/3859faf183c241f124879d6a7264b43a6b42b418 8231349: Move intrinsic stubs generation to compiler runtime initialization code Reviewed-by: redestad, vlivanov ! src/hotspot/cpu/aarch64/globals_aarch64.hpp ! src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp ! src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp ! src/hotspot/cpu/aarch64/stubRoutines_aarch64.hpp ! src/hotspot/cpu/arm/globals_arm.hpp ! src/hotspot/cpu/arm/stubGenerator_arm.cpp ! src/hotspot/cpu/arm/stubRoutines_arm.hpp ! src/hotspot/cpu/ppc/globals_ppc.hpp ! src/hotspot/cpu/ppc/stubGenerator_ppc.cpp ! src/hotspot/cpu/ppc/stubRoutines_ppc.hpp ! src/hotspot/cpu/riscv/globals_riscv.hpp ! src/hotspot/cpu/riscv/stubGenerator_riscv.cpp ! src/hotspot/cpu/riscv/stubRoutines_riscv.hpp ! src/hotspot/cpu/s390/globals_s390.hpp ! src/hotspot/cpu/s390/stubGenerator_s390.cpp ! src/hotspot/cpu/s390/stubRoutines_s390.hpp ! src/hotspot/cpu/x86/globals_x86.hpp ! src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_32.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.hpp ! src/hotspot/cpu/x86/stubRoutines_x86.hpp ! src/hotspot/cpu/zero/globals_zero.hpp ! src/hotspot/cpu/zero/stubGenerator_zero.cpp ! src/hotspot/cpu/zero/stubRoutines_zero.hpp ! src/hotspot/os_cpu/windows_x86/os_windows_x86.cpp ! src/hotspot/share/jvmci/jvmciCompiler.cpp ! src/hotspot/share/logging/logTag.hpp ! src/hotspot/share/opto/c2compiler.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/init.cpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/hotspot/share/runtime/stubCodeGenerator.cpp ! src/hotspot/share/runtime/stubCodeGenerator.hpp ! src/hotspot/share/runtime/stubRoutines.cpp ! src/hotspot/share/runtime/stubRoutines.hpp Changeset: af0504e3 Author: Ian Graves Date: 2023-03-23 19:17:07 +0000 URL: https://git.openjdk.org/panama-foreign/commit/af0504e3f3de4ba40fa6187e48b584854b8e41f3 8304691: Remove jlink --post-process-path option Reviewed-by: mchung ! src/jdk.jlink/share/classes/jdk/tools/jlink/builder/DefaultImageBuilder.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/Jlink.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/JlinkTask.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/TaskHelper.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/resources/jlink.properties ! src/jdk.jlink/share/classes/jdk/tools/jlink/resources/plugins.properties - test/jdk/tools/jlink/JLinkPostProcessingTest.java ! test/jdk/tools/lib/tests/Helper.java ! test/jdk/tools/lib/tests/JImageGenerator.java Changeset: 568dd57d Author: Thomas Schatzl Date: 2023-03-23 19:38:24 +0000 URL: https://git.openjdk.org/panama-foreign/commit/568dd57d0da0f5273b51b57446d97f14833877bf 8304716: Clean up G1Policy::calc_max_old_cset_length() Reviewed-by: ayang, iwalulya ! src/hotspot/share/gc/g1/g1Policy.cpp Changeset: 6f67abd3 Author: Viktor Klang Committer: Alan Bateman Date: 2023-03-23 20:43:45 +0000 URL: https://git.openjdk.org/panama-foreign/commit/6f67abd352ce9605dd93188995d42a47ee07b25e 8304557: java/util/concurrent/CompletableFuture/CompletableFutureOrTimeoutExceptionallyTest.java times out Reviewed-by: jpai ! test/jdk/java/util/concurrent/CompletableFuture/CompletableFutureOrTimeoutExceptionallyTest.java Changeset: dd23ee9e Author: Justin Lu Committer: Naoto Sato Date: 2023-03-23 21:15:40 +0000 URL: https://git.openjdk.org/panama-foreign/commit/dd23ee9e8732223475a2e8c635322503dffbb6bf 8303917: Update ISO 639 language codes table Reviewed-by: naoto ! src/java.base/share/classes/java/util/LocaleISOData.java ! test/jdk/java/util/Locale/Bug4175998Test.java Changeset: ac6af6a6 Author: Archie L. Cobbs Committer: Vicente Romero Date: 2023-03-23 21:17:47 +0000 URL: https://git.openjdk.org/panama-foreign/commit/ac6af6a64099c182e982a0a718bc1b780cef616e 7176515: ExceptionInInitializerError for an enum with multiple switch statements 8299760: ExceptionInInitializerError for an enum with multiple switch statements, follow-up Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Lower.java ! test/hotspot/jtreg/runtime/cds/appcds/jvmti/ClassFileLoadHookTest.java ! test/langtools/tools/javac/T8011181/EmptyUTF8ForInnerClassNameTest.java + test/langtools/tools/javac/enum/EnumLookupTableExceptionInInitializer.java Changeset: 941a7ac7 Author: Fei Gao Date: 2023-03-24 07:47:44 +0000 URL: https://git.openjdk.org/panama-foreign/commit/941a7ac7dab243c6033a78880fd31faa803e62ab 8304301: Remove the global option SuperWordMaxVectorSize Reviewed-by: sviswanathan, kvn ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/arm/arm.ad ! src/hotspot/cpu/ppc/ppc.ad ! src/hotspot/cpu/riscv/riscv.ad ! src/hotspot/cpu/s390/s390.ad ! src/hotspot/cpu/x86/vm_version_x86.cpp ! src/hotspot/cpu/x86/vm_version_x86.hpp ! src/hotspot/cpu/x86/x86.ad ! src/hotspot/share/opto/c2_globals.hpp ! src/hotspot/share/opto/matcher.hpp ! src/hotspot/share/opto/superword.cpp ! src/hotspot/share/opto/superword.hpp ! src/hotspot/share/opto/vectornode.cpp ! src/hotspot/share/opto/vectornode.hpp Changeset: 2f78d6b5 Author: duke Date: 2023-03-24 11:00:23 +0000 URL: https://git.openjdk.org/panama-foreign/commit/2f78d6b50e1b8e60730a2b9f2d8bdd11555c5296 Automatic merge of jdk:master into master Changeset: 535eac7d Author: duke Date: 2023-03-24 11:00:37 +0000 URL: https://git.openjdk.org/panama-foreign/commit/535eac7d896767e3fc2b0559650aa6577da51194 Automatic merge of master into foreign-memaccess+abi ! src/hotspot/cpu/x86/downcallLinker_x86_64.cpp ! src/hotspot/share/include/jvm.h ! src/hotspot/share/prims/jvm.cpp ! src/java.base/share/classes/jdk/internal/foreign/abi/BindingSpecializer.java ! src/hotspot/cpu/x86/downcallLinker_x86_64.cpp ! src/hotspot/share/include/jvm.h ! src/hotspot/share/prims/jvm.cpp ! src/java.base/share/classes/jdk/internal/foreign/abi/BindingSpecializer.java From duke at openjdk.org Fri Mar 24 11:10:08 2023 From: duke at openjdk.org (duke) Date: Fri, 24 Mar 2023 11:10:08 GMT Subject: git: openjdk/panama-foreign: master: 80 new changesets Message-ID: Changeset: b2639e1d Author: Adam Sotona Date: 2023-03-17 11:47:11 +0000 URL: https://git.openjdk.org/panama-foreign/commit/b2639e1d6246a7e1aab1d9d15add7979adf40766 8304164: jdk/classfile/CorpusTest.java still fails after JDK-8303910 Reviewed-by: jpai ! src/java.base/share/classes/jdk/internal/classfile/impl/ClassHierarchyImpl.java Changeset: cb4ae192 Author: Afshin Zafari Committer: Coleen Phillimore Date: 2023-03-17 13:20:58 +0000 URL: https://git.openjdk.org/panama-foreign/commit/cb4ae1922db7fe3645fd50f301b4a1be965bc79b 8292059: Do not inline InstanceKlass::allocate_instance() Reviewed-by: coleenp, stefank ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceKlass.inline.hpp ! src/hotspot/share/prims/jvmtiEnvBase.cpp Changeset: 6dd6c15e Author: Afshin Zafari Committer: Coleen Phillimore Date: 2023-03-17 13:21:47 +0000 URL: https://git.openjdk.org/panama-foreign/commit/6dd6c15ed4b2a563989e97c5a75634c3e0e7e915 8301684: Fix test code to not get finalizer deprecation warnings Reviewed-by: coleenp, dholmes ! test/hotspot/jtreg/vmTestbase/nsk/share/ClassUnloader.java ! test/hotspot/jtreg/vmTestbase/nsk/share/CustomClassLoader.java Changeset: 384a8b85 Author: Damon Fenacci Committer: Tobias Hartmann Date: 2023-03-17 13:24:55 +0000 URL: https://git.openjdk.org/panama-foreign/commit/384a8b85a7266b920242ea73baf578577ca588ec 8303069: Memory leak in CompilerOracle::parse_from_line Reviewed-by: thartmann, jcking ! src/hotspot/share/compiler/compilerOracle.cpp Changeset: d5a15070 Author: Leonid Mesnik Date: 2023-03-17 13:43:54 +0000 URL: https://git.openjdk.org/panama-foreign/commit/d5a150706e9070557533135489a73fc8cefc0cec 8304314: StackWalkTest.java fails after CODETOOLS-7903373 Reviewed-by: alanb, mchung ! test/jdk/java/lang/StackWalker/StackWalkTest.java Changeset: 8d2ebf24 Author: Leonid Mesnik Date: 2023-03-17 13:45:41 +0000 URL: https://git.openjdk.org/panama-foreign/commit/8d2ebf248e2884fbf138b603ae82f81bd0926cf3 8303697: ProcessTools doesn't print last line of process output Reviewed-by: dholmes, stuefe + test/lib-test/jdk/test/lib/process/ProcessToolsLastLineTest.java ! test/lib/jdk/test/lib/process/StreamPumper.java Changeset: 4486f1b7 Author: Naoto Sato Date: 2023-03-17 15:44:38 +0000 URL: https://git.openjdk.org/panama-foreign/commit/4486f1b72047dcdb2877cb3c9b4ca02f6cd008e9 8304367: jlink --include-locales=* attempts to parse non .class resource files with classfile reader Reviewed-by: mchung, lancea, jpai ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/IncludeLocalesPlugin.java Changeset: 02a4ee20 Author: Alex Menkov Date: 2023-03-17 18:23:03 +0000 URL: https://git.openjdk.org/panama-foreign/commit/02a4ee206a979858c23c22da35e70560e0f27efd 8303921: serviceability/sa/UniqueVtableTest.java timed out Reviewed-by: cjplummer, sspitsyn ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/serviceability/sa/TestIntConstant.java ! test/hotspot/jtreg/serviceability/sa/TestPrintMdo.java ! test/hotspot/jtreg/serviceability/sa/TestType.java ! test/hotspot/jtreg/serviceability/sa/TestUniverse.java ! test/hotspot/jtreg/serviceability/sa/UniqueVtableTest.java Changeset: 932be354 Author: Coleen Phillimore Date: 2023-03-17 18:56:05 +0000 URL: https://git.openjdk.org/panama-foreign/commit/932be3542d3d82b7da76ef3b82bf76231daf2aa6 8298469: Obsolete legacy parallel class loading workaround for non-parallel-capable class loaders Reviewed-by: dholmes, fparain ! src/hotspot/share/classfile/placeholders.cpp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/objectMonitor.cpp ! src/hotspot/share/runtime/objectMonitor.hpp ! src/hotspot/share/runtime/synchronizer.cpp ! src/hotspot/share/runtime/synchronizer.hpp ! test/hotspot/jtreg/runtime/ParallelLoad/ParallelSuper/ParallelSuperTest.java Changeset: bfb812a8 Author: Frederic Parain Date: 2023-03-17 20:18:36 +0000 URL: https://git.openjdk.org/panama-foreign/commit/bfb812a8ff8bca70aed7695c73f019ae66ac6f33 8292818: replace 96-bit representation for field metadata with variable-sized streams Co-authored-by: John R Rose Co-authored-by: Chris Plummer Reviewed-by: dholmes, coleenp, cjplummer, dnsimon ! src/hotspot/share/ci/ciField.cpp ! src/hotspot/share/ci/ciFlags.hpp ! src/hotspot/share/classfile/classFileParser.cpp ! src/hotspot/share/classfile/classFileParser.hpp ! src/hotspot/share/classfile/fieldLayoutBuilder.cpp ! src/hotspot/share/classfile/fieldLayoutBuilder.hpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/interpreter/interpreterRuntime.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVM.cpp ! src/hotspot/share/jvmci/jvmciEnv.cpp ! src/hotspot/share/jvmci/jvmciEnv.hpp ! src/hotspot/share/jvmci/jvmciJavaClasses.hpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/jvmci/vmSymbols_jvmci.hpp ! src/hotspot/share/oops/array.hpp + src/hotspot/share/oops/fieldInfo.cpp ! src/hotspot/share/oops/fieldInfo.hpp + src/hotspot/share/oops/fieldInfo.inline.hpp ! src/hotspot/share/oops/fieldStreams.hpp ! src/hotspot/share/oops/fieldStreams.inline.hpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceKlass.hpp ! src/hotspot/share/oops/instanceKlass.inline.hpp ! src/hotspot/share/prims/jvmtiClassFileReconstituter.cpp ! src/hotspot/share/prims/jvmtiRedefineClasses.cpp ! src/hotspot/share/runtime/deoptimization.cpp ! src/hotspot/share/runtime/fieldDescriptor.cpp ! src/hotspot/share/runtime/fieldDescriptor.hpp ! src/hotspot/share/runtime/fieldDescriptor.inline.hpp ! src/hotspot/share/runtime/reflectionUtils.cpp ! src/hotspot/share/runtime/reflectionUtils.hpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/hotspot/share/utilities/accessFlags.hpp ! src/hotspot/share/utilities/unsigned5.hpp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/AccessFlags.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/Field.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/InstanceKlass.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/ClassConstants.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/tools/ClassLoaderStats.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/tools/jcore/ClassWriter.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/ui/classbrowser/HTMLGenerator.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/utilities/GenericArray.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/CompilerToVM.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotConstantPool.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotResolvedJavaFieldImpl.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotVMConfig.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/ResolvedJavaField.java ! test/hotspot/gtest/oops/test_instanceKlass.cpp ! test/hotspot/jtreg/compiler/jvmci/common/patches/jdk.internal.vm.ci/jdk/vm/ci/hotspot/HotSpotResolvedJavaFieldHelper.java ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/ResolveFieldInPoolTest.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.hotspot.test/src/jdk/vm/ci/hotspot/test/HotSpotResolvedJavaFieldTest.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.hotspot.test/src/jdk/vm/ci/hotspot/test/TestHotSpotResolvedJavaField.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestResolvedJavaField.java Changeset: b085ab93 Author: Archie L. Cobbs Committer: Vicente Romero Date: 2023-03-17 20:52:38 +0000 URL: https://git.openjdk.org/panama-foreign/commit/b085ab9316ed7a25b4981e05210299be50eb7ccd 8180387: com.sun.source.util.JavacTask should have a protected constructor. Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/source/util/JavacTask.java Changeset: 8f5bb538 Author: Archie L. Cobbs Committer: Vicente Romero Date: 2023-03-17 22:05:50 +0000 URL: https://git.openjdk.org/panama-foreign/commit/8f5bb538aba42bffb9611546a18f14eb2ea82b70 8015831: Add lint check for calling overridable methods from a constructor 6557145: Warn about calling abstract methods in constructors Reviewed-by: ihse, vromero, mcimadamore ! make/CompileDemos.gmk ! make/CompileModuleTools.gmk ! make/modules/java.base/Java.gmk ! make/modules/java.datatransfer/Java.gmk ! make/modules/java.desktop/Java.gmk ! make/modules/java.logging/Java.gmk ! make/modules/java.management/Java.gmk ! make/modules/java.naming/Java.gmk = make/modules/java.net.http/Java.gmk ! make/modules/java.rmi/Java.gmk ! make/modules/java.security.jgss/Java.gmk = make/modules/java.security.sasl/Java.gmk ! make/modules/java.sql.rowset/Java.gmk ! make/modules/java.sql/Java.gmk ! make/modules/java.xml.crypto/Java.gmk ! make/modules/java.xml/Java.gmk ! make/modules/jdk.charsets/Java.gmk ! make/modules/jdk.compiler/Gendata.gmk ! make/modules/jdk.compiler/Java.gmk = make/modules/jdk.crypto.ec/Java.gmk = make/modules/jdk.crypto.mscapi/Java.gmk ! make/modules/jdk.hotspot.agent/Java.gmk ! make/modules/jdk.httpserver/Java.gmk ! make/modules/jdk.internal.jvmstat/Java.gmk ! make/modules/jdk.internal.le/Java.gmk ! make/modules/jdk.internal.opt/Java.gmk ! make/modules/jdk.internal.vm.ci/Java.gmk ! make/modules/jdk.javadoc/Gendata.gmk ! make/modules/jdk.javadoc/Java.gmk ! make/modules/jdk.jcmd/Java.gmk ! make/modules/jdk.jconsole/Java.gmk ! make/modules/jdk.jdeps/Gensrc.gmk ! make/modules/jdk.jdeps/Java.gmk ! make/modules/jdk.jdeps/Launcher.gmk ! make/modules/jdk.jdi/Java.gmk = make/modules/jdk.jlink/Java.gmk ! make/modules/jdk.jpackage/Java.gmk ! make/modules/jdk.jshell/Java.gmk = make/modules/jdk.jstatd/Java.gmk ! make/modules/jdk.localedata/Java.gmk = make/modules/jdk.management/Java.gmk ! make/modules/jdk.sctp/Java.gmk ! make/test/BuildFailureHandler.gmk ! make/test/BuildMicrobenchmark.gmk ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Lint.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Flow.java + src/jdk.compiler/share/classes/com/sun/tools/javac/comp/ThisEscapeAnalyzer.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac.properties ! src/jdk.compiler/share/classes/module-info.java ! src/jdk.compiler/share/man/javac.1 + test/langtools/tools/javac/diags/examples/ThisEscape.java + test/langtools/tools/javac/warnings/ThisEscape.java + test/langtools/tools/javac/warnings/ThisEscape.out Changeset: 254288a5 Author: Archie L. Cobbs Committer: Vicente Romero Date: 2023-03-17 22:12:09 +0000 URL: https://git.openjdk.org/panama-foreign/commit/254288a518ee1d6d486a96c1883e569fa7e95a68 8014021: TreeMaker.Params behaves inconsistently when the owning method has the same number of parameters as the number of parameter types requested Reviewed-by: vromero, jlahoda ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TypeEnter.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeMaker.java Changeset: c56f011b Author: Alexander Matveev Date: 2023-03-18 00:02:23 +0000 URL: https://git.openjdk.org/panama-foreign/commit/c56f011baa4ce7f44661f6ade8e313f812730c02 8298995: tools/jpackage/share/AddLauncherTest.java#id1 failed "AddLauncherTest.test; checks=53" Reviewed-by: asemenyuk ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/RetryExecutor.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/MacHelper.java Changeset: f8482c20 Author: Chris Plummer Date: 2023-03-18 00:23:58 +0000 URL: https://git.openjdk.org/panama-foreign/commit/f8482c20f4f55d4fc5b304a33c87775b5acfe2b8 8297638: Memory leak in case of many started-dead threads Reviewed-by: amenkov, sspitsyn ! src/jdk.jdi/share/classes/com/sun/tools/jdi/VMState.java ! src/jdk.jdi/share/classes/com/sun/tools/jdi/VirtualMachineImpl.java + test/jdk/com/sun/jdi/ThreadMemoryLeakTest.java Changeset: 7503ecc0 Author: Yudi Zheng Committer: Doug Simon Date: 2023-03-18 09:41:39 +0000 URL: https://git.openjdk.org/panama-foreign/commit/7503ecc0f185f6da777c022a66d7af6c40dcd05f 8304138: [JVMCI] Test FailedSpeculation existence before appending. Reviewed-by: kvn, dnsimon ! src/hotspot/share/oops/methodData.cpp Changeset: 033c0b17 Author: Chris Plummer Date: 2023-03-18 17:08:00 +0000 URL: https://git.openjdk.org/panama-foreign/commit/033c0b17cbbf830ec28495761016d147902e4c42 8304437: ProblemList com/sun/jdi/ThreadMemoryLeadTest.java with ZGC Reviewed-by: jpai, dcubed ! test/jdk/ProblemList-zgc.txt Changeset: e339e183 Author: Archie L. Cobbs Committer: Vicente Romero Date: 2023-03-18 17:32:00 +0000 URL: https://git.openjdk.org/panama-foreign/commit/e339e183c1d60e494d266bac0c2ec05c1ec30cc6 7016187: `javac -h` could generate conflict .h for inner class and class name with '_' Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/JNIWriter.java ! test/langtools/tools/javac/nativeHeaders/NativeHeaderTest.java Changeset: c09f83ec Author: Feilong Jiang Committer: Fei Yang Date: 2023-03-20 00:53:52 +0000 URL: https://git.openjdk.org/panama-foreign/commit/c09f83ec25749af349fb5609e3641b5bb6d34072 8304293: RISC-V: JDK-8276799 missed atomic intrinsic support for C1 Reviewed-by: fyang, yzhu ! src/hotspot/cpu/riscv/vm_version_riscv.cpp Changeset: 45056703 Author: Daniel Jeli?ski Date: 2023-03-20 09:31:33 +0000 URL: https://git.openjdk.org/panama-foreign/commit/450567031ec32846c9a8f157eb56bd099b17b5a5 8304174: Remove delays from httpserver tests Reviewed-by: jpai, dfuchs ! test/jdk/com/sun/net/httpserver/DateFormatterTest.java ! test/jdk/com/sun/net/httpserver/HttpServerTest.java ! test/jdk/com/sun/net/httpserver/SelCacheTest.java ! test/jdk/com/sun/net/httpserver/Test.java ! test/jdk/com/sun/net/httpserver/Test1.java ! test/jdk/com/sun/net/httpserver/Test10.java ! test/jdk/com/sun/net/httpserver/Test11.java ! test/jdk/com/sun/net/httpserver/Test12.java ! test/jdk/com/sun/net/httpserver/Test13.java ! test/jdk/com/sun/net/httpserver/Test14.java ! test/jdk/com/sun/net/httpserver/Test2.java ! test/jdk/com/sun/net/httpserver/Test3.java ! test/jdk/com/sun/net/httpserver/Test4.java ! test/jdk/com/sun/net/httpserver/Test5.java ! test/jdk/com/sun/net/httpserver/Test6.java ! test/jdk/com/sun/net/httpserver/Test6a.java ! test/jdk/com/sun/net/httpserver/Test7.java ! test/jdk/com/sun/net/httpserver/Test7a.java ! test/jdk/com/sun/net/httpserver/Test8.java ! test/jdk/com/sun/net/httpserver/Test8a.java ! test/jdk/com/sun/net/httpserver/Test9.java ! test/jdk/com/sun/net/httpserver/Test9a.java ! test/jdk/com/sun/net/httpserver/TestLogging.java ! test/jdk/com/sun/net/httpserver/bugs/8199849/BasicAuthenticatorCharset.java ! test/jdk/com/sun/net/httpserver/bugs/8199849/TestHttpUnicode.java ! test/jdk/com/sun/net/httpserver/bugs/B6339483.java ! test/jdk/com/sun/net/httpserver/bugs/B6341616.java ! test/jdk/com/sun/net/httpserver/bugs/B6361557.java ! test/jdk/com/sun/net/httpserver/bugs/B6393710.java ! test/jdk/com/sun/net/httpserver/bugs/B6401598.java ! test/jdk/com/sun/net/httpserver/bugs/B6431193.java ! test/jdk/com/sun/net/httpserver/bugs/B6433018.java ! test/jdk/com/sun/net/httpserver/bugs/B6526158.java ! test/jdk/com/sun/net/httpserver/bugs/B6526913.java ! test/jdk/com/sun/net/httpserver/bugs/B6529200.java ! test/jdk/com/sun/net/httpserver/bugs/B6744329.java ! test/jdk/com/sun/net/httpserver/bugs/B6886436.java ! test/jdk/com/sun/net/httpserver/bugs/B8211420.java ! test/jdk/com/sun/net/httpserver/bugs/HttpExchange/AutoCloseableHttpExchange.java ! test/lib/jdk/test/lib/net/SimpleHttpServer.java Changeset: 652bda0a Author: Albert Mingkun Yang Date: 2023-03-20 11:15:29 +0000 URL: https://git.openjdk.org/panama-foreign/commit/652bda0af8f046e9cabd44e3b176fb2cb982c818 8304411: Remove unused CardTable::clear Reviewed-by: tschatzl ! src/hotspot/share/gc/shared/cardTable.cpp ! src/hotspot/share/gc/shared/cardTable.hpp Changeset: ded6a813 Author: Viktor Klang Committer: Jaikiran Pai Date: 2023-03-20 13:55:47 +0000 URL: https://git.openjdk.org/panama-foreign/commit/ded6a8131970ac2f7ae59716769e6f6bae3b809a 8303742: CompletableFuture.orTimeout leaks if the future completes exceptionally Reviewed-by: jpai, alanb ! src/java.base/share/classes/java/util/concurrent/CompletableFuture.java + test/jdk/java/util/concurrent/CompletableFuture/CompletableFutureOrTimeoutExceptionallyTest.java Changeset: c396f1ed Author: Archie L. Cobbs Committer: Vicente Romero Date: 2023-03-20 14:33:16 +0000 URL: https://git.openjdk.org/panama-foreign/commit/c396f1ed8b91b799fdd6a9a849d7407e606227d5 8304443: bootcycle builds fail after JDK-8015831 Reviewed-by: vromero ! src/java.base/share/classes/jdk/internal/jimage/BasicImageReader.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/api/BasicJavacTask.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/api/JavacTrees.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/api/MultiTaskListener.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/ClassFinder.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/DeferredCompletionFailureHandler.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/DeferredLintHandler.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Lint.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/MissingInfoHandler.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/ModuleFinder.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symbol.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symtab.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Type.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/TypeAnnotations.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Types.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Analyzer.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Annotate.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/ArgumentAttr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/AttrRecover.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/CompileStates.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/DeferredAttr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Enter.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Flow.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Infer.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Lower.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/MemberEnter.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Modules.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Operators.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Todo.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TransPatterns.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TransTypes.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TypeEnter.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/file/BaseFileManager.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/file/FSInfo.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/file/JavacFileManager.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassReader.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassWriter.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Gen.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/StringConcat.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/main/Arguments.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/main/JavaCompiler.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/model/JavacElements.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/model/JavacTypes.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/ParserFactory.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/ScannerFactory.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/Tokens.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/UnicodeReader.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/DocTreeMaker.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeMaker.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/AbstractDiagnosticFormatter.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/BasicDiagnosticFormatter.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/Dependencies.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/JCDiagnostic.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/JavacMessages.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/Log.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/Names.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/Options.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/RichDiagnosticFormatter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/doclet/StandardDoclet.java Changeset: 80e97972 Author: Jonathan Gibbons Date: 2023-03-20 15:14:25 +0000 URL: https://git.openjdk.org/panama-foreign/commit/80e979720a052fbc944b0d85ab25daa831942f19 8304433: cleanup sentence breaker code in DocTreeMaker Reviewed-by: hannesw ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/DocTreeMaker.java ! test/langtools/tools/javac/tree/SourceDocTreeScannerTest.java Changeset: eb73fa83 Author: Matias Saavedra Silva Committer: Coleen Phillimore Date: 2023-03-20 15:21:10 +0000 URL: https://git.openjdk.org/panama-foreign/commit/eb73fa833cfae24726e081308a595709dfb8f264 8301715: CDS should be disabled in exploded JDK Reviewed-by: ccheung, coleenp ! src/hotspot/share/cds/filemap.cpp ! src/hotspot/share/runtime/arguments.cpp Changeset: 4ed73505 Author: Thomas Schatzl Date: 2023-03-20 16:25:53 +0000 URL: https://git.openjdk.org/panama-foreign/commit/4ed7350573af73428d922a9a90ff7ce5c4acbc8b 8304393: Provide method to iterate over regions of humongous object in G1 Reviewed-by: iwalulya, ayang ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp ! src/hotspot/share/gc/g1/g1CollectedHeap.inline.hpp ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/g1/g1ConcurrentMark.hpp ! src/hotspot/share/gc/g1/g1FullGCCompactionPoint.cpp ! src/hotspot/share/gc/g1/g1RemSetTrackingPolicy.cpp ! src/hotspot/share/gc/g1/g1YoungGCPostEvacuateTasks.cpp Changeset: 4c8c9935 Author: Tyler Steele Date: 2023-03-20 17:13:35 +0000 URL: https://git.openjdk.org/panama-foreign/commit/4c8c9935eb23bfbabf311ad2e27498227f4ee932 8304364: [AIX] Build erroneously determines build disk is non-local when using GNU-utils df on AIX Reviewed-by: erikj ! make/autoconf/basic.m4 Changeset: 622f2394 Author: Mandy Chung Date: 2023-03-20 17:30:24 +0000 URL: https://git.openjdk.org/panama-foreign/commit/622f239448c2a96a74202621ee84c181d79fbde4 8304163: Move jdk.internal.module.ModuleInfoWriter to the test library Reviewed-by: jpai, alanb ! test/hotspot/jtreg/serviceability/dcmd/framework/TestProcessModuleLauncher.java ! test/hotspot/jtreg/serviceability/dcmd/framework/VMVersionTest.java ! test/jdk/java/lang/ClassLoader/securityManager/ClassLoaderTest.java ! test/jdk/java/lang/ModuleTests/AnnotationsTest.java ! test/jdk/java/lang/module/ClassFileVersionsTest.java ! test/jdk/java/lang/module/ConfigurationTest.java ! test/jdk/java/lang/module/ModuleDescriptorTest.java ! test/jdk/java/lang/module/ModuleFinderTest.java ! test/jdk/java/lang/module/ModuleNamesTest.java ! test/jdk/java/lang/module/MultiReleaseJarTest.java ! test/jdk/java/security/Provider/SecurityProviderModularTest.java ! test/jdk/javax/security/auth/login/modules/JaasModularClientTest.java ! test/jdk/javax/security/auth/login/modules/JaasModularDefaultHandlerTest.java ! test/jdk/jdk/modules/incubator/ServiceBinding.java ! test/jdk/sun/tools/jcmd/TestProcessHelper.java ! test/jdk/tools/jlink/JLinkNegativeTest.java = test/lib/jdk/test/lib/util/ModuleInfoWriter.java Changeset: 19f2edd9 Author: Julian Waters Date: 2023-03-20 18:13:05 +0000 URL: https://git.openjdk.org/panama-foreign/commit/19f2edd9b7e354cf31df4b7596e6a6eb59b34bf9 8304541: Modules THROW_MSG_ should return nullptr instead of JNI_FALSE Reviewed-by: coleenp ! src/hotspot/share/classfile/modules.cpp Changeset: 42723dcb Author: Maurizio Cimadamore Date: 2023-03-20 18:44:20 +0000 URL: https://git.openjdk.org/panama-foreign/commit/42723dcb1862da598092bb499056940d78a8bdac 8304420: Regression ~11% with Javac-Generates on all platforms in b14 Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Type.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Annotate.java Changeset: 2d0d057d Author: Kim Barrett Date: 2023-03-20 19:23:38 +0000 URL: https://git.openjdk.org/panama-foreign/commit/2d0d057d6691d4abe4ca1ef44b29f03043323b67 8304016: Add BitMap find_last suite of functions Reviewed-by: stefank, aboldtch ! src/hotspot/share/utilities/bitMap.hpp ! src/hotspot/share/utilities/bitMap.inline.hpp ! test/hotspot/gtest/utilities/test_bitMap_search.cpp Changeset: bc0ed730 Author: Serguei Spitsyn Date: 2023-03-20 19:55:16 +0000 URL: https://git.openjdk.org/panama-foreign/commit/bc0ed730f2c9dad55d0046b4fe8c9cd623b6dbf8 8304303: implement VirtualThread class notifyJvmti methods as C2 intrinsics Reviewed-by: vlivanov, lmesnik ! make/data/hotspot-symbols/symbols-unix ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/classfile/vmIntrinsics.hpp ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/include/jvm.h ! src/hotspot/share/opto/c2compiler.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/library_call.hpp ! src/hotspot/share/opto/runtime.cpp ! src/hotspot/share/opto/runtime.hpp ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/prims/jvmtiExport.cpp ! src/hotspot/share/prims/jvmtiThreadState.cpp ! src/hotspot/share/prims/jvmtiThreadState.hpp ! src/hotspot/share/runtime/javaThread.hpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/hotspot/share/runtime/sharedRuntime.hpp ! src/java.base/share/classes/java/lang/VirtualThread.java ! src/java.base/share/native/libjava/VirtualThread.c Changeset: f593a6b5 Author: Naoto Sato Date: 2023-03-20 20:20:19 +0000 URL: https://git.openjdk.org/panama-foreign/commit/f593a6b52ee7161f7d63bfaf04062551c1281e61 8303018: Unicode Emoji Properties Reviewed-by: prr, erikj, rriggs + make/jdk/src/classes/build/tools/generatecharacter/EmojiData.java ! make/jdk/src/classes/build/tools/generatecharacter/GenerateCharacter.java - make/jdk/src/classes/build/tools/generateemojidata/GenerateEmojiData.java ! make/modules/java.base/Gensrc.gmk ! make/modules/java.base/gensrc/GensrcCharacterData.gmk - make/modules/java.base/gensrc/GensrcEmojiData.gmk ! src/java.base/share/classes/java/lang/Character.java ! src/java.base/share/classes/java/lang/CharacterData.java ! src/java.base/share/classes/java/lang/CharacterData00.java.template ! src/java.base/share/classes/java/lang/CharacterData01.java.template ! src/java.base/share/classes/java/lang/CharacterData02.java.template ! src/java.base/share/classes/java/lang/CharacterData03.java.template ! src/java.base/share/classes/java/lang/CharacterData0E.java.template ! src/java.base/share/classes/java/lang/CharacterDataLatin1.java.template ! src/java.base/share/classes/java/lang/CharacterDataPrivateUse.java ! src/java.base/share/classes/java/lang/CharacterDataUndefined.java - src/java.base/share/classes/jdk/internal/util/regex/EmojiData.java.template ! src/java.base/share/classes/jdk/internal/util/regex/Grapheme.java + test/jdk/java/lang/Character/TestEmojiProperties.java Changeset: bbca7c3e Author: Mandy Chung Date: 2023-03-20 23:24:49 +0000 URL: https://git.openjdk.org/panama-foreign/commit/bbca7c3ede338a04d140abfe3e19cb27c628a0f5 8304542: Convert use of internal VM::classFileVersion to ClassFileFormatVersion Reviewed-by: alanb ! src/java.base/share/classes/java/lang/invoke/MethodHandleStatics.java ! src/java.base/share/classes/java/lang/reflect/ProxyGenerator.java ! src/java.base/share/classes/jdk/internal/foreign/abi/BindingSpecializer.java ! src/java.base/share/classes/jdk/internal/misc/VM.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/SystemModulesPlugin.java Changeset: a72ba383 Author: Varada M Committer: David Holmes Date: 2023-03-21 05:45:58 +0000 URL: https://git.openjdk.org/panama-foreign/commit/a72ba3834781ef174e206aaf1d34dbb2ed305df1 8303948: HsErrFileUtils.checkHsErrFileContent() fails to check the last pattern. Reviewed-by: dholmes, stuefe ! test/hotspot/jtreg/runtime/ErrorHandling/HsErrFileUtils.java ! test/hotspot/jtreg/runtime/ErrorHandling/TestSigInfoInHsErrFile.java Changeset: a6b72f56 Author: Jasmine K <25208576+SuperCoder7979 at users.noreply.github.com> Committer: Tobias Hartmann Date: 2023-03-21 06:03:05 +0000 URL: https://git.openjdk.org/panama-foreign/commit/a6b72f56f56b4f33ac163e90b115d79b2b844999 8304230: LShift ideal transform assertion Reviewed-by: thartmann ! src/hotspot/share/opto/mulnode.cpp Changeset: c4df9b5f Author: Jan Lahoda Date: 2023-03-21 07:33:56 +0000 URL: https://git.openjdk.org/panama-foreign/commit/c4df9b5f176672617f29bd253f01df2ea81dac36 8304537: Ant-based langtools build fails after JDK-8015831 Add lint check for calling overridable methods from a constructor Reviewed-by: vromero, erikj ! make/modules/jdk.compiler/Java.gmk ! make/modules/jdk.jdeps/Java.gmk ! make/modules/jdk.jshell/Java.gmk ! src/jdk.jdeps/share/classes/com/sun/tools/classfile/Dependencies.java ! src/jdk.jshell/share/classes/jdk/jshell/execution/JdiInitiator.java ! src/jdk.jshell/share/classes/jdk/jshell/spi/ExecutionControl.java Changeset: 4bf1fbb0 Author: Raffaello Giulietti Date: 2023-03-21 08:43:23 +0000 URL: https://git.openjdk.org/panama-foreign/commit/4bf1fbb06d63b4c52bfd3922beb2adf069e25b09 8303648: Add String.indexOf(String str, int beginIndex, int endIndex) Reviewed-by: rriggs ! src/java.base/share/classes/java/lang/String.java ! test/jdk/java/lang/String/IndexOfBeginEnd.java Changeset: c65bb2c5 Author: Matthias Baesken Date: 2023-03-21 09:13:01 +0000 URL: https://git.openjdk.org/panama-foreign/commit/c65bb2c58e0328cec83ebfa5408b5176f8639d14 8304334: java/awt/color/ICC_ColorSpace/ToFromCIEXYZRoundTrip.java times out on slow platforms Reviewed-by: lucy, serb, prr ! test/jdk/java/awt/color/ICC_ColorSpace/ToFromCIEXYZRoundTrip.java Changeset: 1c04686c Author: Xiaolin Zheng Committer: Andrew Dinn Date: 2023-03-21 11:27:54 +0000 URL: https://git.openjdk.org/panama-foreign/commit/1c04686cd68a78f926f09707ac723aa762945527 8304387: Fix positions of shared static stubs / trampolines Reviewed-by: adinn, fyang ! src/hotspot/cpu/aarch64/codeBuffer_aarch64.cpp ! src/hotspot/cpu/arm/codeBuffer_arm.hpp ! src/hotspot/cpu/ppc/codeBuffer_ppc.hpp ! src/hotspot/cpu/riscv/codeBuffer_riscv.cpp ! src/hotspot/cpu/s390/codeBuffer_s390.hpp ! src/hotspot/cpu/zero/codeBuffer_zero.hpp ! src/hotspot/share/asm/codeBuffer.cpp ! src/hotspot/share/asm/codeBuffer.hpp ! src/hotspot/share/asm/codeBuffer.inline.hpp ! src/hotspot/share/c1/c1_Compilation.cpp ! src/hotspot/share/ci/ciEnv.cpp ! src/hotspot/share/opto/output.cpp Changeset: bbde2158 Author: Coleen Phillimore Date: 2023-03-21 13:18:44 +0000 URL: https://git.openjdk.org/panama-foreign/commit/bbde2158d1d11be909292d0c8625211e6cf5359e 8299494: Test vmTestbase/nsk/stress/except/except011.java failed: ExceptionInInitializerError: target class not found Reviewed-by: dholmes, dcubed - test/hotspot/jtreg/vmTestbase/nsk/stress/except/except011.java - test/hotspot/jtreg/vmTestbase/nsk/stress/except/except011oops.java Changeset: d788a1bb Author: Chen Liang Committer: Jorn Vernee Date: 2023-03-21 14:55:17 +0000 URL: https://git.openjdk.org/panama-foreign/commit/d788a1bb808da73ef17aee0b773b7e3ea682426f 8304180: Constant Descriptors for MethodHandles::classData and classDataAt Reviewed-by: jvernee, mchung ! src/java.base/share/classes/java/lang/constant/ConstantDescs.java Changeset: d6f20e2f Author: Christian Hagedorn Date: 2023-03-21 16:05:42 +0000 URL: https://git.openjdk.org/panama-foreign/commit/d6f20e2fbff2551fcccd55cca73e9a3ca2ea0331 8304680: Problemlist compiler/sharedstubs/SharedStubToInterpTest.java Reviewed-by: thartmann ! test/hotspot/jtreg/ProblemList.txt Changeset: 019fcd81 Author: Chen Liang Committer: Mandy Chung Date: 2023-03-21 16:16:08 +0000 URL: https://git.openjdk.org/panama-foreign/commit/019fcd819c4f24e6c9de9d4f9fc64b8db6bc6cfa 8304139: Add and method constants to ConstantDescs Reviewed-by: mchung ! src/java.base/share/classes/java/lang/Class.java ! src/java.base/share/classes/java/lang/StackTraceElement.java ! src/java.base/share/classes/java/lang/constant/ConstantDescs.java ! src/java.base/share/classes/java/lang/constant/ConstantUtils.java ! src/java.base/share/classes/java/lang/constant/DirectMethodHandleDesc.java ! src/java.base/share/classes/java/lang/invoke/MethodHandleInfo.java ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java Changeset: 0deb6489 Author: Chris Plummer Date: 2023-03-21 18:00:35 +0000 URL: https://git.openjdk.org/panama-foreign/commit/0deb648985b018653ccdaf193dc13b3cf21c088a 8290200: com/sun/jdi/InvokeHangTest.java fails with "Debuggee appears to be hung" Reviewed-by: amenkov, lmesnik, sspitsyn, dcubed ! test/jdk/ProblemList-svc-vthread.txt ! test/jdk/com/sun/jdi/InvokeHangTest.java Changeset: 0156909a Author: Adam Sotona Date: 2023-03-22 06:13:34 +0000 URL: https://git.openjdk.org/panama-foreign/commit/0156909ab38072869e2eb9f5049042b9199d14a0 8304502: Classfile API class hierarchy makes assumptions when class is not resolved Reviewed-by: jpai ! src/java.base/share/classes/jdk/internal/classfile/impl/ClassHierarchyImpl.java ! test/jdk/jdk/classfile/AdvancedTransformationsTest.java ! test/jdk/jdk/classfile/ClassHierarchyInfoTest.java ! test/jdk/jdk/classfile/VerifierSelfTest.java Changeset: c039d266 Author: Wang Haomin Committer: Tobias Hartmann Date: 2023-03-22 07:36:11 +0000 URL: https://git.openjdk.org/panama-foreign/commit/c039d26603e85ae37b0a53430a47f5751bf911af 8303804: Fix some errors of If-VectorTest and CMove-VectorTest Reviewed-by: qamai, thartmann ! src/hotspot/share/adlc/archDesc.cpp ! src/hotspot/share/adlc/output_c.cpp Changeset: eda00651 Author: Daniel Jeli?ski Date: 2023-03-22 08:42:39 +0000 URL: https://git.openjdk.org/panama-foreign/commit/eda006510792de75d898cd66eeb86a00ad2fd45a 8304286: java/net/SocketOption/OptionsTest.java failing after JDK-8302659 Reviewed-by: dfuchs ! test/jdk/ProblemList.txt ! test/jdk/java/net/SocketOption/OptionsTest.java ! test/jdk/java/net/SocketOption/options.policy Changeset: ca94287d Author: Albert Mingkun Yang Date: 2023-03-22 10:11:55 +0000 URL: https://git.openjdk.org/panama-foreign/commit/ca94287d2b133f220f38ab321562a14f0db04a56 8304144: G1: Remove unnecessary is_survivor check in G1ClearCardTableTask Reviewed-by: tschatzl, ysr ! src/hotspot/share/gc/g1/g1RemSet.cpp Changeset: c74507ee Author: Albert Mingkun Yang Date: 2023-03-22 10:12:38 +0000 URL: https://git.openjdk.org/panama-foreign/commit/c74507eeb3c6b744b144e241373b109548624121 8304657: G1: Rename set_state_empty to set_state_untracked Reviewed-by: tschatzl ! src/hotspot/share/gc/g1/g1RemSetTrackingPolicy.cpp ! src/hotspot/share/gc/g1/heapRegionRemSet.cpp ! src/hotspot/share/gc/g1/heapRegionRemSet.hpp ! src/hotspot/share/gc/g1/heapRegionRemSet.inline.hpp Changeset: 358c61b5 Author: Adam Sotona Date: 2023-03-22 12:12:14 +0000 URL: https://git.openjdk.org/panama-foreign/commit/358c61b58d0f1ff54caf732e361de5f7ab068d10 8294972: Convert jdk.jlink internal plugins to use the Classfile API Reviewed-by: mchung, alanb ! src/java.base/share/classes/module-info.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/AbstractPlugin.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/IncludeLocalesPlugin.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/StripJavaDebugAttributesPlugin.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/SystemModulesPlugin.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/VersionPropsPlugin.java Changeset: ddf1e34c Author: Coleen Phillimore Date: 2023-03-22 12:33:00 +0000 URL: https://git.openjdk.org/panama-foreign/commit/ddf1e34c1a0815e8677212f1a7860ca7cf9fc2c9 8304089: Convert TraceDependencies to UL Reviewed-by: vlivanov, dholmes ! src/hotspot/share/ci/ciMethod.cpp ! src/hotspot/share/code/dependencies.cpp ! src/hotspot/share/code/dependencies.hpp ! src/hotspot/share/code/dependencyContext.cpp ! src/hotspot/share/code/nmethod.cpp ! src/hotspot/share/code/nmethod.hpp ! src/hotspot/share/logging/logTag.hpp ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/frame.cpp ! src/hotspot/share/runtime/globals.hpp ! test/hotspot/jtreg/compiler/cha/AbstractRootMethod.java ! test/hotspot/jtreg/compiler/cha/DefaultRootMethod.java ! test/hotspot/jtreg/compiler/cha/StrengthReduceInterfaceCall.java ! test/hotspot/jtreg/compiler/jsr292/CallSiteDepContextTest.java Changeset: 4154a980 Author: Johan Sj?len Date: 2023-03-22 14:18:40 +0000 URL: https://git.openjdk.org/panama-foreign/commit/4154a980ca28c1ae56db26e3dce64c07c225de12 8301498: Replace NULL with nullptr in cpu/x86 Reviewed-by: dholmes, kvn ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/cpu/x86/bytes_x86.hpp ! src/hotspot/cpu/x86/c1_CodeStubs_x86.cpp ! src/hotspot/cpu/x86/c1_LIRAssembler_x86.cpp ! src/hotspot/cpu/x86/c1_LIRGenerator_x86.cpp ! src/hotspot/cpu/x86/c1_LinearScan_x86.cpp ! src/hotspot/cpu/x86/c1_MacroAssembler_x86.cpp ! src/hotspot/cpu/x86/c1_MacroAssembler_x86.hpp ! src/hotspot/cpu/x86/c1_Runtime1_x86.cpp ! src/hotspot/cpu/x86/c2_CodeStubs_x86.cpp ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp ! src/hotspot/cpu/x86/c2_intelJccErratum_x86.cpp ! src/hotspot/cpu/x86/compiledIC_x86.cpp ! src/hotspot/cpu/x86/continuationFreezeThaw_x86.inline.hpp ! src/hotspot/cpu/x86/disassembler_x86.hpp ! src/hotspot/cpu/x86/downcallLinker_x86_64.cpp ! src/hotspot/cpu/x86/frame_x86.cpp ! src/hotspot/cpu/x86/frame_x86.inline.hpp ! src/hotspot/cpu/x86/gc/g1/g1BarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shared/barrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/globals_x86.hpp ! src/hotspot/cpu/x86/icBuffer_x86.cpp ! src/hotspot/cpu/x86/interp_masm_x86.cpp ! src/hotspot/cpu/x86/interp_masm_x86.hpp ! src/hotspot/cpu/x86/javaFrameAnchor_x86.hpp ! src/hotspot/cpu/x86/jniFastGetField_x86_32.cpp ! src/hotspot/cpu/x86/jniFastGetField_x86_64.cpp ! src/hotspot/cpu/x86/jvmciCodeInstaller_x86.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/nativeInst_x86.cpp ! src/hotspot/cpu/x86/nativeInst_x86.hpp ! src/hotspot/cpu/x86/registerMap_x86.cpp ! src/hotspot/cpu/x86/relocInfo_x86.cpp ! src/hotspot/cpu/x86/runtime_x86_32.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_32.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.hpp ! src/hotspot/cpu/x86/stubGenerator_x86_64_arraycopy.cpp ! src/hotspot/cpu/x86/stubRoutines_x86.cpp ! src/hotspot/cpu/x86/stubRoutines_x86_32.cpp ! src/hotspot/cpu/x86/stubRoutines_x86_64.cpp ! src/hotspot/cpu/x86/templateInterpreterGenerator_x86.cpp ! src/hotspot/cpu/x86/templateInterpreterGenerator_x86_32.cpp ! src/hotspot/cpu/x86/templateInterpreterGenerator_x86_64.cpp ! src/hotspot/cpu/x86/templateTable_x86.cpp ! src/hotspot/cpu/x86/vm_version_x86.cpp ! src/hotspot/cpu/x86/vtableStubs_x86_32.cpp ! src/hotspot/cpu/x86/vtableStubs_x86_64.cpp Changeset: 75168eac Author: Ludvig Janiuk Committer: Erik Joelsson Date: 2023-03-22 14:58:34 +0000 URL: https://git.openjdk.org/panama-foreign/commit/75168eaca3f665785519bb489073962a4972fdc0 8304134: jib bootstrapper fails to quote filename when checking download filetype Reviewed-by: erikj ! bin/jib.sh Changeset: 760c0128 Author: Justin King Date: 2023-03-22 15:28:44 +0000 URL: https://git.openjdk.org/panama-foreign/commit/760c0128a4ef787c8c8addb26894c072ba8b2eb1 8304683: Memory leak in WB_IsMethodCompatible Reviewed-by: thartmann ! src/hotspot/share/prims/whitebox.cpp Changeset: 37774556 Author: Jan Kratochvil Committer: Sandhya Viswanathan Date: 2023-03-22 15:55:57 +0000 URL: https://git.openjdk.org/panama-foreign/commit/37774556da8a5aacf55884133ae936ed5a28eab2 8302191: Performance degradation for float/double modulo on Linux Reviewed-by: dholmes, sviswanathan ! src/hotspot/cpu/x86/sharedRuntime_x86.cpp ! src/hotspot/share/runtime/sharedRuntime.cpp + test/micro/org/openjdk/bench/vm/floatingpoint/DremFrem.java Changeset: a2d8f634 Author: Chen Liang Committer: Mandy Chung Date: 2023-03-22 16:19:34 +0000 URL: https://git.openjdk.org/panama-foreign/commit/a2d8f634de69d11d7beec5e853f710719497bfe3 8288730: Add type parameter to Lookup::accessClass and Lookup::ensureInitialized Reviewed-by: mchung ! src/java.base/share/classes/java/lang/invoke/ConstantBootstraps.java ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java Changeset: e73411a2 Author: Leonid Mesnik Date: 2023-03-22 18:25:41 +0000 URL: https://git.openjdk.org/panama-foreign/commit/e73411a2354cf266ab7a5ddadfb6ea98d7eb4cd1 8304376: Rename t1/t2 classes in com/sun/jdi/CLETest.java to avoid class duplication error in IDE Reviewed-by: sspitsyn, cjplummer ! test/jdk/com/sun/jdi/CLETest.java Changeset: 91f407d6 Author: Archie L. Cobbs Committer: Vicente Romero Date: 2023-03-22 21:00:27 +0000 URL: https://git.openjdk.org/panama-foreign/commit/91f407d6fe285c44bcc25c1acdf5dc0c43be0172 8029301: Confusing error message for array creation method reference Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties ! test/langtools/tools/javac/diags/examples/CantApplySymbolFragment.java ! test/langtools/tools/javac/lambda/MethodReference60.out Changeset: c4338620 Author: Prasanta Sadhukhan Date: 2023-03-23 02:58:01 +0000 URL: https://git.openjdk.org/panama-foreign/commit/c4338620b7651f4da03ce4cfddb9e5b053fddb6a 6245410: javax.swing.text.html.CSS.Attribute: BACKGROUND_POSITION is not w3c spec compliant Reviewed-by: aivanov ! src/java.desktop/share/classes/javax/swing/text/html/CSS.java + test/jdk/javax/swing/text/html/CSS/CSSAttributeComplianceTest.java Changeset: af4d5600 Author: Emanuel Peter Date: 2023-03-23 07:44:18 +0000 URL: https://git.openjdk.org/panama-foreign/commit/af4d5600e37ec6d331e62c5d37491ee97cad5311 8303951: Add asserts before record_method_not_compilable where possible Reviewed-by: kvn, thartmann ! src/hotspot/share/compiler/compileBroker.cpp ! src/hotspot/share/opto/buildOopMap.cpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/domgraph.cpp ! src/hotspot/share/opto/gcm.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/matcher.cpp ! src/hotspot/share/opto/output.cpp ! src/hotspot/share/opto/parse1.cpp ! src/hotspot/share/opto/reg_split.cpp Changeset: e2cfcfbf Author: Prasanta Sadhukhan Date: 2023-03-23 07:50:57 +0000 URL: https://git.openjdk.org/panama-foreign/commit/e2cfcfbfa90017b1b4ecbf6fb2f0f782c88456a3 6817009: Action.SELECTED_KEY not toggled when using key binding Reviewed-by: tr, jdv ! src/java.desktop/share/classes/javax/swing/SwingUtilities.java + test/jdk/javax/swing/JToggleButton/TestSelectedKey.java Changeset: 63d4afbe Author: Jan Lahoda Date: 2023-03-23 08:35:25 +0000 URL: https://git.openjdk.org/panama-foreign/commit/63d4afbeb17df4eff0f65041926373ee62a8a33a 8304671: javac regression: Compilation with --release 8 fails on underscore in enum identifiers Reviewed-by: vromero, darcy ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! test/langtools/tools/javac/parser/JavacParserTest.java Changeset: bf917ba6 Author: Coleen Phillimore Date: 2023-03-23 13:47:06 +0000 URL: https://git.openjdk.org/panama-foreign/commit/bf917ba6af9a69859f469a1e8056fbd32396cae4 8304687: Move add_to_hierarchy Reviewed-by: dholmes, fparain ! src/hotspot/share/cds/lambdaFormInvokers.cpp ! src/hotspot/share/ci/ciEnv.cpp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/classfile/vmClasses.cpp ! src/hotspot/share/jvmci/jvmciRuntime.cpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceKlass.hpp Changeset: 147f3473 Author: Daniel Jeli?ski Date: 2023-03-23 15:45:14 +0000 URL: https://git.openjdk.org/panama-foreign/commit/147f3473d4cb6e0bb9edda87d571ba5088fda4a2 8219083: java/net/MulticastSocket/SetGetNetworkInterfaceTest.java failed in same binary run on windows x64 Reviewed-by: dfuchs ! test/jdk/ProblemList.txt Changeset: c00d0885 Author: Archie L. Cobbs Committer: Vicente Romero Date: 2023-03-23 15:59:51 +0000 URL: https://git.openjdk.org/panama-foreign/commit/c00d0885ae3c99c0ebacec0bd7de7382ee954dc1 8043179: Lambda expression can mutate final field Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Flow.java + test/langtools/tools/javac/lambda/8043179/LambdaMutateFinalField.java + test/langtools/tools/javac/lambda/8043179/LambdaMutateFinalField.out + test/langtools/tools/javac/lambda/8043179/LambdaMutateFinalVar.java + test/langtools/tools/javac/lambda/8043179/LambdaMutateFinalVar.out Changeset: 4b8f7db6 Author: Archie L. Cobbs Committer: Vicente Romero Date: 2023-03-23 16:04:35 +0000 URL: https://git.openjdk.org/panama-foreign/commit/4b8f7db6be80e425bebfaf6f68d49da74f29386a 8027682: javac wrongly accepts semicolons in package and import decls Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties ! test/jdk/com/sun/jndi/dns/Parser.java ! test/jdk/java/lang/constant/methodTypeDesc/ResolveConstantDesc.java ! test/jdk/java/lang/management/MemoryMXBean/CollectionUsageThreshold.java ! test/jdk/java/nio/channels/AsynchronousFileChannel/Basic.java ! test/jdk/jdk/jfr/tool/ExecuteHelper.java ! test/langtools/tools/javac/annotations/typeAnnotations/failures/AnnotatedImport.out ! test/langtools/tools/javac/annotations/typeAnnotations/failures/AnnotatedPackage1.out ! test/langtools/tools/javac/annotations/typeAnnotations/failures/AnnotatedPackage2.out + test/langtools/tools/javac/diags/examples/ExtraImportSemicolonError.java + test/langtools/tools/javac/diags/examples/ExtraImportSemicolonWarning.java + test/langtools/tools/javac/parser/ExtraImportSemicolon.java + test/langtools/tools/javac/parser/ExtraImportSemicolon.out1 + test/langtools/tools/javac/parser/ExtraImportSemicolon.out2 - test/langtools/tools/javac/tree/T6963934.java ! test/langtools/tools/jdeps/modules/src/unsupported/q/Counter.java ! test/langtools/tools/lib/types/TypeHarness.java Changeset: 6fa25cc1 Author: Archie L. Cobbs Committer: Vicente Romero Date: 2023-03-23 16:06:47 +0000 URL: https://git.openjdk.org/panama-foreign/commit/6fa25cc134e8a6787490e080fb98c2d61cf0b049 8184444: The compiler error "variable not initialized in the default constructor" is not apt in case of static final variables Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Flow.java + test/langtools/tools/javac/DefiniteAssignment/StaticFinalInit.java + test/langtools/tools/javac/DefiniteAssignment/StaticFinalInit.out ! test/langtools/tools/javac/flow/T8030218/CompileTimeErrorForNonAssignedStaticFieldTest.out ! test/langtools/tools/javac/positions/TreeEndPosTest.java Changeset: 46cca1a4 Author: Brian Burkhalter Date: 2023-03-23 18:00:07 +0000 URL: https://git.openjdk.org/panama-foreign/commit/46cca1a4c52b47587e5e7e460744213f304b7ed3 4842457: (bf spec) Clarify meaning of "(optional operation)" Reviewed-by: alanb ! src/java.base/share/classes/java/nio/X-Buffer.java.template Changeset: 51035a75 Author: Brian Burkhalter Date: 2023-03-23 18:01:12 +0000 URL: https://git.openjdk.org/panama-foreign/commit/51035a75e493f64b26f78e7fc87f6f6e536e4f56 8294137: Review running times of java.math tests Reviewed-by: darcy ! test/jdk/java/math/BigInteger/BigIntegerTest.java ! test/jdk/java/math/BigInteger/LargeValueExceptions.java ! test/jdk/java/math/BigInteger/largeMemory/SymmetricRangeTests.java Changeset: 7f9e6916 Author: Thomas Schatzl Date: 2023-03-23 19:13:28 +0000 URL: https://git.openjdk.org/panama-foreign/commit/7f9e691630753af44648d946b5f5ba3dbad68b57 8304712: Only pass total number of regions into G1Policy::calc_min_old_cset_length Reviewed-by: ayang, iwalulya ! src/hotspot/share/gc/g1/g1CollectionSetChooser.cpp ! src/hotspot/share/gc/g1/g1Policy.cpp ! src/hotspot/share/gc/g1/g1Policy.hpp Changeset: f37674a8 Author: Thomas Schatzl Date: 2023-03-23 19:14:24 +0000 URL: https://git.openjdk.org/panama-foreign/commit/f37674a8f7efb4304683dacc855f940be2768a09 8304711: Combine G1 root region abort and wait into a single method Reviewed-by: ayang, iwalulya ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/g1/g1ConcurrentMark.hpp ! src/hotspot/share/gc/g1/g1ConcurrentMarkThread.cpp Changeset: 3859faf1 Author: Vladimir Kozlov Date: 2023-03-23 19:15:34 +0000 URL: https://git.openjdk.org/panama-foreign/commit/3859faf183c241f124879d6a7264b43a6b42b418 8231349: Move intrinsic stubs generation to compiler runtime initialization code Reviewed-by: redestad, vlivanov ! src/hotspot/cpu/aarch64/globals_aarch64.hpp ! src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp ! src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp ! src/hotspot/cpu/aarch64/stubRoutines_aarch64.hpp ! src/hotspot/cpu/arm/globals_arm.hpp ! src/hotspot/cpu/arm/stubGenerator_arm.cpp ! src/hotspot/cpu/arm/stubRoutines_arm.hpp ! src/hotspot/cpu/ppc/globals_ppc.hpp ! src/hotspot/cpu/ppc/stubGenerator_ppc.cpp ! src/hotspot/cpu/ppc/stubRoutines_ppc.hpp ! src/hotspot/cpu/riscv/globals_riscv.hpp ! src/hotspot/cpu/riscv/stubGenerator_riscv.cpp ! src/hotspot/cpu/riscv/stubRoutines_riscv.hpp ! src/hotspot/cpu/s390/globals_s390.hpp ! src/hotspot/cpu/s390/stubGenerator_s390.cpp ! src/hotspot/cpu/s390/stubRoutines_s390.hpp ! src/hotspot/cpu/x86/globals_x86.hpp ! src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_32.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.hpp ! src/hotspot/cpu/x86/stubRoutines_x86.hpp ! src/hotspot/cpu/zero/globals_zero.hpp ! src/hotspot/cpu/zero/stubGenerator_zero.cpp ! src/hotspot/cpu/zero/stubRoutines_zero.hpp ! src/hotspot/os_cpu/windows_x86/os_windows_x86.cpp ! src/hotspot/share/jvmci/jvmciCompiler.cpp ! src/hotspot/share/logging/logTag.hpp ! src/hotspot/share/opto/c2compiler.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/init.cpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/hotspot/share/runtime/stubCodeGenerator.cpp ! src/hotspot/share/runtime/stubCodeGenerator.hpp ! src/hotspot/share/runtime/stubRoutines.cpp ! src/hotspot/share/runtime/stubRoutines.hpp Changeset: af0504e3 Author: Ian Graves Date: 2023-03-23 19:17:07 +0000 URL: https://git.openjdk.org/panama-foreign/commit/af0504e3f3de4ba40fa6187e48b584854b8e41f3 8304691: Remove jlink --post-process-path option Reviewed-by: mchung ! src/jdk.jlink/share/classes/jdk/tools/jlink/builder/DefaultImageBuilder.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/Jlink.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/JlinkTask.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/TaskHelper.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/resources/jlink.properties ! src/jdk.jlink/share/classes/jdk/tools/jlink/resources/plugins.properties - test/jdk/tools/jlink/JLinkPostProcessingTest.java ! test/jdk/tools/lib/tests/Helper.java ! test/jdk/tools/lib/tests/JImageGenerator.java Changeset: 568dd57d Author: Thomas Schatzl Date: 2023-03-23 19:38:24 +0000 URL: https://git.openjdk.org/panama-foreign/commit/568dd57d0da0f5273b51b57446d97f14833877bf 8304716: Clean up G1Policy::calc_max_old_cset_length() Reviewed-by: ayang, iwalulya ! src/hotspot/share/gc/g1/g1Policy.cpp Changeset: 6f67abd3 Author: Viktor Klang Committer: Alan Bateman Date: 2023-03-23 20:43:45 +0000 URL: https://git.openjdk.org/panama-foreign/commit/6f67abd352ce9605dd93188995d42a47ee07b25e 8304557: java/util/concurrent/CompletableFuture/CompletableFutureOrTimeoutExceptionallyTest.java times out Reviewed-by: jpai ! test/jdk/java/util/concurrent/CompletableFuture/CompletableFutureOrTimeoutExceptionallyTest.java Changeset: dd23ee9e Author: Justin Lu Committer: Naoto Sato Date: 2023-03-23 21:15:40 +0000 URL: https://git.openjdk.org/panama-foreign/commit/dd23ee9e8732223475a2e8c635322503dffbb6bf 8303917: Update ISO 639 language codes table Reviewed-by: naoto ! src/java.base/share/classes/java/util/LocaleISOData.java ! test/jdk/java/util/Locale/Bug4175998Test.java Changeset: ac6af6a6 Author: Archie L. Cobbs Committer: Vicente Romero Date: 2023-03-23 21:17:47 +0000 URL: https://git.openjdk.org/panama-foreign/commit/ac6af6a64099c182e982a0a718bc1b780cef616e 7176515: ExceptionInInitializerError for an enum with multiple switch statements 8299760: ExceptionInInitializerError for an enum with multiple switch statements, follow-up Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Lower.java ! test/hotspot/jtreg/runtime/cds/appcds/jvmti/ClassFileLoadHookTest.java ! test/langtools/tools/javac/T8011181/EmptyUTF8ForInnerClassNameTest.java + test/langtools/tools/javac/enum/EnumLookupTableExceptionInInitializer.java Changeset: 941a7ac7 Author: Fei Gao Date: 2023-03-24 07:47:44 +0000 URL: https://git.openjdk.org/panama-foreign/commit/941a7ac7dab243c6033a78880fd31faa803e62ab 8304301: Remove the global option SuperWordMaxVectorSize Reviewed-by: sviswanathan, kvn ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/arm/arm.ad ! src/hotspot/cpu/ppc/ppc.ad ! src/hotspot/cpu/riscv/riscv.ad ! src/hotspot/cpu/s390/s390.ad ! src/hotspot/cpu/x86/vm_version_x86.cpp ! src/hotspot/cpu/x86/vm_version_x86.hpp ! src/hotspot/cpu/x86/x86.ad ! src/hotspot/share/opto/c2_globals.hpp ! src/hotspot/share/opto/matcher.hpp ! src/hotspot/share/opto/superword.cpp ! src/hotspot/share/opto/superword.hpp ! src/hotspot/share/opto/vectornode.cpp ! src/hotspot/share/opto/vectornode.hpp Changeset: 2f78d6b5 Author: duke Date: 2023-03-24 11:00:23 +0000 URL: https://git.openjdk.org/panama-foreign/commit/2f78d6b50e1b8e60730a2b9f2d8bdd11555c5296 Automatic merge of jdk:master into master From zjx001202 at gmail.com Fri Mar 24 19:07:09 2023 From: zjx001202 at gmail.com (Glavo) Date: Sat, 25 Mar 2023 03:07:09 +0800 Subject: Comparing the performance of Panama with JNI, JNA, and JNR - based on Java 21 Message-ID: I have run a series of benchmarks of Panama, JNI, JNA, and JNR based on the latest JDK. Here is its GitHub repository: https://github.com/Glavo/java-ffi-benchmark Here I tested the performance of no-ops, accessing structs, string conversions, and callbacks, respectively. I also tried the new isTrivial linker option. I summarized the results in README and charted them. In this email, in addition to sharing the above results, I would also like to talk about several issues I have encountered 1. MemorySegment.getUtf8String is unexpectedly slow Panama is much faster than JNA in most cases, but the operation of converting C strings to Java strings is an exception. I checked the source code of JNA and Panama, and the suspicious difference is that JNA uses strlen from the C standard library, while Panama uses Java loops. Perhaps this method can be optimized. 2. StructLayout must manually specify all padding Can we provide a convenient method for automatically padding between fields based on alignment? The current structLayout method is annoying for situations where you need to manually simulate the layout of a C struct. Glavo -------------- next part -------------- An HTML attachment was scrubbed... URL: From maurizio.cimadamore at oracle.com Fri Mar 24 21:22:48 2023 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Fri, 24 Mar 2023 21:22:48 +0000 Subject: Comparing the performance of Panama with JNI, JNA, and JNR - based on Java 21 In-Reply-To: References: Message-ID: <318e5773-060f-410a-8e97-29285d5527e4@oracle.com> Hi Glavo, that's a very interesting comparison, thank you! We will look into the C string -> Java string issue. There are probably "tricks" [1] that native strlen does which we could replicate in our Java code (or we could just do a trivial call to strlen :-) ). Aso for struct layouts, I think it is a reasonable request - e.g. allow creation of struct layouts which are "padded" correctly. But I think we'd still want to retain the "raw" variant, which might be useful for tools such as jextract. Cheers Maurizio On 24/03/2023 19:07, Glavo wrote: > I have run a series of benchmarks of Panama, JNI, JNA, and JNR based > on the latest JDK.?Here is its GitHub repository: > > https://github.com/Glavo/java-ffi-benchmark > > Here I tested the performance of no-ops, accessing structs, string > conversions, and callbacks, respectively. I also tried the new > isTrivial linker option. > I summarized the results in README and charted them. > > In this email, in addition to sharing the above results, I would also > like to talk about several issues I have encountered > > 1.?MemorySegment.getUtf8String is unexpectedly slow > > Panama is much faster than JNA in most cases, but the operation of > converting C strings to Java strings is an exception. > I checked the source code of JNA and Panama, and the suspicious > difference is that JNA uses strlen from the C standard library, > while Panama uses Java loops. > Perhaps this method can be optimized. > > > 2.?StructLayout must manually specify all padding > > Can we provide a convenient method for automatically padding > between fields based on alignment? > The current structLayout method is annoying for situations where > you need to manually simulate the layout of a C struct. > > > Glavo -------------- next part -------------- An HTML attachment was scrubbed... URL: From maurizio.cimadamore at oracle.com Fri Mar 24 21:23:13 2023 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Fri, 24 Mar 2023 21:23:13 +0000 Subject: Comparing the performance of Panama with JNI, JNA, and JNR - based on Java 21 In-Reply-To: <318e5773-060f-410a-8e97-29285d5527e4@oracle.com> References: <318e5773-060f-410a-8e97-29285d5527e4@oracle.com> Message-ID: <77ba5675-8f48-97ba-827c-47fd1b04e1ca@oracle.com> Whoops - forgot the link: [1] - https://stackoverflow.com/questions/11787810/strlen-performance-implementation On 24/03/2023 21:22, Maurizio Cimadamore wrote: > > Hi Glavo, > that's a very interesting comparison, thank you! > > We will look into the C string -> Java string issue. There are > probably "tricks" [1] that native strlen does which we could replicate > in our Java code (or we could just do a trivial call to strlen :-) ). > > Aso for struct layouts, I think it is a reasonable request - e.g. > allow creation of struct layouts which are "padded" correctly. But I > think we'd still want to retain the "raw" variant, which might be > useful for tools such as jextract. > > Cheers > Maurizio > > > On 24/03/2023 19:07, Glavo wrote: >> I have run a series of benchmarks of Panama, JNI, JNA, and JNR based >> on the latest JDK.?Here is its GitHub repository: >> >> https://github.com/Glavo/java-ffi-benchmark >> >> Here I tested the performance of no-ops, accessing structs, string >> conversions, and callbacks, respectively. I also tried the new >> isTrivial linker option. >> I summarized the results in README and charted them. >> >> In this email, in addition to sharing the above results, I would also >> like to talk about several issues I have encountered >> >> 1.?MemorySegment.getUtf8String is unexpectedly slow >> >> Panama is much faster than JNA in most cases, but the operation >> of converting C strings to Java strings is an exception. >> I checked the source code of JNA and Panama, and the suspicious >> difference is that JNA uses strlen from the C standard library, >> while Panama uses Java loops. >> Perhaps this method can be optimized. >> >> >> 2.?StructLayout must manually specify all padding >> >> Can we provide a convenient method for automatically padding >> between fields based on alignment? >> The current structLayout method is annoying for situations where >> you need to manually simulate the layout of a C struct. >> >> >> Glavo -------------- next part -------------- An HTML attachment was scrubbed... URL: From eirbjo at gmail.com Sat Mar 25 18:05:02 2023 From: eirbjo at gmail.com (=?UTF-8?B?RWlyaWsgQmrDuHJzbsO4cw==?=) Date: Sat, 25 Mar 2023 19:05:02 +0100 Subject: RFD: Should jextract be extracted from the JDK? Message-ID: Hi, I'll raise this periodic (?) question for discussion, but first I want to make it clear I have no opinion myself. Here is the question in question: Should jextract be extracted from the JDK? If so, would it make sense to do it now rather than later? I'm asking this because I remember this being presented as an open question early in the introduction of project Panama. As time has passed by, maybe we have learned something which could influence this discussion? There seems to be an increasing number of questions and concerns related to jextract in OpenJDK, perhaps containing them in a separate release cycle would do good? Thanks, Eirik. -------------- next part -------------- An HTML attachment was scrubbed... URL: From notzed at gmail.com Sun Mar 26 02:24:47 2023 From: notzed at gmail.com (Michael Zucchi) Date: Sun, 26 Mar 2023 12:54:47 +1030 Subject: Comparing the performance of Panama with JNI, JNA, and JNR - based on Java 21 In-Reply-To: <318e5773-060f-410a-8e97-29285d5527e4@oracle.com> References: <318e5773-060f-410a-8e97-29285d5527e4@oracle.com> Message-ID: <3d0d7c91-03b1-caa3-e82a-ed0b375c5f5d@gmail.com> Hi guys, On 25/3/23 07:52, Maurizio Cimadamore wrote: > > Hi Glavo, > that's a very interesting comparison, thank you! > > We will look into the C string -> Java string issue. There are > probably "tricks" [1] that native strlen does which we could replicate > in our Java code (or we could just do a trivial call to strlen :-) ). > It's way more than tricks, at least glibc has hand-rolled architecture and feature (sseX/avxX/neon/etc) specific assembly versions in addition to the inline stuff available at compile time. I was definitely surprised when i noticed getUItf8 was doing it's own strlen. Doing the trivial call to strlen leverages so much development effort and technology - and which will continue to be state-of-the-art - so it seems silly not to just call it. > Aso for struct layouts, I think it is a reasonable request - e.g. > allow creation of struct layouts which are "padded" correctly. But I > think we'd still want to retain the "raw" variant, which might be > useful for tools such as jextract. > I was always puzzled why it doesn't enforce alignment based on the ValueLayout's alignment and automatically calculate the padding required.? Even if you override the system ABI via packed or align __attribute__'s members still have a natural alignment that can be expressed precisely and completely via an appropriate ValueLayout. A C compiler _always_ enforces the rules by necessity. At the moment you can trivially create an illegal structure layout, e.g. (JAVA_BYTE, JAVA_LONG).? But the alignment is still enforced anyway when you try to create a varhandle from it so being able to create such a struct layout is effectively worthless.? And aren't these invalid structures the only type of layout that the 'raw' variant allows that a 'non-raw' one wouldn't? So I fail to see a scenario where enforcing the alignment of the member based on the ValueLayout.bitAlignment() wouldn't always lead to the correct behaviour.? And doing so would necessarily automatically calculate any padding.? Also ensuring the memorylayout's are valid initially could potentially remove some (repeated) checks in other places. But adding padding is still a very useful feature and still required.? Mainly to skip members - some members might not be relevant to java, or private fields (either by comment or void *), or if you're only interested in a few of many members.? Although it would be nice if one had a 'withOffset()' call - the gcc plugin i use to determine structure offsets provide the bit offset directly so one needs to calculate the padding required by *Layout from the offsets - which it then just has to recalculate into an offset again anyway.? Presumably jextract has to do the same. I would be nice if the layout api didn't require naming every field to be useful, it's just so much metadata which is often never needed and it can add up.? But if you don't name your layout's you can't access them from java.? One day I intend to compare 'raw' access (e..g segment.get(xx, offset) verses using any of the GroupLayout stuff in terms of class sizes and performance for some large api (vulkan is the obvious one), but I've been afk or playing with other stuff lately and somewhat lost track of where i was on that project. ?Z From maurizio.cimadamore at oracle.com Sun Mar 26 12:22:28 2023 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Sun, 26 Mar 2023 13:22:28 +0100 Subject: Comparing the performance of Panama with JNI, JNA, and JNR - based on Java 21 In-Reply-To: <3d0d7c91-03b1-caa3-e82a-ed0b375c5f5d@gmail.com> References: <318e5773-060f-410a-8e97-29285d5527e4@oracle.com> <3d0d7c91-03b1-caa3-e82a-ed0b375c5f5d@gmail.com> Message-ID: On 26/03/2023 03:24, Michael Zucchi wrote: > > Hi guys, > > On 25/3/23 07:52, Maurizio Cimadamore wrote: >> >> Hi Glavo, >> that's a very interesting comparison, thank you! >> >> We will look into the C string -> Java string issue. There are >> probably "tricks" [1] that native strlen does which we could >> replicate in our Java code (or we could just do a trivial call to >> strlen :-) ). >> > > It's way more than tricks, at least glibc has hand-rolled architecture > and feature (sseX/avxX/neon/etc) specific assembly versions in > addition to the inline stuff available at compile time. I was > definitely surprised when i noticed getUItf8 was doing it's own strlen. > > Doing the trivial call to strlen leverages so much development effort > and technology - and which will continue to be state-of-the-art - so > it seems silly not to just call it. If you have a heap segment, calling native strlen would not work. > >> Aso for struct layouts, I think it is a reasonable request - e.g. >> allow creation of struct layouts which are "padded" correctly. But I >> think we'd still want to retain the "raw" variant, which might be >> useful for tools such as jextract. >> > > I was always puzzled why it doesn't enforce alignment based on the > ValueLayout's alignment and automatically calculate the padding > required.? Even if you override the system ABI via packed or align > __attribute__'s members still have a natural alignment that can be > expressed precisely and completely via an appropriate ValueLayout. A C > compiler _always_ enforces the rules by necessity. > > At the moment you can trivially create an illegal structure layout, > e.g. (JAVA_BYTE, JAVA_LONG).? But the alignment is still enforced > anyway when you try to create a varhandle from it so being able to > create such a struct layout is effectively worthless.? And aren't > these invalid structures the only type of layout that the 'raw' > variant allows that a 'non-raw' one wouldn't? > > So I fail to see a scenario where enforcing the alignment of the > member based on the ValueLayout.bitAlignment() wouldn't always lead to > the correct behaviour.? And doing so would necessarily automatically > calculate any padding.? Also ensuring the memorylayout's are valid > initially could potentially remove some (repeated) checks in other > places. I think allowing easier creation of struct layouts (as I stated in the other email) is a nice to have. The main question is to whether the API should allow for creation of layouts that are "bad" or not. For most use cases, I agree that the preferred answer would be "no" - I wonder if in most advanced cases where a client wants to transform an existing struct layout into a new one, not having the ability to say where padding should go will backfire. > > But adding padding is still a very useful feature and still required.? > Mainly to skip members - some members might not be relevant to java, > or private fields (either by comment or void *), or if you're only > interested in a few of many members.? Although it would be nice if one > had a 'withOffset()' call - the gcc plugin i use to determine > structure offsets provide the bit offset directly so one needs to > calculate the padding required by *Layout from the offsets - which it > then just has to recalculate into an offset again anyway.? Presumably > jextract has to do the same. > > I would be nice if the layout api didn't require naming every field to > be useful, it's just so much metadata which is often never needed and > it can add up.? But if you don't name your layout's you can't access > them from java.? One day I intend to compare 'raw' access (e..g > segment.get(xx, offset) verses using any of the GroupLayout stuff in > terms of class sizes and performance for some large api (vulkan is the > obvious one), but I've been afk or playing with other stuff lately and > somewhat lost track of where i was on that project. Naming is not required - we have added a new PathElement.groupElement(long index) to get the nested field layout at position "index" inside a struct. Maurizio > > ?Z > From maurizio.cimadamore at oracle.com Sun Mar 26 12:41:14 2023 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Sun, 26 Mar 2023 13:41:14 +0100 Subject: RFD: Should jextract be extracted from the JDK? In-Reply-To: References: Message-ID: <6f5b93b0-3e7e-c983-dd99-fe7bc9a6cf94@oracle.com> Hi, not sure I understand your question correctly. But if you are referring to the fact that jextract should *not* be part of the JDK, please note that the FFM API does _not_ include jextract. The jextract tool is instead made available in a standalone repository: https://github.com/openjdk/jextract For which binary snapshots are also provided here: https://jdk.java.net/jextract/ (this change happened roughly an year ago [1]). Cheers Maurizio [1] - https://mail.openjdk.org/pipermail/panama-dev/2022-March/016632.html On 25/03/2023 18:05, Eirik Bj?rsn?s wrote: > Hi, > > I'll raise this periodic (?) question for discussion, but first I want > to make it clear I have no opinion myself. > > Here is the question in question: > > Should?jextract be extracted from the JDK? If?so, would it make sense > to do it now rather than later? > > I'm asking this because?I remember this being presented as an open > question early in the introduction of project Panama. As time has > passed by, maybe we have learned something which could influence this > discussion? > > There seems to be an increasing number of questions and concerns > related to jextract in OpenJDK, perhaps containing them in a separate > release cycle would do good? > > Thanks, > Eirik. From maurizio.cimadamore at oracle.com Sun Mar 26 12:46:40 2023 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Sun, 26 Mar 2023 13:46:40 +0100 Subject: Comparing the performance of Panama with JNI, JNA, and JNR - based on Java 21 In-Reply-To: References: <318e5773-060f-410a-8e97-29285d5527e4@oracle.com> <3d0d7c91-03b1-caa3-e82a-ed0b375c5f5d@gmail.com> Message-ID: On 26/03/2023 13:22, Maurizio Cimadamore wrote: > If you have a heap segment, calling native strlen would not work. Forgot: another problem is that just offloading to external "strlen" will not respect the memory segment boundaries (e.g. the underlying strlen will keep going even past the spatial boundaries of the memory segment). Stepping back, I think this is "just" matter of writing a more efficient implementation that the one we have - and perhaps have some C2 intrinsics to exploit some vectorization (or, in the future, just use the Vector API to do the same). Maurizio From eirbjo at gmail.com Sun Mar 26 12:48:37 2023 From: eirbjo at gmail.com (=?UTF-8?B?RWlyaWsgQmrDuHJzbsO4cw==?=) Date: Sun, 26 Mar 2023 14:48:37 +0200 Subject: RFD: Should jextract be extracted from the JDK? In-Reply-To: <6f5b93b0-3e7e-c983-dd99-fe7bc9a6cf94@oracle.com> References: <6f5b93b0-3e7e-c983-dd99-fe7bc9a6cf94@oracle.com> Message-ID: Sorry Maurizio, It's not your understanding that is lacking, it is mine. I did not get the news. Mea culpa for not understanding the current situation properly. Thanks, Eirik On Sun, Mar 26, 2023 at 2:41?PM Maurizio Cimadamore < maurizio.cimadamore at oracle.com> wrote: > Hi, > not sure I understand your question correctly. > > But if you are referring to the fact that jextract should *not* be part > of the JDK, please note that the FFM API does _not_ include jextract. > The jextract tool is instead made available in a standalone repository: > > https://github.com/openjdk/jextract > > For which binary snapshots are also provided here: > > https://jdk.java.net/jextract/ > > (this change happened roughly an year ago [1]). > > Cheers > Maurizio > > [1] - https://mail.openjdk.org/pipermail/panama-dev/2022-March/016632.html > > > On 25/03/2023 18:05, Eirik Bj?rsn?s wrote: > > Hi, > > > > I'll raise this periodic (?) question for discussion, but first I want > > to make it clear I have no opinion myself. > > > > Here is the question in question: > > > > Should jextract be extracted from the JDK? If so, would it make sense > > to do it now rather than later? > > > > I'm asking this because I remember this being presented as an open > > question early in the introduction of project Panama. As time has > > passed by, maybe we have learned something which could influence this > > discussion? > > > > There seems to be an increasing number of questions and concerns > > related to jextract in OpenJDK, perhaps containing them in a separate > > release cycle would do good? > > > > Thanks, > > Eirik. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From sebastian.stenzel at gmail.com Sun Mar 26 13:17:47 2023 From: sebastian.stenzel at gmail.com (Sebastian Stenzel) Date: Sun, 26 Mar 2023 15:17:47 +0200 Subject: Comparing the performance of Panama with JNI, JNA, and JNR - based on Java 21 In-Reply-To: References: Message-ID: <466ADC83-5B02-45C1-9E15-6915F68D035A@gmail.com> > Am 26.03.2023 um 14:46 schrieb Maurizio Cimadamore : > > Forgot: another problem is that just offloading to external "strlen" will not respect the memory segment boundaries (e.g. the underlying strlen will keep going even past the spatial boundaries of the memory segment). How about using strnlen? At least for native segments? Improving string conversion efficiency would make a huge difference in my FUSE bindings, where virtually every call contains a file path. -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 2491 bytes Desc: not available URL: From zjx001202 at gmail.com Sun Mar 26 13:26:59 2023 From: zjx001202 at gmail.com (Glavo) Date: Sun, 26 Mar 2023 21:26:59 +0800 Subject: Comparing the performance of Panama with JNI, JNA, and JNR - based on Java 21 In-Reply-To: <466ADC83-5B02-45C1-9E15-6915F68D035A@gmail.com> References: <466ADC83-5B02-45C1-9E15-6915F68D035A@gmail.com> Message-ID: I think there is more meaning in reimplementing strlen in Panama. For example, we can try to scan both '\0' and negative bytes within a method, which can provide a fast path for ASCII strings without decoding and array copying. On Sun, Mar 26, 2023 at 9:18?PM Sebastian Stenzel < sebastian.stenzel at gmail.com> wrote: > > > Am 26.03.2023 um 14:46 schrieb Maurizio Cimadamore < > maurizio.cimadamore at oracle.com>: > > > > Forgot: another problem is that just offloading to external "strlen" > will not respect the memory segment boundaries (e.g. the underlying strlen > will keep going even past the spatial boundaries of the memory segment). > > How about using strnlen? At least for native segments? > > Improving string conversion efficiency would make a huge difference in my > FUSE bindings, where virtually every call contains a file path. -------------- next part -------------- An HTML attachment was scrubbed... URL: From maurizio.cimadamore at oracle.com Sun Mar 26 13:27:45 2023 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Sun, 26 Mar 2023 14:27:45 +0100 Subject: Comparing the performance of Panama with JNI, JNA, and JNR - based on Java 21 In-Reply-To: <466ADC83-5B02-45C1-9E15-6915F68D035A@gmail.com> References: <466ADC83-5B02-45C1-9E15-6915F68D035A@gmail.com> Message-ID: <6a4abc95-9a33-5cf0-3718-8bcf8d45469d@oracle.com> On 26/03/2023 14:17, Sebastian Stenzel wrote: >> Am 26.03.2023 um 14:46 schrieb Maurizio Cimadamore : >> >> Forgot: another problem is that just offloading to external "strlen" will not respect the memory segment boundaries (e.g. the underlying strlen will keep going even past the spatial boundaries of the memory segment). > How about using strnlen? At least for native segments? > > Improving string conversion efficiency would make a huge difference in my FUSE bindings, where virtually every call contains a file path. That could be more useful, yes (was thinking along similar lines). That said, note that if performance of string conversion is really critical, you can roll your own C to Java String conversion easily - just link to "strlen" or "strnlen" - call that on the native segment (to find string length). Then do a bulk copy (using MemorySegment::copy) to a byte[] with the found length. Then create a String instance from the new byte[]. This can be done once in a static helper method, which can then be reused across your application. (not saying that JDK shouldn't try to do better - just saying that you don't have to be bound by the performance of whatever strlen algo the JDK provides). Also note, doing some benchmark on my local machine, I noted improvements with native `strlen` only for strings bigger than a certain size (break even in my case was 20 chars). Which might or might not be the common case in your FUSE bindings. Maurizio From zjx001202 at gmail.com Sun Mar 26 17:26:48 2023 From: zjx001202 at gmail.com (Glavo) Date: Mon, 27 Mar 2023 01:26:48 +0800 Subject: Comparing the performance of Panama with JNI, JNA, and JNR - based on Java 21 In-Reply-To: <466ADC83-5B02-45C1-9E15-6915F68D035A@gmail.com> References: <466ADC83-5B02-45C1-9E15-6915F68D035A@gmail.com> Message-ID: I made an attempt: I implemented a method using the 128-bit SSE/AVX instruction (via the vector api) to find bytes less than or equal to 0. Unlike strlen, which only looks for null terminators, it also looks for negative bytes to determine whether the string contains non-ASCII characters. If a string contains only ASCII characters, it can use a fast path to directly call the constructor of the String without having to decode and copy the array again (thanks to compact strings). I ran the JMH benchmark and the results were satisfactory: - There is only a slight performance regression (< 10%) for non-ASCII strings smaller than 16 bytes; - Although SIMD is not used for ASCII strings smaller than 16 bytes, throughput has increased by 33% due to the new fast path; - For non-ASCII strings larger than 16 bytes, the throughput increased by 5%~465% due to SIMD; - For ASCII strings larger than 16 bytes, the throughput increased by 104%~2207%. For 4KiB ASCII strings, the new implementation is 22 times faster! Even small ASCII strings of only 16 bytes have double the performance. This is a big victory, and even using strlen won't achieve such a significant improvement. Here is the source code: https://github.com/Glavo/java-ffi-benchmark/blob/main/src/main/java/benchmark/experimental/GetStringUTF8Benchmark.java It's just a simple implementation for experimental purposes. For simplicity, I used 128-bit SIMD instructions. In the future, we can consider choosing AVX-2 or AVX-512 at runtime, and maybe we can get more gains. Glavo On Sun, Mar 26, 2023 at 9:18?PM Sebastian Stenzel < sebastian.stenzel at gmail.com> wrote: > > > Am 26.03.2023 um 14:46 schrieb Maurizio Cimadamore < > maurizio.cimadamore at oracle.com>: > > > > Forgot: another problem is that just offloading to external "strlen" > will not respect the memory segment boundaries (e.g. the underlying strlen > will keep going even past the spatial boundaries of the memory segment). > > How about using strnlen? At least for native segments? > > Improving string conversion efficiency would make a huge difference in my > FUSE bindings, where virtually every call contains a file path. -------------- next part -------------- An HTML attachment was scrubbed... URL: From maurizio.cimadamore at oracle.com Mon Mar 27 08:59:17 2023 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Mon, 27 Mar 2023 09:59:17 +0100 Subject: Comparing the performance of Panama with JNI, JNA, and JNR - based on Java 21 In-Reply-To: References: <466ADC83-5B02-45C1-9E15-6915F68D035A@gmail.com> Message-ID: Hi Glavo, I agree that, from an architectural perspective, doing something like this would be preferrable to using a native method. There are some complications with using the Vector API from java.base (as vector is an incubating API), but we do have a mirror internal API (VectorSupport) which perhaps can be used - at a lower level - to achieve the same thing. I'll ask around. Maurizio On 26/03/2023 18:26, Glavo wrote: > I made an attempt: > > I implemented a method using the 128-bit SSE/AVX instruction (via the > vector api) to find bytes less than or equal to 0. > Unlike strlen, which only looks for null terminators, it also looks > for negative bytes to determine whether the string contains non-ASCII > characters. > If a string contains only ASCII characters, it can use a fast path to > directly call the constructor of the String without having to decode > and copy the array again (thanks to compact strings). > > I ran the JMH benchmark and the results were satisfactory: > > * There is only a slight performance?regression (< 10%)?for > non-ASCII strings smaller than 16 bytes; > * Although SIMD is not used for ASCII strings smaller than 16 bytes, > throughput has increased by 33% due to the new fast path; > * For non-ASCII strings larger than 16 bytes, the throughput > increased by 5%~465% due to SIMD; > * For ASCII strings larger than 16 bytes, the throughput increased > by 104%~2207%. > > For 4KiB ASCII strings, the new implementation is 22 times > faster!?Even small ASCII strings of only 16 bytes have double the > performance. > This is a big victory, and even using strlen won't achieve such a > significant improvement. > > Here is the source code: > > https://github.com/Glavo/java-ffi-benchmark/blob/main/src/main/java/benchmark/experimental/GetStringUTF8Benchmark.java > > > It's just a simple implementation for experimental purposes. For > simplicity, I used 128-bit SIMD instructions. > In the future, we can consider choosing AVX-2 or AVX-512 at runtime, > and maybe we can get more gains. > > Glavo > > On Sun, Mar 26, 2023 at 9:18?PM Sebastian Stenzel > wrote: > > > > Am 26.03.2023 um 14:46 schrieb Maurizio Cimadamore > : > > > > Forgot: another problem is that just offloading to external > "strlen" will not respect the memory segment boundaries (e.g. the > underlying strlen will keep going even past the spatial boundaries > of the memory segment). > > How about using strnlen? At least for native segments? > > Improving string conversion efficiency would make a huge > difference in my FUSE bindings, where virtually every call > contains a file path. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From benrush0705 at gmail.com Mon Mar 27 07:48:37 2023 From: benrush0705 at gmail.com (=?UTF-8?B?5YiY5biM5pmo?=) Date: Mon, 27 Mar 2023 15:48:37 +0800 Subject: Question about multi threads visiting shared arena Message-ID: I have a question about using MemorySegment with Arena.openShared(). I don't know if the memory created by Arena.openShared() or any other shared scope would be safely accessed by multiple threads. Simply put, if a writer thread wrote something into the MemorySegment and then passing it to the reader thread using a BlockingQueue, I am confused if the writer operation would already be visible to the reader thread. I have tested its visibility using jcstress and it turns out every Varhandle.get() will successfully read the data changed in another thread, even without volatile or locks, so I am confused if the jvm has already created memory fence for memorysegment's access. I hope the authorities could offer a suggested way of accessing same memory segment in multiple threads in Panama FFI's documentation. -------------- next part -------------- An HTML attachment was scrubbed... URL: From maurizio.cimadamore at oracle.com Mon Mar 27 09:07:14 2023 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Mon, 27 Mar 2023 10:07:14 +0100 Subject: Question about multi threads visiting shared arena In-Reply-To: References: Message-ID: <73416639-e8e4-74d0-cab1-9e7ccd396522@oracle.com> Hi, accessing a shared memory segment is pretty much the same as accessing a byte buffer, or a Java array instance. There are no additional memory fences that are added by our implementation when using "plain" access (as in all the other APIs I have listed), so, in the general case you would probably need to use VarHandle::fullFence() or something similar (to make sure all writes are flushed when one thread is done with the segment). It is surprising to see that it worked even w/o adding synchronization/fencing, but that might just be "luck", or the particular system you are using, as is often the case with these matters. From a low-level/implementation perspective there is absolutely no happens-before relationship inserted between writes on a memory segment and reads on the same segment (when using VarHandle::get - that is - a "plain" read/write). That is, plain access really means plain access. Hope this helps. Maurizio On 27/03/2023 08:48, ??? wrote: > I have a question about using MemorySegment with Arena.openShared(). > I don't know if the memory created by Arena.openShared() or any other > shared scope would be safely accessed by multiple threads. > Simply put, if a writer thread wrote something into the MemorySegment > and then passing it to the reader thread using a BlockingQueue, > I am confused if the writer operation would already be visible to the > reader thread. > I have tested its visibility using jcstress and it turns out every > Varhandle.get() will successfully read the data changed in another > thread, > even without volatile or locks, so I am confused if the jvm has > already created memory fence for memorysegment's access. > I hope the?authorities could offer a suggested way of accessing same > memory segment in multiple threads in Panama FFI's documentation. -------------- next part -------------- An HTML attachment was scrubbed... URL: From benrush0705 at gmail.com Mon Mar 27 09:56:18 2023 From: benrush0705 at gmail.com (=?UTF-8?B?5YiY5biM5pmo?=) Date: Mon, 27 Mar 2023 17:56:18 +0800 Subject: Question about multi threads visiting shared arena In-Reply-To: <73416639-e8e4-74d0-cab1-9e7ccd396522@oracle.com> References: <73416639-e8e4-74d0-cab1-9e7ccd396522@oracle.com> Message-ID: Thank you very much for the clarification, I really appreciate it. Perhaps you could add some instructions on the recommended way of handling multi threads access over MemorySegment in the documentation, so people could understand it better! ( https://github.com/openjdk/panama-foreign/blob/foreign-memaccess%2Babi/doc/panama_memaccess.md#segments) The API in VarHandle are not only provided for MemorySegment and rather low-level, a newbie like me would really got confused of which way to use Maurizio Cimadamore ?2023?3?27??? 17:07??? > Hi, > accessing a shared memory segment is pretty much the same as accessing a > byte buffer, or a Java array instance. There are no additional memory > fences that are added by our implementation when using "plain" access (as > in all the other APIs I have listed), so, in the general case you would > probably need to use VarHandle::fullFence() or something similar (to make > sure all writes are flushed when one thread is done with the segment). > > It is surprising to see that it worked even w/o adding > synchronization/fencing, but that might just be "luck", or the particular > system you are using, as is often the case with these matters. From a > low-level/implementation perspective there is absolutely no happens-before > relationship inserted between writes on a memory segment and reads on the > same segment (when using VarHandle::get - that is - a "plain" read/write). > That is, plain access really means plain access. > > Hope this helps. > > Maurizio > On 27/03/2023 08:48, ??? wrote: > > I have a question about using MemorySegment with Arena.openShared(). > I don't know if the memory created by Arena.openShared() or any other > shared scope would be safely accessed by multiple threads. > Simply put, if a writer thread wrote something into the MemorySegment and > then passing it to the reader thread using a BlockingQueue, > I am confused if the writer operation would already be visible to the > reader thread. > I have tested its visibility using jcstress and it turns out every > Varhandle.get() will successfully read the data changed in another thread, > even without volatile or locks, so I am confused if the jvm has already > created memory fence for memorysegment's access. > I hope the authorities could offer a suggested way of accessing same > memory segment in multiple threads in Panama FFI's documentation. > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From maurizio.cimadamore at oracle.com Mon Mar 27 10:24:50 2023 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Mon, 27 Mar 2023 11:24:50 +0100 Subject: Question about multi threads visiting shared arena In-Reply-To: References: <73416639-e8e4-74d0-cab1-9e7ccd396522@oracle.com> Message-ID: <0e69e310-2a97-1d5a-7d0d-8697b1208645@oracle.com> On 27/03/2023 10:56, ??? wrote: > Thank you very much for the clarification, I really appreciate it. > Perhaps you could add some instructions on the recommended way of > handling multi threads access over MemorySegment in the documentation, > so people could understand?it better! > (https://github.com/openjdk/panama-foreign/blob/foreign-memaccess%2Babi/doc/panama_memaccess.md#segments > ) > The API in VarHandle are not only provided for MemorySegment and > rather low-level, a newbie like me would really got confused of which > way to use I agree that some more clarification on this aspect at the javadoc level would be the right way to approach this. Thanks Maurizio > > Maurizio Cimadamore ?2023?3?27??? > 17:07??? > > Hi, > accessing a shared memory segment is pretty much the same as > accessing a byte buffer, or a Java array instance. There are no > additional memory fences that are added by our implementation when > using "plain" access (as in all the other APIs I have listed), so, > in the general case you would probably need to use > VarHandle::fullFence() or something similar (to make sure all > writes are flushed when one thread is done with the segment). > > It is surprising to see that it worked even w/o adding > synchronization/fencing, but that might just be "luck", or the > particular system you are using, as is often the case with these > matters. From a low-level/implementation perspective there is > absolutely no happens-before relationship inserted between writes > on a memory segment and reads on the same segment (when using > VarHandle::get - that is - a "plain" read/write). That is, plain > access really means plain access. > > Hope this helps. > > Maurizio > > On 27/03/2023 08:48, ??? wrote: >> I have a question about using MemorySegment with Arena.openShared(). >> I don't know if the memory created by Arena.openShared() or any >> other shared scope would be safely accessed by multiple threads. >> Simply put, if a writer thread wrote something into the >> MemorySegment and then passing it to the reader thread using a >> BlockingQueue, >> I am confused if the writer operation would already be visible to >> the reader thread. >> I have tested its visibility using jcstress and it turns out >> every Varhandle.get() will successfully read the data changed in >> another thread, >> even without volatile or locks, so I am confused if the jvm has >> already created memory fence for memorysegment's access. >> I hope the?authorities could offer a suggested way of accessing >> same memory segment in multiple threads in Panama FFI's >> documentation. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From zjx001202 at gmail.com Mon Mar 27 10:48:02 2023 From: zjx001202 at gmail.com (Glavo) Date: Mon, 27 Mar 2023 18:48:02 +0800 Subject: Comparing the performance of Panama with JNI, JNA, and JNR - based on Java 21 In-Reply-To: References: <466ADC83-5B02-45C1-9E15-6915F68D035A@gmail.com> Message-ID: > > we do have a mirror internal API (VectorSupport) which perhaps can be used > It's interesting, I'll take a look at it. Maybe I can create a PR that optimizes getUtf8String in the near future, but I can't guarantee it. Glavo On Mon, Mar 27, 2023 at 4:59?PM Maurizio Cimadamore < maurizio.cimadamore at oracle.com> wrote: > Hi Glavo, > I agree that, from an architectural perspective, doing something like this > would be preferrable to using a native method. There are some complications > with using the Vector API from java.base (as vector is an incubating API), > but we do have a mirror internal API (VectorSupport) which perhaps can be > used - at a lower level - to achieve the same thing. I'll ask around. > > Maurizio > On 26/03/2023 18:26, Glavo wrote: > > I made an attempt: > > I implemented a method using the 128-bit SSE/AVX instruction (via the > vector api) to find bytes less than or equal to 0. > Unlike strlen, which only looks for null terminators, it also looks for > negative bytes to determine whether the string contains non-ASCII > characters. > If a string contains only ASCII characters, it can use a fast path to > directly call the constructor of the String without having to decode and > copy the array again (thanks to compact strings). > > I ran the JMH benchmark and the results were satisfactory: > > - There is only a slight performance regression (< 10%) for non-ASCII > strings smaller than 16 bytes; > - Although SIMD is not used for ASCII strings smaller than 16 bytes, > throughput has increased by 33% due to the new fast path; > - For non-ASCII strings larger than 16 bytes, the throughput increased > by 5%~465% due to SIMD; > - For ASCII strings larger than 16 bytes, the throughput increased by > 104%~2207%. > > For 4KiB ASCII strings, the new implementation is 22 times faster! Even > small ASCII strings of only 16 bytes have double the performance. > This is a big victory, and even using strlen won't achieve such a > significant improvement. > > Here is the source code: > > > https://github.com/Glavo/java-ffi-benchmark/blob/main/src/main/java/benchmark/experimental/GetStringUTF8Benchmark.java > > > It's just a simple implementation for experimental purposes. For > simplicity, I used 128-bit SIMD instructions. > In the future, we can consider choosing AVX-2 or AVX-512 at runtime, and > maybe we can get more gains. > > Glavo > > On Sun, Mar 26, 2023 at 9:18?PM Sebastian Stenzel < > sebastian.stenzel at gmail.com> wrote: > >> >> > Am 26.03.2023 um 14:46 schrieb Maurizio Cimadamore < >> maurizio.cimadamore at oracle.com>: >> > >> > Forgot: another problem is that just offloading to external "strlen" >> will not respect the memory segment boundaries (e.g. the underlying strlen >> will keep going even past the spatial boundaries of the memory segment). >> >> How about using strnlen? At least for native segments? >> >> Improving string conversion efficiency would make a huge difference in my >> FUSE bindings, where virtually every call contains a file path. > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From benrush0705 at gmail.com Mon Mar 27 11:34:38 2023 From: benrush0705 at gmail.com (=?UTF-8?B?5YiY5biM5pmo?=) Date: Mon, 27 Mar 2023 19:34:38 +0800 Subject: Question about multi threads visiting shared arena In-Reply-To: <0e69e310-2a97-1d5a-7d0d-8697b1208645@oracle.com> References: <73416639-e8e4-74d0-cab1-9e7ccd396522@oracle.com> <0e69e310-2a97-1d5a-7d0d-8697b1208645@oracle.com> Message-ID: Great, thanks! Maurizio Cimadamore ?2023?3?27??? 18:33??? > > On 27/03/2023 10:56, ??? wrote: > > Thank you very much for the clarification, I really appreciate it. Perhaps > you could add some instructions on the recommended way of handling multi > threads access over MemorySegment in the documentation, so people could > understand it better! ( > https://github.com/openjdk/panama-foreign/blob/foreign-memaccess%2Babi/doc/panama_memaccess.md#segments > ) > The API in VarHandle are not only provided for MemorySegment and rather > low-level, a newbie like me would really got confused of which way to use > > I agree that some more clarification on this aspect at the javadoc level > would be the right way to approach this. > > Thanks > Maurizio > > > Maurizio Cimadamore ?2023?3?27??? > 17:07??? > >> Hi, >> accessing a shared memory segment is pretty much the same as accessing a >> byte buffer, or a Java array instance. There are no additional memory >> fences that are added by our implementation when using "plain" access (as >> in all the other APIs I have listed), so, in the general case you would >> probably need to use VarHandle::fullFence() or something similar (to make >> sure all writes are flushed when one thread is done with the segment). >> >> It is surprising to see that it worked even w/o adding >> synchronization/fencing, but that might just be "luck", or the particular >> system you are using, as is often the case with these matters. From a >> low-level/implementation perspective there is absolutely no happens-before >> relationship inserted between writes on a memory segment and reads on the >> same segment (when using VarHandle::get - that is - a "plain" read/write). >> That is, plain access really means plain access. >> >> Hope this helps. >> >> Maurizio >> On 27/03/2023 08:48, ??? wrote: >> >> I have a question about using MemorySegment with Arena.openShared(). >> I don't know if the memory created by Arena.openShared() or any other >> shared scope would be safely accessed by multiple threads. >> Simply put, if a writer thread wrote something into the MemorySegment and >> then passing it to the reader thread using a BlockingQueue, >> I am confused if the writer operation would already be visible to the >> reader thread. >> I have tested its visibility using jcstress and it turns out every >> Varhandle.get() will successfully read the data changed in another thread, >> even without volatile or locks, so I am confused if the jvm has already >> created memory fence for memorysegment's access. >> I hope the authorities could offer a suggested way of accessing same >> memory segment in multiple threads in Panama FFI's documentation. >> >> -------------- next part -------------- An HTML attachment was scrubbed... URL: From zjx001202 at gmail.com Mon Mar 27 14:18:23 2023 From: zjx001202 at gmail.com (Glavo) Date: Mon, 27 Mar 2023 22:18:23 +0800 Subject: Comparing the performance of Panama with JNI, JNA, and JNR - based on Java 21 In-Reply-To: References: Message-ID: Another idea related to usability and performance: Can Panama provide a thread-local "native stack" to help users allocate local variables? I have heard from others that LWJGL is using this technology. I also tried to implement it: https://github.com/Glavo/java-ffi-benchmark/blob/main/src/main/java/benchmark/experimental/NativeStack.java I ran benchmarks where allocating a small number of local variables was thirty times more efficient than using a confined arena. If Panama can provide such a class, it will be more convenient and faster for users to assign temporary variables. Glavo On Sat, Mar 25, 2023 at 3:07?AM Glavo wrote: > I have run a series of benchmarks of Panama, JNI, JNA, and JNR based on > the latest JDK. Here is its GitHub repository: > > https://github.com/Glavo/java-ffi-benchmark > > Here I tested the performance of no-ops, accessing structs, string > conversions, and callbacks, respectively. I also tried the new isTrivial > linker option. > I summarized the results in README and charted them. > > In this email, in addition to sharing the above results, I would also like > to talk about several issues I have encountered > > 1. MemorySegment.getUtf8String is unexpectedly slow > > Panama is much faster than JNA in most cases, but the operation of > converting C strings to Java strings is an exception. > I checked the source code of JNA and Panama, and the suspicious difference > is that JNA uses strlen from the C standard library, while Panama uses Java > loops. > Perhaps this method can be optimized. > > > 2. StructLayout must manually specify all padding > > Can we provide a convenient method for automatically padding between > fields based on alignment? > The current structLayout method is annoying for situations where you need > to manually simulate the layout of a C struct. > > > Glavo > -------------- next part -------------- An HTML attachment was scrubbed... URL: From maurizio.cimadamore at oracle.com Mon Mar 27 14:29:46 2023 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Mon, 27 Mar 2023 15:29:46 +0100 Subject: Comparing the performance of Panama with JNI, JNA, and JNR - based on Java 21 In-Reply-To: References: Message-ID: On 27/03/2023 15:18, Glavo wrote: > Another idea related to usability and performance: Can Panama provide > a thread-local "native stack" to help users allocate local variables? > > I have heard from others that LWJGL is using this technology.?I also > tried to implement it: > > https://github.com/Glavo/java-ffi-benchmark/blob/main/src/main/java/benchmark/experimental/NativeStack.java > > > I ran benchmarks where allocating a small number of local variables > was thirty times more efficient than using a confined arena. > If Panama can provide such a class, it will be more convenient and > faster for users to assign temporary variables. While the FFM API does not provide anything directly, it is easy to build such an arena on top of FFM. https://github.com/openjdk/panama-foreign/blob/foreign-memaccess%2Babi/test/micro/org/openjdk/bench/java/lang/foreign/StrLenTest.java#L178 The above implementation is slightly simpler than what LWJGL does, but it provides a large boost (because it avoids all dynamic allocations). More advanced implementations which allocate dynamically when out of space and then remember said allocation even after a "release" are also possible. While we might add some such allocators in the future, the main priority of the FFM API, design-wise, has been to make sure that such custom arenas can be defined by developers directly, when and if needed. And this is indeed the biggest shift from Java 19 (which doesn't allow custom arenas) to Java 20. Java 21 just iterates on the API, making it a little bit simpler to use again, while retaining the capability of defining custom arenas. Maurizio > > Glavo > > On Sat, Mar 25, 2023 at 3:07?AM Glavo wrote: > > I have run a series of benchmarks of Panama, JNI, JNA, and JNR > based on the latest JDK.?Here is its GitHub repository: > > https://github.com/Glavo/java-ffi-benchmark > > > Here I tested the performance of no-ops, accessing structs, string > conversions, and callbacks, respectively. I also tried the new > isTrivial linker option. > I summarized the results in README and charted them. > > In this email, in addition to sharing the above results, I would > also like to talk about several issues I have encountered > > 1.?MemorySegment.getUtf8String is unexpectedly slow > > Panama is much faster than JNA in most cases, but the > operation of converting C strings to Java strings is an exception. > I checked the source code of JNA and Panama, and the > suspicious difference is that JNA uses strlen from the C > standard library, while Panama uses Java loops. > Perhaps this method can be optimized. > > > 2.?StructLayout must manually specify all padding > > Can we provide a convenient method for automatically padding > between fields based on alignment? > The current structLayout method is annoying for situations > where you need to manually simulate the layout of a C struct. > > > Glavo > -------------- next part -------------- An HTML attachment was scrubbed... URL: From paul.sandoz at oracle.com Mon Mar 27 15:33:51 2023 From: paul.sandoz at oracle.com (Paul Sandoz) Date: Mon, 27 Mar 2023 15:33:51 +0000 Subject: Question about multi threads visiting shared arena In-Reply-To: <73416639-e8e4-74d0-cab1-9e7ccd396522@oracle.com> References: <73416639-e8e4-74d0-cab1-9e7ccd396522@oracle.com> Message-ID: <6DC399B4-5A5F-4A98-A3CF-FCF51473B4FD@oracle.com> It may be luck but it may also be because of the "happen-before? relationship that is specified by BlockIngQueue: ? *

Memory consistency effects: As with other concurrent * collections, actions in a thread prior to placing an object into a * {@code BlockingQueue} * happen-before * actions subsequent to the access or removal of that element from * the {@code BlockingQueue} in another thread. ? This is a complex subject, and there is no specific recommended way of interacting concurrently with state, be it for a memory segment, an array, or an object. The platform provides a number of synchronizing primitives and concurrent collections, and those should be used in such cases. So we could provide an api note that talks in general terms e.g. a segment whose memory is accessible by any thread is not thread-safe; in the absence of external synchronization, they do not support concurrent access to that memory by multiple threads. Where "external synchronization? is doing a lot of heavy lifting :-) Paul. > On Mar 27, 2023, at 2:07 AM, Maurizio Cimadamore wrote: > > Hi, > accessing a shared memory segment is pretty much the same as accessing a byte buffer, or a Java array instance. There are no additional memory fences that are added by our implementation when using "plain" access (as in all the other APIs I have listed), so, in the general case you would probably need to use VarHandle::fullFence() or something similar (to make sure all writes are flushed when one thread is done with the segment). > > It is surprising to see that it worked even w/o adding synchronization/fencing, but that might just be "luck", or the particular system you are using, as is often the case with these matters. From a low-level/implementation perspective there is absolutely no happens-before relationship inserted between writes on a memory segment and reads on the same segment (when using VarHandle::get - that is - a "plain" read/write). That is, plain access really means plain access. > > Hope this helps. > > Maurizio > > On 27/03/2023 08:48, ??? wrote: >> I have a question about using MemorySegment with Arena.openShared(). >> I don't know if the memory created by Arena.openShared() or any other shared scope would be safely accessed by multiple threads. >> Simply put, if a writer thread wrote something into the MemorySegment and then passing it to the reader thread using a BlockingQueue, >> I am confused if the writer operation would already be visible to the reader thread. >> I have tested its visibility using jcstress and it turns out every Varhandle.get() will successfully read the data changed in another thread, >> even without volatile or locks, so I am confused if the jvm has already created memory fence for memorysegment's access. >> I hope the authorities could offer a suggested way of accessing same memory segment in multiple threads in Panama FFI's documentation. From jorn.vernee at oracle.com Mon Mar 27 15:59:12 2023 From: jorn.vernee at oracle.com (Jorn Vernee) Date: Mon, 27 Mar 2023 17:59:12 +0200 Subject: Comparing the performance of Panama with JNI, JNA, and JNR - based on Java 21 In-Reply-To: References: Message-ID: <40381921-0c16-a958-a8d2-be38e6f06f37@oracle.com> Also note that there are potential issues when combining ThreadLocal and virtual threads, as there might be a very large number of threads, resulting in a very large number of NativeStack instances (along with their native memory stacks) This makes supporting something based on ThreadLocal directly in the JDK more questionable I think, since it depends on the particular application whether this will work well, or not. Jorn On 27/03/2023 16:29, Maurizio Cimadamore wrote: > > > On 27/03/2023 15:18, Glavo wrote: >> Another idea related to usability and performance:? Can Panama >> provide a thread-local "native stack" to help users allocate local >> variables? >> >> I have heard from others that LWJGL is using this technology.?I also >> tried to implement it: >> >> https://github.com/Glavo/java-ffi-benchmark/blob/main/src/main/java/benchmark/experimental/NativeStack.java >> >> >> I ran benchmarks where allocating a small number of local variables >> was thirty times more efficient than using a confined arena. >> If Panama can provide such a class, it will be more convenient and >> faster for users to assign temporary variables. > > While the FFM API does not provide anything directly, it is easy to > build such an arena on top of FFM. > > https://github.com/openjdk/panama-foreign/blob/foreign-memaccess%2Babi/test/micro/org/openjdk/bench/java/lang/foreign/StrLenTest.java#L178 > > The above implementation is slightly simpler than what LWJGL does, but > it provides a large boost (because it avoids all dynamic allocations). > > More advanced implementations which allocate dynamically when out of > space and then remember said allocation even after a "release" are > also possible. > > While we might add some such allocators in the future, the main > priority of the FFM API, design-wise, has been to make sure that such > custom arenas can be defined by developers directly, when and if needed. > > And this is indeed the biggest shift from Java 19 (which doesn't allow > custom arenas) to Java 20. Java 21 just iterates on the API, making it > a little bit simpler to use again, while retaining the capability of > defining custom arenas. > > Maurizio > >> >> Glavo >> >> On Sat, Mar 25, 2023 at 3:07?AM Glavo wrote: >> >> I have run a series of benchmarks of Panama, JNI, JNA, and JNR >> based on the latest JDK.?Here is its GitHub repository: >> >> https://github.com/Glavo/java-ffi-benchmark >> >> >> Here I tested the performance of no-ops, accessing structs, >> string conversions, and callbacks, respectively. I also tried the >> new isTrivial linker option. >> I summarized the results in README and charted them. >> >> In this email, in addition to sharing the above results, I would >> also like to talk about several issues I have encountered >> >> 1.?MemorySegment.getUtf8String is unexpectedly slow >> >> Panama is much faster than JNA in most cases, but the >> operation of converting C strings to Java strings is an >> exception. >> I checked the source code of JNA and Panama, and the >> suspicious difference is that JNA uses strlen from the C >> standard library, while Panama uses Java loops. >> Perhaps this method can be optimized. >> >> >> 2.?StructLayout must manually specify all padding >> >> Can we provide a convenient method for automatically padding >> between fields based on alignment? >> The current structLayout method is annoying for situations >> where you need to manually simulate the layout of a C struct. >> >> >> Glavo >> -------------- next part -------------- An HTML attachment was scrubbed... URL: From mr.chrisvest at gmail.com Mon Mar 27 16:38:49 2023 From: mr.chrisvest at gmail.com (Chris Vest) Date: Mon, 27 Mar 2023 09:38:49 -0700 Subject: Comparing the performance of Panama with JNI, JNA, and JNR - based on Java 21 In-Reply-To: <40381921-0c16-a958-a8d2-be38e6f06f37@oracle.com> References: <40381921-0c16-a958-a8d2-be38e6f06f37@oracle.com> Message-ID: The JDK can use CarrierThreadLocal, so it's not a problem as long as the usage scope of the thread-local values are tightly controlled, and don't span across virtual thread context switches. On Mon, Mar 27, 2023 at 8:59?AM Jorn Vernee wrote: > Also note that there are potential issues when combining ThreadLocal and > virtual threads, as there might be a very large number of threads, > resulting in a very large number of NativeStack instances (along with their > native memory stacks) > > This makes supporting something based on ThreadLocal directly in the JDK > more questionable I think, since it depends on the particular application > whether this will work well, or not. > > Jorn > On 27/03/2023 16:29, Maurizio Cimadamore wrote: > > > On 27/03/2023 15:18, Glavo wrote: > > Another idea related to usability and performance: Can Panama provide a > thread-local "native stack" to help users allocate local variables? > > I have heard from others that LWJGL is using this technology. I also tried > to implement it: > > > https://github.com/Glavo/java-ffi-benchmark/blob/main/src/main/java/benchmark/experimental/NativeStack.java > > > I ran benchmarks where allocating a small number of local variables was > thirty times more efficient than using a confined arena. > If Panama can provide such a class, it will be more convenient and faster > for users to assign temporary variables. > > While the FFM API does not provide anything directly, it is easy to build > such an arena on top of FFM. > > > https://github.com/openjdk/panama-foreign/blob/foreign-memaccess%2Babi/test/micro/org/openjdk/bench/java/lang/foreign/StrLenTest.java#L178 > > The above implementation is slightly simpler than what LWJGL does, but it > provides a large boost (because it avoids all dynamic allocations). > > More advanced implementations which allocate dynamically when out of space > and then remember said allocation even after a "release" are also possible. > > While we might add some such allocators in the future, the main priority > of the FFM API, design-wise, has been to make sure that such custom arenas > can be defined by developers directly, when and if needed. > > And this is indeed the biggest shift from Java 19 (which doesn't allow > custom arenas) to Java 20. Java 21 just iterates on the API, making it a > little bit simpler to use again, while retaining the capability of defining > custom arenas. > > Maurizio > > > Glavo > > On Sat, Mar 25, 2023 at 3:07?AM Glavo wrote: > >> I have run a series of benchmarks of Panama, JNI, JNA, and JNR based on >> the latest JDK. Here is its GitHub repository: >> >> https://github.com/Glavo/java-ffi-benchmark >> >> >> Here I tested the performance of no-ops, accessing structs, string >> conversions, and callbacks, respectively. I also tried the new isTrivial >> linker option. >> I summarized the results in README and charted them. >> >> In this email, in addition to sharing the above results, I would also >> like to talk about several issues I have encountered >> >> 1. MemorySegment.getUtf8String is unexpectedly slow >> >> Panama is much faster than JNA in most cases, but the operation of >> converting C strings to Java strings is an exception. >> I checked the source code of JNA and Panama, and the suspicious >> difference is that JNA uses strlen from the C standard library, while >> Panama uses Java loops. >> Perhaps this method can be optimized. >> >> >> 2. StructLayout must manually specify all padding >> >> Can we provide a convenient method for automatically padding between >> fields based on alignment? >> The current structLayout method is annoying for situations where you need >> to manually simulate the layout of a C struct. >> >> >> Glavo >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From zjx001202 at gmail.com Mon Mar 27 17:25:51 2023 From: zjx001202 at gmail.com (Glavo) Date: Tue, 28 Mar 2023 01:25:51 +0800 Subject: Comparing the performance of Panama with JNI, JNA, and JNR - based on Java 21 In-Reply-To: References: <40381921-0c16-a958-a8d2-be38e6f06f37@oracle.com> Message-ID: > > The JDK can use CarrierThreadLocal > I don't think this is a good use case for CarrierThreadLocal. But I don't think this is a big problem. We can provide a cache pool for native stacks. When the native stack is no longer used by the current virtual thread, we only need to resubmit the native stack back to the cache pool. On Tue, Mar 28, 2023 at 12:39?AM Chris Vest wrote: > The JDK can use CarrierThreadLocal, so it's not a problem as long as the > usage scope of the thread-local values are tightly controlled, and don't > span across virtual thread context switches. > > On Mon, Mar 27, 2023 at 8:59?AM Jorn Vernee > wrote: > >> Also note that there are potential issues when combining ThreadLocal and >> virtual threads, as there might be a very large number of threads, >> resulting in a very large number of NativeStack instances (along with their >> native memory stacks) >> >> This makes supporting something based on ThreadLocal directly in the JDK >> more questionable I think, since it depends on the particular application >> whether this will work well, or not. >> >> Jorn >> On 27/03/2023 16:29, Maurizio Cimadamore wrote: >> >> >> On 27/03/2023 15:18, Glavo wrote: >> >> Another idea related to usability and performance: Can Panama provide a >> thread-local "native stack" to help users allocate local variables? >> >> I have heard from others that LWJGL is using this technology. I also >> tried to implement it: >> >> >> https://github.com/Glavo/java-ffi-benchmark/blob/main/src/main/java/benchmark/experimental/NativeStack.java >> >> >> I ran benchmarks where allocating a small number of local variables was >> thirty times more efficient than using a confined arena. >> If Panama can provide such a class, it will be more convenient and faster >> for users to assign temporary variables. >> >> While the FFM API does not provide anything directly, it is easy to build >> such an arena on top of FFM. >> >> >> https://github.com/openjdk/panama-foreign/blob/foreign-memaccess%2Babi/test/micro/org/openjdk/bench/java/lang/foreign/StrLenTest.java#L178 >> >> The above implementation is slightly simpler than what LWJGL does, but it >> provides a large boost (because it avoids all dynamic allocations). >> >> More advanced implementations which allocate dynamically when out of >> space and then remember said allocation even after a "release" are also >> possible. >> >> While we might add some such allocators in the future, the main priority >> of the FFM API, design-wise, has been to make sure that such custom arenas >> can be defined by developers directly, when and if needed. >> >> And this is indeed the biggest shift from Java 19 (which doesn't allow >> custom arenas) to Java 20. Java 21 just iterates on the API, making it a >> little bit simpler to use again, while retaining the capability of defining >> custom arenas. >> >> Maurizio >> >> >> Glavo >> >> On Sat, Mar 25, 2023 at 3:07?AM Glavo wrote: >> >>> I have run a series of benchmarks of Panama, JNI, JNA, and JNR based on >>> the latest JDK. Here is its GitHub repository: >>> >>> https://github.com/Glavo/java-ffi-benchmark >>> >>> >>> Here I tested the performance of no-ops, accessing structs, string >>> conversions, and callbacks, respectively. I also tried the new isTrivial >>> linker option. >>> I summarized the results in README and charted them. >>> >>> In this email, in addition to sharing the above results, I would also >>> like to talk about several issues I have encountered >>> >>> 1. MemorySegment.getUtf8String is unexpectedly slow >>> >>> Panama is much faster than JNA in most cases, but the operation of >>> converting C strings to Java strings is an exception. >>> I checked the source code of JNA and Panama, and the suspicious >>> difference is that JNA uses strlen from the C standard library, while >>> Panama uses Java loops. >>> Perhaps this method can be optimized. >>> >>> >>> 2. StructLayout must manually specify all padding >>> >>> Can we provide a convenient method for automatically padding between >>> fields based on alignment? >>> The current structLayout method is annoying for situations where you >>> need to manually simulate the layout of a C struct. >>> >>> >>> Glavo >>> >> -------------- next part -------------- An HTML attachment was scrubbed... URL: From mcimadamore at openjdk.org Tue Mar 28 14:12:09 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Tue, 28 Mar 2023 14:12:09 GMT Subject: [foreign-memaccess+abi] RFR: 8305087: MemoryLayout API checks should be more eager Message-ID: This patch adds eager check on construction of sequence and group layouts. More specifically: * sequenceLayout(L) is well-formed iff L.bitAlignment() <= L.bitSize() * groupLayout(L1, ? Ln) is well-formed iff for-each 1..n, offset(Li) % Li.bitAlignment() == 0 Moreover, this patch also validates the alignment parameter to calls of `MemoryLayout::withBitAlignment` on sequence and group layouts: * sequenceLayout(L).withBitAlignment(a) is well-formed iff L.bitAlignment() <= a * groupLayout(L1, ..., Ln).withBitAlignment(a) is well-formed iff max(L1.bitAlignment(), ..., Ln.bitAlignment()) <= a These checks prevent bad layouts from being constructed (either with factories, or with bad calls to `withBitAlignment`), w/o restricting the expressiveness of the memory layout API. Moreover, since all layouts are now well-formed by construction, we no longer need lazy checks when creating a deferefence var handle. ------------- Commit messages: - Initial push Changes: https://git.openjdk.org/panama-foreign/pull/824/files Webrev: https://webrevs.openjdk.org/?repo=panama-foreign&pr=824&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8305087 Stats: 238 lines in 17 files changed: 73 ins; 147 del; 18 mod Patch: https://git.openjdk.org/panama-foreign/pull/824.diff Fetch: git fetch https://git.openjdk.org/panama-foreign.git pull/824/head:pull/824 PR: https://git.openjdk.org/panama-foreign/pull/824 From mcimadamore at openjdk.org Tue Mar 28 14:12:12 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Tue, 28 Mar 2023 14:12:12 GMT Subject: [foreign-memaccess+abi] RFR: 8305087: MemoryLayout API checks should be more eager In-Reply-To: References: Message-ID: <6dCfKe4-qg_PvaAWi3CoH0SjCtSoxbM34R7rWdx2htI=.83847508-5263-41f6-bcac-4809482f1487@github.com> On Tue, 28 Mar 2023 14:04:35 GMT, Maurizio Cimadamore wrote: > This patch adds eager check on construction of sequence and group layouts. More specifically: > > * sequenceLayout(L) is well-formed iff L.bitAlignment() <= L.bitSize() > * groupLayout(L1, ? Ln) is well-formed iff for-each 1..n, offset(Li) % Li.bitAlignment() == 0 > > Moreover, this patch also validates the alignment parameter to calls of `MemoryLayout::withBitAlignment` on sequence and group layouts: > > * sequenceLayout(L).withBitAlignment(a) is well-formed iff L.bitAlignment() <= a > * groupLayout(L1, ..., Ln).withBitAlignment(a) is well-formed iff max(L1.bitAlignment(), ..., Ln.bitAlignment()) <= a > > These checks prevent bad layouts from being constructed (either with factories, or with bad calls to `withBitAlignment`), w/o restricting the expressiveness of the memory layout API. > Moreover, since all layouts are now well-formed by construction, we no longer need lazy checks when creating a deferefence var handle. test/jdk/java/foreign/callarranger/TestSysVCallArranger.java line 149: > 147: > 148: @Test > 149: public void testNestedStructsUnaligned() { These tests are no longer required, since they refer to a situation where the one of the layout involved would have an alignment different from the natural alignment (which is now enforced at link time). ------------- PR Review Comment: https://git.openjdk.org/panama-foreign/pull/824#discussion_r1150682112 From mcimadamore at openjdk.org Tue Mar 28 14:14:34 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Tue, 28 Mar 2023 14:14:34 GMT Subject: [foreign-memaccess+abi] RFR: 8305087: MemoryLayout API checks should be more eager In-Reply-To: References: Message-ID: On Tue, 28 Mar 2023 14:04:35 GMT, Maurizio Cimadamore wrote: > This patch adds eager check on construction of sequence and group layouts. More specifically: > > * sequenceLayout(L) is well-formed iff L.bitAlignment() <= L.bitSize() > * groupLayout(L1, ? Ln) is well-formed iff for-each 1..n, offset(Li) % Li.bitAlignment() == 0 > > Moreover, this patch also validates the alignment parameter to calls of `MemoryLayout::withBitAlignment` on sequence and group layouts: > > * sequenceLayout(L).withBitAlignment(a) is well-formed iff L.bitAlignment() <= a > * groupLayout(L1, ..., Ln).withBitAlignment(a) is well-formed iff max(L1.bitAlignment(), ..., Ln.bitAlignment()) <= a > > These checks prevent bad layouts from being constructed (either with factories, or with bad calls to `withBitAlignment`), w/o restricting the expressiveness of the memory layout API. > Moreover, since all layouts are now well-formed by construction, we no longer need lazy checks when creating a deferefence var handle. test/jdk/java/foreign/callarranger/TestRISCV64CallArranger.java line 218: > 216: }, > 217: // struct __attribute__((__packed__)) s { float a; double b; }; > 218: { MemoryLayout.structLayout(C_FLOAT, C_DOUBLE), These two tests refer to packed structs, or structs that have extra padding. These cases are no longer supported following this: https://git.openjdk.org/jdk/pull/13164 ------------- PR Review Comment: https://git.openjdk.org/panama-foreign/pull/824#discussion_r1150689519 From jvernee at openjdk.org Tue Mar 28 16:33:25 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Tue, 28 Mar 2023 16:33:25 GMT Subject: [foreign-memaccess+abi] RFR: 8305087: MemoryLayout API checks should be more eager In-Reply-To: References: Message-ID: On Tue, 28 Mar 2023 14:04:35 GMT, Maurizio Cimadamore wrote: > This patch adds eager check on construction of sequence and group layouts. More specifically: > > * sequenceLayout(L) is well-formed iff L.bitAlignment() <= L.bitSize() > * groupLayout(L1, ? Ln) is well-formed iff for-each 1..n, offset(Li) % Li.bitAlignment() == 0 > > Moreover, this patch also validates the alignment parameter to calls of `MemoryLayout::withBitAlignment` on sequence and group layouts: > > * sequenceLayout(L).withBitAlignment(a) is well-formed iff L.bitAlignment() <= a > * groupLayout(L1, ..., Ln).withBitAlignment(a) is well-formed iff max(L1.bitAlignment(), ..., Ln.bitAlignment()) <= a > > These checks prevent bad layouts from being constructed (either with factories, or with bad calls to `withBitAlignment`), w/o restricting the expressiveness of the memory layout API. > Moreover, since all layouts are now well-formed by construction, we no longer need lazy checks when creating a deferefence var handle. src/java.base/share/classes/java/lang/foreign/GroupLayout.java line 71: > 69: * {@inheritDoc} > 70: * @throws IllegalArgumentException {@inheritDoc} > 71: * @throws IllegalArgumentException if {@code bitAlignment} is {@code M}, where {@code M} is the maximum alignment Typo? Suggestion: * @throws IllegalArgumentException if {@code bitAlignment} is less than {@code M}, where {@code M} is the maximum alignment ------------- PR Review Comment: https://git.openjdk.org/panama-foreign/pull/824#discussion_r1150866292 From mcimadamore at openjdk.org Tue Mar 28 16:56:39 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Tue, 28 Mar 2023 16:56:39 GMT Subject: [foreign-memaccess+abi] RFR: 8305087: MemoryLayout API checks should be more eager [v2] In-Reply-To: References: Message-ID: > This patch adds eager check on construction of sequence and group layouts. More specifically: > > * sequenceLayout(L) is well-formed iff L.bitAlignment() <= L.bitSize() > * groupLayout(L1, ? Ln) is well-formed iff for-each 1..n, offset(Li) % Li.bitAlignment() == 0 > > Moreover, this patch also validates the alignment parameter to calls of `MemoryLayout::withBitAlignment` on sequence and group layouts: > > * sequenceLayout(L).withBitAlignment(a) is well-formed iff L.bitAlignment() <= a > * groupLayout(L1, ..., Ln).withBitAlignment(a) is well-formed iff max(L1.bitAlignment(), ..., Ln.bitAlignment()) <= a > > These checks prevent bad layouts from being constructed (either with factories, or with bad calls to `withBitAlignment`), w/o restricting the expressiveness of the memory layout API. > Moreover, since all layouts are now well-formed by construction, we no longer need lazy checks when creating a deferefence var handle. Maurizio Cimadamore has updated the pull request incrementally with one additional commit since the last revision: Update src/java.base/share/classes/java/lang/foreign/GroupLayout.java Co-authored-by: Jorn Vernee ------------- Changes: - all: https://git.openjdk.org/panama-foreign/pull/824/files - new: https://git.openjdk.org/panama-foreign/pull/824/files/ff3e5323..49b83016 Webrevs: - full: https://webrevs.openjdk.org/?repo=panama-foreign&pr=824&range=01 - incr: https://webrevs.openjdk.org/?repo=panama-foreign&pr=824&range=00-01 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.org/panama-foreign/pull/824.diff Fetch: git fetch https://git.openjdk.org/panama-foreign.git pull/824/head:pull/824 PR: https://git.openjdk.org/panama-foreign/pull/824 From mcimadamore at openjdk.org Tue Mar 28 16:56:43 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Tue, 28 Mar 2023 16:56:43 GMT Subject: [foreign-memaccess+abi] RFR: 8305087: MemoryLayout API checks should be more eager [v2] In-Reply-To: References: Message-ID: On Tue, 28 Mar 2023 16:16:14 GMT, Jorn Vernee wrote: >> Maurizio Cimadamore has updated the pull request incrementally with one additional commit since the last revision: >> >> Update src/java.base/share/classes/java/lang/foreign/GroupLayout.java >> >> Co-authored-by: Jorn Vernee > > src/java.base/share/classes/java/lang/foreign/GroupLayout.java line 71: > >> 69: * {@inheritDoc} >> 70: * @throws IllegalArgumentException {@inheritDoc} >> 71: * @throws IllegalArgumentException if {@code bitAlignment} is {@code M}, where {@code M} is the maximum alignment > > Typo? > Suggestion: > > * @throws IllegalArgumentException if {@code bitAlignment} is less than {@code M}, where {@code M} is the maximum alignment Good catch ------------- PR Review Comment: https://git.openjdk.org/panama-foreign/pull/824#discussion_r1150908270 From jorn.vernee at oracle.com Tue Mar 28 17:02:07 2023 From: jorn.vernee at oracle.com (Jorn Vernee) Date: Tue, 28 Mar 2023 19:02:07 +0200 Subject: [External] : Re: Comparing the performance of Panama with JNI, JNA, and JNR - based on Java 21 In-Reply-To: References: <40381921-0c16-a958-a8d2-be38e6f06f37@oracle.com> Message-ID: Right, CarrierThreadLocal doesn't work in the presence of virtual thread context switches. Because allocations of different virtual threads end up getting mixed together into the same native stack. Generally, I think an allocator implementation that has to make a bunch of tradeoffs is not a slam dunk for adding to the JDK. We've added the tools to define custom allocators, so that users can implement the allocator with the tradeoffs suited to their application. If there is some common pattern that emerges we might consider adding that to the JDK in the future. Jorn On 27/03/2023 19:25, Glavo wrote: > > The JDK can use CarrierThreadLocal > > > I don't think this is a good use case for CarrierThreadLocal. > > But I don't think this is a big problem. We can provide a cache pool > for native stacks. > When the native stack is no longer used by the current virtual thread, > we only need to resubmit the native stack back to the cache pool. > > On Tue, Mar 28, 2023 at 12:39?AM Chris Vest > wrote: > > The JDK can use CarrierThreadLocal, so it's not a problem as long > as the usage scope of the thread-local values are tightly > controlled, and don't span across virtual thread context switches. > > On Mon, Mar 27, 2023 at 8:59?AM Jorn Vernee > wrote: > > Also note that there are potential issues when combining > ThreadLocal and virtual threads, as there might be a very > large number of threads, resulting in a very large number of > NativeStack instances (along with their native memory stacks) > > This makes supporting something based on ThreadLocal directly > in the JDK more questionable I think, since it depends on the > particular application whether this will work well, or not. > > Jorn > > On 27/03/2023 16:29, Maurizio Cimadamore wrote: >> >> >> On 27/03/2023 15:18, Glavo wrote: >>> Another idea related to usability and performance:? Can >>> Panama provide a thread-local "native stack" to help users >>> allocate local variables? >>> >>> I have heard from others that LWJGL is using this >>> technology.?I also tried to implement it: >>> >>> https://github.com/Glavo/java-ffi-benchmark/blob/main/src/main/java/benchmark/experimental/NativeStack.java >>> >>> >>> I ran benchmarks where allocating a small number of local >>> variables was thirty times more efficient than using a >>> confined arena. >>> If Panama can provide such a class, it will be more >>> convenient and faster for users to assign temporary variables. >> >> While the FFM API does not provide anything directly, it is >> easy to build such an arena on top of FFM. >> >> https://github.com/openjdk/panama-foreign/blob/foreign-memaccess%2Babi/test/micro/org/openjdk/bench/java/lang/foreign/StrLenTest.java#L178 >> >> >> The above implementation is slightly simpler than what LWJGL >> does, but it provides a large boost (because it avoids all >> dynamic allocations). >> >> More advanced implementations which allocate dynamically when >> out of space and then remember said allocation even after a >> "release" are also possible. >> >> While we might add some such allocators in the future, the >> main priority of the FFM API, design-wise, has been to make >> sure that such custom arenas can be defined by developers >> directly, when and if needed. >> >> And this is indeed the biggest shift from Java 19 (which >> doesn't allow custom arenas) to Java 20. Java 21 just >> iterates on the API, making it a little bit simpler to use >> again, while retaining the capability of defining custom arenas. >> >> Maurizio >> >>> >>> Glavo >>> >>> On Sat, Mar 25, 2023 at 3:07?AM Glavo >>> wrote: >>> >>> I have run a series of benchmarks of Panama, JNI, JNA, >>> and JNR based on the latest JDK.?Here is its GitHub >>> repository: >>> >>> https://github.com/Glavo/java-ffi-benchmark >>> >>> >>> Here I tested the performance of no-ops, accessing >>> structs, string conversions, and callbacks, >>> respectively. I also tried the new isTrivial linker option. >>> I summarized the results in README and charted them. >>> >>> In this email, in addition to sharing the above results, >>> I would also like to talk about several issues I have >>> encountered >>> >>> 1.?MemorySegment.getUtf8String is unexpectedly slow >>> >>> Panama is much faster than JNA in most cases, but >>> the operation of converting C strings to Java >>> strings is an exception. >>> I checked the source code of JNA and Panama, and the >>> suspicious difference is that JNA uses strlen from >>> the C standard library, while Panama uses Java loops. >>> Perhaps this method can be optimized. >>> >>> >>> 2.?StructLayout must manually specify all padding >>> >>> Can we provide a convenient method for automatically >>> padding between fields based on alignment? >>> The current structLayout method is annoying for >>> situations where you need to manually simulate the >>> layout of a C struct. >>> >>> >>> Glavo >>> -------------- next part -------------- An HTML attachment was scrubbed... URL: From jvernee at openjdk.org Tue Mar 28 17:05:32 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Tue, 28 Mar 2023 17:05:32 GMT Subject: [foreign-memaccess+abi] RFR: 8305087: MemoryLayout API checks should be more eager [v2] In-Reply-To: References: Message-ID: On Tue, 28 Mar 2023 16:56:39 GMT, Maurizio Cimadamore wrote: >> This patch adds eager check on construction of sequence and group layouts. More specifically: >> >> * sequenceLayout(L) is well-formed iff L.bitAlignment() <= L.bitSize() >> * groupLayout(L1, ? Ln) is well-formed iff for-each 1..n, offset(Li) % Li.bitAlignment() == 0 >> >> Moreover, this patch also validates the alignment parameter to calls of `MemoryLayout::withBitAlignment` on sequence and group layouts: >> >> * sequenceLayout(L).withBitAlignment(a) is well-formed iff L.bitAlignment() <= a >> * groupLayout(L1, ..., Ln).withBitAlignment(a) is well-formed iff max(L1.bitAlignment(), ..., Ln.bitAlignment()) <= a >> >> These checks prevent bad layouts from being constructed (either with factories, or with bad calls to `withBitAlignment`), w/o restricting the expressiveness of the memory layout API. >> Moreover, since all layouts are now well-formed by construction, we no longer need lazy checks when creating a deferefence var handle. > > Maurizio Cimadamore has updated the pull request incrementally with one additional commit since the last revision: > > Update src/java.base/share/classes/java/lang/foreign/GroupLayout.java > > Co-authored-by: Jorn Vernee Marked as reviewed by jvernee (Committer). ------------- PR Review: https://git.openjdk.org/panama-foreign/pull/824#pullrequestreview-1361558219 From pminborg at openjdk.org Wed Mar 29 07:32:40 2023 From: pminborg at openjdk.org (Per Minborg) Date: Wed, 29 Mar 2023 07:32:40 GMT Subject: [foreign-memaccess+abi] RFR: 8305087: MemoryLayout API checks should be more eager [v2] In-Reply-To: References: Message-ID: On Tue, 28 Mar 2023 16:56:39 GMT, Maurizio Cimadamore wrote: >> This patch adds eager check on construction of sequence and group layouts. More specifically: >> >> * sequenceLayout(L) is well-formed iff L.bitAlignment() <= L.bitSize() >> * groupLayout(L1, ? Ln) is well-formed iff for-each 1..n, offset(Li) % Li.bitAlignment() == 0 >> >> Moreover, this patch also validates the alignment parameter to calls of `MemoryLayout::withBitAlignment` on sequence and group layouts: >> >> * sequenceLayout(L).withBitAlignment(a) is well-formed iff L.bitAlignment() <= a >> * groupLayout(L1, ..., Ln).withBitAlignment(a) is well-formed iff max(L1.bitAlignment(), ..., Ln.bitAlignment()) <= a >> >> These checks prevent bad layouts from being constructed (either with factories, or with bad calls to `withBitAlignment`), w/o restricting the expressiveness of the memory layout API. >> Moreover, since all layouts are now well-formed by construction, we no longer need lazy checks when creating a deferefence var handle. > > Maurizio Cimadamore has updated the pull request incrementally with one additional commit since the last revision: > > Update src/java.base/share/classes/java/lang/foreign/GroupLayout.java > > Co-authored-by: Jorn Vernee src/java.base/share/classes/jdk/internal/foreign/layout/AbstractGroupLayout.java line 143: > 141: long size = 0; > 142: for (MemoryLayout elem : elems) { > 143: if (this == STRUCT && (size % elem.bitAlignment() != 0)) { We might drop `sizeOp` and instead have two different `sizeof` implementations in a more OO style. ------------- PR Review Comment: https://git.openjdk.org/panama-foreign/pull/824#discussion_r1151505440 From pminborg at openjdk.org Wed Mar 29 07:37:36 2023 From: pminborg at openjdk.org (Per Minborg) Date: Wed, 29 Mar 2023 07:37:36 GMT Subject: [foreign-memaccess+abi] RFR: 8305087: MemoryLayout API checks should be more eager [v2] In-Reply-To: References: Message-ID: <2lSMR-PHUrBWr6ZTq_75VoL8WaNUzxjtvF1JEc5AD50=.2849e304-ce23-4bb2-917f-afb79b1ebb90@github.com> On Tue, 28 Mar 2023 16:56:39 GMT, Maurizio Cimadamore wrote: >> This patch adds eager check on construction of sequence and group layouts. More specifically: >> >> * sequenceLayout(L) is well-formed iff L.bitAlignment() <= L.bitSize() >> * groupLayout(L1, ? Ln) is well-formed iff for-each 1..n, offset(Li) % Li.bitAlignment() == 0 >> >> Moreover, this patch also validates the alignment parameter to calls of `MemoryLayout::withBitAlignment` on sequence and group layouts: >> >> * sequenceLayout(L).withBitAlignment(a) is well-formed iff L.bitAlignment() <= a >> * groupLayout(L1, ..., Ln).withBitAlignment(a) is well-formed iff max(L1.bitAlignment(), ..., Ln.bitAlignment()) <= a >> >> These checks prevent bad layouts from being constructed (either with factories, or with bad calls to `withBitAlignment`), w/o restricting the expressiveness of the memory layout API. >> Moreover, since all layouts are now well-formed by construction, we no longer need lazy checks when creating a deferefence var handle. > > Maurizio Cimadamore has updated the pull request incrementally with one additional commit since the last revision: > > Update src/java.base/share/classes/java/lang/foreign/GroupLayout.java > > Co-authored-by: Jorn Vernee Marked as reviewed by pminborg (Committer). test/jdk/java/foreign/TestLayoutPaths.java line 219: > 217: ValueLayout.JAVA_CHAR.withBitAlignment(8).withName("1"), > 218: ValueLayout.JAVA_FLOAT.withBitAlignment(8).withName("2"), > 219: ValueLayout.JAVA_LONG.withBitAlignment(8).withName("3") Maybe there should be an alias for `withBitAlignment(8)`? E.g. `JAVA_LONG.withoutAlignment()`. ------------- PR Review: https://git.openjdk.org/panama-foreign/pull/824#pullrequestreview-1362427415 PR Review Comment: https://git.openjdk.org/panama-foreign/pull/824#discussion_r1151508371 From notzed at gmail.com Wed Mar 29 09:37:19 2023 From: notzed at gmail.com (Michael Zucchi) Date: Wed, 29 Mar 2023 20:07:19 +1030 Subject: Comparing the performance of Panama with JNI, JNA, and JNR - based on Java 21 In-Reply-To: References: <318e5773-060f-410a-8e97-29285d5527e4@oracle.com> <3d0d7c91-03b1-caa3-e82a-ed0b375c5f5d@gmail.com> Message-ID: On 26/3/23 23:16, Maurizio Cimadamore wrote: > Forgot: another problem is that just offloading to external "strlen" > will not respect the memory segment boundaries (e.g. the underlying > strlen will keep going even past the spatial boundaries of the memory > segment). But it'll be a very common case that the strings are from unbounded pointers such as query methods that return a pointer or struct members of char *.? For such memorysegments it would be an obvious fit.? But I suppose if it's actually a problem for anyone they just can roll their own implementation. On 26/3/23 22:52, Maurizio Cimadamore wrote: > I think allowing easier creation of struct layouts (as I stated in the > other email) is a nice to have. The main question is to whether the > API should allow for creation of layouts that are "bad" or not. For > most use cases, I agree that the preferred answer would be "no" - I > wonder if in most advanced cases where a client wants to transform an > existing struct layout into a new one, not having the ability to say > where padding should go will backfire. I'd be curious to know what these "advanced cases" could possibly be?? And how an object ostensibly for creating varhandles that can't create varhandles could have any practical use?? Alignment is enforced everywhere else, it seems so arbitrarily inconsistent not to do so here. As far as I can tell anything you can actually do in c you could also do with a layout api that enforced the alignment (and calculated the post-struct padding) based on the layout details of the members.? And explicit padding layouts could still be used to add arbitrary gaps. e.g. struct __attribute__((packed)) a { ? char b; ? int a; } sizeof == 5 === structLayout(JAVA_BYTE.withName("a"), *JAVA_INT_UNALIGNED*.withName("b")); struct __attribute__((packed)) a { ? char b; ? int a __attribute__((aligned(2))); } size == 6 === structLayout(JAVA_BYTE.withName("a"), JAVA_INT.*withBitAlignment(16).*withName("b")); // assuming enforced padding It's not rocket science - you can only tweak the packing in one way, by changing alignment by (2^N) bytes.? C just doesn't have support for creating arbitrary bitstreams using struct or union - for anything like that you're forced to do it by hand with something like a ByteBuffer.?? If you wanted to translate to or from a packed to non-packed actual 'struct' you'd just use two separate struct definitions and copy them member by member - and you'd have to do the same with MemoryLayout. I came across an article about the practicalities of the struct packing rules - it's mostly based on what maps efficiently to real hardware[1].? Micrsoft's struct layout is basically the same as gcc[2] apart from bitfields, but they're never portable anyway. Maybe some obscure compilers have other facilities for special purposes as they are beyond the c standard.? But this also means the system ABI is usually used for struct packing for re-usable libraries, that's sort of the whole point of having a system ABI defined - particularly for exactly the case of multi-language inter-op that the foreign abi is for. "maybe it could be useful to someone some time" sounds a lot like over engineering to me. Apparently also more specifically called "Boat Anchor" "anti-pattern" these days [3]. Anyway? i've said my piece for now and i'll go back to lurking. ?Z [1] http://www.catb.org/esr/structure-packing/ [2] https://gcc.gnu.org/onlinedocs/gcc/x86-Options.html#index-mms-bitfields [3] https://en.wikipedia.org/wiki/Boat_anchor_(metaphor)#Software -------------- next part -------------- An HTML attachment was scrubbed... URL: From maurizio.cimadamore at oracle.com Wed Mar 29 10:36:32 2023 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Wed, 29 Mar 2023 11:36:32 +0100 Subject: Comparing the performance of Panama with JNI, JNA, and JNR - based on Java 21 In-Reply-To: References: Message-ID: On 24/03/2023 19:07, Glavo wrote: > 2.?StructLayout must manually specify all padding > > Can we provide a convenient method for automatically padding > between fields based on alignment? > The current structLayout method is annoying for situations where > you need to manually simulate the layout of a C struct. > > I'd like to return to this topic, since we have spent some more time thinking about it. First, we have added extra eager checks (as also suggested by Michael) so that non-sensical layouts are ruled out at creation: https://git.openjdk.org/panama-foreign/pull/824 On the topic of adding a more user-friendly struct factory, I am less convinced that such an API really belongs in MemoryLayout. First, memory layouts are fairly general, and can be used to model things that are *not* C structs. Consider this: |structLayout(JAVA_LONG, JAVA_INT) | This layout is valid, and you can dereference both struct fields w/o issues using var handles. That said, the size of this layout (12) is not a multiple of its alignment (8), so if you nest this layout inside a sequence layout, you would get an IllegalArgumentException. But you might never need to create an array of these things, in which case a memory layout such as the one above is perfectly sensible. The C language, on the other hand, enforce specific constraints on its structs - one such constraint is that all struct layouts must have a size that is a multiple of their alignment. Which means that the above struct layout does not correspond to any C struct declaration. /And that?s ok/. On top of that, even if C structs and FFM struct layouts agreed 100%, it would still make sense for memory layouts to expose a ?raw? struct layout factory, for clients (maybe tools?) wanting to validate the correctness of their assumptions. So, for the time being, I think it would be better to keep the FFM API the way it is, and have all the various layout factories act transparently in a ?what you see is what you get? manner. The existing factories are meant to be primitive building blocks, and their primary goal is to be predictable, general and easy to understand. (After all, any non-primitive factory we might add in the future /needs/ to be explained in terms of some simpler factory). Does this mean that there will never be higher-level functionalities? Not necessarily, even though such functionalities might well end up falling outside the scope of JEP 442 (and its predecessor JEPs). Some work Per did in this area [1, 2] shows that there are functionalities that are useful when working with layouts, even though we might not necessarily have found the best place where to put them. Also, I believe at some point there will be some story for /transforming/ a layout into another, so again there?s a question of where to put some canned transforms (e.g. to swap endianness of all value layouts in a layout). I think a ?higher-level? factory for creating C-like layouts belong in the same place as these functionalities. They are nice-to-have, but not ?primitive? enough, I think, to deserve a spot in the MemoryLayout class (evidence of that is that it is fairly easy to build such a factory externally [3]). Maurizio [1] - https://git.openjdk.org/panama-foreign/pull/715 [2] - https://github.com/openjdk/panama-foreign/pull/695 [3] - https://github.com/openjdk/panama-foreign/blob/foreign-memaccess%2Babi/src/java.base/share/classes/jdk/internal/foreign/Utils.java#L223 ? -------------- next part -------------- An HTML attachment was scrubbed... URL: From mcimadamore at openjdk.org Wed Mar 29 11:35:36 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Wed, 29 Mar 2023 11:35:36 GMT Subject: [foreign-memaccess+abi] RFR: 8305087: MemoryLayout API checks should be more eager [v2] In-Reply-To: <2lSMR-PHUrBWr6ZTq_75VoL8WaNUzxjtvF1JEc5AD50=.2849e304-ce23-4bb2-917f-afb79b1ebb90@github.com> References: <2lSMR-PHUrBWr6ZTq_75VoL8WaNUzxjtvF1JEc5AD50=.2849e304-ce23-4bb2-917f-afb79b1ebb90@github.com> Message-ID: On Wed, 29 Mar 2023 07:32:39 GMT, Per Minborg wrote: >> Maurizio Cimadamore has updated the pull request incrementally with one additional commit since the last revision: >> >> Update src/java.base/share/classes/java/lang/foreign/GroupLayout.java >> >> Co-authored-by: Jorn Vernee > > test/jdk/java/foreign/TestLayoutPaths.java line 219: > >> 217: ValueLayout.JAVA_CHAR.withBitAlignment(8).withName("1"), >> 218: ValueLayout.JAVA_FLOAT.withBitAlignment(8).withName("2"), >> 219: ValueLayout.JAVA_LONG.withBitAlignment(8).withName("3") > > Maybe there should be an alias for `withBitAlignment(8)`? E.g. `JAVA_LONG.withoutAlignment()`. good suggestion - but I think outside the scope of this PR ------------- PR Review Comment: https://git.openjdk.org/panama-foreign/pull/824#discussion_r1151793371 From mcimadamore at openjdk.org Thu Mar 30 10:55:32 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Thu, 30 Mar 2023 10:55:32 GMT Subject: [foreign-memaccess+abi] RFR: 8305087: MemoryLayout API checks should be more eager [v3] In-Reply-To: References: Message-ID: <-daOtRuOQnGaFiP4l63bNPs0SJoLvNZd9eyYLiAZVuU=.acbd4351-bfe0-4fe6-87dc-94f8258a6010@github.com> > This patch adds eager check on construction of sequence and group layouts. More specifically: > > * sequenceLayout(L) is well-formed iff L.bitAlignment() <= L.bitSize() > * groupLayout(L1, ? Ln) is well-formed iff for-each 1..n, offset(Li) % Li.bitAlignment() == 0 > > Moreover, this patch also validates the alignment parameter to calls of `MemoryLayout::withBitAlignment` on sequence and group layouts: > > * sequenceLayout(L).withBitAlignment(a) is well-formed iff L.bitAlignment() <= a > * groupLayout(L1, ..., Ln).withBitAlignment(a) is well-formed iff max(L1.bitAlignment(), ..., Ln.bitAlignment()) <= a > > These checks prevent bad layouts from being constructed (either with factories, or with bad calls to `withBitAlignment`), w/o restricting the expressiveness of the memory layout API. > Moreover, since all layouts are now well-formed by construction, we no longer need lazy checks when creating a deferefence var handle. Maurizio Cimadamore has updated the pull request incrementally with two additional commits since the last revision: - Drop spurious import - Simplify struct/union layout code ------------- Changes: - all: https://git.openjdk.org/panama-foreign/pull/824/files - new: https://git.openjdk.org/panama-foreign/pull/824/files/49b83016..57b189cd Webrevs: - full: https://webrevs.openjdk.org/?repo=panama-foreign&pr=824&range=02 - incr: https://webrevs.openjdk.org/?repo=panama-foreign&pr=824&range=01-02 Stats: 64 lines in 3 files changed: 17 ins; 32 del; 15 mod Patch: https://git.openjdk.org/panama-foreign/pull/824.diff Fetch: git fetch https://git.openjdk.org/panama-foreign.git pull/824/head:pull/824 PR: https://git.openjdk.org/panama-foreign/pull/824 From mcimadamore at openjdk.org Thu Mar 30 10:55:34 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Thu, 30 Mar 2023 10:55:34 GMT Subject: [foreign-memaccess+abi] RFR: 8305087: MemoryLayout API checks should be more eager [v2] In-Reply-To: References: Message-ID: On Wed, 29 Mar 2023 07:29:57 GMT, Per Minborg wrote: >> Maurizio Cimadamore has updated the pull request incrementally with one additional commit since the last revision: >> >> Update src/java.base/share/classes/java/lang/foreign/GroupLayout.java >> >> Co-authored-by: Jorn Vernee > > src/java.base/share/classes/jdk/internal/foreign/layout/AbstractGroupLayout.java line 143: > >> 141: long size = 0; >> 142: for (MemoryLayout elem : elems) { >> 143: if (this == STRUCT && (size % elem.bitAlignment() != 0)) { > > We might drop `sizeOp` and instead have two different `sizeof` implementations in a more OO style. I've did another pass on the impl, where I've greatly simplified AbstractGroupLayoutImpl, StructLayoutImpl and UnionLayoutImpl. Now all the computation occurs in their factories (which is better, as the stack trace in case of an issue is more readable), rather than inside the enum methods. Also, the new classes avoid any kind of re-computation: for each group, we compute size and alignment upfront. We then store the original alignment into a new field (`minBitAlignment`) so that we can use that to determine validity of subsequent `withBitAlignment` operations. ------------- PR Review Comment: https://git.openjdk.org/panama-foreign/pull/824#discussion_r1153080139 From mcimadamore at openjdk.org Fri Mar 31 10:51:26 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Fri, 31 Mar 2023 10:51:26 GMT Subject: [foreign-memaccess+abi] RFR: 8305369: Issues in zero-length memory segment javadoc section In-Reply-To: References: Message-ID: <-jDwKQzNjJYL8R3Jmnq9OK9rK_QFlb2p7KvYQLv1EvM=.7d11a5a2-1dd9-4bc9-aa0c-173737e4c805@github.com> On Fri, 31 Mar 2023 10:44:42 GMT, Maurizio Cimadamore wrote: > This patch addresses a number of issue in the zero-length memory segment javadoc section: > > * there are some typo in the code samples (e.g. extra semi-colons); > * variable names are off (e.g. spurious references to a `foreign` segment variable); > * the explanation of how a pointer is read from a segment is lacking, and could be clarified; > * it would be useful to have links to other section (e.g. in the Linker javadoc) which also deal with ZLMS. Javadoc including changes in this PR can be found here: https://cr.openjdk.org/~mcimadamore/panama/zero_length_javadoc/javadoc/java.base/java/lang/foreign/MemorySegment.html#wrapping-addresses ------------- PR Comment: https://git.openjdk.org/panama-foreign/pull/825#issuecomment-1491724426 From mcimadamore at openjdk.org Fri Mar 31 10:51:25 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Fri, 31 Mar 2023 10:51:25 GMT Subject: [foreign-memaccess+abi] RFR: 8305369: Issues in zero-length memory segment javadoc section Message-ID: This patch addresses a number of issue in the zero-length memory segment javadoc section: * there are some typo in the code samples (e.g. extra semi-colons); * variable names are off (e.g. spurious references to a `foreign` segment variable); * the explanation of how a pointer is read from a segment is lacking, and could be clarified; * it would be useful to have links to other section (e.g. in the Linker javadoc) which also deal with ZLMS. ------------- Commit messages: - Initial push Changes: https://git.openjdk.org/panama-foreign/pull/825/files Webrev: https://webrevs.openjdk.org/?repo=panama-foreign&pr=825&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8305369 Stats: 45 lines in 2 files changed: 11 ins; 8 del; 26 mod Patch: https://git.openjdk.org/panama-foreign/pull/825.diff Fetch: git fetch https://git.openjdk.org/panama-foreign.git pull/825/head:pull/825 PR: https://git.openjdk.org/panama-foreign/pull/825 From duke at openjdk.org Fri Mar 31 11:06:11 2023 From: duke at openjdk.org (duke) Date: Fri, 31 Mar 2023 11:06:11 GMT Subject: git: openjdk/panama-foreign: master: 90 new changesets Message-ID: <34ed1d7b-dc23-493a-becd-0ffc5bddafee@openjdk.org> Changeset: d61de141 Author: Jatin Bhateja Date: 2023-03-24 11:19:07 +0000 URL: https://git.openjdk.org/panama-foreign/commit/d61de141eb8ba52122db43172429f9186ea47e61 8303508: Vector.lane() gets wrong value on x86 Reviewed-by: eliu, thartmann ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.hpp + test/hotspot/jtreg/compiler/vectorapi/Test8303508.java Changeset: 13dd19aa Author: Thomas Schatzl Date: 2023-03-24 12:04:23 +0000 URL: https://git.openjdk.org/panama-foreign/commit/13dd19aac2f259c8c22dc79c615e3bdc546f1850 8304802: After JDK-8297639 the flag G1UsePreventiveGC needs to be added to the obsoletion table Reviewed-by: ayang, dholmes ! src/hotspot/share/gc/g1/g1_globals.hpp ! src/hotspot/share/runtime/arguments.cpp Changeset: 4ec720db Author: Coleen Phillimore Date: 2023-03-24 13:23:40 +0000 URL: https://git.openjdk.org/panama-foreign/commit/4ec720db9f1fedb5da96e70d1a8c5da5e773a5a7 8297977: vmTestbase/nsk/stress/except/except012.java fails with unexpected Exception Reviewed-by: mseledtsov, lmesnik ! test/hotspot/jtreg/ProblemList.txt + test/hotspot/jtreg/runtime/reflect/ReflectOutOfMemoryError.java - test/hotspot/jtreg/vmTestbase/nsk/stress/except/TEST.properties - test/hotspot/jtreg/vmTestbase/nsk/stress/except/except001.java - test/hotspot/jtreg/vmTestbase/nsk/stress/except/except002.java - test/hotspot/jtreg/vmTestbase/nsk/stress/except/except003.java - test/hotspot/jtreg/vmTestbase/nsk/stress/except/except004.java - test/hotspot/jtreg/vmTestbase/nsk/stress/except/except005.java - test/hotspot/jtreg/vmTestbase/nsk/stress/except/except006.java - test/hotspot/jtreg/vmTestbase/nsk/stress/except/except007.java - test/hotspot/jtreg/vmTestbase/nsk/stress/except/except008.java - test/hotspot/jtreg/vmTestbase/nsk/stress/except/except009.java - test/hotspot/jtreg/vmTestbase/nsk/stress/except/except010.java - test/hotspot/jtreg/vmTestbase/nsk/stress/except/except012.java Changeset: f96aee74 Author: Archie L. Cobbs Committer: Vicente Romero Date: 2023-03-24 14:13:21 +0000 URL: https://git.openjdk.org/panama-foreign/commit/f96aee74010476a850175f7012c196e40a31c188 8291154: Create a non static nested class without enclosing class throws VerifyError Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Lower.java + test/langtools/tools/javac/nested/StaticNestedNonStaticSuper.java + test/langtools/tools/javac/nested/StaticNestedNonStaticSuper.out Changeset: 9a8a60f7 Author: Brian Burkhalter Date: 2023-03-24 14:52:58 +0000 URL: https://git.openjdk.org/panama-foreign/commit/9a8a60f7d6caae5b517b4284e10946ccc172ebd3 8304833: (fc) Remove dead code in sun.nio.ch.FileChannelImpl::implCloseChannel Reviewed-by: alanb ! src/java.base/share/classes/sun/nio/ch/FileChannelImpl.java Changeset: d8ba227a Author: Matias Saavedra Silva Committer: Coleen Phillimore Date: 2023-03-24 15:45:18 +0000 URL: https://git.openjdk.org/panama-foreign/commit/d8ba227aa4fcfdd2ab3df005dc3ef9b1e220d435 8304069: ClassFileParser has ad-hoc hashtables Reviewed-by: coleenp, dholmes ! src/hotspot/share/classfile/classFileParser.cpp Changeset: 57276101 Author: Zdenek Zambersky Committer: Aleksey Shipilev Date: 2023-03-24 16:04:16 +0000 URL: https://git.openjdk.org/panama-foreign/commit/57276101df79f07b14b914b36b1155cedec3eb3d 8304353: Add lib-test tier1 testing in GHA Reviewed-by: shade, ihse ! .github/workflows/test.yml Changeset: 97649489 Author: Abhishek Kumar Date: 2023-03-24 16:16:16 +0000 URL: https://git.openjdk.org/panama-foreign/commit/97649489d078a3aa34a73e7f686e507f34155788 8273986: JEditorPane HTML Demo - Accessibility issues Reviewed-by: kizune, serb ! src/java.desktop/share/classes/javax/swing/text/html/AccessibleHTML.java + test/jdk/javax/accessibility/JEditorPane/TestEditorPaneAccessibleChildCount.java + test/jdk/javax/accessibility/JEditorPane/test1.html + test/jdk/javax/accessibility/JEditorPane/test2.html Changeset: 501b6068 Author: Kim Barrett Date: 2023-03-24 18:17:45 +0000 URL: https://git.openjdk.org/panama-foreign/commit/501b606816e73e4e2356b3ac218720d8fbae9860 8298725: Add BitMap support for reverse iteration Reviewed-by: stefank, aboldtch, tschatzl ! src/hotspot/share/utilities/bitMap.hpp ! src/hotspot/share/utilities/bitMap.inline.hpp ! test/hotspot/gtest/utilities/test_bitMap_iterate.cpp Changeset: 3f59b75b Author: Ian Graves Date: 2023-03-24 18:32:27 +0000 URL: https://git.openjdk.org/panama-foreign/commit/3f59b75bd8a858d2327ca975a57079747ff11b8e 8304898: Fix Copyright Headers for JLink Source Files Reviewed-by: iris, mchung ! src/jdk.jlink/share/classes/jdk/tools/jlink/builder/DefaultImageBuilder.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/Jlink.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/JlinkTask.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/TaskHelper.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/resources/jlink.properties ! src/jdk.jlink/share/classes/jdk/tools/jlink/resources/plugins.properties ! test/jdk/tools/lib/tests/Helper.java ! test/jdk/tools/lib/tests/JImageGenerator.java Changeset: 765a9425 Author: Weijun Wang Date: 2023-03-24 18:40:07 +0000 URL: https://git.openjdk.org/panama-foreign/commit/765a94258d84ac6f22bb2dedd1fc1afdbabb2b14 8304136: Match allocation and free in sspi.cpp Reviewed-by: djelinski ! src/java.security.jgss/windows/native/libsspi_bridge/sspi.cpp Changeset: 38e17148 Author: Quan Anh Mai Date: 2023-03-25 05:30:16 +0000 URL: https://git.openjdk.org/panama-foreign/commit/38e17148faef7799515478bd834ed2fa1a5153de 8304258: x86: Improve the code generation of VectorRearrange with int and float Reviewed-by: kvn, jbhateja, sviswanathan ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.hpp ! src/hotspot/cpu/x86/x86.ad Changeset: 65e01da9 Author: Eirik Bjorsnos Committer: Lance Andersen Date: 2023-03-26 23:00:15 +0000 URL: https://git.openjdk.org/panama-foreign/commit/65e01da925d49b77341551e38ffb7f0ea7141650 8304013: Add a fast, non-manual alternative to test/jdk/java/util/zip/ZipFile/TestTooManyEntries Reviewed-by: lancea, martin + test/jdk/java/util/zip/ZipFile/EndOfCenValidation.java Changeset: a5ffa079 Author: Daniel Jeli?ski Date: 2023-03-27 05:22:45 +0000 URL: https://git.openjdk.org/panama-foreign/commit/a5ffa079a0d6107be652bc026f5c91b7dcd791f8 7026262: HttpServer: improve handling of finished HTTP exchanges Reviewed-by: dfuchs, michaelm ! src/jdk.httpserver/share/classes/sun/net/httpserver/ChunkedOutputStream.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/ExchangeImpl.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/FixedLengthOutputStream.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/ServerImpl.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/UndefLengthOutputStream.java + test/jdk/com/sun/net/httpserver/bugs/ExceptionKeepAlive.java + test/jdk/com/sun/net/httpserver/bugs/ZeroLengthOutputStream.java ! test/jdk/sun/net/www/http/KeepAliveCache/B5045306.java ! test/jdk/sun/net/www/http/KeepAliveCache/B8293562.java Changeset: 4acf20df Author: Thomas Schatzl Date: 2023-03-27 08:17:43 +0000 URL: https://git.openjdk.org/panama-foreign/commit/4acf20df7b4729dbf1b6fbab8a94d84c76437031 8304809: Remove develop flag G1ExitOnExpansionFailure Reviewed-by: ayang, kbarrett ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1_globals.hpp Changeset: 10fa7d1f Author: Thomas Schatzl Date: 2023-03-27 08:33:57 +0000 URL: https://git.openjdk.org/panama-foreign/commit/10fa7d1f9bf3398399c050b9ddf4c94341131a94 8304804: Remove develop flag G1VerifyCTCleanup Reviewed-by: ayang, kbarrett ! src/hotspot/share/gc/g1/g1HeapVerifier.cpp ! src/hotspot/share/gc/g1/g1_globals.hpp Changeset: de1c12ed Author: Bhavana Kilambi Committer: Xiaohong Gong Date: 2023-03-27 08:50:05 +0000 URL: https://git.openjdk.org/panama-foreign/commit/de1c12ed636a43cc74b81c48cc987332fe341d7a 8301012: [vectorapi]: Intrinsify CompressBitsV/ExpandBitsV and add the AArch64 SVE backend implementation Co-authored-by: Xiaohong Gong Co-authored-by: Jatin Bhateja Reviewed-by: ngasson, eliu, thartmann ! src/hotspot/cpu/aarch64/aarch64_vector.ad ! src/hotspot/cpu/aarch64/aarch64_vector_ad.m4 ! src/hotspot/share/adlc/formssel.cpp ! src/hotspot/share/opto/classes.hpp ! src/hotspot/share/opto/vectornode.cpp ! src/hotspot/share/opto/vectornode.hpp ! src/hotspot/share/runtime/vmStructs.cpp ! test/hotspot/jtreg/compiler/lib/ir_framework/IRNode.java + test/hotspot/jtreg/compiler/vectorapi/TestVectorCompressExpandBits.java Changeset: 0712adc2 Author: Prasanta Sadhukhan Date: 2023-03-27 10:17:27 +0000 URL: https://git.openjdk.org/panama-foreign/commit/0712adc2dd2e61f9409dd5fd210bc6a8c5b8276d 7169951: SwingSet2 throws NullPointerException with Nimbus L&F Reviewed-by: abhiscxk, jdv ! src/java.desktop/share/classes/javax/swing/plaf/synth/SynthTabbedPaneUI.java Changeset: 20830883 Author: Justin King Date: 2023-03-27 14:03:04 +0000 URL: https://git.openjdk.org/panama-foreign/commit/20830883dff1fa096cf929d81360953e7f3cfc46 8304828: Lots of constant static data not declared static const in cpu/x86 Reviewed-by: dholmes, kvn ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86_32_constants.cpp ! src/hotspot/cpu/x86/macroAssembler_x86_32_cos.cpp ! src/hotspot/cpu/x86/macroAssembler_x86_32_exp.cpp ! src/hotspot/cpu/x86/macroAssembler_x86_32_log.cpp ! src/hotspot/cpu/x86/macroAssembler_x86_32_log10.cpp ! src/hotspot/cpu/x86/macroAssembler_x86_32_pow.cpp ! src/hotspot/cpu/x86/macroAssembler_x86_32_sin.cpp ! src/hotspot/cpu/x86/macroAssembler_x86_32_tan.cpp ! src/hotspot/cpu/x86/register_x86.cpp ! src/hotspot/cpu/x86/register_x86.hpp ! src/hotspot/cpu/x86/stubGenerator_x86_32.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64_adler.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64_aes.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64_chacha.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64_constants.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64_exp.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64_ghash.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64_log.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64_poly.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64_pow.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64_sin.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64_tan.cpp ! src/hotspot/cpu/x86/stubRoutines_x86.cpp ! src/hotspot/cpu/x86/stubRoutines_x86.hpp Changeset: 8d423f73 Author: Justin King Date: 2023-03-27 14:12:58 +0000 URL: https://git.openjdk.org/panama-foreign/commit/8d423f73051004bafdfa2961c57daf7761ce900c 8304723: Statically allocate global mutexes 8304736: Heap_lock is created twice Reviewed-by: coleenp, dholmes, tschatzl ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/runtime/mutexLocker.hpp ! src/hotspot/share/utilities/ostream.cpp Changeset: 46b06023 Author: Eirik Bjorsnos Committer: Alan Bateman Date: 2023-03-27 14:32:41 +0000 URL: https://git.openjdk.org/panama-foreign/commit/46b0602376893df204bf4d624938bf89abe04d89 8304547: Remove checking of -Djava.compiler in src/jdk.jdi/share/classes/com/sun/tools/jdi/SunCommandLineLauncher.java Reviewed-by: dholmes, cjplummer, alanb ! src/jdk.jdi/share/classes/com/sun/tools/jdi/SunCommandLineLauncher.java Changeset: 138cdc92 Author: Jan Lahoda Date: 2023-03-27 15:01:45 +0000 URL: https://git.openjdk.org/panama-foreign/commit/138cdc9283ae8f3367e51f0fe7e27833118dd7cb 8304694: Runtime exception thrown when break stmt is missing Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TransPatterns.java ! test/langtools/tools/javac/patterns/DeconstructionDesugaring.java Changeset: 6b2f34f8 Author: Julian Waters Date: 2023-03-27 15:12:20 +0000 URL: https://git.openjdk.org/panama-foreign/commit/6b2f34f88a39031d17b858ffcf631b2fd101c2eb 8304718: GetIntArrayElements should not be passed JNI_FALSE Reviewed-by: serb ! src/java.desktop/macosx/native/libawt_lwawt/awt/LWCToolkit.m ! src/java.desktop/unix/native/libawt_xawt/awt/awt_Robot.c ! src/java.desktop/windows/native/libawt/windows/awt_Component.cpp Changeset: 2f34687e Author: Jonathan Gibbons Date: 2023-03-27 15:42:10 +0000 URL: https://git.openjdk.org/panama-foreign/commit/2f34687ec1210317a9215496d0184fe30bda6437 8304689: Add hidden option to disable external spec page Reviewed-by: erikj, hannesw ! make/Docs.gmk ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlConfiguration.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDoclet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlOptions.java ! test/langtools/jdk/javadoc/doclet/testSpecTag/TestSpecTag.java Changeset: 87b314a9 Author: Damon Nguyen Committer: Alexander Zuev Date: 2023-03-27 17:04:20 +0000 URL: https://git.openjdk.org/panama-foreign/commit/87b314a985c5c3937c1d1d8daadd3e9f8b1acd9d 7093691: Nimbus LAF: disabled JComboBox using renderer has bad font color Reviewed-by: honkar, kizune, psadhukhan ! src/java.desktop/share/classes/javax/swing/DefaultListCellRenderer.java ! src/java.desktop/share/classes/javax/swing/plaf/synth/SynthComboBoxUI.java + test/jdk/javax/swing/JComboBox/DisabledComboBoxFontTestAuto.java Changeset: 6c3b10fb Author: Roger Riggs Date: 2023-03-27 17:45:20 +0000 URL: https://git.openjdk.org/panama-foreign/commit/6c3b10fb1d95fb03e2f7d988d4c772960af11c91 8303485: Replacing os.name for operating system customization Reviewed-by: naoto, erikj, alanb ! make/modules/java.base/gensrc/GensrcMisc.gmk ! src/java.base/share/classes/java/lang/ProcessBuilder.java ! src/java.base/share/classes/java/util/zip/ZipFile.java ! src/java.base/share/classes/jdk/internal/foreign/CABI.java + src/java.base/share/classes/jdk/internal/util/OperatingSystem.java + src/java.base/share/classes/jdk/internal/util/OperatingSystemProps.java.template ! src/java.base/share/classes/jdk/internal/util/StaticProperty.java ! src/java.base/share/classes/sun/launcher/LauncherHelper.java ! src/java.base/share/classes/sun/net/sdp/SdpSupport.java ! src/java.base/unix/classes/java/lang/ProcessImpl.java ! src/java.base/unix/classes/sun/net/PortConfig.java ! test/jdk/java/foreign/TestUnsupportedLinker.java + test/jdk/jdk/internal/util/OSTest.java Changeset: 80e2d52f Author: Damon Nguyen Committer: Alexander Zvegintsev Date: 2023-03-27 19:03:56 +0000 URL: https://git.openjdk.org/panama-foreign/commit/80e2d52f76806bc886138a0fd4c34b1ca3dc4c0b 8302558: Editable JComboBox's popup blocks user from seeing characters in Aqua look and feel Reviewed-by: psadhukhan, azvegint ! src/java.desktop/macosx/classes/com/apple/laf/AquaComboBoxPopup.java + test/jdk/javax/swing/JComboBox/EditableComboBoxPopupPos.java Changeset: 14b970dc Author: Archie L. Cobbs Committer: Vicente Romero Date: 2023-03-27 21:33:01 +0000 URL: https://git.openjdk.org/panama-foreign/commit/14b970dc9e8d0fe1173039c01cced8a9422ec1ae 8296656: java.lang.NoClassDefFoundError exception on running fully legitimate code 8287885: Local classes cause ClassLoader error if the type names are similar but not same Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Lint.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/file/BaseFileManager.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/file/JavacFileManager.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/file/PathFileObject.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac.properties ! src/jdk.compiler/share/man/javac.1 ! test/langtools/tools/javac/diags/examples.not-yet.txt + test/langtools/tools/javac/file/OutputFileClashTest.java ! test/langtools/tools/lib/toolbox/JavacTask.java Changeset: f8e8fc7e Author: Justin Lu Committer: Naoto Sato Date: 2023-03-27 21:36:14 +0000 URL: https://git.openjdk.org/panama-foreign/commit/f8e8fc7e29f9b27bc6031804f916c34b8ef5a83e 8177352: Calendar.getDisplayName(s) in non-lenient mode inconsistent, does not match spec Reviewed-by: naoto ! src/java.base/share/classes/java/util/Calendar.java Changeset: 3b88b2a9 Author: Justin Lu Committer: Naoto Sato Date: 2023-03-27 21:37:16 +0000 URL: https://git.openjdk.org/panama-foreign/commit/3b88b2a9f88f47b850bd975a76c4a7050ccd8fd0 8304761: Update IANA Language Subtag Registry to Version 2023-03-22 Reviewed-by: naoto ! src/java.base/share/data/lsrdata/language-subtag-registry.txt ! test/jdk/java/util/Locale/LanguageSubtagRegistryTest.java Changeset: 554bccf0 Author: Serguei Spitsyn Date: 2023-03-27 21:44:48 +0000 URL: https://git.openjdk.org/panama-foreign/commit/554bccf0469fbaf65ac692b4e52bddedafadca6f 8304448: Kitchensink failed: assert(!thread->is_in_any_VTMS_transition()) failed: class prepare events are not allowed in any VTMS transition Co-authored-by: Alan Bateman Reviewed-by: rpressler, alanb ! src/java.base/share/classes/jdk/internal/vm/Continuation.java Changeset: 63ce88b5 Author: David Holmes Date: 2023-03-27 22:05:23 +0000 URL: https://git.openjdk.org/panama-foreign/commit/63ce88b5fbc8e2b9be01a135156885000bc5c48d 8304147: JVM crash during shutdown when dumping dynamic archive Reviewed-by: ccheung, matsaave, coleenp ! src/hotspot/share/cds/dynamicArchive.cpp ! src/hotspot/share/cds/dynamicArchive.hpp ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/runtime/java.cpp ! src/hotspot/share/runtime/javaThread.cpp + test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/ExitRaceTest.java + test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/test-classes/ExitRace.java Changeset: 6aec6f3a Author: Matias Saavedra Silva Date: 2023-03-27 22:12:36 +0000 URL: https://git.openjdk.org/panama-foreign/commit/6aec6f3a842ead30b26cd31dc57a2ab268f67875 8304931: vm/concepts/methods/methods001/methods00101m1/methods00101m1 failures with already pending exception Reviewed-by: coleenp, dholmes ! src/hotspot/share/classfile/classFileParser.cpp Changeset: 426025aa Author: Archie L. Cobbs Committer: Vicente Romero Date: 2023-03-28 03:39:29 +0000 URL: https://git.openjdk.org/panama-foreign/commit/426025aab42d485541a899844b96c06570088771 8303526: Changing "arbitrary" Name.compareTo() ordering breaks the regression suite Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symbol.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/Name.java Changeset: 4f625c0b Author: Eirik Bjorsnos Committer: David Holmes Date: 2023-03-28 04:21:15 +0000 URL: https://git.openjdk.org/panama-foreign/commit/4f625c0b9aed5ecd1d6f1dae824a007680fe1d8b 8304543: Modernize debugging jvm args in test/hotspot/jtreg/vmTestbase/nsk/jdi/Argument/value/value004.java Reviewed-by: dholmes, cjplummer, alanb ! test/hotspot/jtreg/vmTestbase/nsk/jdi/Argument/value/value004.java Changeset: 3c4cd50e Author: Daniel Jeli?ski Date: 2023-03-28 06:12:30 +0000 URL: https://git.openjdk.org/panama-foreign/commit/3c4cd50e3cef5905d6c5dacddd6759e118bc50ca 8304963: HttpServer closes connection after processing HEAD after JDK-7026262 Reviewed-by: dfuchs ! src/jdk.httpserver/share/classes/sun/net/httpserver/ExchangeImpl.java = test/jdk/com/sun/net/httpserver/bugs/HeadKeepAlive.java Changeset: 7987ad42 Author: Albert Mingkun Yang Date: 2023-03-28 07:24:33 +0000 URL: https://git.openjdk.org/panama-foreign/commit/7987ad427bfa3655b1de3b0003e5707832bf948c 8304412: Serial: Refactor old generation cards update after Full GC Reviewed-by: tschatzl, kbarrett ! src/hotspot/share/gc/serial/cardTableRS.cpp ! src/hotspot/share/gc/serial/cardTableRS.hpp ! src/hotspot/share/gc/serial/genMarkSweep.cpp Changeset: a06f4619 Author: nbauma109 Committer: Andrey Turbanov Date: 2023-03-28 08:47:55 +0000 URL: https://git.openjdk.org/panama-foreign/commit/a06f46196afd015db300ecf10bbb2a309b74e9d8 8303214: Typo in java.util.Collections#synchronizedNavigableMap javadoc Reviewed-by: martin, smarks, aturbanov ! src/java.base/share/classes/java/util/Collections.java Changeset: cddaf686 Author: Daniel Jeli?ski Date: 2023-03-28 08:57:02 +0000 URL: https://git.openjdk.org/panama-foreign/commit/cddaf686e16424e9543be50a48b1c02337e79cf1 8304962: sun/net/www/http/KeepAliveCache/B5045306.java: java.lang.RuntimeException: Failed: Initial Keep Alive Connection is not being reused Reviewed-by: jpai ! test/jdk/sun/net/www/http/KeepAliveCache/B5045306.java Changeset: 60640a21 Author: Per Minborg Date: 2023-03-28 10:58:52 +0000 URL: https://git.openjdk.org/panama-foreign/commit/60640a216d65b89a3421625ae088823e0d478267 8300979: Lazily initialize (byte, char)arr in java.io.DataInputStream Reviewed-by: alanb ! src/java.base/share/classes/java/io/DataInputStream.java Changeset: 395a4ce0 Author: Sergey Tsypanov Committer: Alan Bateman Date: 2023-03-28 11:14:09 +0000 URL: https://git.openjdk.org/panama-foreign/commit/395a4ce0dd4181bbb4bc0888038309901ebf8fea 8304591: (fs) UnixPath.stringValue need not be volatile Reviewed-by: alanb, bpb, shade ! src/java.base/unix/classes/sun/nio/fs/UnixPath.java Changeset: c90699ea Author: Jaikiran Pai Date: 2023-03-28 12:02:27 +0000 URL: https://git.openjdk.org/panama-foreign/commit/c90699eae7698481c10d10196e6199582f0c10aa 8304989: unnecessary dash in @param gives double-dash in docs Reviewed-by: lancea ! src/java.base/share/classes/java/lang/Enum.java ! src/java.base/share/classes/java/net/CookieHandler.java ! src/java.base/share/classes/java/net/ResponseCache.java Changeset: 927e674c Author: Per Minborg Date: 2023-03-28 13:15:19 +0000 URL: https://git.openjdk.org/panama-foreign/commit/927e674c12aa7965c63059b8f650d8f60156cefc 8300977: Retire java.io.ExpiringCache Reviewed-by: alanb, jpai - src/java.base/share/classes/java/io/ExpiringCache.java ! src/java.base/share/classes/java/io/FileSystem.java ! src/java.base/unix/classes/java/io/DefaultFileSystem.java ! src/java.base/unix/classes/java/io/UnixFileSystem.java ! src/java.base/windows/classes/java/io/DefaultFileSystem.java ! src/java.base/windows/classes/java/io/WinNTFileSystem.java Changeset: 32ef4521 Author: Justin King Date: 2023-03-28 14:17:03 +0000 URL: https://git.openjdk.org/panama-foreign/commit/32ef45213223d689afdc307e96468b3621171a26 8304884: Update Bytecodes data to be mostly compile time constants Reviewed-by: coleenp, dholmes ! src/hotspot/share/interpreter/bytecodes.cpp ! src/hotspot/share/interpreter/bytecodes.hpp Changeset: 83ce65e1 Author: Jonathan Gibbons Date: 2023-03-28 14:52:22 +0000 URL: https://git.openjdk.org/panama-foreign/commit/83ce65e12ccb9e98990a4de3aa31ca308695c7a7 8305004: add @spec tags to langtools modules Reviewed-by: iris ! src/java.compiler/share/classes/javax/annotation/processing/Filer.java ! src/java.compiler/share/classes/javax/tools/JavaFileManager.java ! src/jdk.compiler/share/classes/com/sun/source/doctree/package-info.java ! src/jdk.compiler/share/classes/com/sun/source/util/DocTrees.java ! src/jdk.javadoc/share/classes/jdk/javadoc/doclet/StandardDoclet.java ! src/jdk.javadoc/share/classes/module-info.java Changeset: 695683b5 Author: Martin Doerr Date: 2023-03-28 15:45:34 +0000 URL: https://git.openjdk.org/panama-foreign/commit/695683b5b15c69a56fe7ee1a93482fe7c3530ca8 8304880: [PPC64] VerifyOops code in C1 doesn't work with ZGC Reviewed-by: shade ! src/hotspot/cpu/ppc/c1_LIRAssembler_ppc.cpp Changeset: c1f5ca11 Author: Archie L. Cobbs Committer: Vicente Romero Date: 2023-03-28 16:14:37 +0000 URL: https://git.openjdk.org/panama-foreign/commit/c1f5ca115d514327f4c3681e61663e22b686f8c7 8303623: Compiler should disallow non-standard UTF-8 string encodings Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Source.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Lower.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassFile.java ! 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/jvm/PoolWriter.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/ByteBuffer.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/Convert.java + src/jdk.compiler/share/classes/com/sun/tools/javac/util/InvalidUtfException.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/Name.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/Names.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/SharedNameTable.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/UnsharedNameTable.java + test/langtools/tools/javac/classreader/InvalidModifiedUtf8Test.java ! test/langtools/tools/javac/diags/examples.not-yet.txt Changeset: 1fc218c5 Author: Jim Laskey Date: 2023-03-28 16:36:07 +0000 URL: https://git.openjdk.org/panama-foreign/commit/1fc218c58b58887c3b217603ed222ba0b561a9f1 8303912: Clean up JavadocTokenizer Reviewed-by: vromero, jjg ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavaTokenizer.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavadocTokenizer.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/Tokens.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/UnicodeReader.java Changeset: fab23577 Author: Jan Lahoda Date: 2023-03-28 16:56:28 +0000 URL: https://git.openjdk.org/panama-foreign/commit/fab23577ab7fb88f90df638588e14da6bb620a3a 8304498: JShell does not switch to raw mode when there is no /bin/test Reviewed-by: coffeys, vromero ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/OSUtils.java + test/jdk/jdk/internal/jline/OSUtilsTest.java Changeset: 1683a63a Author: Jim Laskey Date: 2023-03-28 17:48:59 +0000 URL: https://git.openjdk.org/panama-foreign/commit/1683a63a7df6eb3bd71cd9d0a7ab7081b92107c4 8305098: [Backout] JDK-8303912 Clean up JavadocTokenizer Reviewed-by: jjg, mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavaTokenizer.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavadocTokenizer.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/Tokens.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/UnicodeReader.java Changeset: ca745cb4 Author: Raffaello Giulietti Date: 2023-03-28 17:55:23 +0000 URL: https://git.openjdk.org/panama-foreign/commit/ca745cb426a3287167ba5bbf1a554e56a84fd91c 8291598: Matcher.appendReplacement should not create new StringBuilder instances Reviewed-by: rriggs ! src/java.base/share/classes/java/util/regex/Matcher.java Changeset: 50a995f0 Author: Daniel Fuchs Date: 2023-03-28 18:58:29 +0000 URL: https://git.openjdk.org/panama-foreign/commit/50a995f03a0cc5c342929a0f48c43fd04fdf0b0d 8304927: Update java/net/httpclient/BasicAuthTest.java to check basic auth over HTTP/2 Reviewed-by: jpai ! test/jdk/java/net/httpclient/BasicAuthTest.java ! test/jdk/java/net/httpclient/DigestEchoServer.java ! test/jdk/java/net/httpclient/lib/jdk/httpclient/test/lib/common/HttpServerAdapters.java Changeset: 3fbbfd17 Author: Matias Saavedra Silva Date: 2023-03-28 19:50:38 +0000 URL: https://git.openjdk.org/panama-foreign/commit/3fbbfd17491906d707f73fe6b0db2989363c303a 8301995: Move invokedynamic resolution information out of ConstantPoolCacheEntry Co-authored-by: Richard Reingruber Co-authored-by: Dingli Zhang Co-authored-by: Gui Cao Co-authored-by: Amit Kumar Reviewed-by: coleenp, dnsimon, fparain, gcao, aph, fyang, amitkumar, lucy ! src/hotspot/cpu/aarch64/interp_masm_aarch64.cpp ! src/hotspot/cpu/aarch64/interp_masm_aarch64.hpp ! src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp ! src/hotspot/cpu/aarch64/templateTable_aarch64.cpp ! src/hotspot/cpu/ppc/interp_masm_ppc.hpp ! src/hotspot/cpu/ppc/interp_masm_ppc_64.cpp ! src/hotspot/cpu/ppc/templateInterpreterGenerator_ppc.cpp ! src/hotspot/cpu/ppc/templateTable_ppc_64.cpp ! src/hotspot/cpu/riscv/interp_masm_riscv.cpp ! src/hotspot/cpu/riscv/interp_masm_riscv.hpp ! src/hotspot/cpu/riscv/templateInterpreterGenerator_riscv.cpp ! src/hotspot/cpu/riscv/templateTable_riscv.cpp ! src/hotspot/cpu/s390/interp_masm_s390.cpp ! src/hotspot/cpu/s390/interp_masm_s390.hpp ! src/hotspot/cpu/s390/templateInterpreterGenerator_s390.cpp ! src/hotspot/cpu/s390/templateTable_s390.cpp ! src/hotspot/cpu/x86/interp_masm_x86.cpp ! src/hotspot/cpu/x86/interp_masm_x86.hpp ! src/hotspot/cpu/x86/templateInterpreterGenerator_x86.cpp ! src/hotspot/cpu/x86/templateTable_x86.cpp ! src/hotspot/share/c1/c1_Runtime1.cpp ! src/hotspot/share/cds/classListParser.cpp ! src/hotspot/share/ci/ciEnv.cpp ! src/hotspot/share/ci/ciReplay.cpp ! src/hotspot/share/interpreter/abstractInterpreter.cpp ! src/hotspot/share/interpreter/bootstrapInfo.cpp ! src/hotspot/share/interpreter/bootstrapInfo.hpp ! src/hotspot/share/interpreter/bytecode.cpp ! src/hotspot/share/interpreter/bytecode.hpp ! src/hotspot/share/interpreter/bytecode.inline.hpp ! src/hotspot/share/interpreter/bytecodeTracer.cpp ! src/hotspot/share/interpreter/interpreterRuntime.cpp ! src/hotspot/share/interpreter/linkResolver.cpp ! src/hotspot/share/interpreter/rewriter.cpp ! src/hotspot/share/interpreter/rewriter.hpp ! src/hotspot/share/interpreter/templateTable.hpp ! src/hotspot/share/interpreter/zero/bytecodeInterpreter.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVM.cpp ! src/hotspot/share/jvmci/jvmciRuntime.cpp ! 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/resolvedIndyEntry.cpp + src/hotspot/share/oops/resolvedIndyEntry.hpp ! src/hotspot/share/prims/jvmtiClassFileReconstituter.cpp ! src/hotspot/share/prims/methodComparator.cpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/interpreter/BytecodeWithCPIndex.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/ConstantPool.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/ConstantPoolCache.java + src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/ResolvedIndyArray.java + src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/ResolvedIndyEntry.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotConstantPool.java ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/ConstantPoolTestsHelper.java ! test/lib/jdk/test/whitebox/WhiteBox.java Changeset: 7239150f Author: Jonathan Gibbons Date: 2023-03-28 20:58:57 +0000 URL: https://git.openjdk.org/panama-foreign/commit/7239150f8aff0e3dc07c5b27f6b7fb07237bfc55 8305094: typo (missing *) in doc comment Reviewed-by: iris ! src/jdk.javadoc/share/classes/jdk/javadoc/doclet/StandardDoclet.java Changeset: 96fa2751 Author: Xiaolin Zheng Committer: David Holmes Date: 2023-03-29 02:53:58 +0000 URL: https://git.openjdk.org/panama-foreign/commit/96fa2751e8bbc05d6d064d80c07720cc9db05c54 8305112: RISC-V: Typo fix for RVC description Reviewed-by: dholmes ! src/hotspot/cpu/riscv/assembler_riscv.hpp Changeset: ff368d50 Author: Matthias Baesken Date: 2023-03-29 06:55:51 +0000 URL: https://git.openjdk.org/panama-foreign/commit/ff368d504e9101e11c7182185f56255f429d31e3 8304867: Explicitly disable dtrace for ppc builds Reviewed-by: erikj, shade, lucy ! make/autoconf/jvm-features.m4 Changeset: 09852884 Author: Xiaolin Zheng Committer: Aleksey Shipilev Date: 2023-03-29 08:29:03 +0000 URL: https://git.openjdk.org/panama-foreign/commit/09852884cc4f55b2c95e2dbe28cf5c7ad9095684 8304681: compiler/sharedstubs/SharedStubToInterpTest.java fails after JDK-8304387 Reviewed-by: eastigeevich, kvn, shade ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/compiler/sharedstubs/SharedStubToInterpTest.java ! test/hotspot/jtreg/compiler/sharedstubs/SharedTrampolineTest.java Changeset: e56bcb04 Author: Daniel Fuchs Date: 2023-03-29 09:46:15 +0000 URL: https://git.openjdk.org/panama-foreign/commit/e56bcb04b11c6494e6afdf0bd9b9bc65a4769347 8305095: Update java/net/httpclient/CustomRequestPublisher.java to use new HttpTestServer factory methods Reviewed-by: jpai ! test/jdk/java/net/httpclient/CustomRequestPublisher.java Changeset: 2fa09333 Author: Lance Andersen Date: 2023-03-29 14:52:11 +0000 URL: https://git.openjdk.org/panama-foreign/commit/2fa09333ef0ac2dc1e44292f8d45d4571cb22cca 8304990: unnecessary dash in @param gives double-dash in docs Reviewed-by: bpb, naoto ! src/java.sql/share/classes/java/sql/Connection.java Changeset: 014c6587 Author: Thomas Schatzl Date: 2023-03-29 15:21:02 +0000 URL: https://git.openjdk.org/panama-foreign/commit/014c658708f489e029592ea1e986812cf7c253b8 8305086: G1 Redirty Cards phase printed twice Reviewed-by: ayang, kbarrett ! src/hotspot/share/gc/g1/g1GCPhaseTimes.cpp Changeset: f07decb7 Author: Naoto Sato Date: 2023-03-29 16:08:57 +0000 URL: https://git.openjdk.org/panama-foreign/commit/f07decb74b525072cf035b1e11569d43390952ed 8272613: CharsetDecoder.decode(ByteBuffer) throws IllegalArgumentException Reviewed-by: alanb, bpb ! src/java.base/share/classes/java/nio/charset/Charset-X-Coder.java.template + test/jdk/java/nio/charset/CharsetDecoder/XcodeOverflow.java Changeset: 67274906 Author: Bhavana Kilambi Committer: Nick Gasson Date: 2023-03-29 16:12:56 +0000 URL: https://git.openjdk.org/panama-foreign/commit/67274906aeb7a6b83761e6aaf85688aa61aa8a20 8303161: [vectorapi] VectorMask.cast narrow operation returns incorrect value with SVE Reviewed-by: eliu, xgong, ngasson ! src/hotspot/cpu/aarch64/aarch64_vector.ad ! src/hotspot/cpu/aarch64/aarch64_vector_ad.m4 ! src/hotspot/cpu/aarch64/c2_MacroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/c2_MacroAssembler_aarch64.hpp ! test/hotspot/jtreg/compiler/vectorapi/VectorMaskCastTest.java Changeset: e3855d00 Author: Naoto Sato Date: 2023-03-29 16:19:44 +0000 URL: https://git.openjdk.org/panama-foreign/commit/e3855d005408945ea00e3bc38a0f10bef45cd627 8304840: Dangling `CharacterCodingException` in a few javadoc descriptions Reviewed-by: alanb, iris, rriggs, jpai ! src/java.base/share/classes/java/nio/charset/Charset-X-Coder.java.template ! src/java.base/share/classes/java/nio/charset/CoderResult.java Changeset: 42df1a99 Author: Harshitha Onkar Date: 2023-03-29 16:50:24 +0000 URL: https://git.openjdk.org/panama-foreign/commit/42df1a99b7dc4203629150792c3f93469b315195 8304991: Redundant hyphen in @param results in double-dash in javadocs Reviewed-by: psadhukhan ! src/java.desktop/share/classes/java/awt/List.java ! src/java.desktop/share/classes/java/awt/font/FontRenderContext.java ! src/java.desktop/share/classes/javax/accessibility/AccessibleContext.java ! src/java.desktop/share/classes/javax/swing/JComponent.java Changeset: 34f4d7f4 Author: Kim Barrett Date: 2023-03-29 17:18:16 +0000 URL: https://git.openjdk.org/panama-foreign/commit/34f4d7f4ad388d8264225c2aefe048ca9a42cfa2 8304759: Add BitMap iterators Reviewed-by: stefank, aboldtch, tschatzl ! src/hotspot/share/utilities/bitMap.cpp ! src/hotspot/share/utilities/bitMap.hpp ! src/hotspot/share/utilities/bitMap.inline.hpp ! test/hotspot/gtest/utilities/test_bitMap_iterate.cpp Changeset: be764a71 Author: SUN Guoyun <40024232+sunny868 at users.noreply.github.com> Committer: Vladimir Kozlov Date: 2023-03-29 17:18:59 +0000 URL: https://git.openjdk.org/panama-foreign/commit/be764a711c1bf489f54d5bdc8e5e3b1891ea13cd 8302814: Delete unused CountLoopEnd instruct with CmpX Reviewed-by: kvn, fjiang ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/riscv/riscv.ad ! src/hotspot/cpu/x86/x86_32.ad ! src/hotspot/cpu/x86/x86_64.ad Changeset: d063b896 Author: Roger Riggs Date: 2023-03-29 17:32:46 +0000 URL: https://git.openjdk.org/panama-foreign/commit/d063b8964fbdd6ca1d9527dabb40fed59bbc8ad7 8303392: Runtime.exec and ProcessBuilder.start should use System logger Reviewed-by: stuefe, alanb, mullan ! src/java.base/share/classes/java/lang/ProcessBuilder.java ! src/java.base/share/classes/java/lang/Runtime.java + test/jdk/java/lang/ProcessBuilder/ProcessLogging-FINE.properties + test/jdk/java/lang/ProcessBuilder/ProcessLogging-FINER.properties + test/jdk/java/lang/ProcessBuilder/ProcessLogging-INFO.properties + test/jdk/java/lang/ProcessBuilder/ProcessStartLoggingTest.java Changeset: 438c969b Author: Sergey Tsypanov Committer: Naoto Sato Date: 2023-03-29 18:32:14 +0000 URL: https://git.openjdk.org/panama-foreign/commit/438c969b7b07eeef0158b089e5a168849e04bf56 8304976: Optimize DateTimeFormatterBuilder.ZoneTextPrinterParser.getTree() Reviewed-by: naoto ! src/java.base/share/classes/java/time/format/DateTimeFormatterBuilder.java + test/micro/org/openjdk/bench/java/time/format/ZonedDateTimeFormatterBenchmark.java Changeset: 69152c3b Author: Daniel Fuchs Date: 2023-03-29 19:12:02 +0000 URL: https://git.openjdk.org/panama-foreign/commit/69152c3b18495754e52b90e320ca866f97d80752 8305202: Fix Copyright Header in ZonedDateTimeFormatterBenchmark Reviewed-by: rriggs, naoto, dcubed ! test/micro/org/openjdk/bench/java/time/format/ZonedDateTimeFormatterBenchmark.java Changeset: 9643f654 Author: Chris Plummer Date: 2023-03-29 23:29:30 +0000 URL: https://git.openjdk.org/panama-foreign/commit/9643f654da23cfc336d36385031251d039e0550d 8304436: com/sun/jdi/ThreadMemoryLeakTest.java fails with "OutOfMemoryError: Java heap space" with ZGC 8304449: com/sun/jdi/ThreadMemoryLeakTest.java times out Reviewed-by: lmesnik, dcubed ! test/jdk/ProblemList-zgc.txt ! test/jdk/com/sun/jdi/ThreadMemoryLeakTest.java Changeset: b524a741 Author: Ioi Lam Date: 2023-03-29 23:42:52 +0000 URL: https://git.openjdk.org/panama-foreign/commit/b524a74165a901383c00fbfcbc3e842c0df02398 8301106: Allow archived Java strings to be moved by GC Reviewed-by: dholmes ! src/hotspot/share/cds/archiveHeapLoader.cpp ! src/hotspot/share/cds/archiveHeapLoader.hpp ! src/hotspot/share/cds/archiveUtils.cpp ! src/hotspot/share/cds/heapShared.cpp ! src/hotspot/share/cds/heapShared.hpp ! src/hotspot/share/cds/metaspaceShared.cpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/stringTable.cpp ! src/hotspot/share/classfile/stringTable.hpp ! src/hotspot/share/memory/universe.cpp ! src/hotspot/share/oops/constantPool.cpp ! src/hotspot/share/oops/klass.cpp ! test/hotspot/jtreg/runtime/cds/appcds/sharedStrings/SharedStringsStress.java Changeset: b3ff8d1c Author: Kim Barrett Date: 2023-03-29 23:45:03 +0000 URL: https://git.openjdk.org/panama-foreign/commit/b3ff8d1c89b0f968b7b5ec2105502778524e4e4a 8303805: [REDO] JDK-8302189 and JDK-8302799 Reviewed-by: dholmes, coleenp ! make/hotspot/lib/CompileJvm.gmk ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/share/gc/parallel/parallelScavengeHeap.cpp ! src/hotspot/share/oops/accessBackend.cpp ! src/hotspot/share/runtime/javaThread.cpp ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/runtime/os.hpp + src/hotspot/share/utilities/attributeNoreturn.hpp ! src/hotspot/share/utilities/debug.cpp ! src/hotspot/share/utilities/debug.hpp ! src/hotspot/share/utilities/globalDefinitions.hpp ! src/hotspot/share/utilities/vmError.hpp Changeset: 2d607c9c Author: Daniel Jeli?ski Date: 2023-03-30 05:15:19 +0000 URL: https://git.openjdk.org/panama-foreign/commit/2d607c9cd19bec5d4a90cb4760fba3cf83bcf982 8262294: java/net/httpclient/ProxyAuthDisabledSchemes.java fails with HTTP/1.1 parser received no bytes Reviewed-by: dfuchs, jpai ! src/java.net.http/share/classes/jdk/internal/net/http/Exchange.java ! src/java.net.http/share/classes/jdk/internal/net/http/HttpRequestImpl.java ! test/jdk/java/net/httpclient/DigestEchoServer.java ! test/jdk/java/net/httpclient/ProxyAuthDisabledSchemes.java Changeset: 77811fa3 Author: Emanuel Peter Date: 2023-03-30 07:26:38 +0000 URL: https://git.openjdk.org/panama-foreign/commit/77811fa39be4ed7b50beb911c30f685377372655 8305222: Change unique_ctrl_out_or_null to unique_ctrl_out in PhaseCFG::convert_NeverBranch_to_Goto Reviewed-by: kvn, thartmann ! src/hotspot/share/opto/block.cpp Changeset: f0dba218 Author: Severin Gehwolf Date: 2023-03-30 08:01:36 +0000 URL: https://git.openjdk.org/panama-foreign/commit/f0dba218ac00c0c577400b4d864ba79a9938aef7 8304871: Use default visibility for static library builds Reviewed-by: erikj, dholmes ! make/autoconf/flags-cflags.m4 Changeset: 2c38e67b Author: Tobias Holenstein Date: 2023-03-30 08:12:10 +0000 URL: https://git.openjdk.org/panama-foreign/commit/2c38e67b296c7133dae36d5dbd0064c602b85d4f 8302644: IGV: Apply filters per graph tab and not globally Reviewed-by: rcastanedalo, chagedorn, thartmann ! src/utils/IdealGraphVisualizer/Filter/src/main/java/com/sun/hotspot/igv/filter/CustomFilter.java ! src/utils/IdealGraphVisualizer/Filter/src/main/java/com/sun/hotspot/igv/filter/FilterChain.java ! src/utils/IdealGraphVisualizer/Filter/src/main/java/com/sun/hotspot/igv/filter/FilterChainProvider.java - src/utils/IdealGraphVisualizer/Filter/src/main/java/com/sun/hotspot/igv/filter/FilterSetting.java ! src/utils/IdealGraphVisualizer/FilterWindow/src/main/java/com/sun/hotspot/igv/filterwindow/FilterChainProviderImplementation.java ! src/utils/IdealGraphVisualizer/FilterWindow/src/main/java/com/sun/hotspot/igv/filterwindow/FilterNode.java ! src/utils/IdealGraphVisualizer/FilterWindow/src/main/java/com/sun/hotspot/igv/filterwindow/FilterTopComponent.java ! src/utils/IdealGraphVisualizer/FilterWindow/src/main/java/com/sun/hotspot/igv/filterwindow/actions/MoveFilterDownAction.java ! src/utils/IdealGraphVisualizer/FilterWindow/src/main/java/com/sun/hotspot/igv/filterwindow/actions/MoveFilterUpAction.java ! src/utils/IdealGraphVisualizer/FilterWindow/src/main/java/com/sun/hotspot/igv/filterwindow/actions/RemoveFilterAction.java ! src/utils/IdealGraphVisualizer/ServerCompiler/src/main/resources/com/sun/hotspot/igv/servercompiler/layer.xml ! src/utils/IdealGraphVisualizer/Util/src/main/java/com/sun/hotspot/igv/util/RangeSliderModel.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/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/GlobalSelectionAction.java Changeset: b261e6c4 Author: Ilya Korennoy Committer: Tobias Hartmann Date: 2023-03-30 08:57:25 +0000 URL: https://git.openjdk.org/panama-foreign/commit/b261e6c43f8ef219d309683cc8ff92ecedc9126a 8304445: Remaining uses of NULL in ciInstanceKlass.cpp Reviewed-by: thartmann ! src/hotspot/share/ci/ciInstanceKlass.cpp Changeset: 9df20600 Author: Per Minborg Date: 2023-03-30 09:24:35 +0000 URL: https://git.openjdk.org/panama-foreign/commit/9df20600592427550998c6685f103737e3115a51 8305157: The java.util.Arrays class should be declared final Reviewed-by: alanb, rriggs, bpb ! src/java.base/share/classes/java/util/Arrays.java Changeset: 1d7bb1ff Author: Mandy Chung Date: 2023-03-30 16:07:47 +0000 URL: https://git.openjdk.org/panama-foreign/commit/1d7bb1ffa0b80d2ef1cd991aa33f13c9b7c47dcc 8304585: Method::invoke rewraps InvocationTargetException if a caller-sensitive method throws IAE Reviewed-by: darcy, jpai, alanb ! src/java.base/share/classes/jdk/internal/reflect/DirectMethodHandleAccessor.java + test/jdk/java/lang/reflect/Method/CallerSensitiveMethodInvoke.java Changeset: d2df36b0 Author: Sergey Bylokhov Date: 2023-03-30 16:12:25 +0000 URL: https://git.openjdk.org/panama-foreign/commit/d2df36b073943fc85b169f09e32747ebe2ad0bfb 8299333: Unify exceptions used by all variants of ICC_Profile.getInstance(null) Reviewed-by: prr ! src/java.desktop/share/classes/java/awt/color/ICC_Profile.java + test/jdk/java/awt/color/ICC_Profile/ExpectedNPEOnNull.java Changeset: 05cc02b2 Author: Brian Burkhalter Date: 2023-03-30 16:44:01 +0000 URL: https://git.openjdk.org/panama-foreign/commit/05cc02b2438d9fffb1b074d9d68948265a36b6f0 8202110: (fs) Remove FileSystem support for resolving against a default directory (chdir configuration) Reviewed-by: alanb ! src/java.base/aix/classes/sun/nio/fs/AixFileSystem.java ! src/java.base/aix/classes/sun/nio/fs/AixFileSystemProvider.java ! src/java.base/linux/classes/sun/nio/fs/LinuxFileSystem.java ! src/java.base/linux/classes/sun/nio/fs/LinuxFileSystemProvider.java ! src/java.base/macosx/classes/sun/nio/fs/BsdFileSystem.java ! src/java.base/macosx/classes/sun/nio/fs/BsdFileSystemProvider.java ! src/java.base/macosx/classes/sun/nio/fs/MacOSXFileSystem.java ! src/java.base/macosx/classes/sun/nio/fs/MacOSXFileSystemProvider.java ! src/java.base/unix/classes/sun/nio/fs/UnixFileSystem.java ! src/java.base/unix/classes/sun/nio/fs/UnixFileSystemProvider.java ! src/java.base/unix/classes/sun/nio/fs/UnixNativeDispatcher.java ! src/java.base/unix/classes/sun/nio/fs/UnixPath.java ! src/java.base/unix/native/libnio/fs/UnixNativeDispatcher.c ! src/java.base/windows/classes/sun/nio/fs/WindowsFileSystem.java ! src/java.base/windows/classes/sun/nio/fs/WindowsFileSystemProvider.java Changeset: 83cf28f9 Author: Xin Liu Date: 2023-03-30 16:53:33 +0000 URL: https://git.openjdk.org/panama-foreign/commit/83cf28f99639d80e62c4031c4c9752460de5f36c 8305142: Can't bootstrap ctw.jar Reviewed-by: shade, phh ! test/hotspot/jtreg/testlibrary/ctw/Makefile Changeset: 5f7b4b8e Author: Justin Lu Committer: Naoto Sato Date: 2023-03-30 22:33:59 +0000 URL: https://git.openjdk.org/panama-foreign/commit/5f7b4b8e75fdf4a22c108a0ad528147e924a3ee4 8305111: Locale.lookupTag has typo in parameter Reviewed-by: lancea, iris, naoto ! src/java.base/share/classes/java/util/Locale.java Changeset: d8158897 Author: Justin Lu Committer: Naoto Sato Date: 2023-03-30 22:34:42 +0000 URL: https://git.openjdk.org/panama-foreign/commit/d8158897c3d0dbea46e4f55ad8b501252d88b7e1 8304993: bad sentence break in DateFormat Reviewed-by: rriggs, naoto, lancea, iris ! src/java.base/share/classes/java/text/DateFormat.java Changeset: a144c713 Author: Dingli Zhang Committer: Fei Yang Date: 2023-03-31 01:22:54 +0000 URL: https://git.openjdk.org/panama-foreign/commit/a144c713b7bd8d4345ab33974573062536fc25d6 8305008: RISC-V: Factor out immediate checking functions from assembler_riscv.inline.hpp Reviewed-by: fjiang, fyang ! src/hotspot/cpu/riscv/assembler_riscv.hpp ! src/hotspot/cpu/riscv/assembler_riscv.inline.hpp ! src/hotspot/cpu/riscv/c1_LIRAssembler_arith_riscv.cpp ! src/hotspot/cpu/riscv/c1_LIRAssembler_riscv.cpp ! src/hotspot/cpu/riscv/c1_LIRGenerator_riscv.cpp ! src/hotspot/cpu/riscv/macroAssembler_riscv.cpp ! src/hotspot/cpu/riscv/macroAssembler_riscv.hpp ! src/hotspot/cpu/riscv/nativeInst_riscv.cpp ! src/hotspot/cpu/riscv/nativeInst_riscv.hpp ! src/hotspot/cpu/riscv/riscv.ad ! src/hotspot/os_cpu/linux_riscv/os_linux_riscv.cpp Changeset: 787832a5 Author: Jaikiran Pai Date: 2023-03-31 04:59:53 +0000 URL: https://git.openjdk.org/panama-foreign/commit/787832a58677205c9a11ae100dd8a2fbddb30a4a 8304988: unnecessary dash in @param gives double-dash in docs Reviewed-by: alanb, cjplummer ! src/java.management/share/classes/javax/management/relation/RoleUnresolvedList.java Changeset: 7fe5bd2b Author: Amit Kumar Committer: Matthias Baesken Date: 2023-03-31 07:46:50 +0000 URL: https://git.openjdk.org/panama-foreign/commit/7fe5bd2bec3f34d407fb75306dca481dd2fadee0 8305174: disable dtrace for s390x builds Reviewed-by: erikj, lucy, mbaesken ! make/autoconf/jvm-features.m4 Changeset: c8f3a97d Author: Richard Reingruber Date: 2023-03-31 08:59:02 +0000 URL: https://git.openjdk.org/panama-foreign/commit/c8f3a97d465bc1ed4020df2786897f3ba786fe50 8305171: PPC: Should use IMA::load_resolved_indy_entry() in TIG::generate_return_entry_for() Reviewed-by: mdoerr ! src/hotspot/cpu/ppc/interp_masm_ppc_64.cpp ! src/hotspot/cpu/ppc/templateInterpreterGenerator_ppc.cpp ! src/hotspot/cpu/ppc/templateTable_ppc_64.cpp Changeset: dea9db2d Author: Fei Gao Date: 2023-03-31 09:15:24 +0000 URL: https://git.openjdk.org/panama-foreign/commit/dea9db2d0a28b379303ce867df6b125f5fdfcf16 8305055: IR check fails on some aarch64 platforms Reviewed-by: epeter, thartmann ! test/hotspot/jtreg/compiler/c2/irTests/TestVectorizeTypeConversion.java ! test/hotspot/jtreg/compiler/vectorization/runner/ArrayTypeConvertTest.java Changeset: 8be67073 Author: duke Date: 2023-03-31 11:00:23 +0000 URL: https://git.openjdk.org/panama-foreign/commit/8be67073b8f256d3feaed9920bb0a56e09898444 Automatic merge of jdk:master into master From duke at openjdk.org Fri Mar 31 11:07:59 2023 From: duke at openjdk.org (J. Duke) Date: Fri, 31 Mar 2023 11:07:59 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 90 commits from the branch `master`that can **not** be merged into the branch `foreign-memaccess+abi`: The following files contains merge conflicts: - src/java.base/share/classes/jdk/internal/foreign/CABI.java - test/jdk/java/foreign/TestUnsupportedLinker.java 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 +137:openjdk-bot-137 $ git checkout openjdk-bot-137 # 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-137:137 _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 - 8305055: IR check fails on some aarch64 platforms - 8305171: PPC: Should use IMA::load_resolved_indy_entry() in TIG::generate_return_entry_for() - 8305174: disable dtrace for s390x builds - 8304988: unnecessary dash in @param gives double-dash in docs - 8305008: RISC-V: Factor out immediate checking functions from assembler_riscv.inline.hpp - 8304993: bad sentence break in DateFormat - 8305111: Locale.lookupTag has typo in parameter - 8305142: Can't bootstrap ctw.jar - 8202110: (fs) Remove FileSystem support for resolving against a default directory (chdir configuration) - ... and 80 more: https://git.openjdk.org/panama-foreign/compare/2f78d6b5...8be67073 The webrev contains the conflicts with foreign-memaccess+abi: - merge conflicts: https://webrevs.openjdk.org/?repo=panama-foreign&pr=826&range=00.conflicts Changes: https://git.openjdk.org/panama-foreign/pull/826/files Stats: 15445 lines in 358 files changed: 7376 ins; 6352 del; 1717 mod Patch: https://git.openjdk.org/panama-foreign/pull/826.diff Fetch: git fetch https://git.openjdk.org/panama-foreign.git pull/826/head:pull/826 PR: https://git.openjdk.org/panama-foreign/pull/826 From jvernee at openjdk.org Fri Mar 31 15:21:37 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Fri, 31 Mar 2023 15:21:37 GMT Subject: [foreign-memaccess+abi] RFR: 8305087: MemoryLayout API checks should be more eager [v3] In-Reply-To: <-daOtRuOQnGaFiP4l63bNPs0SJoLvNZd9eyYLiAZVuU=.acbd4351-bfe0-4fe6-87dc-94f8258a6010@github.com> References: <-daOtRuOQnGaFiP4l63bNPs0SJoLvNZd9eyYLiAZVuU=.acbd4351-bfe0-4fe6-87dc-94f8258a6010@github.com> Message-ID: On Thu, 30 Mar 2023 10:55:32 GMT, Maurizio Cimadamore wrote: >> This patch adds eager check on construction of sequence and group layouts. More specifically: >> >> * sequenceLayout(L) is well-formed iff L.bitAlignment() <= L.bitSize() >> * groupLayout(L1, ? Ln) is well-formed iff for-each 1..n, offset(Li) % Li.bitAlignment() == 0 >> >> Moreover, this patch also validates the alignment parameter to calls of `MemoryLayout::withBitAlignment` on sequence and group layouts: >> >> * sequenceLayout(L).withBitAlignment(a) is well-formed iff L.bitAlignment() <= a >> * groupLayout(L1, ..., Ln).withBitAlignment(a) is well-formed iff max(L1.bitAlignment(), ..., Ln.bitAlignment()) <= a >> >> These checks prevent bad layouts from being constructed (either with factories, or with bad calls to `withBitAlignment`), w/o restricting the expressiveness of the memory layout API. >> Moreover, since all layouts are now well-formed by construction, we no longer need lazy checks when creating a deferefence var handle. > > Maurizio Cimadamore has updated the pull request incrementally with two additional commits since the last revision: > > - Drop spurious import > - Simplify struct/union layout code Marked as reviewed by jvernee (Committer). ------------- PR Review: https://git.openjdk.org/panama-foreign/pull/824#pullrequestreview-1367144498 From duke at openjdk.org Fri Mar 31 15:23:05 2023 From: duke at openjdk.org (J. Duke) Date: Fri, 31 Mar 2023 15:23:05 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 90 commits from the branch `master`that can **not** be merged into the branch `foreign-memaccess+abi`: > > The following files contains merge conflicts: > > - src/java.base/share/classes/jdk/internal/foreign/CABI.java > - test/jdk/java/foreign/TestUnsupportedLinker.java > > 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 +137:openjdk-bot-137 > $ git checkout openjdk-bot-137 > > # 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-137:137 > > > _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 incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 1038 additional commits since the last revision: - Merge master - Automatic merge of master into foreign-memaccess+abi - Merge master - Fix issue in custom arena code Reviewed-by: jvernee - 8298096: Refine javadoc for Linker Reviewed-by: jvernee - 8304276: Add javadoc for custom arena Reviewed-by: jvernee - Fix minor typos in ffi document Reviewed-by: jvernee - Refresh FFM API documents Reviewed-by: jvernee - 8296315: Add get/set-AtIndex methods for byte, boolean Reviewed-by: mcimadamore - Merge master - ... and 1028 more: https://git.openjdk.org/panama-foreign/compare/8be67073...c1b7723c ------------- Changes: - all: https://git.openjdk.org/panama-foreign/pull/826/files - new: https://git.openjdk.org/panama-foreign/pull/826/files/8be67073..c1b7723c Webrevs: - full: https://webrevs.openjdk.org/?repo=panama-foreign&pr=826&range=01 - incr: https://webrevs.openjdk.org/?repo=panama-foreign&pr=826&range=00-01 Stats: 14920 lines in 274 files changed: 6960 ins; 6002 del; 1958 mod Patch: https://git.openjdk.org/panama-foreign/pull/826.diff Fetch: git fetch https://git.openjdk.org/panama-foreign.git pull/826/head:pull/826 PR: https://git.openjdk.org/panama-foreign/pull/826 From duke at openjdk.org Fri Mar 31 15:23:38 2023 From: duke at openjdk.org (J. Duke) Date: Fri, 31 Mar 2023 15:23:38 GMT Subject: [foreign-memaccess+abi] Integrated: Merge master In-Reply-To: References: Message-ID: On Fri, 31 Mar 2023 11:00:38 GMT, J. Duke wrote: > Hi all, > > this is an _automatically_ generated pull request to notify you that there are 90 commits from the branch `master`that can **not** be merged into the branch `foreign-memaccess+abi`: > > The following files contains merge conflicts: > > - src/java.base/share/classes/jdk/internal/foreign/CABI.java > - test/jdk/java/foreign/TestUnsupportedLinker.java > > 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 +137:openjdk-bot-137 > $ git checkout openjdk-bot-137 > > # 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-137:137 > > > _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: 56d675e7 Author: J. Duke Committer: Jorn Vernee URL: https://git.openjdk.org/panama-foreign/commit/56d675e72347f79e04cfb5356dd942fa92be4130 Stats: 15437 lines in 357 files changed: 7375 ins; 6350 del; 1712 mod Merge master ------------- PR: https://git.openjdk.org/panama-foreign/pull/826 From jvernee at openjdk.org Fri Mar 31 15:25:57 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Fri, 31 Mar 2023 15:25:57 GMT Subject: [foreign-memaccess+abi] RFR: 8305369: Issues in zero-length memory segment javadoc section In-Reply-To: References: Message-ID: On Fri, 31 Mar 2023 10:44:42 GMT, Maurizio Cimadamore wrote: > This patch addresses a number of issue in the zero-length memory segment javadoc section: > > * there are some typo in the code samples (e.g. extra semi-colons); > * variable names are off (e.g. spurious references to a `foreign` segment variable); > * the explanation of how a pointer is read from a segment is lacking, and could be clarified; > * it would be useful to have links to other section (e.g. in the Linker javadoc) which also deal with ZLMS. src/java.base/share/classes/java/lang/foreign/MemorySegment.java line 400: > 398: * int x = ptr.getAtIndex(ValueLayout.JAVA_INT, 3); // ok > 399: * } > 400: * int x = pointer.get(ValueLayout.JAVA_INT, 3); // throws IllegalStateException This doesn't look right. `pointer` is still `null` at the end. I guess `MemorySegment ptr` should just be `pointer` here? src/java.base/share/classes/java/lang/foreign/MemorySegment.java line 414: > 412: * MemoryLayout.sequenceLayout(4, ValueLayout.JAVA_INT)); // layout for int (*ptr)[4] > 413: * MemorySegment ptr = segment.get(intArrPtrLayout, ...); // size = 16 > 414: * int x = pointer.getAtIndex(ValueLayout.JAVA_INT, 3); // ok Suggestion: * int x = ptr.getAtIndex(ValueLayout.JAVA_INT, 3); // ok ------------- PR Review Comment: https://git.openjdk.org/panama-foreign/pull/825#discussion_r1154608192 PR Review Comment: https://git.openjdk.org/panama-foreign/pull/825#discussion_r1154610478 From mcimadamore at openjdk.org Fri Mar 31 15:43:58 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Fri, 31 Mar 2023 15:43:58 GMT Subject: [foreign-memaccess+abi] RFR: 8305369: Issues in zero-length memory segment javadoc section [v2] In-Reply-To: References: Message-ID: > This patch addresses a number of issue in the zero-length memory segment javadoc section: > > * there are some typo in the code samples (e.g. extra semi-colons); > * variable names are off (e.g. spurious references to a `foreign` segment variable); > * the explanation of how a pointer is read from a segment is lacking, and could be clarified; > * it would be useful to have links to other section (e.g. in the Linker javadoc) which also deal with ZLMS. Maurizio Cimadamore has updated the pull request incrementally with four additional commits since the last revision: - Fix indent of comments - Replace get w/ getAtIndex (to make it uniform) - Drop extra space in var declarations - Address review comments ------------- Changes: - all: https://git.openjdk.org/panama-foreign/pull/825/files - new: https://git.openjdk.org/panama-foreign/pull/825/files/ba3818f6..ca02073b Webrevs: - full: https://webrevs.openjdk.org/?repo=panama-foreign&pr=825&range=01 - incr: https://webrevs.openjdk.org/?repo=panama-foreign&pr=825&range=00-01 Stats: 8 lines in 1 file changed: 0 ins; 0 del; 8 mod Patch: https://git.openjdk.org/panama-foreign/pull/825.diff Fetch: git fetch https://git.openjdk.org/panama-foreign.git pull/825/head:pull/825 PR: https://git.openjdk.org/panama-foreign/pull/825 From mcimadamore at openjdk.org Fri Mar 31 15:48:40 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Fri, 31 Mar 2023 15:48:40 GMT Subject: [foreign-memaccess+abi] Integrated: 8305087: MemoryLayout API checks should be more eager In-Reply-To: References: Message-ID: On Tue, 28 Mar 2023 14:04:35 GMT, Maurizio Cimadamore wrote: > This patch adds eager check on construction of sequence and group layouts. More specifically: > > * sequenceLayout(L) is well-formed iff L.bitAlignment() <= L.bitSize() > * groupLayout(L1, ? Ln) is well-formed iff for-each 1..n, offset(Li) % Li.bitAlignment() == 0 > > Moreover, this patch also validates the alignment parameter to calls of `MemoryLayout::withBitAlignment` on sequence and group layouts: > > * sequenceLayout(L).withBitAlignment(a) is well-formed iff L.bitAlignment() <= a > * groupLayout(L1, ..., Ln).withBitAlignment(a) is well-formed iff max(L1.bitAlignment(), ..., Ln.bitAlignment()) <= a > > These checks prevent bad layouts from being constructed (either with factories, or with bad calls to `withBitAlignment`), w/o restricting the expressiveness of the memory layout API. > Moreover, since all layouts are now well-formed by construction, we no longer need lazy checks when creating a deferefence var handle. This pull request has now been integrated. Changeset: 6211e0c4 Author: Maurizio Cimadamore URL: https://git.openjdk.org/panama-foreign/commit/6211e0c459444dc4ec27326b9adb7f117d8bce8e Stats: 295 lines in 19 files changed: 87 ins; 176 del; 32 mod 8305087: MemoryLayout API checks should be more eager Reviewed-by: jvernee, pminborg ------------- PR: https://git.openjdk.org/panama-foreign/pull/824 From jvernee at openjdk.org Fri Mar 31 15:58:42 2023 From: jvernee at openjdk.org (Jorn Vernee) Date: Fri, 31 Mar 2023 15:58:42 GMT Subject: [foreign-memaccess+abi] RFR: 8305369: Issues in zero-length memory segment javadoc section [v2] In-Reply-To: References: Message-ID: On Fri, 31 Mar 2023 15:43:58 GMT, Maurizio Cimadamore wrote: >> This patch addresses a number of issue in the zero-length memory segment javadoc section: >> >> * there are some typo in the code samples (e.g. extra semi-colons); >> * variable names are off (e.g. spurious references to a `foreign` segment variable); >> * the explanation of how a pointer is read from a segment is lacking, and could be clarified; >> * it would be useful to have links to other section (e.g. in the Linker javadoc) which also deal with ZLMS. > > Maurizio Cimadamore has updated the pull request incrementally with four additional commits since the last revision: > > - Fix indent of comments > - Replace get w/ getAtIndex (to make it uniform) > - Drop extra space in var declarations > - Address review comments Marked as reviewed by jvernee (Committer). ------------- PR Review: https://git.openjdk.org/panama-foreign/pull/825#pullrequestreview-1367203727 From mcimadamore at openjdk.org Fri Mar 31 16:13:44 2023 From: mcimadamore at openjdk.org (Maurizio Cimadamore) Date: Fri, 31 Mar 2023 16:13:44 GMT Subject: [foreign-memaccess+abi] Integrated: 8305369: Issues in zero-length memory segment javadoc section In-Reply-To: References: Message-ID: On Fri, 31 Mar 2023 10:44:42 GMT, Maurizio Cimadamore wrote: > This patch addresses a number of issue in the zero-length memory segment javadoc section: > > * there are some typo in the code samples (e.g. extra semi-colons); > * variable names are off (e.g. spurious references to a `foreign` segment variable); > * the explanation of how a pointer is read from a segment is lacking, and could be clarified; > * it would be useful to have links to other section (e.g. in the Linker javadoc) which also deal with ZLMS. This pull request has now been integrated. Changeset: 380bcfe8 Author: Maurizio Cimadamore URL: https://git.openjdk.org/panama-foreign/commit/380bcfe881c5538046137a66b5e7acb1e4c0673b Stats: 45 lines in 2 files changed: 11 ins; 8 del; 26 mod 8305369: Issues in zero-length memory segment javadoc section Reviewed-by: jvernee ------------- PR: https://git.openjdk.org/panama-foreign/pull/825