Mercurial > hg > graal-jvmci-8
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 |