about summary refs log tree commit diff
path: root/absl/base/call_once.h
diff options
context:
space:
mode:
authorAbseil Team <absl-team@google.com>2018-02-09T19·56-0800
committerDaniel Katz <katzdm@google.com>2018-02-09T20·09+0000
commit0dc82b9d55e1616c1745d05973d40c9901903cc9 (patch)
tree9eaf6866f9625dcaac4c07790fbc06ff3fc099cf /absl/base/call_once.h
parent4791df7d1ac966e6c7abdeffafa5030d718500df (diff)
Changes imported from Abseil "staging" branch:
  - a0405e7870a80a9dbc6784b06795e7df5a8c90f5 Internal change by Daniel Katz <katzdm@google.com>
  - 2888fe17796d7afa45f4b6ca7eb8e88f52739c39 StrCat: Support zero-padding and space-padding for decima... by Jorg Brown <jorg@google.com>
  - feebc521195241783730df9700394f6585550ff2 Merge GitHub PR #91. by Derek Mauro <dmauro@google.com>
  - e8164335efefb7335f407c17a16fce2ba4f24e3e This changes the value base_internal::kOnceDone from 32-b... by Abseil Team <absl-team@google.com>
  - 0f6085f3f0ee1d6baf9a558d07a25c2fcde93273 Remove `compliant` field from some type trait structs. by Matt Armstrong <marmstrong@google.com>

GitOrigin-RevId: a0405e7870a80a9dbc6784b06795e7df5a8c90f5
Change-Id: Ic2efd40f6ec35f79a8aa12d4475cbea3150756d7
Diffstat (limited to 'absl/base/call_once.h')
-rw-r--r--absl/base/call_once.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/absl/base/call_once.h b/absl/base/call_once.h
index 5d823a11a013..25c783e5f3e0 100644
--- a/absl/base/call_once.h
+++ b/absl/base/call_once.h
@@ -134,7 +134,10 @@ enum {
   kOnceInit = 0,
   kOnceRunning = 0x65C2937B,
   kOnceWaiter = 0x05A308D2,
-  kOnceDone = 0x3F2D8AB0,
+  // A very small constant is chosen for kOnceDone so that it fit in a single
+  // compare with immediate instruction for most common ISAs.  This is verified
+  // for x86, POWER and ARM.
+  kOnceDone = 221,    // Random Number
 };
 
 template <typename Callable, typename... Args>