Kelly Wilson
b91ef944c8
Replace --bitcode with the canonical --emit-llvm
2011-05-16 14:07:43 -07:00
Kelly Wilson
196351aa44
Add automatic exe generation capabilities. Add --bitcode flag to generate only an LLVM bitcode file.
2011-05-16 14:07:43 -07:00
Brian Anderson
aaf41815b1
rustc: Dispose intrinsics memory buffer
2011-05-14 00:29:24 -04:00
Brian Anderson
371dbf9834
rustc: Dispose the intrinsics LLVMModuleRef
2011-05-14 00:22:44 -04:00
Brian Anderson
2f440b1452
rustc: lowercase the link and link::write modules
2011-05-13 16:55:37 -04:00
Marijn Haverbeke
3816e57fd2
Downcase std modules again, move to :: for module dereferencing
...
This should be a snapshot transition.
2011-05-12 21:30:44 +02:00
Graydon Hoare
d6f1fcff6b
Add --time-llvm-passes.
2011-05-10 16:10:08 -07:00
Patrick Walton
2849103f24
rustc: Get rid of native Rust glue for all upcalls except the exit task glue
2011-05-10 14:04:34 -07:00
Patrick Walton
cfcc8678e5
rustc: Give our upcall definitions the right values
2011-05-09 16:59:18 -07:00
Patrick Walton
071ed380fb
rustc: Declare upcalls with real signatures; preparation for killing rust_native_rust_* stubs
2011-05-09 15:33:02 -07:00
Patrick Walton
bc879a4e1e
rustc: Replace our homebrew list of passes with the standard function and module passes, along with the TargetData passes.
2011-05-09 11:44:47 -07:00
Patrick Walton
a71fda40b8
rustc: Make llvm_err() conform to Postel's law a little better
2011-05-06 18:19:42 -07:00
Marijn Haverbeke
a3ec0b1f64
Rename std modules to be camelcased
...
(Have fun mergining your stuff with this.)
2011-05-06 22:51:19 +02:00
Patrick Walton
ab437253d3
rustc: Bump the number of native glues to 8
2011-05-06 12:50:48 -07:00
Graydon Hoare
9e3b096d98
Fix x86.rs triple for linux.
2011-05-05 17:20:27 -07:00
Rafael Ávila de Espíndola
4445d6771d
Use symbolic register names so that we get the correct encoding on OS X.
2011-05-05 19:00:42 -04:00
Patrick Walton
a74feaf159
rustc: Link with intrinsics.bc; change intrinsics linkage to linkonce_odr
2011-05-05 12:46:22 -07:00
Patrick Walton
5fb6e6364b
rustc: Add a binding to LLVM's bitcode parser
2011-05-05 11:34:45 -07:00
Patrick Walton
fea623211f
rustc: Add a Link module; move crate writing to it to slim down trans slightly
2011-05-05 10:48:02 -07:00
Patrick Walton
f6c472d816
rustc: Emit pure native glue; we don't call it yet
2011-04-29 16:40:30 -07:00
Marijn Haverbeke
c39a95da90
Implement destructors in rustc
...
Unlike rustboot, rustc keeps it destructors in vtables. Entry 0 holds
either the destructor for the obj or a NULL pointer. The method
offsets start at 1.
2011-04-29 21:19:50 +02:00
Rafael Ávila de Espíndola
b0980b7d79
Add a very minimal set of .cfi_* statements to get part of backtraces
...
working (on hello world at least):
~/inst/gdb/bin/gdb --args ./foo
(gdb) b write
...
(gdb) r
...
Breakpoint 1, 0xf7f04270 in write () from /lib32/libc.so.6
(gdb) bt
0 0xf7f04270 in write () from /lib32/libc.so.6
1 0x0804931a in rust_native_cdecl_3 ()
2 0x080487d7 in _rust_wrapper3_ ()
3 0x0804890a in _rust_fn5_main ()
4 0x08049440 in rust_native_cdecl_7 ()
2011-04-28 16:19:20 -04:00
Patrick Walton
5f2cfa7351
rustc: Add an operation field to compare glue with ==, <=, and < modes
2011-04-18 12:57:00 -07:00
Patrick Walton
abd78f2f04
rustc: Create stub glue for structural comparison
2011-04-18 11:14:38 -07:00
Graydon Hoare
35573144c5
Remove silly legacy glue-offset encoding, predicate runtime adjustments by ABI. LLVM should inline most glue now.
2011-04-09 00:54:46 +00:00
Graydon Hoare
8e9c5b96fb
Change rust_vec to have a 16-byte header, to 16-byte-align vec-body data. Major perf win.
2011-04-02 19:05:12 -07:00
Graydon Hoare
661f1c541e
Trans nomenclature tidy-up: upcall vs. native vs. extern.
2011-03-25 15:48:00 -07:00
Graydon Hoare
b2427509e2
Another go at changing compile-command, this time using RBUILD env var.
2011-03-25 15:07:27 -07:00
Graydon Hoare
91c2b82b09
Revert "Bulk-edit compile commands in emacs chatter to point to assumed build/ dir off src root."
...
This reverts commit 846f2e2ba994268725f38c36fa12f1a09f21615c.
2011-03-25 14:05:38 -07:00
Graydon Hoare
846f2e2ba9
Bulk-edit compile commands in emacs chatter to point to assumed build/ dir off src root.
2011-03-25 13:48:37 -07:00
Rafael Ávila de Espíndola
933c01bd15
Every upcall needs a task pointer to find the C stack. It is just that when
...
handling cdecl call they should skip it when calling the final function.
There is some cleanup to be done on the generated IL, but this gets us
running Hello World for real.
2011-03-21 17:53:11 -04:00
Rafael Ávila de Espíndola
9dc3f3f183
Fixed version of my previous patch to rename the upcall functions. This time also update the inline assembly.
2011-03-16 18:09:12 -04:00
Patrick Walton
9b3db0ed44
rustc: Add some stub metadata to each crate
2011-03-11 15:35:50 -08:00
Rafael Ávila de Espíndola
10d8b4e861
Fix access to the rust stack.
2011-03-09 15:05:22 -05:00
Rafael Ávila de Espíndola
aeca138944
swap taskptr and callee in preparation for making taskptr optional.
2011-03-09 14:16:11 -05:00
Graydon Hoare
652cb48475
Assortment of additional work on vec-append. Not done yet.
2011-03-03 18:18:59 -08:00
Graydon Hoare
dddeba19d3
Sketch out some more pieces of vec-append.
2011-03-02 16:42:19 -08:00
Graydon Hoare
af4d6ae76b
Add ABI tagging to crates, adjust rustc output and runtime stack-frame setup so access to argv works.
2011-02-22 16:37:27 -08:00
Graydon Hoare
467a628ffa
Add the single instruction required in activate glue to fix burning darwin tinderbox. And transplant 100 lines of comments from the ML code.
2011-02-08 18:09:50 -08:00
Graydon Hoare
be97a77be8
Capture typarams into obj, independent of body tydesc.
2011-02-03 14:40:57 -08:00
Graydon Hoare
e92298187b
Add bzero glue and preliminary code for dynamic size/align calculations.
2011-01-18 15:38:35 -08:00
Graydon Hoare
bc21965c98
Use homebrew memcpy, not llvm intrinsic. Can't run the latter on a rust stack.
2011-01-17 17:24:33 -08:00
Graydon Hoare
62c79fb216
Sketch closure-forming logic for nontrivial bindings.
2011-01-05 18:57:28 -08:00
Graydon Hoare
86188da348
Mop up cases of s/copy/take/, remove 'binding' terminology, whitespace police, and make obj/fn structural.
2010-12-20 16:26:38 -08:00
Patrick Walton
a7e9984999
rustc: Build tydescs for types, and make all take and drop operations go through the tydescs for simplicity (LLVM inlines them).
2010-12-20 10:23:37 -08:00
Graydon Hoare
62d62ce4da
Remove calltup fields from ABI, add binding fields.
2010-12-16 23:26:07 -08:00
Patrick Walton
f371dc613a
rustc: Set data layout and target triple
2010-12-03 13:52:54 -08:00
Graydon Hoare
44b051f34a
Fix typo in x86 backend glue that was, by luck, only crashing on OSX.
2010-11-15 12:45:26 -08:00
Graydon Hoare
a352efadad
Switch upcall glues to fastcall as well.
2010-11-14 13:41:10 -08:00
Graydon Hoare
4cbef9d8a1
Remove outptr from module-internal calls; use standard ABI returns.
2010-11-14 13:04:01 -08:00