• Home
    • View
    • Login
    This page
    • Normal
    • Export PDF
    • Page Information

    Loading...
  1. Dashboard
  2. Undefined Space
  3. Lilliput
  4. TODO

TODO

  • Created by Stefan Karlsson, last modified by Roman Kennke on Apr 30, 2024

Near-term action items:

  • OMWorld (external object to ObjectMonitor mapping): Combine LM_PLACEHOLDER into LM_LIGHTWEIGHT
    • The intention is that the OMWorld locking implementation will replace the Lightweigt locking. It will either go in with Lilliput or extracted into a separate, stand-alone RFE
    • Note: this means that the OMWorld implementation will still be used when the user runs with `-XX:-UseCompactObjectHeaders`
    • Owner: Axel
  • Create a "patch queue" of all changes and maintain those patches as the top-most changes in https://github.com/openjdk/lilliput/tree/master
    • This will help
    • The "patch queue" will be rebased whenever the upstream (openjdk/jdk) is merged.
      • This will use non-destructive rebasing with "git merge -s ours", which "forgets" the old "patch queue"
    • Example patch queue:
      • * 4363dd8a1ef (HEAD -> lilliput-all, lilliput-stefank/lilliput-all) OMWorld Lilliput changes
        * 916d0958a7f JDK-8325104: Lilliput: Shrink Classpointers
        * 1346db1b546 Lilliput: Compact object headers
        * 8fb10dc6f1d 8305898: Alternative self-forwarding mechanism
        * 3726027944e 8305896: Alternative full GC forwarding
        * c1f2dfb8735 OMWorld
        * 998d0baab0f (tag: jdk-23+12, lilliput/jdk) 8324799: Use correct extension for C++ test headers
    • Owner: Roman

Workable items:

 + Lilliput Repository
| <= + OMWorld Lilliput changes (Make UseCompactObjectHeaders imply LM_PLACEHOLDER)
 |    | <= Depends on OMWorld
 |    | <= Roman has initial patch
|    | <= Stefan has a set on top of this
| | <= Maybe fold this into 'Lilliput: Compact object headers'
|
| <= + JDK-8325104: Lilliput: Shrink Classpointers (TinyCP)
| | <= Determine if 22-bit klass IDs are good enough
| | | <= For Experimental UseCompactObjectHeaders
| | | <= For productized UseCompactObjectHeaders
| | <= Maybe: Figure out if UseCompressedClassPointer should == UseCompactObjectHeaders
| | <= Figure out of hyperalignment is causing cache performance issues in anything other than microbenchmarks
 |    | <= Review CDS parts: Runtime
 |    | <= Review Metaspace parts: GC / Runtime
 |    | <= Review C2 parts. Esp. klass_offset_in_bytes and related discussion
|
| <= + Cleanups after 'Lilliput: Compact object headers'
| | <= Go over the GC code and clean out "safe" klass fetches.
|
| <= + Lilliput: Compact object headers
| | Review
 |
 | <= + 8305898: Alternative self-forwarding mechanism
| | <= Clean out preserved_marks for 32-bit JVMs
|    | <= Review
|
| <= + 8305896: Alternative full GC forwarding
 |    | Review
|
| <= + OMWorld
|    | <= + Monitor deflation heuristic
| | | <= Rewrite
|    | | <= Interaction with ConcurrentHashTable sizing
 |    | <= + Decide C2 monitor cache layout
 |    |    | <= should be loop unrolled or not
 |    |    | <= size?
|    | <= Cleanup code used for various experiments (after evaluation)
|    | <= + Full platform support?
| | | <= Make non-primary platform call into Runtime until porters have added full support
|    |    | <= PPC (optional)
|    |    | <= RiscV (optional)
|    |    | <= s390 (optional)
|    |    | <= 32-bit arm (optional)
|    |    | <= x86 (optional)

+ Testing (after "patch queue" has been created)
| <= + Stability testing
|
| <= + Performance testing


Overview
Content Tools
ThemeBuilder
  • No labels

Terms of Use
• License: GPLv2
• Privacy • Trademarks • Contact Us

Powered by a free Atlassian Confluence Open Source Project License granted to https://www.atlassian.com/software/views/opensource-community-additional-license-offer. Evaluate Confluence today.

  • Kolekti ThemeBuilder Powered by Atlassian Confluence 8.5.21
  • Kolekti ThemeBuilder printed.by.atlassian.confluence
  • Report a bug
  • Atlassian News
Atlassian
Kolekti ThemeBuilder EngineAtlassian Confluence
{"serverDuration": 250, "requestCorrelationId": "fdf34b23be25ec8a"}