Skip to content

Commit 860a539

Browse files
committed
---
yaml --- r: 3378 b: refs/heads/master c: ba5c7a5 h: refs/heads/master v: v3
1 parent eca6147 commit 860a539

File tree

11 files changed

+55
-51
lines changed

11 files changed

+55
-51
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: d4a5487e1c1ab641f146e2ab83409bc9b5a4ec51
2+
refs/heads/master: ba5c7a570d1bc6f28e7a2f4eb5cfd50b7c19f374

trunk/src/comp/back/link.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
import driver::session;
33
import lib::llvm::llvm;
44
import middle::trans;
5-
import middle::metadata;
65
import middle::ty;
6+
import metadata::cwriter;
77
import std::str;
88
import std::fs;
99
import std::vec;
@@ -398,15 +398,15 @@ fn symbol_hash(ty::ctxt tcx, sha1 sha, &ty::t t, str crate_meta_name,
398398
// to be independent of one another in the crate.
399399

400400
auto cx =
401-
@rec(ds=metadata::def_to_str,
401+
@rec(ds=metadata::cwriter::def_to_str,
402402
tcx=tcx,
403-
abbrevs=metadata::ac_no_abbrevs);
403+
abbrevs=metadata::cwriter::ac_no_abbrevs);
404404
sha.reset();
405405
sha.input_str(crate_meta_name);
406406
sha.input_str("-");
407407
sha.input_str(crate_meta_name);
408408
sha.input_str("-");
409-
sha.input_str(metadata::encode::ty_str(cx, t));
409+
sha.input_str(metadata::cwriter::encode::ty_str(cx, t));
410410
auto hash = truncated_sha1_result(sha);
411411
// Prefix with _ so that it never blends into adjacent digits
412412

@@ -452,8 +452,8 @@ fn mangle_exported_name(&@crate_ctxt ccx, &vec[str] path, &ty::t t) -> str {
452452

453453
fn mangle_internal_name_by_type_only(&@crate_ctxt ccx, &ty::t t, &str name) ->
454454
str {
455-
auto f = metadata::def_to_str;
456-
auto cx = @rec(ds=f, tcx=ccx.tcx, abbrevs=metadata::ac_no_abbrevs);
455+
auto f = metadata::cwriter::def_to_str;
456+
auto cx = @rec(ds=f, tcx=ccx.tcx, abbrevs=metadata::cwriter::ac_no_abbrevs);
457457
auto s = pretty::ppaux::ty_to_short_str(ccx.tcx, t);
458458
auto hash = get_symbol_hash(ccx, t);
459459
ret mangle([name, s, hash]);

trunk/src/comp/driver/rustc.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11

22

33
// -*- rust -*-
4-
import front::creader;
4+
import metadata::creader;
55
import front::parser;
66
import front::token;
77
import front::eval;
@@ -349,7 +349,7 @@ fn main(vec[str] args) {
349349
case (none[pp_mode]) {/* continue */ }
350350
}
351351
if (ls) {
352-
front::creader::list_file_metadata(ifile, std::io::stdout());
352+
metadata::creader::list_file_metadata(ifile, std::io::stdout());
353353
ret;
354354
}
355355
alt (output_file) {

trunk/src/comp/front/creader.rs renamed to trunk/src/comp/metadata/creader.rs

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import lib::llvm::mk_object_file;
99
import lib::llvm::mk_section_iter;
1010
import middle::resolve;
1111
import middle::walk;
12-
import middle::metadata;
12+
import cwriter;
1313
import middle::trans;
1414
import middle::ty;
1515
import back::x86;
@@ -404,15 +404,15 @@ fn parse_def_id(vec[u8] buf) -> ast::def_id {
404404

405405
fn lookup_hash(&ebml::doc d, fn(vec[u8]) -> bool eq_fn, uint hash) ->
406406
vec[ebml::doc] {
407-
auto index = ebml::get_doc(d, metadata::tag_index);
408-
auto table = ebml::get_doc(index, metadata::tag_index_table);
407+
auto index = ebml::get_doc(d, cwriter::tag_index);
408+
auto table = ebml::get_doc(index, cwriter::tag_index_table);
409409
auto hash_pos = table.start + hash % 256u * 4u;
410410
auto pos = ebml::be_uint_from_bytes(d.data, hash_pos, 4u);
411411
auto bucket = ebml::doc_at(d.data, pos);
412412
// Awkward logic because we can't ret from foreach yet
413413

414414
let vec[ebml::doc] result = [];
415-
auto belt = metadata::tag_index_buckets_bucket_elt;
415+
auto belt = cwriter::tag_index_buckets_bucket_elt;
416416
for each (ebml::doc elt in ebml::tagged_docs(bucket, belt)) {
417417
auto pos = ebml::be_uint_from_bytes(elt.data, elt.start, 4u);
418418
if (eq_fn(vec::slice[u8](elt.data, elt.start + 4u, elt.end))) {
@@ -431,11 +431,11 @@ fn resolve_path(vec[ast::ident] path, vec[u8] data) -> vec[ast::def_id] {
431431
}
432432
auto s = str::connect(path, "::");
433433
auto md = ebml::new_doc(data);
434-
auto paths = ebml::get_doc(md, metadata::tag_paths);
434+
auto paths = ebml::get_doc(md, cwriter::tag_paths);
435435
auto eqer = bind eq_item(_, s);
436436
let vec[ast::def_id] result = [];
437-
for (ebml::doc doc in lookup_hash(paths, eqer, metadata::hash_path(s))) {
438-
auto did_doc = ebml::get_doc(doc, metadata::tag_def_id);
437+
for (ebml::doc doc in lookup_hash(paths, eqer, cwriter::hash_path(s))) {
438+
auto did_doc = ebml::get_doc(doc, cwriter::tag_def_id);
439439
vec::push(result, parse_def_id(ebml::doc_data(did_doc)));
440440
}
441441
ret result;
@@ -446,7 +446,7 @@ fn maybe_find_item(int item_id, &ebml::doc items) -> option::t[ebml::doc] {
446446
ret ebml::be_uint_from_bytes(bytes, 0u, 4u) as int == item_id;
447447
}
448448
auto eqer = bind eq_item(_, item_id);
449-
auto found = lookup_hash(items, eqer, metadata::hash_def_id(item_id));
449+
auto found = lookup_hash(items, eqer, cwriter::hash_def_id(item_id));
450450
if (vec::len(found) == 0u) {
451451
ret option::none[ebml::doc];
452452
} else { ret option::some[ebml::doc](found.(0)); }
@@ -460,22 +460,22 @@ fn find_item(int item_id, &ebml::doc items) -> ebml::doc {
460460
// Looks up an item in the given metadata and returns an ebml doc pointing
461461
// to the item data.
462462
fn lookup_item(int item_id, vec[u8] data) -> ebml::doc {
463-
auto items = ebml::get_doc(ebml::new_doc(data), metadata::tag_items);
463+
auto items = ebml::get_doc(ebml::new_doc(data), cwriter::tag_items);
464464
ret find_item(item_id, items);
465465
}
466466

467467
fn item_kind(&ebml::doc item) -> u8 {
468-
auto kind = ebml::get_doc(item, metadata::tag_items_data_item_kind);
468+
auto kind = ebml::get_doc(item, cwriter::tag_items_data_item_kind);
469469
ret ebml::doc_as_uint(kind) as u8;
470470
}
471471

472472
fn item_symbol(&ebml::doc item) -> str {
473-
auto sym = ebml::get_doc(item, metadata::tag_items_data_item_symbol);
473+
auto sym = ebml::get_doc(item, cwriter::tag_items_data_item_symbol);
474474
ret str::unsafe_from_bytes(ebml::doc_data(sym));
475475
}
476476

477477
fn variant_tag_id(&ebml::doc d) -> ast::def_id {
478-
auto tagdoc = ebml::get_doc(d, metadata::tag_items_data_item_tag_id);
478+
auto tagdoc = ebml::get_doc(d, cwriter::tag_items_data_item_tag_id);
479479
ret parse_def_id(ebml::doc_data(tagdoc));
480480
}
481481

@@ -490,15 +490,15 @@ fn item_type(&ebml::doc item, int this_cnum, ty::ctxt tcx) -> ty::t {
490490
auto external_def_id = parse_def_id(buf);
491491
ret tup(this_cnum, external_def_id._1);
492492
}
493-
auto tp = ebml::get_doc(item, metadata::tag_items_data_item_type);
493+
auto tp = ebml::get_doc(item, cwriter::tag_items_data_item_type);
494494
auto s = str::unsafe_from_bytes(ebml::doc_data(tp));
495495
ret parse_ty_data(item.data, this_cnum, tp.start, tp.end - tp.start,
496496
bind parse_external_def_id(this_cnum, _), tcx);
497497
}
498498

499499
fn item_ty_param_count(&ebml::doc item, int this_cnum) -> uint {
500500
let uint ty_param_count = 0u;
501-
auto tp = metadata::tag_items_data_item_ty_param_count;
501+
auto tp = cwriter::tag_items_data_item_ty_param_count;
502502
for each (ebml::doc p in ebml::tagged_docs(item, tp)) {
503503
ty_param_count = ebml::vint_at(ebml::doc_data(p), 0u)._0;
504504
}
@@ -507,7 +507,7 @@ fn item_ty_param_count(&ebml::doc item, int this_cnum) -> uint {
507507

508508
fn tag_variant_ids(&ebml::doc item, int this_cnum) -> vec[ast::def_id] {
509509
let vec[ast::def_id] ids = [];
510-
auto v = metadata::tag_items_data_item_variant;
510+
auto v = cwriter::tag_items_data_item_variant;
511511
for each (ebml::doc p in ebml::tagged_docs(item, v)) {
512512
auto ext = parse_def_id(ebml::doc_data(p));
513513
vec::push[ast::def_id](ids, tup(this_cnum, ext._1));
@@ -538,12 +538,12 @@ fn get_metadata_section(str filename) -> option::t[vec[u8]] {
538538
fn get_exported_metadata(&session::session sess, &str path, &vec[u8] data) ->
539539
hashmap[str, str] {
540540
auto meta_items =
541-
ebml::get_doc(ebml::new_doc(data), metadata::tag_meta_export);
541+
ebml::get_doc(ebml::new_doc(data), cwriter::tag_meta_export);
542542
auto mm = common::new_str_hash[str]();
543543
for each (ebml::doc m in
544-
ebml::tagged_docs(meta_items, metadata::tag_meta_item)) {
545-
auto kd = ebml::get_doc(m, metadata::tag_meta_item_key);
546-
auto vd = ebml::get_doc(m, metadata::tag_meta_item_value);
544+
ebml::tagged_docs(meta_items, cwriter::tag_meta_item)) {
545+
auto kd = ebml::get_doc(m, cwriter::tag_meta_item_key);
546+
auto vd = ebml::get_doc(m, cwriter::tag_meta_item_value);
547547
auto k = str::unsafe_from_bytes(ebml::doc_data(kd));
548548
auto v = str::unsafe_from_bytes(ebml::doc_data(vd));
549549
log #fmt("metadata in %s: %s = %s", path, k, v);
@@ -807,7 +807,7 @@ fn get_symbol(session::session sess, ast::def_id def) -> str {
807807
fn get_tag_variants(ty::ctxt tcx, ast::def_id def) -> vec[ty::variant_info] {
808808
auto external_crate_id = def._0;
809809
auto data = tcx.sess.get_external_crate(external_crate_id).data;
810-
auto items = ebml::get_doc(ebml::new_doc(data), metadata::tag_items);
810+
auto items = ebml::get_doc(ebml::new_doc(data), cwriter::tag_items);
811811
auto item = find_item(def._1, items);
812812
let vec[ty::variant_info] infos = [];
813813
auto variant_ids = tag_variant_ids(item, external_crate_id);
@@ -848,17 +848,17 @@ fn read_path(&ebml::doc d) -> tup(str, uint) {
848848

849849
fn list_crate_metadata(vec[u8] bytes, io::writer out) {
850850
auto md = ebml::new_doc(bytes);
851-
auto paths = ebml::get_doc(md, metadata::tag_paths);
852-
auto items = ebml::get_doc(md, metadata::tag_items);
853-
auto index = ebml::get_doc(paths, metadata::tag_index);
854-
auto bs = ebml::get_doc(index, metadata::tag_index_buckets);
851+
auto paths = ebml::get_doc(md, cwriter::tag_paths);
852+
auto items = ebml::get_doc(md, cwriter::tag_items);
853+
auto index = ebml::get_doc(paths, cwriter::tag_index);
854+
auto bs = ebml::get_doc(index, cwriter::tag_index_buckets);
855855
for each (ebml::doc bucket in
856-
ebml::tagged_docs(bs, metadata::tag_index_buckets_bucket)) {
857-
auto et = metadata::tag_index_buckets_bucket_elt;
856+
ebml::tagged_docs(bs, cwriter::tag_index_buckets_bucket)) {
857+
auto et = cwriter::tag_index_buckets_bucket_elt;
858858
for each (ebml::doc elt in ebml::tagged_docs(bucket, et)) {
859859
auto data = read_path(elt);
860860
auto def = ebml::doc_at(bytes, data._1);
861-
auto did_doc = ebml::get_doc(def, metadata::tag_def_id);
861+
auto did_doc = ebml::get_doc(def, cwriter::tag_def_id);
862862
auto did = parse_def_id(ebml::doc_data(did_doc));
863863
out.write_str(#fmt("%s (%s)\n", data._0,
864864
describe_def(items, did)));

trunk/src/comp/middle/metadata.rs renamed to trunk/src/comp/metadata/cwriter.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -662,13 +662,13 @@ fn encode_info_for_items(&@trans::crate_ctxt cx, &ebml::writer ebml_w) ->
662662
vec[tup(int, uint)] {
663663
let vec[tup(int, uint)] index = [];
664664
ebml::start_tag(ebml_w, tag_items_data);
665-
for each (@tup(node_id, ast_map::ast_node) kvp in cx.ast_map.items()) {
665+
for each (@tup(node_id, middle::ast_map::ast_node) kvp in cx.ast_map.items()) {
666666
alt (kvp._1) {
667-
case (ast_map::node_item(?i)) {
667+
case (middle::ast_map::node_item(?i)) {
668668
index += [tup(kvp._0, ebml_w.writer.tell())];
669669
encode_info_for_item(cx, ebml_w, i, index);
670670
}
671-
case (ast_map::node_native_item(?i)) {
671+
case (middle::ast_map::node_native_item(?i)) {
672672
index += [tup(kvp._0, ebml_w.writer.tell())];
673673
encode_info_for_native_item(cx, ebml_w, i);
674674
}

trunk/src/comp/middle/resolve.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import front::ast::def_id;
66
import front::ast::node_id;
77
import front::ast::local_def;
88

9-
import front::creader;
9+
import metadata::creader;
1010
import driver::session::session;
1111
import util::common::new_def_hash;
1212
import util::common::new_int_hash;

trunk/src/comp/middle/trans.rs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@ import std::option::some;
2525
import std::option::none;
2626
import std::fs;
2727
import front::ast;
28-
import front::creader;
28+
import metadata::creader;
29+
import metadata::cwriter;
2930
import driver::session;
3031
import middle::ty;
3132
import back::link;
@@ -148,7 +149,7 @@ type crate_ctxt =
148149
namegen names,
149150
std::sha1::sha1 sha,
150151
hashmap[ty::t, str] type_sha1s,
151-
hashmap[ty::t, metadata::ty_abbrev] type_abbrevs,
152+
hashmap[ty::t, cwriter::ty_abbrev] type_abbrevs,
152153
hashmap[ty::t, str] type_short_names,
153154
ty::ctxt tcx,
154155
stats stats,
@@ -8400,7 +8401,7 @@ fn trans_crate(&session::session sess, &@ast::crate crate, &ty::ctxt tcx,
84008401
auto tydescs = map::mk_hashmap[ty::t, @tydesc_info](hasher, eqer);
84018402
auto lltypes = map::mk_hashmap[ty::t, TypeRef](hasher, eqer);
84028403
auto sha1s = map::mk_hashmap[ty::t, str](hasher, eqer);
8403-
auto abbrevs = map::mk_hashmap[ty::t, metadata::ty_abbrev](hasher, eqer);
8404+
auto abbrevs = map::mk_hashmap[ty::t, cwriter::ty_abbrev](hasher, eqer);
84048405
auto short_names = map::mk_hashmap[ty::t, str](hasher, eqer);
84058406
auto sha = std::sha1::mk_sha1();
84068407
auto ccx =
@@ -8449,7 +8450,7 @@ fn trans_crate(&session::session sess, &@ast::crate crate, &ty::ctxt tcx,
84498450
emit_tydescs(ccx);
84508451
// Translate the metadata:
84518452

8452-
middle::metadata::write_metadata(cx.ccx, crate);
8453+
cwriter::write_metadata(cx.ccx, crate);
84538454
if (ccx.sess.get_opts().stats) {
84548455
log_err "--- trans stats ---";
84558456
log_err #fmt("n_static_tydescs: %u", ccx.stats.n_static_tydescs);

trunk/src/comp/middle/ty.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ import front::ast::def_id;
1717
import front::ast::constr_arg_general;
1818
import front::ast::mutability;
1919
import front::ast::controlflow;
20-
import front::creader;
21-
import middle::metadata;
20+
import metadata::creader;
21+
import metadata::cwriter;
2222
import util::common::*;
2323
import util::data::interner;
2424
import pretty::ppaux::ty_to_str;

trunk/src/comp/middle/typeck.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
import front::ast;
33
import front::ast::mutability;
44
import front::ast::local_def;
5-
import front::creader;
5+
import metadata::creader;
66
import driver::session;
77
import util::common;
88
import util::common::span;

trunk/src/comp/pretty/ppaux.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -150,8 +150,8 @@ fn ty_to_str(&ctxt cx, &t typ) -> str {
150150

151151
fn ty_to_short_str(&ctxt cx, t typ) -> str {
152152
auto f = def_to_str;
153-
auto ecx = @rec(ds=f, tcx=cx, abbrevs=middle::metadata::ac_no_abbrevs);
154-
auto s = middle::metadata::encode::ty_str(ecx, typ);
153+
auto ecx = @rec(ds=f, tcx=cx, abbrevs=metadata::cwriter::ac_no_abbrevs);
154+
auto s = metadata::cwriter::encode::ty_str(ecx, typ);
155155
if (str::byte_len(s) >= 32u) { s = str::substr(s, 0u, 32u); }
156156
ret s;
157157
}

trunk/src/comp/rustc.rc

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ mod middle {
1818
mod ty;
1919
mod walk;
2020
mod visit;
21-
mod metadata;
2221
mod ast_map;
2322
mod resolve;
2423
mod typeck;
@@ -46,7 +45,6 @@ mod pretty {
4645

4746
mod front {
4847
mod ast;
49-
mod creader;
5048
mod ext;
5149
mod extfmt;
5250
mod extenv;
@@ -64,6 +62,11 @@ mod back {
6462
mod x86;
6563
}
6664

65+
mod metadata {
66+
mod creader;
67+
mod cwriter;
68+
}
69+
6770
mod driver {
6871
mod rustc;
6972
mod session;

0 commit comments

Comments
 (0)