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

Enable caching of eager pre-pass AST

    XMLWordPrintable

Details

    • Enhancement
    • Resolution: Future Project
    • P5
    • tbd
    • 10
    • core-libs
    • 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

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

              Dates

                Created:
                Updated:
                Resolved: