AndreaCorallo
6898161a2b
Rename d-base allocation classe into d-default
2020-02-26 10:40:29 +00:00
AndreaCorallo
94dcb69256
Add ephemeral relocation data class
...
Add a new class of relocated objects that is in use just during load
process. This in order to avoid having to maintain them in the heap
and traverse them at every GC.
2020-02-26 10:40:29 +00:00
Andrea Corallo
f0daf1292c
* Two grammar fixes into async hooks doc
2020-02-26 10:40:00 +00:00
Andrea Corallo
48b131c6d1
* Add two hooks for async native compilation
2020-02-23 16:50:15 +00:00
Andrea Corallo
1dc237f280
Make build process robust against interruptions
...
During boo-strap we produce both the .eln and the .elc together.
Because the make target is the later this has to be produced as last
to be resilient to build interruptions.
2020-02-23 16:50:15 +00:00
AndreaCorallo
3a7aa06d15
Emit 'top_level_run' objects as impure
2020-02-21 16:05:53 +00:00
AndreaCorallo
d8e4ba2693
Reorder m-var slots
2020-02-21 15:26:45 +00:00
Andrea Corallo
81c34a35aa
Update copyright years plus two style nits
2020-02-16 18:34:22 +01:00
Andrea Corallo
8c108ce607
Add a simple pass for self TCO
2020-02-16 18:11:43 +01:00
Andrea Corallo
5bd485340f
Introduce comp-dry-run
2020-02-16 10:31:46 +00:00
Andrea Corallo
2a8a3a9f28
Use `sxhash-eq' to generate mvar SSA ids
2020-02-16 08:46:30 +00:00
AndreaCorallo
4b4c7535a0
Speed 2 goes default
2020-02-15 10:17:08 +01:00
AndreaCorallo
3b3525b916
Backward propagate only once
2020-02-15 10:17:08 +01:00
Andrea Corallo
c27394da7e
Rework frame layout
...
Every function call by reference gets use one unique array of
arguments.
2020-02-15 10:17:08 +01:00
Andrea Corallo
fe9e4c42b3
Better function naming for comp-function-call-maybe-remove
2020-02-14 23:26:20 +01:00
Andrea Corallo
9e08edf98f
Extend propagation to a wider set of (non pure) functions
2020-01-21 22:06:19 +00:00
Andrea Corallo
fce1333c22
Clean-up unnecessary member usage
2020-01-20 19:30:24 +00:00
Andrea Corallo
c1d034fc27
Split relocated data into two separate arrays
...
Rework the functionality of the previous commit to be more efficient.
2020-01-12 13:22:30 +01:00
Andrea Corallo
93ed2c32df
Move function reloc data into pure space during bootstrap
2020-01-11 14:34:58 +01:00
Andrea Corallo
5a228fefb6
Prevent false warning emission
2020-01-03 17:47:09 +01:00
Andrea Corallo
b18f92a942
rework predicates to be homogeneous
2020-01-01 11:38:18 +01:00
Andrea Corallo
6c77a9e046
do not crash compilation trying to optimize wrong code
2020-01-01 11:38:18 +01:00
Andrea Corallo
976b7fcc8c
fix aliased function names trampoline removal
2020-01-01 11:38:18 +01:00
Andrea Corallo
f0290502f3
disable propagation when non locals are present
2020-01-01 11:38:18 +01:00
Andrea Corallo
037b9897a4
add batch-byte-native-compile-for-bootstrap
2020-01-01 11:38:18 +01:00
Andrea Corallo
e666bf781f
add customize comp-never-optimize-functions
2020-01-01 11:38:18 +01:00
Andrea Corallo
00f7fd7d42
fix non local propagation handling
2020-01-01 11:38:18 +01:00
Andrea Corallo
e678021f0c
add batch-native-compile
2020-01-01 11:38:16 +01:00
Andrea Corallo
2ccce1bc39
some style fixes
2020-01-01 11:38:16 +01:00
Andrea Corallo
ca8d5ed6ec
add disassemble support for native compiled functions
2020-01-01 11:38:15 +01:00
Andrea Corallo
42362d9914
remove load_handle_stack and use the implementation one
2020-01-01 11:38:14 +01:00
Andrea Corallo
a647a97320
better scratch slot support
2020-01-01 11:38:13 +01:00
Andrea Corallo
ac08a7f26c
clean-up old function relocation code
2020-01-01 11:38:13 +01:00
Andrea Corallo
6c9acd13d0
single function native compilation doc + interactive support + tests
2020-01-01 11:38:12 +01:00
Andrea Corallo
a248dfe2c3
native compile interactive functions support
2020-01-01 11:38:12 +01:00
Andrea Corallo
48f5530e79
add int-spec to comp-func
2020-01-01 11:38:12 +01:00
Andrea Corallo
e2855d93ee
renaming comp-decrypt-lambda-list -> comp-decrypt-arg-list
2020-01-01 11:38:11 +01:00
Andrea Corallo
4a639f3ae9
documentation nit
2020-01-01 11:38:11 +01:00
Andrea Corallo
9a87c4404f
native-compile-async accept list as input
2020-01-01 11:38:11 +01:00
Andrea Corallo
7f5f60d543
insert compilation end message at the bottom of the buffer
2020-01-01 11:38:11 +01:00
Andrea Corallo
a214a29e48
fix comp-propagate-insn type propagation
2020-01-01 11:38:11 +01:00
Andrea Corallo
5411beae02
remove unnecessary return when printing blocks
2020-01-01 11:38:11 +01:00
Andrea Corallo
ba51c31b47
gate propagate to comp-speed > 1
2020-01-01 11:38:10 +01:00
Andrea Corallo
44023f3db2
fix comp-log-edges
2020-01-01 11:38:10 +01:00
Andrea Corallo
ba2bbea816
adjust print verbosity according to the doc
2020-01-01 11:38:10 +01:00
Andrea Corallo
831f5e6061
make buffer names constant
2020-01-01 11:38:10 +01:00
Andrea Corallo
f0b1519fbd
rename native-compile-log-buffer -> comp-log-buffer-name
2020-01-01 11:38:10 +01:00
Andrea Corallo
ea421cfefe
do not use thread for async compilation
2020-01-01 11:38:10 +01:00
Andrea Corallo
d2d2290436
better comp-byte-frame-size
2020-01-01 11:38:09 +01:00
Andrea Corallo
4fc8524df0
fix single function top level generation
2020-01-01 11:38:09 +01:00