Graydon Hoare
9ee0137018
Refactor reflect.rs, begin visiting type substructures.
2012-06-07 13:51:41 -07:00
Brian Anderson
5f4837ad6a
core: Start on a stack walker
2012-06-06 23:39:56 -07:00
Brian Anderson
125552fb19
rustc: Add frame_address intrinsic
2012-06-06 23:39:56 -07:00
Graydon Hoare
3251bd690e
Fix some copy-paste bugs in visit glue, un-xfail reflect-visit-type.
2012-06-06 19:38:56 -07:00
Michael Sullivan
d542e67827
Do some cleanup of the allocation code.
2012-06-06 18:26:47 -07:00
Tim Chevalier
a6c92f0a17
Revert "Revert "Merge pull request #2516 from mozilla/incoming" due to failures"
...
This reverts commit 9fae95860de510f6874810cf43efb83f101246ef.
2012-06-06 15:08:24 -07:00
Tim Chevalier
fec3b91a3c
In reachability, visit class ctors
2012-06-05 21:17:16 -07:00
Tim Chevalier
8972588583
Dereference classes with dtors only on a field access
...
A class with a dtor has a different representation (a pair of a bit field
and a pointer to the class itself), and previously, the trans code
was selecting out the second field on any reference to a variable whose
type was a class with a dtor. This turned out to be wrong in the case where
a closure captures a variable with such a type. Changed the code to only
insert the field selection on a class field access.
2012-06-05 15:11:33 -07:00
Tim Chevalier
ebde93861f
Allow classes with dtors to be used before declaration
...
get_item_val could generate an internal compiler error if a class with
a dtor was used before the class itself got translated, because it was
assuming that the dtor's node ID was always in the item_symbols table. Fixed
it to create a new symbol if necessary, and use it subsequently.
2012-06-05 15:11:33 -07:00
Brian Anderson
d3c641678e
rustc: Put uniques into addrspace 1
2012-06-05 14:03:25 -07:00
Niko Matsakis
01b5777c8b
prohibit type parameters in native fns and other minor fixes
...
trans now can safely assert that it never sees a type param
2012-06-03 20:03:08 -07:00
Niko Matsakis
3f6e6532ac
make vec fns/methods take imm slices.
...
this also repairs the unsoundness in typing of unpack_slice,
which was silently converting a const ptr to an imm one.
2012-06-02 19:14:57 -07:00
Lindsey Kuper
7d0755529e
Add ty_var_integral (WIP on issue #1425 ).
2012-06-02 11:19:27 -07:00
Niko Matsakis
77c470d183
Allow rcvrs to be borrowed; check rcvrs in borrowck properly
2012-06-02 10:08:04 -07:00
Brian Anderson
4b7e40d817
rustc: Remove debug logging
2012-05-30 21:23:34 -07:00
Brian Anderson
a2bbdd3f52
rt: Remove upcall_shared_malloc/free/realloc
2012-05-30 21:23:34 -07:00
Brian Anderson
80dc2e11a1
rustc: Remove the last use of upcall_shared_malloc
2012-05-30 21:23:34 -07:00
Brian Anderson
54d42c4d74
rustc: Make trans handle self-describing strings
2012-05-30 21:23:34 -07:00
Brian Anderson
09a1b94907
Various changes for self-describing vecs
2012-05-30 21:23:34 -07:00
Brian Anderson
c6a23cddfb
rustc: Make unique closures use the new unique allocator
2012-05-30 21:23:34 -07:00
Brian Anderson
654f7e3086
rustc: Make unique boxes self-describing
2012-05-30 21:23:34 -07:00
Brian Anderson
45933ca485
rustc: Add some methods for trans for mallocing uniques
2012-05-30 21:23:34 -07:00
Brian Anderson
6d37c90ce6
rustc: Remove tuplify_cbox_ty. Unused
2012-05-30 21:23:33 -07:00
Michael Sullivan
ea8d4d7f17
Properly sign extend array indexes. Closes #2468 .
2012-05-30 17:09:52 -07:00
Niko Matsakis
1f4b3cfc36
zero out alloca for preserving values
...
conservatively do it always for now
2012-05-30 11:26:15 -07:00
Niko Matsakis
555492e427
port alt to dvec
2012-05-30 11:26:15 -07:00
Niko Matsakis
653a1f8781
integrate purity into type
2012-05-30 11:26:15 -07:00
Niko Matsakis
37b78b48e3
modify shape code to only emit monomorphized enums ( #2444 )
...
this is hacky, but shape code is going away anyway and I didn't
want to invest too much effort into it
2012-05-29 15:12:36 -07:00
Tim Chevalier
ccc7651b48
In reachability, don't ignore nested items
...
Reachability was considering nested items to be unreachable, which
was causing the bug in #2383 . Once I fixed that, I also had to make
impl::make_impl_vtable instantiate methods where necessary, before
calling monomorphic_fn.
Closes #2383
2012-05-29 14:40:35 -07:00
Eric Holk
aa2efc05ea
Adding shared_arc to hide some of the tedium of sharing an arc between tasks.
...
Also added some asserts and logging to trans.
Modified graph500 to use the shared_arc, but this unfortunately doesn't work due to #2444 .
2012-05-29 10:43:19 -07:00
Graydon Hoare
e0f0c5c1ab
Remove bad Load in make_visit_glue, un-xfail reflect-visit-type.rs.
2012-05-28 13:19:31 -07:00
Brian Anderson
432c6cbde9
core: Make range follow the for loop protocol
2012-05-26 02:28:00 -07:00
Niko Matsakis
269bc6fb5c
fix warning
2012-05-25 17:14:17 -07:00
Michael Sullivan
8668d06400
Get rid of many implicit copies as a preliminary to Issue #2448 .
2012-05-25 16:39:35 -07:00
Michael Sullivan
174f789e0b
Add hack to silence the annoying liveness warning in trans/base.rs.
2012-05-25 15:34:09 -07:00
Niko Matsakis
9e6a068034
replace last_use with liveness info
2012-05-25 14:37:30 -07:00
Niko Matsakis
ccd8d5573e
remove dead assignments
2012-05-24 13:35:57 -07:00
Brian Anderson
f9d0cde19a
syntax: Remove one of the two def_id hashers
2012-05-23 00:45:18 -07:00
Brian Anderson
4756556748
rustc: Move new_def_hash to ast_util
2012-05-23 00:43:02 -07:00
Tim Chevalier
ed357af980
Convert more resource tests to use classes with dtors
...
And monomorphize dtors correctly.
2012-05-22 22:12:18 -04:00
Michael Sullivan
15cef374b9
Get rid of the >>> operator and make >> logical or arithmetic depending on the signedness. Closes #2417 .
2012-05-22 14:59:15 -07:00
Niko Matsakis
073f90cdc4
introduce some copies so we are not alting into mut state
2012-05-22 05:21:13 -07:00
Brian Anderson
9aa18c2852
rustc: Move ast_map to the syntax crate
2012-05-21 23:39:27 -07:00
Brian Anderson
85d67723ee
rustc: Move path_to_ident to ast_util
2012-05-21 22:41:59 -07:00
Niko Matsakis
34b42eeb65
change list so that it must be used in a purely boxed fashion
...
The old way was inconsistent---the head was unboxed but the
tail was boxed. This resulted in numerous needless copies and
also made the borrow check unhappy, because the head tended to be
stored in mutable memory.
2012-05-21 09:37:34 -07:00
Niko Matsakis
774ea145ec
make more code use dvec
2012-05-18 20:00:51 -07:00
Niko Matsakis
c9edc0f0a1
introduce a few copies here and there
2012-05-18 20:00:50 -07:00
Niko Matsakis
19ec5a41ed
allow region ptrs to be cast to uints
2012-05-18 19:07:19 -07:00
Niko Matsakis
f1a46914c4
add a new debugging aid--tracing
2012-05-18 19:07:19 -07:00
Eric Holk
0eed37da29
Using const vector slices for more vec functions.
2012-05-18 16:55:42 -07:00