[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-serviceability-dev
Subject:    Re: RFR: 8304919: Implementation of Virtual Threads [v5]
From:       Alan Bateman <alanb () openjdk ! org>
Date:       2023-03-31 10:31:31
Message-ID: mboJdi0bvbB2gWhM-Gg7kf1cBj65mIk0N7LWYW1rX_M=.12ccdeae-8e0e-4763-975a-8d8025b24721 () github ! com
[Download RAW message or body]

> JEP 444 proposes to make virtual threads a permanent feature in Java 21. The APIs \
> that were preview APIs in Java 19/20 are changed to permanent and their \
> `@since`/equivalent are changed to 21 (as per the guidance in JEP 12). The JNI and \
> JVMTI versions are bumped as this is the first change in 21 to need the new version \
> number. A lot of tests are updated to drop `@enablePreview` and --enable-preview. 
> There is one API change from Java 19/20, the preview API \
> Thread.Builder.allowSetThreadLocals(boolean) is dropped. This requires an update to \
> the JVMTI GetThreadInfo implementation to read the TCCL consistently. 
> In addition, there are a small number of implementation changes to sync up from the \
> loom fibers branch: 
> - A number of stack frames are `@Hidden` to reduce noise in the stack traces. This \
> exposed a few issues with the stack walker code. More specifically, the cases where \
> end of a continuation falls precisely at the end of the batch, or where the \
>                 remaining frames are hidden, weren't handled correctly.
> - The code to emit the JFR jdk.ThreadSleepEvent is refactored so it's in Thread \
>                 rather than in two classes.
> - A few robustness improvements for OOME and SOE. There is more to do here, for \
>                 future PRs.
> - New system property to print a stack trace when a virtual thread sets its own \
>                 value of a TL.
> - ThreadPerTaskExecutor is changed to use FutureTask.
> 
> Testing: tier1-6.

Alan Bateman 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 ten additional commits since the last \
revision:

 - Expand tests for jdk.ThreadSleep event
 - Review feedback
 - Merge
 - Fix ThreadSleepEvent again
 - Test updates
 - ThreadSleepEvent refactoring
 - Merge
 - Merge
 - Initial sync from fibers branch

-------------

Changes:
  - all: https://git.openjdk.org/jdk/pull/13203/files
  - new: https://git.openjdk.org/jdk/pull/13203/files/bfd2c816..722d5afa

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=13203&range=04
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=13203&range=03-04

  Stats: 4799 lines in 134 files changed: 3144 ins; 1060 del; 595 mod
  Patch: https://git.openjdk.org/jdk/pull/13203.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/13203/head:pull/13203

PR: https://git.openjdk.org/jdk/pull/13203


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic