]> git.lizzy.rs Git - rust.git/commitdiff
Remove some TODOs.
authorScott Olson <scott@solson.me>
Thu, 17 Mar 2016 14:01:34 +0000 (08:01 -0600)
committerScott Olson <scott@solson.me>
Thu, 17 Mar 2016 14:01:34 +0000 (08:01 -0600)
src/interpreter.rs

index 6c1144b6b9c16b1fac7b047822987f7f42033e87..25f5e54191471b0d2dd0e2bc3fc44c446aa59fc7 100644 (file)
@@ -305,8 +305,7 @@ fn call_intrinsic(&mut self, name: &str, substs: &'tcx Substs<'tcx>,
                 let ptr_arg = try!(self.eval_operand(&args[0]));
                 let offset_arg = try!(self.eval_operand(&args[1]));
                 let ptr = try!(self.memory.read_ptr(ptr_arg));
-                // TODO(tsion): read_isize
-                let offset = try!(self.memory.read_int(offset_arg, 8));
+                let offset = try!(self.memory.read_int(offset_arg, self.memory.pointer_size));
                 let result_ptr = ptr.offset(offset as isize * pointee_size);
                 try!(self.memory.write_ptr(dest, result_ptr));
             }
@@ -433,9 +432,14 @@ fn pointee_type<'tcx>(ptr_ty: ty::Ty<'tcx>) -> Option<ty::Ty<'tcx>> {
                         let dest_pointee_ty = pointee_type(dest_ty).unwrap();
 
                         match (&src_pointee_ty.sty, &dest_pointee_ty.sty) {
-                            (&ty::TyArray(_, length), &ty::TySlice(_)) =>
-                                // TODO(tsion): Add write_usize? (Host/target issues.)
-                                self.memory.write_uint(dest.offset(8), length as u64, 8),
+                            (&ty::TyArray(_, length), &ty::TySlice(_)) => {
+                                let size = self.memory.pointer_size;
+                                self.memory.write_uint(
+                                    dest.offset(size as isize),
+                                    length as u64,
+                                    size,
+                                )
+                            }
 
                             _ => panic!("can't handle cast: {:?}", rvalue),
                         }