Make a static non-POD object a static raw pointer instead.
authormikhail.naganov@gmail.com <mikhail.naganov@gmail.com@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Fri, 2 Sep 2011 16:46:35 +0000 (16:46 +0000)
committermikhail.naganov@gmail.com <mikhail.naganov@gmail.com@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Fri, 2 Sep 2011 16:46:35 +0000 (16:46 +0000)
Change it to a plain static pointer and initialize lazy.

BUG=83856
TEST=None

R=ager@chromium.org,mnaganov@chromium.org

Signed-off-by: Thiago Farina <tfarina@chromium.org>
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9120 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

src/extensions/externalize-string-extension.cc

index b3f83fe98dfdb9f5d6183d3585345cc44f6487c4..9fbf3298189acdace28f175af3f855b5ae13bd68 100644 (file)
@@ -133,9 +133,11 @@ v8::Handle<v8::Value> ExternalizeStringExtension::IsAscii(
 
 
 void ExternalizeStringExtension::Register() {
-  static ExternalizeStringExtension externalize_extension;
+  static ExternalizeStringExtension* externalize_extension = NULL;
+  if (externalize_extension == NULL)
+    externalize_extension = new ExternalizeStringExtension;
   static v8::DeclareExtension externalize_extension_declaration(
-      &externalize_extension);
+      externalize_extension);
 }
 
 } }  // namespace v8::internal