about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2011-12-18rt: Create different stack-switching paths for upcalls and shimsBrian Anderson-22/+34
Shims need to play with the stack limit, upcalls don't. Only one upcall, upcall_fail is allowed to catch, and we need a find a way to get rid of that catch as well because it results in _Unwind_Resume running off the end of the Rust stack.
2011-12-18rt: Run the cycle collector on the C stackBrian Anderson-1/+3
2011-12-18rt: Give each platform its own red zone definitionBrian Anderson-3/+26
2011-12-18rt: Trim the red zone to 20k on all platformsBrian Anderson-2/+2
2011-12-18libcore: Remove task::set_min_stackBrian Anderson-27/+0
This existed to make up for the lack of stack growth, and wasn't generally safe.
2011-12-18test: Enable all morestack testsBrian Anderson-27/+3
2011-12-18Only look for a matching method when normal field access failsMarijn Haverbeke-95/+120
We should probalby warn when defining a method foo on {foo: int} etc. This should reduce the amount of useless typevars that are allocated. Issue #1227
2011-12-18Improve efficienty of impl cache in resolveMarijn Haverbeke-10/+15
And fix a bug where importing anything from an external module would import all impls in the module. Issue #1227
2011-12-18rt: Remove a bogus FIXME from ~rust_taskBrian Anderson-3/+1
2011-12-18rt: Add lots of documentation to __morestackBrian Anderson-42/+139
2011-12-18Revert "rt: Turn on big stacks again. Unwinding still doesn't always succeed ↵Brian Anderson-1/+1
on mac" This reverts commit 68f4849f0f52bc37fc24a36fb7e14002bdb2cd61.
2011-12-18rustc: Don't emit compact unwind info on macBrian Anderson-1/+9
It's not compatible with the subtlety of __morestack
2011-12-17rt: Turn on big stacks again. Unwinding still doesn't always succeed on macBrian Anderson-1/+1
2011-12-17libstd: Long linesBrian Anderson-1/+2
2011-12-17rustc: Remove --stack-growth optionBrian Anderson-8/+0
2011-12-17rt: Get rid of the valgrind guard bytes at the end of the stackBrian Anderson-17/+2
Preventing us from writing beyond our allocations is _what valgrind does_, so telling valgrind not to let us write to the end of the stack isn't buying anything.
2011-12-17libstd: Add 'xterm-256-color' to list of color-enabled terminalsBrian Anderson-1/+1
2011-12-17rt: Use a DWARF CFI scheme that works on mac in __morestackBrian Anderson-24/+34
2011-12-17rt: Turn on stack alignment checks for macBrian Anderson-2/+2
2011-12-17rt: Cache an extra stack segment to avoid bad behavior at stack boundariesBrian Anderson-12/+80
2011-12-17rt: Set the default stack size to 768 bytes. Double on each allocBrian Anderson-11/+39
2011-12-16Add Graham Fawcett to AUTHORS.txtBrian Anderson-0/+1
2011-12-16cargo: complain if rustc failsElly Jones-1/+5
2011-12-16Merge pull request #1320 from elly/cargoBrian Anderson-1/+2
cargo: shorten a line
2011-12-16cargo: shorten a lineElly Jones-1/+2
2011-12-16Merge pull request #1319 from elly/cargoGraydon Hoare-45/+307
cargo: support distributed package indexes
2011-12-16cargo: fix lib detection logicElly Jones-1/+1
2011-12-16Install and snapshot cargo by default.Graydon Hoare-0/+4
2011-12-16cargo: fix remaining warningsElly Jones-3/+3
2011-12-16cargo: remove obsolete rust-pkg-index lookup codeElly Jones-22/+0
2011-12-16cargo: fix some warningsElly Jones-4/+5
2011-12-16cargo: flesh out usageElly Jones-0/+4
2011-12-16cargo: Support distributed package indexes.Elly Jones-36/+135
Indexes are listed in ~/.cargo/sources.json and ~/.cargo/local-sources.json, the former of which is stored in the rust source tree in src/cargo. Each entry in either of these files is a source, which is a dictionary with (currently) a single key, "url". The supplied url should point to a json list, each element of which should be a dictionary with four keys: "name", "uuid", "url", and "method". The name and uuid serve to identify the package; the method describes how to fetch the package; the url describes where to fetch it from. Currently supported methods are "git", "http", and "file". Signed-off-by: Elly Jones <elly@leptoquark.net>
2011-12-16rt: Make 32-bit morestack compatible with fastccBrian Anderson-9/+18
2011-12-16rt: Fix saved address of unwinding %rsp in __morestackBrian Anderson-1/+1
I haven't thought too deeply about this, but I think I was telling the unwinder to use the stack pointer for the wrong frame when unwinding. Not sure how that could have worked at all, but this results in the correct alignment for cleanups.
2011-12-16rt: Fix alignment of the call to upcall_del_stack in __morestackBrian Anderson-2/+7
2011-12-16rt: Fix alignment of new stack segmentsBrian Anderson-4/+2
2011-12-16rt: Only call check_stack_alignment on linuxBrian Anderson-0/+5
2011-12-16rt: Insert stack alignment checks into upcallsBrian Anderson-1/+31
2011-12-16cargo: wipElly Jones-10/+190
2011-12-16Update build machinery to build and install librustc everywhere (including ↵Graydon Hoare-2/+42
snapshots).
2011-12-16Add additional pretend legalese to cover not-mozilla and ↵Graydon Hoare-1/+24
not-otherwise-mentioned copyright holders.
2011-12-16libstd: Temporarily use #[link_name = ""]Brian Anderson-0/+1
2011-12-16allow #[link_args] with #[nolink]. For now, fail if two modules link same ↵Graham Fawcett-15/+48
lib, and second has link_args. I think it should undefined to have multiple modules that link in the same library, but provide different link arguments. Unfortunately we don't track link_args by module -- they are just appended as discovered into the crate store -- but for now, it should be an error to provide link_args on a module that's already been included (with or without link_args).
2011-12-16implement #[nolink]; deprecate #[link_name = ""]; note in stdlib to remove ↵Graham Fawcett-19/+34
empty link_name. Can't remove them from stdlib until the snapshotted compiler supports #[nolink].
2011-12-16Merge pull request #1318 from elly/cargoGraydon Hoare-13/+39
std: file_is_dir -> path_is_dir, add path_exists
2011-12-16std: file_is_dir -> path_is_dir, add path_existsElly Jones-13/+39
2011-12-16Fix arg order for vec::map callMarijn Haverbeke-4/+5
2011-12-16Finish resolving and calling of crate-external implsMarijn Haverbeke-76/+196
Issue #1227
2011-12-16Reserve node_id 0 for the crate top-level moduleMarijn Haverbeke-9/+12
And define a const to refer to it.