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

CompilerControl: directive file doesn't override inlining rules

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P3 P3
    • 9
    • 9
    • 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

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

              Created:
              Updated:
              Resolved: