mirror of
https://github.com/golang/go
synced 2024-11-19 18:34:43 -07:00
24 lines
535 B
ArmAsm
24 lines
535 B
ArmAsm
|
// Copyright 2009 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"
|
||
|
|
||
|
TEXT runtime·memclrNoHeapPointers(SB),NOSPLIT,$0-8
|
||
|
MOVL ptr+0(FP), DI
|
||
|
MOVL n+4(FP), CX
|
||
|
MOVQ CX, BX
|
||
|
ANDQ $3, BX
|
||
|
SHRQ $2, CX
|
||
|
MOVQ $0, AX
|
||
|
CLD
|
||
|
REP
|
||
|
STOSL
|
||
|
MOVQ BX, CX
|
||
|
REP
|
||
|
STOSB
|
||
|
// Note: we zero only 4 bytes at a time so that the tail is at most
|
||
|
// 3 bytes. That guarantees that we aren't zeroing pointers with STOSB.
|
||
|
// See issue 13160.
|
||
|
RET
|