git: openjdk/loom: jom-c1-experimental: 15 new changesets

duke duke at openjdk.org
Wed Jun 14 01:22:18 UTC 2023


Changeset: c689163a
Author:    David Holmes <david.holmes at oracle.com>
Date:      2023-05-25 20:17:19 +0000
URL:       https://git.openjdk.org/loom/commit/c689163a0c1d87c51695eb52a94f56f4fae3368c

Refactor of the Java code with the introduction of MonitorSupport.
The aim is to capture the different implementation options as `policy` objects
so the code just delegates to the current policy. This also aims at clarifying
the initialization issues and enabling use of fast-lock synchronization earlier
in the VM initialization sequence.

! src/hotspot/share/classfile/javaClasses.cpp
! src/hotspot/share/classfile/javaClasses.hpp
! src/hotspot/share/classfile/vmClassMacros.hpp
! src/hotspot/share/classfile/vmClasses.cpp
! src/hotspot/share/classfile/vmIntrinsics.hpp
! src/hotspot/share/classfile/vmSymbols.hpp
! src/hotspot/share/interpreter/abstractInterpreter.cpp
! src/hotspot/share/interpreter/abstractInterpreter.hpp
! src/hotspot/share/interpreter/templateInterpreterGenerator.cpp
! src/hotspot/share/runtime/synchronizer.cpp
! src/hotspot/share/runtime/threads.cpp
! src/java.base/share/classes/java/lang/Monitor.java
+ src/java.base/share/classes/java/lang/MonitorSupport.java
! src/java.base/share/classes/java/lang/Object.java
! src/java.base/share/classes/java/lang/Thread.java
! src/java.base/share/classes/java/lang/ThreadGroup.java
! src/java.base/share/native/libjava/Monitor.c

Changeset: cd95113a
Author:    David Holmes <david.holmes at oracle.com>
Date:      2023-05-30 01:14:00 +0000
URL:       https://git.openjdk.org/loom/commit/cd95113a200e9ee9d5c94a640e0ffd4ce04ed49b

Fixes needed for "native" mode.

! src/hotspot/share/runtime/synchronizer.cpp
! src/java.base/share/classes/java/lang/MonitorSupport.java
! test/hotspot/jtreg/runtime/Monitor/SimpleJNI.java

Changeset: 68bbc82c
Author:    David Holmes <david.holmes at oracle.com>
Date:      2023-06-01 00:46:55 +0000
URL:       https://git.openjdk.org/loom/commit/68bbc82c64c1f270dce92dd78f15c4afed5d172d

Fix ObjectSynchronizer::FastHashCode fori `heavy`  mode

! src/hotspot/share/runtime/synchronizer.cpp

Changeset: 4268a26c
Author:    Dean Long <17332032+dean-long at users.noreply.github.com>
Date:      2023-06-08 08:20:34 +0000
URL:       https://git.openjdk.org/loom/commit/4268a26c25643b5ac28eaa387c4a8b0e17c06ce9

Rickard's C2 patch

+ README-Rickard-C2-patch.txt
! src/hotspot/share/ci/ciMethod.hpp
! src/hotspot/share/ci/ciTypeFlow.cpp
! src/hotspot/share/classfile/vmSymbols.hpp
! src/hotspot/share/compiler/compileBroker.cpp
! src/hotspot/share/interpreter/bytecode.hpp
! src/hotspot/share/interpreter/linkResolver.cpp
! src/hotspot/share/interpreter/linkResolver.hpp
! src/hotspot/share/memory/universe.cpp
! src/hotspot/share/memory/universe.hpp
! src/hotspot/share/opto/bytecodeInfo.cpp
! src/hotspot/share/opto/callGenerator.cpp
! src/hotspot/share/opto/callnode.cpp
! src/hotspot/share/opto/callnode.hpp
! src/hotspot/share/opto/doCall.cpp
! src/hotspot/share/opto/graphKit.cpp
! src/hotspot/share/opto/locknode.cpp
! src/hotspot/share/opto/matcher.cpp
! src/hotspot/share/opto/output.cpp
! src/hotspot/share/opto/parse.hpp
! src/hotspot/share/opto/parse1.cpp
! src/hotspot/share/runtime/arguments.cpp
! src/hotspot/share/runtime/sharedRuntime.cpp
! src/java.base/share/classes/java/lang/Object.java

Changeset: e855e6d5
Author:    David Holmes <david.holmes at oracle.com>
Date:      2023-06-08 02:31:05 +0000
URL:       https://git.openjdk.org/loom/commit/e855e6d54bf2756546a75647cab2db730e4054db

Fix assertion in JVM_Monitor_postJvmtiEvent to account for the jthread being a virtual thread.
Added logging to JVM_CallerFrameId so we can see the true Java method.

! src/hotspot/share/prims/jvm.cpp

Changeset: 77100697
Author:    David Holmes <david.holmes at oracle.com>
Date:      2023-06-08 03:25:41 +0000
URL:       https://git.openjdk.org/loom/commit/771006976cecee56085351b2cbdb5fe5d0c2cf08

Missing ResourceMark for logging statements

! src/hotspot/share/prims/jvm.cpp

Changeset: 7ca83fd2
Author:    David Holmes <david.holmes at oracle.com>
Date:      2023-06-08 20:05:46 +0000
URL:       https://git.openjdk.org/loom/commit/7ca83fd283ac69649efdc48f55b6c3f5d43d1ff0

Fix mis-merge that caused us to not start the Reference/Finalizer threads.

! src/java.base/share/classes/java/lang/ref/Reference.java

Changeset: b430485d
Author:    David Holmes <david.holmes at oracle.com>
Date:      2023-06-08 20:10:55 +0000
URL:       https://git.openjdk.org/loom/commit/b430485d63c441972fc255fb4de9d3d0fc1e73bb

Cleanup stale comments from merge

! src/java.base/share/classes/java/lang/System.java

Changeset: fa2f7731
Author:    David Holmes <david.holmes at oracle.com>
Date:      2023-06-12 01:38:44 +0000
URL:       https://git.openjdk.org/loom/commit/fa2f7731e5a6b8002eaae2df82a02131ff4ce9f1

Add getCallerFrameId to MonitorSupport so that it can be used as the
non-intrinsic version in which we can do logging.

! src/hotspot/share/classfile/javaClasses.cpp
! src/java.base/share/classes/java/lang/MonitorSupport.java
! src/java.base/share/classes/java/lang/Object.java

Changeset: c15cf8e2
Author:    David Holmes <david.holmes at oracle.com>
Date:      2023-06-12 01:47:41 +0000
URL:       https://git.openjdk.org/loom/commit/c15cf8e224ea289eaa2953ff1599b30f77c5e7bb

Fix the test so that it fails on error

! test/hotspot/jtreg/runtime/vthread/RedefineClass.java

Changeset: 18cc8834
Author:    David Holmes <david.holmes at oracle.com>
Date:      2023-06-12 01:49:33 +0000
URL:       https://git.openjdk.org/loom/commit/18cc8834aa998a3593e5e2b82016ea2ea54a9cdd

Fix mis-merged test file.
Expand test to execute using a virtual thread
Expand test to exercise await/signalAll via a Thread.join abstraction

! test/jdk/java/lang/Monitor/MonitorTest.java
+ test/jdk/java/lang/Monitor/java.base/java/lang/JoinableThread.java
! test/jdk/java/lang/Monitor/java.base/java/lang/MonitorTest.java

Changeset: 7cd848d9
Author:    David Holmes <david.holmes at oracle.com>
Date:      2023-06-12 02:19:51 +0000
URL:       https://git.openjdk.org/loom/commit/7cd848d9c5668dffb6291203ce6e3700b8fd84cf

Fixes for virtual threads:
src/hotspot/share/prims/unsafe.cpp
 - assert we don't get passed a virtual thread

src/hotspot/share/runtime/javaThread.cpp
 - augment thread dumps to show virtual thread stacks for debugging

src/java.base/share/classes/java/lang/Monitor.java
 - When dealing with virtual threads we have to pass the carrier to unparkMonitor
 - When updating the status of virtual threads we have to update the carrier's status
 - Fix doAwait() so that we always re-acquire the Monitor even if we throw an exception
 - Expand logging

src/java.base/share/classes/java/lang/Thread.java
 - Abort on lockStack access errors as we can't throw AIOOBE

src/java.base/share/classes/java/lang/VirtualThread.java
 - expose carrierThread to Monitor class

! src/hotspot/share/prims/unsafe.cpp
! src/hotspot/share/runtime/javaThread.cpp
! src/java.base/share/classes/java/lang/Monitor.java
! src/java.base/share/classes/java/lang/Thread.java
! src/java.base/share/classes/java/lang/VirtualThread.java

Changeset: 58e1dda5
Author:    David Holmes <david.holmes at oracle.com>
Date:      2023-06-13 00:42:47 +0000
URL:       https://git.openjdk.org/loom/commit/58e1dda5bf04adcc9d31bb9fd7fe665e82082107

Update known failure info for runtime_tier1

! tech-notes/known-test-failures.txt

Changeset: d285c088
Author:    David Holmes <david.holmes at oracle.com>
Date:      2023-06-13 00:45:55 +0000
URL:       https://git.openjdk.org/loom/commit/d285c088a4e0178e1485c1033afa1047cd92135a

Merge branch 'vthread-fix' into jom-master

! src/java.base/share/classes/java/lang/Object.java
! src/java.base/share/classes/java/lang/Object.java

Changeset: ba3d5b87
Author:    David Holmes <david.holmes at oracle.com>
Date:      2023-06-13 20:52:14 +0000
URL:       https://git.openjdk.org/loom/commit/ba3d5b87ce8f8e28aafd06dcd4b940f4cfd32dd2

Merge

! src/hotspot/share/ci/ciTypeFlow.cpp
! src/hotspot/share/prims/jvm.cpp
! src/java.base/share/classes/java/lang/Thread.java
! src/hotspot/share/ci/ciTypeFlow.cpp
! src/hotspot/share/prims/jvm.cpp
! src/java.base/share/classes/java/lang/Thread.java



More information about the loom-dev mailing list