Uploaded image for project: 'JikesRVM'
  1. JikesRVM
  2. RVM-329

Specialize IA32 assembler for lister vs. non-lister

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Low
    • Resolution: Won't Fix
    • Affects Version/s: None
    • Fix Version/s: 3.0
    • Labels:
      None

      Description

      Suggestion by Ian in a commit message that I think could be a good one, so don't want to forget.....

      We could make the IA32 assembler into two classes: a superclass that doesn't print anything, and a subclass that does. In the listing version, each of the emit methods is overridden to call super, then do the print.

      The downside is we are very likely to take a virtual call on each emit method (although the opt compiler could probably still do some guarded inlining). The plus is that we eliminate all the lister checks and calls in the superclass

      Not clear if this would actually be a performance win, since the "real" virtual call on the emit methods might out-weigh the gain from specializing away the lister checks, but it might be worth prototyping.

        Attachments

          Activity

          dgrove David Grove created issue -
          Hide
          ianrogers Ian Rogers added a comment -

          Fairly sure this isn't a performance win. What would be better is a IA32 disassembler that could be optional called as part of the assembler generation loop, then two variants of the loop can be created with and without the disassembler.

          Show
          ianrogers Ian Rogers added a comment - Fairly sure this isn't a performance win. What would be better is a IA32 disassembler that could be optional called as part of the assembler generation loop, then two variants of the loop can be created with and without the disassembler.
          dgrove David Grove made changes -
          Field Original Value New Value
          Workflow jira [ 17246 ] X10 Workflow [ 18449 ]
          dgrove David Grove made changes -
          Priority Minor [ 7 ] Low [ 4 ]

            People

            • Assignee:
              ianrogers Ian Rogers
              Reporter:
              dgrove David Grove
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: