rust/src/libsyntax
bors 63c62bea3a auto merge of #8420 : blake2-ppc/rust/shrink-token, r=cmr
`enum Token` was 192 bytes (64-bit), as pointed out by pnkfelix; the only
bloating variant being `INTERPOLATED(nonterminal)`.

Updating `enum nonterminal` to use ~ where variants included big types,
shrunk size_of(Token) to 32 bytes (64-bit).

I am unsure if the `nt_ident` variant should have an indirection, with
ast::ident being only 16 bytes (64-bit), but without this, enum Token
would be 40 bytes.

A dumb benchmark says that compilation time is unchanged, while peak
memory usage for compiling std.rs is down 3%

Before::

    $ time ./x86_64-unknown-linux-gnu/stage1/bin/rustc --cfg stage1 src/libstd/std.rs
    19.00user 0.39system 0:19.41elapsed 99%CPU (0avgtext+0avgdata 627820maxresident)k
    0inputs+28896outputs (0major+228665minor)pagefaults 0swaps
    $ time ./x86_64-unknown-linux-gnu/stage1/bin/rustc -O --cfg stage1 src/libstd/std.rs
    31.64user 0.34system 0:32.02elapsed 99%CPU (0avgtext+0avgdata 629876maxresident)k
    0inputs+22432outputs (0major+229411minor)pagefaults 0swaps

After::

    $ time ./x86_64-unknown-linux-gnu/stage1/bin/rustc --cfg stage1 src/libstd/std.rs
    19.07user 0.45system 0:19.55elapsed 99%CPU (0avgtext+0avgdata 609384maxresident)k
    0inputs+28896outputs (0major+221997minor)pagefaults 0swaps

    $ time ./x86_64-unknown-linux-gnu/stage1/bin/rustc -O --cfg stage1 src/libstd/std.rs
    31.90user 0.34system 0:32.28elapsed 99%CPU (0avgtext+0avgdata 612080maxresident)k
    0inputs+22432outputs (0major+223726minor)pagefaults 0swaps
2013-08-11 10:50:10 -07:00
..
ext auto merge of #8420 : blake2-ppc/rust/shrink-token, r=cmr 2013-08-11 10:50:10 -07:00
parse syntax: Shrink enum Token and enum nonterminal 2013-08-11 06:56:07 +02:00
print std/rustc/rustpkg/syntax: Support the extern mod = ... form 2013-08-09 14:11:50 -07:00
util remove obsolete foreach keyword 2013-08-03 22:48:02 -04:00
abi.rs Updated std::Option, std::Either and std::Result 2013-08-05 22:42:21 +02:00
ast.rs std/rustc/rustpkg/syntax: Support the extern mod = ... form 2013-08-09 14:11:50 -07:00
ast_map.rs Make node_id_to_str print more useful info in some cases. Closes #2410. 2013-08-05 10:33:55 -07:00
ast_util.rs Mass rename of .consume{,_iter}() to .move_iter() 2013-08-10 07:01:07 -07:00
attr.rs std: Transform.find_ -> .find 2013-08-10 07:33:22 -07:00
codemap.rs auto merge of #8278 : cmr/rust/workaround, r=brson 2013-08-05 20:07:59 -07:00
diagnostic.rs core: option.map_consume -> option.map_move 2013-08-07 08:52:09 -07:00
fold.rs std: Rename Iterator.transform -> .map 2013-08-10 07:33:21 -07:00
oldvisit.rs rm obsolete for support from the compiler 2013-08-04 00:39:48 -04:00
opt_vec.rs Merge branch 'enum-method-privacy' of https://github.com/michaelwoerister/rust into rollup 2013-08-10 12:59:52 -07:00
syntax.rs Add initial support for a new formatting syntax 2013-08-07 19:21:43 -07:00
visit.rs rm obsolete for support from the compiler 2013-08-04 00:39:48 -04:00