aboutsummaryrefslogtreecommitdiff
path: root/src/os/exec
diff options
context:
space:
mode:
authorKeith Randall <khr@golang.org>2023-01-09 09:49:32 -0800
committerKeith Randall <khr@google.com>2023-01-09 22:50:08 +0000
commit0202ad0b3a2bfddf9f3eafb94e19d5a0fa3d1f31 (patch)
tree3160c752e8533518d6cfa360c388f779ba5e048b /src/os/exec
parent64519baf3802f96a813f3f35e87aefa30a5f5f73 (diff)
downloadgo-0202ad0b3a2bfddf9f3eafb94e19d5a0fa3d1f31.tar.xz
cmd/compile: prevent IsNewObject from taking quadratic time
As part of IsNewObject, we need to go from the SelectN[0] use of a call to the SelectN[1] use of a call. The current code does this by just looking through the block. If the block is very large, this ends up taking quadratic time. Instead, prepopulate a map from call -> SelectN[1] user of that call. That lets us find the SelectN[1] user in constant time. Fixes #57657 Change-Id: Ie2e0b660af5c080314f4f17ba2838510a1147f9e Reviewed-on: https://go-review.googlesource.com/c/go/+/461080 TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Keith Randall <khr@google.com> Reviewed-by: Cherry Mui <cherryyz@google.com> Run-TryBot: Keith Randall <khr@golang.org> Reviewed-by: Cuong Manh Le <cuong.manhle.vn@gmail.com>
Diffstat (limited to 'src/os/exec')
0 files changed, 0 insertions, 0 deletions