| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | rustc: Represent types as uints. Cuts typechecking down from 14s to 12s. | Patrick Walton | 2011-05-11 | 1 | -148/+143 |
| | | |||||
| * | rustc: Remove a few kludges intended to work around rustboot's lack of ↵ | Patrick Walton | 2011-05-11 | 1 | -74/+4 |
| | | | | | structural comparison from equal_type_structures() | ||||
| * | rustc: Remove magic numbers; they aren't a win | Patrick Walton | 2011-05-11 | 1 | -40/+3 |
| | | |||||
| * | rustc: Intern all types. 4s regression. | Patrick Walton | 2011-05-11 | 1 | -17/+1 |
| | | |||||
| * | rustc: Hoist derived type descriptors to the top of the function | Patrick Walton | 2011-05-11 | 1 | -69/+120 |
| | | |||||
| * | Remove mod indices from the AST | Marijn Haverbeke | 2011-05-11 | 3 | -54/+138 |
| | | | | | | They are now created by the resolve pass, which is the only pass that needs them, and kept internal to that pass. | ||||
| * | Get rid of arm indices | Marijn Haverbeke | 2011-05-11 | 4 | -12/+23 |
| | | |||||
| * | Get rid of block indices | Marijn Haverbeke | 2011-05-11 | 4 | -61/+49 |
| | | |||||
| * | Stop depending on block indices in capture.rs | Marijn Haverbeke | 2011-05-11 | 1 | -5/+9 |
| | | |||||
| * | Hash only on def_num when storing def_ids that are local | Marijn Haverbeke | 2011-05-11 | 1 | -13/+14 |
| | | |||||
| * | Use a const for crate-num-zero (ast.local_crate) | Marijn Haverbeke | 2011-05-11 | 1 | -2/+1 |
| | | |||||
| * | Cache external crate lookups in resolve.rs | Marijn Haverbeke | 2011-05-11 | 1 | -6/+28 |
| | | | | | | | According to --time-passes, resolution went from 2 to 0 seconds. Not really the bottleneck... but if we want to be crazy fast, just consider this a future bottleneck that was fixed very timely. | ||||
| * | Rewrite comp/middle/resolve.rs | Marijn Haverbeke | 2011-05-11 | 4 | -641/+549 |
| | | | | | | | | | | * Cleans up the algorithm * Move first pass to walk (second still folds) * Support part of a type/value namespace split (crate metadata and module indices still need to be taught about this) * Remove a few blatant inefficiencies (import tables being recreated for every lookup, most importantly) | ||||
| * | More alias-ification of trans. | Graydon Hoare | 2011-05-11 | 1 | -279/+285 |
| | | |||||
| * | rustc: Don't interleave allocas with stores when copying arguments to allocas | Patrick Walton | 2011-05-10 | 1 | -11/+7 |
| | | |||||
| * | Begin alias-ifying trans. | Graydon Hoare | 2011-05-10 | 1 | -82/+82 |
| | | |||||
| * | Avoid mangle_name_by_type_only call in tydesc names unless debugging. | Graydon Hoare | 2011-05-10 | 1 | -1/+8 |
| | | |||||
| * | rustc: Lower the size limit on ty_to_short_str() and always call it in favor ↵ | Patrick Walton | 2011-05-10 | 2 | -2/+2 |
| | | | | | of direct calls to metadata.Encode.ty_str() in trans | ||||
| * | rustc: Number everything with an annotation | Patrick Walton | 2011-05-10 | 4 | -26/+26 |
| | | |||||
| * | Only name LLVM values / blocks / types when saving temporaries. | Graydon Hoare | 2011-05-10 | 1 | -17/+27 |
| | | |||||
| * | rustc: Cache intermediate results of metadata.Encode.ty_str. Shaves 30% off ↵ | Patrick Walton | 2011-05-10 | 3 | -3/+22 |
| | | | | | translation time. | ||||
| * | Switch memcpy to memmove since we're willing to compile x = x and such. | Graydon Hoare | 2011-05-10 | 1 | -18/+17 |
| | | |||||
| * | rustc: Get rid of native Rust glue for all upcalls except the exit task glue | Patrick Walton | 2011-05-10 | 1 | -124/+105 |
| | | |||||
| * | Re-enable use of llvm intrinsics for memcpy, memset. Should have aligned ↵ | Graydon Hoare | 2011-05-10 | 1 | -106/+77 |
| | | | | | stack now. | ||||
| * | Fix long lines in fold.rs, typeck.rs | Brian Anderson | 2011-05-09 | 2 | -2/+4 |
| | | |||||
| * | Alias-ify fold and its users, remove another 85kb. | Graydon Hoare | 2011-05-09 | 4 | -351/+371 |
| | | |||||
| * | Alias-ify walk, typeck, metadata. Cuts another 80kb off rustc. | Graydon Hoare | 2011-05-09 | 6 | -150/+153 |
| | | |||||
| * | rustc: Declare upcalls with real signatures; preparation for killing ↵ | Patrick Walton | 2011-05-09 | 1 | -0/+25 |
| | | | | | rust_native_rust_* stubs | ||||
| * | rustc: Alias fix part 2 -- Check that the aliasness of function parameters ↵ | Patrick Walton | 2011-05-09 | 2 | -10/+11 |
| | | | | | matches. Add a test case. | ||||
| * | Alias-ify a variety of fn signatures in ty. Cuts 180kb off rustc. | Graydon Hoare | 2011-05-09 | 1 | -112/+114 |
| | | |||||
| * | rustc: Alias fix part 1 -- Separate out AST modes from typechecker modes, ↵ | Patrick Walton | 2011-05-09 | 4 | -68/+60 |
| | | | | | and introduce an "either value or alias" mode | ||||
| * | rustc: Stop emitting zero-length arrays | Patrick Walton | 2011-05-08 | 1 | -14/+42 |
| | | |||||
| * | Stop stringifying integers to get integral constants. | Graydon Hoare | 2011-05-07 | 1 | -32/+33 |
| | | |||||
| * | Rename std modules to be camelcased | Marijn Haverbeke | 2011-05-06 | 9 | -744/+744 |
| | | | | | (Have fun mergining your stuff with this.) | ||||
| * | rustc: For stack local derived tydescs, allocate the root tydesc separately ↵ | Patrick Walton | 2011-05-06 | 1 | -24/+36 |
| | | | | | from the parameter tydescs. This allows SROA, and consequently inlining, to work. | ||||
| * | rustc: Factor derived tydesc construction out of get_tydesc() | Patrick Walton | 2011-05-06 | 1 | -43/+44 |
| | | |||||
| * | rustc: Include a representation of the type in question in the symbols ↵ | Patrick Walton | 2011-05-06 | 1 | -1/+1 |
| | | | | | generated for tydescs | ||||
| * | rustc: Remove some debugging code from decl_native_fn_and_pair() | Patrick Walton | 2011-05-05 | 1 | -6/+0 |
| | | |||||
| * | rustc: Fix a bunch of argument-passing bugs in decl_native_fn_and_pair() | Patrick Walton | 2011-05-05 | 1 | -54/+82 |
| | | |||||
| * | Consolidating expr_to_str functions. | Lindsey Kuper | 2011-05-05 | 3 | -9/+4 |
| | | |||||
| * | Change the setup so that rust_activate_glue returns to rust_exit_task_glue | Rafael Ávila de Espíndola | 2011-05-05 | 1 | -16/+17 |
| | | | | | | | | | | | | and rust_exit_task_glue calls the rust main. This is simpler since we only need to setup one frame. It also matches what ld.so does, so gdb is happy and stops a backtrace at rust_exit_task_glue instead of continuing past whatever function happened to be before rust_exit_task_glue is the object file. This is only the rustc changes and should be merged first. | ||||
| * | rustc: Add Rust intrinsic support to the crate metadata reader and writer | Patrick Walton | 2011-05-05 | 1 | -0/+3 |
| | | |||||
| * | rustc: Fix bug in equal_abi that was preventing Rust intrinsics from working | Patrick Walton | 2011-05-05 | 1 | -0/+6 |
| | | |||||
| * | Enforce in typechecker that preds return a bool | Tim Chevalier | 2011-05-05 | 1 | -0/+11 |
| | | | | | as well as a test case | ||||
| * | Bring back "pred" syntax for writing predicates for check | Tim Chevalier | 2011-05-05 | 2 | -9/+116 |
| | | | | | | | | | | | This commit reinstates the requirement that the predicate in a "check" must be a manifest call to a special kind of function declared with the new "pred" keyword instead of "fn". Preds must have a boolean return type and can only call other preds; they can't have any effects (as enforced by the typechecker). The arguments to a predicate in a check expression must be slot variables or literals. | ||||
| * | Check well-formedness of constraints | Tim Chevalier | 2011-05-05 | 1 | -6/+23 |
| | | | | | | | Check that the operand in a constraint is an explicit name, and that the operands are all local variables or literals. Still need to check that the name refers to a pure function. | ||||
| * | Check that the operand in a check is a call | Tim Chevalier | 2011-05-05 | 2 | -8/+19 |
| | | | | | | | In addition, fix bug in fold that was turning asserts into checks. More typechecking still needs to be done. | ||||
| * | Remove 'deprecated mutable...' from our code | Marijn Haverbeke | 2011-05-05 | 2 | -12/+12 |
| | | | | | This should make compilation a bit less noisy. | ||||
| * | Return a fresh, unreachable context after ret, break, and cont | Marijn Haverbeke | 2011-05-05 | 1 | -2/+2 |
| | | | | | | | | | | This ensures we don't get compile errors on unreachable code (see test/run-pass/artificial-block.rs for an example of sane code that wasn't compiling). In the future, we might want to warn about non-trivial code appearing in an unreachable context, and/or avoid generating unreachable code altogether (though I'm sure LLVM will weed it out as well). | ||||
| * | Eradicate fold from capture.rs | Marijn Haverbeke | 2011-05-05 | 1 | -59/+54 |
| | | | | | The pass now uses walk. | ||||