Skip to content

Commit 9c4a2da

Browse files
committed
---
yaml --- r: 60652 b: refs/heads/auto c: 1965d72 h: refs/heads/master v: v3
1 parent a612ee8 commit 9c4a2da

File tree

10 files changed

+152
-171
lines changed

10 files changed

+152
-171
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,6 @@ refs/heads/try3: 9387340aab40a73e8424c48fd42f0c521a4875c0
1414
refs/tags/release-0.3.1: 495bae036dfe5ec6ceafd3312b4dca48741e845b
1515
refs/tags/release-0.4: e828ea2080499553b97dfe33b3f4d472b4562ad7
1616
refs/tags/release-0.5: 7e3bcfbf21278251ee936ad53e92e9b719702d73
17-
refs/heads/auto: 4bbc13d6db303264cea477972969bf88442a611b
17+
refs/heads/auto: 1965d7295775b93d56f6daea96a6d2f6e8f242da
1818
refs/heads/servo: af82457af293e2a842ba6b7759b70288da276167
1919
refs/tags/release-0.6: b4ebcfa1812664df5e142f0134a5faea3918544c

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

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1367,13 +1367,21 @@ pub type mono_id = @mono_id_;
13671367
impl to_bytes::IterBytes for mono_param_id {
13681368
fn iter_bytes(&self, lsb0: bool, f: to_bytes::Cb) -> bool {
13691369
match *self {
1370-
mono_precise(t, ref mids) =>
1371-
to_bytes::iter_bytes_3(&0u8, &ty::type_id(t), mids, lsb0, f),
1370+
mono_precise(t, ref mids) => {
1371+
0u8.iter_bytes(lsb0, f) &&
1372+
ty::type_id(t).iter_bytes(lsb0, f) &&
1373+
mids.iter_bytes(lsb0, f)
1374+
}
13721375

13731376
mono_any => 1u8.iter_bytes(lsb0, f),
13741377

1375-
mono_repr(ref a, ref b, ref c, ref d) =>
1376-
to_bytes::iter_bytes_5(&2u8, a, b, c, d, lsb0, f)
1378+
mono_repr(ref a, ref b, ref c, ref d) => {
1379+
2u8.iter_bytes(lsb0, f) &&
1380+
a.iter_bytes(lsb0, f) &&
1381+
b.iter_bytes(lsb0, f) &&
1382+
c.iter_bytes(lsb0, f) &&
1383+
d.iter_bytes(lsb0, f)
1384+
}
13771385
}
13781386
}
13791387
}
@@ -1386,7 +1394,7 @@ impl to_bytes::IterBytes for MonoDataClass {
13861394

13871395
impl to_bytes::IterBytes for mono_id_ {
13881396
fn iter_bytes(&self, lsb0: bool, f: to_bytes::Cb) -> bool {
1389-
to_bytes::iter_bytes_2(&self.def, &self.params, lsb0, f)
1397+
self.def.iter_bytes(lsb0, f) && self.params.iter_bytes(lsb0, f)
13901398
}
13911399
}
13921400

branches/auto/src/librustc/middle/trans/glue.rs

Lines changed: 14 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -546,23 +546,20 @@ pub fn make_drop_glue(bcx: block, v0: ValueRef, t: ty::t) {
546546
decr_refcnt_maybe_free(bcx, llbox, ty::mk_opaque_box(ccx.tcx))
547547
}
548548
ty::ty_trait(_, _, ty::UniqTraitStore, _) => {
549-
let lluniquevalue = GEPi(bcx, v0, [0, abi::trt_field_box]);
550-
// Only drop the value when it is non-null
551-
do with_cond(bcx, IsNotNull(bcx, Load(bcx, lluniquevalue))) |bcx| {
552-
let llvtable = Load(bcx, GEPi(bcx, v0, [0, abi::trt_field_vtable]));
553-
554-
// Cast the vtable to a pointer to a pointer to a tydesc.
555-
let llvtable = PointerCast(bcx,
556-
llvtable,
557-
T_ptr(T_ptr(ccx.tydesc_type)));
558-
let lltydesc = Load(bcx, llvtable);
559-
call_tydesc_glue_full(bcx,
560-
lluniquevalue,
561-
lltydesc,
562-
abi::tydesc_field_free_glue,
563-
None);
564-
bcx
565-
}
549+
let lluniquevalue = GEPi(bcx, v0, [0, abi::trt_field_box]);
550+
let llvtable = Load(bcx, GEPi(bcx, v0, [0, abi::trt_field_vtable]));
551+
552+
// Cast the vtable to a pointer to a pointer to a tydesc.
553+
let llvtable = PointerCast(bcx,
554+
llvtable,
555+
T_ptr(T_ptr(ccx.tydesc_type)));
556+
let lltydesc = Load(bcx, llvtable);
557+
call_tydesc_glue_full(bcx,
558+
lluniquevalue,
559+
lltydesc,
560+
abi::tydesc_field_free_glue,
561+
None);
562+
bcx
566563
}
567564
ty::ty_opaque_closure_ptr(ck) => {
568565
closure::make_opaque_cbox_drop_glue(bcx, ck, v0)

branches/auto/src/librustc/middle/ty.rs

Lines changed: 84 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,9 @@ type creader_cache = @mut HashMap<creader_cache_key, t>;
137137

138138
impl to_bytes::IterBytes for creader_cache_key {
139139
fn iter_bytes(&self, lsb0: bool, f: to_bytes::Cb) -> bool {
140-
to_bytes::iter_bytes_3(&self.cnum, &self.pos, &self.len, lsb0, f)
140+
self.cnum.iter_bytes(lsb0, f) &&
141+
self.pos.iter_bytes(lsb0, f) &&
142+
self.len.iter_bytes(lsb0, f)
141143
}
142144
}
143145

@@ -392,14 +394,19 @@ pub struct FnSig {
392394

393395
impl to_bytes::IterBytes for BareFnTy {
394396
fn iter_bytes(&self, lsb0: bool, f: to_bytes::Cb) -> bool {
395-
to_bytes::iter_bytes_3(&self.purity, &self.abis, &self.sig, lsb0, f)
397+
self.purity.iter_bytes(lsb0, f) &&
398+
self.abis.iter_bytes(lsb0, f) &&
399+
self.sig.iter_bytes(lsb0, f)
396400
}
397401
}
398402

399403
impl to_bytes::IterBytes for ClosureTy {
400404
fn iter_bytes(&self, lsb0: bool, f: to_bytes::Cb) -> bool {
401-
to_bytes::iter_bytes_5(&self.purity, &self.sigil, &self.onceness,
402-
&self.region, &self.sig, lsb0, f)
405+
self.purity.iter_bytes(lsb0, f) &&
406+
self.sigil.iter_bytes(lsb0, f) &&
407+
self.onceness.iter_bytes(lsb0, f) &&
408+
self.region.iter_bytes(lsb0, f) &&
409+
self.sig.iter_bytes(lsb0, f)
403410
}
404411
}
405412

@@ -717,9 +724,15 @@ pub enum InferTy {
717724
impl to_bytes::IterBytes for InferTy {
718725
fn iter_bytes(&self, lsb0: bool, f: to_bytes::Cb) -> bool {
719726
match *self {
720-
TyVar(ref tv) => to_bytes::iter_bytes_2(&0u8, tv, lsb0, f),
721-
IntVar(ref iv) => to_bytes::iter_bytes_2(&1u8, iv, lsb0, f),
722-
FloatVar(ref fv) => to_bytes::iter_bytes_2(&2u8, fv, lsb0, f),
727+
TyVar(ref tv) => {
728+
0u8.iter_bytes(lsb0, f) && tv.iter_bytes(lsb0, f)
729+
}
730+
IntVar(ref iv) => {
731+
1u8.iter_bytes(lsb0, f) && iv.iter_bytes(lsb0, f)
732+
}
733+
FloatVar(ref fv) => {
734+
2u8.iter_bytes(lsb0, f) && fv.iter_bytes(lsb0, f)
735+
}
723736
}
724737
}
725738
}
@@ -733,8 +746,12 @@ pub enum InferRegion {
733746
impl to_bytes::IterBytes for InferRegion {
734747
fn iter_bytes(&self, lsb0: bool, f: to_bytes::Cb) -> bool {
735748
match *self {
736-
ReVar(ref rv) => to_bytes::iter_bytes_2(&0u8, rv, lsb0, f),
737-
ReSkolemized(ref v, _) => to_bytes::iter_bytes_2(&1u8, v, lsb0, f)
749+
ReVar(ref rv) => {
750+
0u8.iter_bytes(lsb0, f) && rv.iter_bytes(lsb0, f)
751+
}
752+
ReSkolemized(ref v, _) => {
753+
1u8.iter_bytes(lsb0, f) && v.iter_bytes(lsb0, f)
754+
}
738755
}
739756
}
740757
}
@@ -2626,119 +2643,115 @@ impl cmp::TotalEq for bound_region {
26262643
impl to_bytes::IterBytes for vstore {
26272644
fn iter_bytes(&self, lsb0: bool, f: to_bytes::Cb) -> bool {
26282645
match *self {
2629-
vstore_fixed(ref u) =>
2630-
to_bytes::iter_bytes_2(&0u8, u, lsb0, f),
2631-
2632-
vstore_uniq => 1u8.iter_bytes(lsb0, f),
2633-
vstore_box => 2u8.iter_bytes(lsb0, f),
2646+
vstore_fixed(ref u) => {
2647+
0u8.iter_bytes(lsb0, f) && u.iter_bytes(lsb0, f)
2648+
}
2649+
vstore_uniq => 1u8.iter_bytes(lsb0, f),
2650+
vstore_box => 2u8.iter_bytes(lsb0, f),
26342651

2635-
vstore_slice(ref r) =>
2636-
to_bytes::iter_bytes_2(&3u8, r, lsb0, f),
2652+
vstore_slice(ref r) => {
2653+
3u8.iter_bytes(lsb0, f) && r.iter_bytes(lsb0, f)
2654+
}
26372655
}
26382656
}
26392657
}
26402658

26412659
impl to_bytes::IterBytes for substs {
26422660
fn iter_bytes(&self, lsb0: bool, f: to_bytes::Cb) -> bool {
2643-
to_bytes::iter_bytes_3(&self.self_r,
2644-
&self.self_ty,
2645-
&self.tps, lsb0, f)
2661+
self.self_r.iter_bytes(lsb0, f) &&
2662+
self.self_ty.iter_bytes(lsb0, f) &&
2663+
self.tps.iter_bytes(lsb0, f)
26462664
}
26472665
}
26482666

26492667
impl to_bytes::IterBytes for mt {
26502668
fn iter_bytes(&self, lsb0: bool, f: to_bytes::Cb) -> bool {
2651-
to_bytes::iter_bytes_2(&self.ty,
2652-
&self.mutbl, lsb0, f)
2669+
self.ty.iter_bytes(lsb0, f) && self.mutbl.iter_bytes(lsb0, f)
26532670
}
26542671
}
26552672

26562673
impl to_bytes::IterBytes for field {
26572674
fn iter_bytes(&self, lsb0: bool, f: to_bytes::Cb) -> bool {
2658-
to_bytes::iter_bytes_2(&self.ident,
2659-
&self.mt, lsb0, f)
2675+
self.ident.iter_bytes(lsb0, f) && self.mt.iter_bytes(lsb0, f)
26602676
}
26612677
}
26622678

26632679
impl to_bytes::IterBytes for FnSig {
26642680
fn iter_bytes(&self, lsb0: bool, f: to_bytes::Cb) -> bool {
2665-
to_bytes::iter_bytes_2(&self.inputs,
2666-
&self.output,
2667-
lsb0, f)
2681+
self.inputs.iter_bytes(lsb0, f) && self.output.iter_bytes(lsb0, f)
26682682
}
26692683
}
26702684

26712685
impl to_bytes::IterBytes for sty {
26722686
fn iter_bytes(&self, lsb0: bool, f: to_bytes::Cb) -> bool {
26732687
match *self {
2674-
ty_nil => 0u8.iter_bytes(lsb0, f),
2675-
ty_bool => 1u8.iter_bytes(lsb0, f),
2688+
ty_nil => 0u8.iter_bytes(lsb0, f),
2689+
ty_bool => 1u8.iter_bytes(lsb0, f),
26762690

2677-
ty_int(ref t) =>
2678-
to_bytes::iter_bytes_2(&2u8, t, lsb0, f),
2691+
ty_int(ref t) => 2u8.iter_bytes(lsb0, f) && t.iter_bytes(lsb0, f),
26792692

2680-
ty_uint(ref t) =>
2681-
to_bytes::iter_bytes_2(&3u8, t, lsb0, f),
2693+
ty_uint(ref t) => 3u8.iter_bytes(lsb0, f) && t.iter_bytes(lsb0, f),
26822694

2683-
ty_float(ref t) =>
2684-
to_bytes::iter_bytes_2(&4u8, t, lsb0, f),
2695+
ty_float(ref t) => 4u8.iter_bytes(lsb0, f) && t.iter_bytes(lsb0, f),
26852696

2686-
ty_estr(ref v) =>
2687-
to_bytes::iter_bytes_2(&5u8, v, lsb0, f),
2697+
ty_estr(ref v) => 5u8.iter_bytes(lsb0, f) && v.iter_bytes(lsb0, f),
26882698

2689-
ty_enum(ref did, ref substs) =>
2690-
to_bytes::iter_bytes_3(&6u8, did, substs, lsb0, f),
2699+
ty_enum(ref did, ref substs) => {
2700+
6u8.iter_bytes(lsb0, f) &&
2701+
did.iter_bytes(lsb0, f) &&
2702+
substs.iter_bytes(lsb0, f)
2703+
}
26912704

2692-
ty_box(ref mt) =>
2693-
to_bytes::iter_bytes_2(&7u8, mt, lsb0, f),
2705+
ty_box(ref mt) => 7u8.iter_bytes(lsb0, f) && mt.iter_bytes(lsb0, f),
26942706

2695-
ty_evec(ref mt, ref v) =>
2696-
to_bytes::iter_bytes_3(&8u8, mt, v, lsb0, f),
2707+
ty_evec(ref mt, ref v) => {
2708+
8u8.iter_bytes(lsb0, f) &&
2709+
mt.iter_bytes(lsb0, f) &&
2710+
v.iter_bytes(lsb0, f)
2711+
}
26972712

2698-
ty_unboxed_vec(ref mt) =>
2699-
to_bytes::iter_bytes_2(&9u8, mt, lsb0, f),
2713+
ty_unboxed_vec(ref mt) => 9u8.iter_bytes(lsb0, f) && mt.iter_bytes(lsb0, f),
27002714

2701-
ty_tup(ref ts) =>
2702-
to_bytes::iter_bytes_2(&10u8, ts, lsb0, f),
2715+
ty_tup(ref ts) => 10u8.iter_bytes(lsb0, f) && ts.iter_bytes(lsb0, f),
27032716

2704-
ty_bare_fn(ref ft) =>
2705-
to_bytes::iter_bytes_2(&12u8, ft, lsb0, f),
2717+
ty_bare_fn(ref ft) => 12u8.iter_bytes(lsb0, f) && ft.iter_bytes(lsb0, f),
27062718

2707-
ty_self(ref did) => to_bytes::iter_bytes_2(&13u8, did, lsb0, f),
2719+
ty_self(ref did) => 13u8.iter_bytes(lsb0, f) && did.iter_bytes(lsb0, f),
27082720

2709-
ty_infer(ref v) =>
2710-
to_bytes::iter_bytes_2(&14u8, v, lsb0, f),
2721+
ty_infer(ref v) => 14u8.iter_bytes(lsb0, f) && v.iter_bytes(lsb0, f),
27112722

2712-
ty_param(ref p) =>
2713-
to_bytes::iter_bytes_2(&15u8, p, lsb0, f),
2723+
ty_param(ref p) => 15u8.iter_bytes(lsb0, f) && p.iter_bytes(lsb0, f),
27142724

2715-
ty_type => 16u8.iter_bytes(lsb0, f),
2716-
ty_bot => 17u8.iter_bytes(lsb0, f),
2725+
ty_type => 16u8.iter_bytes(lsb0, f),
2726+
ty_bot => 17u8.iter_bytes(lsb0, f),
27172727

2718-
ty_ptr(ref mt) =>
2719-
to_bytes::iter_bytes_2(&18u8, mt, lsb0, f),
2728+
ty_ptr(ref mt) => 18u8.iter_bytes(lsb0, f) && mt.iter_bytes(lsb0, f),
27202729

2721-
ty_uniq(ref mt) =>
2722-
to_bytes::iter_bytes_2(&19u8, mt, lsb0, f),
2730+
ty_uniq(ref mt) => 19u8.iter_bytes(lsb0, f) && mt.iter_bytes(lsb0, f),
27232731

2724-
ty_trait(ref did, ref substs, ref v, ref mutbl) =>
2725-
to_bytes::iter_bytes_5(&20u8, did, substs, v, mutbl, lsb0, f),
2732+
ty_trait(ref did, ref substs, ref v, ref mutbl) => {
2733+
20u8.iter_bytes(lsb0, f) &&
2734+
did.iter_bytes(lsb0, f) &&
2735+
substs.iter_bytes(lsb0, f) &&
2736+
v.iter_bytes(lsb0, f) &&
2737+
mutbl.iter_bytes(lsb0, f)
2738+
}
27262739

2727-
ty_opaque_closure_ptr(ref ck) =>
2728-
to_bytes::iter_bytes_2(&21u8, ck, lsb0, f),
2740+
ty_opaque_closure_ptr(ref ck) => 21u8.iter_bytes(lsb0, f) && ck.iter_bytes(lsb0, f),
27292741

2730-
ty_opaque_box => 22u8.iter_bytes(lsb0, f),
2742+
ty_opaque_box => 22u8.iter_bytes(lsb0, f),
27312743

2732-
ty_struct(ref did, ref substs) =>
2733-
to_bytes::iter_bytes_3(&23u8, did, substs, lsb0, f),
2744+
ty_struct(ref did, ref substs) => {
2745+
23u8.iter_bytes(lsb0, f) && did.iter_bytes(lsb0, f) && substs.iter_bytes(lsb0, f)
2746+
}
27342747

2735-
ty_rptr(ref r, ref mt) =>
2736-
to_bytes::iter_bytes_3(&24u8, r, mt, lsb0, f),
2748+
ty_rptr(ref r, ref mt) => {
2749+
24u8.iter_bytes(lsb0, f) && r.iter_bytes(lsb0, f) && mt.iter_bytes(lsb0, f)
2750+
}
27372751

2738-
ty_err => 25u8.iter_bytes(lsb0, f),
2752+
ty_err => 25u8.iter_bytes(lsb0, f),
27392753

2740-
ty_closure(ref ct) =>
2741-
to_bytes::iter_bytes_2(&26u8, ct, lsb0, f),
2754+
ty_closure(ref ct) => 26u8.iter_bytes(lsb0, f) && ct.iter_bytes(lsb0, f),
27422755
}
27432756
}
27442757
}

branches/auto/src/librustc/middle/typeck/infer/region_inference.rs

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -564,14 +564,23 @@ enum Constraint {
564564
impl to_bytes::IterBytes for Constraint {
565565
fn iter_bytes(&self, lsb0: bool, f: to_bytes::Cb) -> bool {
566566
match *self {
567-
ConstrainVarSubVar(ref v0, ref v1) =>
568-
to_bytes::iter_bytes_3(&0u8, v0, v1, lsb0, f),
567+
ConstrainVarSubVar(ref v0, ref v1) => {
568+
0u8.iter_bytes(lsb0, f) &&
569+
v0.iter_bytes(lsb0, f) &&
570+
v1.iter_bytes(lsb0, f)
571+
}
569572

570-
ConstrainRegSubVar(ref ra, ref va) =>
571-
to_bytes::iter_bytes_3(&1u8, ra, va, lsb0, f),
573+
ConstrainRegSubVar(ref ra, ref va) => {
574+
1u8.iter_bytes(lsb0, f) &&
575+
ra.iter_bytes(lsb0, f) &&
576+
va.iter_bytes(lsb0, f)
577+
}
572578

573-
ConstrainVarSubReg(ref va, ref ra) =>
574-
to_bytes::iter_bytes_3(&2u8, va, ra, lsb0, f)
579+
ConstrainVarSubReg(ref va, ref ra) => {
580+
2u8.iter_bytes(lsb0, f) &&
581+
va.iter_bytes(lsb0, f) &&
582+
ra.iter_bytes(lsb0, f)
583+
}
575584
}
576585
}
577586
}

branches/auto/src/libstd/to_bytes.rs

Lines changed: 0 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -236,42 +236,6 @@ impl<A:IterBytes> IterBytes for @[A] {
236236
}
237237
}
238238

239-
// NOTE: remove all of these after a snapshot, the new for-loop iteration
240-
// protocol makes these unnecessary.
241-
242-
#[inline(always)]
243-
pub fn iter_bytes_2<A:IterBytes,B:IterBytes>(a: &A, b: &B,
244-
lsb0: bool, z: Cb) -> bool {
245-
a.iter_bytes(lsb0, z) && b.iter_bytes(lsb0, z)
246-
}
247-
248-
pub fn iter_bytes_3<A: IterBytes,
249-
B: IterBytes,
250-
C: IterBytes>(a: &A, b: &B, c: &C, lsb0: bool, z: Cb) -> bool {
251-
a.iter_bytes(lsb0, z) && b.iter_bytes(lsb0, z) && c.iter_bytes(lsb0, z)
252-
}
253-
254-
pub fn iter_bytes_4<A: IterBytes,
255-
B: IterBytes,
256-
C: IterBytes,
257-
D: IterBytes>(a: &A, b: &B, c: &C,
258-
d: &D,
259-
lsb0: bool, z: Cb) -> bool {
260-
a.iter_bytes(lsb0, z) && b.iter_bytes(lsb0, z) && c.iter_bytes(lsb0, z) &&
261-
d.iter_bytes(lsb0, z)
262-
}
263-
264-
pub fn iter_bytes_5<A: IterBytes,
265-
B: IterBytes,
266-
C: IterBytes,
267-
D: IterBytes,
268-
E: IterBytes>(a: &A, b: &B, c: &C,
269-
d: &D, e: &E,
270-
lsb0: bool, z: Cb) -> bool {
271-
a.iter_bytes(lsb0, z) && b.iter_bytes(lsb0, z) && c.iter_bytes(lsb0, z) &&
272-
d.iter_bytes(lsb0, z) && e.iter_bytes(lsb0, z)
273-
}
274-
275239
impl<'self> IterBytes for &'self str {
276240
#[inline(always)]
277241
fn iter_bytes(&self, _lsb0: bool, f: Cb) -> bool {

0 commit comments

Comments
 (0)