| Server IP : 157.230.181.24 / Your IP : 216.73.216.36 Web Server : Apache/2.4.58 (Ubuntu) System : Linux conductive 6.8.0-117-generic #117-Ubuntu SMP PREEMPT_DYNAMIC Tue May 5 19:26:24 UTC 2026 x86_64 User : ( 1000) PHP Version : 8.3.31 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /lib/go-1.22/src/internal/bytealg/ |
Upload File : |
// 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 "go_asm.h" #include "textflag.h" // memequal(p, q unsafe.Pointer, size uintptr) bool TEXT runtime·memequal(SB), NOSPLIT, $0-25 Get SP I64Load a+0(FP) I64Load b+8(FP) I64Load size+16(FP) Call memeqbody<>(SB) I64Store8 ret+24(FP) RET // memequal_varlen(a, b unsafe.Pointer) bool TEXT runtime·memequal_varlen(SB), NOSPLIT, $0-17 Get SP I64Load a+0(FP) I64Load b+8(FP) I64Load 8(CTXT) // compiler stores size at offset 8 in the closure Call memeqbody<>(SB) I64Store8 ret+16(FP) RET // params: a, b, len // ret: 0/1 TEXT memeqbody<>(SB), NOSPLIT, $0-0 Get R0 Get R1 I64Eq If I64Const $1 Return End loop: Loop Get R2 I64Eqz If I64Const $1 Return End Get R0 I32WrapI64 I64Load8U $0 Get R1 I32WrapI64 I64Load8U $0 I64Ne If I64Const $0 Return End Get R0 I64Const $1 I64Add Set R0 Get R1 I64Const $1 I64Add Set R1 Get R2 I64Const $1 I64Sub Set R2 Br loop End UNDEF