Leonardo de Moura
106adb09b9
fix: simplify allocator
...
Do not move segments between heaps.
We found yet another bug due to this "feature".
The crash is reported here:
https://gist.github.com/semorrison/490496060bbcfa8ea635f3d7be1ac824
@Kha summarized the "root of the evil" as:
using per-heap import lists while segments can be exchanged between heaps doesn't seem compatible.
This is the second bug due to this design decision.
We had fixed one here:
2283ebc5e9/src/runtime/alloc.cpp (L257-L269)
This commit fixes both issues by removing the segment exchange feature.
2021-10-05 16:58:20 -07:00
Sebastian Ullrich
816dc1895f
perf: reuse idle thread in favor of spawning new one
2021-09-25 07:34:12 -07:00
Sebastian Ullrich
70f99ab655
chore: placate GCC
2021-09-23 16:31:41 +02:00
Sebastian Ullrich
6eca75ddbd
fix: include exported declarations in defining file
2021-09-20 18:41:46 +02:00
Sebastian Ullrich
b13d3e6ca5
fix: dllexport functions not already annotated in header
2021-09-20 18:41:46 +02:00
Sebastian Ullrich
a7b044b80b
chore: CI: build macOS without nix-shell
...
GH Actions already comes with most dependencies and it seems to avoid an
issue with Zig libc++ compilation (because of OSX_DEPLOYMENT_TARGET?)
2021-09-16 21:33:56 +02:00
Sebastian Ullrich
08c2c31fcd
feat: IO.FS.removeDir(All)
2021-09-16 07:01:37 -07:00
Sebastian Ullrich
cd7968ba6a
chore: IO.FS.removeFile: include path in error messages
2021-09-16 07:01:37 -07:00
Leonardo de Moura
218b9c87b0
feat: expose APIs for creating IO.Error objects
2021-09-11 17:14:43 -07:00
Leonardo de Moura
ca6941ab39
chore: rename lean_mpz_value
2021-09-11 17:00:47 -07:00
Leonardo de Moura
f9bc4b9b3a
feat: add missing APIs
2021-09-11 15:39:11 -07:00
Leonardo de Moura
075ba63a8b
feat: add LEAN_ABORT_ON_PANIC
2021-09-09 04:49:16 -07:00
Leonardo de Moura
c8406a301d
chore: reduce src/include/lean
2021-09-07 08:24:54 -07:00
Sebastian Ullrich
82c97d34fa
chore: specify accurate dependencies for leanshared
2021-08-20 09:42:05 -07:00
Sebastian Ullrich
5f4b1b1d44
Revert "Revert "feat: reintroduce libleanshared, link lean & leanpkg against it""
...
This reverts commit ccbc9d00db .
2021-08-20 09:42:05 -07:00
Sebastian Ullrich
ccbc9d00db
Revert "feat: reintroduce libleanshared, link lean & leanpkg against it"
2021-08-20 15:39:00 +02:00
Sebastian Ullrich
98b3e4b0ec
chore: fix leanrt compilation flags
2021-08-18 13:54:52 +02:00
Sebastian Ullrich
c867376a82
perf: generate separate libleanrt.a with local-exec TLS model for static linking
2021-08-18 13:54:52 +02:00
Sebastian Ullrich
b7d723c982
refactor: compile runtime/ into new static library leanrt
2021-08-18 13:54:52 +02:00
Sebastian Ullrich
754286dc6d
fix: compile flags for libleanruntime.bc
2021-08-18 13:54:52 +02:00
Leonardo de Moura
6ced2cdece
refactor: move lean_name_eq to runtime, add lean_name_hash in C
2021-08-16 16:13:55 -07:00
Leonardo de Moura
14b611af96
refactor: move buffer.h and *_ref.h files to runtime
2021-08-16 15:39:38 -07:00
Sebastian Ullrich
3c91c9e874
feat: try memory-mapping .olean files on Windows
2021-08-04 16:40:57 +02:00
Sebastian Ullrich
fbdcaab009
feat: show number of mmap-ed modules in --stats
2021-08-04 16:40:57 +02:00
Sebastian Ullrich
05abdf7848
perf: move root address of compacted region to the front
...
for true zero-cost loading
2021-08-04 16:40:57 +02:00
Sebastian Ullrich
4766ee0b5e
feat: try to mmap() .olean files on Linux & macOS
2021-08-04 16:40:57 +02:00
Sebastian Ullrich
4d8da44f50
feat: allow specifying virtual base address for compacted region
2021-08-04 16:40:57 +02:00
Sebastian Ullrich
e25edf893c
fix: mark MPZ objects in compacted regions as persistent
2021-07-27 16:35:42 +02:00
Leonardo de Moura
b986bde639
fix: IO.Error.alreadyExists may have an optional file name
...
We got an assertion violation yesterday at `leanpkg` at
```cpp
case EEXIST: case EINPROGRESS: case EISCONN:
lean_assert(fname == nullptr); // <<<<<<< HERE
return lean_mk_io_error_already_exists(errnum, details);
```
2021-07-27 07:00:06 -07:00
Sebastian Ullrich
450293e64a
feat: zero-copy GMP deserialization
2021-07-26 07:11:05 -07:00
Wojciech Nawrocki
66258b012b
chore: fix windows build
2021-07-24 10:45:28 +02:00
Wojciech Nawrocki
102236fdd9
chore: leftover comment
2021-07-24 10:45:28 +02:00
Wojciech Nawrocki
b3d9e90695
feat: IO.getRandomBytes
2021-07-24 10:45:28 +02:00
Sebastian Ullrich
1eee82f745
fix: Windows build
2021-07-22 19:50:42 +02:00
Sebastian Ullrich
2b451a3fed
chore: remove obsolete serializer code
2021-07-22 18:59:39 +02:00
Leonardo de Moura
10122ba38b
chore: try to fix compilation error at CI
2021-07-20 10:42:28 -07:00
Leonardo de Moura
286136b3c7
fix: missing std::
2021-07-20 10:42:28 -07:00
Leonardo de Moura
c59e72a77b
chore: cleaner lean_dec_ref, inline persistent object case
2021-07-20 10:42:28 -07:00
Leonardo de Moura
da66610fda
chore: cleanup
2021-07-20 10:42:28 -07:00
Leonardo de Moura
489b28085f
feat: simpler and faster RC
2021-07-20 10:42:28 -07:00
Sebastian Ullrich
904cfd6fcb
perf: extract cold path in lean_alloc_small
2021-07-19 13:20:28 -07:00
Sebastian Ullrich
16fbbf98e9
perf: extract cold paths in lean_free_small and mark noinline
2021-07-19 13:20:28 -07:00
Sebastian Ullrich
14b9dee84e
chore: add missing file
2021-07-09 11:00:58 +02:00
Sebastian Ullrich
b70d018038
feat: include lean.h inline definitions in LLVM module
2021-07-09 11:00:58 +02:00
Sebastian Ullrich
5c07c188b4
feat: generate LLVM module of runtime
2021-07-09 11:00:58 +02:00
Leonardo de Moura
d0358810a7
feat: add lean_set_panic_messages
2021-06-29 14:30:56 -07:00
Sebastian Ullrich
daac376160
fix: native signature of IO.Process.exit
2021-06-23 08:53:20 +02:00
Sebastian Ullrich
2091a09fa1
feat: IO.Process.Child.takeStdin
2021-06-11 17:53:51 -07:00
Daniel Selsam
a22bba7bbf
feat: Process.exit
...
Closes #356
2021-06-11 17:53:51 -07:00
Reijo Jaakkola
32897440dc
fix: change IO.FS.Handle.read to return empty array at EOF
...
Make EOF handling in IO.FS.Handle consistent with EOF handling in
IO.FS.Handle.getLine. Previously returned error at EOF which ended up
causing segmentation fault. Remove the declaration of g_io_error_eof,
since it becomes redundant.
Closes #349
2021-06-08 13:17:53 +02:00