Skip to content

feat: optimise assembler pipeline #1409

@DavePearce

Description

@DavePearce

This pipeline is starting to take a non-trivial amount of time for larger modules (e.g. oob). The two main issues are:

  • asm.LowerMixedMacroProgram()

  • asm.Compile(nasmProgram) --- here, translateSkip() in particular is the main culprit. This could be due to branch table optimisation and/or the preprocessing step which searches forward.

UPDATE: can confirm the second issue is related to branch table optimisation. Specifically, for the very ugly reference table hacks in oob (i.e. g1_discount() and g2_discount() and also the main oob function). Use of a dynamic DCNF representation might be the only hope here.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions