remove move_value, which is a dupe of write_value

This commit is contained in:
Oliver Schneider 2016-09-26 11:40:09 +02:00
parent fcbaf990f2
commit fe614e342d
No known key found for this signature in database
GPG Key ID: 56D6EEA0FC67AC46
2 changed files with 3 additions and 10 deletions

View File

@ -938,13 +938,6 @@ impl<'a, 'tcx> EvalContext<'a, 'tcx> {
self.monomorphize(operand.ty(&self.mir(), self.tcx), self.substs())
}
fn move_value(&mut self, src: Value, dest: Pointer, ty: Ty<'tcx>) -> EvalResult<'tcx, ()> {
match src {
Value::ByRef(ptr) => self.move_(ptr, dest, ty),
Value::ByVal(val) => self.memory.write_primval(dest, val),
}
}
fn move_(&mut self, src: Pointer, dest: Pointer, ty: Ty<'tcx>) -> EvalResult<'tcx, ()> {
let size = self.type_size(ty);
let align = self.type_align(ty);

View File

@ -136,7 +136,7 @@ impl<'a, 'tcx> EvalContext<'a, 'tcx> {
"move_val_init" => {
let ty = substs.type_at(0);
let ptr = args_ptrs[0].read_ptr(&self.memory)?;
self.move_value(args_ptrs[1], ptr, ty)?;
self.write_value(args_ptrs[1], ptr, ty)?;
}
"needs_drop" => {
@ -213,7 +213,7 @@ impl<'a, 'tcx> EvalContext<'a, 'tcx> {
"transmute" => {
let ty = substs.type_at(0);
self.move_value(args_ptrs[0], dest, ty)?;
self.write_value(args_ptrs[0], dest, ty)?;
}
"try" => unimplemented!(),
@ -229,7 +229,7 @@ impl<'a, 'tcx> EvalContext<'a, 'tcx> {
"volatile_store" => {
let ty = substs.type_at(0);
let dest = args_ptrs[0].read_ptr(&self.memory)?;
self.move_value(args_ptrs[1], dest, ty)?;
self.write_value(args_ptrs[1], dest, ty)?;
}
name => return Err(EvalError::Unimplemented(format!("unimplemented intrinsic: {}", name))),