4 ms·
Thats one of the main reasons i implemented my VM in go. Its fairly rudimentary, a map for instructions to function pointers but.. I can quickly duplicate a su
by dana321 8y ago
Thats one of the main reasons i implemented my VM in go.
Its fairly rudimentary, a map for instructions to function pointers but.. I can quickly duplicate a subtree of code and execute it within a different goroutine, and wrap that section of code in an instruction that sets the output to a channel, and have another goroutine select the different channels from different goroutines.
At each node within the tree of code, i store the variables within a map instead of using a stack-based system; if the data is not in the current node, look down the tree until i find it.