Skip to content

Commit 6331e58

Browse files
committed
---
yaml --- r: 148979 b: refs/heads/try2 c: 8d1204a h: refs/heads/master i: 148977: 811dbf6 148975: 79d144c v: v3
1 parent d955321 commit 6331e58

38 files changed

+502
-606
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ refs/heads/snap-stage3: 78a7676898d9f80ab540c6df5d4c9ce35bb50463
55
refs/heads/try: 519addf6277dbafccbb4159db4b710c37eaa2ec5
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
8-
refs/heads/try2: 80c6c73647cc3294c587d8089d6628d8969f0b71
8+
refs/heads/try2: 8d1204a4b7c9322c873c353836238a88b78edf1b
99
refs/heads/dist-snap: ba4081a5a8573875fed17545846f6f6902c8ba8d
1010
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
1111
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503

branches/try2/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ src/.DS_Store
7575
/nd/
7676
/llvm/
7777
version.md
78+
*.tex
7879
keywords.md
7980
x86_64-apple-darwin/
8081
x86_64-unknown-linux-gnu/

branches/try2/mk/docs.mk

Lines changed: 6 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,8 @@ HTML_DEPS := doc/
1919

2020
BASE_DOC_OPTS := --standalone --toc --number-sections
2121
HTML_OPTS = $(BASE_DOC_OPTS) --to=html5 --section-divs --css=rust.css \
22-
--include-before-body=doc/version_info.html \
23-
--include-in-header=doc/favicon.inc --include-after-body=doc/footer.inc
24-
TEX_OPTS = $(BASE_DOC_OPTS) --include-before-body=doc/version.md \
25-
--from=markdown --include-before-body=doc/footer.tex --to=latex
22+
--include-before-body=doc/version_info.html --include-in-header=doc/favicon.inc
23+
TEX_OPTS = $(BASE_DOC_OPTS) --include-before-body=doc/version.md --to=latex
2624
EPUB_OPTS = $(BASE_DOC_OPTS) --to=epub
2725

2826
D := $(S)src/doc
@@ -57,21 +55,12 @@ doc/rust.css: $(D)/rust.css | doc/
5755
@$(call E, cp: $@)
5856
$(Q)cp -a $< $@ 2> /dev/null
5957

60-
HTML_DEPS += doc/favicon.inc
61-
doc/favicon.inc: $(D)/favicon.inc | doc/
62-
@$(call E, cp: $@)
63-
$(Q)cp -a $< $@ 2> /dev/null
64-
6558
doc/full-toc.inc: $(D)/full-toc.inc | doc/
6659
@$(call E, cp: $@)
6760
$(Q)cp -a $< $@ 2> /dev/null
6861

69-
HTML_DEPS += doc/footer.inc
70-
doc/footer.inc: $(D)/footer.inc | doc/
71-
@$(call E, cp: $@)
72-
$(Q)cp -a $< $@ 2> /dev/null
73-
74-
doc/footer.tex: $(D)/footer.tex | doc/
62+
HTML_DEPS += doc/favicon.inc
63+
doc/favicon.inc: $(D)/favicon.inc | doc/
7564
@$(call E, cp: $@)
7665
$(Q)cp -a $< $@ 2> /dev/null
7766

@@ -94,7 +83,7 @@ doc/rust.html: $(D)/rust.md doc/full-toc.inc $(HTML_DEPS) | doc/
9483
$(CFG_PANDOC) $(HTML_OPTS) --include-in-header=doc/full-toc.inc --output=$@
9584

9685
DOCS += doc/rust.tex
97-
doc/rust.tex: $(D)/rust.md doc/footer.tex doc/version.md | doc/
86+
doc/rust.tex: $(D)/rust.md doc/version.md | doc/
9887
@$(call E, pandoc: $@)
9988
$(Q)$(CFG_NODE) $(D)/prep.js $< | \
10089
$(CFG_PANDOC) $(TEX_OPTS) --output=$@
@@ -118,7 +107,7 @@ doc/tutorial.html: $(D)/tutorial.md $(HTML_DEPS)
118107
$(CFG_PANDOC) $(HTML_OPTS) --output=$@
119108

120109
DOCS += doc/tutorial.tex
121-
doc/tutorial.tex: $(D)/tutorial.md doc/footer.tex doc/version.md
110+
doc/tutorial.tex: $(D)/tutorial.md doc/version.md
122111
@$(call E, pandoc: $@)
123112
$(Q)$(CFG_NODE) $(D)/prep.js $< | \
124113
$(CFG_PANDOC) $(TEX_OPTS) --output=$@

branches/try2/src/doc/footer.inc

Lines changed: 0 additions & 7 deletions
This file was deleted.

branches/try2/src/doc/footer.tex

Lines changed: 0 additions & 7 deletions
This file was deleted.

branches/try2/src/doc/rust.css

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
body {
1616
margin: 0 auto;
1717
padding: 0 15px;
18+
margin-bottom: 4em;
1819
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
1920
font-size: 14px;
2021
color: #333;
@@ -75,15 +76,6 @@ p {
7576
margin: 0 0 10px;
7677
}
7778

78-
footer {
79-
border-top: 1px solid #ddd;
80-
font-size: 12px;
81-
font-style: italic;
82-
padding-top: 4px;
83-
margin-top: 4em;
84-
margin-bottom: 1em;
85-
}
86-
8779
/* Links layout
8880
========================================================================== */
8981
a {

branches/try2/src/libarena/lib.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,8 @@ impl Arena {
214214
#[inline]
215215
fn alloc_pod<'a, T>(&'a mut self, op: || -> T) -> &'a T {
216216
unsafe {
217-
let ptr = self.alloc_pod_inner(mem::size_of::<T>(), mem::min_align_of::<T>());
217+
let tydesc = get_tydesc::<T>();
218+
let ptr = self.alloc_pod_inner((*tydesc).size, (*tydesc).align);
218219
let ptr: *mut T = transmute(ptr);
219220
intrinsics::move_val_init(&mut (*ptr), op());
220221
return transmute(ptr);
@@ -271,7 +272,7 @@ impl Arena {
271272
unsafe {
272273
let tydesc = get_tydesc::<T>();
273274
let (ty_ptr, ptr) =
274-
self.alloc_nonpod_inner(mem::size_of::<T>(), mem::min_align_of::<T>());
275+
self.alloc_nonpod_inner((*tydesc).size, (*tydesc).align);
275276
let ty_ptr: *mut uint = transmute(ty_ptr);
276277
let ptr: *mut T = transmute(ptr);
277278
// Write in our tydesc along with a bit indicating that it

branches/try2/src/librustc/middle/trans/base.rs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -352,6 +352,7 @@ pub fn malloc_raw_dyn<'a>(
352352
if heap == heap_exchange {
353353
let llty_value = type_of::type_of(ccx, t);
354354

355+
355356
// Allocate space:
356357
let r = callee::trans_lang_call(
357358
bcx,
@@ -374,14 +375,17 @@ pub fn malloc_raw_dyn<'a>(
374375
// Grab the TypeRef type of box_ptr_ty.
375376
let box_ptr_ty = ty::mk_box(bcx.tcx(), t);
376377
let llty = type_of(ccx, box_ptr_ty);
377-
let llalign = C_uint(ccx, llalign_of_min(ccx, llty) as uint);
378+
379+
// Get the tydesc for the body:
380+
let static_ti = get_tydesc(ccx, t);
381+
glue::lazily_emit_tydesc_glue(ccx, abi::tydesc_field_drop_glue, static_ti);
378382

379383
// Allocate space:
380-
let drop_glue = glue::get_drop_glue(ccx, t);
384+
let tydesc = PointerCast(bcx, static_ti.tydesc, Type::i8p());
381385
let r = callee::trans_lang_call(
382386
bcx,
383387
langcall,
384-
[PointerCast(bcx, drop_glue, Type::glue_fn(Type::i8p()).ptr_to()), size, llalign],
388+
[tydesc, size],
385389
None);
386390
rslt(r.bcx, PointerCast(r.bcx, r.val, llty))
387391
}

branches/try2/src/librustc/middle/trans/common.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,7 @@ pub struct tydesc_info {
114114
size: ValueRef,
115115
align: ValueRef,
116116
name: ValueRef,
117+
drop_glue: Cell<Option<ValueRef>>,
117118
visit_glue: Cell<Option<ValueRef>>,
118119
}
119120

0 commit comments

Comments
 (0)