...

Text file src/runtime/memclr_amd64p32.s

     1	// Copyright 2009 The Go Authors. All rights reserved.
     2	// Use of this source code is governed by a BSD-style
     3	// license that can be found in the LICENSE file.
     4	
     5	#include "textflag.h"
     6	
     7	// func memclrNoHeapPointers(ptr unsafe.Pointer, n uintptr)
     8	TEXT runtime·memclrNoHeapPointers(SB),NOSPLIT,$0-8
     9		MOVL	ptr+0(FP), DI
    10		MOVL	n+4(FP), CX
    11		MOVQ	CX, BX
    12		ANDQ	$3, BX
    13		SHRQ	$2, CX
    14		MOVQ	$0, AX
    15		CLD
    16		REP
    17		STOSL
    18		MOVQ	BX, CX
    19		REP
    20		STOSB
    21		// Note: we zero only 4 bytes at a time so that the tail is at most
    22		// 3 bytes. That guarantees that we aren't zeroing pointers with STOSB.
    23		// See issue 13160.
    24		RET

View as plain text