Commit Graph

776 Commits

Author SHA1 Message Date
kr.angelov
057d830133 expand the JIT window for x64 2014-11-07 15:43:12 +00:00
kr.angelov
1cfb975229 a skeletal module for higher-order pattern unification in the C runtime 2014-10-31 19:57:56 +00:00
kr.angelov
2bde418b15 now (+) in the abstract syntax works, i.e. it knows how to deal with partial sums 2014-10-31 14:16:11 +00:00
kr.angelov
4db6e30b54 a more efficient tail call by using the new TUCK instruction 2014-10-30 13:09:50 +00:00
kr.angelov
77d3775385 an explicit SAVE instruction 2014-10-26 11:40:12 +00:00
kr.angelov
97db991979 comment out a few assertions in bits.h. this code is run too often to have explicit assertions 2014-10-24 11:15:40 +00:00
kr.angelov
a56b4cae8c make it possible to specify the initial size of a map in libgu 2014-10-24 09:17:22 +00:00
kr.angelov
34867f4019 simplify gu/map 2014-10-24 08:56:39 +00:00
kr.angelov
9276b7567d fix memory leak in the pgf-parse tool 2014-10-24 08:42:32 +00:00
kr.angelov
15744379a8 add extern declarations for all inline functions in seq.h. this ensures that everything works even when the compiler's optimizations are off 2014-10-24 08:26:58 +00:00
kr.angelov
b4046e1797 a simple optimization in cmp_item_prob with great effect on the parser's speed 2014-10-23 21:22:22 +00:00
kr.angelov
0c6ba90dd8 remove some deadcode in gu/seq.h 2014-10-23 21:21:21 +00:00
kr.angelov
9314b5b392 inline a number of functions in gu/seq.c. this has a noticeable effect on the parser's speed 2014-10-23 21:19:29 +00:00
kr.angelov
e788398bf7 a cosmetic optimization in mem.c 2014-10-23 15:45:14 +00:00
kr.angelov
f421dd4c68 fix the debug mode in the reasoner 2014-10-23 08:15:12 +00:00
kr.angelov
075d45dc19 fix warning in ucs.c 2014-10-23 07:44:41 +00:00
kr.angelov
3a95d733dd CAPIT is now naturally supported in the C runtime 2014-10-22 15:05:55 +00:00
kr.angelov
9562a88b28 add Unicode classification routines to libgu. ported from the base package in Haskell. 2014-10-22 14:36:58 +00:00
kr.angelov
0da379f97b an explicit PUSH_FRAME instruction 2014-10-22 14:11:41 +00:00
kr.angelov
54b9b89921 make the fields of BracketedString in the Python binding read/write 2014-10-22 12:18:07 +00:00
kr.angelov
4e533b7253 get rid of gu/str.(c|h) 2014-10-20 07:50:42 +00:00
aarne
0025e078ea (un)lexmixed: added the other math environments than $ used in latex 2014-10-19 17:43:39 +00:00
aarne
1550300c80 one general case in dealing with backslash in latex lexing is enough 2014-10-17 15:49:23 +00:00
kr.angelov
70bf9f78b1 the C runtime now supports reading and writing expressions with indexed meta variables. The type checker generates fresh indices 2014-10-17 09:27:37 +00:00
aarne
d30aaa6547 unlexing latex code: no space between closing $ and punctuation 2014-10-17 07:04:50 +00:00
aarne
7ec778d747 lexer for latex code: don't separate backslash from the macro name that it marks 2014-10-17 06:40:06 +00:00
kr.angelov
fd8e4d3dd7 bugfix in the parser for abstract expressions in the C runtime 2014-10-16 11:40:47 +00:00
kr.angelov
76a448e26f finally proper stack unwind in the evaluator 2014-10-16 10:00:32 +00:00
kr.angelov
6aa0fd2590 the compiler now allows + to be used as a floating point addition in the abstract syntax 2014-10-14 11:15:18 +00:00
kr.angelov
e8b81c145b bugfix in the bytecode generator 2014-10-14 09:27:24 +00:00
kr.angelov
0e91de3b5f simplify jit_bare_ret 2014-10-14 09:09:26 +00:00
kr.angelov
4efb2d5a22 Prelude.CAPIT is now a built-in primitive. It still generates &| in the Haskell runtime but will be intepreted in the C runtime 2014-10-09 19:34:12 +00:00
kr.angelov
57f7b61c6b throw away the long obsolete runtime type information in the C runtime 2014-10-09 13:44:26 +00:00
kr.angelov
afd5886cdc fix two warnings in mem.c 2014-10-09 13:22:39 +00:00
kr.angelov
6d79274b2f fix in gu_mmap_pool for Android 2014-10-09 13:21:56 +00:00
kr.angelov
58e1eb33fc fix for lightning for ARM 2014-10-09 13:17:01 +00:00
kr.angelov
2892e6b8c8 remove the pgf-service util which is obsolete anyway 2014-10-09 11:28:56 +00:00
kr.angelov
4ac5902fc9 replace the hash maps in the abstract syntax with binary search tables 2014-10-09 08:38:55 +00:00
kr.angelov
a94ba9b888 add the const modifier to the key in the two procedures for binary search in libgu 2014-10-09 07:25:26 +00:00
kr.angelov
36bbee588f use MAP_FIXED in gu_mmap_pool 2014-10-08 19:43:08 +00:00
kr.angelov
cd6b92867a an experimental memory mapped pool. still not in use 2014-10-08 18:28:51 +00:00
kr.angelov
23642fbb90 now we statically allocate closures for all top-level functions and all nullary constructors. closures are dynamically allocated only for CAFs. this reduces memory use and time to allocate dynamic closures 2014-10-08 12:57:29 +00:00
kr.angelov
e9a871db7f a missing case in instruction SET 2014-10-07 20:05:05 +00:00
kr.angelov
e7404c8f7a added a missing case for PUSH instruction with a global closure 2014-10-07 11:46:38 +00:00
kr.angelov
9e493031b2 the indirection should be done in the evaluate_expr_thunk gate instead of in the pgf_evaluate_expr_thunk function. this ensures lazyness 2014-10-07 07:12:40 +00:00
kr.angelov
8d09f62efc using instruction RET was wrong; now use EVAL 2014-10-06 15:57:42 +00:00
kr.angelov
2bc0734b6e fix the order in which arguments are stored in the mk_const gate 2014-10-06 12:31:39 +00:00
kr.angelov
f5041fa67b push a stack frame around recursive calls to guarantee that a nested call to a failing function will not crash 2014-10-06 09:21:08 +00:00
kr.angelov
b07a2652d8 partial implementation for the FAIL instruction 2014-10-06 09:04:25 +00:00
kr.angelov
dee64838f4 bugfix in pgf_evaluate_expr_thunk 2014-09-30 17:34:29 +00:00