--- 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;