CompilerControl: directive file doesn't override inlining rules

XMLWordPrintable

    • Type: Bug
    • Resolution: Fixed
    • Priority: P3
    • 9
    • Affects Version/s: 9
    • Component/s: hotspot
    • b103

      Directive file used together with CompileCommand=inline or don't inline doesn't override inlining rules.

      For example, running VM with -XX:CompileCommand=inline,*::*(I[Ljava/lang/String;Ljava/lang/Integer;[B[[D)V -XX:Com
      pilerDirectivesFile=directives.json

      where directives.json is:
      [{
        match: "*::*(I[Ljava/lang/String;Ljava/lang/Integer;[B[[D)V",
        c1: {
          Enable: true
        },
        c2: {
          Enable: true
        }
      }, {
        match: "*.*",
        c1: {
          Enable: true
        },
        c2: {
          inline: "-*::*(I[Ljava/lang/String;Ljava/lang/Integer;[B[[D)V"
        }
      }]
      Method pool/sub/Klass.method(I[Ljava/lang/String;Ljava/lang/Integer;[B[[D)V would be made compilable with these directives, but should be not inlineable in C2.
      But C2 inlines this method with "force inline by CompileCommand" message

            Assignee:
            Nils Eliasson (Inactive)
            Reporter:
            Pavel Punegov
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: