)]}'
{
  "commit": "c556d87ddfe836294c8e04fc59d0c298951a4cc7",
  "tree": "41310c265a9dcb12bd2f61616c004efa22f8514c",
  "parents": [
    "3e96cd4b768e1ebba33327d2c3b7f6d4b8c1c5f6"
  ],
  "author": {
    "name": "David Benjamin",
    "email": "davidben@google.com",
    "time": "Mon Jan 06 17:50:44 2020 -0500"
  },
  "committer": {
    "name": "Adam Langley",
    "email": "agl@google.com",
    "time": "Mon Jan 13 19:14:52 2020 +0000"
  },
  "message": "Reland bitsliced aes_nohw implementation.\n\nThis relands\nhttps://boringssl-review.googlesource.com/c/boringssl/+/39206. See that\nCL description for details on the change.\n\nThe CL was originally reverted due to a number of ARM-only test\nfailures. First, there was a test-only issue, resolved in\nhttps://boringssl-review.googlesource.com/c/boringssl/+/39306.\n\nSecond, the implementation did not work in unoptimized Android Thumb2\nbuilds. This was caused by a clang bug introduced in\nhttps://reviews.llvm.org/rL340261 and fixed in\nhttps://reviews.llvm.org/rL351310. aes_nohw_(un)compact_block have\nbeen rewritten in an attempt to dodge the bug. Performance of optimized\nbuilds with clang and gcc do not appear to be affected by the rewrite.\nSee the delta from patch set 1.\n\n(I had hoped to improve precommit CQ coverage before landing this, but\nboth failures turned out to be ARM-only. Either way, there are now\n32-bit and 64-bit SSE2-less configurations so the 32-bit and 64-bit\nimplementations have CQ coverage.)\n\nChange-Id: If5f9f5ea570686a15258ecd7cf49bdbc12dc34c5\nReviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/39444\nReviewed-by: Adam Langley \u003cagl@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "64febae41715bdac063078ba526f640d31c0d818",
      "old_mode": 33188,
      "old_path": "crypto/cipher_extra/e_aesgcmsiv.c",
      "new_id": "d7175723cf0bcf390c98322eb4d3fbeee1447e98",
      "new_mode": 33188,
      "new_path": "crypto/cipher_extra/e_aesgcmsiv.c"
    },
    {
      "type": "modify",
      "old_id": "3081a41219144df834de9fcb893710929ae32ad8",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/CMakeLists.txt",
      "new_id": "a675fbdd54a4dd308f431c8189a915c1ed45497e",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "48d60eeb648a274c62d841ae939130902784a716",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/aes/aes.c",
      "new_id": "f60281dfaf549b3467ed55edddd9ea577c890e1e",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/aes/aes.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ffbee8962db08712105a9e3fd528b92a353a8d86",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/aes/aes_nohw.c"
    },
    {
      "type": "modify",
      "old_id": "2e2911caed656788d0fc1d1886c1471084684cd9",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/aes/aes_test.cc",
      "new_id": "406e949f1d56e5e47abf0132a1ad84d5939c5355",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/aes/aes_test.cc"
    },
    {
      "type": "delete",
      "old_id": "9b373de206433512734e5e44a053edaae7a25fd7",
      "old_mode": 33261,
      "old_path": "crypto/fipsmodule/aes/asm/aes-586.pl",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "fbb199504e553307a1fe18980ce51fee2a49f3d7",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/aes/asm/aes-armv4.pl",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "5b95785e0bc398a933116c90d938045fc47cc52d",
      "old_mode": 33261,
      "old_path": "crypto/fipsmodule/aes/asm/aes-x86_64.pl",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "99d509a98394a80e4a1e6a3aae509b36139b01cc",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/aes/internal.h",
      "new_id": "5b806955032726ba30e9e3ee1d87ada370fea3ac",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/aes/internal.h"
    },
    {
      "type": "modify",
      "old_id": "ae8a91b1a6c535d39030ec1044a1e9faf2af1a04",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/aes/mode_wrappers.c",
      "new_id": "206fcfd49ec640d8a4f395c99c0a9e1ecac8ef32",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/aes/mode_wrappers.c"
    },
    {
      "type": "modify",
      "old_id": "7485f6ccd928a31f2524b7183baa862cc3bfbf70",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/bcm.c",
      "new_id": "567a0cdfa76d0e733d10be6104d5c3f10cdb7fce",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/bcm.c"
    },
    {
      "type": "modify",
      "old_id": "c6dd973a5aa2900a1bb7ccb2a73952f42d04d500",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/cipher/e_aes.c",
      "new_id": "8f4907f3a4a12681ab449131f2fb2f65a7bef2ba",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/cipher/e_aes.c"
    }
  ]
}
