[lworld] ClassFileParser::verify_legal_method_modifiers() rejects legal synchronized methods

XMLWordPrintable

    • Type: Bug
    • Resolution: Duplicate
    • Priority: P4
    • repo-valhalla
    • Affects Version/s: repo-valhalla
    • Component/s: hotspot

      Without ACC_SUPER (or ACC_IDENTITY) set, synchronized method breaks CFP:

      public class SyncMethod {
          synchronized int testMethod() { return 0; }
      }

      Certain JCK tests like ireturn00601m1 fail because of this.

      The code in ClassFileParser::verify_legal_method_modifiers()

      ----
      if (!is_identity_class && is_synchronized && !is_static) {
        is_illegal = true;
      ...
      ----

      breaks it's loading. Intention may have been:
       "(!is_identity_class && is_value_class && is_synchronized && !is_static)"




            Assignee:
            Frederic Parain
            Reporter:
            David Simms
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: