Rename track-id to track-pointer-tag

This commit is contained in:
Oliver Scherer 2019-12-01 00:02:58 +01:00
parent 67417945d4
commit eab2538317
7 changed files with 19 additions and 19 deletions

View file

@ -32,7 +32,7 @@ impl rustc_driver::Callbacks for MiriCompilerCalls<'_> {
excluded_env_vars: vec![],
args: vec![],
seed: None,
tracked_id: None,
tracked_pointer_tag: None,
};
eval_main(tcx, entry_def_id, config);
});

View file

@ -45,7 +45,7 @@ impl rustc_driver::Callbacks for MiriCompilerCalls {
excluded_env_vars: vec![],
args: vec![],
seed: None,
tracked_id: None,
tracked_pointer_tag: None,
};
let did = self.0.hir().body_owner_def_id(body_id);
println!("running test: {}", self.0.def_path_debug_str(did));
@ -66,7 +66,7 @@ impl rustc_driver::Callbacks for MiriCompilerCalls {
excluded_env_vars: vec![],
args: vec![],
seed: None,
tracked_id: None,
tracked_pointer_tag: None,
};
miri::eval_main(tcx, entry_def_id, config);

View file

@ -126,7 +126,7 @@ fn main() {
let mut communicate = false;
let mut ignore_leaks = false;
let mut seed: Option<u64> = None;
let mut tracked_id: Option<miri::PtrId> = None;
let mut tracked_pointer_tag: Option<miri::PtrId> = None;
let mut rustc_args = vec![];
let mut miri_args = vec![];
let mut after_dashdash = false;
@ -177,15 +177,15 @@ fn main() {
arg if arg.starts_with("-Zmiri-env-exclude=") => {
excluded_env_vars.push(arg.trim_start_matches("-Zmiri-env-exclude=").to_owned());
},
arg if arg.starts_with("-Zmiri-track-id=") => {
let id: u64 = match arg.trim_start_matches("-Zmiri-track-id=").parse() {
arg if arg.starts_with("-Zmiri-track-pointer-tag=") => {
let id: u64 = match arg.trim_start_matches("-Zmiri-track-pointer-tag=").parse() {
Ok(id) => id,
Err(err) => panic!("-Zmiri-track-id requires a valid `u64` as the argument: {}", err),
Err(err) => panic!("-Zmiri-track-pointer-tag requires a valid `u64` as the argument: {}", err),
};
if let Some(id) = miri::PtrId::new(id) {
tracked_id = Some(id);
tracked_pointer_tag = Some(id);
} else {
panic!("-Zmiri-track-id must be a nonzero id");
panic!("-Zmiri-track-pointer-tag must be a nonzero id");
}
},
_ => {
@ -220,7 +220,7 @@ fn main() {
excluded_env_vars,
seed,
args: miri_args,
tracked_id,
tracked_pointer_tag,
};
rustc_driver::install_ice_hook();
let result = rustc_driver::catch_fatal_errors(move || {

View file

@ -27,7 +27,7 @@ pub struct MiriConfig {
/// The seed to use when non-determinism or randomness are required (e.g. ptr-to-int cast, `getrandom()`).
pub seed: Option<u64>,
/// The stacked borrow id to report about
pub tracked_id: Option<PtrId>,
pub tracked_pointer_tag: Option<PtrId>,
}
/// Details of premature program termination.
@ -49,7 +49,7 @@ pub fn create_ecx<'mir, 'tcx: 'mir>(
tcx.at(syntax::source_map::DUMMY_SP),
ty::ParamEnv::reveal_all(),
Evaluator::new(config.communicate),
MemoryExtra::new(StdRng::seed_from_u64(config.seed.unwrap_or(0)), config.validate, config.tracked_id),
MemoryExtra::new(StdRng::seed_from_u64(config.seed.unwrap_or(0)), config.validate, config.tracked_pointer_tag),
);
// Complete initialization.
EnvVars::init(&mut ecx, config.excluded_env_vars);

View file

@ -77,9 +77,9 @@ pub struct MemoryExtra {
}
impl MemoryExtra {
pub fn new(rng: StdRng, validate: bool, tracked_id: Option<PtrId>) -> Self {
pub fn new(rng: StdRng, validate: bool, tracked_pointer_tag: Option<PtrId>) -> Self {
MemoryExtra {
stacked_borrows: Rc::new(RefCell::new(GlobalState::new(tracked_id))),
stacked_borrows: Rc::new(RefCell::new(GlobalState::new(tracked_pointer_tag))),
intptrcast: Default::default(),
rng: RefCell::new(rng),
validate,

View file

@ -106,7 +106,7 @@ pub struct GlobalState {
/// Those call IDs corresponding to functions that are still running.
active_calls: HashSet<CallId>,
/// The id to trace in this execution run
tracked_id: Option<PtrId>,
tracked_pointer_tag: Option<PtrId>,
}
/// Memory extra state gives us interior mutable access to the global state.
pub type MemoryExtra = Rc<RefCell<GlobalState>>;
@ -154,13 +154,13 @@ impl fmt::Display for RefKind {
/// Utilities for initialization and ID generation
impl GlobalState {
pub fn new(tracked_id: Option<PtrId>) -> Self {
pub fn new(tracked_pointer_tag: Option<PtrId>) -> Self {
GlobalState {
next_ptr_id: NonZeroU64::new(1).unwrap(),
base_ptr_ids: HashMap::default(),
next_call_id: NonZeroU64::new(1).unwrap(),
active_calls: HashSet::default(),
tracked_id,
tracked_pointer_tag,
}
}
@ -272,7 +272,7 @@ impl<'tcx> Stack {
/// Check if the given item is protected.
fn check_protector(item: &Item, tag: Option<Tag>, global: &GlobalState) -> InterpResult<'tcx> {
if let Tag::Tagged(id) = item.tag {
if Some(id) == global.tracked_id {
if Some(id) == global.tracked_pointer_tag {
throw_unsup!(Unsupported(format!("disabling item {:?} for tag {:?}", item, tag)));
}
}

View file

@ -1,4 +1,4 @@
// compile-flags: -Zmiri-track-id=1372
// compile-flags: -Zmiri-track-pointer-tag=1372
// do not run on anything but x86_64 linux, because minor libstd changes can change the borrow stack ids
// only-x86_64
// only-linux