Skip to content

Commit 7495f5f

Browse files
committed
---
yaml --- r: 15257 b: refs/heads/try c: de47fcf h: refs/heads/master i: 15255: ee4b7bc v: v3
1 parent 794d6af commit 7495f5f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+678
-391
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@
22
refs/heads/master: 61b1875c16de39c166b0f4d54bba19f9c6777d1a
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: 4a81779abd786ff22d71434c6d9a5917ea4cdfff
5-
refs/heads/try: 21064637ed8b8259d1305f21ace12c40b9561706
5+
refs/heads/try: de47fcfdf9404d53940099f5e7810bdb2bf37af3
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105

branches/try/mk/rt.mk

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,11 @@ RUNTIME_CS_$(1) := \
5050
rt/rust_builtin.cpp \
5151
rt/rust_run_program.cpp \
5252
rt/rust_env.cpp \
53-
rt/rust_task_thread.cpp \
53+
rt/rust_sched_loop.cpp \
54+
rt/rust_sched_launcher.cpp \
55+
rt/rust_sched_driver.cpp \
5456
rt/rust_scheduler.cpp \
57+
rt/rust_sched_reaper.cpp \
5558
rt/rust_task.cpp \
5659
rt/rust_stack.cpp \
5760
rt/rust_port.cpp \

branches/try/mk/tests.mk

Lines changed: 3 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -74,34 +74,13 @@ check-full: tidy all check-stage1 check-stage2 check-stage3 \
7474
ifdef CFG_NOTIDY
7575
tidy:
7676
else
77-
78-
ALL_CS := $(wildcard $(S)src/rt/*.cpp \
79-
$(S)src/rt/*/*.cpp \
80-
$(S)src/rt/*/*/*.cpp \
81-
$(S)srcrustllvm/*.cpp)
82-
ALL_CS := $(filter-out $(S)src/rt/bigint/bigint_ext.cpp \
83-
$(S)src/rt/bigint/bigint_int.cpp \
84-
,$(ALL_CS))
85-
ALL_HS := $(wildcard $(S)src/rt/*.h \
86-
$(S)src/rt/*/*.h \
87-
$(S)src/rt/*/*/*.h \
88-
$(S)srcrustllvm/*.h)
89-
ALL_HS := $(filter-out $(S)src/rt/vg/valgrind.h \
90-
$(S)src/rt/vg/memcheck.h \
91-
$(S)src/rt/uthash/uthash.h \
92-
$(S)src/rt/uthash/utlist.h \
93-
$(S)src/rt/msvc/typeof.h \
94-
$(S)src/rt/msvc/stdint.h \
95-
$(S)src/rt/msvc/inttypes.h \
96-
$(S)src/rt/bigint/bigint.h \
97-
,$(ALL_HS))
98-
9977
tidy:
10078
@$(call E, check: formatting)
10179
$(Q)echo \
80+
$(addprefix $(S)src/, $(RUSTLLVM_LIB_CS) $(RUSTLLVM_OBJS_CS) \
81+
$(RUSTLLVM_HDR) \
82+
$(RUNTIME_CS) $(RUNTIME_HDR) $(RUNTIME_S)) \
10283
$(wildcard $(S)src/etc/*.py) \
103-
$(ALL_CS) \
104-
$(ALL_HS) \
10584
$(COMPILER_CRATE) \
10685
$(COMPILER_INPUTS) \
10786
$(CORELIB_CRATE) \

branches/try/src/etc/x86.supp

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -389,6 +389,34 @@
389389
fun:uv_loop_delete
390390
}
391391

392+
{
393+
lock_and_signal-probably-threadsafe-access-outside-of-lock
394+
Helgrind:Race
395+
fun:_ZN15lock_and_signal27lock_held_by_current_threadEv
396+
...
397+
}
398+
399+
{
400+
lock_and_signal-probably-threadsafe-access-outside-of-lock2
401+
Helgrind:Race
402+
fun:_ZN15lock_and_signal6unlockEv
403+
...
404+
}
405+
406+
{
407+
lock_and_signal-probably-threadsafe-access-outside-of-lock3
408+
Helgrind:Race
409+
fun:_ZN15lock_and_signal4lockEv
410+
...
411+
}
412+
413+
{
414+
lock_and_signal-probably-threadsafe-access-outside-of-lock4
415+
Helgrind:Race
416+
fun:_ZN15lock_and_signal4waitEv
417+
...
418+
}
419+
392420
{
393421
uv-async-send-does-racy-things
394422
Helgrind:Race

branches/try/src/rt/arch/x86_64/context.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,11 @@ struct registers_t {
3131
class context {
3232
public:
3333
registers_t regs;
34-
34+
3535
context();
36-
36+
3737
context *next;
38-
38+
3939
void swap(context &out);
4040
void call(void *f, void *arg, void *sp);
4141
};

branches/try/src/rt/memory_region.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ class memory_region {
4141

4242
inline alloc_header *get_header(void *mem);
4343
inline void *get_data(alloc_header *);
44+
4445

4546
rust_srv *_srv;
4647
memory_region *_parent;

branches/try/src/rt/rust.cpp

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -80,21 +80,20 @@ rust_start(uintptr_t main_fn, int argc, char **argv, void* crate_map) {
8080
rust_sched_id sched_id = kernel->create_scheduler(env->num_sched_threads);
8181
rust_scheduler *sched = kernel->get_scheduler_by_id(sched_id);
8282
rust_task *root_task = sched->create_task(NULL, "main");
83-
rust_task_thread *thread = root_task->thread;
8483
command_line_args *args
8584
= new (kernel, "main command line args")
8685
command_line_args(root_task, argc, argv);
8786

88-
DLOG(thread, dom, "startup: %d args in 0x%" PRIxPTR,
87+
LOG(root_task, dom, "startup: %d args in 0x%" PRIxPTR,
8988
args->argc, (uintptr_t)args->args);
9089
for (int i = 0; i < args->argc; i++) {
91-
DLOG(thread, dom, "startup: arg[%d] = '%s'", i, args->argv[i]);
90+
LOG(root_task, dom, "startup: arg[%d] = '%s'", i, args->argv[i]);
9291
}
9392

9493
root_task->start((spawn_fn)main_fn, NULL, args->args);
9594
root_task = NULL;
9695

97-
int ret = kernel->wait_for_schedulers();
96+
int ret = kernel->wait_for_exit();
9897
delete args;
9998
delete kernel;
10099
delete srv;

branches/try/src/rt/rust_box_annihilator.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,7 @@ class annihilator : public shape::data<annihilator,shape::ptr> {
5858
}
5959

6060
void walk_tag2(shape::tag_info &tinfo, uint32_t tag_variant) {
61-
shape::data<annihilator,shape::ptr>
62-
::walk_variant1(tinfo, tag_variant);
61+
shape::data<annihilator,shape::ptr>::walk_variant1(tinfo, tag_variant);
6362
}
6463

6564
void walk_uniq2() {
@@ -84,7 +83,7 @@ class annihilator : public shape::data<annihilator,shape::ptr> {
8483
if (pair.env) {
8584
// free closed over data:
8685
shape::data<annihilator,shape::ptr>::walk_fn_contents1();
87-
86+
8887
// now free the ptr:
8988
task->kernel->free(pair.env);
9089
}

0 commit comments

Comments
 (0)