Details

    • Type: Improvement Improvement
    • Status: Open Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Compiler
    • Labels:
      None
    • Number of attachments :
      0

      Description

      Catch-all for upcoming compiler improvements, aiming for 1.7.

      • backref and lastline currently cause a full scope to be created for a given method. This slows any code that calls innocuous methods like []. However, only a NoVars scope should be necessary, to just have room for the backref/lastline slots.
      • backref and lastline could be shunted to some other stack or thread-local structure, instead of requiring a scope. This would greatly reduce the impact of methods as described above (no scope at all would be neccessary; worst case, an int would need to be incremented/decremented in ThreadContext.
      • Constant accesses currently require a dummy scope to be pushed/popped for any methods that contain them. This could be eliminated by making sure the method has access to its own StaticScope, which is the only additional structure needed to lookup constants. Combined with invokedynamic constant lookup, this would make constant access essentially free.

        Activity

        Hide
        Charles Oliver Nutter added a comment -

        None of these changes were completed for 1.7.0. Bumping to 1.7.1.

        They would all still be immensely helpful for performance.

        Show
        Charles Oliver Nutter added a comment - None of these changes were completed for 1.7.0. Bumping to 1.7.1. They would all still be immensely helpful for performance.

          People

          • Assignee:
            Unassigned
            Reporter:
            Charles Oliver Nutter
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated: