Sebastian Ullrich
2509b3913a
Revert "feat: add std streams"
...
This reverts commit 7575a32035 .
2020-01-25 16:32:06 +01:00
Sebastian Ullrich
0be2424910
Revert "feat: override standard streams"
...
This reverts commit bd87ea5d5e .
2020-01-25 16:32:06 +01:00
Sebastian Ullrich
b760692a26
Revert "fix: thread local storage of std streams"
...
This reverts commit 961861ceab .
2020-01-25 16:32:06 +01:00
Sebastian Ullrich
58313a050a
Revert "fix: #eval redirection of stdout"
...
This reverts commit 123577126c .
2020-01-25 16:32:06 +01:00
Sebastian Ullrich
ad29568051
Revert "fix: redirect"
...
This reverts commit addbb8dd67 .
2020-01-25 16:32:06 +01:00
Leonardo de Moura
addbb8dd67
fix: redirect
...
@cipher1024 I modified your fix. It would produce memory leaks if the
code executed by #eval modifies the stdout.
Here is the problem.
- Your replaces the handler with some new handler `H` and stores the
old handler `O` in a `flet`.
- Code is executed and replaces the stdout handler with `H'`. The `H`s RC is
decremented and `H'`s RC is incremeneted. So far, so good.
- Now, the destructor of your `flet` is executed, and it replaces `H'`
with `O`, but `H'` RC is not decremented.
2020-01-23 15:58:34 -08:00
Simon Hudon
123577126c
fix: #eval redirection of stdout
2020-01-23 15:44:49 -08:00
Leonardo de Moura
67fb63c9fd
feat: use mpz_pow_ui to implement Nat.pow
2020-01-21 09:16:38 -08:00
Simon Hudon
961861ceab
fix: thread local storage of std streams
2020-01-19 17:23:24 -08:00
Simon Hudon
bd87ea5d5e
feat: override standard streams
2020-01-19 17:23:12 -08:00
Simon Hudon
7575a32035
feat: add std streams
...
This reverts commit 021ce21d5f70c2efcc58a0588ed6dc4999be6a33.
2020-01-19 17:22:58 -08:00
Simon Hudon
6d8927da10
fix: little details
2020-01-12 08:02:48 -08:00
Simon Hudon
92c8773137
feat: file IO using handles
2020-01-12 08:02:48 -08:00
Leonardo de Moura
48578c9743
chore: remove hacks
2020-01-08 21:09:17 -08:00
Leonardo de Moura
981e35b6da
chore: style
2020-01-08 21:09:17 -08:00
Leonardo de Moura
4550e75dcb
chore: temporary hack for solving staging issue
2020-01-08 21:09:17 -08:00
Leonardo de Moura
01c5b0710c
feat: pointer equality for IO.ref
2020-01-08 21:09:17 -08:00
Sebastian Ullrich
f171404530
fix: "superficial" leaks to shut up lsan
2019-12-22 17:23:51 -08:00
Sebastian Ullrich
3b37737c8a
fix: leaks
2019-12-22 15:09:19 -08:00
Leonardo de Moura
74f48414f1
feat: add option --exitOnPanic (short version -e)
...
Lean does not exit on panic anymore.
The old behavior (`std::exit(1)`) produces a horrible debugging
experience for the elaborator since all trace messages are lost.
The new command line option restores the old behavior.
cc @Kha @dselsam
2019-12-19 09:24:37 -08:00
Leonardo de Moura
54e5ca0c7b
fix: lean_nat_abs
...
It must not assume a nonnegative big integer is a big nat.
2019-12-14 08:08:41 -08:00
Sebastian Ullrich
ae3b3bb825
chore: remove cygwin support
2019-11-12 08:28:58 -08:00
Sebastian Ullrich
d8bb4df96f
chore: revert "chore: add std::cout.flush"
...
This reverts commit a43a225013 .
2019-11-06 10:13:39 -08:00
Leonardo de Moura
00af75accf
chore: style
...
fix nonsense
2019-10-29 14:50:22 -07:00
Leonardo de Moura
4b7b95cd76
fix: missing file
...
LEAN_SMALL_ALLOCATOR is defined at `config.h`
2019-10-29 14:48:02 -07:00
Sebastian Ullrich
a1f352b4b1
fix: undefined pointer arithmetic in apply
2019-10-29 13:43:50 -07:00
Sebastian Ullrich
90b91760aa
fix: SMALL_ALLOCATOR=OFF
2019-10-29 13:41:16 -07:00
Leonardo de Moura
a43a225013
chore: add std::cout.flush
...
cc @kha
2019-10-29 11:07:22 -07:00
Sebastian Ullrich
58dd7346e4
fix: build with SMALL_ALLOCATOR=OFF
2019-10-29 17:07:42 +01:00
Leonardo de Moura
745367a4ed
fix: remove irrelevant arguments
2019-10-23 16:51:09 -07:00
Leonardo de Moura
30571f12d4
chore: adjust runtime to new EState
2019-10-21 17:05:16 -07:00
Leonardo de Moura
5902ef30d6
refactor: prepare to change EState
2019-10-21 16:51:48 -07:00
Leonardo de Moura
10760d3eb2
chore: try (to fix) Windows build
2019-10-06 18:55:32 -07:00
Leonardo de Moura
afc5352360
chore: fix style
2019-10-04 21:16:37 -07:00
Leonardo de Moura
a4c7e597a8
chore: (try to) fix Windows build
2019-10-04 20:52:54 -07:00
Leonardo de Moura
411f397654
refactor(library/init/data/list): new name convention for List functions
...
cc @dselsam @kha
2019-10-01 15:15:02 -07:00
Leonardo de Moura
3d7a7c7e91
feat(library/init/util): add panic primitive
2019-09-30 16:23:18 -07:00
Leonardo de Moura
a4b860b92a
fix(runtime): missing Array.data primitive
2019-09-19 10:27:10 -07:00
Leonardo de Moura
a7d616605a
fix(runtime/lean): missing primitive
2019-09-19 09:54:03 -07:00
Sebastian Ullrich
8da203b91a
perf(compiler/ir_interpreter): do not allocate temp closure for saturated partial applications
2019-09-12 18:26:15 +02:00
Sebastian Ullrich
99bc069fdd
feat(library/compiler/ir_interpreter): implement IR interpreter
2019-09-12 18:22:02 +02:00
Sebastian Ullrich
4aa4a4d5f1
chore(runtime/object,util/object_ref): missing assertions
2019-09-12 18:22:02 +02:00
Leonardo de Moura
4ac235212a
fix(runtime/lean): incorrect assertion
2019-08-28 15:50:11 -03:00
Leonardo de Moura
dc82c5cc70
chore(runtime/object): fix compilation error in debug mode on OSX
2019-08-28 15:43:21 -03:00
Leonardo de Moura
f40617d8dd
feat(CMakeLists, runtime): add CHECK_RC_OVERFLOW cmake option
2019-08-28 15:35:46 -03:00
Leonardo de Moura
a944d158a3
feat(CMakeLists.txt): add SMALL_RC cmake option
...
When used with `COMPRESSED_OBJECT_HEADER`, Lean uses a compressed
object header where only 32-bits are reserved for the RC.
The motivation is performance, in our experiments, it is faster to
access a 32-bit counter than a 45-bit one.
With a smaller RC, we can use 8-bits for the memory kind information,
and speedup its access.
2019-08-28 14:54:08 -03:00
Leonardo de Moura
cb1680e096
chore(runtime/object): use same idiom we used at del_core
2019-08-24 12:02:09 -07:00
Leonardo de Moura
88e44d9fdd
fix(runtime/compact): memory leak
2019-08-24 11:21:19 -07:00
Leonardo de Moura
9d09325d1e
fix(runtime): ensure we can disable LEAN_SMALL_ALLOCATOR
2019-08-24 11:18:07 -07:00
Leonardo de Moura
2d103caa76
perf(runtime/lean): use the low level hack we used in the previous runtime
2019-08-24 11:05:28 -07:00