tinygo/compiler
Ayke van Laethem 602c264749
all: rewrite goroutine lowering
Before this commit, goroutine support was spread through the compiler.
This commit changes this support, so that the compiler itself only
generates simple intrinsics and leaves the real support to a compiler
pass that runs as one of the TinyGo-specific optimization passes.

The biggest change, that was done together with the rewrite, was support
for goroutines in WebAssembly for JavaScript. The challenge in
JavaScript is that in general no blocking operations are allowed, which
means that programs that call time.Sleep() but do not start goroutines
also have to be scheduled by the scheduler.
2019-01-21 22:09:33 +01:00
..
calls.go all: rewrite goroutine lowering 2019-01-21 22:09:33 +01:00
compiler.go all: rewrite goroutine lowering 2019-01-21 22:09:33 +01:00
defer.go all: rewrite goroutine lowering 2019-01-21 22:09:33 +01:00
errors.go compiler: return error messages with source location 2018-12-01 17:41:15 +01:00
goroutine-lowering.go all: rewrite goroutine lowering 2019-01-21 22:09:33 +01:00
interface-lowering.go compiler/interface: fix LLVM context for boolean variable 2019-01-21 22:08:12 +01:00
interface.go all: rewrite goroutine lowering 2019-01-21 22:09:33 +01:00
llvm.go all: rewrite goroutine lowering 2019-01-21 22:09:33 +01:00
map.go compiler: return error messages with source location 2018-12-01 17:41:15 +01:00
optimizer.go all: rewrite goroutine lowering 2019-01-21 22:09:33 +01:00
sizes.go compiler: refactor compiler into separate package 2018-09-22 20:32:28 +02:00