<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/libsyntax/parse/token.rs, branch 0.9</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=0.9</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=0.9'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2013-12-15T18:41:15+00:00</updated>
<entry>
<title>libsyntax: Implement the new `box` syntax for unique pointers.</title>
<updated>2013-12-15T18:41:15+00:00</updated>
<author>
<name>Patrick Walton</name>
<email>pcwalton@mimiga.net</email>
</author>
<published>2013-12-12T18:42:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=775ccadd255a034745e2b741434bd6a159a10869'/>
<id>urn:sha1:775ccadd255a034745e2b741434bd6a159a10869</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Separate strict/reserved keywords, derive bounds.</title>
<updated>2013-12-11T04:15:55+00:00</updated>
<author>
<name>Chris Morgan</name>
<email>me@chrismorgan.info</email>
</author>
<published>2013-12-11T04:15:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=dd042efa7e109dee88241358f88a0c8bb57e9269'/>
<id>urn:sha1:dd042efa7e109dee88241358f88a0c8bb57e9269</id>
<content type='text'>
It's twenty lines longer, but makes for clearer separation of strict and
reserved keywords (probably a good thing) and removes another moving
part (the definitions of `(STRICT|RESERVED)_KEYWORD_(START|FINAL)`).
</content>
</entry>
<entry>
<title>Remove the following unused special identifiers:</title>
<updated>2013-12-11T03:46:16+00:00</updated>
<author>
<name>Chris Morgan</name>
<email>me@chrismorgan.info</email>
</author>
<published>2013-12-11T03:46:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=d4f5ae0118678a8cea666619303727408e6255aa'/>
<id>urn:sha1:d4f5ae0118678a8cea666619303727408e6255aa</id>
<content type='text'>
- underscore           ("_")
- unary                ("unary")
- not_fn               ("!")
- idx_fn               ("[]")
- unary_minus_fn       ("unary-")
- item                 ("item")
- block                ("block")
- stmt                 ("stmt")
- pat                  ("pat")
- expr                 ("expr")
- ty                   ("ty")
- ident                ("ident")
- path                 ("path")
- descrim              ("descrim")
- clownshoe_stack_shim ("__rust_stack_shim")
- blk                  ("blk")
- c_abi                ("C")

(And, of course, renumber everything to match.)
</content>
</entry>
<entry>
<title>Deduplicate in syntax::parse::token with a macro.</title>
<updated>2013-12-10T22:52:05+00:00</updated>
<author>
<name>Chris Morgan</name>
<email>me@chrismorgan.info</email>
</author>
<published>2013-12-10T06:08:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=267ac45f410e29a8fa52843c9afa58e56cc33479'/>
<id>urn:sha1:267ac45f410e29a8fa52843c9afa58e56cc33479</id>
<content type='text'>
I also renumbered things at the same time; ``in`` was shifted into its
alphabetical position and the reserved keywords were reordered (a couple
of them were out of order).
</content>
</entry>
<entry>
<title>Box Block, fn_decl, variant and Ty in the AST, as they were inflating critical enum sizes.</title>
<updated>2013-11-30T22:00:39+00:00</updated>
<author>
<name>Eduard Burtescu</name>
<email>edy.burt@gmail.com</email>
</author>
<published>2013-11-30T22:00:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=a9c4b18b18bd3f5fd4a4c20489f37c52d106fc81'/>
<id>urn:sha1:a9c4b18b18bd3f5fd4a4c20489f37c52d106fc81</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Register new snapshots</title>
<updated>2013-11-29T04:27:56+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2013-11-28T20:22:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=ab387a68388974a432951e806851936898907fd0'/>
<id>urn:sha1:ab387a68388974a432951e806851936898907fd0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>auto merge of #10670 : eddyb/rust/node-u32, r=alexcrichton</title>
<updated>2013-11-27T06:07:44+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2013-11-27T06:07:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=faf4c939fb6c55f0b9d19b1292fa4601169b3c17'/>
<id>urn:sha1:faf4c939fb6c55f0b9d19b1292fa4601169b3c17</id>
<content type='text'>
### Rationale
There is no reason to support more than 2³² nodes or names at this moment, as compiling something that big (even without considering the quadratic space usage of some analysis passes) would take at least **64GB**.
Meanwhile, some can't (or barely can) compile rustc because it requires almost **1.5GB**.

### Potential problems
Can someone confirm this doesn't affect metadata (de)serialization? I can't tell myself, I know nothing about it.

### Results
Some structures have a size reduction of 25% to 50%: [before](https://gist.github.com/luqmana/3a82a51fa9c86d9191fa) - [after](https://gist.github.com/eddyb/5a75f8973d3d8018afd3).
Sadly, there isn't a massive change in the memory used for compiling stage2 librustc (it doesn't go over **1.4GB** as [before](http://huonw.github.io/isrustfastyet/mem/), but I can barely see the difference).
However, my own testcase (previously peaking at **1.6GB** in typeck) shows a reduction of **200**-**400MB**.
</content>
</entry>
<entry>
<title>Shink NodeId, CrateNum, Name and Mrk down to 32 bits on x64.</title>
<updated>2013-11-27T05:02:25+00:00</updated>
<author>
<name>Eduard Burtescu</name>
<email>edy.burt@gmail.com</email>
</author>
<published>2013-11-27T05:02:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=7ed27b5531ef25a366ab9e0fe537b7053244b947'/>
<id>urn:sha1:7ed27b5531ef25a366ab9e0fe537b7053244b947</id>
<content type='text'>
</content>
</entry>
<entry>
<title>libsyntax: Remove all non-`proc` `do` syntax.</title>
<updated>2013-11-26T16:24:18+00:00</updated>
<author>
<name>Patrick Walton</name>
<email>pcwalton@mimiga.net</email>
</author>
<published>2013-11-21T00:23:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=efc512362b0f2ae200ef079e3566c6b158a857cc'/>
<id>urn:sha1:efc512362b0f2ae200ef079e3566c6b158a857cc</id>
<content type='text'>
</content>
</entry>
<entry>
<title>libsyntax/librustc: Allow calling variadic foreign functions.</title>
<updated>2013-11-05T04:53:11+00:00</updated>
<author>
<name>Luqman Aden</name>
<email>laden@csclub.uwaterloo.ca</email>
</author>
<published>2013-10-25T05:56:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=c669ccf3d30da3eb505832d0872bf03607eb98eb'/>
<id>urn:sha1:c669ccf3d30da3eb505832d0872bf03607eb98eb</id>
<content type='text'>
</content>
</entry>
</feed>
