From 6de0fd1d935e8c6c9257f1082dbd227acb1a06b1 Mon Sep 17 00:00:00 2001 From: "joth@chromium.org" Date: Tue, 15 Nov 2011 13:31:49 +0000 Subject: Allow linker initialization of lazy instance Using the initializer list construct = {0} allows the object to be linker initialized. Modify the LazyInstance class design to make it a pod aggregate type that can be linker initialized this way. Also combines the instance and state members, in line with the Singleton<> class design. Introduces a new LAZY_INSTANCE_INITIALIZER macro specifically for using to init all lazy instances + modify all existing callsites to use it. (Old code would no longer compile) BUG=94925 TEST=existing tests pass. http://build.chromium.org/f/chromium/perf/linux-release/sizes/report.html?history=150&header=chrome-si&graph=chrome-si&rev=-1 should step downward. TBR=jam@chromium.org,rvargas@chromium.org,darin@chromium.org,ben@chromium.org,apatrick@chromium.org,akalin@chromium.org Review URL: http://codereview.chromium.org/8491043 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110076 0039d316-1c4b-4281-b951-d872f2087c98 --- chrome/browser/extensions/extension_omnibox_api.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'chrome/browser/extensions/extension_omnibox_api.cc') diff --git a/chrome/browser/extensions/extension_omnibox_api.cc b/chrome/browser/extensions/extension_omnibox_api.cc index 1590927b..300333e 100644 --- a/chrome/browser/extensions/extension_omnibox_api.cc +++ b/chrome/browser/extensions/extension_omnibox_api.cc @@ -41,7 +41,8 @@ const char kDescriptionStylesOffset[] = "offset"; const char kDescriptionStylesLength[] = "length"; static base::LazyInstance > - g_extension_omnibox_suggestion_property_accessor(base::LINKER_INITIALIZED); + g_extension_omnibox_suggestion_property_accessor = + LAZY_INSTANCE_INITIALIZER; PropertyAccessor& GetPropertyAccessor() { return g_extension_omnibox_suggestion_property_accessor.Get(); -- cgit v1.1