Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8174199

ci replay doesn't reallocate static final field of recorded klass

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • P5
    • 10
    • 9, 10
    • hotspot
    • b21

    Description

      diff --git a/src/share/vm/ci/ciReplay.cpp b/src/share/vm/ci/ciReplay.cpp
      --- a/src/share/vm/ci/ciReplay.cpp
      +++ b/src/share/vm/ci/ciReplay.cpp
      @@ -840,9 +840,8 @@
               Handle value = java_lang_String::create_from_str(string_value, CHECK);
               java_mirror->obj_field_put(fd.offset(), value());
             } else if (field_signature[0] == 'L') {
      - Symbol* klass_name = SymbolTable::lookup(field_signature, (int)strlen(field_signature), CHECK);
      - KlassHandle kelem = resolve_klass(field_signature, CHECK);
      - oop value = InstanceKlass::cast(kelem())->allocate_instance(CHECK);
      + KlassHandle k = resolve_klass(string_value, CHECK);
      + oop value = InstanceKlass::cast(k())->allocate_instance(CHECK);
               java_mirror->obj_field_put(fd.offset(), value);
             } else {
               report_error("unhandled staticfield");

      Attachments

        Activity

          People

            roland Roland Westrelin
            roland Roland Westrelin
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: