Near-term action items:

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