Created
August 8, 2017 22:00
-
-
Save evanlucas/7843a119a7472b498b474af3b63d2a9a to your computer and use it in GitHub Desktop.
8.1.4 profile
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Statistical profiling result from isolate-0x102801600-v8.log, (10566 ticks, 77 unaccounted, 0 excluded). | |
[Shared libraries]: | |
ticks total nonlib name | |
18 0.2% /usr/lib/system/libsystem_platform.dylib | |
16 0.2% /usr/lib/system/libsystem_malloc.dylib | |
16 0.2% /usr/lib/system/libsystem_kernel.dylib | |
3 0.0% /usr/lib/system/libsystem_c.dylib | |
2 0.0% /usr/lib/system/libsystem_pthread.dylib | |
[JavaScript]: | |
ticks total nonlib name | |
9741 92.2% 92.7% LazyCompile: *parse querystring.js:259:15 | |
33 0.3% 0.3% LazyCompile: *slice native string.js:41:21 | |
4 0.0% 0.0% LazyCompile: *parameterCount /Volumes/code/forks/body-parser/lib/types/urlencoded.js:188:25 | |
4 0.0% 0.0% Function: ~queryparse /Volumes/code/forks/body-parser/lib/types/urlencoded.js:255:30 | |
1 0.0% 0.0% LazyCompile: *remove internal/linkedlist.js:15:16 | |
1 0.0% 0.0% LazyCompile: *normalizeStringPosix path.js:99:30 | |
1 0.0% 0.0% LazyCompile: *nextTickEmitAfter internal/process/next_tick.js:124:29 | |
1 0.0% 0.0% Function: ~validChunk _stream_writable.js:229:20 | |
1 0.0% 0.0% Function: ~typeis /Volumes/code/forks/body-parser/node_modules/type-is/index.js:43:17 | |
1 0.0% 0.0% Function: ~removeListener events.js:356:28 | |
1 0.0% 0.0% Function: ~parse /Volumes/code/forks/body-parser/node_modules/media-typer/index.js:139:15 | |
1 0.0% 0.0% Function: ~initSocketHandle net.js:159:26 | |
1 0.0% 0.0% Function: ~getRawBody /Volumes/code/forks/body-parser/node_modules/raw-body/index.js:67:21 | |
1 0.0% 0.0% Function: ~endReadableNT _stream_readable.js:1042:23 | |
1 0.0% 0.0% Function: ~end _http_outgoing.js:736:45 | |
1 0.0% 0.0% Function: ~emitNone events.js:103:18 | |
1 0.0% 0.0% Function: ~destroy internal/streams/destroy.js:4:17 | |
1 0.0% 0.0% Function: ~connectionListener _http_server.js:289:28 | |
1 0.0% 0.0% Function: ~StringDecoder.write string_decoder.js:70:41 | |
1 0.0% 0.0% Function: ~Readable _stream_readable.js:129:18 | |
1 0.0% 0.0% Function: ~<anonymous> child_process.js:1:11 | |
1 0.0% 0.0% Function: ~<anonymous> /Volumes/code/forks/body-parser/lib/read.js:76:34 | |
[C++]: | |
ticks total nonlib name | |
36 0.3% 0.3% node::(anonymous namespace)::ContextifyScript::New(v8::FunctionCallbackInfo<v8::Value> const&) | |
35 0.3% 0.3% v8::internal::StringTable::LookupKey(v8::internal::Isolate*, v8::internal::HashTableKey*) | |
29 0.3% 0.3% v8::internal::NameDictionaryBase<v8::internal::NameDictionary, v8::internal::NameDictionaryShape>::FindEntry(v8::internal::Handle<v8::internal::Name>) | |
22 0.2% 0.2% void v8::internal::BodyDescriptorBase::IterateBodyImpl<v8::internal::StaticScavengeVisitor>(v8::internal::Heap*, v8::internal::HeapObject*, int, int) | |
20 0.2% 0.2% v8::internal::InternalizedStringKey::IsMatch(v8::internal::Object*) | |
18 0.2% 0.2% void std::__1::__sort<v8::internal::EnumIndexComparator<v8::internal::NameDictionary>&, v8::internal::Smi**>(v8::internal::Smi**, v8::internal::Smi**, v8::internal::EnumIndexComparator<v8::internal::NameDictionary>&) | |
16 0.2% 0.2% v8::internal::Dictionary<v8::internal::NameDictionary, v8::internal::NameDictionaryShape, v8::internal::Handle<v8::internal::Name> >::AddEntry(v8::internal::Handle<v8::internal::NameDictionary>, v8::internal::Handle<v8::internal::Name>, v8::internal::Handle<v8::internal::Object>, v8::internal::PropertyDetails, unsigned int) | |
13 0.1% 0.1% v8::internal::StringTable::LookupString(v8::internal::Isolate*, v8::internal::Handle<v8::internal::String>) | |
12 0.1% 0.1% v8::internal::compiler::LinearScanAllocator::AllocateRegisters() | |
12 0.1% 0.1% v8::internal::Object::AddDataProperty(v8::internal::LookupIterator*, v8::internal::Handle<v8::internal::Object>, v8::internal::PropertyAttributes, v8::internal::Object::ShouldThrow, v8::internal::Object::StoreFromKeyed) | |
12 0.1% 0.1% v8::internal::LookupIterator::ApplyTransitionToDataProperty(v8::internal::Handle<v8::internal::JSObject>) | |
11 0.1% 0.1% v8::internal::Runtime::SetObjectProperty(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Object>, v8::internal::LanguageMode) | |
11 0.1% 0.1% node::Read(v8::FunctionCallbackInfo<v8::Value> const&) | |
10 0.1% 0.1% v8::internal::Runtime_SetProperty(int, v8::internal::Object**, v8::internal::Isolate*) | |
9 0.1% 0.1% void v8::internal::Heap::UpdateAllocationSite<(v8::internal::Heap::UpdateAllocationSiteMode)0>(v8::internal::HeapObject*, v8::base::PointerTemplateHashMapImpl<v8::base::DefaultAllocationPolicy>*) | |
9 0.1% 0.1% void v8::internal::BodyDescriptorBase::IterateBodyImpl<v8::internal::IncrementalMarkingMarkingVisitor>(v8::internal::Heap*, v8::internal::HeapObject*, int, int) | |
9 0.1% 0.1% v8::internal::String::ComputeAndSetHash() | |
9 0.1% 0.1% v8::internal::LookupIterator::PropertyOrElement(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Object>, bool*, v8::internal::LookupIterator::Configuration) | |
9 0.1% 0.1% v8::internal::JsonStringifier::SerializeJSReceiverSlow(v8::internal::Handle<v8::internal::JSReceiver>) | |
9 0.1% 0.1% v8::internal::IterateAndScavengePromotedObjectsVisitor::VisitPointers(v8::internal::Object**, v8::internal::Object**) | |
8 0.1% 0.1% void node::StreamBase::JSMethod<node::StreamWrap, &(int node::StreamBase::WriteString<(node::encoding)1>(v8::FunctionCallbackInfo<v8::Value> const&))>(v8::FunctionCallbackInfo<v8::Value> const&) | |
8 0.1% 0.1% v8::internal::String::SlowEquals(v8::internal::String*) | |
8 0.1% 0.1% v8::internal::String::IndexOf(v8::internal::Isolate*, v8::internal::Handle<v8::internal::String>, v8::internal::Handle<v8::internal::String>, int) | |
7 0.1% 0.1% void 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::AllocationAlignment)0>(v8::internal::Map*, v8::internal::HeapObject**, v8::internal::HeapObject*, int) | |
7 0.1% 0.1% v8::internal::JsonStringifier::SerializeString(v8::internal::Handle<v8::internal::String>) | |
7 0.1% 0.1% v8::internal::JsonStringifier::Result v8::internal::JsonStringifier::Serialize_<true>(v8::internal::Handle<v8::internal::Object>, bool, v8::internal::Handle<v8::internal::Object>) | |
6 0.1% 0.1% v8::internal::compiler::Node::New(v8::internal::Zone*, unsigned int, v8::internal::compiler::Operator const*, int, v8::internal::compiler::Node* const*, bool) | |
6 0.1% 0.1% v8::internal::Zone::New(unsigned long) | |
6 0.1% 0.1% v8::internal::Object::SetProperty(v8::internal::LookupIterator*, v8::internal::Handle<v8::internal::Object>, v8::internal::LanguageMode, v8::internal::Object::StoreFromKeyed) | |
6 0.1% 0.1% v8::internal::LookupIterator::LookupIterator(v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Name>, v8::internal::LookupIterator::Configuration) | |
6 0.1% 0.1% v8::internal::Dictionary<v8::internal::NameDictionary, v8::internal::NameDictionaryShape, v8::internal::Handle<v8::internal::Name> >::NumberOfElementsFilterAttributes(v8::internal::PropertyFilter) | |
6 0.1% 0.1% v8::internal::Dictionary<v8::internal::NameDictionary, v8::internal::NameDictionaryShape, v8::internal::Handle<v8::internal::Name> >::CopyEnumKeysTo(v8::internal::Handle<v8::internal::Dictionary<v8::internal::NameDictionary, v8::internal::NameDictionaryShape, v8::internal::Handle<v8::internal::Name> > >, v8::internal::Handle<v8::internal::FixedArray>, v8::internal::KeyCollectionMode, v8::internal::KeyAccumulator*) | |
5 0.0% 0.0% v8::internal::compiler::UnhandledSortHelper(v8::internal::compiler::LiveRange*, v8::internal::compiler::LiveRange*) | |
5 0.0% 0.0% v8::internal::compiler::LiveRangeConnector::ResolveControlFlow(v8::internal::Zone*) | |
5 0.0% 0.0% v8::internal::compiler::LiveRangeBuilder::ComputeLiveOut(v8::internal::compiler::InstructionBlock const*, v8::internal::compiler::RegisterAllocationData*) | |
5 0.0% 0.0% v8::internal::compiler::CodeAssemblerLabel::Bind() | |
5 0.0% 0.0% v8::internal::Object::GetProperty(v8::internal::LookupIterator*) | |
5 0.0% 0.0% v8::internal::LookupIterator::PrepareTransitionToDataProperty(v8::internal::Handle<v8::internal::JSObject>, v8::internal::Handle<v8::internal::Object>, v8::internal::PropertyAttributes, v8::internal::Object::StoreFromKeyed) | |
5 0.0% 0.0% v8::internal::Heap::AllocateFixedArrayWithFiller(int, v8::internal::PretenureFlag, v8::internal::Object*) | |
5 0.0% 0.0% v8::internal::HashTable<v8::internal::NameDictionary, v8::internal::NameDictionaryShape, v8::internal::Handle<v8::internal::Name> >::Rehash(v8::internal::Handle<v8::internal::NameDictionary>, v8::internal::Handle<v8::internal::Name>) | |
4 0.0% 0.0% void std::__1::__insertion_sort_3<v8::internal::EnumIndexComparator<v8::internal::NameDictionary>&, v8::internal::Smi**>(v8::internal::Smi**, v8::internal::Smi**, v8::internal::EnumIndexComparator<v8::internal::NameDictionary>&) | |
4 0.0% 0.0% v8::internal::ConsString* v8::internal::String::VisitFlat<v8::internal::IteratingStringHasher>(v8::internal::IteratingStringHasher*, v8::internal::String*, int) | |
4 0.0% 0.0% node::Binding(v8::FunctionCallbackInfo<v8::Value> const&) | |
4 0.0% 0.0% bool v8::internal::ScavengingVisitor<(v8::internal::MarksHandling)1, (v8::internal::LoggingAndProfiling)0>::SemiSpaceCopyObject<(v8::internal::AllocationAlignment)0>(v8::internal::Map*, v8::internal::HeapObject**, v8::internal::HeapObject*, int) | |
3 0.0% 0.0% void v8::internal::LookupIterator::Start<true>() | |
3 0.0% 0.0% void v8::internal::LookupIterator::Start<false>() | |
3 0.0% 0.0% v8::internal::compiler::MoveOptimizer::FinalizeMoves(v8::internal::compiler::Instruction*) | |
3 0.0% 0.0% v8::internal::compiler::LinearScanAllocator::FindFreeRegistersForRange(v8::internal::compiler::LiveRange*, v8::internal::Vector<v8::internal::compiler::LifetimePosition>) | |
3 0.0% 0.0% v8::internal::compiler::FrameElider::Run() | |
3 0.0% 0.0% v8::internal::LookupIterator::WriteDataValue(v8::internal::Handle<v8::internal::Object>, bool) | |
3 0.0% 0.0% v8::internal::LookupIterator::FetchValue() const | |
3 0.0% 0.0% v8::internal::IncrementalMarking::MarkBlack(v8::internal::HeapObject*, int) | |
3 0.0% 0.0% v8::internal::AllocationResult v8::internal::Heap::AllocateInternalizedStringImpl<true, v8::internal::String*>(v8::internal::String*, int, unsigned int) | |
3 0.0% 0.0% bool v8::internal::ScavengingVisitor<(v8::internal::MarksHandling)0, (v8::internal::LoggingAndProfiling)0>::PromoteObject<(v8::internal::ScavengingVisitor<(v8::internal::MarksHandling)0, (v8::internal::LoggingAndProfiling)0>::ObjectContents)0, (v8::internal::AllocationAlignment)0>(v8::internal::Map*, v8::internal::HeapObject**, v8::internal::HeapObject*, int) | |
2 0.0% 0.0% void v8::internal::RelocInfo::Visit<v8::internal::IncrementalMarkingMarkingVisitor>(v8::internal::Heap*) | |
2 0.0% 0.0% void node::Buffer::(anonymous namespace)::StringSlice<(node::encoding)1>(v8::FunctionCallbackInfo<v8::Value> const&) | |
2 0.0% 0.0% v8::internal::compiler::TopLevelLiveRange::AddUsePosition(v8::internal::compiler::UsePosition*) | |
2 0.0% 0.0% v8::internal::compiler::Schedule::AddNode(v8::internal::compiler::BasicBlock*, v8::internal::compiler::Node*) | |
2 0.0% 0.0% v8::internal::compiler::RegisterAllocator::SplitAndSpillRangesDefinedByMemoryOperand() | |
2 0.0% 0.0% v8::internal::compiler::RegisterAllocationData::GetOrCreateLiveRangeFor(int) | |
2 0.0% 0.0% v8::internal::compiler::RegisterAllocationData::AddGapMove(int, v8::internal::compiler::Instruction::GapPosition, v8::internal::compiler::InstructionOperand const&, v8::internal::compiler::InstructionOperand const&) | |
2 0.0% 0.0% v8::internal::compiler::MoveOptimizer::CompressGaps(v8::internal::compiler::Instruction*) | |
2 0.0% 0.0% v8::internal::compiler::LiveRangeMerger::MarkRangesSpilledInDeferredBlocks() | |
2 0.0% 0.0% v8::internal::compiler::LiveRangeBuilder::ProcessInstructions(v8::internal::compiler::InstructionBlock const*, v8::internal::BitVector*) | |
2 0.0% 0.0% v8::internal::compiler::LiveRangeBuilder::BuildLiveRanges() | |
2 0.0% 0.0% v8::internal::compiler::ConstraintBuilder::MeetRegisterConstraints() | |
2 0.0% 0.0% v8::internal::compiler::CodeGenerator::GenerateCode() | |
2 0.0% 0.0% v8::internal::String::GetFlatContent() | |
2 0.0% 0.0% v8::internal::StaticMarkingVisitor<v8::internal::IncrementalMarkingMarkingVisitor>::MarkMapContents(v8::internal::Heap*, v8::internal::Map*) | |
2 0.0% 0.0% v8::internal::Space::AllocationStep(unsigned char*, int) | |
2 0.0% 0.0% v8::internal::LookupIterator::State v8::internal::LookupIterator::LookupInRegularHolder<false>(v8::internal::Map*, v8::internal::JSReceiver*) | |
2 0.0% 0.0% v8::internal::JSObject::GetElementsAccessor() | |
2 0.0% 0.0% v8::internal::Heap::DoScavenge(v8::internal::ObjectVisitor*, unsigned char*) | |
2 0.0% 0.0% v8::internal::Dictionary<v8::internal::NameDictionary, v8::internal::NameDictionaryShape, v8::internal::Handle<v8::internal::Name> >::EnsureCapacity(v8::internal::Handle<v8::internal::NameDictionary>, int, v8::internal::Handle<v8::internal::Name>) | |
2 0.0% 0.0% v8::internal::BoyerMoorePositionInfo::BoyerMoorePositionInfo(v8::internal::Zone*) | |
2 0.0% 0.0% v8::internal::(anonymous namespace)::FastElementsAccessor<v8::internal::(anonymous namespace)::FastHoleyObjectElementsAccessor, v8::internal::(anonymous namespace)::ElementsKindTraits<(v8::internal::ElementsKind)3> >::AddImpl(v8::internal::Handle<v8::internal::JSObject>, unsigned int, v8::internal::Handle<v8::internal::Object>, v8::internal::PropertyAttributes, unsigned int) | |
1 0.0% 0.0% void v8::internal::LookupIterator::NextInternal<false>(v8::internal::Map*, v8::internal::JSReceiver*) | |
1 0.0% 0.0% void std::__1::vector<v8::internal::compiler::BasicBlock*, v8::internal::zone_allocator<v8::internal::compiler::BasicBlock*> >::__push_back_slow_path<v8::internal::compiler::BasicBlock* const&>(v8::internal::compiler::BasicBlock* const&&&) | |
1 0.0% 0.0% void std::__1::__tree_balance_after_insert<std::__1::__tree_node_base<void*>*>(std::__1::__tree_node_base<void*>*, std::__1::__tree_node_base<void*>*) | |
1 0.0% 0.0% void std::__1::__sort<bool (*&)(v8::internal::compiler::LiveRange*, v8::internal::compiler::LiveRange*), v8::internal::compiler::LiveRange**>(v8::internal::compiler::LiveRange**, v8::internal::compiler::LiveRange**, bool (*&)(v8::internal::compiler::LiveRange*, v8::internal::compiler::LiveRange*)) | |
1 0.0% 0.0% v8::internal::compiler::VisitBinop(v8::internal::compiler::InstructionSelector*, v8::internal::compiler::Node*, int, v8::internal::compiler::FlagsContinuation*) | |
1 0.0% 0.0% v8::internal::compiler::UnwindingInfoWriter::EndInstructionBlock(v8::internal::compiler::InstructionBlock const*) | |
1 0.0% 0.0% v8::internal::compiler::UnwindingInfoWriter::BeginInstructionBlock(int, v8::internal::compiler::InstructionBlock const*) | |
1 0.0% 0.0% v8::internal::compiler::Schedule::Schedule(v8::internal::Zone*, unsigned long) | |
1 0.0% 0.0% v8::internal::compiler::Schedule::PropagateDeferredMark() | |
1 0.0% 0.0% v8::internal::compiler::Schedule::NewBasicBlock() | |
1 0.0% 0.0% v8::internal::compiler::Schedule::EnsureSplitEdgeForm(v8::internal::compiler::BasicBlock*) | |
1 0.0% 0.0% v8::internal::compiler::Schedule::EnsureCFGWellFormedness() | |
1 0.0% 0.0% v8::internal::compiler::ReferenceMap::RecordReference(v8::internal::compiler::AllocatedOperand const&) | |
1 0.0% 0.0% v8::internal::compiler::RawMachineAssembler::Branch(v8::internal::compiler::Node*, v8::internal::compiler::RawMachineLabel*, v8::internal::compiler::RawMachineLabel*) | |
1 0.0% 0.0% v8::internal::compiler::RawMachineAssembler::Bind(v8::internal::compiler::RawMachineLabel*) | |
1 0.0% 0.0% v8::internal::compiler::Operator::Operator(unsigned short, v8::base::Flags<v8::internal::compiler::Operator::Property, unsigned char>, char const*, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long) | |
1 0.0% 0.0% v8::internal::compiler::OperandAssigner::AssignSpillSlots() | |
1 0.0% 0.0% v8::internal::compiler::MoveOptimizer::Run() | |
1 0.0% 0.0% v8::internal::compiler::MoveOptimizer::OptimizeMerge(v8::internal::compiler::InstructionBlock*) | |
1 0.0% 0.0% v8::internal::compiler::MoveOptimizer::MigrateMoves(v8::internal::compiler::Instruction*, v8::internal::compiler::Instruction*) | |
1 0.0% 0.0% v8::internal::compiler::MachineOperatorBuilder::Load(v8::internal::MachineType) | |
1 0.0% 0.0% v8::internal::compiler::LiveRangeConnector::CommitSpillsInDeferredBlocks(v8::internal::compiler::TopLevelLiveRange*, v8::internal::compiler::LiveRangeBoundArray*, v8::internal::Zone*) | |
1 0.0% 0.0% v8::internal::compiler::LinearScanAllocator::TryAllocatePreferredReg(v8::internal::compiler::LiveRange*, v8::internal::Vector<v8::internal::compiler::LifetimePosition> const&) | |
1 0.0% 0.0% v8::internal::compiler::LinearScanAllocator::ProcessCurrentRange(v8::internal::compiler::LiveRange*) | |
1 0.0% 0.0% v8::internal::compiler::InstructionSequence::MarkAsRepresentation(v8::internal::MachineRepresentation, int) | |
1 0.0% 0.0% v8::internal::compiler::InstructionSequence::InstructionBlocksFor(v8::internal::Zone*, v8::internal::compiler::Schedule const*) | |
1 0.0% 0.0% v8::internal::compiler::InstructionSelector::VisitGoto(v8::internal::compiler::BasicBlock*) | |
1 0.0% 0.0% v8::internal::compiler::InstructionSelector::InitializeCallBuffer(v8::internal::compiler::Node*, v8::internal::compiler::CallBuffer*, v8::base::Flags<v8::internal::compiler::InstructionSelector::CallBufferFlag, int>, int) | |
1 0.0% 0.0% v8::internal::compiler::InstructionSelector::CanCover(v8::internal::compiler::Node*, v8::internal::compiler::Node*) const | |
1 0.0% 0.0% v8::internal::compiler::InstructionOperand::InterferesWith(v8::internal::compiler::InstructionOperand const&) const | |
1 0.0% 0.0% v8::internal::compiler::InstructionBlock::PredecessorIndexOf(v8::internal::compiler::RpoNumber) const | |
1 0.0% 0.0% v8::internal::compiler::Instruction::AreMovesRedundant() const | |
1 0.0% 0.0% v8::internal::compiler::GapResolver::Resolve(v8::internal::compiler::ParallelMove*) | |
1 0.0% 0.0% v8::internal::compiler::GapResolver::PerformMove(v8::internal::compiler::ParallelMove*, v8::internal::compiler::MoveOperands*) | |
1 0.0% 0.0% v8::internal::compiler::ConstraintBuilder::ResolvePhis() | |
1 0.0% 0.0% v8::internal::compiler::ConstraintBuilder::MeetConstraintsBefore(int) | |
1 0.0% 0.0% v8::internal::compiler::CommonOperatorBuilder::HeapConstant(v8::internal::Handle<v8::internal::HeapObject> const&) | |
1 0.0% 0.0% v8::internal::compiler::CodeGenerator::RecordSafepoint(v8::internal::compiler::ReferenceMap*, v8::internal::Safepoint::Kind, int, v8::internal::Safepoint::DeoptMode) | |
1 0.0% 0.0% v8::internal::compiler::CodeGenerator::FinishFrame(v8::internal::compiler::Frame*) | |
1 0.0% 0.0% v8::internal::compiler::CodeGenerator::AssembleMove(v8::internal::compiler::InstructionOperand*, v8::internal::compiler::InstructionOperand*) | |
1 0.0% 0.0% v8::internal::compiler::CodeGenerator::AssembleInstruction(v8::internal::compiler::Instruction*, v8::internal::compiler::InstructionBlock const*) | |
1 0.0% 0.0% v8::internal::compiler::CodeGenerator::AssembleArchInstruction(v8::internal::compiler::Instruction*) | |
1 0.0% 0.0% v8::internal::compiler::CodeAssemblerLabel::MergeVariables() | |
1 0.0% 0.0% v8::internal::compiler::BasicBlock::BasicBlock(v8::internal::Zone*, v8::internal::compiler::BasicBlock::Id) | |
1 0.0% 0.0% v8::internal::compiler::BaseWithIndexAndDisplacementMatcher<v8::internal::compiler::AddMatcher<v8::internal::compiler::BinopMatcher<v8::internal::compiler::IntMatcher<long long, (v8::internal::compiler::IrOpcode::Value)24>, v8::internal::compiler::IntMatcher<long long, (v8::internal::compiler::IrOpcode::Value)24> >, (v8::internal::compiler::IrOpcode::Value)232, (v8::internal::compiler::IrOpcode::Value)234, (v8::internal::compiler::IrOpcode::Value)236, (v8::internal::compiler::IrOpcode::Value)228> >::Initialize(v8::internal::compiler::Node*, v8::base::Flags<v8::internal::compiler::AddressOption, unsigned char>) | |
1 0.0% 0.0% v8::internal::compiler::AddMatcher<v8::internal::compiler::BinopMatcher<v8::internal::compiler::IntMatcher<long long, (v8::internal::compiler::IrOpcode::Value)24>, v8::internal::compiler::IntMatcher<long long, (v8::internal::compiler::IrOpcode::Value)24> >, (v8::internal::compiler::IrOpcode::Value)232, (v8::internal::compiler::IrOpcode::Value)234, (v8::internal::compiler::IrOpcode::Value)236, (v8::internal::compiler::IrOpcode::Value)228>::Initialize(v8::internal::compiler::Node*, bool) | |
1 0.0% 0.0% v8::internal::compiler::(anonymous namespace)::VisitWord64Shift(v8::internal::compiler::InstructionSelector*, v8::internal::compiler::Node*, v8::internal::compiler::ArchOpcode) | |
1 0.0% 0.0% v8::internal::compiler::(anonymous namespace)::OperandSet::ContainsOpOrAlias(v8::internal::compiler::InstructionOperand const&) const | |
1 0.0% 0.0% v8::internal::TryConvertKey(v8::internal::Handle<v8::internal::Object>, v8::internal::Isolate*) | |
1 0.0% 0.0% v8::internal::String::ToCString(v8::internal::AllowNullsFlag, v8::internal::RobustnessFlag, int, int, int*) | |
1 0.0% 0.0% v8::internal::String::IsOneByteEqualTo(v8::internal::Vector<unsigned char const>) | |
1 0.0% 0.0% v8::internal::StackFrame::GetCallerState(v8::internal::StackFrame::State*) const | |
1 0.0% 0.0% v8::internal::SourcePositionTableBuilder::AddEntry(v8::internal::PositionTableEntry const&) | |
1 0.0% 0.0% v8::internal::SharedFunctionInfo::SearchOptimizedCodeMap(v8::internal::Context*, v8::internal::BailoutId) | |
1 0.0% 0.0% v8::internal::Scope::ResolveVariable(v8::internal::ParseInfo*, v8::internal::VariableProxy*) | |
1 0.0% 0.0% v8::internal::ScavengingVisitor<(v8::internal::MarksHandling)0, (v8::internal::LoggingAndProfiling)0>::EvacuateSeqOneByteString(v8::internal::Map*, v8::internal::HeapObject**, v8::internal::HeapObject*) | |
1 0.0% 0.0% v8::internal::Scavenger::ScavengeObjectSlow(v8::internal::HeapObject**, v8::internal::HeapObject*) | |
1 0.0% 0.0% v8::internal::Scanner::ScanIdentifierOrKeyword() | |
1 0.0% 0.0% v8::internal::Runtime_NewClosure(int, v8::internal::Object**, v8::internal::Isolate*) | |
1 0.0% 0.0% v8::internal::RelocInfoWriter::Write(v8::internal::RelocInfo const*) | |
1 0.0% 0.0% v8::internal::ParserBase<v8::internal::PreParser>::ParseAssignmentExpression(bool, bool*) | |
1 0.0% 0.0% v8::internal::ParserBase<v8::internal::Parser>::ParseBlock(v8::internal::ZoneList<v8::internal::AstRawString const*>*, bool*) | |
1 0.0% 0.0% v8::internal::ParserBase<v8::internal::Parser>::ParseAssignmentExpression(bool, bool*) | |
1 0.0% 0.0% v8::internal::ParserBase<v8::internal::Parser>::ParseArguments(v8::internal::Scanner::Location*, bool, bool*) | |
1 0.0% 0.0% v8::internal::Object::SetDataProperty(v8::internal::LookupIterator*, v8::internal::Handle<v8::internal::Object>) | |
1 0.0% 0.0% v8::internal::Map::SetPrototype(v8::internal::Handle<v8::internal::Map>, v8::internal::Handle<v8::internal::Object>, v8::internal::PrototypeOptimizationMode) | |
1 0.0% 0.0% v8::internal::Map::CopyDropDescriptors(v8::internal::Handle<v8::internal::Map>) | |
1 0.0% 0.0% v8::internal::MacroAssembler::CheckPageFlag(v8::internal::Register, v8::internal::Register, int, v8::internal::Condition, v8::internal::Label*, v8::internal::Label::Distance) | |
1 0.0% 0.0% v8::internal::LookupIterator::PropertyOrElement(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Name>, v8::internal::LookupIterator::Configuration) | |
1 0.0% 0.0% v8::internal::LookupIterator::PropertyOrElement(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Name>, v8::internal::Handle<v8::internal::JSReceiver>, v8::internal::LookupIterator::Configuration) | |
1 0.0% 0.0% v8::internal::LParallelMove::IsRedundant() const | |
1 0.0% 0.0% v8::internal::LGapResolver::BuildInitialMoveList(v8::internal::LParallelMove*) | |
1 0.0% 0.0% v8::internal::JsonParser<false>::ParseJsonObject() | |
1 0.0% 0.0% v8::internal::JSObject::SetPrototype(v8::internal::Handle<v8::internal::JSObject>, v8::internal::Handle<v8::internal::Object>, bool, v8::internal::Object::ShouldThrow) | |
1 0.0% 0.0% v8::internal::JSObject::EnsureWritableFastElements(v8::internal::Handle<v8::internal::JSObject>) | |
1 0.0% 0.0% v8::internal::IsMoreGeneralElementsKindTransition(v8::internal::ElementsKind, v8::internal::ElementsKind) | |
1 0.0% 0.0% v8::internal::InnerPointerToCodeCache::GcSafeFindCodeForInnerPointer(unsigned char*) | |
1 0.0% 0.0% v8::internal::IncrementalMarking::Step(unsigned long, v8::internal::IncrementalMarking::CompletionAction, v8::internal::IncrementalMarking::ForceCompletionAction, v8::internal::StepOrigin) | |
1 0.0% 0.0% v8::internal::Heap::Scavenge() | |
1 0.0% 0.0% v8::internal::Heap::AllocateRaw(int, v8::internal::AllocationSpace, v8::internal::AllocationAlignment) | |
1 0.0% 0.0% v8::internal::Heap::AllocateMap(v8::internal::InstanceType, int, v8::internal::ElementsKind) | |
1 0.0% 0.0% v8::internal::Heap::AllocateJSObject(v8::internal::JSFunction*, v8::internal::PretenureFlag, v8::internal::AllocationSite*) | |
1 0.0% 0.0% v8::internal::Heap::AllocateCell(v8::internal::Object*) | |
1 0.0% 0.0% v8::internal::HSimulate::AddValue(int, v8::internal::HValue*) | |
1 0.0% 0.0% v8::internal::HGraph::AssignDominators() | |
1 0.0% 0.0% v8::internal::GlobalHandles::Node::Release() | |
1 0.0% 0.0% v8::internal::GCTracer::Print() const | |
1 0.0% 0.0% v8::internal::FuncNameInferrer::PushLiteralName(v8::internal::AstRawString const*) | |
1 0.0% 0.0% v8::internal::FullCodeGenerator::Generate() | |
1 0.0% 0.0% v8::internal::FeedbackVectorSpec::append(v8::internal::FeedbackSlotKind) | |
1 0.0% 0.0% v8::internal::Factory::NewOneByteInternalizedString(v8::internal::Vector<unsigned char const>, unsigned int) | |
1 0.0% 0.0% v8::internal::Factory::InternalizedStringMapForString(v8::internal::Handle<v8::internal::String>) | |
1 0.0% 0.0% v8::internal::Dictionary<v8::internal::NameDictionary, v8::internal::NameDictionaryShape, v8::internal::Handle<v8::internal::Name> >::Add(v8::internal::Handle<v8::internal::NameDictionary>, v8::internal::Handle<v8::internal::Name>, v8::internal::Handle<v8::internal::Object>, v8::internal::PropertyDetails, int*) | |
1 0.0% 0.0% v8::internal::DescriptorArray::Append(v8::internal::Descriptor*) | |
1 0.0% 0.0% v8::internal::BitVector::Iterator::Advance() | |
1 0.0% 0.0% v8::internal::AstValueFactory::GetOneByteStringInternal(v8::internal::Vector<unsigned char const>) | |
1 0.0% 0.0% v8::internal::AstNumberingVisitor::VisitNoStackOverflowCheck(v8::internal::AstNode*) | |
1 0.0% 0.0% v8::internal::Assembler::j(v8::internal::Condition, v8::internal::Label*, v8::internal::Label::Distance) | |
1 0.0% 0.0% v8::internal::Assembler::emit_mov(v8::internal::Register, v8::internal::Operand const&, int) | |
1 0.0% 0.0% v8::internal::Assembler::bind_to(v8::internal::Label*, int) | |
1 0.0% 0.0% v8::internal::AccountingAllocator::GetSegment(unsigned long) | |
1 0.0% 0.0% v8::internal::(anonymous namespace)::Invoke(v8::internal::Isolate*, bool, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Object>, int, v8::internal::Handle<v8::internal::Object>*, v8::internal::Handle<v8::internal::Object>, v8::internal::Execution::MessageHandling) | |
1 0.0% 0.0% v8::base::TimeTicks::HighResolutionNow() | |
1 0.0% 0.0% v8::base::TemplateHashMapEntry<void*, void*>* v8::base::TemplateHashMapImpl<void*, void*, v8::base::HashEqualityThenKeyMatcher<void*, bool (*)(void*, void*)>, v8::base::DefaultAllocationPolicy>::LookupOrInsert<v8::base::TemplateHashMapImpl<void*, void*, v8::base::HashEqualityThenKeyMatcher<void*, bool (*)(void*, void*)>, v8::base::DefaultAllocationPolicy>::LookupOrInsert(void* const&, unsigned int, v8::base::DefaultAllocationPolicy)::'lambda'()>(void* const&, unsigned int, v8::base::TemplateHashMapImpl<void*, void*, v8::base::HashEqualityThenKeyMatcher<void*, bool (*)(void*, void*)>, v8::base::DefaultAllocationPolicy>::LookupOrInsert(void* const&, unsigned int, v8::base::DefaultAllocationPolicy)::'lambda'() const&, v8::base::DefaultAllocationPolicy) | |
1 0.0% 0.0% v8::HandleScope::Initialize(v8::Isolate*) | |
1 0.0% 0.0% unsigned int std::__1::__sort3<v8::internal::EnumIndexComparator<v8::internal::NameDictionary>&, v8::internal::Smi**>(v8::internal::Smi**, v8::internal::Smi**, v8::internal::Smi**, v8::internal::EnumIndexComparator<v8::internal::NameDictionary>&) | |
1 0.0% 0.0% std::__1::vector<v8::internal::compiler::BasicBlock*, v8::internal::zone_allocator<v8::internal::compiler::BasicBlock*> >::__append(unsigned long) | |
1 0.0% 0.0% node::TTYWrap::New(v8::FunctionCallbackInfo<v8::Value> const&) | |
1 0.0% 0.0% node::InternalModuleReadFile(v8::FunctionCallbackInfo<v8::Value> const&) | |
1 0.0% 0.0% node::FStat(v8::FunctionCallbackInfo<v8::Value> const&) | |
1 0.0% 0.0% node::Cwd(v8::FunctionCallbackInfo<v8::Value> const&) | |
1 0.0% 0.0% node::(anonymous namespace)::ContextifyScript::RunInThisContext(v8::FunctionCallbackInfo<v8::Value> const&) | |
[Summary]: | |
ticks total nonlib name | |
9800 92.8% 93.2% JavaScript | |
634 6.0% 6.0% C++ | |
71 0.7% 0.7% GC | |
55 0.5% Shared libraries | |
77 0.7% Unaccounted | |
[C++ entry points]: | |
ticks cpp total name | |
229 49.6% 2.2% v8::internal::Runtime_SetProperty(int, v8::internal::Object**, v8::internal::Isolate*) | |
84 18.2% 0.8% v8::internal::Builtin_JsonStringify(int, v8::internal::Object**, v8::internal::Isolate*) | |
66 14.3% 0.6% v8::internal::Builtin_HandleApiCall(int, v8::internal::Object**, v8::internal::Isolate*) | |
22 4.8% 0.2% v8::internal::Runtime_CompileLazy(int, v8::internal::Object**, v8::internal::Isolate*) | |
10 2.2% 0.1% v8::internal::Runtime_StringIndexOfUnchecked(int, v8::internal::Object**, v8::internal::Isolate*) | |
9 1.9% 0.1% v8::internal::Builtin_JsonParse(int, v8::internal::Object**, v8::internal::Isolate*) | |
8 1.7% 0.1% v8::internal::Runtime_AllocateInNewSpace(int, v8::internal::Object**, v8::internal::Isolate*) | |
4 0.9% 0.0% v8::internal::Runtime_CompileOptimized_Concurrent(int, v8::internal::Object**, v8::internal::Isolate*) | |
4 0.9% 0.0% v8::internal::Runtime_BinaryOpIC_Miss(int, v8::internal::Object**, v8::internal::Isolate*) | |
3 0.6% 0.0% v8::internal::Runtime_RegExpExec(int, v8::internal::Object**, v8::internal::Isolate*) | |
3 0.6% 0.0% v8::internal::Runtime_CompileForOnStackReplacement(int, v8::internal::Object**, v8::internal::Isolate*) | |
2 0.4% 0.0% v8::internal::StaticMarkingVisitor<v8::internal::IncrementalMarkingMarkingVisitor>::MarkMapContents(v8::internal::Heap*, v8::internal::Map*) | |
2 0.4% 0.0% v8::internal::Runtime_TryInstallOptimizedCode(int, v8::internal::Object**, v8::internal::Isolate*) | |
2 0.4% 0.0% v8::internal::Runtime_StackGuard(int, v8::internal::Object**, v8::internal::Isolate*) | |
2 0.4% 0.0% v8::internal::Runtime_LoadIC_Miss(int, v8::internal::Object**, v8::internal::Isolate*) | |
2 0.4% 0.0% v8::internal::Runtime_KeyedStoreIC_Miss(int, v8::internal::Object**, v8::internal::Isolate*) | |
2 0.4% 0.0% v8::internal::Runtime_Interrupt(int, v8::internal::Object**, v8::internal::Isolate*) | |
1 0.2% 0.0% v8::internal::Runtime_StoreIC_Miss(int, v8::internal::Object**, v8::internal::Isolate*) | |
1 0.2% 0.0% v8::internal::Runtime_SetCode(int, v8::internal::Object**, v8::internal::Isolate*) | |
1 0.2% 0.0% v8::internal::Runtime_NewObject(int, v8::internal::Object**, v8::internal::Isolate*) | |
1 0.2% 0.0% v8::internal::Runtime_NewClosure(int, v8::internal::Object**, v8::internal::Isolate*) | |
1 0.2% 0.0% v8::internal::Runtime_KeyedGetProperty(int, v8::internal::Object**, v8::internal::Isolate*) | |
1 0.2% 0.0% v8::internal::Runtime_ExportFromRuntime(int, v8::internal::Object**, v8::internal::Isolate*) | |
1 0.2% 0.0% v8::internal::Runtime_CreateObjectLiteral(int, v8::internal::Object**, v8::internal::Isolate*) | |
1 0.2% 0.0% v8::internal::Runtime_CompareIC_Miss(int, v8::internal::Object**, v8::internal::Isolate*) | |
[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 | |
9741 92.2% LazyCompile: *parse querystring.js:259:15 | |
9741 100.0% Function: ~queryparse /Volumes/code/forks/body-parser/lib/types/urlencoded.js:255:30 | |
9741 100.0% Function: ~parse /Volumes/code/forks/body-parser/lib/types/urlencoded.js:73:18 | |
9741 100.0% Function: ~<anonymous> /Volumes/code/forks/body-parser/lib/read.js:76:34 | |
9741 100.0% Function: ~invokeCallback /Volumes/code/forks/body-parser/node_modules/raw-body/index.js:216:29 | |
9741 100.0% Function: ~done /Volumes/code/forks/body-parser/node_modules/raw-body/index.js:199:17 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment