Created
August 8, 2017 21:59
-
-
Save evanlucas/6759ead0cde37ca0f1a5ecdb19eebf50 to your computer and use it in GitHub Desktop.
8.3.0 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, (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