|  | // Copyright 2018 The Go Authors. All rights reserved. | 
|  | // Use of this source code is governed by a BSD-style | 
|  | // license that can be found in the LICENSE file. | 
|  |  | 
|  | #include "textflag.h" | 
|  |  | 
|  | // See memclrNoHeapPointers Go doc for important implementation constraints. | 
|  |  | 
|  | // func memclrNoHeapPointers(ptr unsafe.Pointer, n uintptr) | 
|  | TEXT runtime·memclrNoHeapPointers(SB), NOSPLIT, $0-16 | 
|  | MOVD ptr+0(FP), R0 | 
|  | MOVD n+8(FP), R1 | 
|  |  | 
|  | loop: | 
|  | Loop | 
|  | Get R1 | 
|  | I64Eqz | 
|  | If | 
|  | RET | 
|  | End | 
|  |  | 
|  | Get R0 | 
|  | I32WrapI64 | 
|  | I64Const $0 | 
|  | I64Store8 $0 | 
|  |  | 
|  | Get R0 | 
|  | I64Const $1 | 
|  | I64Add | 
|  | Set R0 | 
|  |  | 
|  | Get R1 | 
|  | I64Const $1 | 
|  | I64Sub | 
|  | Set R1 | 
|  |  | 
|  | Br loop | 
|  | End | 
|  | UNDEF |