Andrew Haley
Andrew Haley
This fixes two bugs caused by race conditions. The first is in ```FSTClazzInfo.getSer()```, which uses what seems to be a kind of "broken double-checked locking". When multiple threads are racing...
A bug in GCC causes shared libraries linked with -ffast-math to disable denormal arithmetic. This breaks Java's floating-point semantics. The bug is https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55522 One solution is to save and restore...
This PR is a redesign of subtype checking. The implementation of subtype checking in the HotSpot JVM is now twenty years old. There have been some performance-related bugs reported, and...
hsdis (a disassembler) is extremely useful when analysing HotSpot performance. At present Temurin builds don't support hsdis. Capstone is a "univeral disassembler" project. It is easy to use Capstone to...
At the present time, `assert_different_registers()` uses an O(N**2) algorithm in assert_different_registers(). We can utilize RegSet to do it in O(N) time. This would be a useful optimization for all builds...
This patch expands the use of a hash table for secondary superclasses to the interpreter, C1, and runtime. It also adds a C2 implementation of hashed lookup in cases where...
The fourth preview of scoped values. --------- ### Progress - [x] Change must be properly reviewed (1 review required, with at least 1 [Reviewer](https://openjdk.org/bylaws#reviewer)) - [x] Change must not contain...
`InterfaceCalls.java` makes highly predictable memory accesses, which leads to a gross time underestimate of the case where a megamorphic access is unpredictable. Here's one example, with and without randomization. The...
Please use [this link](https://github.com/openjdk/jdk/pull/28541/files?w=1) to view the files changed. Profile counters scale very badly. The overhead for profiled code isn't too bad with one thread, but as the thread count...