On Mon, 24 Jun 2024 16:01:41 GMT, Adam Sotona wrote:
> After JDK-8294960 is java.lang.invoke.ClassSpecializer using lamdas for code
> generation and unfortunately it causes StackOverflow on BigEndian platforms.
>
> This patch converts all lambdas in ClassSpecializer into anonymous inner
> clas
On Mon, 24 Jun 2024 22:11:55 GMT, Richard Reingruber wrote:
>> After JDK-8294960 is java.lang.invoke.ClassSpecializer using lamdas for code
>> generation and unfortunately it causes StackOverflow on BigEndian platforms.
>>
>> This patch converts all lambdas in ClassSp
On Tue, 25 Jun 2024 09:36:37 GMT, Adam Sotona wrote:
>> After JDK-8294960 is java.lang.invoke.ClassSpecializer using lamdas for code
>> generation and unfortunately it causes StackOverflow on BigEndian platforms.
>>
>> This patch converts all lambdas in ClassSpecializer into anonymous inner
>>
On Fri, 27 Jan 2023 08:33:32 GMT, Matthias Baesken wrote:
> On our Linux ppc64le test machines we quite often see compilation timeouts in
> the test jdk/internal/vm/Continuation/Fuzz.java.
> (especially when running with fastdebug binaries)
> So it probably makes sense to use a higher compilatio
On Fri, 27 Jan 2023 08:52:21 GMT, Matthias Baesken wrote:
>> On our Linux ppc64le test machines we quite often see compilation timeouts
>> in the test jdk/internal/vm/Continuation/Fuzz.java.
>> (especially when running with fastdebug binaries)
>> So it probably makes sense to use a higher compil
On Fri, 27 Jan 2023 10:20:26 GMT, Matthias Baesken wrote:
>> On our Linux ppc64le test machines we quite often see compilation timeouts
>> in the test jdk/internal/vm/Continuation/Fuzz.java.
>> (especially when running with fastdebug binaries)
>> So it probably makes sense to use a higher compil
On Fri, 27 Jan 2023 10:16:56 GMT, Matthias Baesken wrote:
>> test/jdk/jdk/internal/vm/Continuation/Fuzz.java line 95:
>>
>>> 93: }
>>> 94: if (Platform.isPPC()) {
>>> 95: COMPILATION_TIMEOUT = COMPILATION_TIMEOUT * 2;
>>
>> I guess this won't compile. COMPILATION_TIM
This fixes the linked issue by trimming the caller of a frame to be deoptimized
back to its `unextended_sp` iff it is compiled. The creation of the section
`dead after deoptimization` shown in the attachment
[yield_after_deopt_failure.log](https://bugs.openjdk.org/secure/attachment/102602/yield_
tch-clause in the main method had to be changed to rethrow the
> caught exception because without this the test would have succeeded.
>
> Testing: jtreg tests tier 1-4 on standard platforms and also on ppc64le.
Richard Reingruber has updated the pull request incrementally with three
addi
On Wed, 15 Feb 2023 12:35:52 GMT, Goetz Lindenmaier wrote:
>> Richard Reingruber has updated the pull request incrementally with three
>> additional commits since the last revision:
>>
>> - Improve comment
>> - Improve comment
>> - Spelling
>
> src/
On Wed, 15 Feb 2023 20:30:00 GMT, Richard Reingruber wrote:
>> This fixes the linked issue by trimming the caller of a frame to be
>> deoptimized back to its `unextended_sp` iff it is compiled. The creation of
>> the section `dead after deoptimization` shown
On Tue, 14 Feb 2023 14:10:08 GMT, Richard Reingruber wrote:
> This fixes the linked issue by trimming the caller of a frame to be
> deoptimized back to its `unextended_sp` iff it is compiled. The creation of
> the section `dead after deoptimization` shown in the a
On Sat, 6 May 2023 19:38:36 GMT, Martin Doerr wrote:
>> Implementation of "Foreign Function & Memory API" for linux on Power (Little
>> Endian) according to "Power Architecture 64-Bit ELF V2 ABI Specification".
>>
>> This PR does not include code for VaList support because it's supposed to
>>
On Thu, 16 Mar 2023 14:42:10 GMT, Martin Doerr wrote:
>> Implementation of "Foreign Function & Memory API" for linux on Power (Little
>> Endian) according to "Power Architecture 64-Bit ELF V2 ABI Specification".
>>
>> This PR does not include code for VaList support because it's supposed to
>>
On Tue, 18 Apr 2023 10:44:03 GMT, Martin Doerr wrote:
>> Implementation of "Foreign Function & Memory API" for linux on Power (Little
>> Endian) according to "Power Architecture 64-Bit ELF V2 ABI Specification".
>>
>> This PR does not include code for VaList support because it's supposed to
>>
On Thu, 27 Apr 2023 12:54:55 GMT, Martin Doerr wrote:
>> Implementation of "Foreign Function & Memory API" for linux on Power (Little
>> Endian) according to "Power Architecture 64-Bit ELF V2 ABI Specification".
>>
>> This PR does not include code for VaList support because it's supposed to
>>
On Wed, 10 May 2023 13:07:35 GMT, Jorn Vernee wrote:
>> Interesting. I have no idea why. It does the same but with a more
>> complicated API.
>> I just noticed that other platforms use `NONZERO`. I think I should at least
>> add that.
>
>> It does the same but with a more complicated API.
>
>
On Wed, 10 May 2023 13:24:55 GMT, Martin Doerr wrote:
>> As I see it, the access API is an abstraction to be used instead of raw
>> loads. It hides details. See for instance
>> `TemplateTable::getfield_or_static` on x86 where it is also used. PPC lags
>> behind in making use of the access API.
On Wed, 10 May 2023 11:16:44 GMT, Martin Doerr wrote:
>> src/hotspot/cpu/ppc/upcallLinker_ppc.cpp line 202:
>>
>>> 200:
>>> 201: MacroAssembler* _masm = new MacroAssembler(&buffer);
>>> 202: address start = __ function_entry(); // called by C
>>
>> If `!defined(ABI_ELFv2)` a function descr
On Wed, 10 May 2023 22:30:13 GMT, Martin Doerr wrote:
>> Ok, since this is loading a `long` (which represents an address that points
>> into the code cache) I think we're fine without using the access API then?
>
> Correct. The code had been written for the previous version of Shenandoah
> (1.0
On Wed, 10 May 2023 14:19:43 GMT, Martin Doerr wrote:
>> Implementation of "Foreign Function & Memory API" for linux on Power (Little
>> Endian) according to "Power Architecture 64-Bit ELF V2 ABI Specification".
>>
>> This PR does not include code for VaList support because it's supposed to
>>
On Fri, 19 May 2023 18:47:49 GMT, Martin Doerr wrote:
>> src/java.base/share/classes/jdk/internal/foreign/abi/ppc64/CallArranger.java
>> line 158:
>>
>>> 156: class StorageCalculator {
>>> 157: private final boolean forArguments;
>>> 158: private boolean forVarArgs = false;
On Fri, 19 May 2023 18:54:19 GMT, Martin Doerr wrote:
>> Implementation of "Foreign Function & Memory API" for linux on Power (Little
>> Endian) according to "Power Architecture 64-Bit ELF V2 ABI Specification".
>>
>> This PR does not include code for VaList support because it's supposed to
>>
On Mon, 22 May 2023 08:53:21 GMT, Richard Reingruber wrote:
>> Martin Doerr has updated the pull request incrementally with one additional
>> commit since the last revision:
>>
>> Cleanup imports, improve comments, updates from other platforms.
>
> src/java.b
On Mon, 22 May 2023 12:38:23 GMT, Martin Doerr wrote:
> That would be better to read, but would make the PPC64 CallArranger dependent
> on the current CABI. Note that there are tests which use
>
> ```
> import jdk.internal.foreign.abi.aarch64.CallArranger;
> ...
> CallArranger.LINUX.getBindings
On Mon, 22 May 2023 13:42:27 GMT, Martin Doerr wrote:
>> Probably, yes. I didn't find time for figuring out what would be useful
>> tests. We could still add some in the future or with the big endian port.
>> Another idea: Would the following be better?
>> `final boolean useABIv2 = (this.getClas
On Mon, 22 May 2023 14:09:22 GMT, Martin Doerr wrote:
>> Yes, good idea.
>
> Please take a look at
> https://github.com/openjdk/jdk/pull/12708/commits/70736be631e4f1bf3fd3c0d45ddfc076b74ef9dd
It looks good.
-
PR Review Comment: https://git.openjdk.org/jdk/pull/12708#discussion_r12
On Mon, 22 May 2023 21:36:12 GMT, Martin Doerr wrote:
>> Implementation of "Foreign Function & Memory API" for linux on Power (Little
>> Endian) according to "Power Architecture 64-Bit ELF V2 ABI Specification".
>>
>> This PR does not include code for VaList support because it's supposed to
>>
On Mon, 22 May 2023 16:06:02 GMT, Martin Doerr wrote:
>> Implementation of "Foreign Function & Memory API" for linux on Power (Little
>> Endian) according to "Power Architecture 64-Bit ELF V2 ABI Specification".
>>
>> This PR does not include code for VaList support because it's supposed to
>>
On Mon, 22 May 2023 22:29:18 GMT, Martin Doerr wrote:
>> Implementation of "Foreign Function & Memory API" for linux on Power (Little
>> Endian) according to "Power Architecture 64-Bit ELF V2 ABI Specification".
>>
>> This PR does not include code for VaList support because it's supposed to
>>
On Tue, 23 May 2023 07:37:37 GMT, Richard Reingruber wrote:
>> Martin Doerr has updated the pull request incrementally with one additional
>> commit since the last revision:
>>
>> Parameter Save Area is the correct name.
>
> src/hotspot/cpu/ppc/downcallLink
On Mon, 22 May 2023 22:44:41 GMT, Martin Doerr wrote:
> Thanks for publishing our discussion, here. The unnecessary PSA affects other
> areas of hotspot much more than Panama. Yes, we should file an RFE. I think
> one for hotspot is sufficient as the downcall stub is part of it. I don't
> thin
On Tue, 23 May 2023 12:26:52 GMT, Martin Doerr wrote:
> I believe omitting the PSA is wrong for varargs, but we don't have this
> information in the backend.
It is clearly wrong.
> So, I think we should simply not optimize it.
Already agreed for this version.
> Reserving 64 Byte stack space
On Tue, 23 May 2023 15:21:02 GMT, Martin Doerr wrote:
>> Implementation of "Foreign Function & Memory API" for linux on Power (Little
>> Endian) according to "Power Architecture 64-Bit ELF V2 ABI Specification".
>>
>> This PR does not include code for VaList support because it's supposed to
>>
On Tue, 16 Jan 2024 10:57:46 GMT, Richard Reingruber wrote:
> Set `interrupted` in `Thread::interrupt` before reading `nioBlocker` for
> correct (Dekker scheme) synchronization with concurrent execution of
> [`AbstractInterruptibleChannel::begin`](https://github.com/openjdk
Set `interrupted` in `Thread::interrupt` before reading `nioBlocker` for
correct (Dekker scheme) synchronization with concurrent execution of
[`AbstractInterruptibleChannel::begin`](https://github.com/openjdk/jdk/blob/59062402b9c5ed5612a13c1c40eb22cf1b97c41a/src/java.base/share/classes/java/nio/c
th fastdebug and release builds on the main platforms and
> also on Linux/PPC64le and AIX.
Richard Reingruber has updated the pull request incrementally with one
additional commit since the last revision:
Review Alan
-
Changes:
- all: https://git.openjdk.org/jdk/pull
On Wed, 17 Jan 2024 15:38:22 GMT, Richard Reingruber wrote:
>> Set `interrupted` in `Thread::interrupt` before reading `nioBlocker` for
>> correct (Dekker scheme) synchronization with concurrent execution of
>> [`AbstractInterruptibleChannel::begin`](https://github.co
On Wed, 17 Jan 2024 21:18:27 GMT, Christoph Langer wrote:
>> Richard Reingruber has updated the pull request incrementally with one
>> additional commit since the last revision:
>>
>> Review Alan
>
> test/jdk/java/nio/channels/Selector/LotsOfInterrupts
On Thu, 18 Jan 2024 08:32:02 GMT, Alan Bateman wrote:
>> src/java.base/share/classes/java/lang/Thread.java line 1709:
>>
>>> 1707: // Setting the interrupt status must be done before reading
>>> nioBlocker.
>>> 1708: interrupted = true;
>>> 1709: interrupt0(); // inform
On Wed, 17 Jan 2024 15:38:22 GMT, Richard Reingruber wrote:
>> Set `interrupted` in `Thread::interrupt` before reading `nioBlocker` for
>> correct (Dekker scheme) synchronization with concurrent execution of
>> [`AbstractInterruptibleChannel::begin`](https://github.co
On Fri, 19 Jan 2024 07:57:36 GMT, Alan Bateman wrote:
> > I noticed that VirtualThread overrides `isInterrupted`
> > Is there a reason to have this override?
>
> It was necessary at one point but no reason to now except to keep it close at
> the source level with the other methods that access t
th fastdebug and release builds on the main platforms and
> also on Linux/PPC64le and AIX.
Richard Reingruber 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 requ
th fastdebug and release builds on the main platforms and
> also on Linux/PPC64le and AIX.
Richard Reingruber 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 reques
On Tue, 16 Jan 2024 10:57:46 GMT, Richard Reingruber wrote:
> Set `interrupted` in `Thread::interrupt` before reading `nioBlocker` for
> correct (Dekker scheme) synchronization with concurrent execution of
> [`AbstractInterruptibleChannel::begin`](https://github.com/openjdk
On Thu, 15 Feb 2024 13:35:24 GMT, Richard Reingruber wrote:
>> Set `interrupted` in `Thread::interrupt` before reading `nioBlocker` for
>> correct (Dekker scheme) synchronization with concurrent execution of
>> [`AbstractInterruptibleChannel::begin`](https://github.co
On Wed, 23 Oct 2024 00:35:06 GMT, Patricio Chilano Mateo
wrote:
>> This is the implementation of JEP 491: Synchronize Virtual Threads without
>> Pinning. See [JEP 491](https://bugs.openjdk.org/browse/JDK-8337395) for
>> further details.
>>
>> In order to make the code review easier the change
On Fri, 25 Oct 2024 21:33:24 GMT, Patricio Chilano Mateo
wrote:
>> This is the implementation of JEP 491: Synchronize Virtual Threads without
>> Pinning. See [JEP 491](https://bugs.openjdk.org/browse/JDK-8337395) for
>> further details.
>>
>> In order to make the code review easier the change
On Mon, 28 Oct 2024 13:08:37 GMT, Richard Reingruber wrote:
>> Patricio Chilano Mateo has updated the pull request incrementally with two
>> additional commits since the last revision:
>>
>> - Restore use of atPointA in test StopThreadTest.java
>> - r
On Fri, 25 Oct 2024 21:33:24 GMT, Patricio Chilano Mateo
wrote:
>> This is the implementation of JEP 491: Synchronize Virtual Threads without
>> Pinning. See [JEP 491](https://bugs.openjdk.org/browse/JDK-8337395) for
>> further details.
>>
>> In order to make the code review easier the change
On Sat, 26 Oct 2024 01:40:41 GMT, Dean Long wrote:
>> Patricio Chilano Mateo has updated the pull request incrementally with two
>> additional commits since the last revision:
>>
>> - Restore use of atPointA in test StopThreadTest.java
>> - remove interruptible check from conditional in Objec
On Sat, 26 Oct 2024 01:42:17 GMT, Dean Long wrote:
>> Patricio Chilano Mateo has updated the pull request incrementally with two
>> additional commits since the last revision:
>>
>> - Restore use of atPointA in test StopThreadTest.java
>> - remove interruptible check from conditional in Objec
On Sat, 26 Oct 2024 01:54:26 GMT, Dean Long wrote:
>> Patricio Chilano Mateo has updated the pull request incrementally with two
>> additional commits since the last revision:
>>
>> - Restore use of atPointA in test StopThreadTest.java
>> - remove interruptible check from conditional in Objec
On Thu, 17 Oct 2024 14:28:30 GMT, Patricio Chilano Mateo
wrote:
> This is the implementation of JEP 491: Synchronize Virtual Threads without
> Pinning. See [JEP 491](https://bugs.openjdk.org/browse/JDK-8337395) for
> further details.
>
> In order to make the code review easier the changes hav
On Sat, 26 Oct 2024 01:40:41 GMT, Dean Long wrote:
>> This is the implementation of JEP 491: Synchronize Virtual Threads without
>> Pinning. See [JEP 491](https://bugs.openjdk.org/browse/JDK-8337395) for
>> further details.
>>
>> In order to make the code review easier the changes have been sp
On Mon, 28 Oct 2024 13:08:37 GMT, Richard Reingruber wrote:
>> This is the implementation of JEP 491: Synchronize Virtual Threads without
>> Pinning. See [JEP 491](https://bugs.openjdk.org/browse/JDK-8337395) for
>> further details.
>>
>> In order to make the
On Tue, 21 Jan 2025 08:14:22 GMT, Matthias Baesken wrote:
> LGTM; probably you do not need 2000 iterations now with the full GC, a
> smaller number would do as well, correct ? But it is okay for me as it is.
Thanks for reviewing. I've tried 1000 iterations but the runtime hardly changed
so I r
On Wed, 22 Jan 2025 08:30:16 GMT, Richard Reingruber wrote:
> Hi all,
>
> I would like to backport the test-fix from commit
> [15d6469e](https://github.com/openjdk/jdk/commit/15d6469e8da635364c0ba83e425fd149c2d69495)
> from the [openjdk/jdk](https://git.openjdk.org/jdk) re
.
The commit being backported was authored by Richard Reingruber on 22 Jan 2025
and was reviewed by Christoph Langer, Matthias Baesken and Martin Doerr.
Thanks, Richard.
-
Commit messages:
- Backport 15d6469e8da635364c0ba83e425fd149c2d69495
Changes: https://git.openjdk.org/jdk/pull
On Wed, 15 Jan 2025 14:14:37 GMT, Richard Reingruber wrote:
> This PR reverts the fix from
> [JDK-8339166](https://bugs.openjdk.org/browse/JDK-8339166) because it
> increases the runtime of the test a lot.
> Instead a full gc is requested via the whitebox api. This solves the is
On Thu, 29 Aug 2024 15:52:41 GMT, Claes Redestad wrote:
> LGTM. On my M1 MacBook this increase total runtime of `make test
> TEST=.../HiddenClassUnloading.java` by 8-9s, which seems acceptable to ensure
> it's stable and fit for purpose on all platforms.
@cl4es in my tests with a fastdebug bui
This PR reverts the fix from
[JDK-8339166](https://bugs.openjdk.org/browse/JDK-8339166) because it increases
the runtime of the test a lot.
Instead a full gc is requested via the whitebox api. This solves the issues
(see bug description) and it is also clearer and more reliable that allocating
62 matches
Mail list logo