Mercurial > hg > truffle
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 |