I think, change in the file unsafe.cpp is incorrect. ( http://cr.openjdk.java.net/~coleenp/6642881_8u40_hotspot/ )
Below function is accessing naked oops when thread has transitioned to "native": *+ static jobject get_class_loader(JNIEnv* env, jclass cls) {**+ if (java_lang_Class::is_primitive(JNIHandles::resolve_non_null(cls))) {**+ return NULL;**+ }**+ Klass* k = java_lang_Class::as_Klass(JNIHandles::resolve_non_null(cls));**+ oop loader = k->class_loader();**+ return JNIHandles::make_local(env, loader);**+ }* - Leela On Mon, Sep 8, 2014 at 7:05 PM, Coleen Phillimore < coleen.phillim...@oracle.com> wrote: > > Thanks, Mandy! > > Coleen > > > On 9/8/14, 6:59 PM, Mandy Chung wrote: > >> Thumbs up. >> >> Mandy >> >> On 9/5/2014 12:55 PM, Coleen Phillimore wrote: >> >>> Summary: Add classLoader to java/lang/Class instance for fast access >>> >>> This is a backport request for 8u40. This change has been in the jdk9 >>> code for 3 months without any problems. >>> >>> The JDK changes hg imported cleanly. The Hotspot change needed a hand >>> merge for create_mirror call in klass.cpp. >>> >>> http://cr.openjdk.java.net/~coleenp/6642881_8u40_jdk/ >>> http://cr.openjdk.java.net/~coleenp/6642881_8u40_hotspot/ >>> >>> bug link https://bugs.openjdk.java.net/browse/JDK-6642881 >>> >>> Ran jdk_core jtreg tests in jdk with both jdk/hotspot changes. Also ran >>> jck java_lang tests with only the hotspot change. The hotspot change can >>> be tested separately from the jdk change (but not the other way around). >>> >>> Thanks, >>> Coleen >>> >> >> >