I am using V8 as part of Node and have written a Javascript implementation
of Bitcask, using a Javascript object as a hash to keep file offsets in
memory.
This object has 7 million entries and I'm noticing that while the JS code
is resting, doing nothing, V8 is hitting 100% CPU every few seconds and
doing this continually.
Attached is the full result of running V8 with --prof.
And of particular interest:
[C++]:
ticks total nonlib name
73615 43.1% 43.1%
v8::internal::StaticMarkingVisitor::VisitUnmarkedObjects
68436 40.1% 40.1% _accept$NOCANCEL
4796 2.8% 2.8%
v8::internal::FlexibleBodyVisitor<v8::internal::StaticMarkingVisitor,
v8::internal::JSObject::BodyDescriptor, void>::VisitSpecialized<40>
Should I be using many smaller hashes to keep this overhead down? i.e. some
sort of sparse hash implementation? Or using key mod 1000 to determine the
hash it should be in?
Does V8 have limits on hash table sizes?
Thanks.
--
v8-users mailing list
[email protected]
http://groups.google.com/group/v8-users
Code move event for unknown code: 0x2c89a1006000
Statistical profiling result from v8.log, (723501 ticks, 2492 unaccounted, 0
excluded).
[Unknown]:
ticks total nonlib name
2492 0.3%
[Shared libraries]:
ticks total nonlib name
[JavaScript]:
ticks total nonlib name
967 0.1% 0.1% Stub: StringAddStub
865 0.1% 0.1% LazyCompile: *ByteArray.readString
622 0.1% 0.1% Function: Node.fs.readdir.queue.process.Store3.started
319 0.0% 0.0% LazyCompile: ~Store3.Pointer
196 0.0% 0.0% Builtin: A builtin from the snapshot
188 0.0% 0.0% LazyCompile: *ByteArray.setReadOffset
134 0.0% 0.0% Builtin: A builtin from the snapshot {1}
57 0.0% 0.0% Stub: CEntryStub
48 0.0% 0.0% LazyCompile: *Store3.Entry
20 0.0% 0.0% KeyedLoadIC: A keyed load IC from the snapshot
19 0.0% 0.0% Stub: CompareStub
18 0.0% 0.0% Stub: CompareStub_EQ
14 0.0% 0.0% Stub: CallConstructStub_Recording
12 0.0% 0.0% KeyedStoreIC: A keyed store IC from the snapshot
11 0.0% 0.0% Stub: BinaryOpStub
10 0.0% 0.0% Stub: CompareICStub {1}
9 0.0% 0.0% Stub: CompareICStub
8 0.0% 0.0% Stub: KeyedLoadElementStub
7 0.0% 0.0% KeyedLoadIC: args_count: 0
4 0.0% 0.0% LazyCompile: ~ByteArray.readInteger
4 0.0% 0.0% Builtin: A builtin from the snapshot {2}
2 0.0% 0.0% LazyCompile: ~ByteArray.readString
2 0.0% 0.0% LazyCompile: DefaultNumber native runtime.js:627
1 0.0% 0.0% Stub: StringAddStub {1}
1 0.0% 0.0% Stub: RecordWriteStub {1}
1 0.0% 0.0% Stub: RecordWriteStub
1 0.0% 0.0% Stub: NumberToStringStub
1 0.0% 0.0% Stub: BinaryOpStub_MOD_Alloc_SMI
1 0.0% 0.0% LazyCompile: ~global.Log.dateTime
/Users/Joran/Ronomon/run:56
1 0.0% 0.0% LazyCompile: ~global.Log /Users/Joran/Ronomon/run:32
1 0.0% 0.0% LazyCompile: ~MessageQueue.get
1 0.0% 0.0% LazyCompile: IN native runtime.js:354
1 0.0% 0.0% LazyCompile: *exports.setInterval.timer.ontimeout
timers.js:231
1 0.0% 0.0% Function: ~Buffer buffer.js:210
1 0.0% 0.0% Eval: <anonymous>
1 0.0% 0.0% CallPreMonomorphic: args_count: 0 {1}
1 0.0% 0.0% Builtin: A builtin from the snapshot {3}
[C++]:
ticks total nonlib name
335199 46.3% 46.3%
v8::internal::StaticMarkingVisitor::VisitUnmarkedObjects
331471 45.8% 45.8% _accept$NOCANCEL
21382 3.0% 3.0%
v8::internal::FlexibleBodyVisitor<v8::internal::StaticMarkingVisitor,
v8::internal::JSObject::BodyDescriptor, void>::VisitSpecialized<40>
4373 0.6% 0.6%
v8::internal::FixedBodyVisitor<v8::internal::StaticMarkingVisitor,
v8::internal::FixedBodyDescriptor<24, 40, 40>, void>::Visit
3484 0.5% 0.5% v8::internal::MarkCompactCollector::MarkObject
3353 0.5% 0.5% v8::internal::Heap::AllocateHashTable
2293 0.3% 0.3% v8::internal::DiscoverGreyObjectsInSpace
1557 0.2% 0.2%
v8::internal::IncrementalMarkingMarkingVisitor::VisitPointers
1453 0.2% 0.2%
v8::internal::HashTable<v8::internal::StringDictionaryShape,
v8::internal::String*>::FindEntry
1297 0.2% 0.2% v8::internal::StoreBuffer::IteratePointersInStoreBuffer
1275 0.2% 0.2% ___gettimeofday
1100 0.2% 0.2%
v8::internal::HashTable<v8::internal::StringDictionaryShape,
v8::internal::String*>::Rehash
599 0.1% 0.1% v8::internal::MarkCompactCollector::EmptyMarkingDeque
568 0.1% 0.1%
v8::internal::StoreBuffer::FindPointersToNewSpaceInRegion
540 0.1% 0.1% v8::internal::MarkCompactCollector::SweepConservatively
412 0.1% 0.1% v8::internal::DescriptorArray::BinarySearch
348 0.0% 0.0%
v8::internal::StaticMarkingVisitor::DataObjectVisitor::Visit
342 0.0% 0.0% v8::internal::Heap::ScavengeObject
338 0.0% 0.0% v8::internal::String::ComputeHashField
335 0.0% 0.0%
v8::internal::ScavengingVisitor<(v8::internal::MarksHandling)1,
(v8::internal::LoggingAndProfiling)0>::EvacuateObject<(v8::internal::ScavengingVisitor<(v8::internal::MarksHandling)1,
(v8::internal::LoggingAndProfiling)0>::ObjectContents)1,
(v8::internal::ScavengingVisitor<(v8::internal::MarksHandling)1,
(v8::internal::LoggingAndProfiling)0>::SizeRestriction)0>
331 0.0% 0.0% v8::internal::HashSequentialString<char>
325 0.0% 0.0%
v8::internal::ScavengingVisitor<(v8::internal::MarksHandling)1,
(v8::internal::LoggingAndProfiling)0>::EvacuateObject<(v8::internal::ScavengingVisitor<(v8::internal::MarksHandling)1,
(v8::internal::LoggingAndProfiling)0>::ObjectContents)0,
(v8::internal::ScavengingVisitor<(v8::internal::MarksHandling)1,
(v8::internal::LoggingAndProfiling)0>::SizeRestriction)1>
325 0.0% 0.0% v8::internal::MarkingDeque::PushBlack
256 0.0% 0.0% v8::internal::IncrementalMarking::Step
207 0.0% 0.0% v8::internal::JSReceiver::LocalLookup
181 0.0% 0.0% v8::internal::StoreBuffer::Compact
160 0.0% 0.0% v8::internal::String::WriteToFlat<char>
158 0.0% 0.0% v8::internal::JSObject::LocalLookupRealNamedProperty
145 0.0% 0.0% v8::internal::String::ComputeAndSetHash
129 0.0% 0.0% v8::internal::Heap::DoScavenge
126 0.0% 0.0%
v8::internal::Dictionary<v8::internal::StringDictionaryShape,
v8::internal::String*>::AddEntry
112 0.0% 0.0% v8::internal::String::SlowEquals
112 0.0% 0.0%
v8::internal::Dictionary<v8::internal::StringDictionaryShape,
v8::internal::String*>::SetEntry
111 0.0% 0.0% v8::internal::SemiSpaceIterator::Next
109 0.0% 0.0% _strtod_l
91 0.0% 0.0% v8::internal::String::SlowTryFlatten
86 0.0% 0.0% v8::internal::Runtime::SetObjectProperty
81 0.0% 0.0% v8::internal::Runtime::GetObjectProperty
76 0.0% 0.0% v8::internal::JSObject::AddSlowProperty
75 0.0% 0.0% v8::internal::String::ReadBlockIntoBuffer
75 0.0% 0.0%
v8::internal::ScavengingVisitor<(v8::internal::MarksHandling)1,
(v8::internal::LoggingAndProfiling)0>::EvacuateShortcutCandidate
74 0.0% 0.0% v8::internal::StoreBuffer::EnsureSpace
73 0.0% 0.0% v8::internal::Object::GetProperty
70 0.0% 0.0% v8::internal::PagedSpace::PrepareForMarkCompact
69 0.0% 0.0% v8::internal::Builtin_ArrayPush
68 0.0% 0.0% v8::internal::DescriptorArray::SearchWithCache
67 0.0% 0.0% v8::internal::RelocIterator::next
66 0.0% 0.0% v8::internal::Runtime_KeyedGetProperty
65 0.0% 0.0%
v8::internal::JSObject::LookupCallbackSetterInPrototypes
63 0.0% 0.0% v8::internal::JSObject::SetPropertyForResult
62 0.0% 0.0% v8::internal::JSReceiver::SetProperty
59 0.0% 0.0% v8::internal::StringDictionary::FindEntry
59 0.0% 0.0% v8::internal::String::ReadBlock
55 0.0% 0.0% v8::internal::MarkCompactCollector::SweepSpace
54 0.0% 0.0% v8::internal::MarkCompactCollector::RefillMarkingDeque
51 0.0% 0.0% v8::internal::HeapObjectIterator::FromCurrentPage
50 0.0% 0.0%
v8::internal::FlexibleBodyVisitor<v8::internal::StaticMarkingVisitor,
v8::internal::FixedArray::BodyDescriptor, void>::Visit
49 0.0% 0.0% v8::internal::MarkCompactCollector::MigrateObject
47 0.0% 0.0% v8::internal::StaticMarkingVisitor::VisitCodeTarget
47 0.0% 0.0% v8::internal::Object::GetPrototype
46 0.0% 0.0%
v8::internal::StaticMarkingVisitor::VisitSharedFunctionInfoFields
45 0.0% 0.0% v8::internal::Object::GetPropertyWithReceiver
44 0.0% 0.0% v8::internal::JSReceiver::Lookup
43 0.0% 0.0% v8::internal::ConsString::ConsStringReadBlockIntoBuffer
42 0.0% 0.0% v8::internal::UpdatePointer
41 0.0% 0.0% v8::internal::Object::Lookup
41 0.0% 0.0%
v8::internal::FlexibleBodyVisitor<v8::internal::NewSpaceScavenger,
v8::internal::JSObject::BodyDescriptor, int>::VisitSpecialized<40>
39 0.0% 0.0% _dbm_open
37 0.0% 0.0%
v8::internal::StaticMarkingVisitor::VisitEmbeddedPointer
36 0.0% 0.0%
v8::internal::JSObject::SetPropertyWithCallbackSetterInPrototypes
36 0.0% 0.0% v8::internal::JSObject::AddProperty
34 0.0% 0.0% v8::internal::Heap::AllocateRawAsciiString
33 0.0% 0.0% v8::internal::PagedSpace::AllocateRaw
33 0.0% 0.0% _chmod
31 0.0% 0.0% v8::internal::ConsString::ConsStringReadBlock
27 0.0% 0.0% v8::internal::PromotionQueue::insert
27 0.0% 0.0% v8::internal::MarkCompactCollector::MarkDescriptorArray
27 0.0% 0.0% v8::internal::CopyObjectToObjectElements
26 0.0% 0.0% v8::internal::StringHasher::GetHashField
26 0.0% 0.0% v8::internal::Map::CreateBackPointers
26 0.0% 0.0% v8::internal::Heap::AllocateRaw
26 0.0% 0.0% unibrow::InputBuffer<v8::internal::String,
v8::internal::String*, 1024u>::FillBuffer
23 0.0% 0.0%
v8::internal::RelocInfo::Visit<v8::internal::StaticMarkingVisitor>
22 0.0% 0.0% v8::internal::PointersUpdatingVisitor::VisitPointers
22 0.0% 0.0% _semaphore_wait_signal_trap
21 0.0% 0.0%
v8::internal::StaticMarkingVisitor::VisitJSFunctionAndFlushCode
21 0.0% 0.0% v8::internal::MarkCompactCollector::RecordRelocSlot
20 0.0% 0.0%
v8::internal::StaticMarkingVisitor::VisitJSFunctionFields
20 0.0% 0.0%
v8::internal::Dictionary<v8::internal::StringDictionaryShape,
v8::internal::String*>::EnsureCapacity
17 0.0% 0.0% v8::internal::Runtime_SetProperty
16 0.0% 0.0% v8::internal::NewSpace::ResetAllocationInfo
16 0.0% 0.0%
v8::internal::Code::CodeIterateBody<v8::internal::StaticMarkingVisitor>
16 0.0% 0.0% node::WrappedScript::CompileRunInThisContext
15 0.0% 0.0% v8::internal::PagedSpace::AdvanceSweeper
15 0.0% 0.0% v8::internal::MemoryAllocator::AllocateChunk
15 0.0% 0.0% _lchflags
14 0.0% 0.0% v8::internal::PagedSpace::CountTotalPages
13 0.0% 0.0% v8::internal::Heap::MarkCompactPrologue
13 0.0% 0.0% _swtch
12 0.0% 0.0%
v8::internal::TemplateHashMapImpl<v8::internal::FreeStoreAllocationPolicy>::Lookup
12 0.0% 0.0% v8::internal::StoreBuffer::ExemptPopularPages
12 0.0% 0.0% v8::internal::StaticMarkingVisitor::IsFlushable
12 0.0% 0.0% node::crypto::SecureContext::AddRootCerts
11 0.0% 0.0% v8::internal::StaticMarkingVisitor::MarkObjectByPointer
11 0.0% 0.0% v8::internal::RootMarkingVisitor::MarkObjectByPointer
11 0.0% 0.0% v8::internal::MarkCompactCollector::EvacuateNewSpace
10 0.0% 0.0%
v8::internal::StaticNewSpaceVisitor<v8::internal::NewSpaceScavenger>::VisitSeqAsciiString
10 0.0% 0.0% _dbm_fetch
9 0.0% 0.0%
v8::internal::MarkCompactCollector::CollectEvacuationCandidates
9 0.0% 0.0% node::Binding
9 0.0% 0.0% ___psynch_rw_wrlock
9 0.0% 0.0% ___lo0bits_D2A
8 0.0% 0.0%
v8::internal::ScavengingVisitor<(v8::internal::MarksHandling)1,
(v8::internal::LoggingAndProfiling)0>::ObjectEvacuationStrategy<(v8::internal::ScavengingVisitor<(v8::internal::MarksHandling)1,
(v8::internal::LoggingAndProfiling)0>::ObjectContents)1>::VisitSpecialized<40>
8 0.0% 0.0% v8::internal::MarkCompactCollector::TryPromoteObject
8 0.0% 0.0%
v8::internal::MarkCompactCollector::EvacuateNewSpaceAndCandidates
8 0.0% 0.0%
v8::internal::FixedBodyVisitor<v8::internal::StaticMarkingVisitor,
v8::internal::FixedBodyDescriptor<8, 16, 16>, void>::Visit
8 0.0% 0.0% v8::internal::CPU::FlushICache
7 0.0% 0.0% v8::internal::StoreBuffer::FindPointersToNewSpaceOnPage
7 0.0% 0.0%
v8::internal::ScavengingVisitor<(v8::internal::MarksHandling)1,
(v8::internal::LoggingAndProfiling)0>::EvacuateSeqAsciiString
7 0.0% 0.0% v8::internal::Scanner::Scan
7 0.0% 0.0%
v8::internal::MarkCompactCollector::ClearNonLiveMapTransitions
7 0.0% 0.0% v8::internal::HeapObject::IterateBody
7 0.0% 0.0% v8::internal::FreeList::CountFreeListItems
6 0.0% 0.0% v8::internal::IncrementalMarking::RecordWriteSlow
6 0.0% 0.0% v8::internal::HeapObject::Size
6 0.0% 0.0%
v8::internal::FlexibleBodyVisitor<v8::internal::StaticMarkingVisitor,
v8::internal::StructBodyDescriptor, void>::VisitSpecialized<32>
6 0.0% 0.0% _uv_now
5 0.0% 0.0% v8::internal::SymbolTableCleaner::VisitPointers
5 0.0% 0.0% v8::internal::StoreBuffer::PrepareForIteration
5 0.0% 0.0% v8::internal::Scanner::Next
5 0.0% 0.0% v8::internal::JSArray::SetElementsLength
5 0.0% 0.0%
v8::internal::FlexibleBodyVisitor<v8::internal::StaticMarkingVisitor,
v8::internal::JSObject::BodyDescriptor, void>::VisitSpecialized<24>
5 0.0% 0.0% _ev_invoke_pending
4 0.0% 0.0% v8::internal::SymbolTable::LookupKey
4 0.0% 0.0% v8::internal::StoreIC_ArrayLength
4 0.0% 0.0% v8::internal::JSObject::EnsureWritableFastElements
4 0.0% 0.0%
v8::internal::FastElementsAccessor<v8::internal::FastObjectElementsAccessor,
v8::internal::ElementsKindTraits<(v8::internal::ElementsKind)1>,
8>::SetLengthWithoutNormalize
4 0.0% 0.0% node::Tick
4 0.0% 0.0% _kqueue_poll
4 0.0% 0.0% _ev_feed_event
4 0.0% 0.0% ___Balloc_D2A
3 0.0% 0.0% v8::internal::StubCache::Clear
3 0.0% 0.0%
v8::internal::StaticMarkingVisitor::VisitSharedFunctionInfoAndFlushCodeGeneric
3 0.0% 0.0% v8::internal::StaticMarkingVisitor::VisitCodeEntry
3 0.0% 0.0% v8::internal::StaticMarkingVisitor::VisitCode
3 0.0% 0.0%
v8::internal::ScavengingVisitor<(v8::internal::MarksHandling)1,
(v8::internal::LoggingAndProfiling)0>::EvacuateObject<(v8::internal::ScavengingVisitor<(v8::internal::MarksHandling)1,
(v8::internal::LoggingAndProfiling)0>::ObjectContents)0,
(v8::internal::ScavengingVisitor<(v8::internal::MarksHandling)1,
(v8::internal::LoggingAndProfiling)0>::SizeRestriction)0>
3 0.0% 0.0% v8::internal::Scanner::ScanIdentifierOrKeyword
3 0.0% 0.0% v8::internal::Parser::ParseBinaryExpression
3 0.0% 0.0%
v8::internal::MarkCompactCollector::ClearNonLiveTransitions
3 0.0% 0.0%
v8::internal::InnerPointerToCodeCache::GcSafeFindCodeForInnerPointer
3 0.0% 0.0% v8::internal::Heap::Scavenge
3 0.0% 0.0%
v8::internal::FlexibleBodyVisitor<v8::internal::StaticMarkingVisitor,
v8::internal::JSObject::BodyDescriptor, void>::VisitSpecialized<32>
3 0.0% 0.0%
v8::internal::ElementsAccessorBase<v8::internal::FastObjectElementsAccessor,
v8::internal::ElementsKindTraits<(v8::internal::ElementsKind)1> >::SetLengthImpl
3 0.0% 0.0% v8::Object::Get
3 0.0% 0.0% v8::Integer::New
3 0.0% 0.0% _mergesort
3 0.0% 0.0% _asl_file_save
2 0.0% 0.0% v8::internal::random_base
2 0.0% 0.0%
v8::internal::TemplateHashMapImpl<v8::internal::ZoneListAllocationPolicy>::Initialize
2 0.0% 0.0%
v8::internal::StaticMarkingVisitor::VisitSharedFunctionInfoAndFlushCode
2 0.0% 0.0% v8::internal::StackGuard::IsStackOverflow
2 0.0% 0.0% v8::internal::StackFrameIterator::AdvanceWithHandler
2 0.0% 0.0% v8::internal::SequentialSymbolKey<char>::Hash
2 0.0% 0.0% v8::internal::SemiSpace::Swap
2 0.0% 0.0% v8::internal::SemiSpace::GrowTo
2 0.0% 0.0% v8::internal::SemiSpace::Commit
2 0.0% 0.0%
v8::internal::ScavengingVisitor<(v8::internal::MarksHandling)0,
(v8::internal::LoggingAndProfiling)0>::EvacuateObject<(v8::internal::ScavengingVisitor<(v8::internal::MarksHandling)0,
(v8::internal::LoggingAndProfiling)0>::ObjectContents)1,
(v8::internal::ScavengingVisitor<(v8::internal::MarksHandling)0,
(v8::internal::LoggingAndProfiling)0>::SizeRestriction)0>
2 0.0% 0.0% v8::internal::ScavengeVisitor::VisitPointers
2 0.0% 0.0% v8::internal::RelocInfoWriter::Write
2 0.0% 0.0% v8::internal::Parser::ParsePrimaryExpression
2 0.0% 0.0% v8::internal::ObjectLiteral::CalculateEmitStore
2 0.0% 0.0% v8::internal::MarkCompactCollector::RecordCodeEntrySlot
2 0.0% 0.0% v8::internal::MarkCompactCollector::ProcessMapCaches
2 0.0% 0.0% v8::internal::MarkCompactCollector::MarkMapContents
2 0.0% 0.0% v8::internal::LoadIC::UpdateCaches
2 0.0% 0.0% v8::internal::InnerPointerToCodeCache::GetCacheEntry
2 0.0% 0.0%
v8::internal::IncrementalMarkingMarkingVisitor::VisitCodeTarget
2 0.0% 0.0% v8::internal::IC::PostPatching
2 0.0% 0.0% v8::internal::Heap::InitializeJSObjectFromMap
2 0.0% 0.0% v8::internal::Heap::AllocateStringFromAscii
2 0.0% 0.0%
v8::internal::GlobalHandles::PostGarbageCollectionProcessing
2 0.0% 0.0%
v8::internal::FlexibleBodyVisitor<v8::internal::StaticMarkingVisitor,
v8::internal::StructBodyDescriptor, void>::Visit
2 0.0% 0.0%
v8::internal::FlexibleBodyVisitor<v8::internal::StaticMarkingVisitor,
v8::internal::JSObject::BodyDescriptor, void>::VisitSpecialized<56>
2 0.0% 0.0%
v8::internal::FlexibleBodyVisitor<v8::internal::NewSpaceScavenger,
v8::internal::FixedArray::BodyDescriptor, int>::Visit
2 0.0% 0.0%
v8::internal::FixedBodyVisitor<v8::internal::NewSpaceScavenger,
v8::internal::FixedBodyDescriptor<24, 40, 40>, int>::Visit
2 0.0% 0.0% v8::internal::Assembler::j
2 0.0% 0.0% v8::Function::Call
2 0.0% 0.0% node::Check
2 0.0% 0.0% _uv__timer_cb
2 0.0% 0.0% __fseeko
2 0.0% 0.0% ___vfprintf
2 0.0% 0.0% ___chud
1 0.0% 0.0% v8::preparser::PreParser::ParseUnaryExpression
1 0.0% 0.0%
v8::preparser::PreParser::ParseMemberWithNewPrefixesExpression
1 0.0% 0.0%
v8::preparser::PreParser::ParseExpressionOrLabelledStatement
1 0.0% 0.0% v8::preparser::PreParser::ParseAssignmentExpression
1 0.0% 0.0%
v8::internal::ZoneList<v8::internal::FullCodeGenerator::BailoutEntry>::ZoneList
1 0.0% 0.0% v8::internal::VirtualMemory::Commit
1 0.0% 0.0% v8::internal::VariableProxy::node_type
1 0.0% 0.0% v8::internal::VariableProxy::VariableProxy
1 0.0% 0.0% v8::internal::UnicodeCache::IsIdentifierPart
1 0.0% 0.0% v8::internal::TextNode::TextNode
1 0.0% 0.0%
v8::internal::StringDictionary::TransformPropertiesToFastFor
1 0.0% 0.0% v8::internal::String::WriteToFlat<unsigned short>
1 0.0% 0.0% v8::internal::String::GetFlatContent
1 0.0% 0.0% v8::internal::StoreStubCompiler::GetCode
1 0.0% 0.0% v8::internal::StoreBuffer::IteratePointersToNewSpace
1 0.0% 0.0%
v8::internal::StaticMarkingVisitor::UpdateRegExpCodeAgeAndFlush
1 0.0% 0.0% v8::internal::StackFrameIterator::Reset
1 0.0% 0.0% v8::internal::StackFrame::GetCallerState
1 0.0% 0.0% v8::internal::StackCheckStub::MinorKey
1 0.0% 0.0% v8::internal::SharedFunctionInfo::AttachInitialMap
1 0.0% 0.0% v8::internal::SemiSpaceIterator::SemiSpaceIterator
1 0.0% 0.0% v8::internal::Scope::Scope
1 0.0% 0.0% v8::internal::Scope::ResolveVariablesRecursively
1 0.0% 0.0% v8::internal::Scope::LocalLookup
1 0.0% 0.0%
v8::internal::ScavengingVisitor<(v8::internal::MarksHandling)1,
(v8::internal::LoggingAndProfiling)0>::EvacuateObject<(v8::internal::ScavengingVisitor<(v8::internal::MarksHandling)1,
(v8::internal::LoggingAndProfiling)0>::ObjectContents)1,
(v8::internal::ScavengingVisitor<(v8::internal::MarksHandling)1,
(v8::internal::LoggingAndProfiling)0>::SizeRestriction)1>
1 0.0% 0.0%
v8::internal::ScavengingVisitor<(v8::internal::MarksHandling)0,
(v8::internal::LoggingAndProfiling)0>::EvacuateObject<(v8::internal::ScavengingVisitor<(v8::internal::MarksHandling)0,
(v8::internal::LoggingAndProfiling)0>::ObjectContents)0,
(v8::internal::ScavengingVisitor<(v8::internal::MarksHandling)0,
(v8::internal::LoggingAndProfiling)0>::SizeRestriction)1>
1 0.0% 0.0% v8::internal::SafepointEntry::HasRegisters
1 0.0% 0.0% v8::internal::Runtime_StringAdd
1 0.0% 0.0% v8::internal::Runtime_StackGuard
1 0.0% 0.0% v8::internal::Runtime_DateSetValue
1 0.0% 0.0% v8::internal::RuntimeProfiler::OptimizeNow
1 0.0% 0.0% v8::internal::Relocatable::Iterate
1 0.0% 0.0% v8::internal::PositionsRecorder::RecordPosition
1 0.0% 0.0% v8::internal::Parser::ParseSourceElements
1 0.0% 0.0% v8::internal::Parser::ParseReturnStatement
1 0.0% 0.0% v8::internal::Parser::ParseLeftHandSideExpression
1 0.0% 0.0% v8::internal::Parser::ParseLazy
1 0.0% 0.0% v8::internal::Parser::ParseFunctionLiteral
1 0.0% 0.0% v8::internal::Parser::ParseConditionalExpression
1 0.0% 0.0% v8::internal::Parser::ParseAssignmentExpression
1 0.0% 0.0% v8::internal::Operand::Operand
1 0.0% 0.0% v8::internal::OS::TimeCurrentMillis
1 0.0% 0.0% v8::internal::NewSpace::SlowAllocateRaw
1 0.0% 0.0% v8::internal::NewSpace::AddFreshPage
1 0.0% 0.0% v8::internal::MemoryAllocator::AllocatePage
1 0.0% 0.0% v8::internal::MatchLiteralCompareTypeof
1 0.0% 0.0% v8::internal::MarkWordToObjectStarts
1 0.0% 0.0%
v8::internal::MarkCompactCollector::PrepareThreadForCodeFlushing
1 0.0% 0.0% v8::internal::MarkCompactCollector::MarkSymbolTable
1 0.0% 0.0% v8::internal::MarkCompactCollector::MarkObjectGroups
1 0.0% 0.0%
v8::internal::MarkCompactCollector::MarkAccessorPairSlot
1 0.0% 0.0% v8::internal::MarkCompactCollector::CreateBackPointers
1 0.0% 0.0% v8::internal::MarkCompactCollector::AfterMarking
1 0.0% 0.0% v8::internal::Map::CopyDropDescriptors
1 0.0% 0.0% v8::internal::MacroAssembler::InvokePrologue
1 0.0% 0.0% v8::internal::MacroAssembler::CallRuntime
1 0.0% 0.0% v8::internal::MacOSMutex::Lock
1 0.0% 0.0% v8::internal::LookupForRead
1 0.0% 0.0% v8::internal::Logger::ApiEntryCall
1 0.0% 0.0% v8::internal::LogMessageBuilder::Append
1 0.0% 0.0% v8::internal::LargeObjectIterator::Next
1 0.0% 0.0% v8::internal::KeyedLoadIC::Load
1 0.0% 0.0% v8::internal::KeyedLoadIC::Clear
1 0.0% 0.0% v8::internal::JSObject::NormalizeElements
1 0.0% 0.0% v8::internal::JSObject::GetLocalElementKeys
1 0.0% 0.0% v8::internal::Isolate::isolate_key
1 0.0% 0.0% v8::internal::Invoke
1 0.0% 0.0% v8::internal::InternalFrame::type
1 0.0% 0.0%
v8::internal::IncrementalMarkingMarkingVisitor::VisitPointer
1 0.0% 0.0%
v8::internal::IncrementalMarkingMarkingVisitor::VisitEmbeddedPointer
1 0.0% 0.0%
v8::internal::IncrementalMarkingMarkingVisitor::VisitCodeEntry
1 0.0% 0.0%
v8::internal::IncrementalMarking::UpdateMarkingDequeAfterScavenge
1 0.0% 0.0% v8::internal::HeapObjectIterator::AdvanceToNextPage
1 0.0% 0.0% v8::internal::Heap::PromotedSpaceSize
1 0.0% 0.0% v8::internal::Heap::ProcessWeakReferences
1 0.0% 0.0% v8::internal::Heap::PerformGarbageCollection
1 0.0% 0.0% v8::internal::Heap::MarkCompact
1 0.0% 0.0% v8::internal::Heap::LookupAsciiSymbol
1 0.0% 0.0% v8::internal::Heap::FreeQueuedChunks
1 0.0% 0.0% v8::internal::Heap::AllocateUninitializedFixedArray
1 0.0% 0.0% v8::internal::Heap::AllocateStruct
1 0.0% 0.0% v8::internal::Heap::AllocateStringFromUtf8Slow
1 0.0% 0.0% v8::internal::Heap::AllocateJSObject
1 0.0% 0.0% v8::internal::Heap::AllocateFixedArray
1 0.0% 0.0% v8::internal::Heap::AllocateConsString
1 0.0% 0.0% v8::internal::GlobalHandles::IdentifyWeakHandles
1 0.0% 0.0% v8::internal::GetScriptLineNumber
1 0.0% 0.0% v8::internal::FullCodeGenerator::VisitCompareOperation
1 0.0% 0.0%
v8::internal::FullCodeGenerator::PopulateTypeFeedbackCells
1 0.0% 0.0%
v8::internal::FullCodeGenerator::ExpressionContext::IsEffect
1 0.0% 0.0% v8::internal::FullCodeGenerator::EmitVariableLoad
1 0.0% 0.0% v8::internal::FullCodeGenerator::EmitCallWithIC
1 0.0% 0.0% v8::internal::FullCodeGenerator::EmitBinaryOp
1 0.0% 0.0% v8::internal::FreeListNode::next
1 0.0% 0.0% v8::internal::FreeList::Free
1 0.0% 0.0% v8::internal::FreeList::Allocate
1 0.0% 0.0%
v8::internal::FlexibleBodyVisitor<v8::internal::StaticMarkingVisitor,
v8::internal::StructBodyDescriptor, void>::VisitSpecialized<24>
1 0.0% 0.0%
v8::internal::FlexibleBodyVisitor<v8::internal::StaticMarkingVisitor,
v8::internal::JSObject::BodyDescriptor, void>::VisitSpecialized<48>
1 0.0% 0.0%
v8::internal::FlexibleBodyVisitor<v8::internal::StaticMarkingVisitor,
v8::internal::JSObject::BodyDescriptor, void>::Visit
1 0.0% 0.0% v8::internal::Factory::NewTypeFeedbackInfo
1 0.0% 0.0% v8::internal::Factory::NewScopeInfo
1 0.0% 0.0% v8::internal::Factory::CreateApiFunction
1 0.0% 0.0% v8::internal::ExternalReference::ExternalReference
1 0.0% 0.0% v8::internal::Execution::Call
1 0.0% 0.0% v8::internal::EntryFrame::type
1 0.0% 0.0% v8::internal::EmptyStatement::node_type
1 0.0% 0.0% v8::internal::Deserializer::ReadChunk
1 0.0% 0.0% v8::internal::DescriptorArray::SortUnchecked
1 0.0% 0.0% v8::internal::DescriptorArray::Set
1 0.0% 0.0% v8::internal::DescriptorArray::LinearSearch
1 0.0% 0.0% v8::internal::Descriptor::ContainsTransition
1 0.0% 0.0% v8::internal::Context::global_proxy
1 0.0% 0.0% v8::internal::Compiler::BuildFunctionInfo
1 0.0% 0.0% v8::internal::CodeStub::FindCodeInCache
1 0.0% 0.0% v8::internal::CodeGenerator::RecordPositions
1 0.0% 0.0% v8::internal::Code::Relocate
1 0.0% 0.0% v8::internal::Code::CodeIterateBody
1 0.0% 0.0% v8::internal::Call::Accept
1 0.0% 0.0% v8::internal::AstVisitor::VisitStatements
1 0.0% 0.0% v8::internal::AstConstructionVisitor::VisitLiteral
1 0.0% 0.0% v8::internal::Assembler::testq
1 0.0% 0.0% v8::internal::Assembler::shift
1 0.0% 0.0% v8::internal::Assembler::movq
1 0.0% 0.0% v8::internal::Assembler::emit_code_target
1 0.0% 0.0% v8::internal::AsciiSymbolKey::AsObject
1 0.0% 0.0% v8::internal::AllSpaces::next
1 0.0% 0.0% v8::String::WriteUtf8
1 0.0% 0.0% v8::Object::SetIndexedPropertiesToExternalArrayData
1 0.0% 0.0% v8::HandleScope::RawClose
1 0.0% 0.0% v8::HandleScope::HandleScope
1 0.0% 0.0% unibrow::Utf8::Encode
1 0.0% 0.0% std::numpunct<char>::~numpunct
1 0.0% 0.0% node::crypto::SecureContext::SetCert
1 0.0% 0.0% node::crypto::SecureContext::Init
1 0.0% 0.0% node::TimerWrap::StateChange
1 0.0% 0.0% node::StreamWrap::Write
1 0.0% 0.0% node::MakeCallback
1 0.0% 0.0% node::LStat
1 0.0% 0.0% node::CheckTick
1 0.0% 0.0% _uv_default_loop
1 0.0% 0.0% _uv__check
1 0.0% 0.0% _szone_free
1 0.0% 0.0% _strtoul
1 0.0% 0.0% _scandir
1 0.0% 0.0% _pthread_mutexattr_getpshared
1 0.0% 0.0% _memset_pattern4
1 0.0% 0.0% _malloc_zone_register_while_locked
1 0.0% 0.0% _fclose
1 0.0% 0.0% _asin$fenv_access_off
1 0.0% 0.0% _abort_report_np
1 0.0% 0.0% _abort
1 0.0% 0.0% __st_fmt
1 0.0% 0.0% __pthread_mutex_init
1 0.0% 0.0% ___sfp
1 0.0% 0.0% ___ULtod_D2A
[GC]:
ticks total nonlib name
374987 51.8%
[Bottom up (heavy) profile]:
Note: percentage shows a share of a particular caller in the total
amount of its parent calls.
Callers occupying less than 2.0% are not shown.
ticks parent name
335199 46.3% v8::internal::StaticMarkingVisitor::VisitUnmarkedObjects
331471 45.8% _accept$NOCANCEL
21382 3.0%
v8::internal::FlexibleBodyVisitor<v8::internal::StaticMarkingVisitor,
v8::internal::JSObject::BodyDescriptor, void>::VisitSpecialized<40>