718 MutexLocker locker(Compile_lock);
719 ucm = Dependencies::find_unique_concrete_method(holder(), method());
720 }
721 oop result = CompilerToVM::get_jvmci_method(ucm, CHECK_NULL);
722 return JNIHandles::make_local(THREAD, result);
723 C2V_END
724
725 C2V_VMENTRY(jobject, getImplementor, (JNIEnv *, jobject, jobject jvmci_type))
726 InstanceKlass* klass = (InstanceKlass*) CompilerToVM::asKlass(jvmci_type);
727 oop implementor = CompilerToVM::get_jvmci_type(klass->implementor(), CHECK_NULL);
728 return JNIHandles::make_local(THREAD, implementor);
729 C2V_END
730
731 C2V_VMENTRY(jboolean, methodIsIgnoredBySecurityStackWalk,(JNIEnv *, jobject, jobject jvmci_method))
732 methodHandle method = CompilerToVM::asMethod(jvmci_method);
733 return method->is_ignored_by_security_stack_walk();
734 C2V_END
735
736 C2V_VMENTRY(jboolean, isCompilable,(JNIEnv *, jobject, jobject jvmci_method))
737 methodHandle method = CompilerToVM::asMethod(jvmci_method);
738 // Ignore the not_compilable flags in hosted mode since they are never set by
739 // the JVMCI compiler.
740 return UseJVMCICompiler || !method->is_not_compilable(CompLevel_full_optimization);
741 C2V_END
742
743 C2V_VMENTRY(jboolean, hasNeverInlineDirective,(JNIEnv *, jobject, jobject jvmci_method))
744 methodHandle method = CompilerToVM::asMethod(jvmci_method);
745 return CompilerOracle::should_not_inline(method) || method->dont_inline();
746 C2V_END
747
748 C2V_VMENTRY(jboolean, shouldInlineMethod,(JNIEnv *, jobject, jobject jvmci_method))
749 methodHandle method = CompilerToVM::asMethod(jvmci_method);
750 return CompilerOracle::should_inline(method) || method->force_inline();
751 C2V_END
752
753 C2V_VMENTRY(jobject, lookupType, (JNIEnv*, jobject, jstring jname, jclass accessing_class, jboolean resolve))
754 ResourceMark rm;
755 Handle name = JNIHandles::resolve(jname);
756 Symbol* class_name = java_lang_String::as_symbol(name, CHECK_0);
757 if (java_lang_String::length(name()) <= 1) {
758 THROW_MSG_0(vmSymbols::java_lang_InternalError(), err_msg("Primitive type %s should be handled in Java code", class_name->as_C_string()));
759 }
760
|
718 MutexLocker locker(Compile_lock);
719 ucm = Dependencies::find_unique_concrete_method(holder(), method());
720 }
721 oop result = CompilerToVM::get_jvmci_method(ucm, CHECK_NULL);
722 return JNIHandles::make_local(THREAD, result);
723 C2V_END
724
725 C2V_VMENTRY(jobject, getImplementor, (JNIEnv *, jobject, jobject jvmci_type))
726 InstanceKlass* klass = (InstanceKlass*) CompilerToVM::asKlass(jvmci_type);
727 oop implementor = CompilerToVM::get_jvmci_type(klass->implementor(), CHECK_NULL);
728 return JNIHandles::make_local(THREAD, implementor);
729 C2V_END
730
731 C2V_VMENTRY(jboolean, methodIsIgnoredBySecurityStackWalk,(JNIEnv *, jobject, jobject jvmci_method))
732 methodHandle method = CompilerToVM::asMethod(jvmci_method);
733 return method->is_ignored_by_security_stack_walk();
734 C2V_END
735
736 C2V_VMENTRY(jboolean, isCompilable,(JNIEnv *, jobject, jobject jvmci_method))
737 methodHandle method = CompilerToVM::asMethod(jvmci_method);
738 return !method->is_not_compilable(CompLevel_full_optimization);
739 C2V_END
740
741 C2V_VMENTRY(jboolean, hasNeverInlineDirective,(JNIEnv *, jobject, jobject jvmci_method))
742 methodHandle method = CompilerToVM::asMethod(jvmci_method);
743 return CompilerOracle::should_not_inline(method) || method->dont_inline();
744 C2V_END
745
746 C2V_VMENTRY(jboolean, shouldInlineMethod,(JNIEnv *, jobject, jobject jvmci_method))
747 methodHandle method = CompilerToVM::asMethod(jvmci_method);
748 return CompilerOracle::should_inline(method) || method->force_inline();
749 C2V_END
750
751 C2V_VMENTRY(jobject, lookupType, (JNIEnv*, jobject, jstring jname, jclass accessing_class, jboolean resolve))
752 ResourceMark rm;
753 Handle name = JNIHandles::resolve(jname);
754 Symbol* class_name = java_lang_String::as_symbol(name, CHECK_0);
755 if (java_lang_String::length(name()) <= 1) {
756 THROW_MSG_0(vmSymbols::java_lang_InternalError(), err_msg("Primitive type %s should be handled in Java code", class_name->as_C_string()));
757 }
758
|