comparison src/share/vm/jvmci/jvmciRuntime.cpp @ 22416:8abc6030cf1c

ensure JVMCI class loader is initialized before attempting to load service provider
author Andreas Woess <andreas.woess@oracle.com>
date Tue, 11 Aug 2015 01:55:00 +0200
parents 31e0737e2fce
children a1b0a76567c7
comparison
equal deleted inserted replaced
22415:c25188911c49 22416:8abc6030cf1c
638 638
639 // private static Service[] Services.getServiceImpls(String serviceClass) 639 // private static Service[] Services.getServiceImpls(String serviceClass)
640 JVM_ENTRY(jobject, JVM_GetJVMCIServiceImpls(JNIEnv *env, jclass c, jclass serviceClass)) 640 JVM_ENTRY(jobject, JVM_GetJVMCIServiceImpls(JNIEnv *env, jclass c, jclass serviceClass))
641 HandleMark hm; 641 HandleMark hm;
642 ResourceMark rm; 642 ResourceMark rm;
643 JVMCIRuntime::ensure_jvmci_class_loader_is_initialized();
643 KlassHandle serviceKlass(THREAD, java_lang_Class::as_Klass(JNIHandles::resolve_non_null(serviceClass))); 644 KlassHandle serviceKlass(THREAD, java_lang_Class::as_Klass(JNIHandles::resolve_non_null(serviceClass)));
644 return JNIHandles::make_local(THREAD, JVMCIRuntime::get_service_impls(serviceKlass, THREAD)()); 645 return JNIHandles::make_local(THREAD, JVMCIRuntime::get_service_impls(serviceKlass, THREAD)());
645 JVM_END 646 JVM_END
646 647
647 Handle JVMCIRuntime::callInitializer(const char* className, const char* methodName, const char* signature, JavaCallArguments* args) { 648 Handle JVMCIRuntime::callInitializer(const char* className, const char* methodName, const char* signature, JavaCallArguments* args) {