Commit graph

31 commits

Author SHA1 Message Date
bjorn3
9bf5cb43ab Fix indirectly linking to libstd.so with the JIT 2021-01-21 16:14:32 +01:00
bjorn3
3ea8915d4a Disable timings by default for cargo.sh
Fixes #1121
2021-01-06 14:54:19 +01:00
bjorn3
35f4a25c6b Add documentation 2020-12-25 12:19:14 +01:00
bjorn3
3f6a3b5ebe Implement lazy compilation in JIT mode
Lazy compilation has the potential to significantly improve the startup
time of a program. While functions have to be codegened when called, it
is expected that a significant amount of all code is only required when
an error occurs or only when the program is used in certain ways.

The basic approach is to first codegen a shim for each function. This
shim calls the `__cg_clif_jit` function of cg_clif with a pointer to the
`Instance` corresponding to the function for which it is a shim.
`__cg_clif_jit` function then codegens this function and uses the hot
code swapping support of SimpleJIT to redirect future calls to the
function to the real version. Finally it calls the newly codegened
function.
2020-12-25 12:08:21 +01:00
bjorn3
20ffea6b8a Change the way JIT mode is selected 2020-12-25 11:31:33 +01:00
bjorn3
5988bbd24a Revert "Use the new component dependency option of the rust-toolchain file"
This reverts commit 648caced6e.

Rustup on github actions isn't yet updated
2020-11-27 18:05:05 +01:00
bjorn3
648caced6e Use the new component dependency option of the rust-toolchain file 2020-11-27 17:53:55 +01:00
bjorn3
ffd6fdd843 Remove unnecessary paths from LD_LIBRARY_PATH 2020-11-13 19:51:00 +01:00
bjorn3
c982c48579 Use rpath to compile the cg_clif executable 2020-11-13 19:48:49 +01:00
bjorn3
cf3aa64c66 Better build dir layout
It now matches the layout used by rustc itself
2020-11-08 17:35:59 +01:00
bjorn3
11dd005a88 Sync from rust 0256d065d4 2020-11-07 19:34:01 +01:00
bjorn3
66e4f1bb7a Don't overwrite RUSTFLAGS for cargo.sh 2020-11-06 19:33:55 +01:00
bjorn3
777c9dabc0 Add rustup pull command 2020-11-06 19:33:54 +01:00
Daiki Ihara
07aef90593 fix shellcheck error of SC2068 2020-11-06 20:33:12 +09:00
Daiki Ihara
21a097f17e fix shellcheck error of SC2148 2020-11-06 20:33:12 +09:00
Jakob Hellermann
33a904425c make requested PR changes 2020-11-05 10:17:42 +01:00
Jakob Hellermann
0f10f2a960 manually fix some shellcheck warnings 2020-11-04 16:14:00 +01:00
Jakob Hellermann
d6a9dfa3d4 run 'shellcheck -f diff $(fd --extension sh) | git apply' 2020-11-04 16:07:42 +01:00
bjorn3
b8a9beb13e Remove unnecessary -Ztrim-diagnostic-paths=no 2020-11-03 19:17:44 +01:00
bjorn3
285c7c66dc Merge commit '03f01bbe901d60b71cf2c5ec766aef5e532ab79d' into update_cg_clif-2020-11-01 2020-11-03 11:00:04 +01:00
bjorn3
54b1d101ef Test bootstrapping of rustc using cg_clif 2020-11-02 18:54:55 +01:00
bjorn3
0c34f5aba8 Refactor the build system 2020-11-02 18:17:39 +01:00
bjorn3
cb367602ff Split the actual tests out into scripts/tests.sh 2020-11-01 19:39:44 +01:00
bjorn3
832b3117cc Install rustfmt by default when doing a rustup 2020-10-05 11:13:11 +02:00
bjorn3
3b60cc4eb1 Prevent usage of sccache
It doesn't detect cg_clif as a rust compiler

Fixes #1091
2020-09-30 09:16:14 +02:00
bjorn3
426e55709c Replace CG_CLIF_JIT with --jit 2020-09-29 18:41:59 +02:00
bjorn3
17a54ad62e Add custom driver 2020-09-29 15:16:29 +02:00
bjorn3
c046ad017f Fix panic 2020-09-29 14:11:14 +02:00
bjorn3
684c054e31 Rustup to rustc 1.48.0-nightly (fc2daaae6 2020-09-28) 2020-09-29 13:56:30 +02:00
bjorn3
d68b50efb3 Small change to test script 2020-09-23 18:34:54 +02:00
bjorn3
7285c134d1 Reorganize scripts 2020-09-16 16:46:02 +02:00