Commit Graph

2716 Commits

Author SHA1 Message Date
Brian Anderson
26516dc8d2 Convert rustc::syntax::token to istrs. Issue 2011-08-27 15:54:45 -07:00
Brian Anderson
58dedcd090 Convert lexer to istrs. Issue 2011-08-27 15:54:45 -07:00
Brian Anderson
d2ae28fc99 Convert rustc::util to istrs. Issue 2011-08-27 15:54:45 -07:00
Brian Anderson
54691f9a6c Convert rustc::metadata to istrs. Issue 2011-08-27 15:54:45 -07:00
Brian Anderson
7d70685eef Convert the rest of rustc::middle to istrs. Issue 2011-08-27 15:54:45 -07:00
Brian Anderson
9e01e05f3b Convert rustc::middle::trans to istrs. Issue 2011-08-27 15:54:45 -07:00
Brian Anderson
f09ef6ec66 Convert rest of the AST to istrs. Issue 2011-08-27 15:54:45 -07:00
Brian Anderson
f603e912ee Convert local_ctxt to istrs. Issue 2011-08-27 15:54:45 -07:00
Brian Anderson
afe27d461c Convert crate_ctxt to istrs. Issue 2011-08-27 15:54:45 -07:00
Brian Anderson
32b4524806 Convert middle::trans_common to istrs. Issue 2011-08-27 15:54:44 -07:00
Brian Anderson
fcdbdaf2ab Convert the rest of rustc::lib::llvm to istrs. Issue 2011-08-27 15:54:44 -07:00
Brian Anderson
d7fa75413f Convert rustc::lib::llvm to istr::sbufs. Issue 2011-08-27 15:54:44 -07:00
Brian Anderson
7284f820d5 Support istrs in #fmt. Issue
The format string may be an istr and istr args may be used with %S
2011-08-27 15:54:44 -07:00
Brian Anderson
6b3f0b21be Convert the rest of rustc::back to istrs. Issue 2011-08-27 15:54:44 -07:00
Brian Anderson
a58bfced3c Convert back::link to istrs. Issue 2011-08-27 15:54:44 -07:00
Brian Anderson
9c9c5c9054 Remove ast::identistr. Issue 2011-08-27 15:54:44 -07:00
Brian Anderson
03119fe269 Convert ast::ident to istr. Issue 2011-08-27 15:54:44 -07:00
Brian Anderson
652332f9d4 Convert std::map::new_str_hash to istrs. Issue 2011-08-27 15:54:44 -07:00
Brian Anderson
15e3ae7936 Convert std::os to istrs. Issue 2011-08-27 15:54:44 -07:00
Brian Anderson
85b4253bc1 Convert std::generic_os to istrs. Issue 2011-08-27 15:54:43 -07:00
Brian Anderson
b2408d57f0 Convert portions of rustc to istrs. Recover a lot of performance.
Issue 
2011-08-27 15:54:43 -07:00
Brian Anderson
fcc031c5b4 Convert std::io to istrs. Issue 2011-08-27 15:54:43 -07:00
Brian Anderson
20178b9312 Convert std::run to istrs. Issue 2011-08-27 15:53:09 -07:00
Brian Anderson
4cf2e510e0 Convert std::getopts to istrs. Issue 2011-08-27 15:53:09 -07:00
Brian Anderson
c2eafd268b Convert std::fs to istrs. Issue 2011-08-27 15:53:09 -07:00
Brian Anderson
051f1ff562 Convert std::sha1 to istrs. Issue 2011-08-27 15:53:09 -07:00
Brian Anderson
53be480d20 Convert std::int to istrs. Issue 2011-08-27 15:53:08 -07:00
Brian Anderson
ee2a11eb4f Convert std::uint to istrs. Issue 2011-08-27 15:53:08 -07:00
Brian Anderson
805e3098c5 Don't output bogus spans when reporting a message without one.
Emacs gets confused by <input>:0:0:0:0:
2011-08-27 15:45:11 -07:00
Brian Anderson
609e38d8e7 Output error spans that don't confuse emacs compilation mode. Closes 2011-08-27 15:39:53 -07:00
Eric Holk
640886ceb6 Polymorphic MapReduce! 2011-08-26 18:03:33 -07:00
Eric Holk
78f07a1453 Deleting trailing whitespace 2011-08-26 18:03:32 -07:00
Patrick Walton
5fe80a0d48 rt: Allow closures to be logged 2011-08-26 17:05:59 -07:00
Paul Stansifer
230a5869b4 Bugfix. --pretty typed requires expansion. Closes . 2011-08-26 15:13:57 -07:00
Brian Anderson
22d4641a30 Fix invalid reads of cstrs in trans 2011-08-26 14:03:22 -07:00
Brian Anderson
2744bcd693 Revert "Use cstrcache in C_str, C_cstr, C_shape."
This reverts commit d5173b1f2c.
2011-08-26 13:58:26 -07:00
Brian Anderson
f0820662c9 Revert "Add rustc::middle::cstrcache for getting c string bufs safely"
This reverts commit 4e136d1fd9.
2011-08-26 13:58:19 -07:00
Brian Anderson
d5173b1f2c Use cstrcache in C_str, C_cstr, C_shape.
This fixes up the current leaks.
2011-08-26 13:20:23 -07:00
Brian Anderson
4e136d1fd9 Add rustc::middle::cstrcache for getting c string bufs safely
We continue to leak string buffers in trans so this creates a way to get c
string buffers from strings while guaranteeing that they are not freed before
use.

Hopefully this can be made efficient in the istr regime.
2011-08-26 13:20:23 -07:00
Tim Chevalier
c02f346e2c Revert "Revert "Use typestate constraints for trans_be""
This reverts commit b0db13956f.

(Should work now that we have a new snapshot)
2011-08-26 10:14:58 -07:00
Marijn Haverbeke
5917d80cd7 Pass stuff to take_ty, free_ty, and drop_ty by address, even when immediate
The glue-calling will spill the values again anyway. This should
prevent a lot of load/spill junk in the output. It is also necessary
to be able to have unique vecs be immediate values (take must know the
actual address to be able to duplicate).
2011-08-26 11:20:10 +02:00
Tim Chevalier
b0db13956f Revert "Use typestate constraints for trans_be"
This reverts commit 1b60bba141.
(Need a snapshot first)
2011-08-26 00:59:41 -07:00
Tim Chevalier
1b60bba141 Use typestate constraints for trans_be
trans_be now has a precondition that its expression argument
is a call expr. Obviously this code may be going away soon, but
I wanted to exercise typestate somehow and this was an easy one :-)
2011-08-26 00:47:21 -07:00
Tim Chevalier
26e1cacb21 Let typestate constraints mention pattern-bound vars 2011-08-26 00:39:50 -07:00
Tim Chevalier
b099760269 Remove remaining use of 'pred' and make 'pred' a non-reserved word. Huzzah\! 2011-08-25 22:26:45 -07:00
Tim Chevalier
48c6953001 Remove typestate workaround that's no longer necessary 2011-08-25 18:48:34 -07:00
Tim Chevalier
f841e89443 Support unchecked blocks
This patch supports the syntax

    unchecked {
      ...
    }

    to disable purity checking within a block. Presumably it will only be
    used within a declared "pure fn". However, there is no checking that it
    doesn't occur elsewhere, and it would be harmless for it to do so.

    I went with Lindsey's suggestion for the syntax, but it's subject to
    change.

    This allows you to write code that uses predicates that call arbitrary
    Rust functions, but you must declare your intentions by wrapping it in
    an unchecked { ... } block. The test case run-pass/unchecked-predicates.rs
    demonstrates how to do that.
2011-08-25 18:28:23 -07:00
Tim Chevalier
1cb85015c3 Change "pred" to "pure fn" within the compiler. 2011-08-25 18:24:40 -07:00
Tim Chevalier
e241f2996d Allow pure fns to have any return type 2011-08-25 17:23:35 -07:00
Patrick Walton
8bd019bdc8 rt: Remember the number of captured type descriptors for objects in the type descriptor crate cache 2011-08-25 14:21:05 -07:00