v8
// src/profiler/profile-generator.cc
bool ProfileNode::GetLineTicks(v8::CpuProfileNode::LineTick* entries,
unsigned int length) const {
if (entries == NULL || length == 0) return false;
unsigned line_count = line_ticks_.occupancy();
if (line_count == 0) return true;
if (length < line_count) return false;
v8::CpuProfileNode::LineTick* entry = entries;
for (HashMap::Entry* p = line_ticks_.Start(); p != NULL;
p = line_ticks_.Next(p), entry++) {
entry->line =
static_cast<unsigned int>(reinterpret_cast<uintptr_t>(p->key));
entry->hit_count =
static_cast<unsigned int>(reinterpret_cast<uintptr_t>(p->value));
}
return true;
}