< prev index next >

src/hotspot/share/classfile/classFileParser.cpp

Print this page

        

@@ -56,10 +56,11 @@
 #include "oops/method.hpp"
 #include "oops/oop.inline.hpp"
 #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"
 #include "runtime/signature.hpp"
 #include "runtime/timer.hpp"

@@ -768,10 +769,17 @@
       }
     }  // switch(tag)
   }  // 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;
 
   cp->klass_at_put(class_index, name_index, resolved_klass_index, k, name);
< prev index next >