Commit graph

443 commits

Author SHA1 Message Date
Jared Ramirez
48f8aad180 Compile bitcode as part of build script 2020-10-25 14:09:53 -07:00
Richard Feldman
21d4f8026e
Merge branch 'trunk' into convert-bitcode-gen-to-c 2020-10-25 14:17:17 -04:00
Richard Feldman
d0a9db06f5 Add Into instance for OptLevel 2020-10-25 01:42:10 -04:00
Jared Ramirez
d82d6b6fe9 Convert builtins to C 2020-10-24 12:22:51 -07:00
Richard Feldman
e8f1201937 Use libloading to load dylibs 2020-10-24 12:01:34 -04:00
Folkert
c8c1a0678a code gen for variably-sized closures 2020-10-21 13:01:27 +02:00
Folkert
3408a31453 preparations for specializing closures 2020-10-20 00:33:10 +02:00
Folkert
1439c1a21d clippy complaints 2020-10-17 22:37:15 +02:00
Folkert
e66c84d2de update bitcode 2020-10-17 22:05:07 +02:00
Folkert
edfc96628e WIP 2020-10-17 14:53:57 +02:00
Folkert
1708484eb5 fix mono tests 2020-10-17 02:39:44 +02:00
Folkert
8b490b6221 make closure layout more robust 2020-10-17 01:48:55 +02:00
Folkert
40ffca2b7b IT WORKS 2020-10-16 00:18:40 +02:00
Folkert
6318f032df first shot at implementing closure layout 2020-10-15 16:03:56 +02:00
Folkert
02a396d08a use fast calling convention 2020-10-15 01:46:28 +02:00
Folkert
729e16cad9 clippy 2020-10-14 21:42:22 +02:00
Folkert
07e29eb34c initial implementation 2020-10-14 14:43:59 +02:00
Folkert
89a1146c19 run gen tests as modules 2020-10-13 21:45:41 +02:00
Folkert de Vries
d9827ae467
Merge branch 'trunk' into improve-dependency-solving 2020-10-13 00:55:19 +02:00
Richard Feldman
a7da54516a Cast i64 to f64 instead of using builtin bitcode 2020-10-12 17:59:20 -04:00
Folkert
06bc187f8b all tests passing + clippy satisfied 2020-10-12 01:42:03 +02:00
Folkert
4f9b27b694 sketch of a proof of concept 2020-10-11 01:54:50 +02:00
Richard Feldman
4ec16749a0 Use _ over # when exporting linkable symbols 2020-10-04 15:58:13 -04:00
Richard Feldman
cc0fd32f27
Merge branch 'trunk' into str-refcount 2020-09-30 20:26:21 -04:00
Brendan Hansknecht
fc4f753914 Check the string is big and non-empty 2020-09-30 16:49:47 -07:00
Brendan Hansknecht
b02b25f41d Support variable ptr sizes in string refcount 2020-09-30 15:17:29 -07:00
Brendan Hansknecht
a2069a88db Merge branch 'trunk' into str-refcount 2020-09-30 15:12:17 -07:00
Brendan Hansknecht
1082d88b2b Remove unused value from increment_refcount_ptr 2020-09-30 06:58:10 -07:00
Folkert
3d46d19585 round up malloc, but only sometimes 2020-09-30 15:57:53 +02:00
Folkert
95dffad073 WIP 2020-09-30 15:01:24 +02:00
Richard Feldman
2993d40b85 Don't support compiling to 128-bit targets 2020-09-30 08:23:44 -04:00
Brendan Hansknecht
46db0fd989 Properly size refcount based on system ptr size 2020-09-29 17:27:29 -07:00
Brendan Hansknecht
0c5beb59cb Add refcount incrementing to big strings 2020-09-29 16:14:20 -07:00
Brendan Hansknecht
f532a758d9 Add refcount decrementing to big strings 2020-09-28 20:32:32 -07:00
Brendan Hansknecht
9e9552186e Fix list refcount dec 2020-09-27 10:18:01 -07:00
Brendan Hansknecht
51e1cd61dd Intentionally leak memory with 0 for refcount
A 0 value for refcount is the max and means leaked/read-only memory.
These values should never be incremented or decremented.
This changes also uses signed overflow when decrementing memory.
2020-09-27 09:34:51 -07:00
Brendan Hansknecht
3d6d5d1ad0 Switch refcount of 1 to be isize::MIN as usize
Also, adds helper methods for inc/dec of refcount.
2020-09-27 09:28:23 -07:00
Richard Feldman
47b1d45739 Check in builtins.bc 2020-09-26 23:59:10 -04:00
Richard Feldman
6a82fb27f8 Regenerate builtins.bc 2020-09-26 23:17:03 -04:00
Jared Ramirez
5cafbcd5ad Add Num.atan builtin 2020-09-26 19:00:51 -07:00
Folkert
f492800a28 recursive refcount on lists 2020-09-22 21:58:45 +02:00
Richard Feldman
94b1760965 Remove redundant variable 2020-09-21 21:27:39 -04:00
Folkert
9ac5533f80 final touchups 2020-09-21 23:57:05 +02:00
Folkert
515f717536 don't explicitly add filler bytes
leaving the memory undefined is fine
2020-09-21 23:55:05 +02:00
Folkert
fb4a796e07 add different variants of addition 2020-09-21 23:38:10 +02:00
Folkert
455b73e8bd add isFinite to builtins bytecode 2020-09-21 23:31:11 +02:00
Folkert
95177eee5a integer addition operations 2020-09-20 20:21:45 +02:00
Folkert
f732eb3e83 crash upon integer overflow 2020-09-20 17:01:00 +02:00
Folkert
16fc5dd497 Merge remote-tracking branch 'origin/trunk' into exception-handling 2020-09-19 21:50:57 +02:00
Folkert
be6752542b update to run on our fork of inkwell again 2020-09-19 21:50:33 +02:00