1 {% from "macros.tmpl" import license %}
6 #include "{{namespace}}{{suffix}}Names.h"
8 #include "wtf/StdLibExtras.h"
11 namespace {{namespace}}Names {
15 const int k{{suffix}}NameCount = {{entries|length}};
17 void* {{suffix}}NamesStorage[k{{suffix}}NameCount * ((sizeof(AtomicString) + sizeof(void *) - 1) / sizeof(void *))];
19 {% for entry in entries|sort(attribute='name', case_sensitive=True) %}
20 {% filter enable_conditional(entry.Conditional) %}
21 const AtomicString& {{entry|symbol}} = reinterpret_cast<AtomicString*>(&{{suffix}}NamesStorage)[{{loop.index0}}];
33 static const NameEntry kNames[] = {
34 {% for entry in entries|sort(attribute='name', case_sensitive=True) %}
35 { "{{entry|cpp_name}}", {{entry|cpp_name|hash}}, {{entry|cpp_name|length}} },
39 for (size_t i = 0; i < WTF_ARRAY_LENGTH(kNames); i++) {
40 StringImpl* stringImpl = StringImpl::createStatic(kNames[i].name, kNames[i].length, kNames[i].hash);
41 void* address = reinterpret_cast<AtomicString*>(&{{suffix}}NamesStorage) + i;
42 new (address) AtomicString(stringImpl);
46 } // {{namespace}}Names