Skip to content

Instantly share code, notes, and snippets.

@evanlucas
Created August 8, 2017 21:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save evanlucas/6759ead0cde37ca0f1a5ecdb19eebf50 to your computer and use it in GitHub Desktop.
Save evanlucas/6759ead0cde37ca0f1a5ecdb19eebf50 to your computer and use it in GitHub Desktop.
8.3.0 profile
Statistical profiling result from isolate-0x102801600-v8.log, (16715 ticks, 737 unaccounted, 0 excluded).
[Shared libraries]:
ticks total nonlib name
73 0.4% /usr/lib/system/libsystem_platform.dylib
43 0.3% /usr/lib/system/libsystem_malloc.dylib
18 0.1% /usr/lib/system/libsystem_kernel.dylib
2 0.0% /usr/lib/system/libsystem_c.dylib
1 0.0% /usr/lib/system/libsystem_pthread.dylib
[JavaScript]:
ticks total nonlib name
3540 21.2% 21.4% Builtin: ArrayIndexOf
1121 6.7% 6.8% Stub: CEntryStub
28 0.2% 0.2% LazyCompile: *parse querystring.js:259:15
15 0.1% 0.1% Builtin: KeyedStoreICStrict
6 0.0% 0.0% Builtin: StringPrototypeSlice
6 0.0% 0.0% Builtin: KeyedStoreICStrictTrampoline
5 0.0% 0.0% Stub: StringAddStub_CheckNone_NotTenured
5 0.0% 0.0% Builtin: StringCharCodeAt
3 0.0% 0.0% Builtin: StringIndexOf
2 0.0% 0.0% Function: ~Module._findPath module.js:163:28
2 0.0% 0.0% Builtin: KeyedStoreIC_Megamorphic_Strict
2 0.0% 0.0% Builtin: GrowFastSmiOrObjectElements
2 0.0% 0.0% Builtin: CallFunction_ReceiverIsAny
1 0.0% 0.0% Function: ~parserOnIncoming _http_server.js:543:26
1 0.0% 0.0% Function: ~parse querystring.js:259:15
1 0.0% 0.0% Function: ~parameterCount /Volumes/code/forks/body-parser/lib/types/urlencoded.js:188:25
1 0.0% 0.0% Function: ~installInspectorConsole bootstrap_node.js:287:35
1 0.0% 0.0% Function: ~emitReadable_ _stream_readable.js:500:23
1 0.0% 0.0% Function: ~emit events.js:155:44
1 0.0% 0.0% Function: ~connectionListener _http_server.js:289:28
1 0.0% 0.0% Function: ~_tickCallback internal/process/next_tick.js:151:25
1 0.0% 0.0% Function: ~Socket.setTimeout net.js:383:39
1 0.0% 0.0% Function: ~Readable.on _stream_readable.js:760:33
1 0.0% 0.0% Builtin: KeyedLoadIC
1 0.0% 0.0% Builtin: JSConstructStubGenericUnrestrictedReturn
1 0.0% 0.0% Builtin: FastFunctionPrototypeBind
[C++]:
ticks total nonlib name
8603 51.5% 51.9% T v8::internal::String::SlowEquals(v8::internal::Handle<v8::internal::String>, v8::internal::Handle<v8::internal::String>)
2121 12.7% 12.8% T v8::internal::Runtime_StringEqual(int, v8::internal::Object**, v8::internal::Isolate*)
38 0.2% 0.2% t node::(anonymous namespace)::ContextifyScript::New(v8::FunctionCallbackInfo<v8::Value> const&)
19 0.1% 0.1% T v8::internal::StringTable::LookupKey(v8::internal::Isolate*, v8::internal::HashTableKey*)
18 0.1% 0.1% T v8::internal::NameDictionaryBase<v8::internal::NameDictionary, v8::internal::NameDictionaryShape>::FindEntry(v8::internal::Handle<v8::internal::Name>)
12 0.1% 0.1% t v8::internal::InternalizedStringKey::IsMatch(v8::internal::Object*)
12 0.1% 0.1% T v8::internal::LookupIterator::ApplyTransitionToDataProperty(v8::internal::Handle<v8::internal::JSObject>)
11 0.1% 0.1% T v8::internal::compiler::LinearScanAllocator::AllocateRegisters()
6 0.0% 0.0% t 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>)
6 0.0% 0.0% T v8::internal::Object::AddDataProperty(v8::internal::LookupIterator*, v8::internal::Handle<v8::internal::Object>, v8::internal::PropertyAttributes, v8::internal::Object::ShouldThrow, v8::internal::Object::StoreFromKeyed)
5 0.0% 0.0% t 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>&)
5 0.0% 0.0% T v8::internal::compiler::LinearScanAllocator::FindFreeRegistersForRange(v8::internal::compiler::LiveRange*, v8::internal::Vector<v8::internal::compiler::LifetimePosition>)
5 0.0% 0.0% T v8::internal::Heap::AllocateFixedArrayWithFiller(int, v8::internal::PretenureFlag, v8::internal::Object*)
5 0.0% 0.0% T v8::internal::FlexibleBodyVisitor<v8::internal::StaticScavengeVisitor, v8::internal::FlexibleBodyDescriptor<16>, int>::Visit(v8::internal::Map*, v8::internal::HeapObject*)
4 0.0% 0.0% T v8::internal::String::ComputeAndSetHash()
4 0.0% 0.0% T v8::internal::IncrementalMarkingMarkingVisitor::VisitFixedArrayIncremental(v8::internal::Map*, v8::internal::HeapObject*)
3 0.0% 0.0% t v8::internal::IterateAndScavengePromotedObjectsVisitor::VisitPointers(v8::internal::HeapObject*, v8::internal::Object**, v8::internal::Object**)
3 0.0% 0.0% t node::Binding(v8::FunctionCallbackInfo<v8::Value> const&)
3 0.0% 0.0% T void node::StreamBase::JSMethod<node::StreamWrap, &(int node::StreamBase::WriteString<(node::encoding)1>(v8::FunctionCallbackInfo<v8::Value> const&))>(v8::FunctionCallbackInfo<v8::Value> const&)
3 0.0% 0.0% T v8::internal::compiler::MoveOptimizer::MigrateMoves(v8::internal::compiler::Instruction*, v8::internal::compiler::Instruction*)
3 0.0% 0.0% T v8::internal::compiler::LiveRangeConnector::ResolveControlFlow(v8::internal::Zone*)
3 0.0% 0.0% T v8::internal::compiler::LinearScanAllocator::ProcessCurrentRange(v8::internal::compiler::LiveRange*)
3 0.0% 0.0% T v8::internal::compiler::InstructionSelector::SelectInstructions()
3 0.0% 0.0% T v8::internal::compiler::CodeGenerator::AssembleInstruction(v8::internal::compiler::Instruction*, v8::internal::compiler::InstructionBlock const*)
3 0.0% 0.0% T v8::internal::compiler::CodeGenerator::AssembleCode()
3 0.0% 0.0% T v8::internal::compiler::CodeAssemblerLabel::MergeVariables()
3 0.0% 0.0% T v8::internal::StringTable::LookupString(v8::internal::Isolate*, v8::internal::Handle<v8::internal::String>)
3 0.0% 0.0% T v8::internal::String::GetFlatContent()
3 0.0% 0.0% T v8::internal::LookupIterator::WriteDataValue(v8::internal::Handle<v8::internal::Object>, bool)
3 0.0% 0.0% T v8::internal::JsonStringifier::SerializeString(v8::internal::Handle<v8::internal::String>)
2 0.0% 0.0% t void std::__1::vector<v8::internal::compiler::Node*, v8::internal::ZoneAllocator<v8::internal::compiler::Node*> >::__push_back_slow_path<v8::internal::compiler::Node* const&>(v8::internal::compiler::Node* const&&&)
2 0.0% 0.0% t void std::__1::vector<v8::internal::compiler::Node*, std::__1::allocator<v8::internal::compiler::Node*> >::__push_back_slow_path<v8::internal::compiler::Node* const&>(v8::internal::compiler::Node* const&&&)
2 0.0% 0.0% t void std::__1::vector<v8::internal::compiler::BasicBlock*, v8::internal::ZoneAllocator<v8::internal::compiler::BasicBlock*> >::__push_back_slow_path<v8::internal::compiler::BasicBlock* const&>(v8::internal::compiler::BasicBlock* const&&&)
2 0.0% 0.0% t void std::__1::__insertion_sort_3<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*))
2 0.0% 0.0% t v8::internal::LookupIterator::State v8::internal::LookupIterator::LookupInRegularHolder<false>(v8::internal::Map*, v8::internal::JSReceiver*)
2 0.0% 0.0% t v8::internal::LookupIterator::LookupIterator(v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Name>, v8::internal::LookupIterator::Configuration)
2 0.0% 0.0% t v8::internal::JsonStringifier::Result v8::internal::JsonStringifier::Serialize_<true>(v8::internal::Handle<v8::internal::Object>, bool, v8::internal::Handle<v8::internal::Object>)
2 0.0% 0.0% t 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)
2 0.0% 0.0% t v8::internal::ConsString* v8::internal::String::VisitFlat<v8::internal::IteratingStringHasher>(v8::internal::IteratingStringHasher*, v8::internal::String*, int)
2 0.0% 0.0% t 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)
2 0.0% 0.0% T v8::internal::compiler::MoveOptimizer::CompressGaps(v8::internal::compiler::Instruction*)
2 0.0% 0.0% T v8::internal::compiler::LiveRangeSeparator::Splinter()
2 0.0% 0.0% T v8::internal::compiler::LiveRangeBuilder::ComputeLiveOut(v8::internal::compiler::InstructionBlock const*, v8::internal::compiler::RegisterAllocationData*)
2 0.0% 0.0% T v8::internal::compiler::LinearScanAllocator::TryAllocatePreferredReg(v8::internal::compiler::LiveRange*, v8::internal::Vector<v8::internal::compiler::LifetimePosition> const&)
2 0.0% 0.0% T v8::internal::compiler::JumpThreading::ApplyForwarding(v8::internal::ZoneVector<v8::internal::compiler::RpoNumber>&, v8::internal::compiler::InstructionSequence*)
2 0.0% 0.0% T v8::internal::compiler::GraphReducer::ReduceTop()
2 0.0% 0.0% T v8::internal::compiler::Graph::NewNodeUnchecked(v8::internal::compiler::Operator const*, int, v8::internal::compiler::Node* const*, bool)
2 0.0% 0.0% T v8::internal::compiler::GapResolver::Resolve(v8::internal::compiler::ParallelMove*)
2 0.0% 0.0% T v8::internal::compiler::CommonOperatorBuilder::Phi(v8::internal::MachineRepresentation, int)
2 0.0% 0.0% T v8::internal::Scanner::Scan()
2 0.0% 0.0% T 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)
2 0.0% 0.0% T v8::internal::LookupIterator::PropertyOrElement(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Object>, bool*, v8::internal::LookupIterator::Configuration)
2 0.0% 0.0% T v8::internal::Heap::Scavenge()
2 0.0% 0.0% T v8::internal::Dictionary<v8::internal::NameDictionary, v8::internal::NameDictionaryShape, v8::internal::Handle<v8::internal::Name> >::NumberOfElementsFilterAttributes(v8::internal::PropertyFilter)
2 0.0% 0.0% T 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*)
2 0.0% 0.0% T v8::internal::DescriptorArray::Sort()
2 0.0% 0.0% T v8::internal::BitVector::Iterator::Advance()
2 0.0% 0.0% T node::TTYWrap::New(v8::FunctionCallbackInfo<v8::Value> const&)
1 0.0% 0.0% t 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)
1 0.0% 0.0% t void v8::internal::LookupIterator::NextInternal<false>(v8::internal::Map*, v8::internal::JSReceiver*)
1 0.0% 0.0% t void v8::internal::BodyDescriptorApply<v8::internal::CallIterateBody, void, v8::internal::HeapObject*, int, v8::internal::ObjectVisitor*>(v8::internal::InstanceType, v8::internal::HeapObject*, int, v8::internal::ObjectVisitor*)
1 0.0% 0.0% t 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% t 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% t 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>&)
1 0.0% 0.0% t void node::Buffer::(anonymous namespace)::StringSlice<(node::encoding)1>(v8::FunctionCallbackInfo<v8::Value> const&)
1 0.0% 0.0% t v8::internal::interpreter::(anonymous namespace)::InterpreterStoreNamedPropertyAssembler::StaNamedProperty(v8::internal::Callable)
1 0.0% 0.0% t v8::internal::compiler::X64OperandGenerator::GetEffectiveAddressMemoryOperand(v8::internal::compiler::Node*, v8::internal::compiler::InstructionOperand*, unsigned long*)
1 0.0% 0.0% t v8::internal::compiler::X64OperandConverter::MemoryOperand(unsigned long*)
1 0.0% 0.0% t v8::internal::compiler::UnhandledSortHelper(v8::internal::compiler::LiveRange*, v8::internal::compiler::LiveRange*)
1 0.0% 0.0% t v8::internal::compiler::SpecialRPONumberer::SerializeRPOIntoSchedule()
1 0.0% 0.0% t v8::internal::compiler::OperandGenerator::ToConstant(v8::internal::compiler::Node const*)
1 0.0% 0.0% t v8::internal::compiler::OperandGenerator::DefineAsConstant(v8::internal::compiler::Node*, v8::internal::compiler::Constant)
1 0.0% 0.0% t 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)238, (v8::internal::compiler::IrOpcode::Value)240, (v8::internal::compiler::IrOpcode::Value)242, (v8::internal::compiler::IrOpcode::Value)234>::Initialize(v8::internal::compiler::Node*, bool)
1 0.0% 0.0% t 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)238, (v8::internal::compiler::IrOpcode::Value)240, (v8::internal::compiler::IrOpcode::Value)242, (v8::internal::compiler::IrOpcode::Value)234>::AddMatcher(v8::internal::compiler::Node*, bool)
1 0.0% 0.0% t v8::internal::compiler::(anonymous namespace)::ReplaceEffectControlUses(v8::internal::compiler::Node*, v8::internal::compiler::Node*, v8::internal::compiler::Node*)
1 0.0% 0.0% t v8::internal::compiler::(anonymous namespace)::OperandSet::ContainsOpOrAlias(v8::internal::compiler::InstructionOperand const&) const
1 0.0% 0.0% t v8::internal::StaticMarkingVisitor<v8::internal::IncrementalMarkingMarkingVisitor>::MarkMapContents(v8::internal::Heap*, v8::internal::Map*)
1 0.0% 0.0% t v8::internal::ParserBase<v8::internal::Parser>::ParseFormalParameter(v8::internal::ParserFormalParameters*, bool*)
1 0.0% 0.0% t v8::internal::ParserBase<v8::internal::Parser>::ParseAndClassifyIdentifier(bool*)
1 0.0% 0.0% t 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% t v8::internal::LiveObjectIterator<(v8::internal::LiveObjectIterationMode)0>::Next()
1 0.0% 0.0% t v8::internal::KeywordOrIdentifierToken(unsigned char const*, int)
1 0.0% 0.0% t v8::internal::JSObject::WriteToField(int, v8::internal::PropertyDetails, v8::internal::Object*)
1 0.0% 0.0% t v8::internal::Handle<v8::internal::String> v8::internal::JsonParser<true>::ScanJsonString<true>()
1 0.0% 0.0% t v8::base::TemplateHashMapEntry<void*, void*>* v8::base::TemplateHashMapImpl<void*, void*, v8::base::KeyEqualityMatcher<void*>, v8::internal::ZoneAllocationPolicy>::LookupOrInsert<v8::base::TemplateHashMapImpl<void*, void*, v8::base::KeyEqualityMatcher<void*>, v8::internal::ZoneAllocationPolicy>::LookupOrInsert(void* const&, unsigned int, v8::internal::ZoneAllocationPolicy)::'lambda'()>(void* const&, unsigned int, v8::base::TemplateHashMapImpl<void*, void*, v8::base::KeyEqualityMatcher<void*>, v8::internal::ZoneAllocationPolicy>::LookupOrInsert(void* const&, unsigned int, v8::internal::ZoneAllocationPolicy)::'lambda'() const&, v8::internal::ZoneAllocationPolicy)
1 0.0% 0.0% t unibrow::Utf8::Encode(char*, unsigned int, int, bool)
1 0.0% 0.0% t std::__1::vector<v8::internal::compiler::BasicBlock*, v8::internal::ZoneAllocator<v8::internal::compiler::BasicBlock*> >::__append(unsigned long)
1 0.0% 0.0% t std::__1::vector<int, v8::internal::ZoneAllocator<int> >::__append(unsigned long, int const&)
1 0.0% 0.0% t std::__1::__tree<std::__1::__value_type<v8::internal::compiler::CodeAssemblerVariable::Impl*, v8::internal::compiler::Node*>, std::__1::__map_value_compare<v8::internal::compiler::CodeAssemblerVariable::Impl*, std::__1::__value_type<v8::internal::compiler::CodeAssemblerVariable::Impl*, v8::internal::compiler::Node*>, std::__1::less<v8::internal::compiler::CodeAssemblerVariable::Impl*>, true>, std::__1::allocator<std::__1::__value_type<v8::internal::compiler::CodeAssemblerVariable::Impl*, v8::internal::compiler::Node*> > >::destroy(std::__1::__tree_node<std::__1::__value_type<v8::internal::compiler::CodeAssemblerVariable::Impl*, v8::internal::compiler::Node*>, void*>*)
1 0.0% 0.0% t std::__1::__tree<std::__1::__value_type<v8::internal::compiler::CodeAssemblerVariable::Impl*, std::__1::vector<v8::internal::compiler::Node*, std::__1::allocator<v8::internal::compiler::Node*> > >, std::__1::__map_value_compare<v8::internal::compiler::CodeAssemblerVariable::Impl*, std::__1::__value_type<v8::internal::compiler::CodeAssemblerVariable::Impl*, std::__1::vector<v8::internal::compiler::Node*, std::__1::allocator<v8::internal::compiler::Node*> > >, std::__1::less<v8::internal::compiler::CodeAssemblerVariable::Impl*>, true>, std::__1::allocator<std::__1::__value_type<v8::internal::compiler::CodeAssemblerVariable::Impl*, std::__1::vector<v8::internal::compiler::Node*, std::__1::allocator<v8::internal::compiler::Node*> > > > >::destroy(std::__1::__tree_node<std::__1::__value_type<v8::internal::compiler::CodeAssemblerVariable::Impl*, std::__1::vector<v8::internal::compiler::Node*, std::__1::allocator<v8::internal::compiler::Node*> > >, void*>*)
1 0.0% 0.0% t node::InternalModuleStat(v8::FunctionCallbackInfo<v8::Value> const&)
1 0.0% 0.0% t node::(anonymous namespace)::Parser::New(v8::FunctionCallbackInfo<v8::Value> const&)
1 0.0% 0.0% t node::(anonymous namespace)::Close(v8::FunctionCallbackInfo<v8::Value> const&)
1 0.0% 0.0% t int v8::internal::BinarySearch<(v8::internal::SearchMode)1, v8::internal::DescriptorArray>(v8::internal::DescriptorArray*, v8::internal::Name*, int, int*)
1 0.0% 0.0% t bool v8::internal::ScavengingVisitor<(v8::internal::MarksHandling)1, (v8::internal::LoggingAndProfiling)0>::PromoteObject<(v8::internal::ScavengingVisitor<(v8::internal::MarksHandling)1, (v8::internal::LoggingAndProfiling)0>::ObjectContents)1, (v8::internal::AllocationAlignment)0>(v8::internal::Map*, v8::internal::HeapObject**, v8::internal::HeapObject*, int)
1 0.0% 0.0% t bool v8::internal::ScavengingVisitor<(v8::internal::MarksHandling)0, (v8::internal::LoggingAndProfiling)0>::SemiSpaceCopyObject<(v8::internal::AllocationAlignment)0>(v8::internal::Map*, v8::internal::HeapObject**, v8::internal::HeapObject*, int)
1 0.0% 0.0% T v8::internal::interpreter::BytecodeArrayWriter::EmitBytecode(v8::internal::interpreter::BytecodeNode const*)
1 0.0% 0.0% T v8::internal::compiler::TopLevelLiveRange::Splinter(v8::internal::compiler::LifetimePosition, v8::internal::compiler::LifetimePosition, v8::internal::Zone*)
1 0.0% 0.0% T v8::internal::compiler::TopLevelLiveRange::AddUsePosition(v8::internal::compiler::UsePosition*)
1 0.0% 0.0% T v8::internal::compiler::Scheduler::PrepareUses()
1 0.0% 0.0% T v8::internal::compiler::Schedule::PropagateDeferredMark()
1 0.0% 0.0% T v8::internal::compiler::Schedule::NewBasicBlock()
1 0.0% 0.0% T v8::internal::compiler::Schedule::AddNode(v8::internal::compiler::BasicBlock*, v8::internal::compiler::Node*)
1 0.0% 0.0% T v8::internal::compiler::Schedule::AddBranch(v8::internal::compiler::BasicBlock*, v8::internal::compiler::Node*, v8::internal::compiler::BasicBlock*, v8::internal::compiler::BasicBlock*)
1 0.0% 0.0% T v8::internal::compiler::RegisterAllocator::SplitAndSpillRangesDefinedByMemoryOperand()
1 0.0% 0.0% T v8::internal::compiler::RegisterAllocationData::GetOrCreateLiveRangeFor(int)
1 0.0% 0.0% T v8::internal::compiler::RawMachineAssembler::Bind(v8::internal::compiler::RawMachineLabel*)
1 0.0% 0.0% T v8::internal::compiler::PipelineImpl::AllocateRegisters(v8::internal::RegisterConfiguration const*, v8::internal::compiler::CallDescriptor*, bool)
1 0.0% 0.0% T 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% T v8::internal::compiler::OperandAssigner::CommitAssignment()
1 0.0% 0.0% T v8::internal::compiler::Node::New(v8::internal::Zone*, unsigned int, v8::internal::compiler::Operator const*, int, v8::internal::compiler::Node* const*, bool)
1 0.0% 0.0% T v8::internal::compiler::Node::InsertInput(v8::internal::Zone*, int, v8::internal::compiler::Node*)
1 0.0% 0.0% T v8::internal::compiler::MoveOptimizer::OptimizeMerge(v8::internal::compiler::InstructionBlock*)
1 0.0% 0.0% T v8::internal::compiler::LoadRepresentationOf(v8::internal::compiler::Operator const*)
1 0.0% 0.0% T v8::internal::compiler::LiveRangeMerger::Merge()
1 0.0% 0.0% T v8::internal::compiler::LiveRangeBuilder::ProcessPhis(v8::internal::compiler::InstructionBlock const*, v8::internal::BitVector*)
1 0.0% 0.0% T v8::internal::compiler::LiveRangeBuilder::ProcessInstructions(v8::internal::compiler::InstructionBlock const*, v8::internal::BitVector*)
1 0.0% 0.0% T v8::internal::compiler::LiveRangeBuilder::LiveRangeFor(v8::internal::compiler::InstructionOperand*)
1 0.0% 0.0% T v8::internal::compiler::LiveRangeBuilder::AddInitialIntervals(v8::internal::compiler::InstructionBlock const*, v8::internal::BitVector*)
1 0.0% 0.0% T v8::internal::compiler::LiveRange::DetachAt(v8::internal::compiler::LifetimePosition, v8::internal::compiler::LiveRange*, v8::internal::Zone*, v8::internal::compiler::LiveRange::HintConnectionOption)
1 0.0% 0.0% T v8::internal::compiler::LinearScanAllocator::TryAllocateFreeReg(v8::internal::compiler::LiveRange*, v8::internal::Vector<v8::internal::compiler::LifetimePosition> const&)
1 0.0% 0.0% T v8::internal::compiler::LinearScanAllocator::SetLiveRangeAssignedRegister(v8::internal::compiler::LiveRange*, int)
1 0.0% 0.0% T v8::internal::compiler::FrameElider::Run()
1 0.0% 0.0% T v8::internal::compiler::FrameElider::MarkDeConstruction()
1 0.0% 0.0% T v8::internal::compiler::ConstraintBuilder::MeetRegisterConstraintsForLastInstructionInBlock(v8::internal::compiler::InstructionBlock const*)
1 0.0% 0.0% T v8::internal::compiler::ConstraintBuilder::MeetConstraintsBefore(int)
1 0.0% 0.0% T v8::internal::compiler::CommonOperatorBuilder::Return(int)
1 0.0% 0.0% T v8::internal::compiler::CommonOperatorBuilder::IfValue(int)
1 0.0% 0.0% T v8::internal::compiler::CommonOperatorBuilder::CommonOperatorBuilder(v8::internal::Zone*)
1 0.0% 0.0% T v8::internal::compiler::CodeGenerator::TranslateFrameStateDescriptorOperands(v8::internal::compiler::FrameStateDescriptor*, v8::internal::compiler::InstructionOperandIterator*, v8::internal::compiler::OutputFrameStateCombine, v8::internal::Translation*)
1 0.0% 0.0% T v8::internal::compiler::CodeGenerator::PopulateDeoptimizationData(v8::internal::Handle<v8::internal::Code>)
1 0.0% 0.0% T v8::internal::compiler::CodeGenerator::AssembleMove(v8::internal::compiler::InstructionOperand*, v8::internal::compiler::InstructionOperand*)
1 0.0% 0.0% T v8::internal::compiler::CodeAssemblerVariable::CodeAssemblerVariable(v8::internal::compiler::CodeAssembler*, v8::internal::MachineRepresentation)
1 0.0% 0.0% T v8::internal::compiler::CodeAssemblerLabel::~CodeAssemblerLabel()
1 0.0% 0.0% T v8::internal::compiler::CodeAssemblerLabel::UpdateVariablesAfterBind()
1 0.0% 0.0% T v8::internal::compiler::BasicBlock::GetCommonDominator(v8::internal::compiler::BasicBlock*, v8::internal::compiler::BasicBlock*)
1 0.0% 0.0% T v8::internal::Zone::New(unsigned long)
1 0.0% 0.0% T v8::internal::TransitionArray::SearchTransition(v8::internal::Map*, v8::internal::PropertyKind, v8::internal::Name*, v8::internal::PropertyAttributes)
1 0.0% 0.0% T v8::internal::TransitionArray::Search(v8::internal::PropertyKind, v8::internal::Name*, v8::internal::PropertyAttributes, int*)
1 0.0% 0.0% T v8::internal::String::SlowEquals(v8::internal::String*)
1 0.0% 0.0% T v8::internal::String::IsOneByteEqualTo(v8::internal::Vector<unsigned char const>)
1 0.0% 0.0% T v8::internal::String::CalculateLineEnds(v8::internal::Handle<v8::internal::String>, bool)
1 0.0% 0.0% T v8::internal::Space::AllocationStep(unsigned char*, int)
1 0.0% 0.0% T v8::internal::ScavengingVisitor<(v8::internal::MarksHandling)1, (v8::internal::LoggingAndProfiling)0>::EvacuateSeqOneByteString(v8::internal::Map*, v8::internal::HeapObject**, v8::internal::HeapObject*)
1 0.0% 0.0% T v8::internal::Scanner::Next()
1 0.0% 0.0% T v8::internal::MemoryAllocator::AllocateChunk(unsigned long, unsigned long, v8::internal::Executability, v8::internal::Space*)
1 0.0% 0.0% T v8::internal::MathPowStub::Generate(v8::internal::MacroAssembler*)
1 0.0% 0.0% T v8::internal::MapUpdater::BuildDescriptorArray()
1 0.0% 0.0% T v8::internal::Map::CopyDropDescriptors(v8::internal::Handle<v8::internal::Map>)
1 0.0% 0.0% T v8::internal::LookupIterator::PrepareTransitionToDataProperty(v8::internal::Handle<v8::internal::JSObject>, v8::internal::Handle<v8::internal::Object>, v8::internal::PropertyAttributes, v8::internal::Object::StoreFromKeyed)
1 0.0% 0.0% T v8::internal::LookupIterator::GetDataValue() const
1 0.0% 0.0% T v8::internal::LookupIterator::FetchValue() const
1 0.0% 0.0% T v8::internal::Log::MessageBuilder::AppendDoubleQuotedString(char const*)
1 0.0% 0.0% T v8::internal::LocalEmbedderHeapTracer::RegisterWrappersWithRemoteTracer()
1 0.0% 0.0% T v8::internal::LAllocator::LAllocator(int, v8::internal::HGraph*)
1 0.0% 0.0% T v8::internal::JsonStringifier::SerializeJSReceiverSlow(v8::internal::Handle<v8::internal::JSReceiver>)
1 0.0% 0.0% T v8::internal::JSObject::OptimizeAsPrototype(v8::internal::Handle<v8::internal::JSObject>, v8::internal::PrototypeOptimizationMode)
1 0.0% 0.0% T v8::internal::JSObject::MigrateToMap(v8::internal::Handle<v8::internal::JSObject>, v8::internal::Handle<v8::internal::Map>, int)
1 0.0% 0.0% T v8::internal::JSObject::AddDataElement(v8::internal::Handle<v8::internal::JSObject>, unsigned int, v8::internal::Handle<v8::internal::Object>, v8::internal::PropertyAttributes, v8::internal::Object::ShouldThrow)
1 0.0% 0.0% T v8::internal::IncrementalMarking::Step(unsigned long, v8::internal::IncrementalMarking::CompletionAction, v8::internal::IncrementalMarking::ForceCompletionAction, v8::internal::StepOrigin)
1 0.0% 0.0% T v8::internal::IncrementalMarking::RecordWriteSlow(v8::internal::HeapObject*, v8::internal::Object**, v8::internal::Object*)
1 0.0% 0.0% T v8::internal::Heap::ProcessPretenuringFeedback()
1 0.0% 0.0% T v8::internal::Heap::NotifyObjectLayoutChange(v8::internal::HeapObject*, v8::internal::PerThreadAssertScopeDebugOnly<(v8::internal::PerThreadAssertType)0, false> const&)
1 0.0% 0.0% T v8::internal::Heap::InitializeJSObjectFromMap(v8::internal::JSObject*, v8::internal::FixedArray*, v8::internal::Map*)
1 0.0% 0.0% T v8::internal::Heap::InitializeJSObjectBody(v8::internal::JSObject*, v8::internal::Map*, int)
1 0.0% 0.0% T v8::internal::Heap::DoScavenge(unsigned char*)
1 0.0% 0.0% T v8::internal::Heap::CopyFixedArrayAndGrow(v8::internal::FixedArray*, int, v8::internal::PretenureFlag)
1 0.0% 0.0% T v8::internal::Heap::AllocateMap(v8::internal::InstanceType, int, v8::internal::ElementsKind)
1 0.0% 0.0% T v8::internal::HGraph::OrderBlocks()
1 0.0% 0.0% T v8::internal::ContextSlotCache::Clear()
1 0.0% 0.0% T v8::internal::CompareOperation::IsLiteralCompareNull(v8::internal::Expression**)
1 0.0% 0.0% T v8::internal::CodeStubAssembler::ElementOffsetFromIndex(v8::internal::compiler::Node*, v8::internal::ElementsKind, v8::internal::CodeStubAssembler::ParameterMode, int)
1 0.0% 0.0% T v8::internal::AstValueFactory::Internalize(v8::internal::Isolate*)
1 0.0% 0.0% T v8::internal::AstNumberingVisitor::VisitUnaryOperation(v8::internal::UnaryOperation*)
1 0.0% 0.0% T v8::internal::Assembler::shift(v8::internal::Register, int, int)
1 0.0% 0.0% T v8::internal::Assembler::load_rax(v8::internal::ExternalReference)
1 0.0% 0.0% T v8::internal::Assembler::emit_movzxb(v8::internal::Register, v8::internal::Operand const&, int)
[Summary]:
ticks total nonlib name
4750 28.4% 28.7% JavaScript
11091 66.4% 66.9% C++
36 0.2% 0.2% GC
137 0.8% Shared libraries
737 4.4% Unaccounted
[C++ entry points]:
ticks cpp total name
10785 98.0% 64.5% T v8::internal::Runtime_StringEqual(int, v8::internal::Object**, v8::internal::Isolate*)
101 0.9% 0.6% T v8::internal::Runtime_SetProperty(int, v8::internal::Object**, v8::internal::Isolate*)
50 0.5% 0.3% T v8::internal::Builtin_HandleApiCall(int, v8::internal::Object**, v8::internal::Isolate*)
27 0.2% 0.2% T v8::internal::Builtin_JsonStringify(int, v8::internal::Object**, v8::internal::Isolate*)
19 0.2% 0.1% T v8::internal::Runtime_CompileLazy(int, v8::internal::Object**, v8::internal::Isolate*)
5 0.0% 0.0% T v8::internal::Runtime_CompileOptimized_NotConcurrent(int, v8::internal::Object**, v8::internal::Isolate*)
5 0.0% 0.0% T v8::internal::Builtin_JsonParse(int, v8::internal::Object**, v8::internal::Isolate*)
3 0.0% 0.0% T v8::internal::Runtime_NewObject(int, v8::internal::Object**, v8::internal::Isolate*)
2 0.0% 0.0% T v8::internal::Runtime_StoreIC_Miss(int, v8::internal::Object**, v8::internal::Isolate*)
2 0.0% 0.0% T v8::internal::Runtime_CompileForOnStackReplacement(int, v8::internal::Object**, v8::internal::Isolate*)
1 0.0% 0.0% T v8::internal::Runtime_StackGuard(int, v8::internal::Object**, v8::internal::Isolate*)
1 0.0% 0.0% T v8::internal::Runtime_SetCode(int, v8::internal::Object**, v8::internal::Isolate*)
1 0.0% 0.0% T v8::internal::Runtime_RegExpExec(int, v8::internal::Object**, v8::internal::Isolate*)
1 0.0% 0.0% T v8::internal::Runtime_ObjectKeys(int, v8::internal::Object**, v8::internal::Isolate*)
1 0.0% 0.0% T v8::internal::Runtime_LoadIC_Miss(int, v8::internal::Object**, v8::internal::Isolate*)
1 0.0% 0.0% T v8::internal::Runtime_FunctionSetPrototype(int, v8::internal::Object**, v8::internal::Isolate*)
1 0.0% 0.0% T v8::internal::Runtime_CreateObjectLiteral(int, v8::internal::Object**, v8::internal::Isolate*)
1 0.0% 0.0% T v8::internal::Runtime_CreateArrayLiteral(int, v8::internal::Object**, v8::internal::Isolate*)
1 0.0% 0.0% T v8::internal::Runtime_CompileOptimized_Concurrent(int, v8::internal::Object**, v8::internal::Isolate*)
1 0.0% 0.0% T v8::internal::Builtin_ObjectDefineProperty(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 1.0% are not shown.
ticks parent name
8603 51.5% T v8::internal::String::SlowEquals(v8::internal::Handle<v8::internal::String>, v8::internal::Handle<v8::internal::String>)
8603 100.0% T v8::internal::Runtime_StringEqual(int, v8::internal::Object**, v8::internal::Isolate*)
8603 100.0% Builtin: ArrayIndexOf
8548 99.4% LazyCompile: *parse querystring.js:259:15
8548 100.0% Function: ~queryparse /Volumes/code/forks/body-parser/lib/types/urlencoded.js:255:30
8548 100.0% Function: ~parse /Volumes/code/forks/body-parser/lib/types/urlencoded.js:73:18
3540 21.2% Builtin: ArrayIndexOf
3525 99.6% LazyCompile: *parse querystring.js:259:15
3525 100.0% Function: ~queryparse /Volumes/code/forks/body-parser/lib/types/urlencoded.js:255:30
3525 100.0% Function: ~parse /Volumes/code/forks/body-parser/lib/types/urlencoded.js:73:18
3525 100.0% Function: ~<anonymous> /Volumes/code/forks/body-parser/lib/read.js:76:34
3525 100.0% Function: ~invokeCallback /Volumes/code/forks/body-parser/node_modules/raw-body/index.js:216:29
2121 12.7% T v8::internal::Runtime_StringEqual(int, v8::internal::Object**, v8::internal::Isolate*)
2121 100.0% T v8::internal::Runtime_StringEqual(int, v8::internal::Object**, v8::internal::Isolate*)
2121 100.0% Builtin: ArrayIndexOf
2110 99.5% LazyCompile: *parse querystring.js:259:15
2110 100.0% Function: ~queryparse /Volumes/code/forks/body-parser/lib/types/urlencoded.js:255:30
2110 100.0% Function: ~parse /Volumes/code/forks/body-parser/lib/types/urlencoded.js:73:18
1121 6.7% Stub: CEntryStub
808 72.1% T v8::internal::Runtime_StringEqual(int, v8::internal::Object**, v8::internal::Isolate*)
808 100.0% Builtin: ArrayIndexOf
804 99.5% LazyCompile: *parse querystring.js:259:15
804 100.0% Function: ~queryparse /Volumes/code/forks/body-parser/lib/types/urlencoded.js:255:30
804 100.0% Function: ~parse /Volumes/code/forks/body-parser/lib/types/urlencoded.js:73:18
171 15.3% LazyCompile: *parse querystring.js:259:15
171 100.0% Function: ~queryparse /Volumes/code/forks/body-parser/lib/types/urlencoded.js:255:30
171 100.0% Function: ~parse /Volumes/code/forks/body-parser/lib/types/urlencoded.js:73:18
171 100.0% Function: ~<anonymous> /Volumes/code/forks/body-parser/lib/read.js:76:34
171 100.0% Function: ~invokeCallback /Volumes/code/forks/body-parser/node_modules/raw-body/index.js:216:29
141 12.6% Builtin: ArrayIndexOf
141 100.0% LazyCompile: *parse querystring.js:259:15
141 100.0% Function: ~queryparse /Volumes/code/forks/body-parser/lib/types/urlencoded.js:255:30
141 100.0% Function: ~parse /Volumes/code/forks/body-parser/lib/types/urlencoded.js:73:18
141 100.0% Function: ~<anonymous> /Volumes/code/forks/body-parser/lib/read.js:76:34
737 4.4% UNKNOWN
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment