mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-19 18:44:38 +02:00
8145331
: SEGV in DirectivesStack::release(DirectiveSet*)
GetDefaultDirective was not updated in 8144873 Reviewed-by: twisti, kvn
This commit is contained in:
parent
ee1e047269
commit
48b6051ee7
3 changed files with 23 additions and 32 deletions
|
@ -565,14 +565,15 @@ WB_ENTRY(jboolean, WB_IsIntrinsicAvailable(JNIEnv* env, jobject o, jobject metho
|
|||
methodHandle mh(THREAD, Method::checked_resolve_jmethod_id(method_id));
|
||||
|
||||
DirectiveSet* directive;
|
||||
AbstractCompiler* comp = CompileBroker::compiler((int)compLevel);
|
||||
if (compilation_context != NULL) {
|
||||
compilation_context_id = reflected_method_to_jmid(thread, env, compilation_context);
|
||||
CHECK_JNI_EXCEPTION_(env, JNI_FALSE);
|
||||
methodHandle cch(THREAD, Method::checked_resolve_jmethod_id(compilation_context_id));
|
||||
directive = DirectivesStack::getMatchingDirective(cch, CompileBroker::compiler((int)compLevel));
|
||||
directive = DirectivesStack::getMatchingDirective(cch, comp);
|
||||
} else {
|
||||
// Calling with NULL matches default directive
|
||||
directive = DirectivesStack::getDefaultDirective(CompileBroker::compiler((int)compLevel));
|
||||
directive = DirectivesStack::getDefaultDirective(comp);
|
||||
}
|
||||
bool result = CompileBroker::compiler(compLevel)->is_intrinsic_available(mh, directive);
|
||||
DirectivesStack::release(directive);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue