Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
Remove the three-pass codegen step. #277
Code generation happens in three full passes over the assembly stream.
Code generation happens in three full passes over the assembly stream. The first pass collects label addresses. The second pass generates code. The final pass generates data. This is unnecessary; the first pass can be eliminated via a lazy back-patch list. The last two passes can be combined into one.