remove move_value
, which is a dupe of write_value
This commit is contained in:
parent
fcbaf990f2
commit
fe614e342d
2 changed files with 3 additions and 10 deletions
|
@ -938,13 +938,6 @@ impl<'a, 'tcx> EvalContext<'a, 'tcx> {
|
||||||
self.monomorphize(operand.ty(&self.mir(), self.tcx), self.substs())
|
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, ()> {
|
fn move_(&mut self, src: Pointer, dest: Pointer, ty: Ty<'tcx>) -> EvalResult<'tcx, ()> {
|
||||||
let size = self.type_size(ty);
|
let size = self.type_size(ty);
|
||||||
let align = self.type_align(ty);
|
let align = self.type_align(ty);
|
||||||
|
|
|
@ -136,7 +136,7 @@ impl<'a, 'tcx> EvalContext<'a, 'tcx> {
|
||||||
"move_val_init" => {
|
"move_val_init" => {
|
||||||
let ty = substs.type_at(0);
|
let ty = substs.type_at(0);
|
||||||
let ptr = args_ptrs[0].read_ptr(&self.memory)?;
|
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" => {
|
"needs_drop" => {
|
||||||
|
@ -213,7 +213,7 @@ impl<'a, 'tcx> EvalContext<'a, 'tcx> {
|
||||||
|
|
||||||
"transmute" => {
|
"transmute" => {
|
||||||
let ty = substs.type_at(0);
|
let ty = substs.type_at(0);
|
||||||
self.move_value(args_ptrs[0], dest, ty)?;
|
self.write_value(args_ptrs[0], dest, ty)?;
|
||||||
}
|
}
|
||||||
|
|
||||||
"try" => unimplemented!(),
|
"try" => unimplemented!(),
|
||||||
|
@ -229,7 +229,7 @@ impl<'a, 'tcx> EvalContext<'a, 'tcx> {
|
||||||
"volatile_store" => {
|
"volatile_store" => {
|
||||||
let ty = substs.type_at(0);
|
let ty = substs.type_at(0);
|
||||||
let dest = args_ptrs[0].read_ptr(&self.memory)?;
|
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))),
|
name => return Err(EvalError::Unimplemented(format!("unimplemented intrinsic: {}", name))),
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue