Marijn Haverbeke
8c966b7b18
Stop passing around some unused information in typeck
2011-12-08 10:53:04 +01:00
Marijn Haverbeke
a7c6cb7385
Consider variant constructors pure functions for the purpose of purity checking
...
Closes #1269
2011-12-08 10:26:42 +01:00
Brian Anderson
94b0fee6f1
rt: Reorganize and add documentation for rust_upcall.cpp
2011-12-07 18:50:23 -08:00
Brian Anderson
31fe5d0bd8
rt: Run most upcalls on the C stack
2011-12-07 18:50:23 -08:00
Niko Matsakis
0fc4403442
use util::rational to work around bug w/ floats on win
2011-12-07 17:05:58 -08:00
Niko Matsakis
1ff8994fce
Purge old map impl: more collisions, not clear it is safe on 64bit
2011-12-07 17:05:58 -08:00
Niko Matsakis
4b704ac69b
improve comments
2011-12-07 17:05:58 -08:00
Niko Matsakis
ed0e13f1d8
fix old map impl, add logging
2011-12-07 17:05:58 -08:00
Niko Matsakis
30a2361e68
add some debugging logs
2011-12-07 17:05:58 -08:00
Niko Matsakis
13a3288f3f
dec size in remove
2011-12-07 17:05:58 -08:00
Niko Matsakis
ddfe82a466
make rehashing more efficient by not re-allocating entries
2011-12-07 17:05:58 -08:00
Niko Matsakis
729345cb97
implement a chained hashmap
2011-12-07 17:05:58 -08:00
Graydon Hoare
501c514e89
Register new snapshots (containing libcore auto-importing it now).
2011-12-07 16:36:56 -08:00
Graydon Hoare
3ccdd2a098
Mention new dirs in README.
2011-12-07 15:34:30 -08:00
Graydon Hoare
e4aa73c0f9
Change snapshot script to pick up host libcore as well.
2011-12-07 15:34:16 -08:00
Brian Anderson
81f932e7d7
rt: Fix alignment of stacks generated by __morestack
2011-12-07 14:06:46 -08:00
Graydon Hoare
e056ffa17d
Inject the view_items for core in the right place, add comment documenting why the wrong place was wrong.
2011-12-07 13:33:00 -08:00
Graydon Hoare
799690bea0
Remove stmt_crate_directive, it's vestigial and confusing.
2011-12-07 13:33:00 -08:00
Graydon Hoare
dfd699a852
Pass --no-core when building libcore.
2011-12-07 13:32:59 -08:00
Marijn Haverbeke
17e99ec57f
Fix test that used an oversized int literal
2011-12-07 22:10:56 +01:00
Marijn Haverbeke
7548a0d77a
Restore accidentally overwritten test
2011-12-07 22:02:38 +01:00
Marijn Haverbeke
3d0610b072
Check for literals that are out of range for their type
2011-12-07 21:53:05 +01:00
Marijn Haverbeke
e3eca9174b
Change literal representation to not truncate
...
Also shuffles around the organization of numeric literals and types,
separating by int/uint/float instead of machine-vs-non-machine types.
This simplifies some code.
Closes #974
Closes #1252
2011-12-07 21:08:28 +01:00
Graydon Hoare
6daa233a73
Register new snapshots.
2011-12-07 11:57:48 -08:00
Graydon Hoare
a3f48d3fe1
Merge branch 'master' of github.com:graydon/rust
2011-12-07 11:52:38 -08:00
Niko Matsakis
6c95e400d8
repair more hash functions
2011-12-07 07:35:25 -08:00
Marijn Haverbeke
03a6e54212
Disallow binding by-mut-ref and by-move arguments
...
Fix bug in bound by-copy arguments.
Closes #1261
2011-12-07 15:28:57 +01:00
Marijn Haverbeke
d28e0c0c0a
Make typestate properly descend pattern guards
...
Closes #1265
2011-12-07 14:09:45 +01:00
Brian Anderson
9656ceac60
rt: Put 16 guard bytes at the end of the stack
2011-12-06 22:35:42 -08:00
Brian Anderson
5d1a1dc420
rt: Rename stk_seg.limit to stk_seg.end
...
rust_task is using the word limit it two ways, so one has to change.
2011-12-06 21:45:53 -08:00
Brian Anderson
3d7b89bc4d
rt: Reorganize rust_upcall.cpp a bit
2011-12-06 21:44:19 -08:00
Brian Anderson
00636e3155
rt: Convert log_type and cmp_type upcalls to shim form
2011-12-06 21:44:19 -08:00
Brian Anderson
c11d0b0aa0
rt: Move upcall_cmp_type/upcall_log_type to rust_upcall.cpp
2011-12-06 21:44:18 -08:00
Niko Matsakis
9b7347dd96
modify upcalls to take structs as args
2011-12-06 21:44:18 -08:00
Niko Matsakis
8b608125ac
fix hash function: + binds tighter than <<
2011-12-06 21:34:50 -08:00
Niko Matsakis
66355607da
hack for now: map uint hashes into a u32, which helps x86_64 perf.
2011-12-06 19:55:46 -08:00
Niko Matsakis
aa99bfa170
do not stringify AST nodes unless emitting comments
2011-12-06 19:55:45 -08:00
Niko Matsakis
15d60326f6
helpful targets
2011-12-06 19:55:45 -08:00
Niko Matsakis
84bbc12444
Merge branch 'master' of github.com:graydon/rust
2011-12-06 19:55:20 -08:00
Graydon Hoare
1652b921fa
Fix condition in snapshot script. Argv is never 2 long, it can be 3 or 4.
2011-12-06 17:50:21 -08:00
Brian Anderson
9a738fd61d
rt: Various tweaks to make __morestack unwinding work on linux
...
When unwinding through __morestack the stack limit in the TLS is invalidated
and must be reset. Instead of actually landing at __morestack we're
just going to make all our Rust landing pads call upcall_reset_stack_limit,
which will find the stack segment that corresponds to the current stack
pointer and put the limit in the TLS.
Also massively expand the stack segment red zone to make more room for the
dynamic linker. Will fix in the future.
2011-12-06 16:32:41 -08:00
Niko Matsakis
28f9af6074
Merge branch 'master' of github.com:graydon/rust
2011-12-06 15:19:03 -08:00
Graydon Hoare
a1b215aea1
Add --no-core option and inject a use core/import core::* pair into crate unless it's given.
2011-12-06 14:40:30 -08:00
Graydon Hoare
03d4ec5415
Fix next-node-id "hackasaurus" in comp/front/test.rs.
2011-12-06 14:40:30 -08:00
Niko Matsakis
39b1657b2c
Merge branch 'master' of github.com:graydon/rust
2011-12-06 14:02:32 -08:00
Brian Anderson
89efb7d981
libstd: Update docs
2011-12-06 13:58:54 -08:00
Graydon Hoare
baf3de4733
Rename --noverify flag to --no-verify.
2011-12-06 13:02:59 -08:00
Graydon Hoare
447414f007
Establish 'core' library separate from 'std'.
2011-12-06 12:13:04 -08:00
Austin Seipp
b513a5a500
Make valgrind usage more consistent and less error prone.
...
I was still having issues with the build system somehow getting confused
as to which set of valgrind headers to use when compiling rt.
This commit moves all the valgrind headers into their own directory
under rt and makes the usage more consistent. The compiler is now passed
the -DNVALGRIND flag when valgrind is not installed, as opposed to
passing -DHAVE_VALGRIND.
We also pass -I src/rt to the compiler when building rt so you can more
easily import what you want. I also cleaned up some erroneous #includes
along the way.
It should be safe to always just import the local valgrind headers and use
them without question. NVALGRIND turns the operations to no-ops when it
is active, and the build and tests run cleanly with or without.
2011-12-06 01:15:29 -06:00
Brian Anderson
8d8148f1f7
test: More tests for unwinding + morestack
2011-12-05 19:21:46 -08:00