aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/compile/internal/noder/transform.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/compile/internal/noder/transform.go')
-rw-r--r--src/cmd/compile/internal/noder/transform.go15
1 files changed, 1 insertions, 14 deletions
diff --git a/src/cmd/compile/internal/noder/transform.go b/src/cmd/compile/internal/noder/transform.go
index 29ee601d82..47e6397206 100644
--- a/src/cmd/compile/internal/noder/transform.go
+++ b/src/cmd/compile/internal/noder/transform.go
@@ -132,9 +132,7 @@ func transformConvCall(n *ir.CallExpr) ir.Node {
// transformCall transforms a normal function/method call. Corresponds to last half
// (non-conversion, non-builtin part) of typecheck.tcCall. This code should work even
// in the case of OCALL/OFUNCINST.
-// The dict parameter is used for OCALLINTER nodes to ensure that the called method
-// is retained by the linker.
-func transformCall(n *ir.CallExpr, dict *ir.Name) {
+func transformCall(n *ir.CallExpr) {
// n.Type() can be nil for calls with no return value
assert(n.Typecheck() == 1)
transformArgs(n)
@@ -144,17 +142,6 @@ func transformCall(n *ir.CallExpr, dict *ir.Name) {
switch l.Op() {
case ir.ODOTINTER:
n.SetOp(ir.OCALLINTER)
- if n.X.(*ir.SelectorExpr).X.Type().HasShape() {
- if dict == nil {
- base.Fatalf("calls on shape interfaces need a dictionary reference")
- }
- dict.SetAddrtaken(true)
- // KeepAlive isn't exactly the right thing here, as we only
- // need to keep the dictionary live in the linker-deadcode
- // sense, not the at-runtime sense. But the at-runtime sense
- // is stronger, so it works. See issue 48047.
- n.KeepAlive = append(n.KeepAlive, dict)
- }
case ir.ODOTMETH:
l := l.(*ir.SelectorExpr)