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

C2: Share MacroAssembler between mach nodes during code emission

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Fixed
    • Icon: P3 P3
    • 23
    • 15
    • hotspot
    • b19

      Right now, every mach node uses a brand new MacroAssembler instance.
      Refactor the code, so a single MacroAssembler instance is shared across the whole code emission phase.

      The motivation is to reduce memory consumption and speed up C2. `C2_MacroAssembler` is based on `ResourceObj` which allocates in compiler arena. Each small `C2_MacroAssembler masm()` will add allocation to arena until we finish compilation. Also speedup because we don't need to do such allocations.

            cslucas Cesar Soares
            vlivanov Vladimir Ivanov
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: