Commit Graph

41 Commits

Author SHA1 Message Date
bjorn3
e4f1f3db27 Implement incremental caching of object files 2020-03-11 18:42:51 +01:00
bjorn3
11b1c8b5c6 Use multiple codegen units
Fixes #909
2020-03-09 11:29:26 +01:00
bjorn3
6a90b6844f Revert "Use multiple codegen units"
This reverts commit 03acf67a0e.
2020-03-08 13:27:43 +01:00
bjorn3
03acf67a0e Use multiple codegen units 2020-03-07 12:45:55 +01:00
bjorn3
36ea72c2bd Move emit_module call 2020-03-07 12:45:05 +01:00
bjorn3
97db112295 Move time "codegen mono items" out of codegen_mono_items 2020-03-07 12:16:32 +01:00
bjorn3
2ecffb6fc4 Inline codegen_cgus 2020-03-07 11:54:35 +01:00
bjorn3
53ef00e68c Fix JIT on macOS
Fixes #671
2020-02-22 15:57:53 +01:00
bjorn3
8de317dd8f Update compiler_builtins 2020-01-25 17:24:45 +01:00
bjorn3
ddd3d95a7e Make atomic instructions atomic using a global lock 2020-01-22 20:09:55 +01:00
bjorn3
0080f55df2 Fix build 2020-01-11 14:27:39 +01:00
bjorn3
70c9b3b35b Better self profiling integration 2020-01-10 14:16:27 +01:00
bjorn3
6652f466ef Rustup to rustc 1.42.0-nightly (bc1571cc3 2020-01-05) 2020-01-06 20:11:03 +01:00
bjorn3
d502f8e652 [OPT] Avoid calling target_triple for every call to codegen 2019-12-17 16:34:48 +01:00
bjorn3
ad1f885002 [OPT] Don't call .to_string() on MonoItem's 2019-12-17 16:34:48 +01:00
bjorn3
dda5ea883a Fix debuginfo for machO
This only fixes it when using object::write as backend, and not when using faerie.

There were two problems:

* object::write doesn't replace .debug_info with __debug_info, unlike faerie
* machO requires section relative relocations, and not symbol relative
  relocations. When using symbol relative relocations, the linker
  interprets the relocations as section relative. Thus writing the wrong
  values to the debug sections.

Fixes #303
2019-10-19 15:37:07 +02:00
bjorn3
ecd9c4f2e3 FIx review comments 2019-10-19 10:52:56 +02:00
bjorn3
0471ed2776 Add support for object::write 2019-10-18 18:31:38 +02:00
bjorn3
75db7cc49d Remove logfile support from unimpl.rs
I haven't used it in months
2019-10-06 17:36:15 +02:00
bjorn3
721fe3b43c Predefine all local functions before codegen
Otherwise only calls to previously codegened functions use relative
addressing instead of the GOT

Fixes #692
2019-10-04 14:45:53 +02:00
bjorn3
0f938f68a5 Rustup to rustc 1.40.0-nightly (2daa404e9 2019-10-02) 2019-10-03 17:22:01 +02:00
bjorn3
0db605040e Use CallConv::triple_default instead of hard coding SystemV
Fixes #718
2019-09-28 17:00:27 +02:00
bjorn3
44792f1089 Rustup to rustc 1.40.0-nightly (084beb83e 2019-09-27) 2019-09-28 14:06:12 +02:00
bjorn3
1e5cea09d5 Add profile code around metadata object generation
cc #719
2019-09-22 16:47:45 +02:00
bjorn3
b267995f39 Cleanup 2019-09-14 15:15:06 +02:00
bjorn3
bfb49e7d19 Rustup to rustc 1.39.0-nightly (6e19f3f38 2019-09-06) 2019-09-07 10:51:00 +02:00
Atul Bhosale
f481a4b685
Format code using 'cargo fmt' 2019-08-31 22:58:09 +05:30
bjorn3
2a20cc0b94 Use anonymous lifetimes where possible 2019-08-18 16:52:07 +02:00
bjorn3
57bc9d8daf Extract jit imported symbols loading functionAlso make the staticlib load error non fatal 2019-08-11 19:04:56 +02:00
bjorn3
bd19af37f4 Remove debugging println 2019-08-11 18:12:49 +02:00
bjorn3
05b7312db2 Misc changes 2019-08-11 17:33:52 +02:00
bjorn3
9041db962d Fix it 2019-08-11 17:06:18 +02:00
bjorn3
3000a3f63d [WIP] Implement dylib loading for the JIT 2019-08-10 16:50:23 +02:00
bjorn3
4d406cdcad Rustup to rustc 1.37.0-nightly (0dc9e9c10 2019-06-15) 2019-06-16 11:13:49 +02:00
bjorn3
6d1bc088a7 Rustup to rustc 1.37.0-nightly (2887008e0 2019-06-12) 2019-06-13 20:44:40 +02:00
bjorn3
847a37fedc Only write metadata module when necessary 2019-06-11 16:45:14 +02:00
bjorn3
e8c50cf2c2 Read and write dylib metadata 2019-06-11 16:45:14 +02:00
bjorn3
4b5bb3302b Pretty print non local mir bodies too on panic 2019-06-08 20:41:15 +02:00
bjorn3
161c8aa5cf Rustup to rustc 1.37.0-nightly (7cdaffd79 2019-06-05) 2019-06-06 20:31:09 +02:00
bjorn3
0046ce4c85 Partial support for wasm32-unknown-wasi as host triple
This needs a rustc compiled for wasi (see rust-lang/miri#722)
It also needs CraneStation/target-lexicon#14
2019-05-11 12:23:40 +02:00
bjorn3
bb7a990ee7 Extract driver.rs 2019-05-04 16:54:25 +02:00