Skip to content

Commit c563454

Browse files
committed
---
yaml --- r: 565 b: refs/heads/master c: 4467d76 h: refs/heads/master i: 563: f6bddce v: v3
1 parent c83b2a3 commit c563454

Some content is hidden

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

106 files changed

+1290
-4092
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: ed92925083ebe26e6e3a9cec6b1f3906f9ce2dd1
2+
refs/heads/master: 4467d7683dae87d6d4c55e446910f7a5b85abd13

trunk/.gitignore

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22
*.x86
33
*.llvm
44
*.out
5-
*.x86.tmp
6-
*.llvm.tmp
75
*.cmx
86
*.dll
97
*.exe
@@ -32,8 +30,6 @@
3230
*.swp
3331
.hg/
3432
.hgignore
35-
.cproject
36-
.project
3733
lexer.ml
3834
rustboot
3935
rustc

trunk/doc/rust.texi

Lines changed: 8 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -599,7 +599,6 @@ Unicode characters.
599599
* Ref.Lex.Ignore:: Ignored characters.
600600
* Ref.Lex.Ident:: Identifier tokens.
601601
* Ref.Lex.Key:: Keyword tokens.
602-
* Ref.Lex.Res:: Reserved tokens.
603602
* Ref.Lex.Num:: Numeric tokens.
604603
* Ref.Lex.Text:: String and character tokens.
605604
* Ref.Lex.Syntax:: Syntactic extension tokens.
@@ -637,7 +636,7 @@ token or a syntactic extension token. Multi-line comments may be nested.
637636
Identifiers follow the pattern of C identifiers: they begin with a
638637
@emph{letter} or @emph{underscore}, and continue with any combination of
639638
@emph{letters}, @emph{decimal digits} and underscores, and must not be equal
640-
to any keyword or reserved token. @xref{Ref.Lex.Key}. @xref{Ref.Lex.Res}.
639+
to any keyword. @xref{Ref.Lex.Key}.
641640

642641
A @emph{letter} is a Unicode character in the ranges U+0061-U+007A and
643642
U+0041-U+005A (@code{'a'}-@code{'z'} and @code{'A'}-@code{'Z'}).
@@ -729,35 +728,6 @@ The keywords are:
729728
@tab @code{be}
730729
@end multitable
731730

732-
@node Ref.Lex.Res
733-
@subsection Ref.Lex.Res
734-
@c * Ref.Lex.Res:: Reserved tokens.
735-
736-
The reserved tokens are:
737-
@cindex Reserved
738-
739-
@sp 2
740-
741-
@multitable @columnfractions .15 .15 .15 .15 .15
742-
@item @code{f16}
743-
@tab @code{f80}
744-
@tab @code{f128}
745-
@item @code{m32}
746-
@tab @code{m64}
747-
@tab @code{m128}
748-
@tab @code{dec}
749-
@end multitable
750-
751-
@sp 2
752-
753-
At present these tokens have no defined meaning in the Rust language.
754-
755-
These tokens may correspond, in some current or future implementation,
756-
to additional built-in types for decimal floating-point, extended
757-
binary and interchange floating-point formats, as defined in the IEEE
758-
754-1985 and IEEE 754-2008 specifications.
759-
760-
761731
@node Ref.Lex.Num
762732
@subsection Ref.Lex.Num
763733
@c * Ref.Lex.Num:: Numeric tokens.
@@ -815,10 +785,6 @@ only two floating-point suffixes: @code{f32} and @code{f64}. Each of these
815785
gives the floating point literal the associated type, rather than
816786
@code{float}.
817787

818-
A set of suffixes are also reserved to accommodate literal support for
819-
types corresponding to reserved tokens. The reserved suffixes are @code{f16},
820-
@code{f80}, @code{f128}, @code{m}, @code{m32}, @code{m64} and @code{m128}.
821-
822788
@sp 1
823789
A @dfn{hex digit} is either a @emph{decimal digit} or else a character in the
824790
ranges U+0061-U+0066 and U+0041-U+0046 (@code{'a'}-@code{'f'},
@@ -2058,7 +2024,7 @@ The signed two's complement word types @code{i8}, @code{i16}, @code{i32} and
20582024
@end ifhtml
20592025
respectively.
20602026
@item
2061-
The IEEE 754-2008 @code{binary32} and @code{binary64} floating-point types:
2027+
The IEEE 754 single-precision and double-precision floating-point types:
20622028
@code{f32} and @code{f64}, respectively.
20632029
@end itemize
20642030

@@ -2856,15 +2822,12 @@ x.y = z + 2;
28562822
@c * Ref.Stmt.Spawn:: Statements creating new tasks.
28572823
@cindex Spawn statement
28582824

2859-
A @code{spawn} statement consists of keyword @code{spawn}, followed by
2860-
an optional literal string naming the new task and then a normal
2861-
@emph{call} statement (@pxref{Ref.Stmt.Call}). A @code{spawn}
2862-
statement causes the runtime to construct a new task executing the
2863-
called function with the given name. The called function is referred
2864-
to as the @dfn{entry function} for the spawned task, and its arguments
2865-
are copied from the spawning task to the spawned task before the
2866-
spawned task begins execution. If no explicit name is present, the
2867-
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.
28682831

28692832
Functions taking alias-slot arguments, or returning non-nil values, cannot be
28702833
spawned. Iterators cannot be spawned.
@@ -2880,7 +2843,6 @@ fn helper(chan[u8] out) @{
28802843
28812844
let port[u8] out;
28822845
let task p = spawn helper(chan(out));
2883-
let task p2 = spawn "my_helper" helper(chan(out));
28842846
// let task run, do other things.
28852847
auto result <- out;
28862848

trunk/src/Makefile

Lines changed: 19 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ ifeq ($(CFG_OSTYPE), Linux)
3535
CFG_RUNTIME := librustrt.so
3636
CFG_STDLIB := libstd.so
3737
CFG_GCC_CFLAGS += -fPIC
38-
CFG_GCC_LINK_FLAGS += -shared -fPIC -ldl -lpthread -lrt
38+
CFG_GCC_LINK_FLAGS += -shared -fPIC -ldl -lpthread
3939
ifeq ($(CFG_CPUTYPE), x86_64)
4040
CFG_GCC_CFLAGS += -m32
4141
CFG_GCC_LINK_FLAGS += -m32
@@ -245,9 +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/timer.cpp \
249-
rt/sync/sync.cpp \
250-
rt/sync/spin_lock.cpp \
248+
RUNTIME_CS := rt/sync/spin_lock.cpp \
251249
rt/sync/lock_free_queue.cpp \
252250
rt/sync/condition_variable.cpp \
253251
rt/rust.cpp \
@@ -265,9 +263,7 @@ RUNTIME_CS := rt/sync/timer.cpp \
265263
rt/rust_message.cpp \
266264
rt/rust_timer.cpp \
267265
rt/circular_buffer.cpp \
268-
rt/isaac/randport.cpp \
269-
rt/rust_srv.cpp \
270-
rt/memory_region.cpp
266+
rt/isaac/randport.cpp
271267

272268
RUNTIME_HDR := rt/globals.h \
273269
rt/rust.h \
@@ -283,12 +279,7 @@ RUNTIME_HDR := rt/globals.h \
283279
rt/rust_message.h \
284280
rt/circular_buffer.h \
285281
rt/util/array_list.h \
286-
rt/util/hash_map.h \
287-
rt/sync/sync.h \
288-
rt/sync/timer.h \
289-
rt/rust_srv.h \
290-
rt/memory_region.h \
291-
rt/memory.h
282+
rt/util/hash_map.h
292283

293284
RUNTIME_INCS := -Irt/isaac -Irt/uthash
294285
RUNTIME_OBJS := $(RUNTIME_CS:.cpp=$(CFG_OBJ_SUFFIX))
@@ -305,7 +296,7 @@ all: $(CFG_COMPILER) $(MKFILES) $(GENERATED)
305296

306297
boot/util/version.ml: Makefile
307298
$(CFG_QUIET)git log -1 \
308-
--format='let version = "prerelease (%h %ci)";;' >$@ || exit 1
299+
--format='let version = "prerelease (%h %ci)";;' >$@
309300

310301
loc:
311302
$(CFG_QUIET)wc -l $(BOOT_MLS) $(RUNTIME_CS) $(RUNTIME_HDR)
@@ -388,14 +379,13 @@ TASK_XFAILS := test/run-pass/acyclic-unwind.rs \
388379
test/run-pass/task-comm-7.rs \
389380
test/run-pass/task-comm-8.rs \
390381
test/run-pass/task-comm-9.rs \
391-
test/run-pass/task-comm-10.rs \
392-
test/run-pass/task-comm-11.rs \
393-
test/run-pass/task-life-0.rs \
394382
test/run-pass/task-comm.rs \
395383
test/run-pass/threads.rs \
396384
test/run-pass/yield.rs
397385

398386
TEST_XFAILS_X86 := $(TASK_XFAILS) \
387+
test/run-pass/arithmetic-interference.rs \
388+
test/run-pass/bind-obj-ctor.rs \
399389
test/run-pass/child-outlives-parent.rs \
400390
test/run-pass/clone-with-exterior.rs \
401391
test/run-pass/constrained-type.rs \
@@ -407,13 +397,16 @@ TEST_XFAILS_X86 := $(TASK_XFAILS) \
407397
test/run-pass/generic-recursive-tag.rs \
408398
test/run-pass/int-lib.rs \
409399
test/run-pass/iter-ret.rs \
410-
test/run-pass/lib-io.rs \
400+
test/run-pass/lib-deque.rs \
411401
test/run-pass/lib-map.rs \
412402
test/run-pass/mlist-cycle.rs \
413403
test/run-pass/obj-as.rs \
414404
test/run-pass/task-comm.rs \
415405
test/run-pass/vec-slice.rs \
406+
test/run-pass/task-comm-2.rs \
416407
test/run-pass/task-comm-3.rs \
408+
test/run-pass/task-comm-5.rs \
409+
test/run-pass/task-comm-6.rs \
417410
test/compile-fail/bad-recv.rs \
418411
test/compile-fail/bad-send.rs \
419412
test/compile-fail/infinite-tag-type-recursion.rs \
@@ -422,17 +415,14 @@ TEST_XFAILS_X86 := $(TASK_XFAILS) \
422415

423416
TEST_XFAILS_LLVM := $(TASK_XFAILS) \
424417
$(addprefix test/run-pass/, \
425-
arith-1.rs \
426418
acyclic-unwind.rs \
427419
alt-pattern-simple.rs \
428420
alt-tag.rs \
429-
append-units.rs \
421+
arithmetic-interference.rs \
430422
argv.rs \
431423
autoderef-full-lval.rs \
432424
autoderef-objfn.rs \
433425
basic.rs \
434-
basic-1.rs \
435-
basic-2.rs \
436426
bind-obj-ctor.rs \
437427
bind-thunk.rs \
438428
bind-trivial.rs \
@@ -473,6 +463,7 @@ TEST_XFAILS_LLVM := $(TASK_XFAILS) \
473463
i32-sub.rs \
474464
i8-incr.rs \
475465
import.rs \
466+
inner-module.rs \
476467
integral-indexing.rs \
477468
int-lib.rs \
478469
iter-range.rs \
@@ -482,10 +473,8 @@ TEST_XFAILS_LLVM := $(TASK_XFAILS) \
482473
lazy-init.rs \
483474
lazychan.rs \
484475
lib-deque.rs \
485-
lib-io.rs \
486476
lib-map.rs \
487477
lib-rand.rs \
488-
lib-vec-str-conversions.rs \
489478
linear-for-loop.rs \
490479
list.rs \
491480
many.rs \
@@ -510,7 +499,6 @@ TEST_XFAILS_LLVM := $(TASK_XFAILS) \
510499
rec-tup.rs \
511500
rec.rs \
512501
simple-obj.rs \
513-
size-and-align.rs \
514502
spawn-fn.rs \
515503
spawn-module-qualified.rs \
516504
spawn.rs \
@@ -519,7 +507,6 @@ TEST_XFAILS_LLVM := $(TASK_XFAILS) \
519507
str-concat.rs \
520508
str-idx.rs \
521509
str-lib.rs \
522-
task-lib.rs \
523510
tag.rs \
524511
tail-cps.rs \
525512
tail-direct.rs \
@@ -534,9 +521,6 @@ TEST_XFAILS_LLVM := $(TASK_XFAILS) \
534521
task-comm-7.rs \
535522
task-comm-8.rs \
536523
task-comm-9.rs \
537-
task-comm-10.rs \
538-
task-comm-11.rs \
539-
task-life-0.rs \
540524
threads.rs \
541525
type-sizes.rs \
542526
u8-incr.rs \
@@ -556,7 +540,6 @@ TEST_XFAILS_LLVM := $(TASK_XFAILS) \
556540
vec-lib.rs \
557541
vec-slice.rs \
558542
vec.rs \
559-
while-flow-graph.rs \
560543
writealias.rs \
561544
yield.rs \
562545
yield2.rs \
@@ -618,10 +601,6 @@ TEST_RPASS_OUTS_X86 := \
618601
$(TEST_RPASS_EXES_X86:.x86$(CFG_EXE_SUFFIX)=.x86.out)
619602
TEST_RPASS_OUTS_LLVM := \
620603
$(TEST_RPASS_EXES_LLVM:.llvm$(CFG_EXE_SUFFIX)=.llvm.out)
621-
TEST_RPASS_TMPS_X86 := \
622-
$(TEST_RPASS_EXES_X86:.x86$(CFG_EXE_SUFFIX)=.x86$(CFG_EXE_SUFFIX).tmp)
623-
TEST_RPASS_TMPS_LLVM := \
624-
$(TEST_RPASS_EXES_LLVM:.llvm$(CFG_EXE_SUFFIX)=.llvm$(CFG_EXE_SUFFIX).tmp)
625604

626605

627606
TEST_RFAIL_CRATES_X86 := $(filter-out $(TEST_XFAILS_X86), $(RFAIL_RC))
@@ -639,10 +618,6 @@ TEST_RFAIL_OUTS_X86 := \
639618
$(TEST_RFAIL_EXES_X86:.x86$(CFG_EXE_SUFFIX)=.x86.out)
640619
TEST_RFAIL_OUTS_LLVM := \
641620
$(TEST_RFAIL_EXES_LLVM:.llvm$(CFG_EXE_SUFFIX)=.llvm.out)
642-
TEST_RFAIL_TMPS_X86 := \
643-
$(TEST_RFAIL_EXES_X86:.x86$(CFG_EXE_SUFFIX)=.x86$(CFG_EXE_SUFFIX).tmp)
644-
TEST_RFAIL_TMPS_LLVM := \
645-
$(TEST_RFAIL_EXES_LLVM:.llvm$(CFG_EXE_SUFFIX)=.llvm$(CFG_EXE_SUFFIX).tmp)
646621

647622

648623
TEST_CFAIL_CRATES_X86 := $(filter-out $(TEST_XFAILS_X86), $(CFAIL_RC))
@@ -660,11 +635,6 @@ TEST_CFAIL_OUTS_X86 := \
660635
$(TEST_CFAIL_EXES_X86:.x86$(CFG_EXE_SUFFIX)=.x86.out)
661636
TEST_CFAIL_OUTS_LLVM := \
662637
$(TEST_CFAIL_EXES_LLVM:.llvm$(CFG_EXE_SUFFIX)=.llvm.out)
663-
TEST_CFAIL_TMPS_X86 := \
664-
$(TEST_CFAIL_EXES_X86:.x86$(CFG_EXE_SUFFIX)=.x86$(CFG_EXE_SUFFIX).tmp)
665-
TEST_CFAIL_TMPS_LLVM := \
666-
$(TEST_CFAIL_EXES_LLVM:.llvm$(CFG_EXE_SUFFIX)=.llvm$(CFG_EXE_SUFFIX).tmp)
667-
668638

669639
ALL_TEST_CRATES := $(TEST_CFAIL_CRATES_X86) \
670640
$(TEST_RFAIL_CRATES_X86) \
@@ -719,12 +689,10 @@ BOOT := $(CFG_QUIET)OCAMLRUNPARAM="b1" $(CFG_BOOT) $(CFG_BOOT_FLAGS)
719689
$(CFG_QUIET)mv $< $@
720690

721691
test/run-pass/%.out.tmp: test/run-pass/%$(CFG_EXE_SUFFIX) $(CFG_RUNTIME)
722-
$(CFG_QUIET)rm -f $<.tmp
723692
@$(call CFG_ECHO, run: $<)
724693
$(CFG_QUIET)$(call CFG_RUN_TARG, $<) > $@
725694

726695
test/run-fail/%.out.tmp: test/run-fail/%$(CFG_EXE_SUFFIX) $(CFG_RUNTIME)
727-
$(CFG_QUIET)rm -f $<.tmp
728696
@$(call CFG_ECHO, run: $<)
729697
$(CFG_QUIET)rm -f $@
730698
$(CFG_QUIET)$(call CFG_RUN_TARG, $<) >$@ 2>&1 ; X=$$? ; \
@@ -917,18 +885,12 @@ clean:
917885
$(CFG_QUIET)rm -f $(ML_DEPFILES) $(C_DEPFILES) $(CRATE_DEPFILES)
918886
$(CFG_QUIET)rm -f $(GENERATED)
919887
$(CFG_QUIET)rm -f $(CFG_BOOT) $(CFG_RUNTIME) $(CFG_STDLIB)
920-
$(CFG_QUIET)rm -f $(TEST_RPASS_EXES_X86) $(TEST_RPASS_OUTS_X86) \
921-
$(TEST_RPASS_TMPS_X86)
922-
$(CFG_QUIET)rm -f $(TEST_RPASS_EXES_LLVM) $(TEST_RPASS_OUTS_LLVM) \
923-
$(TEST_RPASS_TMPS_LLVM)
924-
$(CFG_QUIET)rm -f $(TEST_RFAIL_EXES_X86) $(TEST_RFAIL_OUTS_X86) \
925-
$(TEST_RFAIL_TMPS_X86)
926-
$(CFG_QUIET)rm -f $(TEST_RFAIL_EXES_LLVM) $(TEST_RFAIL_OUTS_LLVM) \
927-
$(TEST_RFAIL_TMPS_LLVM)
928-
$(CFG_QUIET)rm -f $(TEST_CFAIL_EXES_X86) $(TEST_CFAIL_OUTS_X86) \
929-
$(TEST_CFAIL_TMPS_X86)
930-
$(CFG_QUIET)rm -f $(TEST_CFAIL_EXES_LLVM) $(TEST_CFAIL_OUTS_LLVM) \
931-
$(TEST_CFAIL_TMPS_LLVM)
888+
$(CFG_QUIET)rm -f $(TEST_RPASS_EXES_X86) $(TEST_RPASS_OUTS_X86)
889+
$(CFG_QUIET)rm -f $(TEST_RPASS_EXES_LLVM) $(TEST_RPASS_OUTS_LLVM)
890+
$(CFG_QUIET)rm -f $(TEST_RFAIL_EXES_X86) $(TEST_RFAIL_OUTS_X86)
891+
$(CFG_QUIET)rm -f $(TEST_RFAIL_EXES_LLVM) $(TEST_RFAIL_OUTS_LLVM)
892+
$(CFG_QUIET)rm -f $(TEST_CFAIL_EXES_X86) $(TEST_CFAIL_OUTS_X86)
893+
$(CFG_QUIET)rm -f $(TEST_CFAIL_EXES_LLVM) $(TEST_CFAIL_OUTS_LLVM)
932894
$(CFG_QUIET)rm -rf $(TEST_RPASS_EXES_LLVM:.llvm=.llvm.dSYM)
933895
$(CFG_QUIET)rm -rf $(TEST_RFAIL_EXES_LLVM:.llvm=.llvm.dSYM)
934896
$(CFG_QUIET)rm -Rf $(PKG_NAME)-*.tar.gz dist

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

0 commit comments

Comments
 (0)