Skip to content

Commit 37f3687

Browse files
author
Tohava
committed
---
yaml --- r: 477 b: refs/heads/master c: 0f53d03 h: refs/heads/master i: 475: c87d3a1 v: v3
1 parent 43c8316 commit 37f3687

Some content is hidden

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

70 files changed

+540
-1525
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
---
2-
refs/heads/master: dbe8760af3b50bfa14d39406fe0eca2f2b82d8ec
2+
refs/heads/master: 0f53d0313912b56be77b267f98daa2569ebb37ea

trunk/.gitignore

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,6 @@
3030
*.swp
3131
.hg/
3232
.hgignore
33-
.cproject
34-
.project
3533
lexer.ml
3634
rustboot
3735
rustc

trunk/AUTHORS.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ Jeff Mulzelaar <[email protected]>
1515
Jeffrey Yasskin <[email protected]>
1616
Matt Brubeck <[email protected]>
1717
Michael Bebenita <[email protected]>
18-
Or Brostovski <[email protected]>
1918
Patrick Walton <[email protected]>
2019
Ralph Giles <[email protected]>
2120
Roy Frostig <[email protected]>

trunk/doc/rust.texi

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2822,15 +2822,12 @@ x.y = z + 2;
28222822
@c * Ref.Stmt.Spawn:: Statements creating new tasks.
28232823
@cindex Spawn statement
28242824

2825-
A @code{spawn} statement consists of keyword @code{spawn}, followed by
2826-
an optional literal string naming the new task and then a normal
2827-
@emph{call} statement (@pxref{Ref.Stmt.Call}). A @code{spawn}
2828-
statement causes the runtime to construct a new task executing the
2829-
called function with the given name. The called function is referred
2830-
to as the @dfn{entry function} for the spawned task, and its arguments
2831-
are copied from the spawning task to the spawned task before the
2832-
spawned task begins execution. If no explicit name is present, the
2833-
task is implicitly named with the string of the call statement.
2825+
A @code{spawn} statement consists of keyword @code{spawn}, followed by a
2826+
normal @emph{call} statement (@pxref{Ref.Stmt.Call}). A @code{spawn}
2827+
statement causes the runtime to construct a new task executing the called
2828+
function. The called function is referred to as the @dfn{entry function} for
2829+
the spawned task, and its arguments are copied from the spawning task to the
2830+
spawned task before the spawned task begins execution.
28342831

28352832
Functions taking alias-slot arguments, or returning non-nil values, cannot be
28362833
spawned. Iterators cannot be spawned.
@@ -2846,7 +2843,6 @@ fn helper(chan[u8] out) @{
28462843
28472844
let port[u8] out;
28482845
let task p = spawn helper(chan(out));
2849-
let task p2 = spawn "my_helper" helper(chan(out));
28502846
// let task run, do other things.
28512847
auto result <- out;
28522848

trunk/src/Makefile

Lines changed: 7 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -245,8 +245,7 @@ BOOT_CMXS := $(BOOT_MLS:.ml=.cmx)
245245
BOOT_OBJS := $(BOOT_MLS:.ml=.o)
246246
BOOT_CMIS := $(BOOT_MLS:.ml=.cmi)
247247

248-
RUNTIME_CS := rt/sync/sync.cpp \
249-
rt/sync/spin_lock.cpp \
248+
RUNTIME_CS := rt/sync/spin_lock.cpp \
250249
rt/sync/lock_free_queue.cpp \
251250
rt/sync/condition_variable.cpp \
252251
rt/rust.cpp \
@@ -280,8 +279,7 @@ RUNTIME_HDR := rt/globals.h \
280279
rt/rust_message.h \
281280
rt/circular_buffer.h \
282281
rt/util/array_list.h \
283-
rt/util/hash_map.h \
284-
rt/sync/sync.h
282+
rt/util/hash_map.h
285283

286284
RUNTIME_INCS := -Irt/isaac -Irt/uthash
287285
RUNTIME_OBJS := $(RUNTIME_CS:.cpp=$(CFG_OBJ_SUFFIX))
@@ -385,22 +383,17 @@ TASK_XFAILS := test/run-pass/acyclic-unwind.rs \
385383
test/run-pass/threads.rs \
386384
test/run-pass/yield.rs
387385

388-
TEST_XFAILS := test/run-pass/arith-0.rs
389-
390386
TEST_XFAILS_X86 := $(TASK_XFAILS) \
391-
$(TEST_XFAILS) \
392387
test/run-pass/arithmetic-interference.rs \
393388
test/run-pass/bind-obj-ctor.rs \
394389
test/run-pass/child-outlives-parent.rs \
395390
test/run-pass/clone-with-exterior.rs \
396391
test/run-pass/constrained-type.rs \
397-
test/run-pass/destructor-ordering.rs \
398392
test/run-pass/obj-as.rs \
399393
test/run-pass/vec-slice.rs \
400394
test/run-pass/fn-lval.rs \
401395
test/run-pass/generic-fn-infer.rs \
402396
test/run-pass/generic-recursive-tag.rs \
403-
test/run-pass/int-lib.rs \
404397
test/run-pass/iter-ret.rs \
405398
test/run-pass/lib-deque.rs \
406399
test/run-pass/lib-map.rs \
@@ -419,19 +412,16 @@ TEST_XFAILS_X86 := $(TASK_XFAILS) \
419412
test/compile-fail/writing-through-read-alias.rs
420413

421414
TEST_XFAILS_LLVM := $(TASK_XFAILS) \
422-
$(TEST_XFAILS) \
423415
$(addprefix test/run-pass/, \
424-
arith-1.rs \
425416
acyclic-unwind.rs \
426417
alt-pattern-simple.rs \
427418
alt-tag.rs \
428419
arithmetic-interference.rs \
429420
argv.rs \
421+
auto-deref.rs \
430422
autoderef-full-lval.rs \
431423
autoderef-objfn.rs \
432424
basic.rs \
433-
basic-1.rs \
434-
basic-2.rs \
435425
bind-obj-ctor.rs \
436426
bind-thunk.rs \
437427
bind-trivial.rs \
@@ -462,6 +452,7 @@ TEST_XFAILS_LLVM := $(TASK_XFAILS) \
462452
generic-drop-glue.rs \
463453
generic-exterior-box.rs \
464454
generic-fn-infer.rs \
455+
generic-fn-twice.rs \
465456
generic-fn.rs \
466457
generic-obj-with-derived-type.rs \
467458
generic-obj.rs \
@@ -472,8 +463,7 @@ TEST_XFAILS_LLVM := $(TASK_XFAILS) \
472463
i32-sub.rs \
473464
i8-incr.rs \
474465
import.rs \
475-
integral-indexing.rs \
476-
int-lib.rs \
466+
inner-module.rs \
477467
iter-range.rs \
478468
iter-ret.rs \
479469
large-records.rs \
@@ -491,13 +481,14 @@ TEST_XFAILS_LLVM := $(TASK_XFAILS) \
491481
mutable-alias-vec.rs \
492482
mutable-vec-drop.rs \
493483
mutual-recursion-group.rs \
484+
native-mod.rc \
485+
native.rc \
494486
obj-as.rs \
495487
obj-drop.rs \
496488
obj-dtor.rs \
497489
obj-recursion.rs \
498490
obj-return-polytypes.rs \
499491
obj-with-vec.rs \
500-
operator-associativity.rs \
501492
output-slot-variants.rs \
502493
pred.rs \
503494
preempt.rs \
@@ -514,7 +505,6 @@ TEST_XFAILS_LLVM := $(TASK_XFAILS) \
514505
str-append.rs \
515506
str-concat.rs \
516507
str-idx.rs \
517-
str-lib.rs \
518508
tag.rs \
519509
tail-cps.rs \
520510
tail-direct.rs \
@@ -586,18 +576,10 @@ RFAIL_RS := $(wildcard test/run-fail/*.rs)
586576
CFAIL_RC := $(wildcard test/compile-fail/*.rc)
587577
CFAIL_RS := $(wildcard test/compile-fail/*.rs)
588578

589-
ifdef CHECK_XFAILS
590-
TEST_RPASS_CRATES_X86 := $(filter $(TEST_XFAILS_X86), $(RPASS_RC))
591-
TEST_RPASS_CRATES_LLVM := $(filter $(TEST_XFAILS_LLVM), $(RPASS_RC))
592-
TEST_RPASS_SOURCES_X86 := $(filter $(TEST_XFAILS_X86), $(RPASS_RS))
593-
TEST_RPASS_SOURCES_LLVM := $(filter $(TEST_XFAILS_LLVM), $(RPASS_RS))
594-
else
595579
TEST_RPASS_CRATES_X86 := $(filter-out $(TEST_XFAILS_X86), $(RPASS_RC))
596580
TEST_RPASS_CRATES_LLVM := $(filter-out $(TEST_XFAILS_LLVM), $(RPASS_RC))
597581
TEST_RPASS_SOURCES_X86 := $(filter-out $(TEST_XFAILS_X86), $(RPASS_RS))
598582
TEST_RPASS_SOURCES_LLVM := $(filter-out $(TEST_XFAILS_LLVM), $(RPASS_RS))
599-
endif
600-
601583
TEST_RPASS_EXTRAS := $(wildcard test/run-pass/*/*.rs)
602584
TEST_RPASS_EXES_X86 := \
603585
$(TEST_RPASS_CRATES_X86:.rc=.x86$(CFG_EXE_SUFFIX)) \

trunk/src/boot/be/abi.ml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ let box_gc_header_size = 4;;
4141

4242
let box_gc_malloc_return_adjustment = 3;;
4343

44-
let stk_field_valgrind_id = 0;;
44+
let stk_field_valgrind_id = 0 + 1;;
4545
let stk_field_limit = stk_field_valgrind_id + 1;;
4646
let stk_field_data = stk_field_limit + 1;;
4747

@@ -121,8 +121,7 @@ type abi =
121121
-> Common.size (* callsz *)
122122
-> Common.nabi
123123
-> Common.fixup (* grow_task *)
124-
-> bool (* is_obj_fn *)
125-
-> unit);
124+
-> unit);
126125

127126
abi_emit_fn_epilogue: (Il.emitter -> unit);
128127

trunk/src/boot/be/il.ml

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -695,7 +695,7 @@ type emitter = { mutable emit_pc: int;
695695
emit_target_specific: (emitter -> quad -> unit);
696696
mutable emit_quads: quads;
697697
emit_annotations: (int,string) Hashtbl.t;
698-
emit_size_cache: (size,operand) Hashtbl.t;
698+
emit_size_cache: ((size,operand) Hashtbl.t) Stack.t;
699699
emit_node: node_id option;
700700
}
701701

@@ -722,7 +722,7 @@ let new_emitter
722722
emit_target_specific = emit_target_specific;
723723
emit_quads = Array.create 4 badq;
724724
emit_annotations = Hashtbl.create 0;
725-
emit_size_cache = Hashtbl.create 0;
725+
emit_size_cache = Stack.create ();
726726
emit_node = node;
727727
}
728728
;;
@@ -901,13 +901,6 @@ let get_element_ptr
901901
(string_of_cell fmt mem_cell)
902902
;;
903903

904-
let ptr_cast (cell:cell) (rty:referent_ty) : cell =
905-
match cell with
906-
Mem (mem, _) -> Mem (mem, rty)
907-
| Reg (reg, AddrTy _) -> Reg (reg, AddrTy rty)
908-
| _ -> bug () "expected address cell in Il.ptr_cast"
909-
;;
910-
911904
(*
912905
* Local Variables:
913906
* fill-column: 78;

0 commit comments

Comments
 (0)