RFR 8185717: Make ModuleEntry->module() return an oop not a jobject

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

RFR 8185717: Make ModuleEntry->module() return an oop not a jobject

harold seigel
Hi,

Please review this JDK-10 change to have ModuleEntry::module() return an
oop instead of a jobject.

Open Webrev:
http://cr.openjdk.java.net/~hseigel/bug_8185717/webrev/index.html

JBS Bug: https://bugs.openjdk.java.net/browse/JDK-8185717

The fix was tested with the JCK Lang and VM tests, the JTreg hotspot,
java/io, java/lang, java/util and other tests, the co-located NSK tests,
JPRT, and with the RBT tier2 - tier5 tests on Linux x64.

Thanks, Harold

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: RFR 8185717: Make ModuleEntry->module() return an oop not a jobject

Aleksey Shipilev-4
On 08/07/2017 03:26 PM, harold seigel wrote:
> Open Webrev: http://cr.openjdk.java.net/~hseigel/bug_8185717/webrev/index.html

So this just moves JNIHandles::resolve calls into ModuleEntry::module(), and exposes
ModuleEntry::module_handle() in case we can do with the original (global?) handle.

This looks correct.

Thanks,
-Aleksey


Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: RFR 8185717: Make ModuleEntry->module() return an oop not a jobject

coleen.phillimore
In reply to this post by harold seigel

Harold, This looks good. Thank you for this cleanup!
Coleen

On 8/7/17 9:26 AM, harold seigel wrote:

> Hi,
>
> Please review this JDK-10 change to have ModuleEntry::module() return
> an oop instead of a jobject.
>
> Open Webrev:
> http://cr.openjdk.java.net/~hseigel/bug_8185717/webrev/index.html
>
> JBS Bug: https://bugs.openjdk.java.net/browse/JDK-8185717
>
> The fix was tested with the JCK Lang and VM tests, the JTreg hotspot,
> java/io, java/lang, java/util and other tests, the co-located NSK
> tests, JPRT, and with the RBT tier2 - tier5 tests on Linux x64.
>
> Thanks, Harold
>

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: RFR 8185717: Make ModuleEntry->module() return an oop not a jobject

coleen.phillimore
In reply to this post by Aleksey Shipilev-4


On 8/7/17 9:34 AM, Aleksey Shipilev wrote:
> On 08/07/2017 03:26 PM, harold seigel wrote:
>> Open Webrev: http://cr.openjdk.java.net/~hseigel/bug_8185717/webrev/index.html
> So this just moves JNIHandles::resolve calls into ModuleEntry::module(), and exposes
> ModuleEntry::module_handle() in case we can do with the original (global?) handle.

Yes, we can change the representation without having to fix all these
places.  If you look at ClassLoaderData::_handles, it's not a
JNIHandleBlock anymore, so these really aren't JNIHandles or jobject.  
This was because JNIHandleBlock couldn't be concurrently walked.  The
global handle and weak handle list has the same problem.  We're (Kim is)
currently working on a replacement for this, which needs an RFE.

thanks,
Coleen

>
> This looks correct.
>
> Thanks,
> -Aleksey
>
>

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: RFR 8185717: Make ModuleEntry->module() return an oop not a jobject

harold seigel
In reply to this post by Aleksey Shipilev-4
Aleksey,

Thanks for the review!

Harold

On 8/7/2017 9:34 AM, Aleksey Shipilev wrote:

> On 08/07/2017 03:26 PM, harold seigel wrote:
>> Open Webrev: http://cr.openjdk.java.net/~hseigel/bug_8185717/webrev/index.html
> So this just moves JNIHandles::resolve calls into ModuleEntry::module(), and exposes
> ModuleEntry::module_handle() in case we can do with the original (global?) handle.
>
> This looks correct.
>
> Thanks,
> -Aleksey
>
>

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: RFR 8185717: Make ModuleEntry->module() return an oop not a jobject

harold seigel
In reply to this post by coleen.phillimore
Thanks Coleen!

Harold


On 8/7/2017 10:49 AM, [hidden email] wrote:

>
> Harold, This looks good. Thank you for this cleanup!
> Coleen
>
> On 8/7/17 9:26 AM, harold seigel wrote:
>> Hi,
>>
>> Please review this JDK-10 change to have ModuleEntry::module() return
>> an oop instead of a jobject.
>>
>> Open Webrev:
>> http://cr.openjdk.java.net/~hseigel/bug_8185717/webrev/index.html
>>
>> JBS Bug: https://bugs.openjdk.java.net/browse/JDK-8185717
>>
>> The fix was tested with the JCK Lang and VM tests, the JTreg hotspot,
>> java/io, java/lang, java/util and other tests, the co-located NSK
>> tests, JPRT, and with the RBT tier2 - tier5 tests on Linux x64.
>>
>> Thanks, Harold
>>
>

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: RFR 8185717: Make ModuleEntry->module() return an oop not a jobject

Lois Foltan
In reply to this post by harold seigel
Looks good.
Lois

On 8/7/2017 9:26 AM, harold seigel wrote:

> Hi,
>
> Please review this JDK-10 change to have ModuleEntry::module() return
> an oop instead of a jobject.
>
> Open Webrev:
> http://cr.openjdk.java.net/~hseigel/bug_8185717/webrev/index.html
>
> JBS Bug: https://bugs.openjdk.java.net/browse/JDK-8185717
>
> The fix was tested with the JCK Lang and VM tests, the JTreg hotspot,
> java/io, java/lang, java/util and other tests, the co-located NSK
> tests, JPRT, and with the RBT tier2 - tier5 tests on Linux x64.
>
> Thanks, Harold
>

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: RFR 8185717: Make ModuleEntry->module() return an oop not a jobject

harold seigel
Thanks Lois!

Harold


On 8/7/2017 11:10 AM, Lois Foltan wrote:

> Looks good.
> Lois
>
> On 8/7/2017 9:26 AM, harold seigel wrote:
>> Hi,
>>
>> Please review this JDK-10 change to have ModuleEntry::module() return
>> an oop instead of a jobject.
>>
>> Open Webrev:
>> http://cr.openjdk.java.net/~hseigel/bug_8185717/webrev/index.html
>>
>> JBS Bug: https://bugs.openjdk.java.net/browse/JDK-8185717
>>
>> The fix was tested with the JCK Lang and VM tests, the JTreg hotspot,
>> java/io, java/lang, java/util and other tests, the co-located NSK
>> tests, JPRT, and with the RBT tier2 - tier5 tests on Linux x64.
>>
>> Thanks, Harold
>>
>

Loading...