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

  • 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
  • 906e061e37
    Replace own dummy syscall with standard library syscall Ayke van Laethem 2018-08-30 05:58:54 +02:00
  • e01259ba77
    interpreter: string concatenation Ayke van Laethem 2018-08-30 05:54:40 +02:00
  • 16cdffc367
    Try to interpret simple function calls in init() functions Ayke van Laethem 2018-08-30 05:52:42 +02:00
  • 15f62b29cf
    Add runtime.GOOS Ayke van Laethem 2018-08-30 05:48:16 +02:00
  • 82d0d70ba2
    Add (hardcoded) runtime.GOROOT() Ayke van Laethem 2018-08-30 05:41:48 +02:00
  • cfd20c7a12
    Add a number for the "error" type by default Ayke van Laethem 2018-08-30 05:39:41 +02:00
  • a5252d07f0
    Support zero-initialized pointers in globals Ayke van Laethem 2018-08-30 05:38:27 +02:00
  • 5edf94ea10
    Fix named structs inside global named structs Ayke van Laethem 2018-08-30 05:36:44 +02:00
  • 7956ca2f29
    Function pointers in global variables Ayke van Laethem 2018-08-30 05:36:09 +02:00
  • a4fd096393
    Add dummy channel support Ayke van Laethem 2018-08-30 05:32:18 +02:00
  • 6e0c60a7a1
    Some extra header docs Ayke van Laethem 2018-08-30 02:36:13 +02:00
  • 0b372ba5bd
    Support initialized map values in another global Ayke van Laethem 2018-08-30 02:32:35 +02:00
  • 42711c11e9
    Be able to print maps to some degree Ayke van Laethem 2018-08-30 02:26:48 +02:00
  • d930a9ba16
    Implement print() for interface values Ayke van Laethem 2018-08-30 02:20:36 +02:00
  • 25344bc08f
    Reorder Program.interpret cases Ayke van Laethem 2018-08-30 02:09:02 +02:00
  • 75477eb14e
    Implement global .data-initalized interfaces Ayke van Laethem 2018-08-30 02:08:00 +02:00
  • d13c124df9
    Implement casting from (Unicode) integer to string Ayke van Laethem 2018-08-30 00:36:13 +02:00
  • fdc56d5940
    Implement convert string <- []byte Ayke van Laethem 2018-08-29 23:54:46 +02:00
  • eed25c78df
    Clean up ssa.Convert and ssa.ChangeType Ayke van Laethem 2018-08-29 23:36:58 +02:00
  • 8b95b869ab
    Implement string concatenation Ayke van Laethem 2018-08-29 22:10:46 +02:00
  • c912091f8b
    Add integer key support to hashmap Ayke van Laethem 2018-08-29 21:50:23 +02:00
  • 8f7db8661b
    Move string type to runtime in separate file Ayke van Laethem 2018-08-29 20:55:09 +02:00
  • bf160d096b
    Move lenType definition to runtime (partially) Ayke van Laethem 2018-08-29 20:48:56 +02:00
  • abaae5b90d
    Remove unnecessary compiler workaround Ayke van Laethem 2018-08-29 20:45:50 +02:00
  • 7991243554
    Remove CGo from machine module Ayke van Laethem 2018-08-29 20:44:56 +02:00
  • d4f5700625
    Remove use of CGo in the runtime Ayke van Laethem 2018-08-29 19:58:21 +02:00
  • d620f0d188
    Implement multiple return values from functions Ayke van Laethem 2018-08-29 19:42:22 +02:00
  • ee10162564
    Extra check on interface asserts Ayke van Laethem 2018-08-27 00:50:03 +02:00
  • 0c71ed81a4
    Rename runtime.itfmethod -> runtime.interfaceMethod Ayke van Laethem 2018-08-27 00:49:33 +02:00
  • 64e478ef36
    Switch to 16-bit typecodes and method IDs Ayke van Laethem 2018-08-26 23:56:35 +02:00
  • 539de9db9e
    Move interface method calls in Go from LLVM IR + documentation Ayke van Laethem 2018-08-26 23:31:29 +02:00
  • 309de00fd6
    Simplify function names by removing $async suffix Ayke van Laethem 2018-08-26 21:45:28 +02:00