In the recent days I have been working on developing a Golang compiler. I am almost done with the laxer+parser and will soon start on the typechecking phase. However, when I get to the IR phase (which I admit is maybe a few weeks away) I realised I might not know certain things related to it. So here are the things I have:
- How are things like
defer
,go
etc implemented in golang (from a low level perspective)? Like how do I write IR/assembly to do threading etc? - How are the builtin functions here implemented in IR/assembly?
- Also, it would be of great help if I could find links to existing assembly routines of a golang compiler as reference, though perhaps I would be able to implement the simpler ones myself.
A reference to a source / any direction in general is greatly appreciated. Thanks in advance.