)]}'
{
  "commit": "7153013019544f0314dfbf61c2a7010a82c8c53a",
  "tree": "31310dd9ee63dd6cd498c46ee4a87b697dfced32",
  "parents": [
    "94a608a1f5d4339d95252902a9e9381c2cc1c225"
  ],
  "author": {
    "name": "Adam Langley",
    "email": "alangley@gmail.com",
    "time": "Wed Jun 30 16:33:47 2021 -0700"
  },
  "committer": {
    "name": "Boringssl LUCI CQ",
    "email": "boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Thu Jul 15 19:18:41 2021 +0000"
  },
  "message": "hrss: use less stack space.\n\nThe stack consumption of the HRSS functions is causing issues in\nstack-constrained environments. Therefore allocate many variables on the\nheap. This means that several HRSS_ functions now allocate, and thus can\nfail, where they couldn\u0027t before. Callers that ignore the return value\nand don\u0027t have crash-on-failure mallocs will still be safe, although\nthings will fail to decrypt later on.\n\nSomehow, this actually makes key generation _faster_ on my machine. (I\ndon\u0027t know. Better alignment? Fewer L1 collisions?) The other operations\nare slightly slower, as expected.\n\nBefore:\n\nDid 17390 HRSS generate operations in 3054088us (5694.0 ops/sec)\nDid 225000 HRSS encap operations in 3000512us (74987.2 ops/sec)\nDid 87000 HRSS decap operations in 3014525us (28860.3 ops/sec)\n\nAfter:\n\nDid 21300 HRSS generate operations in 3026637us (7037.5 ops/sec)\nDid 221000 HRSS encap operations in 3008911us (73448.5 ops/sec)\nDid 84000 HRSS decap operations in 3007622us (27929.0 ops/sec)\n\nChange-Id: I2312df8909af7d8d250c7c483c65038123f21ad9\nReviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/48345\nCommit-Queue: Adam Langley \u003cagl@google.com\u003e\nReviewed-by: David Benjamin \u003cdavidben@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "835d7165b98522634f3c7267226186da8dad4383",
      "old_mode": 33188,
      "old_path": "crypto/hrss/asm/poly_rq_mul.S",
      "new_id": "53ce47ca817249c5a20b3d36824ad4b42b98182f",
      "new_mode": 33188,
      "new_path": "crypto/hrss/asm/poly_rq_mul.S"
    },
    {
      "type": "modify",
      "old_id": "957e9d2868f4da53e09c6e17b58b7feadd6622ce",
      "old_mode": 33188,
      "old_path": "crypto/hrss/hrss.c",
      "new_id": "0247001e7305915d79282ce9161dc4b8f8be313f",
      "new_mode": 33188,
      "new_path": "crypto/hrss/hrss.c"
    },
    {
      "type": "modify",
      "old_id": "66b90478b5bd3b35b90178eb4b89147a8e599ddc",
      "old_mode": 33188,
      "old_path": "crypto/hrss/hrss_test.cc",
      "new_id": "7adbe9e85596a4909858302dd4d73ac140ea9832",
      "new_mode": 33188,
      "new_path": "crypto/hrss/hrss_test.cc"
    },
    {
      "type": "modify",
      "old_id": "c0d9bd2495ccb1813337a0c5fb13fbf2a88e5ffa",
      "old_mode": 33188,
      "old_path": "crypto/hrss/internal.h",
      "new_id": "340b2e0ef042b0448c00a66a2e5c6de27adf0c66",
      "new_mode": 33188,
      "new_path": "crypto/hrss/internal.h"
    },
    {
      "type": "modify",
      "old_id": "5390696f1de70a6559decba99d97aa17a957a230",
      "old_mode": 33188,
      "old_path": "include/openssl/hrss.h",
      "new_id": "016fe6795b07898e255f8c702878a006b6087a82",
      "new_mode": 33188,
      "new_path": "include/openssl/hrss.h"
    },
    {
      "type": "modify",
      "old_id": "d9a09c7e77fd82eab6d8e2945d66bbab8ecdeb89",
      "old_mode": 33188,
      "old_path": "ssl/ssl_key_share.cc",
      "new_id": "c847a0a043d3bff0ed10cca80a9428e8ab1fdae0",
      "new_mode": 33188,
      "new_path": "ssl/ssl_key_share.cc"
    },
    {
      "type": "modify",
      "old_id": "264334f7145fc240e74c40e22f1808f561ba395f",
      "old_mode": 33188,
      "old_path": "tool/speed.cc",
      "new_id": "2d01f4bee33b6dbe007897abdd8229558231934b",
      "new_mode": 33188,
      "new_path": "tool/speed.cc"
    }
  ]
}
