)]}'
{
  "log": [
    {
      "commit": "46e84cd247eac0938b58f37b7ad3579c992e57be",
      "tree": "498c2612d3bf85513522acb7df8e8ab8398611a0",
      "parents": [
        "a109221c6e66c040f054ca6db1969aa1b7d2fad4"
      ],
      "author": {
        "name": "Venkatesh Srinivas",
        "email": "venkateshs@google.com",
        "time": "Fri Sep 25 03:02:14 2020 +0000"
      },
      "committer": {
        "name": "Venkatesh Srinivas",
        "email": "venkateshs@google.com",
        "time": "Fri Sep 25 03:02:14 2020 +0000"
      },
      "message": "Fuchsia: Turn safeside ret2spec tests into a library\n\nret2spec is a class of Spectre V2-related speculative execution\ninformation leaks, where the contents of return address stacks are\npoisoned. Poisoned return address stacks can be used to cause\nsensitive code to (speculatively) execute attacker-controlled\ncode, which can be used as a building block in infoleak attacks.\n\nRet2spec attacks can be carried out within a process, across\nuser/kernel boundaries on a CPU, and across processes.\n\nSafeside is a collection of demos of speculative execution\nattacks, including ret2spec; we plan to use its demos to test\nFuchsia\u0027s speculative execution mitigations.\n\nConvert Safeside\u0027s standalone ret2spec demos into a library,\nso that Fuchsia-driven tests can use them. We do not have a\ntest in-tree of ret2spec_ca (cross-address-space), but will adapt\nret2spec_sa into one.\n\nBug: 12540 Speculative Execution Mitigations.\nBug: 33667 Spectre mitigations?\n\nChange-Id: I239a8ba1f1b73f6ef58b6baa2b1f54ac6f3c3cb3\n"
    },
    {
      "commit": "a109221c6e66c040f054ca6db1969aa1b7d2fad4",
      "tree": "2efe1dd37920ba20f602be8f0eb8494236caf69d",
      "parents": [
        "a0a9c8ac2cea29c302350dfbbad90fb93a3847d7"
      ],
      "author": {
        "name": "Venkatesh Srinivas",
        "email": "venkateshs@chromium.org",
        "time": "Thu Jun 18 21:07:33 2020 +0000"
      },
      "committer": {
        "name": "Venkatesh Srinivas",
        "email": "venkateshs@chromium.org",
        "time": "Thu Jun 18 21:25:05 2020 +0000"
      },
      "message": "Fuchsia: Add BUILD.gn for ret2spec_sa demo\n\n* ret2spec_sa is a demo of a Spectre V2 variant focused on attacking\n  return address stacks / link stacks.\n\n* Add the demo as a binary to get started; next we will wire in our\n  mitigations and test the building blocks (for example, x86_ras_fill)\n\nBug: 12540 Speculative Execution Mitigations.\nBug: 33667 Spectre mitigations?\nChange-Id: Icaca5cd77f553733172b4f828eacc1dd899b45fb\n"
    },
    {
      "commit": "a0a9c8ac2cea29c302350dfbbad90fb93a3847d7",
      "tree": "5f679d4051b2ef6b9fca6198078456b2e71c475f",
      "parents": [
        "04bb1be00cd485b9481f11400b2f8fc620c2f539"
      ],
      "author": {
        "name": "Anthony Steinhauser",
        "email": "35879957+asteinha@users.noreply.github.com",
        "time": "Thu Nov 07 16:59:52 2019 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Nov 07 16:59:52 2019 -0800"
      },
      "message": "Renaming files. (#85)\n\nMaking the old filenames more distinctive now when new examples exist.\r\nFixing README.\r\n"
    },
    {
      "commit": "04bb1be00cd485b9481f11400b2f8fc620c2f539",
      "tree": "6003620ae5fb86a15a1f5ef7747913ab734ca42f",
      "parents": [
        "dc505ab216b3c77d17216f80e0575622cd4deb8b"
      ],
      "author": {
        "name": "Anthony Steinhauser",
        "email": "35879957+asteinha@users.noreply.github.com",
        "time": "Thu Nov 07 16:38:10 2019 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Nov 07 16:38:10 2019 -0800"
      },
      "message": "Factoring out signal handling. (#84)\n\n"
    },
    {
      "commit": "dc505ab216b3c77d17216f80e0575622cd4deb8b",
      "tree": "d6be0ae91fa8e4981f7b2d13065af15a327412d8",
      "parents": [
        "858ba0a7a1e7a4f8555a56a19383fa37139d2bc9"
      ],
      "author": {
        "name": "Anthony Steinhauser",
        "email": "35879957+asteinha@users.noreply.github.com",
        "time": "Thu Nov 07 16:33:21 2019 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Nov 07 16:33:21 2019 -0800"
      },
      "message": "Speculation over execution hardware breakpoint fault. (#72)\n\nAlso making ForceRead inlined to avoid the call and ret instructions in the speculation window.\r\n"
    },
    {
      "commit": "858ba0a7a1e7a4f8555a56a19383fa37139d2bc9",
      "tree": "7f99ddb41b5a7b27e5f3e9c1548c1d94d0ee9dcd",
      "parents": [
        "ac3df01d876e7632d1a075bafa73333582592add"
      ],
      "author": {
        "name": "Anthony Steinhauser",
        "email": "35879957+asteinha@users.noreply.github.com",
        "time": "Thu Nov 07 15:21:15 2019 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Nov 07 15:21:15 2019 -0800"
      },
      "message": "Speculation over the overflow trap on IA32. (#70)\n\nWorks perfectly on AMD. On Intel it flakes."
    },
    {
      "commit": "ac3df01d876e7632d1a075bafa73333582592add",
      "tree": "3056268c69f5c3cdde0c33f0a874931e74a919c5",
      "parents": [
        "eca77779766fb971c097d08f0138b4d841b791fe",
        "b252f91ea51f9e533a8d74cad21291d8e7f8f640"
      ],
      "author": {
        "name": "Matthew Riley",
        "email": "mattdr@google.com",
        "time": "Thu Nov 07 14:38:34 2019 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Nov 07 14:38:34 2019 -0800"
      },
      "message": "Merge pull request #83 from google/mattdr/ppc64le-comment\n\nAdd a comment explaining ppc64le vs. powerpc64le"
    },
    {
      "commit": "b252f91ea51f9e533a8d74cad21291d8e7f8f640",
      "tree": "75058b5d6d861f24082cd8f823fee03e8851be56",
      "parents": [
        "896a52a9baffb8e47cac9c2c159a2d72edadebac"
      ],
      "author": {
        "name": "Matthew Riley",
        "email": "mattdr@google.com",
        "time": "Thu Nov 07 13:53:36 2019 -0800"
      },
      "committer": {
        "name": "Matthew Riley",
        "email": "mattdr@google.com",
        "time": "Thu Nov 07 14:38:03 2019 -0800"
      },
      "message": "Add a comment explaining ppc64le vs. powerpc64le\n"
    },
    {
      "commit": "eca77779766fb971c097d08f0138b4d841b791fe",
      "tree": "59a845e76e10177e0cc6771f5eabf4af4506c5be",
      "parents": [
        "896a52a9baffb8e47cac9c2c159a2d72edadebac"
      ],
      "author": {
        "name": "Anthony Steinhauser",
        "email": "35879957+asteinha@users.noreply.github.com",
        "time": "Thu Nov 07 13:55:26 2019 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Nov 07 13:55:26 2019 -0800"
      },
      "message": "Meltdown-DE for AMD. (#69)\n\n\r\n"
    },
    {
      "commit": "896a52a9baffb8e47cac9c2c159a2d72edadebac",
      "tree": "ec072177eebab6643db99ca3b249990b9af7382c",
      "parents": [
        "8b570801fd8ad0a72d9727352e29093df65e0ff2"
      ],
      "author": {
        "name": "Anthony Steinhauser",
        "email": "35879957+asteinha@users.noreply.github.com",
        "time": "Thu Nov 07 11:14:21 2019 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Nov 07 11:14:21 2019 -0800"
      },
      "message": "Backporting compiler specifics. (#78)\n\n\r\n"
    },
    {
      "commit": "8b570801fd8ad0a72d9727352e29093df65e0ff2",
      "tree": "5b5764fb17bf1c2207f7ff4e8fedf72c66cf92fd",
      "parents": [
        "cc9c5e08ea30bbad97bea1b45fa25242fa6c8f96"
      ],
      "author": {
        "name": "Anthony Steinhauser",
        "email": "35879957+asteinha@users.noreply.github.com",
        "time": "Thu Nov 07 11:07:51 2019 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Nov 07 11:07:51 2019 -0800"
      },
      "message": "Finishing the Spectre v1 BTB CA PR. (#77)\n\nGitHub was unable to merge it at once."
    },
    {
      "commit": "cc9c5e08ea30bbad97bea1b45fa25242fa6c8f96",
      "tree": "96cc7383ad08a73cbb3a32766fe81c0c9e32d17e",
      "parents": [
        "b94adbb1b346477e09d76dd1db916317b647585c"
      ],
      "author": {
        "name": "Anthony Steinhauser",
        "email": "35879957+asteinha@users.noreply.github.com",
        "time": "Thu Nov 07 11:07:31 2019 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Nov 07 11:07:31 2019 -0800"
      },
      "message": "Compiler specifics for operating systems. (#79)\n\n\r\n"
    },
    {
      "commit": "b94adbb1b346477e09d76dd1db916317b647585c",
      "tree": "5274d1fd8ad5dbf026bbbe01d0f52e146991e5ea",
      "parents": [
        "5a7f5bd4472da809ffd24406d82c76d130fc14ea"
      ],
      "author": {
        "name": "Anthony Steinhauser",
        "email": "35879957+asteinha@users.noreply.github.com",
        "time": "Thu Nov 07 11:04:54 2019 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Nov 07 11:04:54 2019 -0800"
      },
      "message": "Factoring out public and private data. (#81)\n\n\r\n"
    },
    {
      "commit": "5a7f5bd4472da809ffd24406d82c76d130fc14ea",
      "tree": "ec7a58e77c101d881f6c49c7694451e5bf59376d",
      "parents": [
        "82500ea02602ac051f54c8c7c2049c48d55a1137"
      ],
      "author": {
        "name": "Jervis Muindi",
        "email": "jervisfm@users.noreply.github.com",
        "time": "Wed Nov 06 21:12:45 2019 -0800"
      },
      "committer": {
        "name": "Anthony Steinhauser",
        "email": "35879957+asteinha@users.noreply.github.com",
        "time": "Wed Nov 06 21:12:45 2019 -0800"
      },
      "message": "Minor Comment Typo Fix (#80)\n\n"
    },
    {
      "commit": "82500ea02602ac051f54c8c7c2049c48d55a1137",
      "tree": "81a33a884397abf6e16cc868a7f519f6f92f678d",
      "parents": [
        "0ab808053ee24bb520b9a78587aacf075eaa4b10"
      ],
      "author": {
        "name": "Anthony Steinhauser",
        "email": "35879957+asteinha@users.noreply.github.com",
        "time": "Wed Nov 06 15:43:42 2019 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Nov 06 15:43:42 2019 -0800"
      },
      "message": "Spectre v1 BTB cross address space (#60)\n\nPartial revert so that GitHub is able to merge it.\r\n"
    },
    {
      "commit": "0ab808053ee24bb520b9a78587aacf075eaa4b10",
      "tree": "2dba505dc65b0eb850a6ca47119a8f62d422780b",
      "parents": [
        "c212fbeaf9ca06d5587d069f571f47e18e0dc04f"
      ],
      "author": {
        "name": "Anthony Steinhauser",
        "email": "35879957+asteinha@users.noreply.github.com",
        "time": "Wed Nov 06 14:49:48 2019 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Nov 06 14:49:48 2019 -0800"
      },
      "message": "Rename isolated_oracle to oracle. (#75)\n\n"
    },
    {
      "commit": "c212fbeaf9ca06d5587d069f571f47e18e0dc04f",
      "tree": "c1b6b84cd1056a9ae301832a9e030090a3ba11ae",
      "parents": [
        "e6d9528827d8a5b24066b6a11b1cee0a35020e29"
      ],
      "author": {
        "name": "Anthony Steinhauser",
        "email": "35879957+asteinha@users.noreply.github.com",
        "time": "Tue Nov 05 17:27:30 2019 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Nov 05 17:27:30 2019 -0800"
      },
      "message": "Meltdown-BR for Intel and AMD. (#61)\n\n\r\n"
    },
    {
      "commit": "e6d9528827d8a5b24066b6a11b1cee0a35020e29",
      "tree": "30d6548e3085cdb470bbf44249d45c40746c35c2",
      "parents": [
        "0217ec9b14fd48971de9139be32fa797bc8768b2"
      ],
      "author": {
        "name": "Anthony Steinhauser",
        "email": "35879957+asteinha@users.noreply.github.com",
        "time": "Fri Nov 01 21:14:54 2019 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Nov 01 21:14:54 2019 +0100"
      },
      "message": "Fixing function names. (#66)\n\n"
    },
    {
      "commit": "0217ec9b14fd48971de9139be32fa797bc8768b2",
      "tree": "07097f29bf7be164c58914a5571b61b71a9b14e8",
      "parents": [
        "be1b94ae0d40ce7e0305663316bcc4f1c474f2b1"
      ],
      "author": {
        "name": "Anthony Steinhauser",
        "email": "35879957+asteinha@users.noreply.github.com",
        "time": "Fri Nov 01 21:09:32 2019 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Nov 01 21:09:32 2019 +0100"
      },
      "message": "Avoid uninitialized memory in Meltdown-SS. (#64)\n\nAnd do not use the useable bit if there is no implementation need to do that.\r\nIt\u0027s a bit that is for the system or user disposal and is ignored by the CPU."
    },
    {
      "commit": "be1b94ae0d40ce7e0305663316bcc4f1c474f2b1",
      "tree": "fa876a3566e3933a34d7a16b153731011a36bc11",
      "parents": [
        "c51aaac94450fe4c200401e78501e5edac8e77f8"
      ],
      "author": {
        "name": "Anthony Steinhauser",
        "email": "35879957+asteinha@users.noreply.github.com",
        "time": "Fri Nov 01 21:06:29 2019 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Nov 01 21:06:29 2019 +0100"
      },
      "message": "Using local_labels.h in existing examples. (#73)\n\n"
    },
    {
      "commit": "c51aaac94450fe4c200401e78501e5edac8e77f8",
      "tree": "6be78127d2e3290ad0bc9f332850b6eda7f0e521",
      "parents": [
        "0b7a8007d560f4bf0be813c4cdad76210e0f80ba"
      ],
      "author": {
        "name": "Anthony Steinhauser",
        "email": "35879957+asteinha@users.noreply.github.com",
        "time": "Thu Oct 31 23:45:52 2019 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 31 23:45:52 2019 +0000"
      },
      "message": "Speculation over breakpoint instructions on ARM. (#55)\n\n\r\n"
    },
    {
      "commit": "0b7a8007d560f4bf0be813c4cdad76210e0f80ba",
      "tree": "ff1890369b717be7e30b0b1e3f954bcbe3de77ed",
      "parents": [
        "a6c8bb60494761b2ac88b287c9a59afdcd31d371",
        "c07ad0deb1bb9603746a5f2fc4e4f07f7dcf6086"
      ],
      "author": {
        "name": "Matthew Riley",
        "email": "mattdr@google.com",
        "time": "Wed Oct 30 16:41:00 2019 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 30 16:41:00 2019 -0700"
      },
      "message": "Merge pull request #71 from google/mattdr/common-continue\n\nFactor out common code to wake child"
    },
    {
      "commit": "c07ad0deb1bb9603746a5f2fc4e4f07f7dcf6086",
      "tree": "ff1890369b717be7e30b0b1e3f954bcbe3de77ed",
      "parents": [
        "a6c8bb60494761b2ac88b287c9a59afdcd31d371"
      ],
      "author": {
        "name": "Matthew Riley",
        "email": "mattdr@google.com",
        "time": "Wed Oct 30 16:22:07 2019 -0700"
      },
      "committer": {
        "name": "Matthew Riley",
        "email": "mattdr@google.com",
        "time": "Wed Oct 30 16:22:07 2019 -0700"
      },
      "message": "Factor out common code to wake child\n\nHad to replace real signal name with just \"signal\".\n"
    },
    {
      "commit": "a6c8bb60494761b2ac88b287c9a59afdcd31d371",
      "tree": "a371cba9920d3d879e7c771ef4193049a7c076e2",
      "parents": [
        "7dd277654d1449265914d6493862938e4c3a6607"
      ],
      "author": {
        "name": "Anthony Steinhauser",
        "email": "35879957+asteinha@users.noreply.github.com",
        "time": "Wed Oct 30 23:00:09 2019 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 30 23:00:09 2019 +0000"
      },
      "message": "Speculation over hardware breakpoint trap on Linux and x86/64. (#51)\n\n\r\n"
    },
    {
      "commit": "7dd277654d1449265914d6493862938e4c3a6607",
      "tree": "ca1c27af1995bdb89dfd66f728dbf0333dc7b22b",
      "parents": [
        "2fda768ccc289b7f9fd9f83cbcaa5416b3ce8926"
      ],
      "author": {
        "name": "Anthony Steinhauser",
        "email": "35879957+asteinha@users.noreply.github.com",
        "time": "Tue Oct 29 17:30:50 2019 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 29 17:30:50 2019 -0700"
      },
      "message": "Recursive ret2spec bugfix. (#54)\n\nRecursive ret2spec bugfix.\r\nWe have to flush the whole stack frame which didn\u0027t happen when it was on multiple cache lines.\r\nAdding new files utils.h and utils.cc for non-assembly shared functions.\r\n"
    },
    {
      "commit": "2fda768ccc289b7f9fd9f83cbcaa5416b3ce8926",
      "tree": "b37d553b372ac17387efc67c131a0c3634c5a9bf",
      "parents": [
        "214837049b802457486e8c60699a583595d965a8"
      ],
      "author": {
        "name": "Anthony Steinhauser",
        "email": "35879957+asteinha@users.noreply.github.com",
        "time": "Tue Oct 29 16:59:38 2019 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 29 16:59:38 2019 -0700"
      },
      "message": "Make Meltdown and Foreshadow build on PowerPC in Travis CI. (#63)\n\n\r\n"
    },
    {
      "commit": "214837049b802457486e8c60699a583595d965a8",
      "tree": "d47e5e78ada855ef7c2dad62bda1edb0ef4caf7a",
      "parents": [
        "b4705ff6df709724f43312295f0112c3a6e26c71"
      ],
      "author": {
        "name": "Anthony Steinhauser",
        "email": "35879957+asteinha@users.noreply.github.com",
        "time": "Wed Oct 23 18:02:52 2019 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 23 18:02:52 2019 -0700"
      },
      "message": "Use procfs instead of sysfs in kernel modules (#62)\n\nMigrate from SYSFS to PROCFS.\r\nLicense our kernel modules under Apache-2.0 now that we do not require EXPORT_SYMBOL_GPL APIs.\r\nRenaming the third_party directory to kernel_modules."
    },
    {
      "commit": "b4705ff6df709724f43312295f0112c3a6e26c71",
      "tree": "6e4d5c18e3c9d8d1026a9397364a64ce798495f8",
      "parents": [
        "98d3b6ec215f455ba703a6ab16eef60dd9a87639"
      ],
      "author": {
        "name": "Anthony Steinhauser",
        "email": "35879957+asteinha@users.noreply.github.com",
        "time": "Wed Oct 23 04:52:05 2019 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 23 04:52:05 2019 -0700"
      },
      "message": "Extension of memory and speculation barrier. (#59)\n\nCPUID uses intrinsics in order to support 64-bit Windows.\r\nARM version of memory and speculation barrier."
    },
    {
      "commit": "98d3b6ec215f455ba703a6ab16eef60dd9a87639",
      "tree": "92e0a7d83b2ddf7b8abfda6def0c6867ca8f2bfe",
      "parents": [
        "795aabee0923a039432611c94f79c6c621c6dca8"
      ],
      "author": {
        "name": "Anthony Steinhauser",
        "email": "35879957+asteinha@users.noreply.github.com",
        "time": "Wed Oct 23 04:38:18 2019 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 23 04:38:18 2019 -0700"
      },
      "message": "Factoring out architecture and inlining directives. (#58)\n\n\r\n"
    },
    {
      "commit": "795aabee0923a039432611c94f79c6c621c6dca8",
      "tree": "d52022a1b655d32c9a2e9656027304bfdd7048bf",
      "parents": [
        "e144c50e3376dd69fa9c088fd3289ee387f5f4be"
      ],
      "author": {
        "name": "Anthony Steinhauser",
        "email": "35879957+asteinha@users.noreply.github.com",
        "time": "Wed Oct 23 03:49:01 2019 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 23 03:49:01 2019 -0700"
      },
      "message": "Meltdown-AC for AMD. (#43)\n\n\r\n"
    },
    {
      "commit": "e144c50e3376dd69fa9c088fd3289ee387f5f4be",
      "tree": "bd83f6f73d869b3090ed6e8bd9226cc641c3f05d",
      "parents": [
        "9e097d4a65db5a68a1718f329da7e2f7b6916ace"
      ],
      "author": {
        "name": "Anthony Steinhauser",
        "email": "35879957+asteinha@users.noreply.github.com",
        "time": "Mon Oct 21 15:06:57 2019 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 21 15:06:57 2019 -0700"
      },
      "message": "Fixing SYSFS paths in the Meltdown module. (#53)\n\nFixing SYSFS paths in the Meltdown module, updating names to match Google C++ style and updating some lingering names from #38."
    },
    {
      "commit": "9e097d4a65db5a68a1718f329da7e2f7b6916ace",
      "tree": "e033951def23620972a41e3c18d83d967053e21e",
      "parents": [
        "4926cc471c4b619752aad55b84e2795288dc6736"
      ],
      "author": {
        "name": "Anthony Steinhauser",
        "email": "35879957+asteinha@users.noreply.github.com",
        "time": "Mon Oct 21 15:05:20 2019 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 21 15:05:20 2019 -0700"
      },
      "message": "Foreshadow for PowerPC. (#52)\n\n\r\n"
    },
    {
      "commit": "4926cc471c4b619752aad55b84e2795288dc6736",
      "tree": "afa06973db7a226de9a1525c749103cb79e363b1",
      "parents": [
        "0a04b467a98762aa7c3f6bd561d852fe7a224eb4"
      ],
      "author": {
        "name": "Anthony Steinhauser",
        "email": "35879957+asteinha@users.noreply.github.com",
        "time": "Fri Oct 18 19:05:54 2019 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 18 19:05:54 2019 -0700"
      },
      "message": "Meltdown-SS for AMD. (#44)\n\n"
    },
    {
      "commit": "0a04b467a98762aa7c3f6bd561d852fe7a224eb4",
      "tree": "da3ad70c901494091a6f47c9355e80001ce826f6",
      "parents": [
        "1e6ce2d539fa724337383baf329c559987764b7e"
      ],
      "author": {
        "name": "Anthony Steinhauser",
        "email": "35879957+asteinha@users.noreply.github.com",
        "time": "Fri Oct 18 17:29:22 2019 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 18 17:29:22 2019 -0700"
      },
      "message": "Speculation over ERET, HVC and SMC on ARM. (#38)\n\nSpeculation over ERET, HVC and SMC instructions on ARM.\r\nRefactoring the structure of Linux kernel modules to make it extensible."
    },
    {
      "commit": "1e6ce2d539fa724337383baf329c559987764b7e",
      "tree": "6068e3a52bcad1cb323c57e0fd79897842edd08f",
      "parents": [
        "9937916972145a44b0e825ff5c272618df7e257c"
      ],
      "author": {
        "name": "Anthony Steinhauser",
        "email": "35879957+asteinha@users.noreply.github.com",
        "time": "Fri Oct 18 16:34:01 2019 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 18 16:34:01 2019 -0700"
      },
      "message": "Speculation over syscall on ARM. (#37)\n\n"
    },
    {
      "commit": "9937916972145a44b0e825ff5c272618df7e257c",
      "tree": "5986558b4dc740425ad47c9d34eb1f9c37483c4b",
      "parents": [
        "e9df5144ae766f5795f5daac533854ace6e08f50"
      ],
      "author": {
        "name": "Anthony Steinhauser",
        "email": "35879957+asteinha@users.noreply.github.com",
        "time": "Fri Oct 18 15:43:37 2019 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 18 15:43:37 2019 -0700"
      },
      "message": "Foreshadow OS on Intel and Linux. (#41)\n\nForeshadow on Intel and Linux."
    },
    {
      "commit": "e9df5144ae766f5795f5daac533854ace6e08f50",
      "tree": "42f088db73bab5fd6c62262868bd1506b721526e",
      "parents": [
        "608284dfaf6800ecd068a0f7ca0684841ba66cbd"
      ],
      "author": {
        "name": "Anthony Steinhauser",
        "email": "35879957+asteinha@users.noreply.github.com",
        "time": "Fri Oct 18 15:30:15 2019 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 18 15:30:15 2019 -0700"
      },
      "message": "Ret2spec with rewriting RSB through recursion. (#47)\n\nRewrites RSB using recursive calls of another function."
    },
    {
      "commit": "608284dfaf6800ecd068a0f7ca0684841ba66cbd",
      "tree": "9a4abbbb8bd28c9a1366ca53d6cce29c8d7484e8",
      "parents": [
        "4fc7e5bc91b96d2cddd6d352e1484b79554e7627",
        "f6452056144caa09c030c4774bba5548c30de690"
      ],
      "author": {
        "name": "Matthew Riley",
        "email": "mattdr@google.com",
        "time": "Tue Oct 15 14:12:42 2019 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 15 14:12:42 2019 -0700"
      },
      "message": "Merge pull request #42 from google/mmdriley-patch-1\n\nFix indentation"
    },
    {
      "commit": "f6452056144caa09c030c4774bba5548c30de690",
      "tree": "9a4abbbb8bd28c9a1366ca53d6cce29c8d7484e8",
      "parents": [
        "4fc7e5bc91b96d2cddd6d352e1484b79554e7627"
      ],
      "author": {
        "name": "Matthew Riley",
        "email": "mdriley@gmail.com",
        "time": "Mon Oct 14 23:38:23 2019 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 14 23:38:23 2019 -0700"
      },
      "message": "Fix indentation"
    },
    {
      "commit": "4fc7e5bc91b96d2cddd6d352e1484b79554e7627",
      "tree": "d57f30ba229a5a02b1b1ac73176d545a94b9dfc1",
      "parents": [
        "5ed5b6d141356d6e218c16f8b43f466d5194c9fc"
      ],
      "author": {
        "name": "Anthony Steinhauser",
        "email": "35879957+asteinha@users.noreply.github.com",
        "time": "Fri Oct 11 17:05:46 2019 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 11 17:05:46 2019 -0700"
      },
      "message": "Meltdown-UD for ARM. (#36)\n\n"
    },
    {
      "commit": "5ed5b6d141356d6e218c16f8b43f466d5194c9fc",
      "tree": "503b7b6b1c26442eb123d4e9d2586addc713533f",
      "parents": [
        "790aba4501513ca7eee5ca10a0382f90c71eddc1"
      ],
      "author": {
        "name": "Anthony Steinhauser",
        "email": "35879957+asteinha@users.noreply.github.com",
        "time": "Fri Oct 11 15:22:08 2019 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 11 15:22:08 2019 -0700"
      },
      "message": "Remove unneccessary C++ headers. (#39)\n\n"
    },
    {
      "commit": "790aba4501513ca7eee5ca10a0382f90c71eddc1",
      "tree": "32f2ce4d7fc5c8fe94f3c38c9df599d82dad4d93",
      "parents": [
        "0a9fdecb3e0a38f7538e9d9e7107e7ecfb61ecc3"
      ],
      "author": {
        "name": "Anthony Steinhauser",
        "email": "35879957+asteinha@users.noreply.github.com",
        "time": "Tue Oct 08 17:12:41 2019 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 08 17:12:41 2019 -0700"
      },
      "message": "Adding ISB to ARM64 speculation barrier. (#34)\n\n"
    },
    {
      "commit": "0a9fdecb3e0a38f7538e9d9e7107e7ecfb61ecc3",
      "tree": "da2e523de58b034f54dea3360ca285b046677aa7",
      "parents": [
        "73a996dc5111279617498316b5d1318384a8f612"
      ],
      "author": {
        "name": "Anthony Steinhauser",
        "email": "35879957+asteinha@users.noreply.github.com",
        "time": "Tue Oct 08 16:31:38 2019 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 08 16:31:38 2019 -0700"
      },
      "message": "Replacing powerpc64 with powerpc64le. (#35)\n\nTo make it compatible with the PowerPC workstation that we support."
    },
    {
      "commit": "73a996dc5111279617498316b5d1318384a8f612",
      "tree": "bfb9df7e819746432591a9698e677ad781e46aea",
      "parents": [
        "d10bcf8e791e8ff7dfa8300252e7468b9736d123"
      ],
      "author": {
        "name": "Anthony Steinhauser",
        "email": "35879957+asteinha@users.noreply.github.com",
        "time": "Mon Oct 07 18:08:12 2019 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 07 18:08:12 2019 -0700"
      },
      "message": "Fixing CMake on PowerPC and Windows (#33)\n\nWindows examples are slow and unreliable without full optimizations. Even on the other systems there is no reason to default to less optimized versions.\r\nMeltdown works on ppc64le. I don\u0027t know whether it works on ppc64 and unless we have tested it, we should not publish it.\r\nMeltdown kernel module should be built iff meltdown is built."
    },
    {
      "commit": "d10bcf8e791e8ff7dfa8300252e7468b9736d123",
      "tree": "04d511c9a643b3a60a20c0b47a9bd61aec7e0bbf",
      "parents": [
        "35ab4be865e2343340a198c362fabbd663cda759",
        "58718138b2db6769c7a3bd43bdd6abe69bf16d09"
      ],
      "author": {
        "name": "Matthew Riley",
        "email": "mdriley@gmail.com",
        "time": "Fri Oct 04 15:59:36 2019 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 04 15:59:36 2019 -0700"
      },
      "message": "Merge pull request #30 from google/mattdr/build-badge-link\n\nMake badge a link to build results"
    },
    {
      "commit": "35ab4be865e2343340a198c362fabbd663cda759",
      "tree": "38afa3b4f51ff5c00103d89f9c1b5be6b18e9203",
      "parents": [
        "1f72a539c65261abc47c4d8a3c0db23421a3048c",
        "f9985ef3927ad7c05ba6bcaaca3a0bf73c99a932"
      ],
      "author": {
        "name": "Matthew Riley",
        "email": "mdriley@gmail.com",
        "time": "Fri Oct 04 15:59:17 2019 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 04 15:59:17 2019 -0700"
      },
      "message": "Merge pull request #32 from google/mattdr/build-32-and-64\n\nImprove architecture and compiler coverage in CI"
    },
    {
      "commit": "f9985ef3927ad7c05ba6bcaaca3a0bf73c99a932",
      "tree": "38afa3b4f51ff5c00103d89f9c1b5be6b18e9203",
      "parents": [
        "1805d3d2ded1d82f6a9319305e8b2210233ed4a9"
      ],
      "author": {
        "name": "Matthew Riley",
        "email": "mattdr@google.com",
        "time": "Fri Oct 04 15:29:21 2019 -0700"
      },
      "committer": {
        "name": "Matthew Riley",
        "email": "mattdr@google.com",
        "time": "Fri Oct 04 15:29:21 2019 -0700"
      },
      "message": "Improve compiler/architecture coverage\n\nMove build logic into a shell script\n\nAdd 32-bit x86, aarch64, and powerpc64 builds on gcc\n\nAdd 32-bit x86 build on MSVC\n\nUpdate to Ubuntu 18.04 for cross-compile packages\n\nFix `instr.cc` to compile on PowerPC\n\nTighten compile constraints for demos -- e.g. don\u0027t compile Meltdown for\nARM or ret2spec on PowerPC\n\nAdd `-msse2` on Clang/GCC builds for x86 to avoid errors using\n`_mm_mfence()`\n"
    },
    {
      "commit": "1805d3d2ded1d82f6a9319305e8b2210233ed4a9",
      "tree": "494989927de4732459d0a7ba97f117ddcba21ae9",
      "parents": [
        "2f333bd08053a2104396669ce8cbc25dba7ac0b0"
      ],
      "author": {
        "name": "Matthew Riley",
        "email": "mattdr@google.com",
        "time": "Fri Oct 04 15:22:53 2019 -0700"
      },
      "committer": {
        "name": "Matthew Riley",
        "email": "mattdr@google.com",
        "time": "Fri Oct 04 15:22:53 2019 -0700"
      },
      "message": "Better control over building the Meltdown kernel module\n\nReference the Meltdown kernel module from the root\n\nMove the conditional compilation logic from `demos/CMakeLists.txt` into\n`kmod/CMakeLists.txt`\n\nAvoid compiling the kernel module when cross-compiling, since our\nassumption is we\u0027re using the headers for the currently-running kernel.\n\nImprove status and error messages\n"
    },
    {
      "commit": "2f333bd08053a2104396669ce8cbc25dba7ac0b0",
      "tree": "92d5e572a2ec1b1f7a424ce2b22e6c9d6c7fd09a",
      "parents": [
        "1f72a539c65261abc47c4d8a3c0db23421a3048c"
      ],
      "author": {
        "name": "Matthew Riley",
        "email": "mattdr@google.com",
        "time": "Fri Oct 04 15:18:42 2019 -0700"
      },
      "committer": {
        "name": "Matthew Riley",
        "email": "mattdr@google.com",
        "time": "Fri Oct 04 15:18:42 2019 -0700"
      },
      "message": "Restrict push builds to the `master` branch\n\nWhen a PR is open and I push to the source branch, Travis starts *two*\nbuilds. This eliminates the redundant \"push\" build.\n"
    },
    {
      "commit": "58718138b2db6769c7a3bd43bdd6abe69bf16d09",
      "tree": "2399b59095356253642f145056e9bec5645b7d71",
      "parents": [
        "1f72a539c65261abc47c4d8a3c0db23421a3048c"
      ],
      "author": {
        "name": "Matthew Riley",
        "email": "mdriley@gmail.com",
        "time": "Thu Oct 03 19:21:07 2019 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 03 19:21:07 2019 -0700"
      },
      "message": "Make badge a link to build results\n\nNeglected this in my previous commit"
    },
    {
      "commit": "1f72a539c65261abc47c4d8a3c0db23421a3048c",
      "tree": "75a8faa56932308955497a4a05a0139a9716177d",
      "parents": [
        "c6c8a7836e349c85305a8ab46d98c4334a1d15cb",
        "24aef77b6d163bd0b680535d22ec23a772c7121a"
      ],
      "author": {
        "name": "Matthew Riley",
        "email": "mdriley@gmail.com",
        "time": "Thu Oct 03 18:36:02 2019 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 03 18:36:02 2019 -0700"
      },
      "message": "Merge pull request #29 from google/mattdr/build-badge\n\nAdd Travis build status badge"
    },
    {
      "commit": "c6c8a7836e349c85305a8ab46d98c4334a1d15cb",
      "tree": "fdf4386e31f02b75166fbd17990c05f77513835c",
      "parents": [
        "990ce489f24f4832c1185d8062b976ca123e6600",
        "7fea8db499d52d806856667a90814e8eaf472bfc"
      ],
      "author": {
        "name": "Matthew Riley",
        "email": "mdriley@gmail.com",
        "time": "Thu Oct 03 18:35:29 2019 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 03 18:35:29 2019 -0700"
      },
      "message": "Merge pull request #27 from google/mattdr/build-tweaks\n\nMove build files, fix issues, add comments"
    },
    {
      "commit": "24aef77b6d163bd0b680535d22ec23a772c7121a",
      "tree": "77c354e77c5c9eb7261a2e9e06ed2489b565256e",
      "parents": [
        "990ce489f24f4832c1185d8062b976ca123e6600"
      ],
      "author": {
        "name": "Matthew Riley",
        "email": "mdriley@gmail.com",
        "time": "Thu Oct 03 18:14:56 2019 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 03 18:14:56 2019 -0700"
      },
      "message": "Add Travis build status badge"
    },
    {
      "commit": "7fea8db499d52d806856667a90814e8eaf472bfc",
      "tree": "fdf4386e31f02b75166fbd17990c05f77513835c",
      "parents": [
        "f872137d16e08f0bc73b18dcb2717f22376d37f9"
      ],
      "author": {
        "name": "Matthew Riley",
        "email": "mdriley@gmail.com",
        "time": "Thu Oct 03 18:03:48 2019 -0700"
      },
      "committer": {
        "name": "Matthew Riley",
        "email": "mdriley@gmail.com",
        "time": "Thu Oct 03 18:08:06 2019 -0700"
      },
      "message": "Disable conflicting MSVC flag\n"
    },
    {
      "commit": "f872137d16e08f0bc73b18dcb2717f22376d37f9",
      "tree": "d11efba96878c33474cf01e4e0d251d76dfe71f2",
      "parents": [
        "41424be20c9041285643dafe7ff25c6c8bbccb34"
      ],
      "author": {
        "name": "Matthew Riley",
        "email": "mattdr@google.com",
        "time": "Thu Oct 03 14:22:56 2019 -0700"
      },
      "committer": {
        "name": "Matthew Riley",
        "email": "mdriley@gmail.com",
        "time": "Thu Oct 03 17:53:29 2019 -0700"
      },
      "message": "Move build files, fix issues, add comments\n\nMove the demo targets into `CMakeLists.txt` in the `demos` directory\n\nUpdate `cmake` commands in `demos/README.md` to use `-B`\n\nAdd a comment in `.gitignore` about why we\u0027re ignoring the `build`\ndirectory\n\nChange the `kmod` build so it doesn\u0027t put build outputs in the source\ntree and stops modifying `kmod/Makefile`\n\nInstead of setting the CMake build type, just make sure we add the\none flag we need to avoid a known bug.\n\nAdd more comments throughout\n"
    },
    {
      "commit": "41424be20c9041285643dafe7ff25c6c8bbccb34",
      "tree": "03b0d2c5d25f1d6af7bb26db3f5dc9651b96a4da",
      "parents": [
        "990ce489f24f4832c1185d8062b976ca123e6600"
      ],
      "author": {
        "name": "Matthew Riley",
        "email": "mattdr@google.com",
        "time": "Thu Oct 03 14:20:25 2019 -0700"
      },
      "committer": {
        "name": "Matthew Riley",
        "email": "mdriley@gmail.com",
        "time": "Thu Oct 03 17:53:29 2019 -0700"
      },
      "message": "Move CMakeLists.txt to demos/ directory\n\nSeparate commit so later changes don\u0027t obscure the rename\n"
    },
    {
      "commit": "990ce489f24f4832c1185d8062b976ca123e6600",
      "tree": "5080e92f3a2920b3a27ac6abb5021f144d76e66f",
      "parents": [
        "17243f9ddbcfd245cf92a3ddf5e1b2de290453b2",
        "d3c819dc1fc8014aefee53cb36766e77a3da3034"
      ],
      "author": {
        "name": "Matthew Riley",
        "email": "mdriley@gmail.com",
        "time": "Thu Oct 03 17:53:01 2019 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 03 17:53:01 2019 -0700"
      },
      "message": "Merge pull request #28 from google/mattdr/enable-travis\n\nEnable Travis builds"
    },
    {
      "commit": "d3c819dc1fc8014aefee53cb36766e77a3da3034",
      "tree": "5080e92f3a2920b3a27ac6abb5021f144d76e66f",
      "parents": [
        "518abdefeaaf6ed2189951396b4a62d9f82d1a5d"
      ],
      "author": {
        "name": "Matthew Riley",
        "email": "mattdr@google.com",
        "time": "Thu Oct 03 14:40:18 2019 -0700"
      },
      "committer": {
        "name": "Matthew Riley",
        "email": "mdriley@gmail.com",
        "time": "Thu Oct 03 17:45:01 2019 -0700"
      },
      "message": "Enable Travis builds\n\nAdd builds to cover many OS+compiler combinations.\n\nFor now, we just test that things build.\n"
    },
    {
      "commit": "518abdefeaaf6ed2189951396b4a62d9f82d1a5d",
      "tree": "e2787aa3a454269f401686eed42f0db1578064e7",
      "parents": [
        "17243f9ddbcfd245cf92a3ddf5e1b2de290453b2"
      ],
      "author": {
        "name": "Matthew Riley",
        "email": "mdriley@gmail.com",
        "time": "Thu Oct 03 17:44:20 2019 -0700"
      },
      "committer": {
        "name": "Matthew Riley",
        "email": "mdriley@gmail.com",
        "time": "Thu Oct 03 17:45:01 2019 -0700"
      },
      "message": "Compile with C++11\n\nUse CMake variables that work across compilers.\n"
    },
    {
      "commit": "17243f9ddbcfd245cf92a3ddf5e1b2de290453b2",
      "tree": "04254b516605b33cfc729f32695a26d5e686e9d7",
      "parents": [
        "759ac3104fda6b7b6069d079b4ca42a1f699f781"
      ],
      "author": {
        "name": "Anthony Steinhauser",
        "email": "35879957+asteinha@users.noreply.github.com",
        "time": "Tue Oct 01 16:35:31 2019 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 01 16:35:31 2019 -0700"
      },
      "message": "Cosmetic improvements. (#25)\n\nHardcode the CMAKE_BUILD_TYPE. If someone really wants to create a debug build that fails on Ret2spec, he should do it manually.\r\nAvoid C-style casting in Meltdown source."
    },
    {
      "commit": "759ac3104fda6b7b6069d079b4ca42a1f699f781",
      "tree": "68b02ebbe9c854b5ac02d4f9f67f0f3c233fa54b",
      "parents": [
        "aeef1304882878ca4cb56567ae8d4a1865d809cd"
      ],
      "author": {
        "name": "Anthony Steinhauser",
        "email": "35879957+asteinha@users.noreply.github.com",
        "time": "Tue Oct 01 12:25:08 2019 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 01 12:25:08 2019 -0700"
      },
      "message": "ForceRead call clarification. (#24)\n\n"
    },
    {
      "commit": "aeef1304882878ca4cb56567ae8d4a1865d809cd",
      "tree": "160763503a207ad0e116a3f6c6531e8bfe6b62d2",
      "parents": [
        "229e9f63599527c9741d15f4f74aaa2275eeb851"
      ],
      "author": {
        "name": "Anthony Steinhauser",
        "email": "35879957+asteinha@users.noreply.github.com",
        "time": "Tue Oct 01 10:55:06 2019 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 01 10:55:06 2019 -0700"
      },
      "message": "Spectre v1 indirect jumps CMake. (#23)\n\n"
    },
    {
      "commit": "229e9f63599527c9741d15f4f74aaa2275eeb851",
      "tree": "6110a36d78c317c17bedc19f57e1fd3d39555e79",
      "parents": [
        "e00d64b7a7244b83e69d0412ee8ed1906fdd8115"
      ],
      "author": {
        "name": "Anthony Steinhauser",
        "email": "35879957+asteinha@users.noreply.github.com",
        "time": "Tue Oct 01 10:54:42 2019 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 01 10:54:42 2019 -0700"
      },
      "message": "Meltdown for PowerPC. (#22)\n\n\r\n"
    },
    {
      "commit": "e00d64b7a7244b83e69d0412ee8ed1906fdd8115",
      "tree": "acda4900b67f54227086d3edbf8632505e39e22f",
      "parents": [
        "d4ac2a4c319315a26bd53c5ccc5c94750d44cda1"
      ],
      "author": {
        "name": "Anthony Steinhauser",
        "email": "35879957+asteinha@users.noreply.github.com",
        "time": "Mon Sep 30 10:40:25 2019 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 30 10:40:25 2019 -0700"
      },
      "message": "CMake config for Ret2Spec. (#21)\n\nCMake for Ret2spec.\r\nRemove the g++ for Ret2spec."
    },
    {
      "commit": "d4ac2a4c319315a26bd53c5ccc5c94750d44cda1",
      "tree": "3a3797791a0532eb3a29d9d8dbd85ba05bedf2a0",
      "parents": [
        "5f0e2620c2da5e32d9e2d881a53a3e0e983a1cff",
        "5f297133090f75906e0397af4c30e9248bd0055a"
      ],
      "author": {
        "name": "Matthew Riley",
        "email": "mdriley@gmail.com",
        "time": "Thu Sep 26 15:42:13 2019 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 26 15:42:13 2019 -0700"
      },
      "message": "Merge pull request #13 from itzurabhi/master\n\nInitial CMake support"
    },
    {
      "commit": "5f0e2620c2da5e32d9e2d881a53a3e0e983a1cff",
      "tree": "a54678d752800291520b6d24423517eb8ab6f921",
      "parents": [
        "189c2876fa71a04204ab4a1ebbc66e9c42ed0868"
      ],
      "author": {
        "name": "Anthony Steinhauser",
        "email": "35879957+asteinha@users.noreply.github.com",
        "time": "Thu Sep 26 13:32:11 2019 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 26 13:32:11 2019 -0700"
      },
      "message": "Ret2spec prototype. (#18)\n\nRet2spec prototype.\r\n\r\nWorks with Intel, AMD and ARM; G++, Clang and ICC; Linux and MacOS. Requires at least -fomit-frame-pointer compilation argument or O1 optimizations."
    },
    {
      "commit": "5f297133090f75906e0397af4c30e9248bd0055a",
      "tree": "15f0dedba4936318ed50681fb2b0e5247c181ba9",
      "parents": [
        "bf39dbdbfe3bc260edae66b9f7c3c0d9128fd2ae"
      ],
      "author": {
        "name": "Abhishek Sudhakaran",
        "email": "itzurabhi@gmail.com",
        "time": "Wed Sep 04 00:25:54 2019 +0530"
      },
      "committer": {
        "name": "Abhishek TS",
        "email": "itzurabhi@gmail.com",
        "time": "Thu Sep 26 23:37:03 2019 +0530"
      },
      "message": "Added CMake build support\n\nCo-Authored-By: Matthew Riley \u003cmdriley@gmail.com\u003e\n"
    },
    {
      "commit": "189c2876fa71a04204ab4a1ebbc66e9c42ed0868",
      "tree": "882b9385a3952baa228fec6a939c4896dd25eb94",
      "parents": [
        "aa968b75267fa674c1595942a48be9c4066f5a9e"
      ],
      "author": {
        "name": "Anthony Steinhauser",
        "email": "35879957+asteinha@users.noreply.github.com",
        "time": "Wed Sep 18 14:06:00 2019 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 18 14:06:00 2019 -0700"
      },
      "message": "Adding AddHitAndRecomputeScores method. (#19)\n\nExplicit casting of char to size_t in RecomputeScores in order to avoid negative array indexing.\r\n"
    },
    {
      "commit": "aa968b75267fa674c1595942a48be9c4066f5a9e",
      "tree": "af340804e280c2065e8d47e39013efa5cdd5e263",
      "parents": [
        "1aed55d49cc2db2be3ede3240d17eff1f3471c9a",
        "6b1f7703a4ee5c6567bcfb997ba49ee3b86960a0"
      ],
      "author": {
        "name": "Devin Jeanpierre",
        "email": "jeanpierreda@google.com",
        "time": "Tue Sep 10 12:11:03 2019 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 10 12:11:03 2019 -0700"
      },
      "message": "Merge pull request #17 from google/ssbr-patch-1\n\nSpecify C++11 in code guidelines."
    },
    {
      "commit": "6b1f7703a4ee5c6567bcfb997ba49ee3b86960a0",
      "tree": "af340804e280c2065e8d47e39013efa5cdd5e263",
      "parents": [
        "1aed55d49cc2db2be3ede3240d17eff1f3471c9a"
      ],
      "author": {
        "name": "Devin Jeanpierre",
        "email": "jeanpierreda@google.com",
        "time": "Tue Sep 10 11:37:12 2019 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 10 11:37:12 2019 -0700"
      },
      "message": "Specify C++11 in code guidelines.\n\nThe Google style guide had been updated to say \"Currently, code should target C++17\", which, while a cause for celebration, doesn\u0027t work so well with all the compilers we want to target, AIUI. So let\u0027s specify the language revision separately."
    },
    {
      "commit": "1aed55d49cc2db2be3ede3240d17eff1f3471c9a",
      "tree": "46b2fc7ebb1d0d4e6914e01418160c812cfa6266",
      "parents": [
        "bf39dbdbfe3bc260edae66b9f7c3c0d9128fd2ae",
        "6c1941d522563db434810c01531f2e003d478cce"
      ],
      "author": {
        "name": "Matthew Riley",
        "email": "mdriley@gmail.com",
        "time": "Tue Sep 03 19:37:51 2019 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 03 19:37:51 2019 -0700"
      },
      "message": "Merge pull request #14 from google/mattdr/discussion-link\n\nAdd a \"Questions?\" section to our README"
    },
    {
      "commit": "6c1941d522563db434810c01531f2e003d478cce",
      "tree": "46b2fc7ebb1d0d4e6914e01418160c812cfa6266",
      "parents": [
        "bf39dbdbfe3bc260edae66b9f7c3c0d9128fd2ae"
      ],
      "author": {
        "name": "Matthew Riley",
        "email": "mattdr@google.com",
        "time": "Tue Sep 03 17:01:24 2019 -0700"
      },
      "committer": {
        "name": "Matthew Riley",
        "email": "mattdr@google.com",
        "time": "Tue Sep 03 17:01:24 2019 -0700"
      },
      "message": "Add a \"Questions?\" section to our README\n\nSurface useful entrypoints that were otherwise buried in `CONTRIBUTING.md`.\n"
    },
    {
      "commit": "bf39dbdbfe3bc260edae66b9f7c3c0d9128fd2ae",
      "tree": "7676990e5638aa830cafcac2eea566a64e07fcaf",
      "parents": [
        "bc137d5efdabee3f3a0b1834401d1bed3fc24a6f"
      ],
      "author": {
        "name": "asteinha",
        "email": "35879957+asteinha@users.noreply.github.com",
        "time": "Thu Aug 29 20:28:48 2019 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 29 20:28:48 2019 -0700"
      },
      "message": "Instructions for the Meltdown execution. (#8)\n\n"
    },
    {
      "commit": "bc137d5efdabee3f3a0b1834401d1bed3fc24a6f",
      "tree": "5bfc692f408cf96d5fea721909fe32f94e3331d3",
      "parents": [
        "d36b01c281dcd404b68603014608c93f1084b4af",
        "babe52d6759211b39fc50c656441eef9c282e186"
      ],
      "author": {
        "name": "Matthew Riley",
        "email": "mdriley@gmail.com",
        "time": "Thu Aug 29 16:08:36 2019 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 29 16:08:36 2019 -0700"
      },
      "message": "Merge pull request #6 from google/mattdr/safeside-discuss\n\nAdd link to safeside-discuss group"
    },
    {
      "commit": "d36b01c281dcd404b68603014608c93f1084b4af",
      "tree": "434f264cd2d113fe9680704fdc1c201bba608d37",
      "parents": [
        "e0e1d5f6f044ef86b17dbf7be08e1912734a63af"
      ],
      "author": {
        "name": "asteinha",
        "email": "35879957+asteinha@users.noreply.github.com",
        "time": "Thu Aug 29 16:05:13 2019 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 29 16:05:13 2019 -0700"
      },
      "message": "Fixing preprocessor directives format and a typo. (#3)\n\nKeyword or is not accepted by older versions of MSVC (e.g. 19.00.23506)."
    },
    {
      "commit": "babe52d6759211b39fc50c656441eef9c282e186",
      "tree": "28939e2e577ce53f07894ef57bf50645ac443840",
      "parents": [
        "e0e1d5f6f044ef86b17dbf7be08e1912734a63af"
      ],
      "author": {
        "name": "Matthew Riley",
        "email": "mattdr@google.com",
        "time": "Thu Aug 29 15:53:45 2019 -0700"
      },
      "committer": {
        "name": "Matthew Riley",
        "email": "mattdr@google.com",
        "time": "Thu Aug 29 15:53:45 2019 -0700"
      },
      "message": "Add link to safeside-discuss group\n"
    },
    {
      "commit": "e0e1d5f6f044ef86b17dbf7be08e1912734a63af",
      "tree": "e3715797ff6e89db056b1b0d2c9930c2019396d7",
      "parents": [
        "f3ada15a5bc153fc4659cba76d4079f374edd11e",
        "0b4ab8d5f1334e9800ebaa89306044b159823163"
      ],
      "author": {
        "name": "Matthew Riley",
        "email": "mdriley@gmail.com",
        "time": "Thu Aug 29 13:55:06 2019 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 29 13:55:06 2019 -0700"
      },
      "message": "Merge pull request #4 from google/mattdr/issues-link\n\nReplace TODO with link to file an issue"
    },
    {
      "commit": "0b4ab8d5f1334e9800ebaa89306044b159823163",
      "tree": "e3715797ff6e89db056b1b0d2c9930c2019396d7",
      "parents": [
        "f3ada15a5bc153fc4659cba76d4079f374edd11e"
      ],
      "author": {
        "name": "Matthew Riley",
        "email": "mattdr@google.com",
        "time": "Thu Aug 29 13:24:29 2019 -0700"
      },
      "committer": {
        "name": "Matthew Riley",
        "email": "mattdr@google.com",
        "time": "Thu Aug 29 13:24:29 2019 -0700"
      },
      "message": "Replace TODO with link to file an issue\n"
    },
    {
      "commit": "f3ada15a5bc153fc4659cba76d4079f374edd11e",
      "tree": "532d99397d54dbe876f0da95942cc771daa16dfc",
      "parents": [
        "f16de55051485cb5d74d4c73f95e4f19ac275326",
        "238dd30012642abafa8536899106b83bdd83e1e8"
      ],
      "author": {
        "name": "Matthew Riley",
        "email": "mdriley@gmail.com",
        "time": "Thu Aug 29 13:12:46 2019 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 29 13:12:46 2019 -0700"
      },
      "message": "Merge pull request #2 from google/mattdr/add-links\n\nAdd links to side-channel attack resources"
    },
    {
      "commit": "238dd30012642abafa8536899106b83bdd83e1e8",
      "tree": "532d99397d54dbe876f0da95942cc771daa16dfc",
      "parents": [
        "f16de55051485cb5d74d4c73f95e4f19ac275326"
      ],
      "author": {
        "name": "Matthew Riley",
        "email": "mattdr@google.com",
        "time": "Thu Aug 29 11:48:43 2019 -0700"
      },
      "committer": {
        "name": "Matthew Riley",
        "email": "mattdr@google.com",
        "time": "Thu Aug 29 11:48:43 2019 -0700"
      },
      "message": "Add links to side-channel attack resources\n\nI want to expand this into a better reference, but it seems like there\u0027s\nvalue in starting with a comprehensive list of links.\n"
    },
    {
      "commit": "f16de55051485cb5d74d4c73f95e4f19ac275326",
      "tree": "0c67f6300cb079b1da9194db478a84c3c32a19e7",
      "parents": [
        "c33304c888d7f6cdc86293ce827ff5807738c0ab"
      ],
      "author": {
        "name": "asteinha",
        "email": "35879957+asteinha@users.noreply.github.com",
        "time": "Wed Aug 28 16:41:20 2019 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 28 16:41:20 2019 -0700"
      },
      "message": "Code-health fixes. (#1)\n\nFixing TODOs, -Wextra warnings and removing C-style casting."
    },
    {
      "commit": "c33304c888d7f6cdc86293ce827ff5807738c0ab",
      "tree": "96e34c36a6d26ceed7f28f9e1d000de70d70aed9",
      "parents": [
        "f2cd0099eb3c05b0cc58b3ab3d5644323c9733fd"
      ],
      "author": {
        "name": "Anthony Steinhauser",
        "email": "asteinhauser@google.com",
        "time": "Tue Aug 20 10:38:23 2019 -0700"
      },
      "committer": {
        "name": "Matthew Riley",
        "email": "mattdr@google.com",
        "time": "Wed Aug 28 13:09:47 2019 -0700"
      },
      "message": "Alternative Spectre v1 using virtual methods and indirect jumps.\n\nWorks on all our platforms and compilers. On some it requires\ncompilation with -O2 or -O3. Can be mitigated either by retpolines\nor by SLH.\n\nChange-Id: I7a8bcaea7a735f7a78e362a429804adda763707e\n"
    },
    {
      "commit": "f2cd0099eb3c05b0cc58b3ab3d5644323c9733fd",
      "tree": "676ee636497ccc68bb3e78d765ae2436dba60e55",
      "parents": [
        "d348c64000072af8051877a34b6912a181611d89"
      ],
      "author": {
        "name": "Matthew Riley",
        "email": "mattdr@google.com",
        "time": "Tue Aug 20 14:27:26 2019 -0700"
      },
      "committer": {
        "name": "Matthew Riley",
        "email": "mattdr@google.com",
        "time": "Wed Aug 28 13:09:47 2019 -0700"
      },
      "message": "Update prose\n\nChange-Id: I17dbcc7bb76c4bf3f6b9bf51fd74ef9b74a8070f\n"
    },
    {
      "commit": "d348c64000072af8051877a34b6912a181611d89",
      "tree": "adce997b0b0554bc64bee6a1421e4b8300e07f1d",
      "parents": [
        "ce0f6b0cd34489e75d0d3cebf4310dc47feed786"
      ],
      "author": {
        "name": "Anthony Steinhauser",
        "email": "asteinhauser@google.com",
        "time": "Sun Aug 18 02:06:47 2019 -0700"
      },
      "committer": {
        "name": "Matthew Riley",
        "email": "mattdr@google.com",
        "time": "Wed Aug 28 13:09:47 2019 -0700"
      },
      "message": "Meltdown for Linux prototype.\n\nTested on Google Cloud and physical machine. Main advancement is loading the\nkernel memory into the cache each time before speculatively accessing it.\nCurrently works only on ia32 and amd64.\nMain author of the kernel module in the third_party directory is Matthew Riley.\n\nChange-Id: I97e493016b7e4afaa84dbda75a2d3854a5a90cba\n"
    },
    {
      "commit": "ce0f6b0cd34489e75d0d3cebf4310dc47feed786",
      "tree": "930ec20e97118e85c54bcc2244420dc9ed93858f",
      "parents": [
        "4816cd3284a3275f56e58c6b18618455087f93bb"
      ],
      "author": {
        "name": "Anthony Steinhauser",
        "email": "asteinhauser@google.com",
        "time": "Wed Aug 07 19:24:32 2019 -0700"
      },
      "committer": {
        "name": "Matthew Riley",
        "email": "mattdr@google.com",
        "time": "Wed Aug 28 13:09:47 2019 -0700"
      },
      "message": "Adding TODO for ARM deflaking.\n\nChange-Id: Icd2da3cabef52178991b8bf400643988e8e47d50\n"
    },
    {
      "commit": "4816cd3284a3275f56e58c6b18618455087f93bb",
      "tree": "3d8cc7f3c72db30dadfdb37743ba6c8b323e39ff",
      "parents": [
        "95f57e63fb8f9d90424a902a362405afdbbb1b6a"
      ],
      "author": {
        "name": "Anthony Steinhauser",
        "email": "asteinhauser@google.com",
        "time": "Wed Aug 07 15:19:22 2019 -0700"
      },
      "committer": {
        "name": "Matthew Riley",
        "email": "mattdr@google.com",
        "time": "Wed Aug 28 13:09:47 2019 -0700"
      },
      "message": "Remove quotes in an #error directive.\n\nChange-Id: Iaca724695ed13992be285c549325d0cd551907f6\n"
    },
    {
      "commit": "95f57e63fb8f9d90424a902a362405afdbbb1b6a",
      "tree": "4380195a02aa40a37e4ddab2ee7dc6bc468ad9c7",
      "parents": [
        "a2b458297dd57a675496a9f237bc1ef0f6793dae"
      ],
      "author": {
        "name": "Devin Jeanpierre",
        "email": "jeanpierreda@google.com",
        "time": "Wed Aug 07 14:53:19 2019 -0700"
      },
      "committer": {
        "name": "Matthew Riley",
        "email": "mattdr@google.com",
        "time": "Wed Aug 28 13:09:47 2019 -0700"
      },
      "message": "Move all source files into a subdirectory to try to keep things somewhat separated.\n\nWe may want to alter the directory structure further (e.g. separate out spectre_* -- the actual runnable demonstrations -- from instr and cache_sidechannel and so on), but this is a decent first step.\n\nThe name \"demos\" was picked arbitrarily -- I don\u0027t generally see \"demonstrations\" used as a word, and \"examples\" seems to imply to me that they are examples of use of an API, instead of examples of Spectre and so on.\n\nChange-Id: Idd62f6ee9455eb5f80b3c454cbcf7201f49142e0\n"
    },
    {
      "commit": "a2b458297dd57a675496a9f237bc1ef0f6793dae",
      "tree": "cfd7ff034119fa9715092a102169f650fddb2f02",
      "parents": [
        "3133f159026f6bbb5680aec3ac0abecb24a60690"
      ],
      "author": {
        "name": "Devin Jeanpierre",
        "email": "jeanpierreda@google.com",
        "time": "Tue Aug 06 18:16:08 2019 -0700"
      },
      "committer": {
        "name": "Matthew Riley",
        "email": "mattdr@google.com",
        "time": "Wed Aug 28 13:09:47 2019 -0700"
      },
      "message": "Clean up minor style issues in CacheSideChannel.\n\nCopy/move: go/cstyle#Copyable_Movable_Types\nLocation of the class comment: go/cstyle#Class_Comments\n\nChange-Id: I74a978f3fbfe87ec6c233c4987063e522f8f2578\n"
    },
    {
      "commit": "3133f159026f6bbb5680aec3ac0abecb24a60690",
      "tree": "08823633a4863b46b0e26bb74b15b1b4859b1e8a",
      "parents": [
        "550545f003d48e077d59d6f3a29c2c89ba458095"
      ],
      "author": {
        "name": "Anthony Steinhauser",
        "email": "asteinhauser@google.com",
        "time": "Mon Aug 05 16:28:45 2019 -0700"
      },
      "committer": {
        "name": "Matthew Riley",
        "email": "mattdr@google.com",
        "time": "Wed Aug 28 13:09:47 2019 -0700"
      },
      "message": "Prototype version of Speculative store bypass.\n\nWorks under Intel and AMD. Untested under ARM and PowerPC.\n\nChange-Id: I68ade12926c8d3d6baa5afdd20e9b40c40e6b456\n"
    },
    {
      "commit": "550545f003d48e077d59d6f3a29c2c89ba458095",
      "tree": "170ea34db49829c459198d1e74e5cebb894c78b9",
      "parents": [
        "11c45fa93893d207905c900d8054395b66846a8a"
      ],
      "author": {
        "name": "Matthew Riley",
        "email": "mattdr@google.com",
        "time": "Mon Aug 05 16:28:45 2019 -0700"
      },
      "committer": {
        "name": "Matthew Riley",
        "email": "mattdr@google.com",
        "time": "Wed Aug 28 13:09:47 2019 -0700"
      },
      "message": "Add a .clang-format config\n\nAlso checking in changes made by\n`clang-format -i *.cc *.h`\n\nAt some point we\u0027ll want this as a git hook, build step, etc. but at least\nhaving the config checked in is a good start.\n\nChange-Id: I6dce8c6560b267f45c310d5ab08b81800d1518fb\n"
    },
    {
      "commit": "11c45fa93893d207905c900d8054395b66846a8a",
      "tree": "bbc1152ab14c4a42695f83bfdef70413ea2d21a6",
      "parents": [
        "eaa26ba4a95865cf4cf473d8245722d92aa31845"
      ],
      "author": {
        "name": "Anthony Steinhauser",
        "email": "asteinhauser@google.com",
        "time": "Fri Jul 19 16:34:21 2019 -0700"
      },
      "committer": {
        "name": "Matthew Riley",
        "email": "mattdr@google.com",
        "time": "Wed Aug 28 13:09:47 2019 -0700"
      },
      "message": "AMD, ARM and PowerPC tested support. Refactoring.\n\nSupport for AMD Ryzen 5 PRO 2400G.\nFixing deprecating or incorrect comments and proposing changes of others.\nPreparing the infrastructure for architecturally dependent parts of the implementation.\nAdding ARMv8 and PowerPC implementations that work on David Jones workstations.\n\nChange-Id: Ic532b59a9461f935032ec963843082f0d59fcde3\n"
    },
    {
      "commit": "eaa26ba4a95865cf4cf473d8245722d92aa31845",
      "tree": "84914369c153c3176638f1f523c0a01e48d1cdcd",
      "parents": [
        "44b1b46643a4c04e9cbc1962b129f3e9aadb7567"
      ],
      "author": {
        "name": "Anthony Steinhauser",
        "email": "asteinhauser@google.com",
        "time": "Wed Jul 17 16:36:29 2019 -0700"
      },
      "committer": {
        "name": "Matthew Riley",
        "email": "mattdr@google.com",
        "time": "Wed Aug 28 13:09:47 2019 -0700"
      },
      "message": "Increasing the speculative loop to 2048 to beat the branch-predictor.\nReplacing the ternary operator with arithmetics for the unoptimized version.\nReverting back to RDSTC, because RDTSCP is not supported on older CPUs.\n\nChange-Id: Ic6fff3f7dfeb09c875397d45eca1661f289ff258\n"
    },
    {
      "commit": "44b1b46643a4c04e9cbc1962b129f3e9aadb7567",
      "tree": "7461bc30d5f5addf43aad607a1e95b2b1af5e33a",
      "parents": [
        "f0b1fc5b60f127cd56dc70dcd21863d952c4f699"
      ],
      "author": {
        "name": "Anthony Steinhauser",
        "email": "asteinhauser@google.com",
        "time": "Wed Jul 10 16:00:49 2019 -0700"
      },
      "committer": {
        "name": "Matthew Riley",
        "email": "mattdr@google.com",
        "time": "Wed Aug 28 13:09:47 2019 -0700"
      },
      "message": "Fixing data types along with the bug with a negative offset.\n\nChange-Id: Iacb0589b165c0943cae6eae7eb9dedfa691fbd34\n"
    },
    {
      "commit": "f0b1fc5b60f127cd56dc70dcd21863d952c4f699",
      "tree": "3d11c33495da0e519a667634baf5c1c06d9a5ce2",
      "parents": [
        "bfb3d2b6bb225fa7b249380c512a57ff47bad57b"
      ],
      "author": {
        "name": "Anthony Steinhauser",
        "email": "asteinhauser@google.com",
        "time": "Wed Jul 10 14:40:03 2019 -0700"
      },
      "committer": {
        "name": "Matthew Riley",
        "email": "mattdr@google.com",
        "time": "Wed Aug 28 13:09:47 2019 -0700"
      },
      "message": "Migrating to C++11, using RDTSCP and mean latency instead of average.\n\nChange-Id: I09ae3da784cb2e79c9cb69eb6c151d8fffaf61f4\n"
    },
    {
      "commit": "bfb3d2b6bb225fa7b249380c512a57ff47bad57b",
      "tree": "1ed55fbcee7e4753581baaed62db180df9db2f54",
      "parents": [
        "6dd1f88d5f231fc9c0d0c2a5bc47ffce624a5c15"
      ],
      "author": {
        "name": "Matthew Riley",
        "email": "mattdr@google.com",
        "time": "Wed Jul 10 14:40:53 2019 -0700"
      },
      "committer": {
        "name": "Matthew Riley",
        "email": "mattdr@google.com",
        "time": "Wed Aug 28 13:09:47 2019 -0700"
      },
      "message": "Fix a typo\n\nChange-Id: If0372ac07feda9e09a8d8d08986af3ae670c751d\n"
    },
    {
      "commit": "6dd1f88d5f231fc9c0d0c2a5bc47ffce624a5c15",
      "tree": "7dc3a412eff1c5bcef26b8a4cbf07ad01262e531",
      "parents": [
        "501f9fb1a9c61238d1c989fd406c5aa8dc8a15d4"
      ],
      "author": {
        "name": "Anthony Steinhauser",
        "email": "asteinhauser@google.com",
        "time": "Tue Jul 09 17:02:30 2019 -0700"
      },
      "committer": {
        "name": "Matthew Riley",
        "email": "mattdr@google.com",
        "time": "Wed Aug 28 13:09:47 2019 -0700"
      },
      "message": "Using __rdtsc instead of chrono.\n\nChange-Id: I4fa981c9245c03ee910968f23b50b97f11c3850c\n"
    },
    {
      "commit": "501f9fb1a9c61238d1c989fd406c5aa8dc8a15d4",
      "tree": "b7ee797b95ece07dd84343735c358b43daa58c75",
      "parents": [
        "82dc6c7557f5123368bd8cb710de097d970a3522"
      ],
      "author": {
        "name": "Anthony Steinhauser",
        "email": "asteinhauser@google.com",
        "time": "Tue Jul 09 16:41:23 2019 -0700"
      },
      "committer": {
        "name": "Matthew Riley",
        "email": "mattdr@google.com",
        "time": "Wed Aug 28 13:09:47 2019 -0700"
      },
      "message": "Windows support for x86 instruction headers.\n\nChange-Id: I37266578ba258bf70f1d404478caef8374a66d73\n"
    },
    {
      "commit": "82dc6c7557f5123368bd8cb710de097d970a3522",
      "tree": "6c14a4dd4158cbcc0400adf7ccce0b1cc790abad",
      "parents": [
        "0fdaee98082018aa4a7a4eccd852bac55157af28"
      ],
      "author": {
        "name": "Anthony Steinhauser",
        "email": "asteinhauser@google.com",
        "time": "Thu Jun 27 17:28:38 2019 -0700"
      },
      "committer": {
        "name": "Matthew Riley",
        "email": "mattdr@google.com",
        "time": "Wed Aug 28 13:09:47 2019 -0700"
      },
      "message": "Precomputing the difference between cache-hit and cache-miss.\n\nChange-Id: I689880c01589ea4d29f69badf2fd3e7acf90bbdd\n"
    },
    {
      "commit": "0fdaee98082018aa4a7a4eccd852bac55157af28",
      "tree": "571666f76f02c2de09d8ee224f5ffaf7fa1e3195",
      "parents": [
        "0e583531a9ab3000b4f621a4af442ce2995713c1"
      ],
      "author": {
        "name": "Matthew Riley",
        "email": "mattdr@google.com",
        "time": "Mon Jul 01 14:35:02 2019 -0700"
      },
      "committer": {
        "name": "Matthew Riley",
        "email": "mattdr@google.com",
        "time": "Wed Aug 28 13:09:47 2019 -0700"
      },
      "message": "Explain why we initialize the array\n\nChange-Id: I8550f8acb5196d04cfb4cb31a75fa579fd57512c\n"
    },
    {
      "commit": "0e583531a9ab3000b4f621a4af442ce2995713c1",
      "tree": "43927e6350b21b04f8685a7394e07dcc3db32965",
      "parents": [
        "1ed6af169031d8f16919e89c142bbfba4af9b7d7"
      ],
      "author": {
        "name": "Anthony Steinhauser",
        "email": "asteinhauser@google.com",
        "time": "Tue Jun 25 17:22:03 2019 -0700"
      },
      "committer": {
        "name": "Matthew Riley",
        "email": "mattdr@google.com",
        "time": "Wed Aug 28 13:09:14 2019 -0700"
      },
      "message": "Adding mandatory disclaimer.\n\nhttps://opensource.google.com/docs/releasing/publishing/#disclaimer\n\nChange-Id: I082f60366f7ec07d1fef46897bdf6120aba17b00\n"
    }
  ],
  "next": "1ed6af169031d8f16919e89c142bbfba4af9b7d7"
}
