| Index: src/extensions/statistics-extension.cc
|
| diff --git a/src/extensions/statistics-extension.cc b/src/extensions/statistics-extension.cc
|
| index bb5ee333f67ccbab5998b222a7c6a257b76c1588..2c1f91d399381da6b6b4b474ebe8e384a28e5f41 100644
|
| --- a/src/extensions/statistics-extension.cc
|
| +++ b/src/extensions/statistics-extension.cc
|
| @@ -62,86 +62,81 @@ void StatisticsExtension::GetCounters(
|
| Counters* counters = isolate->counters();
|
| v8::Local<v8::Object> result = v8::Object::New(args.GetIsolate());
|
|
|
| -#define ADD_COUNTER(name, caption) \
|
| - AddCounter(args.GetIsolate(), result, counters->name(), #name);
|
| -
|
| - STATS_COUNTER_LIST_1(ADD_COUNTER)
|
| - STATS_COUNTER_LIST_2(ADD_COUNTER)
|
| + struct StatisticsCounter {
|
| + v8::internal::StatsCounter* counter;
|
| + const char* name;
|
| + };
|
| + const StatisticsCounter counter_list[] = {
|
| +#define ADD_COUNTER(name, caption) \
|
| + { counters->name(), #name } \
|
| + ,
|
| +
|
| + STATS_COUNTER_LIST_1(ADD_COUNTER) STATS_COUNTER_LIST_2(ADD_COUNTER)
|
| #undef ADD_COUNTER
|
| -#define ADD_COUNTER(name) \
|
| - AddCounter(args.GetIsolate(), result, counters->count_of_##name(), \
|
| - "count_of_" #name); \
|
| - AddCounter(args.GetIsolate(), result, counters->size_of_##name(), \
|
| - "size_of_" #name);
|
| +#define ADD_COUNTER(name) \
|
| + { counters->count_of_##name(), "count_of_" #name } \
|
| + , {counters->size_of_##name(), "size_of_" #name},
|
|
|
| - INSTANCE_TYPE_LIST(ADD_COUNTER)
|
| + INSTANCE_TYPE_LIST(ADD_COUNTER)
|
| #undef ADD_COUNTER
|
| -#define ADD_COUNTER(name) \
|
| - AddCounter(args.GetIsolate(), result, counters->count_of_CODE_TYPE_##name(), \
|
| - "count_of_CODE_TYPE_" #name); \
|
| - AddCounter(args.GetIsolate(), result, counters->size_of_CODE_TYPE_##name(), \
|
| - "size_of_CODE_TYPE_" #name);
|
| +#define ADD_COUNTER(name) \
|
| + { counters->count_of_CODE_TYPE_##name(), "count_of_CODE_TYPE_" #name } \
|
| + , {counters->size_of_CODE_TYPE_##name(), "size_of_CODE_TYPE_" #name},
|
|
|
| - CODE_KIND_LIST(ADD_COUNTER)
|
| + CODE_KIND_LIST(ADD_COUNTER)
|
| #undef ADD_COUNTER
|
| -#define ADD_COUNTER(name) \
|
| - AddCounter(args.GetIsolate(), result, \
|
| - counters->count_of_FIXED_ARRAY_##name(), \
|
| - "count_of_FIXED_ARRAY_" #name); \
|
| - AddCounter(args.GetIsolate(), result, \
|
| - counters->size_of_FIXED_ARRAY_##name(), \
|
| - "size_of_FIXED_ARRAY_" #name);
|
| -
|
| - FIXED_ARRAY_SUB_INSTANCE_TYPE_LIST(ADD_COUNTER)
|
| +#define ADD_COUNTER(name) \
|
| + { counters->count_of_FIXED_ARRAY_##name(), "count_of_FIXED_ARRAY_" #name } \
|
| + , {counters->size_of_FIXED_ARRAY_##name(), "size_of_FIXED_ARRAY_" #name},
|
| +
|
| + FIXED_ARRAY_SUB_INSTANCE_TYPE_LIST(ADD_COUNTER)
|
| #undef ADD_COUNTER
|
| + }; // End counter_list array.
|
| +
|
| + for (size_t i = 0; i < arraysize(counter_list); i++) {
|
| + AddCounter(args.GetIsolate(), result, counter_list[i].counter,
|
| + counter_list[i].name);
|
| + }
|
| +
|
| + struct StatisticNumber {
|
| + intptr_t number;
|
| + const char* name;
|
| + };
|
| +
|
| + const StatisticNumber numbers[] = {
|
| + {isolate->memory_allocator()->Size(), "total_committed_bytes"},
|
| + {heap->new_space()->Size(), "new_space_live_bytes"},
|
| + {heap->new_space()->Available(), "new_space_available_bytes"},
|
| + {heap->new_space()->CommittedMemory(), "new_space_commited_bytes"},
|
| + {heap->old_pointer_space()->Size(), "old_pointer_space_live_bytes"},
|
| + {heap->old_pointer_space()->Available(),
|
| + "old_pointer_space_available_bytes"},
|
| + {heap->old_pointer_space()->CommittedMemory(),
|
| + "old_pointer_space_commited_bytes"},
|
| + {heap->old_data_space()->Size(), "old_data_space_live_bytes"},
|
| + {heap->old_data_space()->Available(), "old_data_space_available_bytes"},
|
| + {heap->old_data_space()->CommittedMemory(),
|
| + "old_data_space_commited_bytes"},
|
| + {heap->code_space()->Size(), "code_space_live_bytes"},
|
| + {heap->code_space()->Available(), "code_space_available_bytes"},
|
| + {heap->code_space()->CommittedMemory(), "code_space_commited_bytes"},
|
| + {heap->cell_space()->Size(), "cell_space_live_bytes"},
|
| + {heap->cell_space()->Available(), "cell_space_available_bytes"},
|
| + {heap->cell_space()->CommittedMemory(), "cell_space_commited_bytes"},
|
| + {heap->property_cell_space()->Size(), "property_cell_space_live_bytes"},
|
| + {heap->property_cell_space()->Available(),
|
| + "property_cell_space_available_bytes"},
|
| + {heap->property_cell_space()->CommittedMemory(),
|
| + "property_cell_space_commited_bytes"},
|
| + {heap->lo_space()->Size(), "lo_space_live_bytes"},
|
| + {heap->lo_space()->Available(), "lo_space_available_bytes"},
|
| + {heap->lo_space()->CommittedMemory(), "lo_space_commited_bytes"},
|
| + };
|
| +
|
| + for (size_t i = 0; i < arraysize(numbers); i++) {
|
| + AddNumber(args.GetIsolate(), result, numbers[i].number, numbers[i].name);
|
| + }
|
|
|
| - AddNumber(args.GetIsolate(), result, isolate->memory_allocator()->Size(),
|
| - "total_committed_bytes");
|
| - AddNumber(args.GetIsolate(), result, heap->new_space()->Size(),
|
| - "new_space_live_bytes");
|
| - AddNumber(args.GetIsolate(), result, heap->new_space()->Available(),
|
| - "new_space_available_bytes");
|
| - AddNumber(args.GetIsolate(), result, heap->new_space()->CommittedMemory(),
|
| - "new_space_commited_bytes");
|
| - AddNumber(args.GetIsolate(), result, heap->old_pointer_space()->Size(),
|
| - "old_pointer_space_live_bytes");
|
| - AddNumber(args.GetIsolate(), result, heap->old_pointer_space()->Available(),
|
| - "old_pointer_space_available_bytes");
|
| - AddNumber(args.GetIsolate(), result,
|
| - heap->old_pointer_space()->CommittedMemory(),
|
| - "old_pointer_space_commited_bytes");
|
| - AddNumber(args.GetIsolate(), result, heap->old_data_space()->Size(),
|
| - "old_data_space_live_bytes");
|
| - AddNumber(args.GetIsolate(), result, heap->old_data_space()->Available(),
|
| - "old_data_space_available_bytes");
|
| - AddNumber(args.GetIsolate(), result,
|
| - heap->old_data_space()->CommittedMemory(),
|
| - "old_data_space_commited_bytes");
|
| - AddNumber(args.GetIsolate(), result, heap->code_space()->Size(),
|
| - "code_space_live_bytes");
|
| - AddNumber(args.GetIsolate(), result, heap->code_space()->Available(),
|
| - "code_space_available_bytes");
|
| - AddNumber(args.GetIsolate(), result, heap->code_space()->CommittedMemory(),
|
| - "code_space_commited_bytes");
|
| - AddNumber(args.GetIsolate(), result, heap->cell_space()->Size(),
|
| - "cell_space_live_bytes");
|
| - AddNumber(args.GetIsolate(), result, heap->cell_space()->Available(),
|
| - "cell_space_available_bytes");
|
| - AddNumber(args.GetIsolate(), result, heap->cell_space()->CommittedMemory(),
|
| - "cell_space_commited_bytes");
|
| - AddNumber(args.GetIsolate(), result, heap->property_cell_space()->Size(),
|
| - "property_cell_space_live_bytes");
|
| - AddNumber(args.GetIsolate(), result, heap->property_cell_space()->Available(),
|
| - "property_cell_space_available_bytes");
|
| - AddNumber(args.GetIsolate(), result,
|
| - heap->property_cell_space()->CommittedMemory(),
|
| - "property_cell_space_commited_bytes");
|
| - AddNumber(args.GetIsolate(), result, heap->lo_space()->Size(),
|
| - "lo_space_live_bytes");
|
| - AddNumber(args.GetIsolate(), result, heap->lo_space()->Available(),
|
| - "lo_space_available_bytes");
|
| - AddNumber(args.GetIsolate(), result, heap->lo_space()->CommittedMemory(),
|
| - "lo_space_commited_bytes");
|
| AddNumber64(args.GetIsolate(), result,
|
| heap->amount_of_external_allocated_memory(),
|
| "amount_of_external_allocated_memory");
|
|
|