comparison src/share/vm/jvmci/jvmciRuntime.cpp @ 22761:f2206f5bb62e

removed @ServiceProvider mechanism (GRAAL-1380)
author Doug Simon <doug.simon@oracle.com>
date Wed, 30 Dec 2015 17:55:07 +0100
parents a130b51efb07
children f41d4011035d
comparison
equal deleted inserted replaced
22760:4cf1946f59fc 22761:f2206f5bb62e
603 JVM_ENTRY(jobject, JVM_GetJVMCIRuntime(JNIEnv *env, jclass c)) 603 JVM_ENTRY(jobject, JVM_GetJVMCIRuntime(JNIEnv *env, jclass c))
604 JVMCIRuntime::initialize_HotSpotJVMCIRuntime(CHECK_NULL); 604 JVMCIRuntime::initialize_HotSpotJVMCIRuntime(CHECK_NULL);
605 return JVMCIRuntime::get_HotSpotJVMCIRuntime_jobject(CHECK_NULL); 605 return JVMCIRuntime::get_HotSpotJVMCIRuntime_jobject(CHECK_NULL);
606 JVM_END 606 JVM_END
607 607
608 // private static Service[] Services.getServiceImpls(String serviceClass) 608 // private static Object[] Services.getServiceImpls(String serviceClass)
609 JVM_ENTRY(jobject, JVM_GetJVMCIServiceImpls(JNIEnv *env, jclass c, jclass serviceClass)) 609 JVM_ENTRY(jobject, JVM_GetJVMCIServiceImpls(JNIEnv *env, jclass c, jclass serviceClass))
610 HandleMark hm; 610 HandleMark hm;
611 ResourceMark rm; 611 ResourceMark rm;
612 JVMCIRuntime::ensure_jvmci_class_loader_is_initialized(); 612 JVMCIRuntime::ensure_jvmci_class_loader_is_initialized();
613 KlassHandle serviceKlass(THREAD, java_lang_Class::as_Klass(JNIHandles::resolve_non_null(serviceClass))); 613 KlassHandle serviceKlass(THREAD, java_lang_Class::as_Klass(JNIHandles::resolve_non_null(serviceClass)));
788 // initializer of Factory, we can rely on class initialization semantics to 788 // initializer of Factory, we can rely on class initialization semantics to
789 // synchronize threads racing to do the initialization. 789 // synchronize threads racing to do the initialization.
790 static Klass* _FactoryKlass = NULL; 790 static Klass* _FactoryKlass = NULL;
791 if (_FactoryKlass == NULL) { 791 if (_FactoryKlass == NULL) {
792 Thread* THREAD = Thread::current(); 792 Thread* THREAD = Thread::current();
793 TempNewSymbol name = SymbolTable::new_symbol("jdk/vm/ci/service/JVMCIClassLoaderFactory", CHECK_ABORT); 793 TempNewSymbol name = SymbolTable::new_symbol("jdk/vm/ci/services/JVMCIClassLoaderFactory", CHECK_ABORT);
794 KlassHandle klass = SystemDictionary::resolve_or_fail(name, true, THREAD); 794 KlassHandle klass = SystemDictionary::resolve_or_fail(name, true, THREAD);
795 if (HAS_PENDING_EXCEPTION) { 795 if (HAS_PENDING_EXCEPTION) {
796 static volatile int seen_error = 0; 796 static volatile int seen_error = 0;
797 if (!seen_error && Atomic::cmpxchg(1, &seen_error, 0) == 0) { 797 if (!seen_error && Atomic::cmpxchg(1, &seen_error, 0) == 0) {
798 // Only report the failure on the first thread that hits it 798 // Only report the failure on the first thread that hits it