Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(221)

Unified Diff: Source/build/scripts/templates/MakeQualifiedNames.cpp.tmpl

Issue 137783012: MakeQualifiedNames should generate lazily created arrays for attributes and tags. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Patch using PassOwnPtr instead of local arrays. Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | Source/build/scripts/templates/MakeQualifiedNames.h.tmpl » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/build/scripts/templates/MakeQualifiedNames.cpp.tmpl
diff --git a/Source/build/scripts/templates/MakeQualifiedNames.cpp.tmpl b/Source/build/scripts/templates/MakeQualifiedNames.cpp.tmpl
index e6ff66955bfff4326bb67f4bfa05baa0da80727e..e652c464c9ec772094204726ce3680d5cb44b0bb 100644
--- a/Source/build/scripts/templates/MakeQualifiedNames.cpp.tmpl
+++ b/Source/build/scripts/templates/MakeQualifiedNames.cpp.tmpl
@@ -28,14 +28,13 @@ DEFINE_GLOBAL(QualifiedName, {{tag|symbol}}Tag)
{%- endfor %}
-const WebCore::QualifiedName* const* get{{namespace}}Tags()
+PassOwnPtr<const QualifiedName*[]> get{{namespace}}Tags()
{
- static const WebCore::QualifiedName* const {{namespace}}Tags[] = {
+ const QualifiedName** tags = new const QualifiedName*[{{namespace}}TagsCount];
Inactive 2014/01/16 14:37:47 We usually adopt as soon as we allocate.
{%- for tag in tags|sort %}
- (WebCore::QualifiedName*)&{{tag|symbol}}Tag,
+ tags[{{loop.index0}}] = (WebCore::QualifiedName*)&{{tag|symbol}}Tag;
{%- endfor %}
- };
- return {{namespace}}Tags;
+ return adoptArrayPtr(tags);
Inactive 2014/01/16 14:37:47 Then release() when returning.
}
{%- endif %}
@@ -45,14 +44,13 @@ const WebCore::QualifiedName* const* get{{namespace}}Tags()
DEFINE_GLOBAL(QualifiedName, {{attr|symbol}}Attr)
{%- endfor %}
-const WebCore::QualifiedName* const* get{{namespace}}Attrs()
+PassOwnPtr<const QualifiedName*[]> get{{namespace}}Attrs()
{
- static const WebCore::QualifiedName* const {{namespace}}Attrs[] = {
+ const QualifiedName** attrs = new const QualifiedName*[{{namespace}}AttrsCount];
Inactive 2014/01/16 14:37:47 Ditto.
{%- for attr in attrs|sort %}
- (WebCore::QualifiedName*)&{{attr|symbol}}Attr,
+ attrs[{{loop.index0}}] = (WebCore::QualifiedName*)&{{attr|symbol}}Attr;
{%- endfor %}
- };
- return {{namespace}}Attrs;
+ return adoptArrayPtr(attrs);
}
void init()
« no previous file with comments | « no previous file | Source/build/scripts/templates/MakeQualifiedNames.h.tmpl » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698