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

Need Node.setSymbol to be copy on write and take function snapshots are parsetime that unmodified can be saved and recompiled later

    Details

    • Type: Task
    • Status: Resolved
    • Priority: P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 8
    • Component/s: core-libs
    • Labels:
      None

      Description

      This is the last piece of the puzzle needed to clone IRs, or rather snapshot them after parsing so that they can be used for method regeneration. The problem is that Attr is rather a mess when it assigns symbols. It can create them in entries, in leaves, in defineSymbol calls and pretty much everywhere. It is quite complicated to structure the code so that the copy in write works for Node.setSymbol. I've changed enterIdentNode and enterPropertyNode to leaves, which solves a lot of it, but it is still quite a mess to handle remaining. Not sure where to begin unraveling this at the moment.

      A patch so I can get method specialization working is to clear all symbols before starting attr, in a pre-pas, but that is very ugly and violates the copy on write semantic.

        Attachments

          Activity

            People

            • Assignee:
              lagergren Marcus Lagergren
              Reporter:
              lagergren Marcus Lagergren
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: