Erick Tryzelaar
4871f11439
std: change timeval to ns resolution timespec
...
This lets us use the more precise clock_gettime on posix
machines.
2012-04-03 22:43:08 -07:00
Erick Tryzelaar
7aae7320db
std: change time::timeval to be {sec: i64, usec: i32}.
...
It's possible to have negative times if expressing time before 1970, so
we should use signed types. Other platforms can return times at a higher
resolution, so we should use 64 bits.
2012-04-03 22:43:08 -07:00
Brian Anderson
12d3d4f125
core: Export is_null, is_not_null
2012-04-03 22:32:55 -07:00
Brian Anderson
3b8097dacc
core: Add ptr::is_null/is_not_null
2012-04-03 21:56:16 -07:00
Brian Anderson
e325146eb4
Merge remote-tracking branch 'brson/mainthread'
...
Conflicts:
src/rt/rust_kernel.cpp
src/rt/rust_scheduler.cpp
src/rt/rust_scheduler.h
2012-04-03 20:30:01 -07:00
Brian Anderson
4cf7efc8f7
rt: Fix bugs in the osmain scheduler
2012-04-03 20:24:29 -07:00
Brian Anderson
bd97ee6520
rustdoc: Remove stray binary
2012-04-03 19:01:00 -07:00
Brian Anderson
c0e12854ed
rt: Fix bugs in the osmain scheduler
2012-04-03 18:01:13 -07:00
Tim Chevalier
5571a9a193
also xfail class-typarams (doesn't work on Windows)
2012-04-03 17:47:07 -07:00
Brian Anderson
81ce090643
rt: Include the correct header for alloca on windows
2012-04-03 17:19:15 -07:00
Tim Chevalier
bc5e10dd1b
xfail - metadata encoding doesn't work, which breaks Windows
2012-04-03 17:16:14 -07:00
Brian Anderson
ab2158f070
rt: alloca is spelled differently on win32
2012-04-03 17:12:10 -07:00
Brian Anderson
f4b293f0e3
rt: Fix the 0 bytes lost issue
...
This is a workaround for #1815 . libev uses realloc(0) to
free the loop, which valgrind doesn't like. We have suppressions
to make valgrind ignore them.
Valgrind also has a sanity check when collecting allocation backtraces
that the stack pointer must be at least 512 bytes into the stack (at
least 512 bytes of frames must have come before). When this is not
the case it doesn't collect the backtrace.
Unfortunately, with our spaghetti stacks that valgrind check triggers
sometimes and we don't get the backtrace for the realloc(0), it
fails to be suppressed, and it gets reported as 0 bytes lost
from a malloc with no backtrace.
This fixes the issue by alloca'ing 512 bytes before calling uv_loop_delete
2012-04-03 17:08:33 -07:00
Tim Chevalier
1f892dcb01
Monomorphize class constructors, support generic classes and class methods
...
Allow class methods to have type parameters (this is a change from the
original classes proposal).
Add test cases for classes with type parameters, and classes with methods
that have their own type parameters.
2012-04-03 16:23:50 -07:00
Brian Anderson
4f4b7b10bb
rt: Futz with headers to satisfy FreeBSD
2012-04-03 16:02:38 -07:00
Jon Morton
72ffb4b446
fix 'I don't know how C works'
2012-04-03 16:02:38 -07:00
Jon Morton
386069f39e
actually remove memory.h; include cleanups
2012-04-03 16:02:38 -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
Brian Anderson
bef72447e7
core: Add a scheduler mode, osmain, to spawn onto the main scheduler
2012-04-03 14:28:30 -07:00
Niko Matsakis
704ca046a1
update make glob from .so to .dylib
2012-04-03 11:54:24 -07:00
Marijn Haverbeke
f65e26eeee
Output type sizes in reinterpret_cast error message
...
Closes #2095
2012-04-03 16:37:54 +02:00
Marijn Haverbeke
90d3f0fb5e
Ensure method names in iface and impl items are unique
...
Closes #2114
2012-04-03 16:37:28 +02:00
Tim Chevalier
fabd49bc2d
Use os::copy_file in cargo
2012-04-02 22:57:28 -07:00
Tim Chevalier
8dd22135a3
Add Tom Lee to AUTHORS
2012-04-02 21:47:20 -07:00
Tim Chevalier
e9ff495942
Merge branch 'issue-1983' of https://github.com/thomaslee/rust into issue-2090
...
This adds a new os::copy_file function, contributed by Thomas Lee.
I added test cases.
2012-04-02 21:47:20 -07:00
Graydon Hoare
28a0e9c999
Construct new strings through upcalls.
2012-04-02 17:38:06 -07:00
Tim Chevalier
21be1379d5
Rename some core::option functions
...
from_maybe => get_with_default
maybe => with_option
may => with_option_do
I know these names are kind of ridiculous, but it's the best I could think of.
Feel free to bikeshed. Closes #2081
2012-04-02 16:12:49 -07:00
Brian Anderson
e1858882a4
rt: Run a single-threaded scheduler on the main thread
2012-04-02 15:35:47 -07:00
Graydon Hoare
987bc23629
Remove redundant **tydesc gepi/load pair in call_tydesc_glue_full.
2012-04-02 15:26:12 -07:00
Brian Anderson
dd63c5ef1d
rt: Add an assert to rust_get_current_task
2012-04-02 14:23:24 -07:00
Jon Morton
fa88d15d63
remove unneeded assert, move get_task_tls to sched_loop
2012-04-02 14:21:09 -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
d0268cbe5f
doc: Abbreviate Thursday as 'th', not 'do'
2012-04-02 14:17:33 -07:00
Jon Morton
bcb9269d84
rt: cleanup passing around of rust_env
2012-04-02 03:11:58 -05:00
Brian Anderson
bee45f0ef0
rt: rust_env is a struct
2012-04-01 21:07:42 -07:00
Brian Anderson
3232c52a61
rt: Assert things that are true
2012-04-01 20:54:30 -07:00
Brian Anderson
6042aefeeb
rt: Convert an old warning to an assert
2012-04-01 20:49:41 -07:00
Jon Morton
128a8b6ed5
remove rust_srv
2012-04-01 22:18:40 -05:00
Jon Morton
413994ea3e
replace assertion macros with plain asserts
2012-04-01 21:14:16 -05:00
Brian Anderson
3654ef0078
rt: Introduce rust_manual_sched_launcher_factory. Again, so sorry
2012-04-01 17:35:35 -07:00
Brian Anderson
7c1be236a5
rt: Introduce rust_sched_launcher_factory. Sorry, I need one
2012-04-01 17:27:18 -07:00
Brian Anderson
fb528dd7d6
rt: Allow some schedulers to stay alive even without tasks to execute
2012-04-01 16:57:14 -07:00
Brian Anderson
0a5e9d45e1
rt: Introduce rust_manual_sched_launcher
2012-04-01 16:21:48 -07:00
Brian Anderson
9ec21933f1
doc: Tutorial fixes
...
Thanks to Mohd. Bilal Husain
2012-04-01 15:36:56 -07:00
Brian Anderson
efe4c6af23
core: Use the or binop instead of the double-star binop
2012-04-01 15:05:29 -07:00
Brian Anderson
494cf46ea3
Add Jonathan Sternberg to AUTHORS.txt
2012-04-01 15:01:16 -07:00
Brian Anderson
252086c89a
Merge pull request #2099 from jsternberg/master
...
os::list_dir to return only the contents of the directory
2012-04-01 14:59:07 -07:00
Brian Anderson
9d5c20ecca
rt: rust_sched_launcher needs a virtual destructor
2012-04-01 13:25:49 -07:00
Jonathan Sternberg
3a0477c398
Fixing issue 1919. list_dir is the more general version that returns a vector with the contents of the directory. list_dir_path contains the old behavior (as a convenience function).
2012-04-01 11:39:17 -04:00
Brian Anderson
ac0381c0bb
rt: rust_sched_launcher does not need a join() method
2012-04-01 00:24:25 -07:00