]> Cypherpunks.ru repositories - gostls13.git/blobdiff - src/cmd/compile/internal/escape/utils.go
[dev.typeparams] all: merge master (912f075) into dev.typeparams
[gostls13.git] / src / cmd / compile / internal / escape / utils.go
index 1ac4cc602905c98e2875a02f37c856f0632e77f5..6e2f9c424a8cf70cc4f9700ed54edd72eef9ad54 100644 (file)
@@ -186,14 +186,14 @@ func HeapAllocReason(n ir.Node) string {
                return "too large for stack"
        }
 
-       if (n.Op() == ir.ONEW || n.Op() == ir.OPTRLIT) && n.Type().Elem().Width >= ir.MaxImplicitStackVarSize {
+       if (n.Op() == ir.ONEW || n.Op() == ir.OPTRLIT) && n.Type().Elem().Width > ir.MaxImplicitStackVarSize {
                return "too large for stack"
        }
 
-       if n.Op() == ir.OCLOSURE && typecheck.ClosureType(n.(*ir.ClosureExpr)).Size() >= ir.MaxImplicitStackVarSize {
+       if n.Op() == ir.OCLOSURE && typecheck.ClosureType(n.(*ir.ClosureExpr)).Size() > ir.MaxImplicitStackVarSize {
                return "too large for stack"
        }
-       if n.Op() == ir.OMETHVALUE && typecheck.PartialCallType(n.(*ir.SelectorExpr)).Size() >= ir.MaxImplicitStackVarSize {
+       if n.Op() == ir.OMETHVALUE && typecheck.PartialCallType(n.(*ir.SelectorExpr)).Size() > ir.MaxImplicitStackVarSize {
                return "too large for stack"
        }
 
@@ -206,7 +206,7 @@ func HeapAllocReason(n ir.Node) string {
                if !ir.IsSmallIntConst(r) {
                        return "non-constant size"
                }
-               if t := n.Type(); t.Elem().Width != 0 && ir.Int64Val(r) >= ir.MaxImplicitStackVarSize/t.Elem().Width {
+               if t := n.Type(); t.Elem().Width != 0 && ir.Int64Val(r) > ir.MaxImplicitStackVarSize/t.Elem().Width {
                        return "too large for stack"
                }
        }