--- old/src/hotspot/share/classfile/classFileParser.cpp 2018-03-20 18:40:03.015563747 -0400 +++ new/src/hotspot/share/classfile/classFileParser.cpp 2018-03-20 18:40:02.302497575 -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;