[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-serviceability-dev
Subject:    Re: RFR: 8200559: Java agents doing instrumentation need a means to define auxiliary classes [v2]
From:       Alan Snyder <javalists () cbfiddle ! com>
Date:       2021-04-23 19:57:53
Message-ID: 85FD6F38-71A6-4055-AB02-76DF7BC08A5B () cbfiddle ! com
[Download RAW message or body]

On Apr 21, 2021, at 11:40 AM, Alan Bateman <Alan.Bateman@oracle.com> wrote:
> 
> Sure, if you are using native code then you have the full power of JVM TI and JNI \
> available. Project Panama is exploring how to restrict access to native code, I \
> think too early to say how this might extend to JNI.

I looked at some of the Panama documents and saw no hint that it might be extended to \
JNI. It seems to be positioned as an (partial) alternative to JNI.

What I do see is that native code has no direct access to the JDK via Panama, only \
the ability to invoke provided upcalls, which can only access objects and methods \
that the caller has access to. That is indeed much more restricted than JNI.

Even though it is "too early", can you explain why you think Panama's restrictions \
might apply to JNI?

As a library developer, I have often made use of JNI to work around limitations in \
current and older JDKs. I would hate to lose that ability.

   Alan


[Attachment #3 (unknown)]

<html><head><meta http-equiv="Content-Type" content="text/html; \
charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; \
line-break: after-white-space;" class="">On Apr 21, 2021, at 11:40 AM, Alan Bateman \
&lt;<a href="mailto:Alan.Bateman@oracle.com" class="">Alan.Bateman@oracle.com</a>&gt; \
wrote:<br class=""><div><blockquote type="cite" class=""><br \
class="Apple-interchange-newline"><div class=""><span style="caret-color: rgb(0, 0, \
0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: \
normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: \
0px; text-transform: none; white-space: normal; word-spacing: 0px; \
-webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline \
!important;" class="">Sure, if you are using native code then you have the full power \
of JVM TI and JNI available. Project Panama is exploring how to restrict access to \
native code, I think too early to say how this might extend to JNI.</span><br \
style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; \
font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: \
normal; text-align: start; text-indent: 0px; text-transform: none; white-space: \
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" \
class=""></div></blockquote></div><br class=""><div class="">I looked at some of the \
Panama documents and saw no hint that it might be extended to JNI. It seems to be \
positioned as an (partial) alternative to JNI.</div><div class=""><br \
class=""></div><div class="">What I do see is that native code has no direct access \
to the JDK via Panama, only the ability to invoke provided upcalls, which can only \
access objects and methods that the caller has access to. That is indeed much more \
restricted than JNI.</div><div class=""><br class=""></div><div class="">Even though \
it is "too early", can you explain why you think Panama's restrictions might apply to \
JNI?</div><div class=""><br class=""></div><div class="">As a library developer, I \
have often made use of JNI to work around limitations in current and older JDKs. I \
would hate to lose that ability.</div><div class=""><br class=""></div><div \
class="">&nbsp; &nbsp;Alan</div><div class=""><br class=""></div></body></html>



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic