Graydon Hoare
6e5c8a7fb8
More shape fixes for evecs.
2012-05-03 14:11:54 -07:00
Graydon Hoare
11a5d10bf2
Implement better shape code for evec, estr.
2012-05-03 13:09:02 -07:00
Graydon Hoare
f32d9f4853
Remove unused sp_size arg passed through walk_vec{1,2} in shape code.
2012-05-02 14:36:04 -07:00
Jon Morton
632a4c9326
Refactor includes structure, getting rid of rust_internal.h
...
Many changes to code structure are included:
- removed TIME_SLICE_IN_MS
- removed sychronized_indexed_list
- removed region_owned
- kernel_owned move to kernel.h, task_owned moved to task.h
- global configs moved to rust_globals.h
- changed #pragma once to standard guard in rust_upcall.h
- got rid of memory.h
2012-04-03 16:02:38 -07:00
Jon Morton
33a949eed6
Add global rust_get_current_task
...
Previously two methods existed: rust_sched_loop::get_task and rust_task::get_task_from_tcb. Merge both of them into one, trying the faster one (tcb) first, and if that fails, the slower one from the tls.
2012-04-02 14:21:08 -07:00
Brian Anderson
e78396850d
Merge remote-tracking branch 'brson/mainthread'
...
Conflicts:
src/rt/rust_sched_loop.cpp
src/rt/rust_shape.cpp
src/rt/rust_task.cpp
2012-04-01 00:15:04 -07:00
Brian Anderson
21064637ed
rt: Fix whitespace
2012-03-31 23:12:06 -07:00
Brian Anderson
243790836a
rt: Rename rust_task_thread to rust_sched_loop
...
This class no longer represents a thread; it just schedules tasks.
2012-03-31 19:51:29 -07:00
Brian Anderson
3de30f4ef2
rt: Change alignof to rust_alignof. Remove -Wno-c++11-compat. Closes #1644
2012-03-12 18:03:48 -07:00
Erick Tryzelaar
d3331bce98
rt: strings should escape chars like '\n' as '\n'
2012-02-28 18:05:25 -08:00
Niko Matsakis
526e73d7f8
make shape code use the tydesc found in the box, not the shape str
2012-02-08 09:14:59 -08:00
Brian Anderson
f94339cc1c
rt: Rename rust_scheduler to rust_task_thread
2012-02-03 23:48:12 -08:00
Niko Matsakis
196d69beb2
make boxes self-describing ( fixes #1493 )" (take 2)
...
this will be used to generate a new snapshot.
2012-02-01 18:52:08 -08:00
Niko Matsakis
3116643806
Revert "make boxes self-describing ( fixes #1493 )" until a new
...
snapshot is prepared.
2012-02-01 18:50:19 -08:00
Niko Matsakis
c36207bfb8
make boxes self-describing ( fixes #1493 )
2012-02-01 18:18:07 -08:00
Niko Matsakis
a83ad1b9e6
encode variant names and have log print them out.
2012-01-17 10:33:28 -08:00
Niko Matsakis
263f4c58a0
add tydescs into shape, rewrite walk_fn_contents()
2012-01-12 13:47:38 -08:00
Niko Matsakis
e55aa6e5ef
free uniq data we encounter on the sweep, walk thru them otherwise
2012-01-12 13:47:38 -08:00
Niko Matsakis
c68345e57e
add a log_str() function and allow '%?' in fmt strings to use it
2012-01-11 10:32:54 -08:00
Niko Matsakis
8506241f3a
fix how we walk functions to match new closure fmt
2012-01-06 22:40:31 -08:00
Graydon Hoare
5930463faa
Tidy up some drift in runtime logging, close #1380 .
2011-12-28 11:53:12 -08:00
Niko Matsakis
1e3259e119
massive refactor of how closures work
2011-12-15 13:44:06 -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
eff7fae7b9
comparing/walking two pointers still aligns same as 1 ptr
2011-11-17 15:41:45 -08:00
Niko Matsakis
5aaafa704f
adjust alignment, size of tag variant id and make it easy to
...
adjust in the future
2011-11-16 15:16:43 -08:00
Marijn Haverbeke
8124846b2c
Get rid of taskpointer-passing throughout the compiler
...
Only intrinsics still take a dummy taskptr. We'll have to do some
makefile stunts to snapshot a version without taskptrs-in-intrinsics.
Issue #466
2011-10-20 14:22:17 +02:00
Marijn Haverbeke
6323a012bd
Remove taskptr argument from upcalls
...
Issue #466
2011-10-20 13:15:21 +02:00
Patrick Walton
0c4e0fdfae
rt: Get rid of the hack that looks for captured type descriptors adjacent to the root one for functions and objects
2011-09-23 17:57:25 -07:00
Patrick Walton
8c02adc630
rustc: Port the fn and obj traversal logic over from the GC branch. Doesn't actually do anything yet due to lack of support in trans.
2011-09-21 19:08:26 -07:00
Brian Anderson
a993621e43
Log and compare unique boxes
...
Issue #409
2011-09-21 17:08:40 -07:00
Patrick Walton
87c6416d0c
rt: Don't double-print commas when logging e.g. a vec of boxes
2011-09-08 13:24:21 -07:00
Patrick Walton
00470fef12
rt: Remove evecs from the shape code
2011-09-02 10:49:03 -07:00
Patrick Walton
dc6f78561c
rt: Prevent trailing commas from showing up when logging oddly aligned arrays
2011-08-31 16:22:19 -07:00
Patrick Walton
dfcbfa61f3
rt: Introduce "end_dp" bailouts in order to avoid marching past the end of oddly aligned vectors
2011-08-31 16:02:17 -07:00
Patrick Walton
143569fce4
rt: Make |align| a member of the shape glue class instead of threading it through every function
2011-08-31 15:25:32 -07:00
Patrick Walton
b722dc36a5
rt: Fix logging of type-parametric resources
2011-08-30 15:56:42 -07:00
Patrick Walton
05d96f155f
rustc: Allow non-type-parametric resources to be logged
2011-08-30 13:50:48 -07:00
Patrick Walton
0a4d43379e
rt: Move to a custom alignof since __alignof__ returns the "preferred" alignment rather than the one that gets used in structs
2011-08-29 16:24:03 -07:00
Marijn Haverbeke
c9c5ee252a
Implement non-internal ivecs
...
Vectors are now similar to our old, pre-internal vectors, except that
they are uniquely owned, not refcounted.
Their name should probably change too, then. I've renamed them to vec
in the runtime, will do so throughout the compiler later.
2011-08-29 09:07:53 +02:00
Patrick Walton
5fe80a0d48
rt: Allow closures to be logged
2011-08-26 17:05:59 -07:00
Patrick Walton
b371891c7c
rt: Fix walk_obj_contents for type-parameteric objects. Hash tables can be logged now.
2011-08-24 16:54:10 -07:00
Patrick Walton
72d78e6a93
rt: Factor out type param construction into from_tydesc and from_obj_shape. (The latter is unimplemented at the moment.)
2011-08-24 15:19:59 -07:00
Patrick Walton
b07968dda4
rt: Print out fields of objects when logging them
2011-08-24 12:09:06 -07:00
Brian Anderson
4aa165553b
Move bump_dp, get_dp from rust_shape.cpp to rust_shape.h
...
Put out the darwin fire for real
2011-08-20 10:51:31 -07:00
Brian Anderson
6751d40c60
Revert "Add another 'using namespace shape' inside namespace shape"
...
This reverts commit 09f4cd90a852b69bb72fc5385fdabbde39f5fb91.
2011-08-20 10:33:41 -07:00
Brian Anderson
09f4cd90a8
Add another 'using namespace shape' inside namespace shape
...
Try again to put out the darwin tinderbox
2011-08-20 10:28:30 -07:00
Patrick Walton
a3f4a1b6ad
rt: Split out shapes into rust_shape.cpp and rust_shape.h so that shape code can be written outside of rust_shape.cpp
2011-08-19 18:52:35 -07:00
Brian Anderson
0467fa6a00
Rename rust_vec to rust_evec
2011-08-18 14:43:17 -07:00
Patrick Walton
f17edf9829
rustc: Use obstacks in lieu of dynamically-allocated frames only when the frame is actually dynamically-sized
2011-08-17 18:14:57 -07:00
Patrick Walton
df51fe36f1
Revert "rt: Use obstacks in lieu of dynamically-sized frames"
...
This reverts commit cc5fcfce89312042e52401eb883160ebf289235f.
2011-08-17 17:27:31 -07:00