comparison src/share/vm/jvmci/jvmciRuntime.cpp @ 21607:71b338926f2e

moved JVMCI classes into their own distributions (JBS:GRAAL-53)
author Doug Simon <doug.simon@oracle.com>
date Fri, 29 May 2015 22:27:38 +0200
parents 7a7cf422160b
children 2f92172fa320
comparison
equal deleted inserted replaced
21606:625b2b12b418 21607:71b338926f2e
621 JRT_ENTRY(jint, JVMCIRuntime::test_deoptimize_call_int(JavaThread* thread, int value)) 621 JRT_ENTRY(jint, JVMCIRuntime::test_deoptimize_call_int(JavaThread* thread, int value))
622 deopt_caller(); 622 deopt_caller();
623 return value; 623 return value;
624 JRT_END 624 JRT_END
625 625
626 // private static void Factory.init() 626 // private static void JVMCIClassLoaderFactory.init()
627 JVM_ENTRY(void, JVM_InitJVMCIClassLoader(JNIEnv *env, jclass c, jobject loader_handle)) 627 JVM_ENTRY(void, JVM_InitJVMCIClassLoader(JNIEnv *env, jclass c, jobject loader_handle))
628 SystemDictionary::init_jvmci_loader(JNIHandles::resolve(loader_handle)); 628 SystemDictionary::init_jvmci_loader(JNIHandles::resolve(loader_handle));
629 SystemDictionary::WKID scan = SystemDictionary::FIRST_JVMCI_WKID; 629 SystemDictionary::WKID scan = SystemDictionary::FIRST_JVMCI_WKID;
630 SystemDictionary::initialize_wk_klasses_through(SystemDictionary::LAST_JVMCI_WKID, scan, CHECK); 630 SystemDictionary::initialize_wk_klasses_through(SystemDictionary::LAST_JVMCI_WKID, scan, CHECK);
631 JVM_END 631 JVM_END
720 // initializer of Factory, we can rely on class initialization semantics to 720 // initializer of Factory, we can rely on class initialization semantics to
721 // synchronize threads racing to do the initialization. 721 // synchronize threads racing to do the initialization.
722 static Klass* _FactoryKlass = NULL; 722 static Klass* _FactoryKlass = NULL;
723 if (_FactoryKlass == NULL) { 723 if (_FactoryKlass == NULL) {
724 Thread* THREAD = Thread::current(); 724 Thread* THREAD = Thread::current();
725 TempNewSymbol name = SymbolTable::new_symbol("com/oracle/jvmci/hotspot/loader/Factory", CHECK_ABORT); 725 TempNewSymbol name = SymbolTable::new_symbol("com/oracle/jvmci/service/JVMCIClassLoaderFactory", CHECK_ABORT);
726 KlassHandle klass = SystemDictionary::resolve_or_fail(name, true, THREAD); 726 KlassHandle klass = SystemDictionary::resolve_or_fail(name, true, THREAD);
727 if (HAS_PENDING_EXCEPTION) { 727 if (HAS_PENDING_EXCEPTION) {
728 static volatile int seen_error = 0; 728 static volatile int seen_error = 0;
729 if (!seen_error && Atomic::cmpxchg(1, &seen_error, 0) == 0) { 729 if (!seen_error && Atomic::cmpxchg(1, &seen_error, 0) == 0) {
730 // Only report the failure on the first thread that hits it 730 // Only report the failure on the first thread that hits it