<div dir="ltr"><div>+1 for removing AOTClassLinking support for dynamic archives. One less scenario to think of.</div><div>Since we are adopting and advocating AOTCache based workflow, perhaps we should remove support for AOTClassLinking with any of the older CDS based workflows - static or dynamic archive.</div><div>I am not sure if it would have any impact on the code base, but it would keep the two workflows completely separate, making it easier to reason about the future changes.</div><div><br></div><div>Thanks,</div><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr">- Ashutosh Mehra</div></div></div><br></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Wed, Sep 10, 2025 at 3:14 PM <<a href="mailto:ioi.lam@oracle.com">ioi.lam@oracle.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">I've filed <a href="https://bugs.openjdk.org/browse/JDK-8367366" rel="noreferrer" target="_blank">https://bugs.openjdk.org/browse/JDK-8367366</a> to remove <br>
-XX:+AOTClassLinking support for dynamic CDS archive. Any objections?<br>
<br>
Background: we needed this for the old (and removed) "5 step workflow" <br>
in early Leyden development. And it somehow leaked into the mainline <br>
when we upstreamed JEP 483.<br>
<br>
However, most (if not all) current and future Leyden optimizations will <br>
depend on BOTH -XX:+AOTClassLinking and archive heap objects. Because we <br>
don't support archived heap objects in the dynamic archive, so it won't <br>
benefit from any of those optimization.<br>
<br>
My main concerns are (1) code bloat, and (2) the chance of introducing <br>
bugs when we add new optimizations without sufficient testing for the <br>
dynamic archive. I think I actually have one such bug in <br>
`fixup_module_field_list()` in <a href="https://github.com/openjdk/jdk/pull/26375" rel="noreferrer" target="_blank">https://github.com/openjdk/jdk/pull/26375</a> <br>
(preload classes from AOT cache).<br>
<br>
Thanks<br>
<br>
- Ioi<br>
<br>
</blockquote></div>