<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">
<br class="">
<div><br class="">
<blockquote type="cite" class="">
<div class=""><br class="">
</div>
<div class="">
<div class="">
<blockquote type="cite" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none;" class="">
From these 3 points it seems that your goal is for the ClassFile API to<br class="">
eventually replace ASM? Yet this is listed as a non goal in<br class="">
<a href="https://bugs.openjdk.org/browse/JDK-8280389?" class="">https://bugs.openjdk.org/browse/JDK-8280389?</a><span class="Apple-converted-space"> </span>Can you clarify?<br class="">
</blockquote>
<br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class="">
<span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">That's
 better directed at the Oracle folks. I read it as "within the</span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class="">
<span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">context
 of this JEP, which does not include a public API". I think</span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class="">
<span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">it's
 naive to assume that as and when a public API exists, that people</span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class="">
<span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">won't
 use it / won't seek to remove usage of third-party bytecode</span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class="">
<span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">libraries.</span></div>
</div>
</blockquote>
</div>
<br class="">
<div class="">This is getting pretty off topic, so we should wind this line of speculation down.  </div>
<div class=""><br class="">
</div>
<div class="">I think the JEP was pretty clear, though.   There’s no intent to “kill ASM” or any other bytecode library.  There’s a reason there are dozens of bytecode libraries; each focuses on different priorities and audiences.  It would be naive to think
 that this would be the “one library to rule them all”; it will meet some people’s needs, and not others. If/when this API becomes public and permanent in Java 2x, it will be a long time before the ecosystem has fully baselined on Java 2x.  So ASM and others
 are here to stay for a while, and that’s all good.  <font color="#000000" class=""><span style="caret-color: rgb(0, 0, 0);" class=""> The future of ASM is in the hands of the ASM community, which seems strong to me.  Users will make choices that make sense
 for them, on their own schedule.  </span></font></div>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<div class="">
<blockquote type="cite" class=""><span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class="">What worries me is that:</span><br style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class="">
</blockquote>
<div class=""><br class="">
</div>
</div>
<div class="">
<blockquote type="cite" class=""><span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class="">a) The Classfile API ends up not containing everything that is really</span><br style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class="">
<span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class="">needed by library authors, so they don't switch</span><br style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class="">
</blockquote>
<div class=""><br class="">
</div>
<div class="">Don’t worry about this; this is guaranteed.  There will always be something that this library doesn’t do (e.g., I doubt the TCK team will be able to use it to create some of the pathologically broken classifies that are used to test the JVM) or
 doesn’t do well enough for every situation.  In those cases, users should use what works for them.  There are choices.   </div>
<br class="">
<blockquote type="cite" class=""><span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class="">b) The cost of switching is very high, so authors keep using ASM,</span><br style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class="">
<span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class="">which therefore keeps being developed, and we lose the opportunity to</span><br style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class="">
<span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class="">close a big gap in the long upgrade cycle problem.</span><br style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class="">
</blockquote>
<div class=""><br class="">
</div>
<div class="">Don’t worry about this; this is baked in.  If people are happy with ASM, they’ll stay with ASM, and that’s fine.  New projects will have more choices, and many of them may choose the one baked into the JDK.  Some projects may make the switch (as
 the JDK is embarking on — and this is definitely not cheap) and some may not.  Some will do it sooner, some later, some never.  Ecosystems are messy; we can lead, but people get to choose whether they follow.  </div>
<br class="">
<blockquote type="cite" class=""><span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class="">c) Even if a) turns out not to be a problem, the time to get enough of</span><br style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class="">
<span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class="">the ecosystem moved over to Classfile API is potentially extremely</span><br style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class="">
<span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class="">long.</span></blockquote>
<br class="">
</div>
<div class="">Don’t worry about this; this is just how the world works.  Some people will adopt early; some will migrate later; some never will.  </div>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
</body>
</html>