bjorn3
172522c2e7
[OPT] Push fx.monomorphize to the callers of fx.layout_of
...
This prevents some repeated monomorphizations
2019-12-17 16:58:34 +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
3e50a831e5
Optimize line_program_add_file
2019-12-16 13:23:41 +01:00
bjorn3
beda104a2b
Disable local debuginfo for now
2019-12-16 12:12:51 +01:00
bjorn3
74ca55d230
Rustup
2019-12-16 12:11:14 +01:00
bjorn3
7a4fe12d31
Rustup to rustc 1.41.0-nightly (e87a205c2 2019-11-27)
2019-12-16 12:07:31 +01:00
bjorn3
b86eb2e8ba
Some optimizations
...
* Only format global _comments when debug_assertions are enabled
* Only call build_value_labels_ranges in base.rs when debug_assertions are enabled
Benchmark #1 : CHANNEL='pre' ../cargo.sh build
Time (mean ± σ): 17.657 s ± 1.050 s [User: 31.871 s, System: 3.014 s]
Range (min … max): 16.907 s … 20.394 s 10 runs
Benchmark #2 : ../cargo.sh build
Time (mean ± σ): 16.640 s ± 0.255 s [User: 30.238 s, System: 2.965 s]
Range (min … max): 16.413 s … 17.186 s 10 runs
Warning: Statistical outliers were detected. Consider re-running this benchmark on a quiet PC without any interferences from other programs. It might help to use the '--warmup' or '--prepare' options.
Summary
'../cargo.sh build' ran
1.06 ± 0.07 times faster than 'CHANNEL='pre' ../cargo.sh build'
2019-12-16 12:07:31 +01:00
bjorn3
08217d1bde
Emit DW_TAG_structure_type including fields for structs
2019-12-16 12:07:12 +01:00
bjorn3
ab7ad2caeb
Use set_val_label before every def_var
2019-12-16 12:07:12 +01:00
bjorn3
0244d19ebb
Fix translate_loc for ValueLoc::Stack
2019-12-16 12:07:12 +01:00
bjorn3
8edbbc45f7
Implement local reading for locals on stack
2019-12-16 12:04:34 +01:00
bjorn3
d8e9148c2e
Rustfmt debuginfo
2019-12-16 12:04:34 +01:00
bjorn3
c5c6ce87d2
Small change
2019-12-16 12:04:34 +01:00
bjorn3
beda7870fb
Split debuginfo/line_info.rs from debuginfo/mod.rs
2019-12-16 12:04:34 +01:00
bjorn3
ed758912d3
Split debuginfo/emit.rs part out of debuginfo/mod.rs
2019-12-16 12:04:34 +01:00
bjorn3
d07fe816af
Move debuginfo.rs to debuginfo/mod.rs
2019-12-16 12:04:34 +01:00
bjorn3
62c3ca28e1
Extract local definition from FunctionDebugContext::define
2019-12-16 12:04:34 +01:00
bjorn3
50f7110cb6
Fix local value reading
...
LLDB doesn't understand base address entries
2019-12-16 12:04:34 +01:00
bjorn3
3fed880057
[WIP] Set local DW_AT_location
2019-12-16 12:04:34 +01:00
bjorn3
21f0dfd014
Monomorphize locals
2019-12-16 12:04:34 +01:00
bjorn3
a962835685
[WIP] debuginfo: Add types for locals
2019-12-16 12:04:34 +01:00
bjorn3
c0aedfef96
[WIP] debuginfo for locals
2019-12-16 12:04:34 +01:00
bjorn3
e1613a69d4
Rustup to rustc 1.41.0-nightly (a605441e0 2019-12-15)
2019-12-16 11:33:57 +01:00
bjorn3
88277f983a
Remove some workarounds for missing inst legalizations
2019-12-08 11:52:04 +01:00
bjorn3
c6086a8fd7
Rustup to rustc 1.41.0-nightly (6d77e45f0 2019-12-04)
2019-12-05 21:00:57 +01:00
bjorn3
f0bb30f8a1
Rustup to rustc 1.41.0-nightly (25d8a9494 2019-11-29)
2019-12-01 12:54:57 +01:00
bjorn3
c3df8b185b
Rustup to rustc 1.41.0-nightly (0c987c5c0 2019-11-23)
2019-11-24 16:30:15 +01:00
bjorn3
53e0833232
Implement log10f* intrinsics
2019-11-24 15:30:28 +01:00
bjorn3
4a8b0ca274
Correctly align returned addr for to_addr on NoPlace
2019-11-24 14:56:51 +01:00
bjorn3
cdab96d05c
Rustup to rustc 1.41.0-nightly (53712f863 2019-11-21)
2019-11-22 15:56:49 +01:00
bjorn3
0219f218db
Remove FIXME
2019-11-16 16:54:47 +01:00
bjorn3
b0bcb23eb4
Fix signed cast to 128bit integer
2019-11-16 16:44:26 +01:00
bjorn3
0c026853f5
Rustup to rustc 1.41.0-nightly (82cf3a448 2019-11-14)
2019-11-15 20:47:22 +01:00
bjorn3
177b0d2f57
Rustup to rustc 1.41.0-nightly (ded5ee001 2019-11-13)
2019-11-14 21:13:40 +01:00
bjorn3
c0ec688daf
Rustup to rustc 1.40.0-nightly (3fc30d884 2019-11-10)
2019-11-11 20:34:42 +01:00
bjorn3
5407b51aa7
Rustup to rustc 1.40.0-nightly (9e346646e 2019-11-08)
2019-11-09 11:14:18 +01:00
bjorn3
0cad01f239
Rustup to rustc 1.40.0-nightly (aa4e57ca8 2019-10-31)
2019-11-01 20:22:59 +01:00
bjorn3
40178f6d3c
Changes for gimli-rs/object#133
2019-10-25 22:01:31 +02:00
bjorn3
8536514308
Rustup to rustc 1.40.0-nightly (10a52c25c 2019-10-24)
2019-10-25 21:41:24 +02: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
4d7f70318a
Fix metadata symbol scope
...
It should be exported from the generated dylib
2019-10-19 11:08:16 +02:00
bjorn3
bb5cefe838
Test object::write backend on travis
2019-10-19 10:56:35 +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
5873127ec2
Make debuginfo writing backend agnostic
2019-10-18 18:31:38 +02:00
bjorn3
f9ff604d96
Make dylib metadata write backend agnostic
2019-10-18 18:31:38 +02:00
bjorn3
8243a370d2
Rustup to rustc 1.40.0-nightly (fa0f7d008 2019-10-17)
2019-10-18 18:31:26 +02:00
bjorn3
f0c774e05d
Rustup to rustc 1.40.0-nightly (237d54ff6 2019-10-15)
2019-10-16 18:43:52 +02:00
bjorn3
82fde5b622
Remove bitflags dependency
2019-10-06 17:52:23 +02:00