<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<br>
<br>
<div class="moz-cite-prefix">On 6/1/2023 2:32 PM, Dan Heidinga
wrote:<br>
</div>
<blockquote type="cite" cite="mid:CAJq4Gi5FCxxnuSAEbdLC2n3zETL3ozXwCwu+omMGZ4UxA=YrVQ@mail.gmail.com">
<div dir="ltr">
<div dir="ltr"><br>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Thu, Jun 1, 2023 at
1:59 PM Brian Goetz <<a href="mailto:brian.goetz@oracle.com" moz-do-not-send="true" class="moz-txt-link-freetext">brian.goetz@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">
<div> <font size="4"><font face="monospace">I think that
there should be an explicit (and not synthetic)
method_info for the implicit constructor, with the
obvious Code attribute (`defaultvalue` / `areturn`.) </font></font></div>
</blockquote>
<div><br>
</div>
<div>I'm slightly concerned about having a Code attribute for
the implicit constructor as it allows agents (ClassFile load
hook & redefinition) to modify the bytecodes to be
inconsistent with the VM's behaviour given the VM won't
actually call the implicit constructor.</div>
<div><br>
</div>
<div>Telling users it's "as if" the VM called the implicit
ctor and then having the reflective behaviour be different
after retransformation is slightly uncomfortable.</div>
</div>
</div>
</blockquote>
<br>
I'm fine if the expansion of the constructor body happens at runtime
rather than compile time; my suggestion was mostly "this is
super-easy in the static compiler, why make more work for the JVM."
But, if you're signing up for that work, I won't stop you....<br>
<br>
<br>
</body>
</html>