]> Cypherpunks repositories - gostls13.git/commit
crypto/internal/edwards25519: reduce Point size by reordering fields
authorJorropo <jorropo.pgm@gmail.com>
Mon, 13 Feb 2023 00:48:57 +0000 (01:48 +0100)
committerFilippo Valsorda <filippo@golang.org>
Mon, 13 Feb 2023 19:21:54 +0000 (19:21 +0000)
commit712c009cf90ad9365f70356fff7bc41323b6fdf0
tree1430a310c8de9856798c4b232c9c84699663d383
parent505325cf3027f2f2c5be47426867183b935ac85e
crypto/internal/edwards25519: reduce Point size by reordering fields

Updates #58483

Tested on Linux amd64:
  type Element struct {
    l0, l1, l2, l3, l4 uint64
  }

  type PointAfter struct {
    x, y, z, t Element
    _          incomparable
  }

  type PointBefore struct {
    _          incomparable
    x, y, z, t Element
  }

  type incomparable [0]func()

  func main() {
    fmt.Println(unsafe.Sizeof(PointAfter{})) // 168
    fmt.Println(unsafe.Sizeof(PointBefore{})) // 160
  }

Change-Id: I6c4fcb586bbf3febf62b6e54608496ff81685e43
Reviewed-on: https://go-review.googlesource.com/c/go/+/467616
Reviewed-by: Roland Shoemaker <roland@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Filippo Valsorda <filippo@golang.org>
Reviewed-by: Damien Neil <dneil@google.com>
Run-TryBot: Filippo Valsorda <filippo@golang.org>
src/crypto/internal/edwards25519/edwards25519.go