Commit graph

11715 commits

Author SHA1 Message Date
Leonardo de Moura
56e0c0efae chore(library/init/lean/compiler/ir/boxing): apply elimDead 2019-09-11 11:55:38 -07:00
Leonardo de Moura
459ab7f448 chore(stage0): update 2019-09-11 10:56:37 -07:00
Sebastian Ullrich
fdc30e3097 chore(library/type_context): revert "simple instance pre-filtering"
This reverts commit ab2e66e4a3.

This hack is not immediately needed anymore and will hopefully be
replaced with a much better design in the future
2019-09-11 19:51:25 +02:00
Leonardo de Moura
2901195790 chore(stage0): update 2019-09-11 10:42:42 -07:00
Leonardo de Moura
9e2200d0de chore(stage0): update 2019-09-09 10:56:53 -07:00
Leonardo de Moura
e8cdd2b29f fix(library/init/lean/compiler/ir/default): missing explicitRC 2019-09-09 10:53:34 -07:00
Leonardo de Moura
f7af9a73bd chore(library/init/lean/compiler/ir): move addBoxedVersion to entry point file 2019-09-09 10:35:52 -07:00
Leonardo de Moura
7dfec3c724 feat(library/init/lean/compiler/ir): add persistent field to inc/dec
If `persistent == true`, then object is known to be persistent at
compilation time. `emitc` omits `inc/dec` operations to
persistent objects. The interpreter does not to avoid memory leaks.
2019-09-09 07:42:06 -07:00
Leonardo de Moura
f5062b6d71 chore(stage0): update 2019-09-07 19:47:33 -07:00
Leonardo de Moura
a188bb8497 chore(library/init/lean/compiler/ir): remove emitcpp 2019-09-07 19:46:22 -07:00
Sebastian Ullrich
7b7f1d2cac test(tests/bench): add benchmarks as regular ctests with lowered inputs 2019-09-02 10:52:24 +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
Sebastian Ullrich
572926f5ce perf(shell/CMakeLists.txt, tests/): define NDEBUG in leanc release builds
`assert` is now being used by the C runtime
2019-08-27 16:54:29 +02: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
2bde205a20 chore(CMakeLists): enable COMPRESSED_OBJECT_HEADER 2019-08-24 11:58:38 -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
8f4684df32 chore(CMakeLists): temporarily disable COMPRESSED_OBJECT_HEADER 2019-08-24 11:06:20 -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
Leonardo de Moura
86c2c32810 fix(runtime/object): memory leak 2019-08-24 10:24:39 -07:00
Leonardo de Moura
fb4e2daf74 fix(runtime/object): debug build 2019-08-24 09:51:37 -07:00
Leonardo de Moura
79d4addabd chore(runtime): fix style 2019-08-24 09:33:09 -07:00
Leonardo de Moura
720c3ca3e4 fix(runtime): size_t issue OSX vs Linux 2019-08-24 09:30:12 -07:00
Leonardo de Moura
dfbc500947 fix(runtime/mpz): (try to) fix Linux build again 2019-08-24 08:13:48 -07:00
Leonardo de Moura
84de479a4c fix(runtime/int64): compilation issue on Linux 2019-08-24 07:58:22 -07:00
Leonardo de Moura
b6decd70f0 chore(stage0): update 2019-08-24 07:40:57 -07:00
Leonardo de Moura
358f8c5483 fix(runtime/lean): missing "static" 2019-08-24 07:40:56 -07:00
Leonardo de Moura
140708fe8d chore(runtime): style 2019-08-24 07:40:56 -07:00
Leonardo de Moura
f697381410 feat(shell/lean.cpp): use C backend for --cpp option 2019-08-24 07:40:56 -07:00
Leonardo de Moura
88a4320117 chore(stage0): update 2019-08-24 07:40:56 -07:00
Leonardo de Moura
09d8dd536c fix(library/init/lean/compiler/ir/emitc): invisible unicode character 2019-08-24 07:40:55 -07:00
Leonardo de Moura
db83a52748 chore(library/init/lean/compiler/ir/emitc): cleanup 2019-08-24 07:40:55 -07:00
Leonardo de Moura
70f3537a29 feat(runtime): add lean_panic and variants 2019-08-24 07:40:39 -07:00
Leonardo de Moura
acc243b484 chore(stage0): update 2019-08-24 07:40:39 -07:00
Leonardo de Moura
5124ab07c0 feat(library/init/lean/compiler/ir/emitcpp): use extern "C" { in generated files 2019-08-24 07:40:38 -07:00
Leonardo de Moura
b66034305a chore(stage0): update 2019-08-24 07:40:38 -07:00
Leonardo de Moura
b020ca3259 feat(library/init/lean/compiler/ir/emitcpp): allow C++ backend to use @[extern c ...] when @[extern cpp ...] is missing 2019-08-24 07:40:38 -07:00
Leonardo de Moura
41a4eaacd3 fix(runtime, library/init/lean/compiler/ir/emitc): missing export, ensure we can compile with C++ compiler 2019-08-24 07:40:38 -07:00
Leonardo de Moura
cee0264363 feat(CMakeLists.txt): add "COMPRESSED_OBJECT_HEADER" cmake option 2019-08-24 07:40:38 -07:00
Leonardo de Moura
e7c8e66986 fix(runtime/object): remove incorrect assertions
They are not true when LEAN_COMPRESSED_OBJECT_HEADER is defined.
2019-08-24 07:40:38 -07:00
Leonardo de Moura
6553c5531c fix(runtime): bugs at compact.cpp and object size calculation 2019-08-24 07:40:38 -07:00
Leonardo de Moura
1ba481fad5 chore(runtime/compact): minor 2019-08-24 07:40:38 -07:00
Leonardo de Moura
79f4eeea62 fix(runtime/lean): incorrect assertion 2019-08-24 07:40:38 -07:00
Leonardo de Moura
124c5da414 fix(runtime): disable compressed headers and fix bugs 2019-08-24 07:40:38 -07:00
Leonardo de Moura
3b762d4dc0 refactor(runtime): C backend 2019-08-24 07:40:38 -07:00
Leonardo de Moura
694800ce4f chore(util): remove dead code 2019-08-24 07:40:38 -07:00
Leonardo de Moura
dcd15f3424 refactor(runtime): C backend 2019-08-24 07:40:38 -07:00