[lworld] RFR: 8242210: [lworld] TestCallingConvention::test36 spuriously fails
Tobias Hartmann
thartmann at openjdk.java.net
Tue Apr 7 16:22:54 UTC 2020
Problems:
- G1 pre- and post-barriers used when (un-)packing arguments for the calling convention can call into the runtime which
screws up argument registers. Save all registers until JDK-8232094 is fixed in mainline (it's the slow path anyway).
- SignatureStream::as_value_klass triggers a SystemDictionary lookup which acquires the ProtectionDomainSet_lock. When
used from fieldDescriptor::print_on_for when some debug printing flags are enabled, this conflicts with the tty_lock.
We should simply use get_value_field_klass instead. Also, we should handle null as a vale for non-flattened fields.
TraceDeoptimization needs to handle re-allocation of the inline type return value.
I've also added a new StressCC option to the ValueTypeTest suite to randomly restrict some compilation to C1 and
thereby stress test the calling convention.
-------------
Commit messages:
- 8242210: [lworld] TestCallingConvention::test36 spuriously fails
Changes: https://git.openjdk.java.net/valhalla/pull/13/files
Webrev: https://webrevs.openjdk.java.net/valhalla/13/webrev.00
Issue: https://bugs.openjdk.java.net/browse/JDK-8242210
Stats: 130 lines in 10 files changed: 26 ins; 52 del; 52 mod
Patch: https://git.openjdk.java.net/valhalla/pull/13.diff
Fetch: git fetch https://git.openjdk.java.net/valhalla pull/13/head:pull/13
PR: https://git.openjdk.java.net/valhalla/pull/13
More information about the valhalla-dev
mailing list