Krasimir Angelov
|
096b36c21d
|
Update jit.c
|
2023-09-07 17:37:25 +02:00 |
|
Krasimir Angelov
|
86af7b12b3
|
the jitter should still read the absfuns even for EMSCRIPTEN and aarch64
|
2023-08-11 10:47:29 +02:00 |
|
Krasimir Angelov
|
e2c2763d59
|
One more place with __aarch64__
|
2023-08-09 10:59:53 +02:00 |
|
Krasimir Angelov
|
fae2fc4c6c
|
Try with __aarch64__
|
2023-08-09 10:58:50 +02:00 |
|
Krasimir Angelov
|
5131fadd1f
|
lightning.h not included on aarch64
|
2023-08-08 16:18:49 +02:00 |
|
Krasimir Angelov
|
0e1cbfaa7e
|
Disable the jit on aarch64
|
2023-08-04 15:01:31 +02:00 |
|
Krasimir Angelov
|
ae460e76b6
|
allow compilation with emscripten
|
2022-07-04 10:42:34 +02:00 |
|
krangelov
|
eb22112178
|
a pool where the smallest chunks are memory pages
|
2018-12-16 07:46:14 +01:00 |
|
krasimir
|
7d72d99c2f
|
explicitly classify all functions in libpgf as either internal or API functions
|
2017-04-19 09:34:23 +00:00 |
|
krasimir
|
2551ab740b
|
silence a few warnings on MacOS
|
2017-04-13 11:07:08 +00:00 |
|
krasimir
|
a8eaa2f2e5
|
a patch from Bjørnar Luteberget for compatibility with MSVC
|
2017-04-12 10:24:56 +00:00 |
|
krasimir
|
0894f55661
|
fix the compilation when debugging is switched off
|
2016-05-25 09:42:24 +00:00 |
|
krasimir
|
faebebc8f4
|
pgf_generate_all now works with literals as well
|
2016-05-25 09:36:05 +00:00 |
|
krasimir
|
76a6cc1bb5
|
bugfix in the JIT compiler for 64bit machines
|
2016-04-13 14:58:12 +00:00 |
|
krasimir
|
0b9395fd70
|
a fix that should solve the segmentation fault on MacOS with the exhaustive generator
|
2015-12-19 17:30:41 +00:00 |
|
krasimir
|
880f0a63d0
|
make the virtual machine instructions more uniform
|
2015-07-16 15:43:18 +00:00 |
|
krasimir
|
fac48d43e8
|
bugfixes in the JIT compiler for x86_64. One of the fixes is actually in GNU lightning
|
2015-07-16 15:21:09 +00:00 |
|
krasimir
|
192b1cc018
|
the reasoner's states are now closures just like the code for the def rules. This means more compact JIT compiled code and uniformity with the code for def rules
|
2015-07-04 15:06:34 +00:00 |
|
krasimir
|
b3680b6025
|
merge the states for reasoning and evaluation into a single structure
|
2015-07-03 11:53:52 +00:00 |
|
hallgren
|
c6cdb66cf2
|
runtime/c/pf/jit.c: silence warning about alloca on MINGW32
|
2015-06-23 15:49:31 +00:00 |
|
krasimir
|
5d7633fdb4
|
added getpagesize() definition for Windows
|
2015-04-20 09:57:28 +00:00 |
|
krasimir
|
e893d41393
|
silence some warnings in GNU Lightning for i386_64
|
2015-02-19 12:53:52 +00:00 |
|
kr.angelov
|
cabafd68a6
|
expand the JIT window for x64
|
2014-11-07 15:43:12 +00:00 |
|
kr.angelov
|
b1e6a21c56
|
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
|
9b0f354c7c
|
a more efficient tail call by using the new TUCK instruction
|
2014-10-30 13:09:50 +00:00 |
|
kr.angelov
|
efedec187c
|
an explicit SAVE instruction
|
2014-10-26 11:40:12 +00:00 |
|
kr.angelov
|
c8b3865338
|
an explicit PUSH_FRAME instruction
|
2014-10-22 14:11:41 +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
|
86e9acc7a7
|
throw away the long obsolete runtime type information in the C runtime
|
2014-10-09 13:44:26 +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
|
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
|
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
|
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
|
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 |
|