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

  • 760bc5d0a4
    targets: let specific targets inherit more general targets Ayke van Laethem 2018-11-19 21:08:12 +01:00
  • f02766265c
    targets: make compiler runtime selection more configurable Ayke van Laethem 2018-11-19 20:17:42 +01:00
  • 74b5e28a38
    docs: add documentation for the -gc compiler flag Ayke van Laethem 2018-11-18 19:32:57 +01:00
  • 8402e84b6d
    runtime: implement a simple mark/sweep garbage collector Ayke van Laethem 2018-11-18 19:18:39 +01:00
  • dbf581b56d
    interp: do not try to interpret functions with an inttoptr instruction Ayke van Laethem 2018-11-18 18:41:59 +01:00
  • 27fc397e21
    arm: implement arm.ReadRegister Ayke van Laethem 2018-11-18 18:40:36 +01:00
  • 8cb7b583d8
    compiler: support creating slices with uncommon initial len/cap types Ayke van Laethem 2018-11-18 18:34:09 +01:00
  • 9181f2d4ce
    runtime: add "end of heap" to detect out of memory Ayke van Laethem 2018-11-17 15:30:38 +01:00
  • ef93001ab8
    runtime: add "none" garbage collector Ayke van Laethem 2018-11-17 15:02:18 +01:00
  • c220c140ef
    all: make garbage collector configurable Ayke van Laethem 2018-11-17 15:01:30 +01:00
  • ecb4742316
    main: do not run legacy init interpreter with run subcommand Ayke van Laethem 2018-11-17 14:48:48 +01:00
  • 21db7e6099
    main: move "tinygo" build tag to compiler Ayke van Laethem 2018-11-17 14:36:41 +01:00
  • 15a4afb22a
    runtime: unify GC interface Ayke van Laethem 2018-11-17 14:11:58 +01:00
  • 4fdffdf8b2
    interp: support non-const ptrtoint instruction Ayke van Laethem 2018-11-17 14:09:18 +01:00
  • c3c4a33b42
    main: enable -initinterp by default Ayke van Laethem 2018-11-09 16:31:21 +01:00
  • 1ba463c7ee
    machine: redesign I2C interface Ayke van Laethem 2018-11-11 19:26:11 +01:00
  • 100901574b
    compiler: let escape analysis look across bitcasts Ayke van Laethem 2018-11-16 23:02:09 +01:00
  • 46755b774e
    compiler: fix another usage of the named type Denys Smirnov 2018-11-16 01:22:15 +01:00
  • 1ed019771d
    compiler: set debug info when defining a function Ayke van Laethem 2018-11-15 20:00:00 +01:00
  • ae3535945c
    all: add support to Dockerfile for AVR and ARM targets Ron Evans 2018-11-08 16:46:22 +01:00
  • 668c1741c3
    compiler: implement array equality Ayke van Laethem 2018-11-15 11:50:47 +01:00
  • 6292a0fd2e
    compiler: fix bug in for range loop over a named map type Ayke van Laethem 2018-11-14 15:43:50 +01:00
  • 9bddaae04a
    compiler: support any int type in slice indexes Ayke van Laethem 2018-11-14 14:41:40 +01:00
  • ee7c276493
    compiler: update integer type sizes Ayke van Laethem 2018-11-14 14:01:04 +01:00
  • 101d41dc58
    compiler: pass i64 return value in an extra pointer param Ayke van Laethem 2018-11-13 13:36:30 +01:00
  • 7d8b269f2e
    interp: fix several bugs related to constant vs dirty values Ayke van Laethem 2018-11-14 12:20:06 +01:00
  • eccbd572eb
    interp: do cast operations at runtime if needed Ayke van Laethem 2018-11-09 16:27:49 +01:00
  • c4ef2908ee
    microbit: fix pin numbers for ADC and I2C Ayke van Laethem 2018-11-11 19:23:09 +01:00
  • 26acc89f9c
    compiler: avoid load/store on zero-length data Ayke van Laethem 2018-11-09 15:48:47 +01:00
  • 2ddb6f788a
    compiler: move interface-related stuff to a separate file Ayke van Laethem 2018-11-06 12:19:04 +01:00
  • d1c0d6120a
    compiler: simplify runtime.interfaceMethod signature slightly Ayke van Laethem 2018-11-05 19:04:10 +01:00
  • 611bca39ab
    all: rename 'arm' to 'tinygo.arm' for Cortex-M Ayke van Laethem 2018-11-09 11:19:54 +01:00
  • b1cf69a523 compiler: implement binop string: <, <=, >, >= Marc-Antoine Ruel 2018-11-08 15:06:53 -05:00
  • 76d04990f4
    runtime: stub out some more syscall/js calls Ayke van Laethem 2018-11-05 13:52:56 +01:00
  • bf9d62fe98
    interp: fix GEP with const value in a local variable Ayke van Laethem 2018-11-05 13:33:01 +01:00
  • 2cd9846cc9
    interp: fix compile-time alloc linkage Ayke van Laethem 2018-11-05 12:44:23 +01:00
  • b4be9e033a
    runtime: add syscall/js stubs for microcontrollers Ayke van Laethem 2018-11-05 12:46:18 +01:00
  • 3d0ccb81c6
    main: fix -initinterp flag Ayke van Laethem 2018-11-05 13:10:16 +01:00
  • bb3d05169d
    interp: add new compile-time package initialization interpreter Ayke van Laethem 2018-10-31 10:43:29 +01:00
  • f900d3f9d5
    travis: remove Go master testing Ayke van Laethem 2018-11-04 18:29:17 +01:00
  • e930a1ead5
    compiler: allow multiple basic blocks in package initializers Ayke van Laethem 2018-11-03 20:22:00 +01:00
  • a531caa2e9
    compiler: implement deferring of interface calls Ayke van Laethem 2018-11-03 20:21:43 +01:00
  • 8f8942d763
    compiler: make all functions unnamed_addr Ayke van Laethem 2018-11-03 18:47:49 +01:00
  • 3823870d07
    main: print IR even when verification failed Ayke van Laethem 2018-11-03 18:26:46 +01:00
  • 60eefe1568
    compiler: do not abort on verification failure Ayke van Laethem 2018-11-03 18:24:57 +01:00
  • 22914165cc
    reflect: add more stubs for encoding/binary Ayke van Laethem 2018-11-03 16:06:44 +01:00
  • e66d457c42
    compiler: fix float <-> int conversions Ayke van Laethem 2018-11-03 12:20:55 +01:00
  • 8da1a5bc17
    compiler: add comment to interface call signatures Ayke van Laethem 2018-11-03 12:04:33 +01:00
  • 2e22d53e5d
    compiler: work around i64 limitation in JavaScript Ayke van Laethem 2018-11-03 11:57:21 +01:00
  • d7844ce124
    compiler, runtime: move defer notes to the runtime file Ayke van Laethem 2018-11-01 11:42:04 +01:00
  • c7cf6f0e82
    docs: move calling convention documentation here Ayke van Laethem 2018-11-01 11:41:24 +01:00
  • 85d5fe7643
    docs: add description of internal datatypes Ayke van Laethem 2018-10-31 20:47:12 +01:00
  • 06b8afab2e
    docs: add command line subcommands + flags documentation Ayke van Laethem 2018-10-31 19:49:51 +01:00
  • 7ea9a32058
    docs: give a small example how JS<->wasm bridging is done Ayke van Laethem 2018-10-31 17:41:53 +01:00
  • 1b283c11c1
    ir: do not throw an error on unknown conversions Ayke van Laethem 2018-10-31 10:19:25 +01:00
  • 4e4f91bea7
    main: cleanup printing of IR Ayke van Laethem 2018-10-31 10:10:49 +01:00
  • 8a211d36aa
    compiler: only produce one bitcast from an alloca Ayke van Laethem 2018-10-28 19:44:39 +01:00
  • b09b07a52d
    wasm: allow all undefined symbols Ayke van Laethem 2018-10-30 15:56:23 +01:00
  • a459570d94
    wasm: execute an 'unreachable' trap inst on panic Ayke van Laethem 2018-10-30 15:54:02 +01:00
  • 0314a487ff
    compiler: check slice cap instead of len during slicing Ayke van Laethem 2018-10-30 15:50:22 +01:00
  • 317b12b8c0
    compiler: remove println statement Ayke van Laethem 2018-10-29 18:18:23 +01:00
  • 2a5c331516
    compiler: assume external functions don't let pointers escape Ayke van Laethem 2018-10-29 14:04:55 +01:00
  • 772c6486ab
    runtime: correctly copy a zero-length buffer backwards Ayke van Laethem 2018-10-29 14:02:47 +01:00
  • d90d7be8a8
    runtime: implement syscall.runtime_envs Ayke van Laethem 2018-10-28 19:23:31 +01:00
  • a3d87456cd tinygo: add 'tinygo' build tag Marc-Antoine Ruel 2018-10-27 16:44:09 -04:00
  • 436901dc49
    compiler: implement operations on nil hashmaps Ayke van Laethem 2018-10-27 00:54:13 +02:00
  • c84fc6a670
    main: gofmt Ayke van Laethem 2018-10-26 23:31:27 +02:00
  • e751e4afe9
    compiler: avoid accidentally emitting debug info Ayke van Laethem 2018-10-26 23:30:46 +02:00
  • bce697bcc1
    docs: rename readme extension to .md Justin Clift 2018-10-26 00:11:02 +11:00
  • db636da207
    README: typo fix Christian Muehlhaeuser 2018-10-25 01:06:41 +02:00
  • 63b0b4b90c
    compiler: fix compiler.go import order Marc-Antoine Ruel 2018-10-24 11:19:41 -04:00
  • 586d3b33b1
    README: add Getting Help section Justin Clift 2018-10-25 12:08:52 +11:00
  • 7f30ef7e4d
    testdata: add more test cases in testdata Marc-Antoine Ruel 2018-10-24 22:55:22 -04:00
  • 97d4558d81
    main: update help text with new subcommands Ayke van Laethem 2018-10-25 00:05:55 +02:00
  • 980dceb192
    main: refactor build option passing Ayke van Laethem 2018-10-24 23:53:44 +02:00
  • fcd44c02cd
    compiler: fix const complex numbers Ayke van Laethem 2018-10-24 23:24:11 +02:00
  • cb0a148cd7
    compiler: fix map optimization Ayke van Laethem 2018-10-24 12:37:47 +02:00
  • 0b8beb77c1
    reflect: add stub reflect package Ayke van Laethem 2018-10-23 15:39:53 +02:00
  • 6c6a43310a
    compiler: fix invalid incoming block in complex typeassert flow Ayke van Laethem 2018-10-23 14:59:44 +02:00
  • 96f74ec153
    compiler: support 64-bit numbers in bounds check Ayke van Laethem 2018-10-23 14:07:27 +02:00
  • 17e8c850f6
    compiler: fix invalid use of extractvalue on vector types Ayke van Laethem 2018-10-23 14:05:55 +02:00
  • 893c115f31
    travis: remove WebAssembly test Ayke van Laethem 2018-10-23 13:29:24 +02:00
  • e2f6aedd9d
    compiler: implement comparing structs directly Ayke van Laethem 2018-10-23 13:26:01 +02:00
  • cbd7d401fe
    testdata: go fmt Ayke van Laethem 2018-10-23 13:24:18 +02:00
  • 82be43f4e6
    compiler: implement deferring of immediately-applied closures Ayke van Laethem 2018-10-22 14:06:51 +02:00
  • 9b9b66a09d
    compiler: add complex manipulation Ayke van Laethem 2018-10-22 13:44:59 +02:00
  • 9393cdd5ed
    README: add WebAssembly as a supported target Ayke van Laethem 2018-10-22 12:40:06 +02:00
  • c88d2d10a7
    docs: give a working Docker example Ayke van Laethem 2018-10-21 22:36:46 +02:00
  • 58ce5d9bf2
    docs: add WebAssembly to targets and improve formatting Ayke van Laethem 2018-10-21 20:22:21 +02:00
  • e5e09747f0
    all: add WebAssembly backend Ayke van Laethem 2018-10-18 15:15:29 +02:00
  • a51e04c550
    Dockerfile: include necessary build subfolders Johan Brandhorst 2018-10-21 17:52:12 +01:00
  • f1b3ec4be8 Dockerfile: add vendor step Johan Brandhorst 2018-10-21 05:59:55 +01:00
  • dda9c1cc6e
    ir: fix interface call edge case Ayke van Laethem 2018-10-21 01:33:40 +02:00
  • 97caabb8c2 Add Dockerfile Johan Brandhorst 2018-10-20 23:56:37 +01:00
  • 3d644e6ea8 Add dep files Johan Brandhorst 2018-10-20 23:22:42 +01:00
  • ad06ed46cd
    runtime: fix linker error: os.sigpipe Ayke van Laethem 2018-10-20 18:37:15 +02:00
  • 0a06c6014d
    compiler: special slice bounds check for 64-bit numbers Ayke van Laethem 2018-10-20 18:26:10 +02:00
  • 239504d9f4
    compiler: implement recover() Ayke van Laethem 2018-10-20 18:00:12 +02:00
  • 7c2a6169b0
    compiler: support comma-ok in map lookup Ayke van Laethem 2018-10-20 17:54:16 +02:00
  • da89464a63
    compiler: compare slice against nil Ayke van Laethem 2018-10-20 17:22:51 +02:00