)]}'
{
  "commit": "5ed77665c4d697f657fa1362b5a482450f858cdc",
  "tree": "85ce8fd99e4e0418b1d48c14611dc4b0a1e7ec73",
  "parents": [
    "c5a424a2a21005660b182516eb7a079cd8021699"
  ],
  "author": {
    "name": "Abseil Team",
    "email": "absl-team@google.com",
    "time": "Mon Mar 14 08:43:59 2022 -0700"
  },
  "committer": {
    "name": "Andy Getz",
    "email": "durandal@google.com",
    "time": "Mon Mar 14 12:14:03 2022 -0400"
  },
  "message": "Export of internal Abseil changes\n\n--\nd3b99682554d339c42556680f4d65f83226005e2 by Martijn Vels \u003cmvels@google.com\u003e:\n\nInline CycleClock code and remove branch for x86 CycleClockSource function\n\nThis CL removes the relaxed load for x86 as there is no acquire price to pay on x86. It inlines the UnscaledCycleClock::Now() which is a single RTDSC op for x86, and likewise inlines CycleClock::Now() for x86. The inlining should mostly have secondary benefits such as reducing spills on outlined calls.\n\nLTO may eventually hoist these functions inline for the hotspots, but it doesn\u0027t hurt to default inline this for all builds and let the compiler decide on the first pass.\n\nThe perlab benchmark is noisy for the plain BM_Now, but the other benchmarks and the run on my local machine are clear.\n\n------------- Local Benchy Benchmark\nname                       old cpu/op  new cpu/op  delta\nBM_Now                     3.41ns ± 1%  2.30ns ± 2%  -32.52%  (p\u003d0.000 n\u003d50+50)\nBM_NowWithRegisterPresure  4.96ns ± 2%  4.19ns ± 2%  -15.57%  (p\u003d0.000 n\u003d56+55)\nBM_NowWithCallback         3.30ns ± 2%  1.91ns ± 2%  -42.00%  (p\u003d0.000 n\u003d47+60)\n\n------------- Perflab Benchy Benchmark\nname                       old cpu/op  new cpu/op  delta\nBM_Now                     8.20ns ±13%  4.32ns ±83%     ~     (p\u003d0.413 n\u003d4+5)\nBM_NowWithRegisterPresure  7.91ns ± 1%  3.68ns ± 2%  -53.45%  (p\u003d0.029 n\u003d4+4)\nBM_NowWithCallback         2.66ns ±13%  1.58ns ± 0%  -40.51%  (p\u003d0.008 n\u003d5+5)\n\nPiperOrigin-RevId: 434474766\nChange-Id: I991d987ae9233e50f09606c874055cf4c5a56300\n\n--\nb38330686a0af176a2679163e4d2fa1b90e2f667 by Laramie Leavitt \u003clar@google.com\u003e:\n\nStyle, comment, and test updates\n\n* Remove a redundant assert in uniform_real_distribution.\n* Update comment in internal/generate_real.h\n* Style updates to uniform_real_distribution_test\n   mainly replacing TypeParam with real_type, using aliases for some limits, etc.\n* Add a few more minor tests.\n\nPiperOrigin-RevId: 433902174\nChange-Id: Id75be8e24be2fb8f6aea05feec13e3ef320a7254\n\n--\nab2da6047ff7f5dae3add3779fcddf73b03feabf by Abseil Team \u003cabsl-team@google.com\u003e:\n\nRemove declaration of method whose definition was previously removed.\n\nPiperOrigin-RevId: 433507828\nChange-Id: I0130b689813125250f7de2664e767e181f676c89\n\n--\ndf0c87f4ec2c010691931c1bef9d26470a6e63a2 by Derek Mauro \u003cdmauro@google.com\u003e:\n\nInternal change\n\nPiperOrigin-RevId: 433289136\nChange-Id: Iba157dc83ed99dafd17a2223d2504e49f8afbb9e\n\n--\n7445fa312f2995772900eda82467325b3401a17d by Martijn Vels \u003cmvels@google.com\u003e:\n\nOptimize CordReader logic now that CONCAT is removed\n\nThis CL cleans up various helper functions and logic remaining from previous complex CONCAT logic that is no longer needed, simplifying the CordReader logic.\n\nPiperOrigin-RevId: 433208748\nChange-Id: I5f7b1883573c44e7c6f8af12c3cddbd197cb134d\nGitOrigin-RevId: d3b99682554d339c42556680f4d65f83226005e2\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "cd7781c0000e653f84a51b4c1d679916e077017f",
      "old_mode": 33188,
      "old_path": "absl/base/config.h",
      "new_id": "8c100d8e49bb2f8c599e86fcc7f17456ad53f158",
      "new_mode": 33188,
      "new_path": "absl/base/config.h"
    },
    {
      "type": "modify",
      "old_id": "0e65005b8914eb1ef65047f83a4f2c6420cb18fd",
      "old_mode": 33188,
      "old_path": "absl/base/internal/cycleclock.cc",
      "new_id": "f6e642429084071892f93f4a58af39437ec65161",
      "new_mode": 33188,
      "new_path": "absl/base/internal/cycleclock.cc"
    },
    {
      "type": "modify",
      "old_id": "a18b58444560f839d7669f6204930371631aa121",
      "old_mode": 33188,
      "old_path": "absl/base/internal/cycleclock.h",
      "new_id": "9704e388f0172589374969375176e3c8c85ee312",
      "new_mode": 33188,
      "new_path": "absl/base/internal/cycleclock.h"
    },
    {
      "type": "modify",
      "old_id": "4d352bd110079e3ecbb6900c9b2b78178085f24a",
      "old_mode": 33188,
      "old_path": "absl/base/internal/unscaledcycleclock.cc",
      "new_id": "7b79d19e7a4a6392c0a7ed13c72b8cd5f74b6696",
      "new_mode": 33188,
      "new_path": "absl/base/internal/unscaledcycleclock.cc"
    },
    {
      "type": "modify",
      "old_id": "681ff8f996478100211e3e1bd11741bfa02a8e19",
      "old_mode": 33188,
      "old_path": "absl/base/internal/unscaledcycleclock.h",
      "new_id": "07f867a6e3d51648d940763066b8407378a4a22b",
      "new_mode": 33188,
      "new_path": "absl/base/internal/unscaledcycleclock.h"
    },
    {
      "type": "modify",
      "old_id": "d5fbb44c243de66d3058bcf61e958205931be44e",
      "old_mode": 33188,
      "old_path": "absl/random/internal/generate_real.h",
      "new_id": "b569450cf73310a95c5ae1d169fdd00c9b2e3c6a",
      "new_mode": 33188,
      "new_path": "absl/random/internal/generate_real.h"
    },
    {
      "type": "modify",
      "old_id": "5ba17b2341cfb0b0465c75e4520131dfdacc63b4",
      "old_mode": 33188,
      "old_path": "absl/random/uniform_real_distribution.h",
      "new_id": "196833415e86c33f335dc778d1f020762d31311e",
      "new_mode": 33188,
      "new_path": "absl/random/uniform_real_distribution.h"
    },
    {
      "type": "modify",
      "old_id": "035bd284d18fb46e772643132ac21f38ec999719",
      "old_mode": 33188,
      "old_path": "absl/random/uniform_real_distribution_test.cc",
      "new_id": "07f199d34cd1f2157f0b68003c214966f4b1307d",
      "new_mode": 33188,
      "new_path": "absl/random/uniform_real_distribution_test.cc"
    },
    {
      "type": "modify",
      "old_id": "2d003ce6c06da7a546e77d02689283070fdccad9",
      "old_mode": 33188,
      "old_path": "absl/status/status.h",
      "new_id": "193db8d87d59bd1b5b0c23ee1f2fbbcc743e33d4",
      "new_mode": 33188,
      "new_path": "absl/status/status.h"
    },
    {
      "type": "modify",
      "old_id": "081b6311e8a4b8fe1c417035214c923990b5b456",
      "old_mode": 33188,
      "old_path": "absl/strings/cord.h",
      "new_id": "5ad4ea0c6b1c246663c0e073c6568d1e7755b1c7",
      "new_mode": 33188,
      "new_path": "absl/strings/cord.h"
    }
  ]
}
