diff options
author | Fannie Zhang <Fannie.Zhang@arm.com> | 2022-03-16 12:08:54 +0000 |
---|---|---|
committer | Fannie Zhang <Fannie.Zhang@arm.com> | 2022-03-17 08:43:15 +0000 |
commit | 599d5395ebb41eb17bbe77e75d12ed0d13294767 (patch) | |
tree | 79ed22f7612417f4af6538a7f527d187f7fd1cdf /src | |
parent | 9956a5423e40bab92c572489eae26ba80ed803ab (diff) | |
download | go-git-599d5395ebb41eb17bbe77e75d12ed0d13294767.tar.gz |
Revert "cmd/compile: set conversions to unsafe.Pointer as an escaping operation when -asan is enabled"
This reverts commit 5fd0ed7aaf39f783ea6f505a3f2ac7d9da7cb03b.
Reason for revert: <The internal information in commit message is not removed.>
Change-Id: Id6845a9c8114ac71c56a1007a4d133a560a37fbc
Reviewed-on: https://go-review.googlesource.com/c/go/+/393314
Trust: Fannie Zhang <Fannie.Zhang@arm.com>
Reviewed-by: Eric Fang <eric.fang@arm.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/cmd/compile/internal/escape/expr.go | 6 | ||||
-rw-r--r-- | src/cmd/compile/internal/ir/expr.go | 6 |
2 files changed, 3 insertions, 9 deletions
diff --git a/src/cmd/compile/internal/escape/expr.go b/src/cmd/compile/internal/escape/expr.go index 9c3e09d10d..ced90a47bc 100644 --- a/src/cmd/compile/internal/escape/expr.go +++ b/src/cmd/compile/internal/escape/expr.go @@ -100,9 +100,9 @@ func (e *escape) exprSkipInit(k hole, n ir.Node) { case ir.OCONV, ir.OCONVNOP: n := n.(*ir.ConvExpr) - if (ir.ShouldCheckPtr(e.curfn, 2) || ir.ShouldAsanCheckPtr(e.curfn)) && n.Type().IsUnsafePtr() && n.X.Type().IsPtr() { - // When -d=checkptr=2 or -asan is enabled, - // treat conversions to unsafe.Pointer as an + if ir.ShouldCheckPtr(e.curfn, 2) && n.Type().IsUnsafePtr() && n.X.Type().IsPtr() { + // When -d=checkptr=2 is enabled, treat + // conversions to unsafe.Pointer as an // escaping operation. This allows better // runtime instrumentation, since we can more // easily detect object boundaries on the heap diff --git a/src/cmd/compile/internal/ir/expr.go b/src/cmd/compile/internal/ir/expr.go index ff3cc8ed6e..8823115612 100644 --- a/src/cmd/compile/internal/ir/expr.go +++ b/src/cmd/compile/internal/ir/expr.go @@ -1036,12 +1036,6 @@ func ShouldCheckPtr(fn *Func, level int) bool { return base.Debug.Checkptr >= level && fn.Pragma&NoCheckPtr == 0 } -// ShouldAsanCheckPtr reports whether pointer checking should be enabled for -// function fn when -asan is enabled. -func ShouldAsanCheckPtr(fn *Func) bool { - return base.Flag.ASan && fn.Pragma&NoCheckPtr == 0 -} - // IsReflectHeaderDataField reports whether l is an expression p.Data // where p has type reflect.SliceHeader or reflect.StringHeader. func IsReflectHeaderDataField(l Node) bool { |