Lines Matching defs:ptr
137 let mut ptr = start_ptr;
144 while ptr <= max_ptr {
146 fwd, needle, ptr, end_ptr, rare1chunk, rare2chunk, !0,
149 return Some(matched(start_ptr, ptr, chunki));
151 ptr = ptr.add(size_of::<V>());
153 if ptr < end_ptr {
154 let remaining = diff(end_ptr, ptr);
166 max_ptr < ptr,
167 "after main loop, ptr should have exceeded max_ptr",
169 let overlap = diff(ptr, max_ptr);
186 ptr = max_ptr;
188 fwd, needle, ptr, end_ptr, rare1chunk, rare2chunk, mask,
191 return Some(matched(start_ptr, ptr, chunki));
198 /// pointed to by ptr, with the end of the haystack pointed to by end_ptr. When
214 /// (ptr + rare1i) and (ptr + rare2i). It must also be safe to do unaligned
215 /// loads on ptr up to (end_ptr - needle.len()).
220 ptr: *const u8,
226 let chunk0 = V::load_unaligned(ptr.add(fwd.rare1i as usize));
227 let chunk1 = V::load_unaligned(ptr.add(fwd.rare2i as usize));
235 let ptr = ptr.add(offset);
236 if end_ptr.sub(needle.len()) < ptr {
239 let chunk = core::slice::from_raw_parts(ptr, needle.len());
257 fn matched(start_ptr: *const u8, ptr: *const u8, chunki: usize) -> usize {
258 diff(ptr, start_ptr) + chunki