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
|
4e533b7253
|
get rid of gu/str.(c|h)
|
2014-10-20 07:50:42 +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 |
|
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 |
|
kr.angelov
|
0bdd599972
|
fix pgf_value2expr for partial applications
|
2014-09-30 13:46:46 +00:00 |
|
kr.angelov
|
8801915523
|
enough fixes to get the JIT compiler compile for ARM. It is still broken if you try to use it
|
2014-09-30 12:39:31 +00:00 |
|
kr.angelov
|
ceb5b7bbf3
|
fix in reader.h for compiling jpgf.c
|
2014-09-30 11:25:27 +00:00 |
|
kr.angelov
|
cdac80b6b2
|
fix in pgf_print_expr for lambda abstractions with more than one argument
|
2014-09-30 09:42:18 +00:00 |
|
kr.angelov
|
9fd8d5d019
|
bugfix in the gate evaluate_value_lambda
|
2014-09-30 08:42:06 +00:00 |
|
kr.angelov
|
698329f469
|
bugfix in the pattern matching compiler and a number of other fixes that I somehow did not push before
|
2014-09-29 15:00:04 +00:00 |
|
kr.angelov
|
0d08417efe
|
bugfix in the RET instruction
|
2014-09-29 13:04:49 +00:00 |
|
kr.angelov
|
1d7e976560
|
enlarge the code window in pgf_jit_gates to ensure enough space on 64-bit machines
|
2014-09-29 07:34:32 +00:00 |
|
kr.angelov
|
3064fc737e
|
switch off the debugging of the JIT compiler which I had turned on accidentally. silence two harmless warnings
|
2014-09-25 11:44:45 +00:00 |
|
kr.angelov
|
25e8e4ce5a
|
now a complete JIT compiler and ByteCode compiler for the def rules in the abstract syntax. there might be some bugs yet to be found, meta variables and computation under lambda is only partially supported
|
2014-09-25 10:35:06 +00:00 |
|
kr.angelov
|
e308f384de
|
dummy jit_base_tail_finishr for x86_64.
|
2014-09-16 12:29:35 +00:00 |
|
kr.angelov
|
923ad6b3c0
|
a major revision of the bytecode generator and JIT compiler. the effect is that now we can compute with lambda functions and with true tail recursion
|
2014-09-11 15:39:39 +00:00 |
|