]> git.lizzy.rs Git - rust.git/log
rust.git
12 years agoAdd missing arm, so pretty-printing the statement 'copy 1;' does not die.
Jesse Ruderman [Sat, 10 Sep 2011 04:27:07 +0000 (21:27 -0700)]
Add missing arm, so pretty-printing the statement 'copy 1;' does not die.

12 years agoMake the pretty printer disambiguatae blocks followed by vec expressions.
Jesse Ruderman [Sat, 10 Sep 2011 02:47:40 +0000 (19:47 -0700)]
Make the pretty printer disambiguatae blocks followed by vec expressions.

Semicolons are needed here now that postfix [] is used for vec indexing (the syntax change made in rev 518dc52f85c2efb67aaa1208c02e9a7e0bdaca49).

12 years agoFuzzer: remove exclusions for some issues that have been fixed
Jesse Ruderman [Sat, 10 Sep 2011 00:31:08 +0000 (17:31 -0700)]
Fuzzer: remove exclusions for some issues that have been fixed

12 years agoRevert "Make for loops alias the vec elements, rather than copy them"
Marijn Haverbeke [Fri, 9 Sep 2011 14:26:53 +0000 (16:26 +0200)]
Revert "Make for loops alias the vec elements, rather than copy them"

This reverts commit 985ef59efd971f1d6b9bf4b5e484b75733e00444.

12 years agoGet rid of vp2i in object field access
Marijn Haverbeke [Fri, 9 Sep 2011 13:49:00 +0000 (15:49 +0200)]
Get rid of vp2i in object field access

Closes #557

12 years agoMake for loops alias the vec elements, rather than copy them
Marijn Haverbeke [Fri, 9 Sep 2011 13:34:13 +0000 (15:34 +0200)]
Make for loops alias the vec elements, rather than copy them

The alias analysis was already assuming that it worked like this.

12 years agoGet rid of trans::iter_sequence, use tvec::iter_vec instead
Marijn Haverbeke [Fri, 9 Sep 2011 13:06:06 +0000 (15:06 +0200)]
Get rid of trans::iter_sequence, use tvec::iter_vec instead

12 years agoUse a Phi node in trans_vec::iter_vec_raw
Marijn Haverbeke [Fri, 9 Sep 2011 12:20:15 +0000 (14:20 +0200)]
Use a Phi node in trans_vec::iter_vec_raw

Rather than incrementing a spilled pointer

12 years agoGet rid of some unused upcalls
Marijn Haverbeke [Fri, 9 Sep 2011 12:02:07 +0000 (14:02 +0200)]
Get rid of some unused upcalls

I guess these became obsolete when the communication stuff moved into
the stdlib.

12 years agoRemove unused logging upcalls from runtime
Marijn Haverbeke [Fri, 9 Sep 2011 11:55:43 +0000 (13:55 +0200)]
Remove unused logging upcalls from runtime

12 years agoDon't put 0-length array in the lltype of an arg-less variant
Marijn Haverbeke [Fri, 9 Sep 2011 11:43:32 +0000 (13:43 +0200)]
Don't put 0-length array in the lltype of an arg-less variant

This seems to confuse LLVM in some very specific situations.

Closes #883

12 years agoFix scope issue in resolution of alt-arm patterns
Marijn Haverbeke [Fri, 9 Sep 2011 10:13:18 +0000 (12:13 +0200)]
Fix scope issue in resolution of alt-arm patterns

Closes #885

12 years agort: Don't double-print commas when logging e.g. a vec of boxes
Patrick Walton [Thu, 8 Sep 2011 20:23:06 +0000 (13:23 -0700)]
rt: Don't double-print commas when logging e.g. a vec of boxes

12 years agoMerge pull request #867 from paulstansifer/master
Graydon Hoare [Thu, 8 Sep 2011 17:53:49 +0000 (10:53 -0700)]
Merge pull request #867 from paulstansifer/master

update docs to reflect the current state of syntax extension and macros

12 years agorustc: When revoking a cleanup of a unique pointer, zero it out so that the GC won...
Patrick Walton [Thu, 8 Sep 2011 01:16:08 +0000 (18:16 -0700)]
rustc: When revoking a cleanup of a unique pointer, zero it out so that the GC won't try to visit it

12 years agorustc: Make unique pointers no longer immediates.
Patrick Walton [Wed, 7 Sep 2011 19:10:37 +0000 (12:10 -0700)]
rustc: Make unique pointers no longer immediates.

12 years agoExport tag discriminants even for single-variant tags
Brian Anderson [Wed, 7 Sep 2011 05:44:16 +0000 (22:44 -0700)]
Export tag discriminants even for single-variant tags

I don't know exactly what's going on but this optimization is giving
me problems with the check-fast runner. I also don't see how it is
correct for external tags.

12 years agoUnwind the stack on task failure
Brian Anderson [Wed, 7 Sep 2011 01:31:41 +0000 (18:31 -0700)]
Unwind the stack on task failure

When a task fails, we will throw an exception, then catch it at the bottom of
the stack.

On Windows we don't do this yet because the exception doesn't propagate
correctly.

No cleanups yet.

Issue #236

12 years agoChild tasks take a ref to their parents
Brian Anderson [Wed, 7 Sep 2011 01:16:39 +0000 (18:16 -0700)]
Child tasks take a ref to their parents

This is so that when a child dies after the parent, it still holds a valid
pointer and can call supervisor->kill() safely.

12 years agoRewrite spawn yet again
Brian Anderson [Tue, 6 Sep 2011 21:03:20 +0000 (14:03 -0700)]
Rewrite spawn yet again

The motivation here is that the bottom of each stack needs to contain a C++
try/catch block so that we can unwind. This is already the case for main, but
not spawned tasks.

Issue #236

12 years agoBegin compiling with exceptions enabled
Brian Anderson [Sun, 4 Sep 2011 22:48:22 +0000 (15:48 -0700)]
Begin compiling with exceptions enabled

Issue #236

12 years agoRefactor task failure a bit
Brian Anderson [Sun, 4 Sep 2011 22:48:09 +0000 (15:48 -0700)]
Refactor task failure a bit

Issue #236

12 years agoWork around destructuring bug
Marijn Haverbeke [Wed, 7 Sep 2011 15:01:46 +0000 (17:01 +0200)]
Work around destructuring bug

12 years agoMake it possible to take the value of (and bind) native fns
Marijn Haverbeke [Wed, 7 Sep 2011 10:12:20 +0000 (12:12 +0200)]
Make it possible to take the value of (and bind) native fns

Closes #820

12 years agoForbid blocks from deinitializing upvars
Tim Chevalier [Tue, 6 Sep 2011 22:26:57 +0000 (15:26 -0700)]
Forbid blocks from deinitializing upvars

Move expressions where the RHS is an upvar are now forbidden within
block expressions.

12 years agoMerge remote-tracking branch 'graydon/master'
Tim Chevalier [Tue, 6 Sep 2011 22:27:45 +0000 (15:27 -0700)]
Merge remote-tracking branch 'graydon/master'

12 years agort: Implement poison-on-free, for debugging memory issues
Patrick Walton [Tue, 6 Sep 2011 21:15:01 +0000 (14:15 -0700)]
rt: Implement poison-on-free, for debugging memory issues

12 years agoMerge remote-tracking branch 'graydon/master'
Tim Chevalier [Tue, 6 Sep 2011 19:19:51 +0000 (12:19 -0700)]
Merge remote-tracking branch 'graydon/master'

12 years agoRemove unused runtime functions. Issue #855
Brian Anderson [Sat, 3 Sep 2011 07:50:57 +0000 (00:50 -0700)]
Remove unused runtime functions. Issue #855

12 years agoRegister new snapshots
Brian Anderson [Sat, 3 Sep 2011 07:47:11 +0000 (00:47 -0700)]
Register new snapshots

12 years agoAdd a rust_str typedef to the runtime. Issue #855
Brian Anderson [Sat, 3 Sep 2011 00:00:40 +0000 (17:00 -0700)]
Add a rust_str typedef to the runtime. Issue #855

12 years agoRename istr-stuff to str in the runtime. Issue #855
Brian Anderson [Fri, 2 Sep 2011 23:56:07 +0000 (16:56 -0700)]
Rename istr-stuff to str in the runtime. Issue #855

12 years agoRename istr-stuff to str in rustc. Issue #855
Brian Anderson [Fri, 2 Sep 2011 23:52:14 +0000 (16:52 -0700)]
Rename istr-stuff to str in rustc. Issue #855

12 years agoRename ty_istr to ty_str. Issue #855
Brian Anderson [Fri, 2 Sep 2011 23:45:00 +0000 (16:45 -0700)]
Rename ty_istr to ty_str. Issue #855

12 years agoPrint the type of istrs as 'str' in error messages. Issue #855
Brian Anderson [Fri, 2 Sep 2011 23:35:50 +0000 (16:35 -0700)]
Print the type of istrs as 'str' in error messages. Issue #855

12 years agoStop parsing transitional istr forms. Issue #855
Brian Anderson [Fri, 2 Sep 2011 23:33:40 +0000 (16:33 -0700)]
Stop parsing transitional istr forms. Issue #855

12 years agoRemove transitional code from combine-tests.py. Issue #855
Brian Anderson [Fri, 2 Sep 2011 23:45:53 +0000 (16:45 -0700)]
Remove transitional code from combine-tests.py. Issue #855

12 years agoReformat. Issue #855
Brian Anderson [Fri, 2 Sep 2011 22:34:58 +0000 (15:34 -0700)]
Reformat. Issue #855

12 years agoMerge remote-tracking branch 'graydon/master'
Tim Chevalier [Sat, 3 Sep 2011 02:44:18 +0000 (19:44 -0700)]
Merge remote-tracking branch 'graydon/master'

12 years agoAdd a constraint to trans::type_of
Tim Chevalier [Sat, 3 Sep 2011 01:59:22 +0000 (18:59 -0700)]
Add a constraint to trans::type_of

trans::type_of now has a constraint saying that its type argument
is statically sized. This eliminates the "impossible happened" case
in type_of. Yay!

I note that this change decreased translation time for stage2/rustc
from 16.1 s to 14.0 s. I also think many of the remaining checks
could be eliminated with some mildly clever use of constrained types
and further preconditions. Future work!

12 years agorustc: Zero out unique pointers after we drop them
Patrick Walton [Sat, 3 Sep 2011 00:51:03 +0000 (17:51 -0700)]
rustc: Zero out unique pointers after we drop them

12 years agoHandle if-check with no else correctly in typestate
Tim Chevalier [Sat, 3 Sep 2011 01:43:50 +0000 (18:43 -0700)]
Handle if-check with no else correctly in typestate

Propagate the if-check constraint into the consequent even when
there's no else branch. (Oops!)

12 years agorustc: Zero out unique pointers after we drop them
Patrick Walton [Sat, 3 Sep 2011 00:51:03 +0000 (17:51 -0700)]
rustc: Zero out unique pointers after we drop them

12 years agoRemove rustc::syntax::untyped_ast. Dead code
Brian Anderson [Fri, 2 Sep 2011 23:40:59 +0000 (16:40 -0700)]
Remove rustc::syntax::untyped_ast. Dead code

12 years agoRename std::vec::unsafe::ivec_repr to vec_repr. Issue #855
Brian Anderson [Fri, 2 Sep 2011 20:44:01 +0000 (13:44 -0700)]
Rename std::vec::unsafe::ivec_repr to vec_repr. Issue #855

12 years agoEliminate const_refcount. Issue #855
Brian Anderson [Fri, 2 Sep 2011 19:21:01 +0000 (12:21 -0700)]
Eliminate const_refcount. Issue #855

12 years agoRemove estrs and evecs from runtime. Issue #855
Brian Anderson [Fri, 2 Sep 2011 18:28:19 +0000 (11:28 -0700)]
Remove estrs and evecs from runtime. Issue #855

12 years agorustc: Root values spilled via do_spill()
Patrick Walton [Fri, 2 Sep 2011 22:12:27 +0000 (15:12 -0700)]
rustc: Root values spilled via do_spill()

12 years agort: Remove evecs from the shape code
Patrick Walton [Fri, 2 Sep 2011 17:49:03 +0000 (10:49 -0700)]
rt: Remove evecs from the shape code

12 years agotest: Add a test case for linearize_ty_params() and shapes
Patrick Walton [Fri, 2 Sep 2011 17:39:05 +0000 (10:39 -0700)]
test: Add a test case for linearize_ty_params() and shapes

12 years agorustc: Make the shape-emitting code aware of linearized type parameters
Patrick Walton [Fri, 2 Sep 2011 17:16:41 +0000 (10:16 -0700)]
rustc: Make the shape-emitting code aware of linearized type parameters

12 years agoRename ivecs to vecs in the compiler
Marijn Haverbeke [Fri, 2 Sep 2011 14:09:41 +0000 (16:09 +0200)]
Rename ivecs to vecs in the compiler

12 years agoRemove remaining evec support from trans
Marijn Haverbeke [Fri, 2 Sep 2011 13:32:37 +0000 (15:32 +0200)]
Remove remaining evec support from trans

12 years agoRemove lots of estr code from rustc. Issue #855
Brian Anderson [Fri, 2 Sep 2011 05:08:59 +0000 (22:08 -0700)]
Remove lots of estr code from rustc. Issue #855

12 years agoRemove #ifmt. Issue #855
Brian Anderson [Fri, 2 Sep 2011 01:50:49 +0000 (18:50 -0700)]
Remove #ifmt. Issue #855

12 years agoConvert all uses of #ifmt to #fmt. Issue #855
Brian Anderson [Fri, 2 Sep 2011 01:49:10 +0000 (18:49 -0700)]
Convert all uses of #ifmt to #fmt. Issue #855

12 years agoRegister new snapshots
Brian Anderson [Fri, 2 Sep 2011 01:42:46 +0000 (18:42 -0700)]
Register new snapshots

12 years agoMake #fmt and #ifmt synonymous. Issue #855
Brian Anderson [Fri, 2 Sep 2011 00:49:29 +0000 (17:49 -0700)]
Make #fmt and #ifmt synonymous. Issue #855

12 years agoUse #env to get the rustc version again. Issue #855
Brian Anderson [Fri, 2 Sep 2011 00:37:20 +0000 (17:37 -0700)]
Use #env to get the rustc version again. Issue #855

12 years agoAdd a constraint in trans
Tim Chevalier [Fri, 2 Sep 2011 00:25:06 +0000 (17:25 -0700)]
Add a constraint in trans

Experimenting with adding typestate constraints in the compiler.
Added a constraint to GEP_tag that says the variant index is in
bounds. Added necessary checks.

12 years agoDo less work in run-pass/task-comm.rs
Brian Anderson [Fri, 2 Sep 2011 00:33:39 +0000 (17:33 -0700)]
Do less work in run-pass/task-comm.rs

This test is not important enough to be taking so long

12 years agoRename std::istr to std::str. Issue #855
Brian Anderson [Fri, 2 Sep 2011 00:27:58 +0000 (17:27 -0700)]
Rename std::istr to std::str. Issue #855

12 years agoFix the error-patterns in 2 cfail tests. Issue #855
Brian Anderson [Fri, 2 Sep 2011 00:19:36 +0000 (17:19 -0700)]
Fix the error-patterns in 2 cfail tests. Issue #855

12 years agoParse "",str as istrs. Pretty print istrs as "",str. Issue #855
Brian Anderson [Thu, 1 Sep 2011 23:47:46 +0000 (16:47 -0700)]
Parse "",str as istrs. Pretty print istrs as "",str. Issue #855

12 years agoConvert some comm tests to istrs. Issue #855
Brian Anderson [Thu, 1 Sep 2011 23:39:51 +0000 (16:39 -0700)]
Convert some comm tests to istrs. Issue #855

These spawn thunks need to take move-mode strings to be correct

12 years agoMake GEP_tag take a uint instead of an int
Tim Chevalier [Thu, 1 Sep 2011 23:31:18 +0000 (16:31 -0700)]
Make GEP_tag take a uint instead of an int

Seems to make more sense and avoids the need for some casts.

12 years agoDeclare a bunch of int functions as pure
Tim Chevalier [Thu, 1 Sep 2011 23:30:38 +0000 (16:30 -0700)]
Declare a bunch of int functions as pure

12 years agoAdd a test that lambdas can't deinitialize upvars
Tim Chevalier [Thu, 1 Sep 2011 23:30:11 +0000 (16:30 -0700)]
Add a test that lambdas can't deinitialize upvars

12 years agoRemove std::str. Issue #855
Brian Anderson [Thu, 1 Sep 2011 23:09:15 +0000 (16:09 -0700)]
Remove std::str. Issue #855

12 years agoRemove estr conversion functions. Issue #855
Brian Anderson [Thu, 1 Sep 2011 22:55:39 +0000 (15:55 -0700)]
Remove estr conversion functions. Issue #855

12 years agoConvert rust_list_files to istrs. Issue #855
Brian Anderson [Thu, 1 Sep 2011 22:51:27 +0000 (15:51 -0700)]
Convert rust_list_files to istrs. Issue #855

12 years agoConvert rust_getcwd to istrs. Issue #855
Brian Anderson [Thu, 1 Sep 2011 22:07:35 +0000 (15:07 -0700)]
Convert rust_getcwd to istrs. Issue #855

12 years agoFactor out make_istr utility function in runtime. Issue #855
Brian Anderson [Thu, 1 Sep 2011 20:40:11 +0000 (13:40 -0700)]
Factor out make_istr utility function in runtime. Issue #855

12 years agoNo, not all fn constraints have the same args as the fn does, in the same order...
Tim Chevalier [Thu, 1 Sep 2011 22:31:48 +0000 (15:31 -0700)]
No, not all fn constraints have the same args as the fn does, in the same order...

derp!

Closes #862

12 years agoReduce the amount of locking in the kernel's memory region
Brian Anderson [Thu, 1 Sep 2011 21:18:38 +0000 (14:18 -0700)]
Reduce the amount of locking in the kernel's memory region

The only thing here that really needs locking on malloc and free is
access to the allocation list, which is only used for TRACK_ALLOCATIONS.

Improves bench/task-perf-vector-party by 70%.

12 years agoAdd a benchmark for cross-task kernel memory region synchronization
Brian Anderson [Thu, 1 Sep 2011 21:17:11 +0000 (14:17 -0700)]
Add a benchmark for cross-task kernel memory region synchronization

Vectors are allocated from the kernel's memory region, which has some heinous
synchronization. This is a stress test of vector allocation in many tasks.

12 years agoRemove misleading outdated comment in alias.rs
Marijn Haverbeke [Thu, 1 Sep 2011 20:37:52 +0000 (22:37 +0200)]
Remove misleading outdated comment in alias.rs

12 years agoBack out copy-glue
Marijn Haverbeke [Wed, 24 Aug 2011 15:05:53 +0000 (17:05 +0200)]
Back out copy-glue

This wasn't a good idea after all.

12 years agoRemove the last use of istr::to_estr from rustc. Issue #855
Brian Anderson [Thu, 1 Sep 2011 20:21:29 +0000 (13:21 -0700)]
Remove the last use of istr::to_estr from rustc. Issue #855

12 years agoConvert rust_file_is_dir from estrs to cstrs. Issue #855
Brian Anderson [Thu, 1 Sep 2011 19:58:24 +0000 (12:58 -0700)]
Convert rust_file_is_dir from estrs to cstrs. Issue #855

12 years agoCheck error code in rust_file_is_dir. Prevent comparison of uninitialized mem
Brian Anderson [Thu, 1 Sep 2011 19:38:36 +0000 (12:38 -0700)]
Check error code in rust_file_is_dir. Prevent comparison of uninitialized mem

12 years agoTest for #876
Tim Chevalier [Thu, 1 Sep 2011 19:27:49 +0000 (12:27 -0700)]
Test for #876

This is the test case for #876. Xfailed for now.

12 years agoRegister new snapshots
Brian Anderson [Thu, 1 Sep 2011 20:01:40 +0000 (13:01 -0700)]
Register new snapshots

12 years agoRemove a few more istr conversions. Issue #855
Brian Anderson [Thu, 1 Sep 2011 06:46:44 +0000 (23:46 -0700)]
Remove a few more istr conversions. Issue #855

12 years agoAllow istrs as patterns. Issue #855
Brian Anderson [Thu, 1 Sep 2011 05:34:41 +0000 (22:34 -0700)]
Allow istrs as patterns. Issue #855

12 years agoRemove some uses of str_buf builtin. Issue #855
Brian Anderson [Thu, 1 Sep 2011 05:14:49 +0000 (22:14 -0700)]
Remove some uses of str_buf builtin. Issue #855

12 years agoConvert main functions to istrs. Issue #855
Brian Anderson [Thu, 1 Sep 2011 04:42:05 +0000 (21:42 -0700)]
Convert main functions to istrs. Issue #855

12 years agoRemove various istr conversions. Issue #855
Brian Anderson [Thu, 1 Sep 2011 04:05:45 +0000 (21:05 -0700)]
Remove various istr conversions. Issue #855

12 years agoConsolidate std::str tests into stdtest::str
Brian Anderson [Thu, 1 Sep 2011 01:51:24 +0000 (18:51 -0700)]
Consolidate std::str tests into stdtest::str

12 years agoRemove a bunch of string builtins. Issue #855
Brian Anderson [Thu, 1 Sep 2011 01:47:29 +0000 (18:47 -0700)]
Remove a bunch of string builtins. Issue #855

12 years agoDelete parts of std::str that are no longer exported. Issue #855
Brian Anderson [Thu, 1 Sep 2011 01:26:19 +0000 (18:26 -0700)]
Delete parts of std::str that are no longer exported. Issue #855

12 years agoRemove last users of str::sbuf. Issue #855
Brian Anderson [Thu, 1 Sep 2011 00:34:50 +0000 (17:34 -0700)]
Remove last users of str::sbuf. Issue #855

12 years agoRemove more functions from std::str. Issue #855
Brian Anderson [Thu, 1 Sep 2011 00:05:50 +0000 (17:05 -0700)]
Remove more functions from std::str. Issue #855

12 years agoConvert std::test to istrs. Issue #855
Brian Anderson [Wed, 31 Aug 2011 23:56:38 +0000 (16:56 -0700)]
Convert std::test to istrs. Issue #855

12 years agoRemove the estr #fmt. Issue #855
Brian Anderson [Wed, 31 Aug 2011 23:45:52 +0000 (16:45 -0700)]
Remove the estr #fmt. Issue #855

12 years agoConvert fs::path_is_absolute internals to istrs. Issue #855
Brian Anderson [Wed, 31 Aug 2011 23:38:09 +0000 (16:38 -0700)]
Convert fs::path_is_absolute internals to istrs. Issue #855

12 years agort: Allow iteration over the dynastack
Patrick Walton [Thu, 1 Sep 2011 18:47:11 +0000 (11:47 -0700)]
rt: Allow iteration over the dynastack

12 years agort: Make logging more resilient to null vector pointers (useful when debugging GC)
Patrick Walton [Thu, 1 Sep 2011 18:46:36 +0000 (11:46 -0700)]
rt: Make logging more resilient to null vector pointers (useful when debugging GC)

12 years agort: Make debug string in rust_obstack slightly prettier
Patrick Walton [Thu, 1 Sep 2011 18:45:20 +0000 (11:45 -0700)]
rt: Make debug string in rust_obstack slightly prettier

12 years agort: Zero out dynamic allocas for now
Patrick Walton [Thu, 1 Sep 2011 18:44:59 +0000 (11:44 -0700)]
rt: Zero out dynamic allocas for now