Brian Anderson
5d54defce4
core: Add extension methods for vec
2012-03-29 20:56:50 -07:00
Brian Anderson
f65ea0c812
core: Add extension methods for option
2012-03-29 20:56:50 -07:00
Brian Anderson
392d3c8d44
core: Add extension methods for str
2012-03-29 20:56:50 -07:00
Niko Matsakis
35a3fa0999
add some comments explaining how the tables work
2012-03-29 19:41:09 -07:00
Niko Matsakis
2b45da8a33
refactor to store the types during inference in tables in the fcx
...
this is a step towards separating out the repr. of
types during inference from the repr. in later stages.
2012-03-29 19:41:09 -07:00
Niko Matsakis
f682b99e36
generate correct constraints for assignments
2012-03-29 19:41:09 -07:00
Niko Matsakis
76d0a13ae5
resolve type variables with no constraints to bot
2012-03-29 19:41:09 -07:00
Brian Anderson
f452973a7f
build: Add --enable-debug configure option
...
When CFG_ENABLE_DEBUG is defined it will call rustc with -g --cfg=debug
and cc with -DRUST_DEBUG. Otherwise it calls rustc with --cfg=ndebug and cc
with -DRUST_NDEBUG.
I plan to use this for a few things in the runtime.
2012-03-29 19:10:38 -07:00
Brian Anderson
5b3740508a
test: Prevent run-fail/too-much-recursion from being optimized to nothing
2012-03-29 16:43:18 -07:00
Brian Anderson
b17145b4ae
rt: Track backtraces of all allocations with RUSTRT_TRACK_ALLOCATIONS=3
2012-03-29 16:43:18 -07:00
Brian Anderson
3ff01361d5
rt: Make the CC sweep use the box annihilator
2012-03-29 16:43:18 -07:00
Brian Anderson
ad26b00696
rustc: Generate fewer landing pads
2012-03-29 16:43:18 -07:00
Brian Anderson
15de9b3c95
rt: Make the box annihilator walk and delete contents
2012-03-29 16:43:18 -07:00
Brian Anderson
5747fe7a2c
rt: For now, only run the box annihilator after task failure
2012-03-29 16:43:18 -07:00
Brian Anderson
7f9ed39040
rustc: Only invoke when there are cleanups
2012-03-29 16:43:18 -07:00
Brian Anderson
8780db2e0b
rustc: Delete some unused invoke code
2012-03-29 16:43:18 -07:00
Brian Anderson
b420f46f03
rustc: Don't generate landing pad cleanups for boxy things
2012-03-29 16:43:18 -07:00
Brian Anderson
3a7a408386
rt: Free all outstanding boxes at task death
2012-03-29 16:43:18 -07:00
Brian Anderson
106c9faa59
rustc: Move ext to librustsyntax
2012-03-29 14:42:31 -07:00
Brian Anderson
14e9f58b50
build: Add librustsyntax to snapshots
2012-03-29 14:42:31 -07:00
Brian Anderson
0e87039348
rustc: Remove the rustsyntax::attr wrapper in front
2012-03-29 14:42:31 -07:00
Brian Anderson
ba69a738c7
rustc: Cleanup
2012-03-29 14:42:31 -07:00
Brian Anderson
442d0a783a
rustc: Move attr, parse, print to rustsyntax
2012-03-29 14:42:31 -07:00
Brian Anderson
15947f8b19
rustc: Move lexer and token to rustsyntax
2012-03-29 14:42:30 -07:00
Brian Anderson
ce216a5533
rustc: Remove the session dependency from front::attr
2012-03-29 14:42:30 -07:00
Brian Anderson
cb2840bcaf
rustc: Add an accessor to get the diagnostic handler from the session
2012-03-29 14:42:30 -07:00
Brian Anderson
8f809f89d9
rustc: Move diagnostic to rustsyntax
2012-03-29 14:42:30 -07:00
Brian Anderson
5c25e78b27
rustc: Move fold to rustsyntax
2012-03-29 14:42:30 -07:00
Brian Anderson
454df53464
rustc: Move interner to rustsyntax
2012-03-29 14:42:30 -07:00
Brian Anderson
9e299f53f4
rustc: Move ast, ast_util, visit to rustsyntax
2012-03-29 14:42:30 -07:00
Brian Anderson
140151f3f9
rustc: Move codemap to rustsyntax
2012-03-29 14:42:30 -07:00
Brian Anderson
a0ed1fb20b
build: Introduce rustsyntax crate
2012-03-29 14:42:30 -07:00
Tim Chevalier
c7082ce8e8
Require "self" as base expression for intra-class method or field references
...
All field or method references within a class must begin with "self." now.
A bare reference to a field or method in the same class will no longer
typecheck.
2012-03-29 12:22:01 -07:00
Patrick Walton
c2f28e231f
stdlib: Remove the now-obsolete vec::alloc_len in favor of vec::capacity
2012-03-29 08:57:34 -07:00
Patrick Walton
8774493dd3
test: Rewrite binarytrees to use arenas
...
Perf isn't bad now. Still 50% slower than Java, but faster than other GC'd languages.
2012-03-29 08:41:26 -07:00
Patrick Walton
166d14e42d
stdlib: Actually increase arena chunk sizes by powers of two
2012-03-29 08:41:26 -07:00
Patrick Walton
b210c7ad97
stdlib: Allow the fast path of arena allocation to be CCI'd. 15% improvement on binary-trees.
2012-03-29 08:41:26 -07:00
Patrick Walton
1d25594657
rustc: Add a vec::alloc_len and fix arena logic to use it
2012-03-29 08:41:26 -07:00
Patrick Walton
5ce3d35f41
rustc: Don't zero out arena chunks with vec::from_elem; that's slow because it calls the glue.
2012-03-29 08:41:25 -07:00
Patrick Walton
2663018792
rustc: Fix an infinite loop during size calculations for recursive region pointer types
2012-03-29 08:41:25 -07:00
Patrick Walton
6f0cbf4cd4
stdlib: Fix a pointer mistake in arenas
2012-03-29 08:41:25 -07:00
Brian Anderson
0d5d2e5e14
core: Don't use upcall_vec_grow from str::push_char
2012-03-29 00:20:05 -07:00
Grahame Bowland
7a87258155
Rewrite str::push_char in rust.
...
Avoid crossing to C to reallocate underlying array when possible,
if we must we now only cross once per char (not once per byte.)
2012-03-29 00:20:05 -07:00
Brian Anderson
b7b66b6cb3
core: Don't call into the runtime to reserve if we have capacity
2012-03-29 00:20:05 -07:00
Brian Anderson
c0a99790cb
core: Add str::capacity
2012-03-29 00:20:05 -07:00
Brian Anderson
ad21976fbc
core: Add vec::capacity
2012-03-29 00:20:05 -07:00
Brian Anderson
5e42c5cf19
core: Add str::reserve_at_least
2012-03-29 00:20:05 -07:00
Brian Anderson
b3d7823381
core: Add and use vec::reserve_at_least
...
This reserves in powers of two
2012-03-29 00:20:05 -07:00
Brian Anderson
8e743b2981
core: Improve docs for str::reserve
2012-03-29 00:20:05 -07:00
Brian Anderson
1446534271
core: Clarify docs on vec::reserve
2012-03-29 00:20:05 -07:00