Leonardo de Moura
|
2bd400964c
|
feat(library/vm/vm): store arguments in reverse order on the stack
It simplifies the code for handling closures.
|
2016-05-13 10:54:29 -07:00 |
|
Leonardo de Moura
|
dbcd609aff
|
feat(library/vm/vm): disable VM trace in release mode
|
2016-05-13 10:33:25 -07:00 |
|
Leonardo de Moura
|
039e960799
|
feat(library/vm/vm): add InvokeBuiltin instruction
|
2016-05-13 10:28:05 -07:00 |
|
Leonardo de Moura
|
2c0dee5b41
|
feat(library/vm/vm): cases2 and casesn take pc of first branch too
|
2016-05-13 10:15:20 -07:00 |
|
Leonardo de Moura
|
7bdf2d4a5a
|
feat(library/vm/vm): avoid macros
|
2016-05-13 09:50:07 -07:00 |
|
Leonardo de Moura
|
437fee1919
|
feat(frontends/lean/builtin_cmds): track runtime
|
2016-05-13 09:38:18 -07:00 |
|
Leonardo de Moura
|
990d2dc06e
|
fix(library/vm/vm): typo
|
2016-05-13 00:45:18 -07:00 |
|
Leonardo de Moura
|
b8b32c2a3b
|
fix(library/vm/vm): typo
|
2016-05-13 00:43:09 -07:00 |
|
Leonardo de Moura
|
843f3a69ba
|
fix(library/vm/vm): memory management
|
2016-05-13 00:29:20 -07:00 |
|
Leonardo de Moura
|
46c50831fd
|
fix(library/vm/vm): initialization bug
|
2016-05-12 23:43:44 -07:00 |
|
Leonardo de Moura
|
06039d95b4
|
feat(library/vm/vm): add tracing
|
2016-05-12 23:43:30 -07:00 |
|
Leonardo de Moura
|
8a0b2534bb
|
fix(library/vm/vm): builtin function invocation
|
2016-05-12 19:35:28 -07:00 |
|
Leonardo de Moura
|
a533cc56ec
|
fix(library/vm/vm_nat): typo
|
2016-05-12 19:34:06 -07:00 |
|
Leonardo de Moura
|
38320fa07c
|
refactor(library/vm/vm): use locals
|
2016-05-12 19:06:14 -07:00 |
|
Leonardo de Moura
|
505ab4c0ba
|
fix(library/vm/vm): uninit var
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2016-05-12 19:03:32 -07:00 |
|
Leonardo de Moura
|
4e9cafb67f
|
feat(library/vm/vm): add missing swap
|
2016-05-12 19:01:25 -07:00 |
|
Leonardo de Moura
|
682407b54d
|
fix(library/vm/vm): incorrect assertion
|
2016-05-12 18:59:18 -07:00 |
|
Leonardo de Moura
|
8c1238637a
|
feat(frontends/lean): add vm_eval command
|
2016-05-12 18:56:31 -07:00 |
|
Leonardo de Moura
|
8a8cafdcdb
|
fix(library/vm/vm): support for builtin functions
|
2016-05-12 18:56:13 -07:00 |
|
Leonardo de Moura
|
474737bfb9
|
feat(library/vm/vm): add very basic display for vm_obj
|
2016-05-12 18:42:17 -07:00 |
|
Leonardo de Moura
|
6febe9677d
|
feat(library/vm/vm): add main loop
|
2016-05-12 18:36:29 -07:00 |
|
Leonardo de Moura
|
9fbf3f2921
|
feat(library/vm): encode small numerals using scnstr instead of num operation
|
2016-05-12 16:43:21 -07:00 |
|
Leonardo de Moura
|
de327c0c20
|
feat(library/vm/vm_nat): add builtin support for nat lt
|
2016-05-12 16:36:37 -07:00 |
|
Leonardo de Moura
|
df9352ea6e
|
feat(library/compiler): better support for numeric constants
|
2016-05-12 16:33:37 -07:00 |
|
Leonardo de Moura
|
f2af5828ba
|
refactor(library/compiler): preprocess_rec ==> preprocess
|
2016-05-12 16:03:39 -07:00 |
|
Leonardo de Moura
|
1393238c9d
|
fix(library/vm/vm_nat): fix constant name
|
2016-05-12 15:29:14 -07:00 |
|
Leonardo de Moura
|
c48a17563c
|
feat(library/vm/optimize): add basic bytecode optimizations
|
2016-05-12 15:24:58 -07:00 |
|
Leonardo de Moura
|
5a7f96a995
|
refactor(library/vm): simplify initialization
|
2016-05-12 14:49:06 -07:00 |
|
Leonardo de Moura
|
399b83122c
|
refactor(library): move vm to a separate directory
|
2016-05-12 14:45:06 -07:00 |
|
Leonardo de Moura
|
7852247376
|
feat(compiler/simp_inductive): add optimization for inductive datatypes that have only one constructor C, and C has only one relevant field
|
2016-05-12 14:24:14 -07:00 |
|
Leonardo de Moura
|
a9f05abbe7
|
feat(library/compiler,library/vm): add unreachable instruction
|
2016-05-12 14:01:58 -07:00 |
|
Leonardo de Moura
|
670e7117a2
|
feat(library/vm): throw error if VM already has code for the given function
|
2016-05-12 13:50:46 -07:00 |
|
Leonardo de Moura
|
0558214b7c
|
fix(library/compiler/vm_compiler): emit code for neutral expr
|
2016-05-12 13:45:05 -07:00 |
|
Leonardo de Moura
|
324ca84b27
|
feat(frontends/lean/builtin_cmds): keep bytecode
|
2016-05-12 13:44:45 -07:00 |
|
Leonardo de Moura
|
38bd7e6d10
|
fix(library/compiler/vm_compiler): typo
|
2016-05-12 11:54:38 -07:00 |
|
Leonardo de Moura
|
7e7129272f
|
fix(library/annotation): memory leak
|
2016-05-12 11:43:45 -07:00 |
|
Leonardo de Moura
|
41786f41f0
|
fix(library/vm): did not use copy constructor
|
2016-05-12 11:41:28 -07:00 |
|
Leonardo de Moura
|
705317ae77
|
feat(library/compiler): generate bytecode
|
2016-05-11 19:21:47 -07:00 |
|
Leonardo de Moura
|
7a4ed85fee
|
feat(library/vm): add get_vm_decl
|
2016-05-11 17:42:14 -07:00 |
|
Leonardo de Moura
|
61471df3eb
|
feat(library/vm): store idx at vm_decl
|
2016-05-11 17:39:49 -07:00 |
|
Leonardo de Moura
|
5189a83f57
|
feat(library/vm): pretty print bytecode
|
2016-05-11 16:57:56 -07:00 |
|
Leonardo de Moura
|
70cff1a4bd
|
feat(library/compiler/lambda_lifting): avoid unnecessary auxiliary decls
|
2016-05-11 16:34:47 -07:00 |
|
Leonardo de Moura
|
ecc9014d82
|
fix(library/compiler/simp_inductive): check ignore predicate at visit_constant
|
2016-05-11 16:06:21 -07:00 |
|
Leonardo de Moura
|
99716306f1
|
feat(library/vm): accessors and setters for vm_instr
|
2016-05-11 15:54:46 -07:00 |
|
Leonardo de Moura
|
a383b25c50
|
feat(library/vm): add auxiliary procedures
|
2016-05-11 15:47:05 -07:00 |
|
Leonardo de Moura
|
7ca916cddf
|
feat(library/compiler/simp_inductive): add optimization for _cases based on the number of reachable cases
|
2016-05-11 14:40:53 -07:00 |
|
Leonardo de Moura
|
a5c6741d1b
|
fix(library/compiler/simp_inductive): add support for constructor without arguments
|
2016-05-11 14:24:43 -07:00 |
|
Leonardo de Moura
|
dd4d115cc5
|
fix(frontends/lean/structure_cmd): mark recursors generated by structure cmd as auxiliary
|
2016-05-11 14:18:29 -07:00 |
|
Leonardo de Moura
|
e53bfb9d0a
|
feat(library/compiler): add new compilation step where we reduce cases_on, constructor and projection applications into a basic primitives
|
2016-05-11 14:17:32 -07:00 |
|
Leonardo de Moura
|
ef8b182fb6
|
feat(library/util): add get_constructor_idx
|
2016-05-11 13:16:40 -07:00 |
|