tinygo/compiler
Ayke van Laethem 2a0a7722f9 compiler: lower func values to switch + direct call
This has several advantages, among them:
  - Many passes (heap-to-stack, dead arg elimination, inlining) do not
    work with function pointer calls. Making them normal function calls
    improves their effectiveness.
  - Goroutine lowering to LLVM coroutines does not currently support
    function pointers. By eliminating function pointers, coroutine
    lowering gets support for them for free.
    This is especially useful for WebAssembly.
Because of the second point, this work is currently only enabled for the
WebAssembly target.
2019-04-17 23:12:59 +02:00
..
asserts.go compiler: fix MakeSlice bounds check and casting 2019-04-10 20:21:33 +02:00
calls.go all: go fmt 2019-01-31 16:22:05 +01:00
channel.go all: go fmt 2019-01-31 16:22:05 +01:00
compiler.go compiler: lower func values to switch + direct call 2019-04-17 23:12:59 +02:00
defer.go all: update import paths to github.com/tinygo-org/tinygo 2019-01-31 17:43:19 +01:00
errors.go compiler: return error messages with source location 2018-12-01 17:41:15 +01:00
func-lowering.go compiler: lower func values to switch + direct call 2019-04-17 23:12:59 +02:00
func.go compiler: lower func values to switch + direct call 2019-04-17 23:12:59 +02:00
goroutine-lowering.go all: implement trivial select statements 2019-03-23 16:16:19 +01:00
inlineasm.go compiler: extract inline asm builtins into separate file 2019-04-17 23:12:59 +02:00
interface-lowering.go compiler: fix interface lowering pass 2019-04-15 19:43:17 +02:00
interface.go compiler: lower func values to switch + direct call 2019-04-17 23:12:59 +02:00
llvm.go all: rename go-llvm to new import path 2019-01-27 19:26:16 +01:00
map.go compiler: support for byte arrays as keys in maps 2019-01-31 16:35:22 +01:00
optimizer.go compiler: lower func values to switch + direct call 2019-04-17 23:12:59 +02:00
reflect.go reflect: add limited support for all type kinds 2019-02-05 17:11:09 +01:00
sizes.go cgo: implement C unions 2019-04-17 11:56:40 +02:00
syscall.go all: add macOS support 2019-02-19 15:54:36 +01:00