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

Enable caching of eager pre-pass AST

    XMLWordPrintable

    Details

    • Type: Enhancement
    • Status: Closed
    • Priority: P5
    • Resolution: Future Project
    • Affects Version/s: 10
    • Fix Version/s: tbd_major
    • Component/s: core-libs
    • Labels:
      None

      Description

      In JDK-8133300 we decided on not caching ASTs resulting from the compilation pre-pass. The main reason for this is a surprising difficulty of making it play nicely with apply-to-call (a2c) specialization (a2c generates specialized function signatures for a normally varargs-only function, so the resulting AST is inherently specific to the type specialization arity and thus non-cacheable). However, this results in inability to cache pre-pass ASTs in general (except for split functions), while that might still be desirable to further eliminate processing time.

      Caching pre-pass non-split ASTs is desirable; in order to implement it we need to:
      - make sure ApplySpecialization is rewritten so that it marks all transformation-subjected functions as non-cacheable
      - make sure Symbol.useCount is recomputed when the function is cached
      - make sure any other possible discrepancies between eager and on-demand compilation are smoothed over.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                attila Attila Szegedi
                Reporter:
                attila Attila Szegedi
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: