equal
deleted
inserted
replaced
3385 } |
3385 } |
3386 |
3386 |
3387 return (!access.is_private() && InstanceKlass::cast(current_class)->is_same_class_package(field_class)); |
3387 return (!access.is_private() && InstanceKlass::cast(current_class)->is_same_class_package(field_class)); |
3388 } |
3388 } |
3389 |
3389 |
3390 // Return the first non-null class loader up the execution stack, or null |
3390 // Return the first user-defined class loader up the execution stack, or null |
3391 // if only code from the null class loader is on the stack. |
3391 // if only code from the bootstrap or platform class loader is on the stack. |
3392 |
3392 |
3393 JVM_ENTRY(jobject, JVM_LatestUserDefinedLoader(JNIEnv *env)) |
3393 JVM_ENTRY(jobject, JVM_LatestUserDefinedLoader(JNIEnv *env)) |
3394 for (vframeStream vfst(thread); !vfst.at_end(); vfst.next()) { |
3394 for (vframeStream vfst(thread); !vfst.at_end(); vfst.next()) { |
3395 vfst.skip_reflection_related_frames(); // Only needed for 1.4 reflection |
3395 vfst.skip_reflection_related_frames(); // Only needed for 1.4 reflection |
3396 oop loader = vfst.method()->method_holder()->class_loader(); |
3396 oop loader = vfst.method()->method_holder()->class_loader(); |
3397 if (loader != NULL) { |
3397 if (loader != NULL && !SystemDictionary::is_platform_class_loader(loader)) { |
3398 return JNIHandles::make_local(env, loader); |
3398 return JNIHandles::make_local(env, loader); |
3399 } |
3399 } |
3400 } |
3400 } |
3401 return NULL; |
3401 return NULL; |
3402 JVM_END |
3402 JVM_END |