diff -r 5865398439d4 -r d7df2dd501ce src/hotspot/share/classfile/classFileParser.cpp --- a/src/hotspot/share/classfile/classFileParser.cpp Wed Mar 21 17:09:34 2018 -0400 +++ b/src/hotspot/share/classfile/classFileParser.cpp Wed Mar 21 19:45:24 2018 -0400 @@ -58,6 +58,7 @@ #include "oops/symbol.hpp" #include "prims/jvmtiExport.hpp" #include "prims/jvmtiThreadState.hpp" +#include "runtime/handles.inline.hpp" #include "runtime/javaCalls.hpp" #include "runtime/perfData.hpp" #include "runtime/reflection.hpp" @@ -770,6 +771,13 @@ } // end of for } +Handle ClassFileParser::clear_cp_patch_at(int index) { + Handle patch = cp_patch_at(index); + _cp_patches->at_put(index, Handle()); + assert(!has_cp_patch_at(index), ""); + return patch; +} + void ClassFileParser::patch_class(ConstantPool* cp, int class_index, Klass* k, Symbol* name) { int name_index = _orig_cp_size + _num_patched_klasses; int resolved_klass_index = _first_patched_klass_resolved_index + _num_patched_klasses;