diff src/share/vm/oops/constantPool.cpp @ 17665:10c9507f544a

8033528: assert(0 <= i && i < length()) failed: index out of bounds Summary: Restoring bytecodes for invokedynamic had wrong index calculation added testing stress option. Reviewed-by: twisti, hseigel
author coleenp
date Fri, 07 Feb 2014 18:30:27 -0500
parents b8860472c377
children 53094b350323
line wrap: on
line diff
--- a/src/share/vm/oops/constantPool.cpp	Fri Jan 17 11:21:29 2014 -0500
+++ b/src/share/vm/oops/constantPool.cpp	Fri Feb 07 18:30:27 2014 -0500
@@ -82,6 +82,9 @@
 void ConstantPool::deallocate_contents(ClassLoaderData* loader_data) {
   MetadataFactory::free_metadata(loader_data, cache());
   set_cache(NULL);
+  MetadataFactory::free_array<u2>(loader_data, reference_map());
+  set_reference_map(NULL);
+
   MetadataFactory::free_array<jushort>(loader_data, operands());
   set_operands(NULL);