mirror of https://github.com/golang/go.git
[release-branch.go1.21] internal/bytealg: extend memchr result correctly on wasm
The mem address should be regarded as uint32. Fixes #68474 Change-Id: Icee38d11f2d93eeca7d50b2e133159e321daeb90 GitHub-Last-Rev:c2568b1043GitHub-Pull-Request: golang/go#68400 Reviewed-on: https://go-review.googlesource.com/c/go/+/597955 Reviewed-by: Keith Randall <khr@google.com> Reviewed-by: Keith Randall <khr@golang.org> Reviewed-by: Cuong Manh Le <cuong.manhle.vn@gmail.com> Reviewed-by: Cherry Mui <cherryyz@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> (cherry picked from commit90c6558b6a) Reviewed-on: https://go-review.googlesource.com/c/go/+/598995
This commit is contained in:
parent
e073febe90
commit
d149ce82af
|
|
@ -0,0 +1,21 @@
|
||||||
|
// Copyright 2024 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.
|
||||||
|
|
||||||
|
//go:build js && wasm
|
||||||
|
|
||||||
|
package bytes_test
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bytes"
|
||||||
|
"testing"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestIssue65571(t *testing.T) {
|
||||||
|
b := make([]byte, 1<<31+1)
|
||||||
|
b[1<<31] = 1
|
||||||
|
i := bytes.IndexByte(b, 1)
|
||||||
|
if i != 1<<31 {
|
||||||
|
t.Errorf("IndexByte(b, 1) = %d; want %d", i, 1<<31)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -12,7 +12,7 @@ TEXT ·IndexByte(SB), NOSPLIT, $0-40
|
||||||
I64Load b_len+8(FP)
|
I64Load b_len+8(FP)
|
||||||
I32WrapI64
|
I32WrapI64
|
||||||
Call memchr<>(SB)
|
Call memchr<>(SB)
|
||||||
I64ExtendI32S
|
I64ExtendI32U
|
||||||
Set R0
|
Set R0
|
||||||
|
|
||||||
Get SP
|
Get SP
|
||||||
|
|
@ -35,7 +35,7 @@ TEXT ·IndexByteString(SB), NOSPLIT, $0-32
|
||||||
I64Load s_len+8(FP)
|
I64Load s_len+8(FP)
|
||||||
I32WrapI64
|
I32WrapI64
|
||||||
Call memchr<>(SB)
|
Call memchr<>(SB)
|
||||||
I64ExtendI32S
|
I64ExtendI32U
|
||||||
Set R0
|
Set R0
|
||||||
|
|
||||||
I64Const $-1
|
I64Const $-1
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue