#47 ✓resolved
Peter Johnson

Change optimizer algorithm

Reported by Peter Johnson | June 25th, 2011 @ 07:49 PM | in 0.6.0 (closed)

Originally posted on Trac by peter@tortall.net
Original Trac Ticket

  Description

The optimizer algorithm is currently a two-pass design. Want to change to a better algorithm, probably Robertson(1977). I have the full paper, thanks to Robertson himself. Full citation:

MRC Technical Summary Report #1779
Code Generation for Short/Long Address Machines
Edward L. Robertson
Mathematics Research Center
University of Wisconsin-Madison
610 Walnut Street
Madison, Wisconsin 53706
August 1977

Things to consider:

This algorithm needs to have knowledge of short/long forms and how to intelligently select them. Currently there's no provision for this. Bytecodes should be changed to have more metadata, particularly making it more obvious when there are multiple size choices due to late-binding changes such as jump sizes.

Trac Attachments

h3. Trac Comments
comment:1

              Changed 5 years ago by peter@tortall.net


      comment:1

                  Changed 5 years ago by peter@tortall.net

      Status
        changed from new to assigned

      Status
        changed from new to assigned

comment:2

              Changed 5 years ago by peter@tortall.net


Bump to 0.6.0.

      comment:2

                  Changed 5 years ago by peter@tortall.net

      Type
        set to defect
    
      Milestone
        changed from 0.5.0 to 0.6.0

Bump to 0.6.0.

      Type
        set to defect
    
      Milestone
        changed from 0.5.0 to 0.6.0

comment:3

              Changed 5 years ago by peter@tortall.net


Completed with [1597] merge to trunk.

      comment:3

                  Changed 5 years ago by peter@tortall.net

      Status
        changed from assigned to closed
    
      Resolution
        set to fixed

Completed with [1597] merge to trunk.

      Status
        changed from assigned to closed
    
      Resolution
        set to fixed

Comments and changes to this ticket

Please Sign in or create a free account to add a new ticket.

With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.

New-ticket Create new ticket

Create your profile

Help contribute to this project by taking a few moments to create your personal profile. Create your profile ยป

The Yasm Modular Assembler Project

Shared Ticket Bins

People watching this ticket

Tags

Pages