diff -r 9a3750a63823 -r 8f79bae1a535 src/hotspot/share/classfile/javaClasses.cpp --- a/src/hotspot/share/classfile/javaClasses.cpp Wed Jan 09 08:07:33 2019 -0500 +++ b/src/hotspot/share/classfile/javaClasses.cpp Wed Jan 09 09:01:27 2019 -0500 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -2600,6 +2600,7 @@ } Method* java_lang_StackFrameInfo::get_method(Handle stackFrame, InstanceKlass* holder, TRAPS) { + HandleMark hm(THREAD); Handle mname(THREAD, stackFrame->obj_field(_memberName_offset)); Method* method = (Method*)java_lang_invoke_MemberName::vmtarget(mname()); // we should expand MemberName::name when Throwable uses StackTrace @@ -2609,6 +2610,7 @@ void java_lang_StackFrameInfo::set_method_and_bci(Handle stackFrame, const methodHandle& method, int bci, TRAPS) { // set Method* or mid/cpref + HandleMark hm(THREAD); Handle mname(Thread::current(), stackFrame->obj_field(_memberName_offset)); InstanceKlass* ik = method->method_holder(); CallInfo info(method(), ik, CHECK); @@ -2623,6 +2625,7 @@ void java_lang_StackFrameInfo::to_stack_trace_element(Handle stackFrame, Handle stack_trace_element, TRAPS) { ResourceMark rm(THREAD); + HandleMark hm(THREAD); Handle mname(THREAD, stackFrame->obj_field(java_lang_StackFrameInfo::_memberName_offset)); Klass* clazz = java_lang_Class::as_Klass(java_lang_invoke_MemberName::clazz(mname())); InstanceKlass* holder = InstanceKlass::cast(clazz);