aboutsummaryrefslogtreecommitdiff
path: root/src/comp/middle/trans.rs
Commit message (Collapse)AuthorAgeFilesLines
...
* Remove usages of case(_) { fail; } since the compiler does this automaticallyBrian Anderson2011-03-221-3/+0
|
* Add a cleanup to trans_send. Express further confusion about cleanups in ↵Brian Anderson2011-03-221-2/+3
| | | | trans_recv
* Remove a todo from trans_chan that doesn't appear necessaryBrian Anderson2011-03-221-2/+0
|
* Generalize send/recv to work for more typesBrian Anderson2011-03-221-15/+19
|
* Fix trans_recvBrian Anderson2011-03-221-4/+11
|
* Implement trans_send and a broken trans_recvBrian Anderson2011-03-221-4/+42
|
* Add codegen for ports and chansBrian Anderson2011-03-221-0/+114
|
* Make floating-point operations work (neg, add, sub, mul, div, rem,Tim Chevalier2011-03-211-4/+46
| | | | and comparison ops.)
* Started adding support for floating-point type, floating-point literals, and ↵Tim Chevalier2011-03-211-5/+29
| | | | logging of floats. Other operations on float probably don't work yet.
* Every upcall needs a task pointer to find the C stack. It is just that whenRafael Ávila de Espíndola2011-03-211-35/+44
| | | | | | | 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.
* Make the wrapper function of native functions private.Rafael Ávila de Espíndola2011-03-211-0/+2
|
* The T_taskptr is already included in the n_args, don't add it twice.Rafael Ávila de Espíndola2011-03-211-5/+3
|
* Make lltaskptr a regular argument element in args in calls to trans_upcall2.Rafael Ávila de Espíndola2011-03-211-8/+8
|
* Move calls to PtrToInt out of trans_upcall2.Rafael Ávila de Espíndola2011-03-211-3/+5
|
* Modify native_item_fn to handle trailing linkage names that differ from the ↵Graydon Hoare2011-03-201-2/+2
| | | | item name (used in win32 build of std.dll)
* rustc: Internalize glue. Cuts libstd size by 8% or so.Patrick Walton2011-03-201-1/+3
|
* rustc: Only declare each native function once. std.rc now links.Patrick Walton2011-03-191-1/+15
|
* rustc: Use the right block context to generate unary operands. std.rc ↵Patrick Walton2011-03-191-3/+3
| | | | compiles now. For realz.
* rustc: Allow arguments to be captured as upvars. std.rc compiles now, except ↵Patrick Walton2011-03-191-3/+15
| | | | for the lack of a main fn.
* rustc: Do argument casts before loading aggregates, not afterPatrick Walton2011-03-191-5/+16
|
* rustc: Implement int-to-native castsPatrick Walton2011-03-181-0/+3
|
* rustc: Make trans_path() generic-safe wrt nullary tagsPatrick Walton2011-03-181-1/+8
|
* rustc: Make iter_structural_ty_full() generic-safe wrt tagsPatrick Walton2011-03-181-28/+10
|
* rustc: Do pointer casts when casting native typesPatrick Walton2011-03-181-1/+3
|
* rustc: Don't always build a constant multiply instruction when translating ↵Patrick Walton2011-03-181-2/+2
| | | | literal vectors; the size of the referent isn't always constant
* rustc: Move type_of() behind the check for dynamic size in trans_vec()Patrick Walton2011-03-181-1/+1
|
* rustc: Create global variable constants during the collection phasePatrick Walton2011-03-181-14/+13
|
* rustc: Make iter_sequence() work with generic vectorsPatrick Walton2011-03-181-3/+16
|
* rustc: Box the tuples returned by hashmap.items() for now since we don't ↵Patrick Walton2011-03-181-1/+1
| | | | have alias iterators yet
* rustc: Get type params from the item when translating native itemsPatrick Walton2011-03-181-9/+13
|
* rustc: Switch mutability from being a type constructor to a field annotationPatrick Walton2011-03-171-56/+57
|
* Fixed version of my previous patch to rename the upcall functions. This time ↵Rafael Ávila de Espíndola2011-03-161-4/+3
| | | | also update the inline assembly.
* Switch all vases of vec += elt to vec += vec. Prohibit former in rustboot. ↵Graydon Hoare2011-03-161-56/+64
| | | | Tweak std lib vec fns in process.
* Update comment to reflect the decision to avoid cycles.Rafael Ávila de Espíndola2011-03-161-2/+2
|
* Revert "Change the numbering of upcall functions. upcall_0 now calls a ↵Patrick Walton2011-03-151-3/+4
| | | | | | function" due to tinderbox failure on win32 This reverts commit bd9dd5ed1ab4565141c0c08b4cf2245e451a3eb1.
* Change the numbering of upcall functions. upcall_0 now calls a functionRafael Ávila de Espíndola2011-03-151-4/+3
| | | | | with no arguments. This is still preparation for calling functions that don't take a rust task argument.
* Merge remote branch 'brson/recursive-elseif'Graydon Hoare2011-03-141-31/+9
|\
| * Merge branch 'master' into recursive-elseifBrian Anderson2011-03-131-264/+725
| |\ | | | | | | | | | | | | | | | Conflicts: src/comp/middle/typeck.rs
| * | Remove extra blocks from the translation of expr_blockBrian Anderson2011-03-131-20/+2
| | | | | | | | | | | | Doesn't seem to break anything and allows trans_if to be streamlined
| * | Merge branch 'master' into recursive-elseifBrian Anderson2011-03-071-957/+2374
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/Makefile src/comp/front/ast.rs src/comp/front/parser.rs src/comp/middle/fold.rs src/comp/middle/trans.rs
| * | | Allow the else part of an expr_if to be either expr_if or expr_blockBrian Anderson2011-02-011-3/+14
| | | |
* | | | Split trans' collection in two passes. This allows us to handle tagsRafael Ávila de Espíndola2011-03-141-16/+32
| |_|/ |/| | | | | | | | | | | | | | that are defined after use in a block. This is really inefficient, but for now it lets us compile the included test.
* | | rustc: Add some stub metadata to each cratePatrick Walton2011-03-111-0/+3
| | |
* | | rustc: Load structural loop variables in iterators. Un-XFAIL ↵Patrick Walton2011-03-111-1/+10
| | | | | | | | | | | | foreach-put-structured.rs.
* | | rustc: Populate the upvar environment when calling iterator bodies. Un-XFAIL ↵Patrick Walton2011-03-111-5/+71
| | | | | | | | | | | | test/run-pass/iter-range.rs.
* | | rustc: Resolve upvars as necessaryPatrick Walton2011-03-111-2/+9
| | |
* | | Move the glue code to a .o file. This reduces how much asm we printGraydon Hoare2011-03-101-58/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | in each "translation unit". Part of it is not repetitive and should probably be moved to a .ll file, but for now we autogen all of it. (Modified somewhat by graydon while integrating).
* | | rustc: Build up a list of upvars inside foreach bodiesPatrick Walton2011-03-101-5/+73
| | |
* | | rustc: Use the generic info from the item in bind thunks just as calls do. ↵Patrick Walton2011-03-101-0/+2
| | | | | | | | | | | | Un-XFAIL drop-parametric-closure-with-bound-box.rs.
* | | rustc: Increment the counter in trans_bind_thunk()Patrick Walton2011-03-101-1/+1
| | |