Skip to content

Instantly share code, notes, and snippets.

@lrytz
Last active November 24, 2015 09:41
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lrytz/26aa1b84e6ac6c512629 to your computer and use it in GitHub Desktop.
Save lrytz/26aa1b84e6ac6c512629 to your computer and use it in GitHub Desktop.
Backend Todos

Boxing Elimination

  • Eliminate box-unbox operations, including *Ref boxes #11

Take Heuristics to the next level

  • Details in #53.
  • Also make sure to consider code size #2
  • Adapt the inliner heuristics to favor inlining that enables boxing elimination

Hoisting for eliminating unnecessary captures (outer references)

Eliminate unnecessary module loads

  • remove loads of side-effect free modules #16
  • impacts nullness analysis: module with pure constructor and super constructors is always non-null

Others

  • Check optimizer warnings when compiling various projects #50
  • Null out local variables that are no longer in use #6
  • Some old tests still use -optimize – check why #65

Lower Priority

  • Add constant folding #29
  • Improve line number information #3
  • Remove unnecessary casts #5
  • Inline exception handlers #60
  • Improved store-load elimination #61
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment