Граф коммитов

11 коммитов

Автор SHA1 Сообщение Дата
Konstantin Yegupov
a8dd82538e
all: add flag to enable i64 parameters in WebAssembly 2019-01-03 18:09:33 +01:00
Ayke van Laethem
564b1b3312
compiler: always use fat function pointers with context
This reduces complexity in the compiler without affecting binary sizes
too much.

Cortex-M0:   no changes
Linux x64:   no changes
WebAssembly: some testcases (calls, coroutines, map) are slightly bigger
2018-12-09 18:47:39 +01:00
Ayke van Laethem
e54a1c4dc0
compiler: disallow exporting functions that have their address taken
This simplifies the ABI a lot and makes future changes easier.
In the future, determining which functions need a context parameter
should be moved from IR generation into an optimization pass, avoiding
the need for recursively scanning the Go SSA.
2018-12-01 17:41:20 +01:00
Ayke van Laethem
101d41dc58
compiler: pass i64 return value in an extra pointer param
To support the WebAssembly<->JS barrier, return values also have to be
passed in memory. i64 return values are used by syscall/js, so must be
supported across this ABI barrier.
2018-11-14 12:35:43 +01:00
Ayke van Laethem
2e22d53e5d
compiler: work around i64 limitation in JavaScript
JavaScript does not support i64 directly, so make sure we pass a pointer
instead which can be read from JavaScript.

This is a temporary workaround which should be removed once JavaScript
supports some form of i64 (probably in the form of BigInt).
2018-11-03 12:03:49 +01:00
Ayke van Laethem
c7cf6f0e82
docs: move calling convention documentation here 2018-11-01 11:41:24 +01:00
Ayke van Laethem
85d5fe7643
docs: add description of internal datatypes 2018-10-31 20:47:12 +01:00
Ayke van Laethem
06b8afab2e
docs: add command line subcommands + flags documentation 2018-10-31 19:55:48 +01:00
Ayke van Laethem
823ecd5167
docs: reorder internals sections 2018-10-09 15:32:40 +02:00
Ayke van Laethem
3e1a60351d
docs/internals: fix hyperlink 2018-09-23 17:20:24 +02:00
Ayke van Laethem
f7f33a1163
docs: add initial documentation 2018-09-23 16:46:57 +02:00