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 ...
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.
David
-----
Thanks,
Serguei
--
David
thanks,
Karen