1
0
forked from GitHub/gf-core
Commit Graph

344 Commits

Author SHA1 Message Date
kr.angelov
18f8f2e4f4 remove some deadcode in gu/seq.h 2014-10-23 21:21:21 +00:00
kr.angelov
aff68e7422 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
3aaeb7a156 a cosmetic optimization in mem.c 2014-10-23 15:45:14 +00:00
kr.angelov
fc6658c2e7 fix the debug mode in the reasoner 2014-10-23 08:15:12 +00:00
kr.angelov
578df576ef fix warning in ucs.c 2014-10-23 07:44:41 +00:00
kr.angelov
00922153aa CAPIT is now naturally supported in the C runtime 2014-10-22 15:05:55 +00:00
kr.angelov
df113f9cc4 add Unicode classification routines to libgu. ported from the base package in Haskell. 2014-10-22 14:36:58 +00:00
kr.angelov
c8b3865338 an explicit PUSH_FRAME instruction 2014-10-22 14:11:41 +00:00
kr.angelov
bb1f0f3368 get rid of gu/str.(c|h) 2014-10-20 07:50:42 +00:00
kr.angelov
3f11f3d602 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
c0ebbc4edf bugfix in the parser for abstract expressions in the C runtime 2014-10-16 11:40:47 +00:00
kr.angelov
26ad164cec finally proper stack unwind in the evaluator 2014-10-16 10:00:32 +00:00
kr.angelov
ac288386c4 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
f4dc2c0b6e bugfix in the bytecode generator 2014-10-14 09:27:24 +00:00
kr.angelov
1c2e02ad50 simplify jit_bare_ret 2014-10-14 09:09:26 +00:00
kr.angelov
f8b73d593c 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
86e9acc7a7 throw away the long obsolete runtime type information in the C runtime 2014-10-09 13:44:26 +00:00
kr.angelov
8e3ed825a8 fix two warnings in mem.c 2014-10-09 13:22:39 +00:00
kr.angelov
b905558ce8 fix in gu_mmap_pool for Android 2014-10-09 13:21:56 +00:00
kr.angelov
397276defd fix for lightning for ARM 2014-10-09 13:17:01 +00:00
kr.angelov
3e49a1cf73 remove the pgf-service util which is obsolete anyway 2014-10-09 11:28:56 +00:00
kr.angelov
6c86e7fa91 replace the hash maps in the abstract syntax with binary search tables 2014-10-09 08:38:55 +00:00
kr.angelov
84b257e85c 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
a9a781e4a0 use MAP_FIXED in gu_mmap_pool 2014-10-08 19:43:08 +00:00
kr.angelov
f178be5405 an experimental memory mapped pool. still not in use 2014-10-08 18:28:51 +00:00
kr.angelov
9c2f71b07a 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
67781996b6 a missing case in instruction SET 2014-10-07 20:05:05 +00:00
kr.angelov
e98d61b7b7 added a missing case for PUSH instruction with a global closure 2014-10-07 11:46:38 +00:00
kr.angelov
de1b372ef7 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
13c7721bc5 using instruction RET was wrong; now use EVAL 2014-10-06 15:57:42 +00:00
kr.angelov
af7feea385 fix the order in which arguments are stored in the mk_const gate 2014-10-06 12:31:39 +00:00
kr.angelov
a50315396f 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
889c0f3df4 partial implementation for the FAIL instruction 2014-10-06 09:04:25 +00:00
kr.angelov
4e00834c68 bugfix in pgf_evaluate_expr_thunk 2014-09-30 17:34:29 +00:00
kr.angelov
f5da57056c fix pgf_value2expr for partial applications 2014-09-30 13:46:46 +00:00
kr.angelov
312d4ff52e 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
f25b45e13d fix in reader.h for compiling jpgf.c 2014-09-30 11:25:27 +00:00
kr.angelov
6be25aa872 fix in pgf_print_expr for lambda abstractions with more than one argument 2014-09-30 09:42:18 +00:00
kr.angelov
70455b88a7 bugfix in the gate evaluate_value_lambda 2014-09-30 08:42:06 +00:00
kr.angelov
80acad4447 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
1ecd61f7f5 bugfix in the RET instruction 2014-09-29 13:04:49 +00:00
kr.angelov
87c5c4b0cc 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
8e64fc6e7e 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
14e6eec5ec 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
3e3178abfa dummy jit_base_tail_finishr for x86_64. 2014-09-16 12:29:35 +00:00
kr.angelov
621d748bac 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
kr.angelov
4d28c7632e the code for def rules now uses proper graph update to preserve lazyness 2014-09-05 11:53:02 +00:00
kr.angelov
86b5f78c57 full support for recursive def rules in the C runtime 2014-09-05 10:09:43 +00:00
kr.angelov
bfd414554d partial implementation for recursive def rules 2014-09-01 14:51:20 +00:00
kr.angelov
342f6e3797 bug fixes in the JIT compiler 2014-09-01 12:53:14 +00:00