|
Stuart,
The update looks good.
Thanks,
Serguei
On 6/6/18 14:58, Stuart Marks wrote:
Serguei, great! Thanks.
All, I've updated the webrev to with changes to
threadPrimitiveDeprecation.html to remove the sections that
mention the removed methods.
http://cr.openjdk.java.net/~smarks/reviews/8204243/webrev.2/
s'marks
Stuart,
Thank you for explanation!
I'm Okay with the fix it is now.
Thanks,
Serguei
On 6/6/18 14:02, Stuart Marks wrote:
But the fix below is not clear
to me:
http://cr.openjdk.java.net/~smarks/reviews/8204243/webrev.1/src/hotspot/share/prims/jvmti.xml.udiff.html
<function id="StopThread" num="7">
<synopsis>Stop Thread</synopsis>
<description>
- Send the specified asynchronous exception to the specified thread
- (similar to <code>java.lang.Thread.stop</code>).
+ Send the specified asynchronous exception to the specified thread.
Normally, this function is used to kill the specified thread with an
- instance of the exception <code>ThreadDeath</code>.
+ instance of the exception <code>ThreadDeath</code>, similar to
+ <code>java.lang.Thread.stop</code>.
</description>
A reference to the java.lang.Thread.stop
has been removed in one place and added in another.
I thought, we wanted to get rid of these references in
the spec.
Do I miss anything? Could you, explain this a little
bit?
Sure. The current state (through JDK 10) is that there two
APIs:
1. Thread.stop(Throwable)
2. Thread.stop() // no-arg
They are both deprecated, but only (1) is deprecated for
removal, and it's the one being removed by this changeset.
Method (2) will remain in the platform for the forseeable
future.
Method (1) causes the target thread asynchronously to throw
the argument, which can be an instance of any subtype of
Throwable. Method (2) causes the target thread to throw
ThreadDeath (a subtype of Error) asynchronously.
The wording in the JVMTI doc isn't terribly explicit. The
original wording actually means "similar to
Thread.stop(Throwable)" that is method (1). My rewording
places the mention of Thread.stop into the context of throwing
ThreadDeath, implying method (2). Since that will be the only
Thread.stop method remaining, there's no ambiguity. So yes,
the wording change looks odd, but there is a subtle shift in
the meaning, and I think the meaning is clear after (1) has
been removed.
But I can remove the "similar to Thread.stop" bit if you
prefer.
s'marks
Thanks,
Serguei
On 6/5/18 17:05, Stuart Marks wrote:
[adding
serviceability-dev]
Hi serviceability folks,
I'm in the process of removing Thread.destroy() and
Thread.stop(Throwable) from the Java SE API. Alan and
David have pointed out that there are some
cross-references to Thread.stop(Throwable) in the JDWP and
JVMTI specs, as well as in the JDI ThreadReference API.
I've adjusted the relevant files.
See please review this updated webrev:
http://cr.openjdk.java.net/~smarks/reviews/8204243/webrev.1/
For context, please see the full review thread on
core-libs-dev:
http://mail.openjdk.java.net/pipermail/core-libs-dev/2018-June/053536.html
On 6/4/18 11:11 PM, Alan Bateman wrote:
The source file that is used to
generate the JDWP protocol code and the spec is in
make/data/jdwp/jdwp.spec. The JVM TI spec is at
src/hotspot/share/prims/jvmti.xml. It should be okay to
skip those for this change-set, assuming it is followed
up quickly with another change-set to update those
specs.
OK. I took a look at those other files and they seem
simple enough to update as part of this changeset. If
there aren't any objections from anyone, might as well get
this all done at once.
Thanks,
s'marks
|