Status of JEP159?
David Holmes
david.holmes at oracle.com
Mon Oct 16 21:46:06 UTC 2017
On 17/10/2017 1:03 AM, Thomas Stüfe wrote:
> Hi David,
>
> On Mon, Oct 16, 2017 at 1:20 PM, David Holmes <david.holmes at oracle.com
> <mailto:david.holmes at oracle.com>> wrote:
>
> Hi Thomas,
>
> On 16/10/2017 8:40 PM, Thomas Stüfe wrote:
>
> Hi all,
>
> just a small question.
>
> While examining a crash in jvmti_GetClassMethods (jdk9) I
> noticed that I am able to successfully add and remove methods in
> a redefined class.
>
> But JEP159 is still only in "submitted" stage. Was this feature
> added for another JEP?
>
>
> According to the spec, you are not allowed to add/remove methods.
> How did you add/remove them?
>
> https://docs.oracle.com/javase/9/docs/specs/jvmti.html#RedefineClasses
> <https://docs.oracle.com/javase/9/docs/specs/jvmti.html#RedefineClasses>
>
> David
> -----
>
>
> I used jdb (redefine). I found that add/remove method worked for private
> methods, but not for public ones, so that explains it. I was examining a
> bug which now turned out to be a regression of
> https://bugs.openjdk.java.net/browse/JDK-8149743 - only in my case it
> was not a lambda method but just an ordinary private method.
>
> Sorry for the noise.
It isn't noise. The spec prohibits adding/removing methods - period! It
doesn't make an exception for private methods (even if it may seem
reasonable to do so).
David
> Thomas
>
>
>
> Thank you!
>
> Kind Regards, Thomas
>
>
More information about the serviceability-dev
mailing list