----- Mail original -----
> De: "Vladimir Ivanov" <vladimir.x.iva...@oracle.com>
> À: "Remi Forax" <fo...@univ-mlv.fr>, "shilpi rastogi" 
> <shilpi.rast...@oracle.com>
> Cc: core-libs-...@openjdk.java.net, "John Rose" <john.r.r...@oracle.com>, 
> "Michael Haupt" <michael.ha...@oracle.com>,
> "paul sandoz" <paul.san...@oracle.com>, "Da Vinci Machine Project" 
> <mlvm-dev@openjdk.java.net>
> Envoyé: Mercredi 11 Mai 2016 14:50:25
> Objet: Re: RFR[9]:Fix java/lang/invoke/MethodHandleImpl's use of 
> Unsafe.defineAnonymousClass()
> 
> Remi, I'm curious why doesn't @Hidden on the invoker method solve your
> problem?
> 
> Best regards,
> Vladimir Ivanov

Hi Vladimir,
as far as i know @Hidden only work on the stackframe that correspond to a 
method marked with @Hidden,
not for the stackframe on top of the stackframe marked.
So having the invoker marked with @Hidden is not enough, but maybe i'm wrong.

Rémi 
 
> 
> On 5/11/16 3:44 PM, Remi Forax wrote:
> > Hi all,
> > changing the behavior of defineAnonymousClass in 9 is huge burden for me
> > and i believe for anybody that maintains a dynamic language runtime.
> >
> > As an implementer, being able to choose the package of an anonymous class
> > is an important feature.
> > I use to choose carefully the package name for:
> > - filtering the stack trace element that will be shown or not to the user.
> >   This patch specifically broke the stack trace that my runtime will emit
> >   because it removes "java.lang.invoke".
> >   I'm not the only one to filter out stacktrace element that starts with
> >   "java.lang.invoke", Nashorn or JRuby do that too.
> >   I can modify the code to use the new StackWalking API if all the method
> >   handle form artifact are marked with an interface or something like
> >   this.
> >
> > - generate proxy in an existing package
> >   see https://github.com/forax/proxy2
> >
> > - generate code specialization (specialization of an existing method for
> > some primitive types) of an existing class in an existing package
> >   (for the specialization, i specialize the constant pool at runtime so i
> >   have no choice but to use defineAnonymousClass).
> >
> >
> > I understand that being able to generate a class in any package do not work
> > well with the jigsaw view of the world but that's why defineAnonymousClass
> > is in Unsafe after all.
> >
> > regards,
> > Rémi
> >
> > ----- Mail original -----
> >> De: "shilpi rastogi" <shilpi.rast...@oracle.com>
> >> À: core-libs-...@openjdk.java.net, "John Rose" <john.r.r...@oracle.com>,
> >> "Michael Haupt" <michael.ha...@oracle.com>,
> >> "paul sandoz" <paul.san...@oracle.com>, "Vladimir Ivanov"
> >> <vladimir.x.iva...@oracle.com>
> >> Envoyé: Mercredi 11 Mai 2016 13:24:09
> >> Objet: RFR[9]:Fix java/lang/invoke/MethodHandleImpl's use of
> >>    Unsafe.defineAnonymousClass()
> >>
> >> Hi All,
> >>
> >> Please review the following-
> >>
> >> https://bugs.openjdk.java.net/browse/JDK-8149574
> >>
> >> Solution: Changed anonymous class package name with the package name of
> >> its host class.
> >>
> >> Two approaches to solve this-
> >> 1.  Parse .class and get the class name index form constant pool and
> >> patch it with new name
> >> http://cr.openjdk.java.net/~srastogi/8149574/webrev.05/
> >>
> >> 2. Create class with new name (With ASM)
> >> http://cr.openjdk.java.net/~srastogi/8149574/webrev.06/
> >>
> >> Which approach is better?
> >>
> >> Thanks,
> >> Shilpi
> >>
> >>
> >>
> >>
> 
_______________________________________________
mlvm-dev mailing list
mlvm-dev@openjdk.java.net
http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev

Reply via email to