Commit graph

670 commits

Author SHA1 Message Date
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