@@ -37,20 +37,18 @@ void IsolateObjectStore::PrintToJSONObject(JSONObject* jsobj) {
3737 JSONObject fields (jsobj, " fields" );
3838 Object& value = Object::Handle ();
3939
40- static const char * const names[] = {
41- #define EMIT_FIELD_NAME (type, name ) #name " _" ,
40+ // A strtab is smaller than an array of strings.
41+ static const char * const names = " "
42+ #define EMIT_FIELD_NAME (type, name ) #name " _\0 "
4243 ISOLATE_OBJECT_STORE_FIELD_LIST (EMIT_FIELD_NAME, EMIT_FIELD_NAME)
4344#undef EMIT_FIELD_NAME
44- };
45- ObjectPtr* current = from ();
46- intptr_t i = 0 ;
47- while (current <= to ()) {
45+ ; // NOLINT
46+ const char * name = names;
47+ for (ObjectPtr* current = from (); current <= to (); current++) {
4848 value = *current;
49- fields.AddProperty (names[i], value);
50- current++;
51- i++;
49+ fields.AddProperty (name, value);
50+ name += strlen (name) + 1 ;
5251 }
53- ASSERT (i == ARRAY_SIZE (names));
5452 }
5553}
5654#endif // !PRODUCT
@@ -109,23 +107,21 @@ void ObjectStore::PrintToJSONObject(JSONObject* jsobj) {
109107 {
110108 JSONObject fields (jsobj, " fields" );
111109 Object& value = Object::Handle ();
112- static const char * const names[] = {
113- #define EMIT_FIELD_NAME (type, name ) #name " _" ,
110+ // A strtab is smaller than an array of strings.
111+ static const char * const names = " "
112+ #define EMIT_FIELD_NAME (type, name ) #name " _\0 "
114113 OBJECT_STORE_FIELD_LIST (
115114 EMIT_FIELD_NAME, EMIT_FIELD_NAME, EMIT_FIELD_NAME, EMIT_FIELD_NAME,
116115 EMIT_FIELD_NAME, EMIT_FIELD_NAME, EMIT_FIELD_NAME, EMIT_FIELD_NAME,
117116 EMIT_FIELD_NAME)
118117#undef EMIT_FIELD_NAME
119- };
120- ObjectPtr* current = from ();
121- intptr_t i = 0 ;
122- while (current <= to ()) {
118+ ; // NOLINT
119+ const char * name = names;
120+ for (ObjectPtr* current = from (); current <= to (); current++) {
123121 value = *current;
124- fields.AddProperty (names[i], value);
125- current++;
126- i++;
122+ fields.AddProperty (name, value);
123+ name += strlen (name) + 1 ;
127124 }
128- ASSERT (i == ARRAY_SIZE (names));
129125 }
130126}
131127#endif // !PRODUCT
0 commit comments