Commit Graph

  • c237633d34 all: use a custom sync package Ayke van Laethem 2018-09-15 18:51:51 +02:00
  • 94b18e2d79 compiler: support integer convert in interpreter Ayke van Laethem 2018-09-15 18:47:15 +02:00
  • 1d2e0cd259 compiler: don't show DebugRef with -dumpssa Ayke van Laethem 2018-09-15 18:45:46 +02:00
  • 2a20c0c7f0 all: rewrite sleep function Ayke van Laethem 2018-09-15 01:08:31 +02:00
  • 1ac67cf8de compiler: adding a few more ignored init calls Ayke van Laethem 2018-09-15 01:04:19 +02:00
  • 38efc5653d compiler: support compile-time hashmap with int keys Ayke van Laethem 2018-09-15 01:03:22 +02:00
  • 152e12e4b0 all: implement iterating over hashmaps Ayke van Laethem 2018-09-15 00:29:34 +02:00
  • 5b4b6cfee2 compiler: use -dumpssa flag in interpreter Ayke van Laethem 2018-09-14 21:38:03 +02:00
  • 866a6edb5f compiler: fix word size for AVR Ayke van Laethem 2018-09-14 21:36:51 +02:00
  • 327076da39 examples/test: add slice-a-slice test Ayke van Laethem 2018-09-14 21:02:29 +02:00
  • 1387a1024d examples/test: small cleanup Ayke van Laethem 2018-09-14 21:00:52 +02:00
  • 112f6dc01a all: implement tinygo flash command Ayke van Laethem 2018-09-14 20:59:28 +02:00
  • 6450daa3c8 runtime/cgo: go fmt Ayke van Laethem 2018-09-14 20:58:00 +02:00
  • 13633133a5 Makefile: simplify make fmt Ayke van Laethem 2018-09-14 20:57:21 +02:00
  • 09cbd223c3 compiler: remove -runtime flag Ayke van Laethem 2018-09-14 20:56:48 +02:00
  • c763e9f1a6 compiler: produce .hex files directly Ayke van Laethem 2018-09-14 20:27:04 +02:00
  • f41a8032e7 machine/dummy: add fake button pins Ayke van Laethem 2018-09-14 17:01:16 +02:00
  • 752332ff13 machine/nrf: implement reading GPIO pins Ayke van Laethem 2018-09-14 16:55:52 +02:00
  • ab6757fe11 avr: implement Get() function on AVR, and leave stubs for NRF and dummy machines Ron Evans 2018-09-13 11:39:38 +02:00
  • ec50db729d compiler: implement slicing slices Ayke van Laethem 2018-09-13 20:49:35 +02:00
  • 5b3ef2c02f compiler: fix unreachable type assert Ayke van Laethem 2018-09-13 20:48:23 +02:00
  • 9cd7c7f0ba compiler: fix phi nodes for type asserts Ayke van Laethem 2018-09-13 20:42:04 +02:00
  • 57661a3c76 compiler: fix typeassert without comma-ok for unused types Ayke van Laethem 2018-09-13 16:58:44 +02:00
  • d948abdf82 avr: correct register for Set() operation on pins 0-7 Ron Evans 2018-09-13 10:42:08 +02:00
  • 76e77917d8 targets: move target-specific files to this directory Ayke van Laethem 2018-09-13 00:59:39 +02:00
  • e389d38dec Makefile: improve gen-device* commands Ayke van Laethem 2018-09-13 00:55:49 +02:00
  • 18b3e8d156 gen-device: move to new tools directory Ayke van Laethem 2018-09-13 00:55:18 +02:00
  • a46ed465c5 README: defer has been fully implemented Ayke van Laethem 2018-09-13 00:31:43 +02:00
  • 422c848163 README: fix nrf example and add arduino example Ayke van Laethem 2018-09-13 00:23:53 +02:00
  • 7e7502a990 README: update build instructions Ayke van Laethem 2018-09-13 00:23:45 +02:00
  • 5e9e3bd1a0 Makefile: use the compiler driver directly Ayke van Laethem 2018-09-12 23:41:11 +02:00
  • 76a513802f targets/pca10040: support linking from within the compiler Ayke van Laethem 2018-09-12 23:38:51 +02:00
  • 8ce139284a all: remove last traces of the C runtime Ayke van Laethem 2018-09-12 23:10:35 +02:00
  • f7f7d4cbbc runtime/nrf: translate nrf sleep function from C to Go Ayke van Laethem 2018-09-12 22:16:06 +02:00
  • 67e33ac30e gen-device-svd: add _Pos and _Msk fields Ayke van Laethem 2018-09-12 22:06:42 +02:00
  • 2788ab0172 all: rename __reg to __volatile Ayke van Laethem 2018-09-12 22:05:41 +02:00
  • 914cd56ca5 all: support Arduino in the compiler driver Ayke van Laethem 2018-09-12 20:55:50 +02:00
  • 865520b571 compiler: act as a compiler driver (on unix systems) Ayke van Laethem 2018-09-12 19:56:15 +02:00
  • 6ab2b30984 compiler: move output file type selection to main.go Ayke van Laethem 2018-09-12 19:11:50 +02:00
  • 9bec479041 all: make targets configurable with a JSON file Ayke van Laethem 2018-09-12 18:13:04 +02:00
  • 20c2552f8a compiler: add 'run' command for bytecode interpretation Ayke van Laethem 2018-09-12 17:26:56 +02:00
  • 8362751590 compiler: use runtime.GOOS/GOARCH instead of hardcoding build tags Ayke van Laethem 2018-09-12 17:25:43 +02:00
  • e9b0a7d2ae compiler: improve command line errors Ayke van Laethem 2018-09-12 17:25:14 +02:00
  • 0779ee6088 compiler: improve command line argument parsing Ayke van Laethem 2018-09-11 20:26:13 +02:00
  • 81b9edbe65 compiler: print() doesn't print spaces between arguments Ayke van Laethem 2018-09-11 20:01:49 +02:00
  • 8675025fc8 compiler: implement type assert without comma-ok Ayke van Laethem 2018-09-11 19:51:31 +02:00
  • 31e0662856 runtime: use a specialized runtime panic function Ayke van Laethem 2018-09-11 19:46:40 +02:00
  • 4ad6df3227 all: complete the implementation of interface asserts Ayke van Laethem 2018-09-11 19:39:25 +02:00
  • 61e6f7cf5b compiler: add debug information for function parameters Ayke van Laethem 2018-09-11 17:00:24 +02:00
  • 43b8c24226 compiler: implement interface assertions Ayke van Laethem 2018-09-06 20:18:18 +02:00
  • 30ac6ec281 compiler: don't try to get pointer methods Ayke van Laethem 2018-09-06 20:04:41 +02:00
  • 0f83c3b3c6 compiler: allow copying a string to a slice Ayke van Laethem 2018-09-06 10:53:18 +02:00
  • 41a50ec336 compiler: simplify code for builtin len() Ayke van Laethem 2018-09-06 10:52:36 +02:00
  • 31f494e611 all: swap string from {len, ptr} to {ptr, len} for slice compatibility Ayke van Laethem 2018-09-06 10:49:52 +02:00
  • 5aa8b71ae1 compiler: implement builtin copy(dst, src []T) Ayke van Laethem 2018-09-06 10:37:44 +02:00
  • fd9fa038a9 compiler: fix make([]T, ...) type Ayke van Laethem 2018-09-06 10:37:00 +02:00
  • 01635b5efd runtime: move panic functions to a separate file Ayke van Laethem 2018-09-06 09:59:32 +02:00
  • 65358ed3c9 interpreter: don't panic on a nil (*ssa.Call).Object() Ayke van Laethem 2018-09-06 09:47:39 +02:00
  • 094c5561b6 compiler: implement make([]T, ...) Ayke van Laethem 2018-09-06 09:46:58 +02:00
  • ef2c406127 compiler: implement comparing a pointer against nil Ayke van Laethem 2018-09-05 20:24:12 +02:00
  • f44d2f718f compiler: rewrite defer support to better support them Ayke van Laethem 2018-09-05 19:59:03 +02:00
  • 87dd1a1fe5 compiler: fix debug metadata Ayke van Laethem 2018-09-05 16:41:34 +02:00
  • 9101ea11bf examples: clean up examples and add blinky1 for Arduino Ayke van Laethem 2018-09-05 11:49:31 +02:00
  • 17b5b6ec5b all: use less magic in memory-mapped IO Ayke van Laethem 2018-09-05 11:29:15 +02:00
  • 93248c93ed avr: remove device files, use them from a subrepository Ayke van Laethem 2018-09-05 11:59:24 +02:00
  • 7258553528 compiler: implement const pointers from integers Ayke van Laethem 2018-09-05 11:15:33 +02:00
  • ce71d18450 runtime/nrf: remove AEABI functions Ayke van Laethem 2018-09-05 07:09:24 +02:00
  • 92877f8371 Makefile: some cleanups Ayke van Laethem 2018-09-04 21:32:14 +02:00
  • 83ad0b6137 all: move bootstrapping IR to Go runtime Ayke van Laethem 2018-09-04 20:39:22 +02:00
  • 0746d61639 compiler: move optimizer into the binary Ayke van Laethem 2018-09-04 18:55:47 +02:00
  • c109ec0955 compiler: let a failed typeassert return the nil value Ayke van Laethem 2018-09-03 19:11:28 +02:00
  • efdc2b8672 compiler: add basic debug info Ayke van Laethem 2018-09-03 18:26:07 +02:00
  • a7fcef62e0 compiler: implement comparing interfaces to nil Ayke van Laethem 2018-09-03 01:13:07 +02:00
  • c100e4d67f compiler: fix nil constant interface Ayke van Laethem 2018-09-03 01:01:24 +02:00
  • 4ed04309a3 compiler: truncate shift amount when needed Ayke van Laethem 2018-09-03 00:22:55 +02:00
  • ebd87ce4cd compiler: implement []byte(str) Ayke van Laethem 2018-09-03 00:21:33 +02:00
  • a080ce26ef compiler: implement string slicing Ayke van Laethem 2018-09-02 23:46:31 +02:00
  • 1170cdc21f compiler: implement Field expression Ayke van Laethem 2018-09-02 21:14:33 +02:00
  • 9519f989bc runtime/scheduler: make debugging easier + rename some functions Ayke van Laethem 2018-09-02 19:30:13 +02:00
  • 8ba3fef7d7 runtime/scheduler: always update task state Ayke van Laethem 2018-09-02 19:28:41 +02:00
  • d183f12395 nrf: fix sleep Ayke van Laethem 2018-09-02 19:16:24 +02:00
  • 1e90858145 Fix blocking functions Ayke van Laethem 2018-09-02 18:39:39 +02:00
  • bfff0c33e4 Fix external globals Ayke van Laethem 2018-09-02 18:10:01 +02:00
  • 88b6b2e7f5 Optimize/eliminate bounds checking Ayke van Laethem 2018-09-02 16:24:50 +02:00
  • 42cddd3260 Move runtime.TargetBits out of the compiler Ayke van Laethem 2018-09-02 16:00:31 +02:00
  • 9fca0e99b5 compiler: use InternalLinkage where appropriate Ayke van Laethem 2018-09-02 15:58:49 +02:00
  • 58c87329d4 Implement closures and bound methods Ayke van Laethem 2018-09-02 03:13:39 +02:00
  • 58b853bbef Defer for trivial cases Ayke van Laethem 2018-09-01 17:09:56 +02:00
  • cd2a9d99a1 Add dummy runtime.SetFinalizer() Ayke van Laethem 2018-08-31 21:56:46 +02:00
  • 887814a69d Be able to handle complex64 and complex128 types Ayke van Laethem 2018-08-31 21:30:21 +02:00
  • 94ce893ab4 Copy printfloat() from original runtime Ayke van Laethem 2018-08-31 21:25:32 +02:00
  • 46d2d2e777 Add support for floats Ayke van Laethem 2018-08-31 21:24:22 +02:00
  • 3cdf606183 Improve runtime.printuint32: avoid recursion Ayke van Laethem 2018-08-31 21:20:39 +02:00
  • f057d612fc Add support for indexing in an array by a non-constant Ayke van Laethem 2018-08-31 21:20:10 +02:00
  • a1359d7f64 passes: small code cleanup Ayke van Laethem 2018-08-30 22:54:44 +02:00
  • 734b0cb6bc Implement runtime functions for reflect Ayke van Laethem 2018-08-30 22:53:34 +02:00
  • b13cfc5255 Be able to deal with anonymous functions Ayke van Laethem 2018-08-30 22:47:34 +02:00
  • 674b506bb2 Replace compiler hack for sync package with //go:linkname Ayke van Laethem 2018-08-30 22:38:21 +02:00
  • 74bd378c29 Replace _llvm_* workaround in the scheduler with //go:linkname Ayke van Laethem 2018-08-30 22:29:06 +02:00
  • 771f23e320 Implement //go:linkname pragma Ayke van Laethem 2018-08-30 22:27:19 +02:00