Cheaper thread-safe atomic initialization of static references.

Introduce AtomicallyInitializedStaticReference(Type, name, initializer)
for creating static singletons in a thread-safe manner. Reduce overhead
compared to the previous AtomicallyInitializedStatic() by adding a
double-checked locking scheme around the initialization.

Adopt its use across Blink.

R=jochen,kinuko,haraken,jyasskin
BUG=447370

Review URL: https://codereview.chromium.org/794223003

git-svn-id: svn://svn.chromium.org/blink/trunk@188774 bbb929c8-8fbe-4397-9dbb-9b2b20218538
41 files changed
tree: dcd723405bb61c3d4d4e7f0363ec24bb66a7b90d
  1. third_party/