[prev in list] [next in list] [prev in thread] [next in thread]
List: openjdk-serviceability-dev
Subject: Re: 3-rd round RFR (S) 8008678: JSR 292: constant pool reconstitution must support pseudo strings
From: "serguei.spitsyn () oracle ! com" <serguei ! spitsyn () oracle ! com>
Date: 2015-01-17 1:15:10
Message-ID: 54B9B79E.3060600 () oracle ! com
[Download RAW message or body]
On 1/16/15 3:32 PM, John Rose wrote:
> On Jan 16, 2015, at 3:03 PM, Coleen Phillimore
> <coleen.phillimore@oracle.com <mailto:coleen.phillimore@oracle.com>>
> wrote:
>>
>> I was sort of wondering about this along the same lines. You're
>> setting the second bit, right? :)
>
> That sounds good, much better than the string prefix hack.
>
> Parsing the string would introduce too much coupling between the JVM
> and random details of the JDK.
>
> I also suggested to Serguei that redefinition of patched classes is
> not going to happen, since they are not user-visible. So all of the
> "EMCP" logic can punt on pseudo-strings, one way or another, if it
> needs to.
>
> BTW, since patched classes are always anonymous classes, you can't
> even get to them, unless you dig them out some private place like a
> lambda form.
Anonymous classes can be noticed by agents with the CL or CFLH events.
Then nothing stops agents from redefining or re-transforming anonymous
classes.
>
> Reconstitution is also a lost cause, since the patches will be
> dropped, but I see how that might be something you might possibly run
> into, as a stress test or some sort of debugger display.
I've filed a new bug to track this issue as we early agreed with Coleen:
https://bugs.openjdk.java.net/browse/JDK-8069233
Fill free to update it if necessary.
Thanks,
Serguei
>
> — John
[Attachment #3 (text/html)]
<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">On 1/16/15 3:32 PM, John Rose wrote:<br>
</div>
<blockquote
cite="mid:82E12F9C-BE5E-4B66-B477-9F90956ECD6D@oracle.com"
type="cite">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
On Jan 16, 2015, at 3:03 PM, Coleen Phillimore <<a
moz-do-not-send="true"
href="mailto:coleen.phillimore@oracle.com" \
class="">coleen.phillimore@oracle.com</a>> wrote:<br class="">
<div>
<blockquote type="cite" class=""><br
class="Apple-interchange-newline">
<div class=""><span style="font-family: Helvetica; font-size:
16px; font-style: normal; font-variant: normal;
font-weight: normal; letter-spacing: normal; line-height:
normal; orphans: auto; text-align: start; text-indent:
0px; text-transform: none; white-space: normal; widows:
auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;
background-color: rgb(255, 255, 255); float: none;
display: inline !important;" class="">I was sort of
wondering about this along the same lines. You're setting
the second bit, right? :)</span><br style="font-family:
Helvetica; font-size: 16px; font-style: normal;
font-variant: normal; font-weight: normal; letter-spacing:
normal; line-height: normal; orphans: auto; text-align:
start; text-indent: 0px; text-transform: none;
white-space: normal; widows: auto; word-spacing: 0px;
-webkit-text-stroke-width: 0px; background-color: rgb(255,
255, 255);" class="">
</div>
</blockquote>
</div>
<br class="">
<div class="">That sounds good, much better than the string prefix
hack.</div>
<div class=""><br class="">
</div>
<div class="">Parsing the string would introduce too much coupling
between the JVM and random details of the JDK.</div>
<div class=""><br class="">
</div>
<div class="">I also suggested to Serguei that redefinition of
patched classes is not going to happen, since they are not
user-visible. So all of the "EMCP" logic can punt on
pseudo-strings, one way or another, if it needs to.</div>
<div class=""><br class="">
</div>
<div class="">BTW, since patched classes are always anonymous
classes, you can't even get to them, unless you dig them out
some private place like a lambda form.</div>
</blockquote>
<br>
Anonymous classes can be noticed by agents with the CL or CFLH
events.<br>
Then nothing stops agents from redefining or re-transforming
anonymous classes.<br>
<br>
<blockquote
cite="mid:82E12F9C-BE5E-4B66-B477-9F90956ECD6D@oracle.com"
type="cite">
<div class=""><br class="">
</div>
<div class="">Reconstitution is also a lost cause, since the
patches will be dropped, but I see how that might be something
you might possibly run into, as a stress test or some sort of
debugger display.</div>
</blockquote>
<br>
I've filed a new bug to track this issue as we early agreed with
Coleen:<br>
<a class="moz-txt-link-freetext" \
href="https://bugs.openjdk.java.net/browse/JDK-8069233">https://bugs.openjdk.java.net/browse/JDK-8069233</a><br>
<br>
Fill free to update it if necessary.<br>
<br>
<br>
Thanks,<br>
Serguei<br>
<br>
<blockquote
cite="mid:82E12F9C-BE5E-4B66-B477-9F90956ECD6D@oracle.com"
type="cite">
<div class=""><br class="">
</div>
<div class="">— John</div>
</blockquote>
<br>
</body>
</html>
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic