about summary refs log tree commit diff
path: root/src/rustc/middle/trans/native.rs
AgeCommit message (Collapse)AuthorLines
2012-06-26Change 'native' and 'crust' to 'extern'.Graydon Hoare-1116/+0
This comes with a terminology change. All linkage-symbols are 'extern' now, including rust syms in other crates. Some extern ABIs are merely "foreign". The term "native" is retired, not clear/useful. What was "crust" is now "extern" applied to a _definition_. This is a bit of an overloading, but should be unambiguous: it means that the definition should be made available to some non-rust ABI.
2012-06-26Getting rid of lots more vector +=. (issue #2719)Eric Holk-11/+11
2012-06-25Make vectors uglier ([]/~). Sorry. Should be temporary. Closes #2725.Michael Sullivan-74/+76
2012-06-21Tag all remaining FIXMEs with bugs. Install rule in tidy script to enforce this.Graydon Hoare-2/+2
2012-06-14Adding move_val and move_val_init intrinsics.Eric Holk-0/+20
2012-06-13Box AST identsBrian Anderson-5/+5
2012-06-07Comments only: annotate FIXMEsTim Chevalier-1/+1
2012-06-06core: Start on a stack walkerBrian Anderson-1/+21
2012-06-06rustc: Add frame_address intrinsicBrian Anderson-9/+47
2012-06-02make vec fns/methods take imm slices.Niko Matsakis-1/+1
this also repairs the unsoundness in typing of unpack_slice, which was silently converting a const ptr to an imm one.
2012-05-26core: Make range follow the for loop protocolBrian Anderson-1/+1
2012-05-21rustc: Move ast_map to the syntax crateBrian Anderson-1/+1
2012-05-18introduce a few copies here and thereNiko Matsakis-1/+1
2012-05-16Include intrinsic module in all crates, emit visit glue, fn ↵Graydon Hoare-46/+1
intrinsic::visit_ty. Not yet working.
2012-05-15get preservation of boxes working, at least in simple casesNiko Matsakis-2/+3
2012-05-15add node_ids to blocksNiko Matsakis-1/+1
2012-05-14Instantiate per-type iface-based visit_glue when intrinsic ifaces present.Graydon Hoare-54/+22
2012-05-14More work on reflection, now calls iface visitors back as well.Graydon Hoare-46/+48
2012-05-11First working monomorphic type-reflection.Graydon Hoare-15/+71
2012-05-10Preliminary groundwork for intrinsic module, reflection interface.Graydon Hoare-0/+23
2012-05-03Turn constants in back::abi into uints, and propagate typesTim Chevalier-28/+21
This means GEPi now takes a list of uints. Apologies in advance if this is hard to rebase against, but it gets rid of many a cast :-) Also modernized some for loops here and there.
2012-05-03rustc: Fix comment about ABI in trans::nativeBrian Anderson-1/+1
2012-05-03rustc: Link to original Clay x86 classification codeBrian Anderson-0/+3
2012-05-03add forgotten index and fix array typeJyun-Yan You-16/+18
2012-05-02rustc: Hack around some FFI bustage. Unbreak servoBrian Anderson-0/+20
2012-04-27rustc: Remove old align_of intrinsicBrian Anderson-5/+0
2012-04-27rustc: Add min_align_of, pref_align_of intrinsic, deprecate align_ofBrian Anderson-0/+9
2012-04-26rustc: Rename llalign_of_real to llalign_of_prefBrian Anderson-1/+1
This alignment is the "preferred" alignment of a type, which is not necessarily the alignment the compiler will use when packing the type into structures - that is the "ABI" alignment (in LLVM terms). On x86, 64-bit ints have 8-byte preferred alignment, but 4-byte ABI alignment.
2012-04-18Add a needs_drop intrinsicMarijn Haverbeke-0/+4
Closes #2055
2012-04-15syntax: Cleanup attr module. Closes #1545Brian Anderson-2/+2
2012-04-03Output type sizes in reinterpret_cast error messageMarijn Haverbeke-6/+8
Closes #2095
2012-03-29rustc: Remove the rustsyntax::attr wrapper in frontBrian Anderson-1/+1
2012-03-27Move some code over to iterator-for to see how it performs.Marijn Haverbeke-4/+4
2012-03-23Fix breakageTim Chevalier-1/+1
2012-03-23Handle self correctly when translating classesTim Chevalier-2/+1
This change uses the same code for handling the "self" reference for classes as is already used for impls/ifaces. This allows removing the extra maybe_self_id argument (which was just for classes) to trans_closure that I added before. I also rewrote the translation for class ctors so that it doesn't generate new AST nodes (instead translating directly). Also changed visit so that it visits class ctors correctly with visit_fn, and changed typestate to not do return-checking when visiting a class ctor.
2012-03-23Remove last vestiges of old-style intrinsicsMarijn Haverbeke-37/+5
Closes #2048
2012-03-23Revert removal of intrinsicsMarijn Haverbeke-6/+33
Oops. We can't do this yet until the next snapshot.
2012-03-23Rename builtin back to intrinsicMarijn Haverbeke-5/+5
As per Graydon's request Issue #1981
2012-03-23Remove support for the old-style intrinsicsMarijn Haverbeke-28/+1
Closes #2042 Closes #1981
2012-03-23Support [rust_stack] annotation on native functions (crudely)Marijn Haverbeke-15/+45
2012-03-23Implement built-in native modules as an alternative to intrinsicsMarijn Haverbeke-20/+69
Issue #1981
2012-03-22Add an LLVM-instruction-counting mode to trans.Graydon Hoare-0/+24
Pipe to xdu to see a trans call graph of generated insns.
2012-03-21add mut decls to rustc and make them mandatoryNiko Matsakis-33/+37
2012-03-20Implement an initial version of placement new.Niko Matsakis-11/+12
2012-03-20Remove unused "flav" parameter from function registration paths.Graydon Hoare-3/+3
2012-03-20make native and crust functions conform to x86-64 ABIJyun-Yan You-35/+564
2012-03-15Never pass tydesc to functionsMarijn Haverbeke-12/+9
My assumption that native generics needed them was wrong, so tydescs can be eliminated from function signatures completely.
2012-03-15Remove a large part of the tydesc-passing codeMarijn Haverbeke-3/+2
2012-03-15Stop generating generic versions of generic functionsMarijn Haverbeke-1/+1
Monomorphic instances are generated on demand.
2012-03-14rustc: Lift the @ from the type definition of crate_ctxt into its usesPatrick Walton-14/+14
This will make it easier to convert crate_ctxt into a region pointer, since there are functions that return crate contexts. There would be no way to type these functions if crate_ctxt had to be an inferred region pointer.