On 2/20/18 23:01, David Holmes wrote:
On 21/02/2018 4:50 PM, serguei.spit...@oracle.com wrote:
Hi Karen and David,
On 2/20/18 19:52, David Holmes wrote:
Hi Karen,
On 21/02/2018 1:54 AM, Karen Kinnear wrote:
Folks,
As part of the Valhalla EG discussions for JVMTI changes for
nestmates (thank you Serguei and David),
IBM brought up a request that we update the JVMTI documentation to
reflect that we allow addition
of private methods.
Is there a reason we do not document this? I’m inviting those who
were involved at the time - please include
others if needed.
I support documenting this in the JVMTI spec and had a plan to fix it
in 11.
However, it is not clear to me yet if we have a consensus on it.
I would like to see a detailed analysis of the implications of
allowing this. I _think_ it is safe but ...
Valid concern.
Also, I'd love to collect more details on the initial motivation to
relax the JVMTI spec.
Most likely we had no CCC/CSR filed on this change.
This issue is tracked by:
https://bugs.openjdk.java.net/browse/JDK-8192936
"RI does not follow the JVMTI RedefineClasses spec that is too
strict in the definition"
Yes, this is the one.
Thank you, David, for posting the link.
As I wrote there ... It is not at all clear how JDK-6404550 morphed
into "Permit the adding or deleting of private final/static methods
with redefine" - nor why those changes failed to make any change to
the spec itself. It is also unclear whether the add/delete is
restricted to final/static methods or any private method? I can see
that the intent was to only allow something that would not perturb
the vtable for existing instances.
I agree, there is a confusion somewhere.
Is it possible, the JDK-6404550 in JIRA is a different bug than the
one in the Bugtraq system?
The JDK-6404550 in JIRA has a different synopsis:
https://bugs.openjdk.java.net/browse/JDK-6404550
Cannot implement late attach in NetBeans Profiler due to
missing functionality in JVMTI
Digging deeper ... to fix the problem described in that bug they
augmented JVM TI to allow private method redefinition as an alternate
to the "native rebinding" technique that had been used previously. See
the final comment in:
https://bugs.openjdk.java.net/browse/JDK-6341303
"JVMTI Spec: Need a way how to rebind Object.wait and Thread.sleep
with late attach"
which was closed as a duplicate.
Thank you for the point.
This explains it.
It seems, the bug synopsis was changed at some moment.
Thanks,
Serguei
David
-----
Thanks,
Serguei
--
David
thanks,
Karen