Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								ffa38b183b 
								
							 
						 
						
							
							
								
								all: add HiFive1 rev B board with RISC-V architecture  
							
							... 
							
							
							
							This page has been a big help in adding support for this new chip:
https://wiki.osdev.org/HiFive-1_Bare_Bones  
							
						 
						
							2019-07-07 14:03:24 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								f0eb4eef5a 
								
							 
						 
						
							
							
								
								ci: make smoketests more flexible  
							
							
							
						 
						
							2019-07-07 14:03:24 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								fa928e8cd3 
								
							 
						 
						
							
							
								
								tools/gen-device-svd: be a bit more forgiving for stm32 svd files  
							
							... 
							
							
							
							Some newer files have a few mistakes. Allow them to be processed. 
							
						 
						
							2019-07-06 17:16:18 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								c49d80628c 
								
							 
						 
						
							
							
								
								tools/gen-device-svd: refactor to make the code more declarative  
							
							
							
						 
						
							2019-07-06 17:16:18 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								af523c63d5 
								
							 
						 
						
							
							
								
								ci: fix cache paths for LLVM source  
							
							... 
							
							
							
							This makes the LLVM source code cacheable again. 
							
						 
						
							2019-07-06 14:57:54 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									diamondburned 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								aabb6ba22b 
								
							 
						 
						
							
							
								
								main: use zversion.go and VERSION files to detect version,  fixes   #433  
							
							
							
						 
						
							2019-07-06 02:31:49 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								6611578ec8 
								
							 
						 
						
							
							
								
								compiler: remove some TODOs  
							
							... 
							
							
							
							These have long since been implemented. 
							
						 
						
							2019-07-03 21:22:12 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								d49a363d0d 
								
							 
						 
						
							
							
								
								compiler: track all pointers returned by runtime.alloc  
							
							... 
							
							
							
							In particular, track the pointers to the memory allocated for coroutine
frames. Before this change, the following code would show memory
corruption:
https://github.com/johanbrandhorst/wasm-experiments/blob/master/canvas/main.go  
							
						 
						
							2019-07-03 21:22:12 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								385d1d0a5d 
								
							 
						 
						
							
							
								
								compiler,runtime: implement a portable conservative GC  
							
							
							
						 
						
							2019-07-01 16:30:33 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								00e91ec569 
								
							 
						 
						
							
							
								
								all: rename garbage collectors  
							
							... 
							
							
							
							dumb -> leaking:
  make it more clear what this "GC" does: leak everything.
marksweep -> conservative:
  "marksweep" is too generic, use "conservative" to differentiate
  between future garbage collectors: precise marksweep / mark-compact /
  refcounting. 
							
						 
						
							2019-07-01 13:03:07 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Esteban 
								
							 
						 
						
							
							
							
							
								
							
							
								1fd0c8d48c 
								
							 
						 
						
							
							
								
								adds PowerSupplyActive to enable supply voltages to nRF52840 and ( #430 )  
							
							... 
							
							
							
							* machine/reelboard: adds PowerSupplyActive to enable supply voltages to nRF52840 and
peripherals. 
							
						 
						
							2019-06-30 12:23:44 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Esteban 
								
							 
						 
						
							
							
							
							
								
							
							
								d34bb7e708 
								
							 
						 
						
							
							
								
								add reelboard pins for the epaper display and the reset pin ( #429 )  
							
							... 
							
							
							
							* machine/reelboard: added descriptive pin names for the epaper display and the reset pin 
							
						 
						
							2019-06-30 09:57:07 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								a328bbdff3 
								
							 
						 
						
							
							
								
								main: small refactor in error printing  
							
							... 
							
							
							
							Use a type switch instead of an if/else chain. This results in much more
readable code. 
							
						 
						
							2019-06-29 19:18:46 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								4ecd478d82 
								
							 
						 
						
							
							
								
								machine: add generic board support on non-baremetal hardware  
							
							... 
							
							
							
							Instead of trying to modify periperhals directly, external functions are
called. For example, __tinygo_gpio_set sets a GPIO pin to a specified
value (high or low). It is expected that binaries made this way will be
linked with some extra libraries that implement support for these
functions.
One particularly interesting case is this experimental board simulator:
https://github.com/aykevl/tinygo-play 
Compiling code to WebAssembly with the correct build tag for a board
will enable this board to be simulated in the browser.
Atmel/Microchip based SAMD boards are not currently supported, because
their I2C/SPI support is somewhat uncommon and harder to support in the
machine API. They may require a modification to the machine API for
proper support. 
							
						 
						
							2019-06-28 10:00:14 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Justin Clift 
								
							 
						 
						
							
							
							
							
								
							
							
								40b193f1fa 
								
							 
						 
						
							
							
								
								circleci: update source and build cache keys  
							
							
							
						 
						
							2019-06-24 16:22:37 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Justin Clift 
								
							 
						 
						
							
							
							
							
								
							
							
								7fd5ec8661 
								
							 
						 
						
							
							
								
								Makefile: use the LLVM monorepo  
							
							... 
							
							
							
							The -DLLVM_TOOL_CLANG_TOOLS_EXTRA_BUILD=OFF option turning off the
building of the extra clang tools is required, otherwise linking
the tinygo binary fails. 
							
						 
						
							2019-06-24 16:22:37 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									m-chichikalov 
								
							 
						 
						
							
							
							
							
								
							
							
								84618c45eb 
								
							 
						 
						
							
							
								
								Added supporting suctom TargetSpec json file via -target flag.  
							
							
							
						 
						
							2019-06-20 19:10:15 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Carolyn Van Slyck 
								
							 
						 
						
							
							
							
							
								
							
							
								c0ff4e566d 
								
							 
						 
						
							
							
								
								Include test in helptext  
							
							
							
						 
						
							2019-06-20 19:05:06 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Carolyn Van Slyck 
								
							 
						 
						
							
							
							
							
								
							
							
								ce9b21a270 
								
							 
						 
						
							
							
								
								Default package name to . when not specified  
							
							... 
							
							
							
							When running tinygo build, and the positional argument for the
package is not specified, default it to "." 
							
						 
						
							2019-06-20 19:05:06 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								ed7c242a09 
								
							 
						 
						
							
							
								
								runtime: fix a heap corruption where some blocks were not marked as reachable  
							
							... 
							
							
							
							This is a rather critical error and I wonder why it hasn't been
discovered earlier. 
							
						 
						
							2019-06-20 13:32:45 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Justin Clift 
								
							 
						 
						
							
							
							
							
								
							
							
								46872a70b1 
								
							 
						 
						
							
							
								
								Trivial typo fix  
							
							
							
						 
						
							2019-06-20 13:30:38 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									scriptonist 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								e9f6e51fc8 
								
							 
						 
						
							
							
								
								compiler,runtime: implement string to []rune conversion  
							
							... 
							
							
							
							Commit message by aykevl 
							
						 
						
							2019-06-19 01:17:21 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								fa5855bff5 
								
							 
						 
						
							
							
								
								main: add support for -tags flags  
							
							
							
						 
						
							2019-06-18 16:02:20 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ron Evans 
								
							 
						 
						
							
							
							
							
								
							
							
								16201c41dc 
								
							 
						 
						
							
							
								
								test: replace ExitStatus() with go1.11 compatible syntax  
							
							... 
							
							
							
							Signed-off-by: Ron Evans <ron@hybridgroup.com> 
							
						 
						
							2019-06-18 13:45:11 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Carolyn Van Slyck 
								
							 
						 
						
							
							
							
							
								
							
							
								208e1719ad 
								
							 
						 
						
							
							
								
								Add test command to tinygo ( #243 )  
							
							... 
							
							
							
							* Add test command to tinygo 
							
						 
						
							2019-06-18 12:23:59 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								a3d1f1a514 
								
							 
						 
						
							
							
								
								all: try more locations to find Clang built-in headers  
							
							... 
							
							
							
							This commit fixes the case where TinyGo was built with `go build` and
LLVM sources were never downloaded into the TinyGo source directory. 
							
						 
						
							2019-06-13 15:21:04 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Tomer Elmalem 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								3e1c0d90c5 
								
							 
						 
						
							
							
								
								Add implementation for os.Exit and syscall.Exit  
							
							
							
						 
						
							2019-06-12 19:04:34 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								b7197bcaae 
								
							 
						 
						
							
							
								
								compiler,runtime: implement non-blocking selects  
							
							... 
							
							
							
							Blocking selects are much more complicated, so let's do non-blocking
ones first. 
							
						 
						
							2019-06-12 18:26:52 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								8890a0f3c8 
								
							 
						 
						
							
							
								
								compiler,runtime: store channel size in the channel itself  
							
							... 
							
							
							
							This may have a small effect on code size sometimes, but will simplify
the implementation of the select statement. 
							
						 
						
							2019-06-12 18:26:52 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Justin Clift 
								
							 
						 
						
							
							
							
							
								
							
							
								5be412dabe 
								
							 
						 
						
							
							
								
								Makefile: using an alternative LLVM build dir now works  
							
							
							
						 
						
							2019-06-12 14:05:45 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								412ec5b789 
								
							 
						 
						
							
							
								
								Makefile: drop the -lclangToolingRefactor library  
							
							... 
							
							
							
							It is not necessary and does not exist in LLVM 9. 
							
						 
						
							2019-06-12 08:43:08 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								b0e767c4a7 
								
							 
						 
						
							
							
								
								compiler: move global handling from ir to compiler package  
							
							... 
							
							
							
							This is part of a larger rafactor that tries to shrink the ir package
and in general tries to shrink the amount of state that is kept around
in the compiler. The end goal is being able to compile packages
independent of each other, linking them together in a later stage. Along
the way, it cleans up lots of old cruft that has accumulated over the
months.
This refactor also results in globals being loaded lazily. This may be a
problem for some specific programs but will probably change back in a
commit in the near future. 
							
						 
						
							2019-06-08 22:17:09 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								6b5b4a681d 
								
							 
						 
						
							
							
								
								compiler: refactor named types to create them lazily  
							
							... 
							
							
							
							This commit refactors named types to be created lazily. Instead of
defining all types in advance, do it only when necessary. 
							
						 
						
							2019-06-08 22:17:09 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								88bb61f287 
								
							 
						 
						
							
							
								
								compiler: return a valid (undef) value from a unsupported select  
							
							... 
							
							
							
							Returning a nil value may lead to problems later on. Just return undef
here, so that further compilation will at least be safe (the result
will be discarded anyway). 
							
						 
						
							2019-06-08 21:48:05 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								e169e3b996 
								
							 
						 
						
							
							
								
								compiler: remove superfluous 'err' result in decodeFuncValue  
							
							
							
						 
						
							2019-06-08 21:48:05 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								aa8957dd05 
								
							 
						 
						
							
							
								
								compiler: support non-constant syscall numbers  
							
							... 
							
							
							
							Not all syscalls use constant numbers. 
							
						 
						
							2019-06-08 21:48:05 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								8e5731aee7 
								
							 
						 
						
							
							
								
								compiler: add support for pointers as map keys  
							
							
							
						 
						
							2019-06-08 21:48:05 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Justin Clift 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								0cc35b6188 
								
							 
						 
						
							
							
								
								Add a note to use --recursive when cloning the TinyGo repo  
							
							
							
						 
						
							2019-06-08 22:50:14 +10:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								5cf7fba1a4 
								
							 
						 
						
							
							
								
								compiler: remove //go:volatile support  
							
							
							
						 
						
							2019-06-06 19:46:49 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								e67506ee68 
								
							 
						 
						
							
							
								
								arm: update to avoid //go:volatile  
							
							... 
							
							
							
							This change results in changes to all smoketests for Cortex-M based
chips: they get a bit smaller (32-48 bytes). I'm not sure why but
probably because the inliner made a different inlining decision. There
was a similar effect when files generated from SVD files switched to the
new volatile types so it's probably harmless. 
							
						 
						
							2019-06-06 19:46:49 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								f2c205a008 
								
							 
						 
						
							
							
								
								machine: update ringbuffer to use runtime/volatile.Register8  
							
							... 
							
							
							
							This avoids the //go:volatile pragma, which will be removed soon.
There were no changes to the output of the smoke tests. 
							
						 
						
							2019-06-06 19:46:49 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								c84c625585 
								
							 
						 
						
							
							
								
								runtime: update to avoid //go:volatile  
							
							... 
							
							
							
							There was exactly one change in the output of the smoke tests:
examples/test. However, it still runs just fine on a PCA10040. 
							
						 
						
							2019-06-06 19:46:49 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								9673ad3774 
								
							 
						 
						
							
							
								
								all: move Register{8,16,32} values into runtime/volatile  
							
							... 
							
							
							
							This avoids duplication of code. None of the smoke tests have changed
their output. 
							
						 
						
							2019-06-06 19:46:49 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								66aca428ba 
								
							 
						 
						
							
							
								
								compiler: rename import path if it lies in TINYGOPATH  
							
							... 
							
							
							
							This allows importing (for example) both
"github.com/tinygo-org/tinygo/src/machine" and "machine" without issues.
The former is renamed to just "machine". 
							
						 
						
							2019-06-06 16:01:25 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								ec87811420 
								
							 
						 
						
							
							
								
								compiler: do not panic on duplicate functions  
							
							... 
							
							
							
							Instead, show a regular error message. This is much more user-friendly. 
							
						 
						
							2019-06-06 16:01:25 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								776dc1e0d9 
								
							 
						 
						
							
							
								
								main: show a better error when version detection of GOROOT failed  
							
							
							
						 
						
							2019-06-06 13:59:37 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ron Evans 
								
							 
						 
						
							
							
							
							
								
							
							
								beea2f1f30 
								
							 
						 
						
							
							
								
								docs: add note to current/future contributors to please start by opening a GH issue to avoid duplication of effort  
							
							... 
							
							
							
							Signed-off-by: Ron Evans <ron@hybridgroup.com> 
							
						 
						
							2019-06-06 12:09:17 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								5f9c683abf 
								
							 
						 
						
							
							
								
								main: return an error when running a command failed  
							
							
							
						 
						
							2019-06-05 09:08:44 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								0ce4d90779 
								
							 
						 
						
							
							
								
								cgo: add support for anonymous structs  
							
							
							
						 
						
							2019-06-03 20:01:47 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Tomer Elmalem 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								1047c9bd05 
								
							 
						 
						
							
							
								
								reflect: stub out reflect.New and reflect.Zero  
							
							
							
						 
						
							2019-06-03 19:26:47 +02:00