Leonardo de Moura
c0b3c71c4d
chore(library/compiler): remove dead code
2019-05-20 08:13:52 -07:00
Leonardo de Moura
781dd60b19
fix(library/init/lean/compiler/ir/boxing): filename case
...
It seems OSX is case insensitive since I can compile it on my Mac.
2019-05-20 08:10:33 -07:00
Leonardo de Moura
905b94311b
fix(library/init/lean/compiler/ir/borrow): tail call preservation
2019-05-19 17:08:51 -07:00
Leonardo de Moura
83692eef6d
feat(library/init/lean/compiler/ir): explicit RC
2019-05-19 16:46:51 -07:00
Leonardo de Moura
0f8c5820d3
feat(library/init/lean/compiler/ir/livevars): helper functions for managing the set of live variables
2019-05-19 11:17:05 -07:00
Leonardo de Moura
300c251b49
feat(library/init/lean/compiler/ir): add explicitBoxing to new IR compiler stack
2019-05-19 08:10:45 -07:00
Leonardo de Moura
b6ef6a796c
fix(library/init/lean/compiler/ir/borrow): consider borrow annotation only for references
2019-05-18 11:58:11 -07:00
Leonardo de Moura
6da0fc7207
chore(tests/playground/parser/syntax): fix test
2019-05-18 11:39:44 -07:00
Leonardo de Moura
b0c6d1c6a7
fix(library/compiler/ir): assertion violation
2019-05-18 11:33:35 -07:00
Leonardo de Moura
ca818e6850
feat(library/init/lean/compiler/ir): add borrow inference
2019-05-18 10:48:26 -07:00
Leonardo de Moura
d2f6befc15
chore(library/init/lean/compiler/ir): Context ==> LocalContext
2019-05-17 17:29:26 -07:00
Leonardo de Moura
c9bcd4990c
feat(library/compiler): register extern constants into the new IR
2019-05-17 17:12:51 -07:00
Leonardo de Moura
66d4995c56
feat(library/init/lean/compiler/ir/compilerm): add ' versions
2019-05-17 16:37:21 -07:00
Leonardo de Moura
999ba7670d
feat(library/init/lean/compiler/ir): add ExternEntry to Decl.extern constructor
2019-05-17 16:27:58 -07:00
Leonardo de Moura
48ed3c5307
feat(runtime): inline hot path small object allocation
2019-05-17 10:12:43 -07:00
Sebastian Ullrich
1aa95b8ea9
perf(tests/playground/qsort): use UInt32 indices instead of Nat
2019-05-17 18:57:54 +02:00
Sebastian Ullrich
f9a924c3ff
fix(tests/playground/qsort.ml): make sure all functions are monomorphic
2019-05-17 16:46:11 +02:00
Sebastian Ullrich
fd185f8e35
feat(tests/playground/qsort): qsort benchmark
2019-05-17 16:12:28 +02:00
Sebastian Ullrich
b1a8e22ac3
feat(tests/playground/rbmap_checkpoint): add rbmap_shared benchmark (rbmap_checkpoint with freq=1)
2019-05-17 15:57:40 +02:00
Leonardo de Moura
9a3a01fa6e
feat(library/compiler/compiler): invoke new IR compiler implemented in Lean
2019-05-16 16:08:52 -07:00
Leonardo de Moura
9d7191feca
chore(library/compiler): remove support for fully boxed
2019-05-16 15:48:33 -07:00
Leonardo de Moura
ac69f802e1
feat(library/compiler): interface with new IR compiler entry point
2019-05-16 15:41:47 -07:00
Leonardo de Moura
aa138fe686
chore(*): get_obj_arg => to_obj_arg
2019-05-16 14:42:02 -07:00
Leonardo de Moura
9d9f546ad8
refactor(util/sexpr): move options and option_declarations to util
2019-05-16 14:37:24 -07:00
Leonardo de Moura
367b3ec4a3
chore(tests/util): remove old test
2019-05-16 14:29:26 -07:00
Leonardo de Moura
9c4da289b2
refactor(util/sexpr/options): options as a Lean object
2019-05-16 14:27:44 -07:00
Leonardo de Moura
31d4fa9f71
chore(util/sexpr/options): shrink options API
...
Motivation: move to the Lean implementation
2019-05-16 14:08:11 -07:00
Leonardo de Moura
5482a11642
feat(library/init/lean/compiler/ir/default): add new entry point
2019-05-16 10:20:00 -07:00
Leonardo de Moura
2d065c7ded
feat(library/init/lean/compiler/ir): add Lean.IR.CompilerM
...
and environment extension for storing Lean IR declarations.
2019-05-16 10:20:00 -07:00
Sebastian Ullrich
7a19f246e6
fix(shell/lean): re-add missing short-only option
2019-05-16 10:27:18 +02:00
Leonardo de Moura
739008f8d4
chore(library/init/lean/compiler/llnf): disable
...
I am going to refactor the interface with the new IR compiler.
2019-05-15 19:02:51 -07:00
Leonardo de Moura
77768c504e
feat(shell/lean): import time stats
2019-05-15 17:16:19 -07:00
Leonardo de Moura
9b3421b63b
feat(library/compiler/closed_term_cache): remove C++ implementation and use Lean one
2019-05-15 15:33:46 -07:00
Leonardo de Moura
b87afdcbfd
chore(library/init/lean/compiler/closedtermcache): naming convention
2019-05-15 15:19:09 -07:00
Leonardo de Moura
816e83970b
refactor(util/object_ref, kernel/environment): move to_optional
2019-05-15 15:16:29 -07:00
Leonardo de Moura
09df708af2
feat(library/init/lean/compiler): implement close term cache env extension in Lean
2019-05-15 11:01:25 -07:00
Leonardo de Moura
7212fbab6e
perf(library/init/lean/environment): search hashmap first
...
Hypothesis: the vast majority of Environment queries try to access
imported constants instead of local ones.
2019-05-15 11:01:25 -07:00
Leonardo de Moura
70dce4b775
feat(library/init/lean/environment): show rbmap depth and hashmap bucket size
2019-05-15 11:01:25 -07:00
Leonardo de Moura
89e01368cd
fix(library/init/lean/environment): throw error if environment already contains constant
2019-05-15 11:01:25 -07:00
Leonardo de Moura
3193e91aff
feat(library/init/lean/environment): add Environment.displayStats and --stats command line argument
2019-05-15 11:01:25 -07:00
Leonardo de Moura
bc809643ec
feat(library/init/lean/expr): add Expr.quickLt, Expr.eqv
2019-05-15 11:01:25 -07:00
Sebastian Ullrich
f78c4a901f
feat(tests/playground/report): cache misses via perf stat
2019-05-15 19:39:55 +02:00
Sebastian Ullrich
9cdcb99008
fix(tests/playground/Makefile): fixes
2019-05-15 17:57:25 +02:00
Sebastian Ullrich
a831ce85d7
feat(tests/playground/report): fixed output format
2019-05-15 17:35:03 +02:00
Sebastian Ullrich
20dde07316
feat(tests/playground/report): %GC times
2019-05-15 17:35:00 +02:00
Sebastian Ullrich
e0b45d65f7
feat(default.nix,tests/playground): Nix-powered benchmark suite
2019-05-15 13:25:29 +02:00
Leonardo de Moura
8ab15536a7
perf(library/init/data/array/binsearch): add binSearchContains
2019-05-14 20:52:57 -07:00
Leonardo de Moura
45eda6d81b
perf(library/init/lean/modifiers): add only local entries to state
...
We can use `getModuleEntries` and `getModuleIdxFor` to test whether a
constant is protected or not.
2019-05-14 20:30:46 -07:00
Leonardo de Moura
dc71fafac1
feat(library/init/data/array): add Array.binSearch
2019-05-14 18:25:54 -07:00
Leonardo de Moura
2e4f5951e3
feat(library/init/data/array/qsort): simple quicksort
...
@kha I added `qsort` for sorting environment extension entries, but I am
wondering if we could use it as a benchmark in our paper. It is a pure implementation; it is
fast; it implements the real quick sort algorithm with in-place updates if the
input array is not shared. If the array is shared it performs
a single copy and then switches to in-place updates.
2019-05-14 17:46:34 -07:00