hotspot/src/share/vm/oops/constantPool.cpp
changeset 24322 c2978d1578e3
parent 23872 536c66fc43d3
child 24337 ddce5dcb6be1
equal deleted inserted replaced
24320:394d55c783dc 24322:c2978d1578e3
  1825 // JSR 292 support for patching constant pool oops after the class is linked and
  1825 // JSR 292 support for patching constant pool oops after the class is linked and
  1826 // the oop array for resolved references are created.
  1826 // the oop array for resolved references are created.
  1827 // We can't do this during classfile parsing, which is how the other indexes are
  1827 // We can't do this during classfile parsing, which is how the other indexes are
  1828 // patched.  The other patches are applied early for some error checking
  1828 // patched.  The other patches are applied early for some error checking
  1829 // so only defer the pseudo_strings.
  1829 // so only defer the pseudo_strings.
  1830 void ConstantPool::patch_resolved_references(
  1830 void ConstantPool::patch_resolved_references(GrowableArray<Handle>* cp_patches) {
  1831                                             GrowableArray<Handle>* cp_patches) {
       
  1832   assert(EnableInvokeDynamic, "");
       
  1833   for (int index = 1; index < cp_patches->length(); index++) { // Index 0 is unused
  1831   for (int index = 1; index < cp_patches->length(); index++) { // Index 0 is unused
  1834     Handle patch = cp_patches->at(index);
  1832     Handle patch = cp_patches->at(index);
  1835     if (patch.not_null()) {
  1833     if (patch.not_null()) {
  1836       assert (tag_at(index).is_string(), "should only be string left");
  1834       assert (tag_at(index).is_string(), "should only be string left");
  1837       // Patching a string means pre-resolving it.
  1835       // Patching a string means pre-resolving it.