Skip to content

WIP: Project Lilliput backport #12

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 13 commits into
base: jdk17u-target8
Choose a base branch
from

Conversation

duanyangjing
Copy link
Collaborator

No description provided.

duanyangjing and others added 13 commits May 7, 2025 11:26
… Headers

This commit is a commination of 75 backported commits from
lilliput-jdk17u:

1. Initial import of Lilliput in JDK17u
2. Use LRB instead of plain resolve in Shenandoah object iterator
3. 8299478: [Lilliput/JDK17] Fix Windows build
4. 8299552: [Lilliput/JDK17] Fix 32bit builds
5. 8300138: [Lilliput/JDK17] Optimize anonymous owner fix-up path
6. 8300566: [Lilliput/JDK17] Properly set ZF on anon-check path
7. 8303027: [Lilliput/JDK17] Correctly resolve forwarded objects in G1 heap iteration
8. 8302210: [Lilliput/JDK17] Optimize fix-anon monitor owner path
9. 8303771: [Lilliput/JDK17] Fix interpreter asymmetric fast-locking
10. 8303450: [Lilliput/JDK17] Runtime flag to enable Lilliput
11. 8304410: [Lilliput/JDK17] Remove unneeded code in ContiguousSpace::object_iterate_from()
12. 8304702: [Lilliput/JDK17] Increase size of C2HandleAnonOMOwnerStub on x86
13. 8304329: [Lilliput/JDK17] Fix DiagnoseSyncOnValueBasedClasses
14. 8304331: [Lilliput/JDK17] Fix RTM locking
15. 8307764: [Lilliput/JDK17] Fix JVMTI GetObjectMonitorUsage()
16. 8308011: [Lilliput/JDK17] Use narrow i-hash only when +UseCompactObjectHeaders
17. 8308172: [Lilliput/JDK17] Revert disabling vzeroupper
18. 8308107: [Lilliput/JDK17] Cherry-pick: 8291555: Implement alternative fast-locking scheme
19. 8308641: [Lilliput/JDK17] Remove wrong assert in klass.hpp
20. 8308651: [Lilliput/JDK17] Cherry-pick PPC parts of 8297036: Generalize C2 stub mechanism
21. 8308647: [Lilliput/JDK17] Fix cross-builds
22. 8308680: [Lilliput/JDK17] Add missing LoadKlassStub skeletons
23. 8308423: [Lilliput/JDK17] Cherry-pick GC forwarding
24. 8308901: [Lilliput/JDK17] Cherry-pick C2 prototype header improvements
25. 8308956: [Lilliput/JDK17] Fix some object initialization paths
26. 8309192: [Lilliput/JDK17] Properly deal with flag mismatch in CDS
27. 8309197: [Lilliput/JDK17] Fix ObjectSampleMarker without Lilliput
28. 8310042: [Lilliput/JDK17] ZGC fixes and cleanups
29. 8310231: [Lilliput/JDK17] Disable compact headers by default
30. 8310243: [Lilliput/JDK17] Revert UseCompressedClassPointers back to false
31. 8310156: [Lilliput/JDK17] Specialize full-GC loops
32. 8310529: [Lilliput/JDK17] Provide infrastructure for Lilliput-specific ProblemList
33. 8310534: [Lilliput/JDK17] Shenandoah/JVMTI heap-walk crashes
34. 8310555: [Lilliput/JDK17] Revert innocuous changes against upstream
35. 8310427: [Lilliput/JDK17] Protect from running broken JFR and JVMTI code with compact headers
36. 8310531: [Lilliput/JDK17] Revert unnecessary test code modifications and fix the tests
37. 8310558: [Lilliput/JDK17] Missing klass gap initialization in ContiguousSpace::allocate_temporary_filler
38. 8310573: [Lilliput/JDK17] Revert assert removals for -UCOH paths
39. 8310642: [Lilliput/JDK17] Remove unnecessary check in G1ParScanThreadState
40. 8310662: [Lilliput/JDK17] Fix OptoRuntime::new_array_nozero_C
41. 8310670: [Lilliput/JDK17] Add more tests to Lilliput ProblemList
42. 8310715: [Lilliput/JDK17] Revert more non-Lilliput test adjustments
43. 8310744: [Lilliput/JDK17] Revert C1_MacroAssembler::initialize_header removal of BiasedLocking path
44. 8310733: [Lilliput/JDK17] Enter object_iterate_impl() RESOLVE path only when +UCOH
45. 8310742: [Lilliput/JDK17] Revert JVMCI _metadata field removal
46. 8310944: [Lilliput/JDK17] Streamline and cleanup GC code
47. 8311866: [Lilliput/JDK17] Disallow accessing oop metadata vmStructs with +UCOH
48. 8312095: [Lilliput/JDK17] Reinstate use of BiasedLockingCounters
49. 8312171: [Lilliput/JDK17] Fix oop array element alignment
50. 8275415: Prepare Leak Profiler for Lilliput
51. 8308296: [Lilliput/JDK17] Cherry-pick: 8275415: Prepare Leak Profiler for Lilliput
52. 8312606: [Lilliput/JDK17] Cherry-pick: 8276333: jdk/jfr/event/oldobject/TestLargeRootSet.java failed "assert(!contains(edge->reference())) failed: invariant"
53. 8314131: [Lilliput/JDK17] Make loadNKlassCompactHeaders not use a TEMP register
54. 8308411: [Lilliput/JDK17] Cherry-pick: 8283710: JVMTI: Use BitSet for object marking
55. 8314894: [Lilliput/JDK17] Revert changes in zRelocate, prevent ZGC with Lilliput
56. 8317957: [Lilliput/JDK17] Make C2 LoadNKlassCompactHeader more robust
57. 8318172: [Lilliput/JDK17] Disable Lilliput in TestZGCWithCDS
58. 8319724: [Lilliput] ParallelGC: Forwarded objects found during heap inspection
59. 8319135: [Lilliput] Fix objArrayOop gtest
60. 8319524: [Lilliput] Only warn when compact headers are explicitly enabled
61. 8320666: [Lilliput/JDK17] Add arrayOopDesc::base_offset() gtest
62. 8316746: Top of lock-stack does not match the unlocked object
63. 8316179: Use consistent naming for lightweight locking in MacroAssembler
64. 8316735: Print LockStack in hs_err files
65. 8316401: sun/tools/jhsdb/JStackStressTest.java failed with "InternalError: We should have found a thread that owns the anonymous lock"
66. 8316181: Move the fast locking implementation out of the .ad files
67. 8316880: AArch64: "stop: Header is not fast-locked" with -XX:-UseLSE since JDK-8315880
68. 8317452: [JVMCI] Export symbols used by lightweight locking to JVMCI compilers.
69. 8317262: LockStack::contains(oop) fails "assert(t->is_Java_thread()) failed: incorrect cast to JavaThread"
70. 8318015: Lock inflation not needed for OSR or Deopt for new locking modes
71. 8318895: Deoptimization results in incorrect lightweight locking stack
72. 8319897: Move StackWatermark handling out of LockStack::contains
73. 8319778: Remove unreachable code in ObjectSynchronizer::exit
74. 8319773: Avoid inflating monitors when installing hash codes for LM_LIGHTWEIGHT
75. 8324881: ObjectSynchronizer::inflate(Thread* current...) is invoked for non-current thread
This is a combination of 9 backported commits from openjdk/lilliput:

1. 8307392: [Lilliput] Revert deflation of dead object's monitors
2. 8319896: Remove monitor deflation from final audit
3. 8320317: ObjectMonitor NotRunnable is not really an optimization
4. 8316417: ObjectMonitorIterator does not return the most recent monitor and is incorrect if no monitors exists
5. 8329726: Use non-short forward jumps in lightweight locking
6. 8324174: assert(m->is_entered(current)) failed: invariant
7. 8329757: Crash with fatal error: DEBUG MESSAGE: Fast Unlock lock on stack
8. 8330813: Don't call methods from Compressed(Oops|Klass) if the associated mode is inactive
9. 8323724: Remove potential re-inflation from FastHashCode under LM_LIGHTWEIGHT
Also re-add Thread.isAlive() removed in JDK-8305425
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant