Gareth Daniel Smith
c9f8ae02bc
add a seeded random number generator so that sequences of random numbers can be easily reproduced (for https://github.com/mozilla/rust/issues/2379 )
2012-05-21 17:38:05 -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
413994ea3e
replace assertion macros with plain asserts
2012-04-01 21:14:16 -05:00
Brian Anderson
21064637ed
rt: Fix whitespace
2012-03-31 23:12:06 -07:00
Brian Anderson
ccaace6587
rt: Remove an unused function
2012-03-19 19:02:54 -07:00
Niko Matsakis
7d0958f70f
add the ability to snag the frame so we can verify that we are inlining
2012-02-29 11:54:47 -08:00
Brian Anderson
21650d0212
rt: Remove unused forward declaration of rust_realloc_shared
2012-02-26 16:43:42 -08:00
Brian Anderson
7d1e36a315
rt: Remove ptr_vec. Unused
2012-02-26 16:24:37 -08:00
Brian Anderson
54d7bffbb8
rt: Make upcall_vec_push an intrinsic
2012-02-17 12:08:03 -08:00
Brian Anderson
d23cd8f52f
rt: Don't hit TLS on upcall_vec_push unless necessary
2012-02-17 11:37:17 -08:00
Graydon Hoare
93450abb4b
Make process-spawning take environments and working directories, remove procsrv task from compiletest.
2012-02-07 19:57:03 -08:00
Kevin Cantu
d3dfe8758d
Making vec::reserve reserve precisely the size given (untested)
2012-02-05 14:56:16 -08:00
Brian Anderson
21d783c338
rt: Make isaac_init not a template
2012-02-03 23:48:12 -08:00
Brian Anderson
f94339cc1c
rt: Rename rust_scheduler to rust_task_thread
2012-02-03 23:48:12 -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
Brian Anderson
1b67d211b4
Add a rust_str typedef to the runtime. Issue #855
2011-09-02 22:11:46 -07:00
Brian Anderson
01b254b411
Rename istr-stuff to str in the runtime. Issue #855
2011-09-02 22:11:46 -07:00
Brian Anderson
99ee0fca67
Remove estrs and evecs from runtime. Issue #855
2011-09-02 15:13:41 -07:00
Brian Anderson
372aa4d210
Factor out make_istr utility function in runtime. Issue #855
2011-09-01 15:51:47 -07:00
Marijn Haverbeke
14567c5eb0
Factor vector reserve code in runtime into its own function
2011-08-29 22:35:29 +02: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
Michael Sullivan
ddc2076902
Make windows respect RUST_SEED. Closes #627 .
2011-08-18 16:24:36 -07:00
Michael Sullivan
eb368d1b34
Remove rc_base. Closes #603 .
2011-08-18 15:49:58 -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 cc5fcfce89
.
2011-08-17 17:27:31 -07:00
Patrick Walton
cc5fcfce89
rt: Use obstacks in lieu of dynamically-sized frames
2011-08-17 17:24:57 -07:00
Patrick Walton
f6ad051408
rt: Use _LP64 instead of SIZE_MAX and UINT64_MAX to try to put out the burning tinderbox
2011-08-10 10:55:41 -07:00
Patrick Walton
ceaf02abe1
rt: Attempt to quiet MinGW by including limits.h
2011-08-10 05:17:30 -07:00
Brian Anderson
4ef1ec580a
Do all runtime calls to getenv at initialization
...
getenv is not threadsafe and (maybe as a result) it's randomly crashing with
CFLAGS=-g and RUST_THREADS=32. Calls from rust code are still on their
own.
2011-07-28 12:23:01 -07:00
Eric Holk
3d7016ae95
Updating to work on Windows.
2011-07-28 10:47:29 -07:00
Eric Holk
62bc6b5113
Per-thread scheduling. Closes #682 .
...
Tasks are spawned on a random thread. Currently they stay there, but
we should add task migration and load balancing in the future. This
should drammatically improve our task performance benchmarks.
2011-07-28 10:47:28 -07:00
Eric Holk
3ae4dcd41e
Lots of work on memory tracking and channels.
...
We're trying to get closer to doing correct move semantics for channel
operations. This involves a lot of cleanup (such as removing the
unused sched parameter from rust_vec constructor) and making
circular_buffer kernel_owned.
Added tagging for memory allocations. This means we give a string tag
to everything we allocate. If we leak something and TRACK_ALLOCATIONS
is enabled, then it's much easier now to tell exactly what is leaking.
2011-07-21 11:51:22 -07:00
Brian Anderson
652214d7f9
Fix calculation of sizeof boxed ivec of str in rt. Closes #712
2011-07-19 16:55:45 -07:00
Graydon Hoare
39151f2ad8
Prohibit trailing whitespace under 'tidy' script. Clean up all caught cases.
2011-07-13 15:44:09 -07:00
Graydon Hoare
49116adbe9
Fix compile-command lines in rt.
2011-07-13 13:51:20 -07:00
Eric Holk
5d9a5b7d55
Tightened up the scoping for our various new operators, which should
...
make it harder to use the wrong one.
2011-07-07 18:22:27 -07:00
Eric Holk
657e5a2bd5
Renamed what's left of rust_dom to rust_scheduler
2011-06-28 16:12:33 -07:00
Eric Holk
02f6645fca
Moved win32_require to the kernel.
2011-06-28 16:12:33 -07:00
Eric Holk
49a8cb34d2
Removed dom_owned, splitting things between task_owned and kernel_owned. Had to re-xfail a few tests brson recently un-xfailed.
2011-06-28 16:12:33 -07:00
Patrick Walton
c6be352f73
rustc: Implement on-heap resizing for interior vectors
2011-06-14 18:23:13 -07:00
Patrick Walton
c3bf7d07e9
rustc: Implement simple interior vector append translation
2011-06-13 18:57:25 -07:00
Marijn Haverbeke
880be6a940
Overhaul logging system in runtime
...
See https://github.com/graydon/rust/wiki/Logging-vision
The runtime logging categories are now treated in the same way as
modules in compiled code. Each domain now has a log_lvl that can be
used to restrict the logging from that domain (will be used to allow
logging to be restricted to a single domain).
Features dropped (can be brought back to life if there is interest):
- Logger indentation
- Multiple categories per log statement
- I possibly broke some of the color code -- it confuses me
2011-04-19 16:57:13 +02:00
Marijn Haverbeke
9a7576fe2c
Move to macro-based logging checks in the C++ code
...
No functions should be called for log statements that turn out to be
inactive.
2011-04-07 15:15:30 -07:00
Graydon Hoare
8e9c5b96fb
Change rust_vec to have a 16-byte header, to 16-byte-align vec-body data. Major perf win.
2011-04-02 19:05:12 -07:00
Marijn Haverbeke
c731d625fe
Add basic file-system functionality
...
std.fs.list_dir will list the files in a directory, std.fs.file_is_dir
will, given a pathname, determine whether it is a directory or not.
2011-03-14 14:57:13 -07:00
Michael Bebenita
4641fcef61
Added peek() to ptr_vec.
2010-08-09 08:01:40 -07:00
Michael Bebenita
c5744c8aef
Added the RUST_SEED env variable to seed the Rust task scheduler -- helpful when debugging task race conditions within a single thread domain.
2010-08-09 07:30:48 -07:00
Roy Frostig
b9f82d85f9
Attempt number 1 at extinguishing the windows tree remotely (apologies to those hacking on Sunday evening PST).
2010-07-25 22:05:39 -07:00