69 if (info.Length() > 0) {
70 if (info[0]->IsBoolean() && info[0]->BooleanValue(info.GetIsolate())) {
76 Counters* counters = isolate->counters();
79 heap->FreeMainThreadLinearAllocationAreas();
81 struct StatisticsCounter {
86 const StatisticsCounter counter_list[] = {
87#define ADD_COUNTER(name, caption) {counters->name(), #name},
96 counter_list[
i].name);
99 struct StatisticNumber {
104 size_t new_space_size = 0;
105 size_t new_space_available = 0;
106 size_t new_space_committed_memory = 0;
108 if (
heap->new_space()) {
109 new_space_size =
heap->new_space()->Size();
110 new_space_available =
heap->new_space()->Available();
111 new_space_committed_memory =
heap->new_space()->CommittedMemory();
114 const StatisticNumber numbers[] = {
115 {
heap->memory_allocator()->Size(),
"total_committed_bytes"},
116 {new_space_size,
"new_space_live_bytes"},
117 {new_space_available,
"new_space_available_bytes"},
118 {new_space_committed_memory,
"new_space_commited_bytes"},
119 {
heap->old_space()->Size(),
"old_space_live_bytes"},
120 {
heap->old_space()->Available(),
"old_space_available_bytes"},
121 {
heap->old_space()->CommittedMemory(),
"old_space_commited_bytes"},
122 {
heap->code_space()->Size(),
"code_space_live_bytes"},
123 {
heap->code_space()->Available(),
"code_space_available_bytes"},
124 {
heap->code_space()->CommittedMemory(),
"code_space_commited_bytes"},
125 {
heap->lo_space()->Size(),
"lo_space_live_bytes"},
126 {
heap->lo_space()->Available(),
"lo_space_available_bytes"},
127 {
heap->lo_space()->CommittedMemory(),
"lo_space_commited_bytes"},
128 {
heap->code_lo_space()->Size(),
"code_lo_space_live_bytes"},
129 {
heap->code_lo_space()->Available(),
"code_lo_space_available_bytes"},
130 {
heap->code_lo_space()->CommittedMemory(),
131 "code_lo_space_commited_bytes"},
132 {
heap->trusted_space()->Size(),
"trusted_space_live_bytes"},
133 {
heap->trusted_space()->Available(),
"trusted_space_available_bytes"},
134 {
heap->trusted_space()->CommittedMemory(),
135 "trusted_space_commited_bytes"},
136 {
heap->trusted_lo_space()->Size(),
"trusted_lo_space_live_bytes"},
137 {
heap->trusted_lo_space()->Available(),
138 "trusted_lo_space_available_bytes"},
139 {
heap->trusted_lo_space()->CommittedMemory(),
140 "trusted_lo_space_commited_bytes"},
148 "amount_of_external_allocated_memory");
150 int reloc_info_total = 0;
151 int source_position_table_total = 0;
154 reinterpret_cast<Isolate*
>(info.GetIsolate())->
heap());
155 DCHECK(!AllowGarbageCollection::IsAllowed());
157 obj = iterator.
Next()) {
161 reloc_info_total += code->relocation_size();
162 if (!code->has_source_position_table())
continue;
163 maybe_source_positions = code->source_position_table();
164 }
else if (IsBytecodeArray(obj)) {
165 maybe_source_positions =
170 if (!IsTrustedByteArray(maybe_source_positions))
continue;
179 "reloc_info_total_size");
181 "source_position_table_total_size");
182 info.GetReturnValue().Set(
result);
static Local< FunctionTemplate > New(Isolate *isolate, FunctionCallback callback=nullptr, Local< Value > data=Local< Value >(), Local< Signature > signature=Local< Signature >(), int length=0, ConstructorBehavior behavior=ConstructorBehavior::kAllow, SideEffectType side_effect_type=SideEffectType::kHasSideEffect, const CFunction *c_function=nullptr, uint16_t instance_type=0, uint16_t allowed_receiver_instance_type_range_start=0, uint16_t allowed_receiver_instance_type_range_end=0)