JEP update: Value Objects
Dan Smith
daniel.smith at oracle.com
Thu Dec 2 15:04:59 UTC 2021
On Dec 2, 2021, at 7:08 AM, Dan Heidinga <heidinga at redhat.com<mailto:heidinga at redhat.com>> wrote:
When converting back from our internal form to a classfile for the
JVMTI RetransformClasses agents, I need to either filter the interface
out if we injected it or not if it was already there. JVMTI's
GetImplementedInterfaces call has a similar issue with being
consistent - and that's really the same issue as reflection.
There's a lot of small places that can easily become inconsistent -
and therefore a lot of places that need to be checked - to hide
injected interfaces. The easiest solution to that is to avoid
injecting interfaces in cases where javac can do it for us so the VM
has a consistent view.
I think you may be envisioning extra complexity that isn't needed here. The plan of record is that we *won't* hide injected interfaces. Our hope is that the implicit/explicit distinction is meaningless—that turning implicit into explicit via JVMTI would be a 100% equivalent change. I don't know JVMTI well, so I'm not sure if there's some reason to think that wouldn't be acceptable...
More information about the valhalla-spec-observers
mailing list