Commit Graph

65 Commits

Author SHA1 Message Date
bjorn3
fe6a2892a6 Rewrite prepare.sh in rust 2021-06-19 13:54:25 +02:00
bjorn3
2db4e50618 Rewrite build.sh in rust
This makes it easier to compile cg_clif on systems that don't support
bash shell scripts like Windows
2021-06-19 13:54:25 +02:00
bjorn3
0ddb937624 Update rust patch for compiler_builtins update 2021-06-17 18:42:09 +02:00
bjorn3
ae1bcb209a Use -Cprefer-dynamic for all crates in jit mode 2021-06-10 11:18:59 +02:00
bjorn3
b7180ae39a Add missing cargo clean when cross-compiling 2021-06-10 11:18:59 +02:00
bjorn3
0d68742d37 Ignore unsupported test 2021-06-08 20:12:29 +02:00
bjorn3
9fc56fb2f4 Update rustc bootstrap patch 2021-05-24 18:21:03 +02:00
bjorn3
20600f1df9 Force deprecation warning that was promoted to an error back to a warning 2021-05-04 14:16:59 +02:00
bjorn3
6266e9d907 Update rust bootstrap patches 2021-05-04 14:13:07 +02:00
bjorn3
88901ca9d4 Ignore new failing rustc test 2021-04-29 14:16:16 +02:00
bjorn3
944308089f Disable new test 2021-04-16 12:35:22 +02:00
bjorn3
24cac8fa54 Fix rustc tests by updating compiler-builtins dep to 0.1.40 2021-04-16 12:21:29 +02:00
bjorn3
65420b50f8 Don't deduplicate anonymous allocations 2021-04-14 10:38:18 +02:00
bjorn3
53bfc6729a Centralize all configuration into config.rs 2021-04-07 11:52:11 +02:00
bjorn3
0c1725f8bb Fixup previous commit 2021-04-06 13:59:54 +02:00
bjorn3
7a1cf889c7 Fix rustc test suite by ignoring rustdoc test 2021-04-06 13:14:45 +02:00
bjorn3
ab425a4bca Revert "Build with -Cpanic=unwind by default"
This reverts commit afe74d71e4. It
shouldn't have been pushed to master as it isn't ready yet.
2021-03-31 13:47:10 +02:00
bjorn3
afe74d71e4 Build with -Cpanic=unwind by default
This doesn't enable unwinding as cg_clif doesn't support it yet. It does
allow for linking to a cg_llvm compiled libstd.so, which uses
`-Cpanic=unwind`.
2021-03-31 12:16:33 +02:00
bjorn3
7bd3950831 Fix rustc test suite 2021-03-18 13:15:37 +01:00
bjorn3
80b2feae1a Run the rustc test suite on CI 2021-03-15 15:22:18 +01:00
bjorn3
f545a21fbe Split rust fork setup out of test_bootstrap.sh 2021-03-15 14:21:15 +01:00
bjorn3
341a4863fa Use the new component dependency option of the rust-toolchain file (take 2) 2021-03-07 17:47:56 +01:00
bjorn3
0985044c75 Use --print file-names instead of a match on uname 2021-03-06 14:46:38 +01:00
bjorn3
d23b12fa62 Build all tests when cross-compiling 2021-03-05 21:32:49 +01:00
bjorn3
7d33e5bf3d Fix bootstrap test script 2021-03-01 12:34:49 +01:00
bjorn3
a5bf6d2f18 Rustup to rustc 1.52.0-nightly (83b30a639 2021-02-20) 2021-02-21 17:27:53 +01:00
bjorn3
93373e13f0 Don't build alloc_system as part of the sysroot 2021-02-21 10:56:25 +01:00
bjorn3
f2f5452089 Use real atomic instructions instead of a global lock 2021-02-18 18:14:21 +01:00
bjorn3
87ecdaa848 Recognize FreeBSD as OS 2021-02-14 18:13:06 +01:00
bjorn3
9be3936e95 Use #!/usr/bin/env bash
FreeBSD doesn't have /bin/bash
2021-02-14 18:12:51 +01:00
bjorn3
54523b8ea8 Fix rustc bootstrap test 2021-02-02 10:39:23 +01:00
bjorn3
17cffc1757 Move some env var definitions around to fix cross-compilation 2021-01-31 14:56:10 +01:00
bjorn3
9164653c10 Split config.sh and add support for copying the mingw runtime objects 2021-01-31 14:15:08 +01:00
Paris DOUADY
3eb649c631 dont set rustflags when no specific linker needed 2021-01-30 16:25:48 +01:00
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