Repository navigation
Faster thread hand-offs, less memory for large programs, and a smaller download for programs started from a jar.
- A program started from a jar no longer fetches
jdk/app.pack:boot.packnow covers what such a start reads, so a cold start from a jar fetches 2.42 MB instead of 3.65 MB gzipped (#84). - A thread woken by another now runs within the waker's scheduler turn. Park/unpark and wait/notify hand-offs are about twice as fast, a hand-off next to busy threads went from 82 s to 4 s, and a parked virtual thread takes 3.7 KB instead of 5.6 KB (#87).
- The JIT emits 13% less JavaScript and keeps less per method: heap after compiling 30 files with javac went from about 167 MB to 146 MB (#88).
AtomicIntegerupdates run about 3 times as fast (#88), and MD5 about 13 times (#90). - Closing
System.outorSystem.errcloses the host's stream, so a reader sees end of file (#82). Under Node, a listening socket honors its backlog as on Linux (#89). - The set of files in
jdk/is unchanged.
Performance
- crypto: run MD5 implCompress0 as a native, as HotSpot intrinsifies it (#90)
- jit: emit 13% less JS and keep less per method, cutting javac's heap by 13% (#88)
- sched: run a woken thread within the waker's turn so thread hand-offs do not wait a scheduling round (#87)
- build: record boot.pack from a start from a jar too, so it needs no app.pack (#84)
Fixes
- net: hold a connect to a full accept queue until accept makes room, as Linux does (#89)
- io: close the host stdout or stderr when Java closes descriptor 1 or 2 (#82)
Build and CI
- jtreg: run each shard's tests slowest first so a long test does not start last (#86)
- jtreg: run only the OpenJDK tests that cover java-web code no faster test covers (#79)
Documentation
- state in AGENTS.md that java-web targets Java in general (#81)
- compare java-web with CheerpJ 5.0 on Java 25 in the README (#80)
Other
- jtreg: run seven more Collator tests with locale data (#85)
- build: name the javac.pack span intersection with an intersect helper (#83)
- add a release notes script and the release steps to AGENTS.md (#78)
Full list: v0.1.3...v0.1.4