Closed richmarr closed 7 years ago
Hey,
I take the stance that getters, memoized or not, are perfectly valid object properties meant to be indistinguishable from precomputed properties. There's always code running during JSON serialization, be it through getters, new-found proxy objects or even plain toJSON
. Especially because of the latter, I'd put all the onus on authors of given objects to ensure their getters are external side-effect free. While memoized getters depend on side-effects for caching, they're not meant to be observable outside of the object.
As for your Pg case, well, thanks for sharing the story. :-) I wouldn't bother adding more functionality to this lib though. If there's a need for behavior dependent on property or object types, I support you throwing a new module out there. :)
I ran into this very same issue with the same libraries (sequelize, pg, pg-native). I support the idea that getters are valid properties for stringification.
In this case pg is trying to require('pg-native') whenever its native
property is accessed. I would expect an error to be thrown and for the program to exit. However my program is stuck consuming cpu inside json-stringify-safe
.
Could this be avoided?
Here's a profile report from node:
update: After digging in some more, the behaviour I described (crash and exit) seems to be the usual case. There must be something going on in the library (raven) we use for error reporting that causes the hangup.
Code move event for unknown code: 0x23d8bdce2840
Code move event for unknown code: 0x23d8bdce6780
Statistical profiling result from isolate-0x103801600-v8.log, (23733 ticks, 1378 unaccounted, 0 excluded).
[Shared libraries]:
ticks total nonlib name
1504 6.3% /usr/lib/system/libsystem_platform.dylib
226 1.0% /usr/lib/system/libsystem_kernel.dylib
32 0.1% /usr/lib/system/libsystem_malloc.dylib
29 0.1% /usr/lib/system/libsystem_c.dylib
5 0.0% /usr/lib/system/libsystem_pthread.dylib
2 0.0% /usr/lib/libc++abi.dylib
1 0.0% /usr/lib/libc++.1.dylib
[JavaScript]:
ticks total nonlib name
2833 11.9% 12.9% LazyCompile: *<anonymous> /Users/juanjo/dev/schoolhub/api/node_modules/json-stringify-safe/stringify.js:16:18
261 1.1% 1.2% LazyCompile: *DoJoin native array.js:97:16
188 0.8% 0.9% LazyCompile: *ConvertToString native array.js:135:25
145 0.6% 0.7% Stub: CEntryStub {1}
135 0.6% 0.6% Stub: JSEntryStub
121 0.5% 0.6% Builtin: JSEntryTrampoline
95 0.4% 0.4% Builtin: ArraySplice
86 0.4% 0.4% LazyCompile: *cycleReplacer /Users/juanjo/dev/schoolhub/api/node_modules/json-stringify-safe/stringify.js:11:54
68 0.3% 0.3% Builtin: CallFunction_ReceiverIsAny
39 0.2% 0.2% Builtin: ToString
32 0.1% 0.1% LazyCompile: *Join native array.js:122:14
31 0.1% 0.1% Stub: InternalArraySingleArgumentConstructorStub
18 0.1% 0.1% Stub: StringAddStub
17 0.1% 0.1% LazyCompile: *join native array.js:289:19
14 0.1% 0.1% LazyCompile: *StackPush native array.js:82:19
13 0.1% 0.1% Builtin: Call_ReceiverIsAny
12 0.1% 0.1% Stub: RecordWriteStub {1}
12 0.1% 0.1% Stub: CEntryStub
12 0.1% 0.1% LazyCompile: *InnerArrayJoin native array.js:276:24
9 0.0% 0.0% Builtin: ConstructFunction
9 0.0% 0.0% Builtin: Construct
8 0.0% 0.0% Builtin: StringEqual
7 0.0% 0.0% LazyCompile: *StackPop native array.js:85:18
7 0.0% 0.0% Builtin: ToBoolean
6 0.0% 0.0% LazyCompile: *UseSparseVariant native array.js:64:26
5 0.0% 0.0% LazyCompile: *get native collection.js:240:16
4 0.0% 0.0% Stub: InternalArrayConstructorStub
4 0.0% 0.0% LazyCompile: *StackHas native array.js:88:18
4 0.0% 0.0% Builtin: ObjectHasOwnProperty
4 0.0% 0.0% Builtin: ArraySlice
3 0.0% 0.0% Stub: SubStringStub
3 0.0% 0.0% Stub: CreateWeakCellStub
3 0.0% 0.0% LazyCompile: ~realpathSync fs.js:1563:40
3 0.0% 0.0% LazyCompile: *normalizeStringPosix path.js:78:30
2 0.0% 0.0% Stub: RegExpExecStub
2 0.0% 0.0% Stub: CallConstructStub
2 0.0% 0.0% Stub: BinaryOpWithAllocationSiteStub
2 0.0% 0.0% RegExp: (.*?)(?:[/]+|$)
2 0.0% 0.0% LazyCompile: ~Module._compile module.js:511:37
2 0.0% 0.0% LazyCompile: *resolve path.js:1131:28
2 0.0% 0.0% KeyedLoadIC: A keyed load IC from the snapshot
2 0.0% 0.0% Builtin: CompileLazy
2 0.0% 0.0% Builtin: CallFunction_ReceiverIsNotNullOrUndefined
1 0.0% 0.0% Stub: ToBooleanICStub(Undefined,Bool,String)
1 0.0% 0.0% Stub: ToBooleanICStub(Null,SpecObject)
1 0.0% 0.0% Stub: ShiftRightLogicalStub
1 0.0% 0.0% Stub: RecordWriteStub {2}
1 0.0% 0.0% Stub: RecordWriteStub
1 0.0% 0.0% Stub: LoadConstantStub {1}
1 0.0% 0.0% Stub: LoadConstantStub
1 0.0% 0.0% Stub: GrowArrayElementsStub
1 0.0% 0.0% Stub: FastNewStrictArgumentsStub
1 0.0% 0.0% Stub: FastNewObjectStub
1 0.0% 0.0% Stub: FastNewFunctionContextStub
1 0.0% 0.0% Stub: FastCloneShallowObjectStub
1 0.0% 0.0% Stub: FastCloneShallowArrayStub
1 0.0% 0.0% Stub: FastArrayPushStub
1 0.0% 0.0% Stub: CompareICStub {1}
1 0.0% 0.0% Stub: CompareICStub
1 0.0% 0.0% RegExp: ss$
1 0.0% 0.0% RegExp: ((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$
1 0.0% 0.0% LazyCompile: ~slowToString buffer.js:434:22
1 0.0% 0.0% LazyCompile: ~lookup dns.js:102:16
1 0.0% 0.0% LazyCompile: ~lodash.(anonymous function) /Users/juanjo/dev/schoolhub/api/node_modules/sequelize/node_modules/lodash/lodash.js:16120:46
1 0.0% 0.0% LazyCompile: ~isPrototype /Users/juanjo/dev/schoolhub/api/node_modules/sequelize/node_modules/lodash/lodash.js:5763:25
1 0.0% 0.0% LazyCompile: ~initSocketHandle net.js:121:26
1 0.0% 0.0% LazyCompile: ~inherit /Users/juanjo/dev/schoolhub/api/node_modules/aws-sdk/lib/util.js:586:28
1 0.0% 0.0% LazyCompile: ~filterOutReservedFunctions /Users/juanjo/dev/schoolhub/api/node_modules/request/request.js:59:36
1 0.0% 0.0% LazyCompile: ~exports.inherits util.js:982:28
1 0.0% 0.0% LazyCompile: ~defineMethods /Users/juanjo/dev/schoolhub/api/node_modules/aws-sdk/lib/service.js:456:40
1 0.0% 0.0% LazyCompile: ~_apply_rules /Users/juanjo/dev/schoolhub/api/node_modules/inflection/lib/inflection.js:587:29
1 0.0% 0.0% LazyCompile: ~[Symbol.replace] native regexp.js:481:31
1 0.0% 0.0% LazyCompile: ~Uint8Array native typedarray.js:229:31
1 0.0% 0.0% LazyCompile: ~Request.onRequestResponse /Users/juanjo/dev/schoolhub/api/node_modules/request/request.js:887:48
1 0.0% 0.0% LazyCompile: ~Queue.shift /Users/juanjo/dev/schoolhub/api/node_modules/bluebird/js/release/queue.js:44:34
1 0.0% 0.0% LazyCompile: ~Module._resolveLookupPaths module.js:315:38
1 0.0% 0.0% LazyCompile: ~Module._findPath module.js:148:28
1 0.0% 0.0% LazyCompile: ~Model.refreshAttributes /Users/juanjo/dev/schoolhub/api/node_modules/sequelize/lib/model.js:741:45
1 0.0% 0.0% LazyCompile: ~DoJoin native array.js:97:16
1 0.0% 0.0% LazyCompile: ~<anonymous> /Users/juanjo/dev/schoolhub/api/node_modules/sequelize/node_modules/lodash/lodash.js:4381:22
1 0.0% 0.0% LazyCompile: ~<anonymous> /Users/juanjo/dev/schoolhub/api/node_modules/lodash/lodash.js:6704:22
1 0.0% 0.0% LazyCompile: *set native collection.js:253:16
1 0.0% 0.0% LazyCompile: *isPrototype /Users/juanjo/dev/schoolhub/api/node_modules/sequelize/node_modules/lodash/lodash.js:5763:25
1 0.0% 0.0% LazyCompile: *fs.fstatSync fs.js:953:24
1 0.0% 0.0% LazyCompile: *basename path.js:1352:30
1 0.0% 0.0% LazyCompile: *Script.runInThisContext vm.js:19:45
1 0.0% 0.0% LazyCompile: *Module._compile module.js:511:37
1 0.0% 0.0% LazyCompile: *Buffer.toString buffer.js:501:37
1 0.0% 0.0% KeyedLoadIC: A keyed load IC from the snapshot {1}
1 0.0% 0.0% Handler: _popContext
1 0.0% 0.0% Handler: An IC handler from the snapshot {1}
1 0.0% 0.0% Handler: An IC handler from the snapshot
1 0.0% 0.0% Function: ~<anonymous> /Users/juanjo/dev/schoolhub/api/node_modules/aws-sdk/clients/codecommit.js:1:11
1 0.0% 0.0% Builtin: StringFromCharCode
1 0.0% 0.0% Builtin: RegExpPrototypeExec
1 0.0% 0.0% Builtin: FunctionPrototypeHasInstance
1 0.0% 0.0% Builtin: ArgumentsAdaptorTrampoline
[C++]:
ticks total nonlib name
1802 7.6% 8.2% v8::internal::JsonStringifier::Result v8::internal::JsonStringifier::Serialize_<true>(v8::internal::Handle<v8::internal::Object>, bool, v8::internal::Handle<v8::internal::Object>)
1576 6.6% 7.2% v8::internal::JsonStringifier::SerializeString(v8::internal::Handle<v8::internal::String>)
794 3.3% 3.6% v8::internal::Builtin_Impl_ArraySplice(v8::internal::BuiltinArguments, v8::internal::Isolate*)
721 3.0% 3.3% v8::internal::(anonymous namespace)::EnsureJSArrayWithWritableFastElements(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Object>, v8::internal::BuiltinArguments*, int)
675 2.8% 3.1% v8::internal::(anonymous namespace)::ElementsAccessorBase<v8::internal::(anonymous namespace)::FastPackedObjectElementsAccessor, v8::internal::(anonymous namespace)::ElementsKindTraits<(v8::internal::ElementsKind)2> >::Splice(v8::internal::Handle<v8::internal::JSArray>, unsigned int, unsigned int, v8::internal::Arguments*, unsigned int)
616 2.6% 2.8% v8::internal::(anonymous namespace)::CopyObjectToObjectElements(v8::internal::FixedArrayBase*, v8::internal::ElementsKind, unsigned int, v8::internal::FixedArrayBase*, v8::internal::ElementsKind, unsigned int, int)
615 2.6% 2.8% void v8::internal::String::WriteToFlat<unsigned short>(v8::internal::String*, unsigned short*, int, int)
475 2.0% 2.2% v8::internal::PagedSpace::Available()
470 2.0% 2.1% v8::internal::(anonymous namespace)::FastElementsAccessor<v8::internal::(anonymous namespace)::FastPackedObjectElementsAccessor, v8::internal::(anonymous namespace)::ElementsKindTraits<(v8::internal::ElementsKind)2> >::CopyArguments(v8::internal::Arguments*, v8::internal::Handle<v8::internal::FixedArrayBase>, unsigned int, unsigned int, unsigned int)
440 1.9% 2.0% v8::internal::Factory::NewJSArrayStorage(v8::internal::Handle<v8::internal::JSArray>, int, int, v8::internal::ArrayStorageAllocationMode)
411 1.7% 1.9% v8::internal::Runtime_StringBuilderJoin(int, v8::internal::Object**, v8::internal::Isolate*)
411 1.7% 1.9% 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>)
382 1.6% 1.7% v8::internal::Heap::AllocateRaw(int, v8::internal::AllocationSpace, v8::internal::AllocationAlignment)
375 1.6% 1.7% v8::internal::Factory::NewJSArray(v8::internal::ElementsKind, v8::internal::PretenureFlag)
360 1.5% 1.6% v8::internal::Heap::InitializeJSObjectFromMap(v8::internal::JSObject*, v8::internal::FixedArray*, v8::internal::Map*)
299 1.3% 1.4% node::ContextifyScript::New(v8::FunctionCallbackInfo<v8::Value> const&)
284 1.2% 1.3% v8::internal::LookupIterator::State v8::internal::LookupIterator::LookupInRegularHolder<false>(v8::internal::Map*, v8::internal::JSReceiver*)
279 1.2% 1.3% v8::internal::JsonStringifier::ApplyReplacerFunction(v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Object>)
275 1.2% 1.3% v8::internal::JsonStringifier::StackPush(v8::internal::Handle<v8::internal::Object>)
247 1.0% 1.1% v8::internal::Heap::Scavenge()
221 0.9% 1.0% v8::internal::Factory::NewJSObjectFromMap(v8::internal::Handle<v8::internal::Map>, v8::internal::PretenureFlag, v8::internal::Handle<v8::internal::AllocationSite>)
204 0.9% 0.9% v8::internal::Handle<v8::internal::Object> v8::internal::HandleScope::CloseAndEscape<v8::internal::Object>(v8::internal::Handle<v8::internal::Object>)
194 0.8% 0.9% v8::internal::SaveContext::SaveContext(v8::internal::Isolate*)
174 0.7% 0.8% v8::internal::JSObject::FastPropertyAt(v8::internal::Handle<v8::internal::JSObject>, v8::internal::Representation, v8::internal::FieldIndex)
162 0.7% 0.7% int v8::internal::BinarySearch<(v8::internal::SearchMode)1, v8::internal::DescriptorArray>(v8::internal::DescriptorArray*, v8::internal::Name*, int, int*)
159 0.7% 0.7% v8::internal::Execution::Call(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Object>, int, v8::internal::Handle<v8::internal::Object>*)
142 0.6% 0.6% void v8::internal::LookupIterator::NextInternal<false>(v8::internal::Map*, v8::internal::JSReceiver*)
136 0.6% 0.6% v8::internal::Heap::Allocate(v8::internal::Map*, v8::internal::AllocationSpace, v8::internal::AllocationSite*)
135 0.6% 0.6% v8::internal::Heap::AllocateRawFixedArray(int, v8::internal::PretenureFlag)
119 0.5% 0.5% v8::internal::Factory::NewUninitializedFixedArray(int)
117 0.5% 0.5% v8::internal::JsonStringifier::ApplyToJsonFunction(v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Object>)
117 0.5% 0.5% v8::internal::Heap::InitializeJSObjectBody(v8::internal::JSObject*, v8::internal::Map*, int)
106 0.4% 0.5% v8::internal::JsonStringifier::CurrentHolder(v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Object>)
100 0.4% 0.5% v8::internal::Factory::NewJSArray(v8::internal::ElementsKind, int, int, v8::internal::ArrayStorageAllocationMode, v8::internal::PretenureFlag)
98 0.4% 0.4% v8::internal::Heap::AllocateJSObjectFromMap(v8::internal::Map*, v8::internal::PretenureFlag, v8::internal::AllocationSite*)
93 0.4% 0.4% v8::internal::IncrementalMarking::Step(unsigned long, v8::internal::IncrementalMarking::CompletionAction, v8::internal::IncrementalMarking::ForceCompletionAction, v8::internal::StepOrigin)
78 0.3% 0.4% v8::internal::JSObject::EnsureWritableFastElements(v8::internal::Handle<v8::internal::JSObject>)
78 0.3% 0.4% v8::internal::JSArray::SetLengthWouldNormalize(unsigned int)
75 0.3% 0.3% v8::internal::JsonStringifier::SerializeJSReceiverSlow(v8::internal::Handle<v8::internal::JSReceiver>)
70 0.3% 0.3% v8::internal::String::GetFlatContent()
68 0.3% 0.3% v8::internal::(anonymous namespace)::FastElementsAccessor<v8::internal::(anonymous namespace)::FastPackedObjectElementsAccessor, v8::internal::(anonymous namespace)::ElementsKindTraits<(v8::internal::ElementsKind)2> >::MoveElements(v8::internal::Isolate*, v8::internal::Handle<v8::internal::JSArray>, v8::internal::Handle<v8::internal::FixedArrayBase>, int, int, int, int, int)
60 0.3% 0.3% v8::internal::Builtin_ArraySplice(int, v8::internal::Object**, v8::internal::Isolate*)
59 0.2% 0.3% v8::internal::Heap::AllocateUninitializedFixedArray(int)
58 0.2% 0.3% int v8::internal::Search<(v8::internal::SearchMode)1, v8::internal::DescriptorArray>(v8::internal::DescriptorArray*, v8::internal::Name*, int, int*)
54 0.2% 0.2% v8::internal::JSArray::SetLength(v8::internal::Handle<v8::internal::JSArray>, unsigned int)
51 0.2% 0.2% v8::internal::LookupIterator::LookupIterator(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)
50 0.2% 0.2% void v8::internal::LookupIterator::Start<false>()
49 0.2% 0.2% v8::internal::Isolate::get_initial_js_array_map(v8::internal::ElementsKind)
48 0.2% 0.2% v8::internal::SaveContext::~SaveContext()
47 0.2% 0.2% v8::internal::Object::GetProperty(v8::internal::LookupIterator*)
46 0.2% 0.2% v8::internal::JSArray::HasReadOnlyLength(v8::internal::Handle<v8::internal::JSArray>)
45 0.2% 0.2% v8::internal::String::SlowFlatten(v8::internal::Handle<v8::internal::ConsString>, v8::internal::PretenureFlag)
44 0.2% 0.2% v8::internal::LookupIterator::LookupIterator(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Name>, v8::internal::LookupIterator::Configuration)
44 0.2% 0.2% v8::internal::Isolate::IsAnyInitialArrayPrototype(v8::internal::Handle<v8::internal::JSArray>)
43 0.2% 0.2% v8::internal::(anonymous namespace)::ElementsAccessorBase<v8::internal::(anonymous namespace)::FastHoleyObjectElementsAccessor, v8::internal::(anonymous namespace)::ElementsKindTraits<(v8::internal::ElementsKind)3> >::SetLengthImpl(v8::internal::Isolate*, v8::internal::Handle<v8::internal::JSArray>, unsigned int, v8::internal::Handle<v8::internal::FixedArrayBase>)
43 0.2% 0.2% v8::internal::(anonymous namespace)::ElementsAccessorBase<v8::internal::(anonymous namespace)::FastHoleyObjectElementsAccessor, v8::internal::(anonymous namespace)::ElementsKindTraits<(v8::internal::ElementsKind)3> >::SetLength(v8::internal::Handle<v8::internal::JSArray>, unsigned int)
41 0.2% 0.2% v8::internal::LargeObjectSpace::Contains(v8::internal::HeapObject*)
40 0.2% 0.2% v8::internal::Builtin_Impl_ArraySlice(v8::internal::BuiltinArguments, v8::internal::Isolate*)
39 0.2% 0.2% v8::internal::IncrementalMarking::MarkGrey(v8::internal::Heap*, v8::internal::HeapObject*)
36 0.2% 0.2% 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>&)
34 0.1% 0.2% v8::internal::Dictionary<v8::internal::NameDictionary, v8::internal::NameDictionaryShape, v8::internal::Handle<v8::internal::Name> >::NumberOfElementsFilterAttributes(v8::internal::PropertyFilter)
33 0.1% 0.2% v8::internal::NameDictionaryBase<v8::internal::NameDictionary, v8::internal::NameDictionaryShape>::FindEntry(v8::internal::Handle<v8::internal::Name>)
33 0.1% 0.2% 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*)
31 0.1% 0.1% v8::internal::LookupIterator::FetchValue() const
30 0.1% 0.1% v8::internal::JSObject::GetElementsAccessor()
27 0.1% 0.1% v8::internal::Heap::CanMoveObjectStart(v8::internal::HeapObject*)
26 0.1% 0.1% v8::internal::JsonStringifier::Result v8::internal::JsonStringifier::Serialize_<false>(v8::internal::Handle<v8::internal::Object>, bool, v8::internal::Handle<v8::internal::Object>)
24 0.1% 0.1% void v8::internal::BodyDescriptorBase::IterateBodyImpl<v8::internal::IncrementalMarkingMarkingVisitor>(v8::internal::Heap*, v8::internal::HeapObject*, int, int)
20 0.1% 0.1% v8::internal::Factory::NewRawTwoByteString(int, v8::internal::PretenureFlag)
18 0.1% 0.1% v8::internal::Object* v8::internal::VisitWeakList<v8::internal::JSFunction>(v8::internal::Heap*, v8::internal::Object*, v8::internal::WeakObjectRetainer*)
18 0.1% 0.1% v8::internal::MemoryChunk::Initialize(v8::internal::Heap*, unsigned char*, unsigned long, unsigned char*, unsigned char*, v8::internal::Executability, v8::internal::Space*, v8::base::VirtualMemory*)
17 0.1% 0.1% v8::internal::IncrementalMarking::RecordWriteSlow(v8::internal::HeapObject*, v8::internal::Object**, v8::internal::Object*)
16 0.1% 0.1% v8::internal::StaticMarkingVisitor<v8::internal::IncrementalMarkingMarkingVisitor>::MarkMapContents(v8::internal::Heap*, v8::internal::Map*)
16 0.1% 0.1% v8::internal::LookupIterator::NotFound(v8::internal::JSReceiver*) const
14 0.1% 0.1% void v8::internal::RelocInfo::Visit<v8::internal::IncrementalMarkingMarkingVisitor>(v8::internal::Heap*)
14 0.1% 0.1% void v8::internal::BodyDescriptorBase::IterateBodyImpl<v8::internal::StaticScavengeVisitor<(v8::internal::PromotionMode)1> >(v8::internal::Heap*, v8::internal::HeapObject*, int, int)
13 0.1% 0.1% v8::internal::LookupIterator::PropertyOrElement(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Name>, v8::internal::LookupIterator::Configuration)
13 0.1% 0.1% v8::internal::JsonStringifier::SerializeArrayLikeSlow(v8::internal::Handle<v8::internal::JSReceiver>, unsigned int, unsigned int)
13 0.1% 0.1% v8::internal::AllocationMemento* v8::internal::Heap::FindAllocationMemento<(v8::internal::Heap::FindMementoMode)1>(v8::internal::HeapObject*)
13 0.1% 0.1% v8::internal::(anonymous namespace)::ElementsAccessorBase<v8::internal::(anonymous namespace)::FastPackedObjectElementsAccessor, v8::internal::(anonymous namespace)::ElementsKindTraits<(v8::internal::ElementsKind)2> >::GetImpl(v8::internal::FixedArrayBase*, unsigned int)
11 0.0% 0.1% v8::internal::HeapObject::SizeFromMap(v8::internal::Map*)
11 0.0% 0.1% v8::internal::Heap::IteratePromotedObjectPointers(v8::internal::HeapObject*, unsigned char*, unsigned char*, bool, void (*)(v8::internal::HeapObject**, v8::internal::HeapObject*))
10 0.0% 0.0% v8::internal::PerIsolateAssertScope<(v8::internal::PerIsolateAssertType)1, false>::IsAllowed(v8::internal::Isolate*)
8 0.0% 0.0% v8::internal::NewSpace::UpdateAllocationInfo()
8 0.0% 0.0% v8::internal::JSObject::MigrateToMap(v8::internal::Handle<v8::internal::JSObject>, v8::internal::Handle<v8::internal::Map>, int)
8 0.0% 0.0% v8::internal::InnerPointerToCodeCache::GetCacheEntry(unsigned char*)
8 0.0% 0.0% v8::internal::IncrementalMarking::MarkBlack(v8::internal::HeapObject*, int)
8 0.0% 0.0% v8::internal::Heap::AllocateFixedArrayWithFiller(int, v8::internal::PretenureFlag, v8::internal::Object*)
8 0.0% 0.0% v8::internal::Handle<v8::internal::String> v8::internal::JsonParser<false>::SlowScanJsonString<v8::internal::SeqOneByteString, unsigned char>(v8::internal::Handle<v8::internal::String>, int, int)
8 0.0% 0.0% v8::internal::(anonymous namespace)::ElementsAccessorBase<v8::internal::(anonymous namespace)::FastPackedObjectElementsAccessor, v8::internal::(anonymous namespace)::ElementsKindTraits<(v8::internal::ElementsKind)2> >::Slice(v8::internal::Handle<v8::internal::JSObject>, unsigned int, unsigned int)
7 0.0% 0.0% v8::internal::StoreBuffer::MoveEntriesToRememberedSet()
7 0.0% 0.0% v8::internal::Scanner::Scan()
7 0.0% 0.0% v8::internal::JSObject::GetElementsTransitionMap(v8::internal::Handle<v8::internal::JSObject>, v8::internal::ElementsKind)
7 0.0% 0.0% v8::internal::IncrementalMarking::WhiteToGreyAndPush(v8::internal::HeapObject*, v8::internal::MarkBit)
7 0.0% 0.0% v8::internal::IncrementalMarking::ProcessWeakCells()
7 0.0% 0.0% v8::internal::(anonymous namespace)::ElementsAccessorBase<v8::internal::(anonymous namespace)::FastHoleyObjectElementsAccessor, v8::internal::(anonymous namespace)::ElementsKindTraits<(v8::internal::ElementsKind)3> >::GrowCapacityAndConvertImpl(v8::internal::Handle<v8::internal::JSObject>, unsigned int)
6 0.0% 0.0% v8::internal::TransitionArray::Insert(v8::internal::Handle<v8::internal::Map>, v8::internal::Handle<v8::internal::Name>, v8::internal::Handle<v8::internal::Map>, v8::internal::SimpleTransitionFlag)
6 0.0% 0.0% v8::internal::StringTableCleaner<false, true>::VisitPointers(v8::internal::Object**, v8::internal::Object**)
6 0.0% 0.0% v8::internal::SlotSet::Insert(int)
6 0.0% 0.0% v8::internal::SemiSpace::FixPagesFlags(long, long)
6 0.0% 0.0% v8::internal::ScavengeVisitor::VisitPointer(v8::internal::Object**)
6 0.0% 0.0% v8::internal::Scanner::ScanIdentifierOrKeyword()
6 0.0% 0.0% v8::internal::LookupIterator::State v8::internal::LookupIterator::LookupInRegularHolder<true>(v8::internal::Map*, v8::internal::JSReceiver*)
6 0.0% 0.0% node::Buffer::Utf8Slice(v8::FunctionCallbackInfo<v8::Value> const&)
6 0.0% 0.0% bool v8::internal::ScavengingVisitor<(v8::internal::MarksHandling)1, (v8::internal::PromotionMode)1, (v8::internal::LoggingAndProfiling)0>::SemiSpaceCopyObject<(v8::internal::AllocationAlignment)0>(v8::internal::Map*, v8::internal::HeapObject**, v8::internal::HeapObject*, int)
5 0.0% 0.0% void v8::internal::String::WriteToFlat<unsigned char>(v8::internal::String*, unsigned char*, int, int)
5 0.0% 0.0% v8::internal::Scavenger::ScavengeObjectSlow(v8::internal::HeapObject**, v8::internal::HeapObject*)
5 0.0% 0.0% v8::internal::ScavengeWeakObjectRetainer::RetainAs(v8::internal::Object*)
5 0.0% 0.0% v8::internal::PerIsolateAssertScope<(v8::internal::PerIsolateAssertType)0, true>::IsAllowed(v8::internal::Isolate*)
5 0.0% 0.0% v8::internal::JSFunction::ClearTypeFeedbackInfoAtGCTime()
5 0.0% 0.0% v8::internal::Heap::AllocateRawTwoByteString(int, v8::internal::PretenureFlag)
5 0.0% 0.0% v8::internal::ArrayBufferTracker::ProcessBuffers(v8::internal::Page*, v8::internal::ArrayBufferTracker::ProcessingMode)
5 0.0% 0.0% v8::internal::(anonymous namespace)::ElementsAccessorBase<v8::internal::(anonymous namespace)::FastHoleyObjectElementsAccessor, v8::internal::(anonymous namespace)::ElementsKindTraits<(v8::internal::ElementsKind)3> >::PrependElementIndices(v8::internal::Handle<v8::internal::JSObject>, v8::internal::Handle<v8::internal::FixedArrayBase>, v8::internal::Handle<v8::internal::FixedArray>, v8::internal::GetKeysConversion, v8::internal::PropertyFilter)
5 0.0% 0.0% node::crypto::SecureContext::AddRootCerts(v8::FunctionCallbackInfo<v8::Value> const&)
5 0.0% 0.0% node::Binding(v8::FunctionCallbackInfo<v8::Value> const&)
4 0.0% 0.0% void v8::internal::Scanner::Advance<false, true>()
4 0.0% 0.0% void v8::internal::LookupIterator::Start<true>()
4 0.0% 0.0% v8::internal::Zone::New(unsigned long)
4 0.0% 0.0% v8::internal::TransitionArray::SearchTransition(v8::internal::Map*, v8::internal::PropertyKind, v8::internal::Name*, v8::internal::PropertyAttributes)
4 0.0% 0.0% v8::internal::String::IsOneByteEqualTo(v8::internal::Vector<unsigned char const>)
4 0.0% 0.0% v8::internal::SourcePositionTableIterator::Advance()
4 0.0% 0.0% v8::internal::SerializerDeserializer::Iterate(v8::internal::Isolate*, v8::internal::ObjectVisitor*)
4 0.0% 0.0% v8::internal::Script::GetPositionInfo(int, v8::internal::Script::PositionInfo*, v8::internal::Script::OffsetFlag)
4 0.0% 0.0% v8::internal::ScopeInfo::Create(v8::internal::Isolate*, v8::internal::Zone*, v8::internal::Scope*, v8::internal::MaybeHandle<v8::internal::ScopeInfo>)
4 0.0% 0.0% v8::internal::Scavenger::ScavengeObject(v8::internal::HeapObject**, v8::internal::HeapObject*)
4 0.0% 0.0% v8::internal::Scanner::HandleLeadSurrogate()
4 0.0% 0.0% v8::internal::NewSpace::AddFreshPage()
4 0.0% 0.0% v8::internal::InternalizedStringKey::IsMatch(v8::internal::Object*)
4 0.0% 0.0% v8::internal::IntToCString(int, v8::internal::Vector<char>)
4 0.0% 0.0% v8::internal::InnerPointerToCodeCache::GcSafeFindCodeForInnerPointer(unsigned char*)
4 0.0% 0.0% v8::internal::Heap::IteratePromotedObject(v8::internal::HeapObject*, int, bool, void (*)(v8::internal::HeapObject**, v8::internal::HeapObject*))
4 0.0% 0.0% v8::internal::FixStaleLeftTrimmedHandlesVisitor::VisitPointers(v8::internal::Object**, v8::internal::Object**)
4 0.0% 0.0% v8::internal::DescriptorArray::Sort()
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% v8::internal::Code::CopyFrom(v8::internal::CodeDesc const&)
4 0.0% 0.0% bool v8::internal::ScavengingVisitor<(v8::internal::MarksHandling)1, (v8::internal::PromotionMode)1, (v8::internal::LoggingAndProfiling)0>::PromoteObject<(v8::internal::ScavengingVisitor<(v8::internal::MarksHandling)1, (v8::internal::PromotionMode)1, (v8::internal::LoggingAndProfiling)0>::ObjectContents)1, (v8::internal::AllocationAlignment)0>(v8::internal::Map*, v8::internal::HeapObject**, v8::internal::HeapObject*, int)
3 0.0% 0.0% void v8::internal::Heap::RightTrimFixedArray<(v8::internal::Heap::InvocationMode)1>(v8::internal::FixedArrayBase*, int)
3 0.0% 0.0% v8::internal::ScavengeVisitor::VisitPointers(v8::internal::Object**, v8::internal::Object**)
3 0.0% 0.0% v8::internal::RelocIterator::next()
3 0.0% 0.0% v8::internal::RelocIterator::RelocIterator(v8::internal::Code*, int)
3 0.0% 0.0% v8::internal::ParserBase<v8::internal::Parser>::GetUnexpectedTokenMessage(v8::internal::Token::Value, v8::internal::MessageTemplate::Template*, v8::internal::Scanner::Location*, char const**, v8::internal::MessageTemplate::Template)
3 0.0% 0.0% v8::internal::Object::ToInt32(int*)
3 0.0% 0.0% v8::internal::Object* v8::internal::VisitWeakList<v8::internal::AllocationSite>(v8::internal::Heap*, v8::internal::Object*, v8::internal::WeakObjectRetainer*)
3 0.0% 0.0% v8::internal::NewSpace::ResetAllocationInfo()
3 0.0% 0.0% v8::internal::NewSpace::AllocatedSinceLastGC()
3 0.0% 0.0% v8::internal::MarkCompactCollector::RecordRelocSlot(v8::internal::Code*, v8::internal::RelocInfo*, v8::internal::Object*)
3 0.0% 0.0% v8::internal::KeywordOrIdentifierToken(unsigned char const*, int)
3 0.0% 0.0% v8::internal::JsonStringifier::SerializeSmi(v8::internal::Smi*)
3 0.0% 0.0% v8::internal::JSObjectWalkVisitor<v8::internal::AllocationSiteUsageContext>::StructureWalk(v8::internal::Handle<v8::internal::JSObject>)
3 0.0% 0.0% v8::internal::JSObjectWalkVisitor<v8::internal::AllocationSiteCreationContext>::StructureWalk(v8::internal::Handle<v8::internal::JSObject>)
3 0.0% 0.0% v8::internal::JSObject::OptimizeAsPrototype(v8::internal::Handle<v8::internal::JSObject>, v8::internal::PrototypeOptimizationMode)
3 0.0% 0.0% v8::internal::Heap::CreateFillerObjectAt(unsigned char*, int, v8::internal::ClearRecordedSlots, v8::internal::ClearBlackArea)
3 0.0% 0.0% v8::internal::HashTable<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>, v8::internal::PretenureFlag)
3 0.0% 0.0% v8::internal::HandleScope::Extend(v8::internal::Isolate*)
3 0.0% 0.0% v8::internal::Handle<v8::internal::String> v8::internal::JsonParser<false>::SlowScanJsonString<v8::internal::SeqTwoByteString, unsigned short>(v8::internal::Handle<v8::internal::String>, int, int)
3 0.0% 0.0% v8::internal::FlatStringReader::FlatStringReader(v8::internal::Isolate*, v8::internal::Handle<v8::internal::String>)
3 0.0% 0.0% v8::internal::FastKeyAccumulator::GetKeysFast(v8::internal::GetKeysConversion)
3 0.0% 0.0% v8::internal::Factory::GetNumberStringCache(v8::internal::Handle<v8::internal::Object>)
3 0.0% 0.0% v8::internal::Compiler::Compile(v8::internal::Handle<v8::internal::JSFunction>, v8::internal::Compiler::ClearExceptionFlag)
3 0.0% 0.0% v8::internal::Code::GetCodeAgeAndParity(v8::internal::Code*, v8::internal::Code::Age*, v8::internal::MarkingParity*)
3 0.0% 0.0% v8::internal::Builtin_ArraySlice(int, v8::internal::Object**, v8::internal::Isolate*)
3 0.0% 0.0% v8::internal::AstValueFactory::GetString(unsigned int, bool, v8::internal::Vector<unsigned char const>)
3 0.0% 0.0% v8::internal::AstValueFactory::GetOneByteStringInternal(v8::internal::Vector<unsigned char const>)
3 0.0% 0.0% v8::internal::AbstractCode::SourcePosition(int)
3 0.0% 0.0% v8::base::TemplateHashMapImpl<void*, void*, v8::base::HashEqualityThenKeyMatcher<void*, bool (*)(void*, void*)>, v8::base::DefaultAllocationPolicy>::Probe(void* const&, unsigned int) const
3 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>&)
3 0.0% 0.0% node::TTYWrap::New(v8::FunctionCallbackInfo<v8::Value> const&)
3 0.0% 0.0% node::InternalModuleReadFile(v8::FunctionCallbackInfo<v8::Value> const&)
3 0.0% 0.0% _uv__fs_work
2 0.0% 0.0% void v8::internal::Heap::UpdateAllocationSite<(v8::internal::Heap::UpdateAllocationSiteMode)0>(v8::internal::HeapObject*, v8::base::PointerTemplateHashMapImpl<v8::base::DefaultAllocationPolicy>*)
2 0.0% 0.0% void v8::Utf8WriterVisitor::Visit<unsigned char>(unsigned char const*, int)
2 0.0% 0.0% v8::internal::compiler::GraphReducer::ReduceTop()
2 0.0% 0.0% v8::internal::StringTable::LookupString(v8::internal::Isolate*, v8::internal::Handle<v8::internal::String>)
2 0.0% 0.0% v8::internal::String::CalculateLineEnds(v8::internal::Handle<v8::internal::String>, bool)
2 0.0% 0.0% v8::internal::StoreIC::Store(v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Name>, v8::internal::Handle<v8::internal::Object>, v8::internal::Object::StoreFromKeyed)
2 0.0% 0.0% v8::internal::StaticMarkingVisitor<v8::internal::IncrementalMarkingMarkingVisitor>::VisitJSFunctionStrongCode(v8::internal::Map*, v8::internal::HeapObject*)
2 0.0% 0.0% v8::internal::Space::CommittedMemory()
2 0.0% 0.0% v8::internal::Scope::LookupRecursive(v8::internal::VariableProxy*, v8::internal::Scope*)
2 0.0% 0.0% v8::internal::Runtime_KeyedGetProperty(int, v8::internal::Object**, v8::internal::Isolate*)
2 0.0% 0.0% v8::internal::RememberedSet<(v8::internal::PointerDirection)1>::Insert(v8::internal::MemoryChunk*, unsigned char*)
2 0.0% 0.0% v8::internal::RememberedSet<(v8::internal::PointerDirection)1>::ClearInvalidSlots(v8::internal::Heap*)
2 0.0% 0.0% v8::internal::PropertyHandlerCompiler::CheckPrototypes(v8::internal::Register, v8::internal::Register, v8::internal::Register, v8::internal::Register, v8::internal::Handle<v8::internal::Name>, v8::internal::Label*, v8::internal::PrototypeCheckType, v8::internal::ReturnHolder)
2 0.0% 0.0% v8::internal::ParserBase<v8::internal::Parser>::ParseExpressionCoverGrammar(bool, bool*)
2 0.0% 0.0% v8::internal::ParserBase<v8::internal::Parser>::ParseBinaryExpression(int, bool, bool*)
2 0.0% 0.0% v8::internal::ParserBase<v8::internal::Parser>::ParseAssignmentExpression(bool, bool*)
2 0.0% 0.0% v8::internal::ParserBase<v8::internal::Parser>::ParseArguments(v8::internal::Scanner::Location*, bool, bool*)
2 0.0% 0.0% v8::internal::ParserBase<v8::internal::Parser>::CheckPossibleEvalCall(v8::internal::Expression*, v8::internal::Scope*)
2 0.0% 0.0% v8::internal::Parser::ParseLazy(v8::internal::Isolate*, v8::internal::ParseInfo*)
2 0.0% 0.0% v8::internal::PagedSpace::RefillFreeList()
2 0.0% 0.0% v8::internal::PagedSpace::AllocateRawUnaligned(int, v8::internal::PagedSpace::UpdateSkipList)
2 0.0% 0.0% v8::internal::Operand::Operand(v8::internal::Register, int)
2 0.0% 0.0% v8::internal::MemoryAllocator::AllocateChunk(long, long, v8::internal::Executability, v8::internal::Space*)
2 0.0% 0.0% v8::internal::LookupIterator::WriteDataValue(v8::internal::Handle<v8::internal::Object>)
2 0.0% 0.0% 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% v8::internal::LookupIterator::GetDataValue() const
2 0.0% 0.0% v8::internal::LiveRange::CreateAssignedOperand(v8::internal::Zone*)
2 0.0% 0.0% v8::internal::List<v8::internal::Object**, v8::internal::FreeStoreAllocationPolicy>::Remove(int)
2 0.0% 0.0% v8::internal::List<v8::internal::Object**, v8::internal::FreeStoreAllocationPolicy>::Add(v8::internal::Object** const&, v8::internal::FreeStoreAllocationPolicy)
2 0.0% 0.0% v8::internal::KeyAccumulator::GetKeys(v8::internal::Handle<v8::internal::JSReceiver>, v8::internal::KeyCollectionMode, v8::internal::PropertyFilter, v8::internal::GetKeysConversion, bool)
2 0.0% 0.0% v8::internal::JsonParser<true>::CommitStateToJsonObject(v8::internal::Handle<v8::internal::JSObject>, v8::internal::Handle<v8::internal::Map>, v8::internal::ZoneList<v8::internal::Handle<v8::internal::Object> >*)
2 0.0% 0.0% v8::internal::JSStackFrame::GetMethodName()
2 0.0% 0.0% v8::internal::JSObject::RawFastPropertyAtPut(v8::internal::FieldIndex, v8::internal::Object*)
2 0.0% 0.0% v8::internal::JSObject::MakePrototypesFast(v8::internal::Handle<v8::internal::Object>, v8::internal::WhereToStart, v8::internal::Isolate*)
2 0.0% 0.0% v8::internal::JSDate::SetValue(v8::internal::Object*, bool)
2 0.0% 0.0% v8::internal::IteratingStringHasher::VisitConsString(v8::internal::ConsString*)
2 0.0% 0.0% v8::internal::IncrementalMarkingMarkingVisitor::VisitFixedArrayIncremental(v8::internal::Map*, v8::internal::HeapObject*)
2 0.0% 0.0% v8::internal::IncrementalMarking::DeactivateIncrementalWriteBarrier()
2 0.0% 0.0% v8::internal::Heap::DoScavenge(v8::internal::ObjectVisitor*, unsigned char*, v8::internal::PromotionMode)
2 0.0% 0.0% v8::internal::Heap::DeoptMarkedAllocationSites()
2 0.0% 0.0% v8::internal::Heap::AllocateRawOneByteString(int, v8::internal::PretenureFlag)
2 0.0% 0.0% v8::internal::Heap::AllocateMap(v8::internal::InstanceType, int, v8::internal::ElementsKind)
2 0.0% 0.0% v8::internal::Heap::AllocateCode(int, bool)
2 0.0% 0.0% v8::internal::HashTable<v8::internal::StringTable, v8::internal::StringTableShape, v8::internal::HashTableKey*>::FindEntry(v8::internal::Isolate*, v8::internal::HashTableKey*)
2 0.0% 0.0% v8::internal::Handle<v8::internal::String> v8::internal::JsonParser<true>::ScanJsonString<true>()
2 0.0% 0.0% v8::internal::HValue::RegisterUse(int, v8::internal::HValue*)
2 0.0% 0.0% v8::internal::FuncNameInferrer::PushVariableName(v8::internal::AstRawString const*)
2 0.0% 0.0% v8::internal::Factory::NewFunction(v8::internal::Handle<v8::internal::Map>, v8::internal::Handle<v8::internal::SharedFunctionInfo>, v8::internal::Handle<v8::internal::Object>, v8::internal::PretenureFlag)
2 0.0% 0.0% v8::internal::ExpressionClassifier<v8::internal::ParserTypes<v8::internal::Parser> >::Accumulate(v8::internal::ExpressionClassifier<v8::internal::ParserTypes<v8::internal::Parser> >*, unsigned int, bool)
2 0.0% 0.0% v8::internal::DescriptorArray::SetDescriptor(int, v8::internal::Descriptor*)
2 0.0% 0.0% v8::internal::ContextSlotCache::Lookup(v8::internal::Object*, v8::internal::String*, v8::internal::VariableMode*, v8::internal::InitializationFlag*, v8::internal::MaybeAssignedFlag*)
2 0.0% 0.0% v8::internal::ConsString* v8::internal::String::VisitFlat<v8::Utf8WriterVisitor>(v8::Utf8WriterVisitor*, v8::internal::String*, int)
2 0.0% 0.0% v8::internal::Assembler::movp(v8::internal::Register, void*, v8::internal::RelocInfo::Mode)
2 0.0% 0.0% v8::internal::Accessors::FunctionLengthGetter(v8::Local<v8::Name>, v8::PropertyCallbackInfo<v8::Value> const&)
2 0.0% 0.0% v8::internal::Accessors::ErrorStackGetter(v8::Local<v8::Name>, v8::PropertyCallbackInfo<v8::Value> const&)
2 0.0% 0.0% v8::internal::(anonymous namespace)::FastSmiOrObjectElementsAccessor<v8::internal::(anonymous namespace)::FastHoleyObjectElementsAccessor, v8::internal::(anonymous namespace)::ElementsKindTraits<(v8::internal::ElementsKind)3> >::CopyElementsImpl(v8::internal::FixedArrayBase*, unsigned int, v8::internal::FixedArrayBase*, v8::internal::ElementsKind, unsigned int, int, int)
2 0.0% 0.0% v8::internal::(anonymous namespace)::EncodeInt(v8::internal::ZoneVector<unsigned char>&, int)
2 0.0% 0.0% v8::internal::(anonymous namespace)::ElementsAccessorBase<v8::internal::(anonymous namespace)::FastPackedSmiElementsAccessor, v8::internal::(anonymous namespace)::ElementsKindTraits<(v8::internal::ElementsKind)0> >::GetEntryForIndex(v8::internal::JSObject*, v8::internal::FixedArrayBase*, unsigned int)
2 0.0% 0.0% v8::internal::(anonymous namespace)::ElementsAccessorBase<v8::internal::(anonymous namespace)::FastHoleyObjectElementsAccessor, v8::internal::(anonymous namespace)::ElementsKindTraits<(v8::internal::ElementsKind)3> >::GetEntryForIndex(v8::internal::JSObject*, v8::internal::FixedArrayBase*, unsigned int)
2 0.0% 0.0% v8::internal::(anonymous namespace)::ElementsAccessorBase<v8::internal::(anonymous namespace)::FastHoleyObjectElementsAccessor, v8::internal::(anonymous namespace)::ElementsKindTraits<(v8::internal::ElementsKind)3> >::DirectCollectElementIndicesImpl(v8::internal::Isolate*, v8::internal::Handle<v8::internal::JSObject>, v8::internal::Handle<v8::internal::FixedArrayBase>, v8::internal::GetKeysConversion, v8::internal::PropertyFilter, v8::internal::Handle<v8::internal::FixedArray>, unsigned int*, unsigned int)
2 0.0% 0.0% v8::internal::(anonymous namespace)::ElementsAccessorBase<v8::internal::(anonymous namespace)::FastHoleyObjectElementsAccessor, v8::internal::(anonymous namespace)::ElementsKindTraits<(v8::internal::ElementsKind)3> >::ConvertElementsWithCapacity(v8::internal::Handle<v8::internal::JSObject>, v8::internal::Handle<v8::internal::FixedArrayBase>, v8::internal::ElementsKind, unsigned int, unsigned int, unsigned int, int)
2 0.0% 0.0% v8::base::TemplateHashMapImpl<void*, void*, v8::base::KeyEqualityMatcher<void*>, v8::internal::ZoneAllocationPolicy>::Initialize(unsigned int, v8::internal::ZoneAllocationPolicy)
2 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)
2 0.0% 0.0% node::Stat(v8::FunctionCallbackInfo<v8::Value> const&)
2 0.0% 0.0% node::Read(v8::FunctionCallbackInfo<v8::Value> const&)
2 0.0% 0.0% node::FStat(v8::FunctionCallbackInfo<v8::Value> const&)
2 0.0% 0.0% node::ContextifyScript::RunInThisContext(v8::FunctionCallbackInfo<v8::Value> const&)
2 0.0% 0.0% int v8::internal::BinarySearch<(v8::internal::SearchMode)0, v8::internal::TransitionArray>(v8::internal::TransitionArray*, v8::internal::Name*, int, int*)
1 0.0% 0.0% void v8::internal::WeakListVisitor<v8::internal::Context>::DoWeakList<v8::internal::JSFunction>(v8::internal::Heap*, v8::internal::Context*, v8::internal::WeakObjectRetainer*, int)
1 0.0% 0.0% void v8::internal::RememberedSet<(v8::internal::PointerDirection)0>::IterateMemoryChunks<void v8::internal::UpdatePointersInParallel<(v8::internal::PointerDirection)0>(v8::internal::Heap*, v8::base::Semaphore*)::MemoryChunkVisitor>(v8::internal::Heap*, void v8::internal::UpdatePointersInParallel<(v8::internal::PointerDirection)0>(v8::internal::Heap*, v8::base::Semaphore*)::MemoryChunkVisitor)
1 0.0% 0.0% void v8::internal::FlexibleBodyVisitor<v8::internal::IncrementalMarkingMarkingVisitor, v8::internal::FlexibleBodyDescriptor<8>, void>::VisitSpecialized<56>(v8::internal::Map*, v8::internal::HeapObject*)
1 0.0% 0.0% void v8::internal::FlexibleBodyVisitor<v8::internal::IncrementalMarkingMarkingVisitor, v8::internal::FlexibleBodyDescriptor<8>, void>::VisitSpecialized<32>(v8::internal::Map*, v8::internal::HeapObject*)
1 0.0% 0.0% void v8::internal::Code::BodyDescriptor::IterateBody<v8::internal::IncrementalMarkingMarkingVisitor>(v8::internal::HeapObject*)
1 0.0% 0.0% 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% void std::__1::vector<unsigned char, v8::internal::zone_allocator<unsigned char> >::__push_back_slow_path<unsigned char>(unsigned char&&)
1 0.0% 0.0% 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>&)
1 0.0% 0.0% void node::StreamBase::JSMethod<node::TLSWrap, &(node::StreamBase::Writev(v8::FunctionCallbackInfo<v8::Value> const&))>(v8::FunctionCallbackInfo<v8::Value> const&)
1 0.0% 0.0% void node::StreamBase::JSMethod<node::StreamWrap, &(node::StreamBase::WriteBuffer(v8::FunctionCallbackInfo<v8::Value> const&))>(v8::FunctionCallbackInfo<v8::Value> const&)
1 0.0% 0.0% void node::StreamBase::JSMethod<node::StreamWrap, &(int node::StreamBase::WriteString<(node::encoding)1>(v8::FunctionCallbackInfo<v8::Value> const&))>(v8::FunctionCallbackInfo<v8::Value> const&)
1 0.0% 0.0% v8::platform::DefaultPlatform::MonotonicallyIncreasingTime()
1 0.0% 0.0% v8::internal::compiler::SpecialRPONumberer::ComputeAndInsertSpecialRPO(v8::internal::compiler::BasicBlock*, v8::internal::compiler::BasicBlock*)
1 0.0% 0.0% v8::internal::compiler::PipelineImpl::AllocateRegisters(v8::internal::RegisterConfiguration const*, v8::internal::compiler::CallDescriptor*, bool)
1 0.0% 0.0% v8::internal::compiler::MoveOptimizer::FinalizeMoves(v8::internal::compiler::Instruction*)
1 0.0% 0.0% v8::internal::compiler::LiveRange::FirstIntersection(v8::internal::compiler::LiveRange*) const
1 0.0% 0.0% v8::internal::compiler::InstructionSelector::VisitNode(v8::internal::compiler::Node*)
1 0.0% 0.0% v8::internal::compiler::CodeGenerator::AssembleArchInstruction(v8::internal::compiler::Instruction*)
1 0.0% 0.0% v8::internal::compiler::AstGraphBuilder::VisitCall(v8::internal::Call*)
1 0.0% 0.0% v8::internal::Zone::NewExpand(unsigned long)
1 0.0% 0.0% v8::internal::Zone::DeleteAll()
1 0.0% 0.0% v8::internal::WeakFixedArray::Set(v8::internal::Handle<v8::internal::WeakFixedArray>, int, v8::internal::Handle<v8::internal::HeapObject>)
1 0.0% 0.0% v8::internal::VariableProxy::VariableProxy(v8::internal::AstRawString const*, v8::internal::VariableKind, int, int)
1 0.0% 0.0% v8::internal::Variable::Variable(v8::internal::Scope*, v8::internal::AstRawString const*, v8::internal::VariableMode, v8::internal::VariableKind, v8::internal::InitializationFlag, v8::internal::MaybeAssignedFlag)
1 0.0% 0.0% v8::internal::VSNPrintF(v8::internal::Vector<char>, char const*, __va_list_tag*)
1 0.0% 0.0% v8::internal::TypeFeedbackVector::New(v8::internal::Isolate*, v8::internal::Handle<v8::internal::TypeFeedbackMetadata>)
1 0.0% 0.0% v8::internal::TransitionArray::ReplaceTransitions(v8::internal::Handle<v8::internal::Map>, v8::internal::Object*)
1 0.0% 0.0% v8::internal::TransitionArray::ExpectedTransitionKey(v8::internal::Handle<v8::internal::Map>)
1 0.0% 0.0% v8::internal::ToBooleanICStub::Types::UpdateStatus(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Object>)
1 0.0% 0.0% v8::internal::TimerEventScope<v8::internal::TimerEventCompileCode>::LogTimerEvent(v8::internal::Logger::StartEnd)
1 0.0% 0.0% v8::internal::StubCache::Set(v8::internal::Name*, v8::internal::Map*, v8::internal::Code*)
1 0.0% 0.0% v8::internal::StringTable::LookupKey(v8::internal::Isolate*, v8::internal::HashTableKey*)
1 0.0% 0.0% v8::internal::StringComparator::Equals(v8::internal::String*, v8::internal::String*)
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::StoreIC::LookupForWrite(v8::internal::LookupIterator*, v8::internal::Handle<v8::internal::Object>, v8::internal::Object::StoreFromKeyed)
1 0.0% 0.0% v8::internal::StatsCounter::Increment()
1 0.0% 0.0% v8::internal::StaticMarkingVisitor<v8::internal::IncrementalMarkingMarkingVisitor>::VisitSharedFunctionInfo(v8::internal::Map*, v8::internal::HeapObject*)
1 0.0% 0.0% v8::internal::StaticMarkingVisitor<v8::internal::IncrementalMarkingMarkingVisitor>::VisitJSFunctionWeakCode(v8::internal::Map*, v8::internal::HeapObject*)
1 0.0% 0.0% v8::internal::StackFrameIteratorBase::SingletonFor(v8::internal::StackFrame::Type)
1 0.0% 0.0% v8::internal::StackFrame::ComputeType(v8::internal::StackFrameIteratorBase const*, v8::internal::StackFrame::State*)
1 0.0% 0.0% v8::internal::SourcePositionTableBuilder::AddPosition(unsigned long, int, bool)
1 0.0% 0.0% v8::internal::SnapshotByteSource::CopyRaw(unsigned char*, int)
1 0.0% 0.0% v8::internal::SlotSet::AllocateBucket()
1 0.0% 0.0% v8::internal::SkipList::Update(unsigned char*, int)
1 0.0% 0.0% v8::internal::SimpleStringBuilder::AddString(char const*)
1 0.0% 0.0% v8::internal::SharedFunctionInfoMarkingVisitor::VisitPointer(v8::internal::Object**)
1 0.0% 0.0% v8::internal::SeqString::Truncate(v8::internal::Handle<v8::internal::SeqString>, int)
1 0.0% 0.0% v8::internal::Script::InitLineEnds(v8::internal::Handle<v8::internal::Script>)
1 0.0% 0.0% v8::internal::ScopeInfo::scope_type()
1 0.0% 0.0% v8::internal::ScopeInfo::ContextSlotIndex(v8::internal::Handle<v8::internal::ScopeInfo>, v8::internal::Handle<v8::internal::String>, v8::internal::VariableMode*, v8::internal::InitializationFlag*, v8::internal::MaybeAssignedFlag*)
1 0.0% 0.0% v8::internal::Scope::Scope(v8::internal::Zone*, v8::internal::ScopeType, v8::internal::Handle<v8::internal::ScopeInfo>)
1 0.0% 0.0% v8::internal::Scope::LookupInScopeInfo(v8::internal::AstRawString const*)
1 0.0% 0.0% v8::internal::Scope::DeclareVariable(v8::internal::Declaration*, v8::internal::VariableMode, v8::internal::InitializationFlag, bool, bool*, bool*)
1 0.0% 0.0% v8::internal::Scope::CheckConflictingVarDeclarations()
1 0.0% 0.0% v8::internal::ScavengingVisitor<(v8::internal::MarksHandling)1, (v8::internal::PromotionMode)1, (v8::internal::LoggingAndProfiling)0>::EvacuateSeqTwoByteString(v8::internal::Map*, v8::internal::HeapObject**, v8::internal::HeapObject*)
1 0.0% 0.0% v8::internal::ScavengingVisitor<(v8::internal::MarksHandling)1, (v8::internal::PromotionMode)1, (v8::internal::LoggingAndProfiling)0>::EvacuateFixedArray(v8::internal::Map*, v8::internal::HeapObject**, v8::internal::HeapObject*)
1 0.0% 0.0% v8::internal::Scanner::SkipSingleLineComment()
1 0.0% 0.0% v8::internal::Scanner::ScanString()
1 0.0% 0.0% v8::internal::Scanner::Next()
1 0.0% 0.0% v8::internal::SafepointTableBuilder::Emit(v8::internal::Assembler*, int)
1 0.0% 0.0% v8::internal::Runtime_StoreIC_Miss(int, v8::internal::Object**, v8::internal::Isolate*)
1 0.0% 0.0% v8::internal::Runtime_ResolvePossiblyDirectEval(int, v8::internal::Object**, v8::internal::Isolate*)
1 0.0% 0.0% v8::internal::Runtime_ObjectHasOwnProperty(int, v8::internal::Object**, v8::internal::Isolate*)
1 0.0% 0.0% v8::internal::Runtime_NewClosure_Tenured(int, v8::internal::Object**, v8::internal::Isolate*)
1 0.0% 0.0% v8::internal::Runtime_NewClosure(int, v8::internal::Object**, v8::internal::Isolate*)
1 0.0% 0.0% v8::internal::Runtime_KeyedLoadIC_Miss(int, v8::internal::Object**, v8::internal::Isolate*)
1 0.0% 0.0% 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)
1 0.0% 0.0% v8::internal::RememberedSet<(v8::internal::PointerDirection)0>::Insert(v8::internal::MemoryChunk*, unsigned char*)
1 0.0% 0.0% v8::internal::RelocInfoWriter::Write(v8::internal::RelocInfo const*)
1 0.0% 0.0% v8::internal::RegExpMacroAssemblerX64::register_location(int)
1 0.0% 0.0% v8::internal::RegExpKey::IsMatch(v8::internal::Object*)
1 0.0% 0.0% v8::internal::RegExpBuilder::NeedsDesugaringForIgnoreCase(int)
1 0.0% 0.0% v8::internal::RegExpAlternative::RegExpAlternative(v8::internal::ZoneList<v8::internal::RegExpTree*>*)
1 0.0% 0.0% v8::internal::PrototypeIterator::Advance()
1 0.0% 0.0% v8::internal::ParserBase<v8::internal::Parser>::ParseVariableDeclarations(v8::internal::ParserBase<v8::internal::Parser>::VariableDeclarationContext, v8::internal::ParserBase<v8::internal::Parser>::DeclarationParsingResult*, v8::internal::ZoneList<v8::internal::AstRawString const*>*, bool*)
1 0.0% 0.0% v8::internal::ParserBase<v8::internal::Parser>::ParseStatementAsUnlabelled(v8::internal::ZoneList<v8::internal::AstRawString const*>*, bool*)
1 0.0% 0.0% v8::internal::ParserBase<v8::internal::Parser>::ParsePrimaryExpression(bool*, bool*)
1 0.0% 0.0% v8::internal::ParserBase<v8::internal::Parser>::ParsePostfixExpression(bool*)
1 0.0% 0.0% v8::internal::ParserBase<v8::internal::Parser>::ParseLeftHandSideExpression(bool*)
1 0.0% 0.0% v8::internal::ParserBase<v8::internal::Parser>::IsTrivialExpression()
1 0.0% 0.0% v8::internal::ParserBase<v8::internal::Parser>::FunctionState::FunctionState(v8::internal::ParserBase<v8::internal::Parser>::FunctionState**, v8::internal::ParserBase<v8::internal::Parser>::ScopeState**, v8::internal::DeclarationScope*)
1 0.0% 0.0% v8::internal::ParserBase<v8::internal::Parser>::ExpectSemicolon(bool*)
1 0.0% 0.0% v8::internal::ParserBase<v8::internal::Parser>::BindingPatternUnexpectedToken()
1 0.0% 0.0% v8::internal::Parser::ShortcutNumericLiteralBinaryExpression(v8::internal::Expression**, v8::internal::Expression*, v8::internal::Token::Value, int)
1 0.0% 0.0% v8::internal::Parser::PatternRewriter::VisitVariableProxy(v8::internal::VariableProxy*)
1 0.0% 0.0% v8::internal::PagedSpace::SlowAllocateRaw(int)
1 0.0% 0.0% v8::internal::PagedSpace::ResetFreeListStatistics()
1 0.0% 0.0% v8::internal::PagedSpace::Expand()
1 0.0% 0.0% v8::internal::PagedSpace::CountTotalPages()
1 0.0% 0.0% v8::internal::OrderedHashSet::Add(v8::internal::Handle<v8::internal::OrderedHashSet>, v8::internal::Handle<v8::internal::Object>)
1 0.0% 0.0% v8::internal::ObjectLiteral::BuildConstantProperties(v8::internal::Isolate*)
1 0.0% 0.0% v8::internal::Object::SetPropertyInternal(v8::internal::LookupIterator*, v8::internal::Handle<v8::internal::Object>, v8::internal::LanguageMode, v8::internal::Object::StoreFromKeyed, bool*)
1 0.0% 0.0% v8::internal::Object::OptimalType(v8::internal::Isolate*, v8::internal::Representation)
1 0.0% 0.0% v8::internal::Object::GetMethod(v8::internal::Handle<v8::internal::JSReceiver>, v8::internal::Handle<v8::internal::Name>)
1 0.0% 0.0% v8::internal::Object* v8::internal::VisitWeakList<v8::internal::Code>(v8::internal::Heap*, v8::internal::Object*, v8::internal::WeakObjectRetainer*)
1 0.0% 0.0% v8::internal::NewSpace::Size()
1 0.0% 0.0% v8::internal::NamedLoadHandlerCompiler::FrontendHeader(v8::internal::Register, v8::internal::Handle<v8::internal::Name>, v8::internal::Label*, v8::internal::ReturnHolder)
1 0.0% 0.0% v8::internal::MarkCompactCollector::RecordCodeEntrySlot(v8::internal::HeapObject*, unsigned char*, v8::internal::Code*)
1 0.0% 0.0% v8::internal::MarkCompactCollector::ProcessWeakCollections()
1 0.0% 0.0% v8::internal::MarkCompactCollector::EvacuateNewSpaceVisitor::Visit(v8::internal::HeapObject*)
1 0.0% 0.0% v8::internal::Map::TransitionToDataProperty(v8::internal::Handle<v8::internal::Map>, v8::internal::Handle<v8::internal::Name>, v8::internal::Handle<v8::internal::Object>, v8::internal::PropertyAttributes, v8::internal::Object::StoreFromKeyed)
1 0.0% 0.0% v8::internal::Map::TransitionElementsTo(v8::internal::Handle<v8::internal::Map>, v8::internal::ElementsKind)
1 0.0% 0.0% v8::internal::Map::ReplaceDescriptors(v8::internal::DescriptorArray*, v8::internal::LayoutDescriptor*)
1 0.0% 0.0% v8::internal::Map::Reconfigure(v8::internal::Handle<v8::internal::Map>, v8::internal::ElementsKind, int, v8::internal::PropertyKind, v8::internal::PropertyAttributes, v8::internal::Representation, v8::internal::Handle<v8::internal::FieldType>, v8::internal::StoreMode)
1 0.0% 0.0% v8::internal::Map::RawCopy(v8::internal::Handle<v8::internal::Map>, int)
1 0.0% 0.0% v8::internal::Map::NumberOfFields()
1 0.0% 0.0% v8::internal::Map::GeneralizeFieldType(v8::internal::Handle<v8::internal::Map>, int, v8::internal::Representation, v8::internal::Handle<v8::internal::FieldType>)
1 0.0% 0.0% v8::internal::Map::FindRootMap()
1 0.0% 0.0% v8::internal::Map::EnsureDescriptorSlack(v8::internal::Handle<v8::internal::Map>, int)
1 0.0% 0.0% v8::internal::MacroAssembler::Move(v8::internal::Operand const&, v8::internal::Handle<v8::internal::Object>)
1 0.0% 0.0% v8::internal::LoadIC::UpdateCaches(v8::internal::LookupIterator*)
1 0.0% 0.0% v8::internal::LoadIC::SimpleFieldLoad(v8::internal::FieldIndex)
1 0.0% 0.0% v8::internal::LoadIC::GetMapIndependentHandler(v8::internal::LookupIterator*)
1 0.0% 0.0% v8::internal::LiveObjectIterator<(v8::internal::LiveObjectIterationMode)0>::Next()
1 0.0% 0.0% v8::internal::List<v8::internal::Handle<v8::internal::Object>, v8::internal::FreeStoreAllocationPolicy>::Add(v8::internal::Handle<v8::internal::Object> const&, v8::internal::FreeStoreAllocationPolicy)
1 0.0% 0.0% v8::internal::LayoutDescriptor::New(v8::internal::Handle<v8::internal::Map>, v8::internal::Handle<v8::internal::DescriptorArray>, int)
1 0.0% 0.0% v8::internal::LargeObjectSpace::SizeOfObjects()
1 0.0% 0.0% v8::internal::LParallelMove::IsRedundant() const
1 0.0% 0.0% v8::internal::LCodeGenBase::GenerateBody()
1 0.0% 0.0% v8::internal::LCodeGen::WriteTranslation(v8::internal::LEnvironment*, v8::internal::Translation*)
1 0.0% 0.0% v8::internal::LCodeGen::GenerateBodyInstructionPost(v8::internal::LInstruction*)
1 0.0% 0.0% v8::internal::LChunk::MarkEmptyBlocks()
1 0.0% 0.0% v8::internal::LChunk::LookupLiteralRepresentation(v8::internal::LSubKindOperand<(v8::internal::LOperand::Kind)2, 128>*) const
1 0.0% 0.0% v8::internal::KeyedStoreIC::Store(v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Object>)
1 0.0% 0.0% v8::internal::KeyAccumulator::GetOwnEnumPropertyKeys(v8::internal::Isolate*, v8::internal::Handle<v8::internal::JSObject>)
1 0.0% 0.0% v8::internal::KeyAccumulator::CollectOwnPropertyNames(v8::internal::Handle<v8::internal::JSReceiver>, v8::internal::Handle<v8::internal::JSObject>)
1 0.0% 0.0% v8::internal::JsonParser<true>::ParseJsonObject()
1 0.0% 0.0% v8::internal::JSObject::MigrateSlowToFast(v8::internal::Handle<v8::internal::JSObject>, int, char const*)
1 0.0% 0.0% v8::internal::JSFunction::EnsureHasInitialMap(v8::internal::Handle<v8::internal::JSFunction>)
1 0.0% 0.0% v8::internal::Isolate::UpdateArrayProtectorOnSetElement(v8::internal::Handle<v8::internal::JSObject>)
1 0.0% 0.0% v8::internal::IncrementalStringBuilder::Extend()
1 0.0% 0.0% v8::internal::IncrementalMarking::ActivateIncrementalWriteBarrier()
1 0.0% 0.0% v8::internal::IC::update_receiver_map(v8::internal::Handle<v8::internal::Object>)
1 0.0% 0.0% v8::internal::IC::PostPatching(unsigned char*, v8::internal::Code*, v8::internal::Code*)
1 0.0% 0.0% v8::internal::IC::OnTypeFeedbackChanged(v8::internal::Isolate*, v8::internal::Code*)
1 0.0% 0.0% v8::internal::IC::ComputeHandler(v8::internal::LookupIterator*, v8::internal::Handle<v8::internal::Object>)
1 0.0% 0.0% v8::internal::Heap::GetFillToAlign(unsigned char*, v8::internal::AllocationAlignment)
1 0.0% 0.0% v8::internal::Heap::GarbageCollectionEpilogue()
1 0.0% 0.0% v8::internal::Heap::CopyJSObject(v8::internal::JSObject*, v8::internal::AllocationSite*)
1 0.0% 0.0% v8::internal::Heap::CopyFixedArrayAndGrow(v8::internal::FixedArray*, int, v8::internal::PretenureFlag)
1 0.0% 0.0% v8::internal::Heap::CollectGarbage(v8::internal::GarbageCollector, v8::internal::GarbageCollectionReason, char const*, v8::GCCallbackFlags)
1 0.0% 0.0% v8::internal::Heap::ClearRecordedSlotRange(unsigned char*, unsigned char*)
1 0.0% 0.0% v8::internal::Heap::AllocateFixedArray(int, v8::internal::PretenureFlag)
1 0.0% 0.0% v8::internal::Heap::AllocateFillerObject(int, bool, v8::internal::AllocationSpace)
1 0.0% 0.0% v8::internal::Heap::AdjustLiveBytes(v8::internal::HeapObject*, int, v8::internal::Heap::InvocationMode)
1 0.0% 0.0% v8::internal::HashTable<v8::internal::WeakHashTable, v8::internal::WeakHashTableShape<2>, v8::internal::Handle<v8::internal::Object> >::FindEntry(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Object>)
1 0.0% 0.0% v8::internal::HashTable<v8::internal::NameDictionary, v8::internal::NameDictionaryShape, v8::internal::Handle<v8::internal::Name> >::FindEntry(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Name>, int)
1 0.0% 0.0% v8::internal::HandleScope::DeleteExtensions(v8::internal::Isolate*)
1 0.0% 0.0% v8::internal::Handle<v8::internal::String> v8::internal::JsonParser<true>::SlowScanJsonString<v8::internal::SeqOneByteString, unsigned char>(v8::internal::Handle<v8::internal::String>, int, int)
1 0.0% 0.0% v8::internal::Handle<v8::internal::ConsString> v8::internal::Factory::New<v8::internal::ConsString>(v8::internal::Handle<v8::internal::Map>, v8::internal::AllocationSpace)
1 0.0% 0.0% v8::internal::HRangeAnalysisPhase::TraceRange(char const*, ...)
1 0.0% 0.0% v8::internal::HOptimizedGraphBuilder::VisitCall(v8::internal::Call*)
1 0.0% 0.0% v8::internal::HOptimizedGraphBuilder::VisitArithmeticExpression(v8::internal::BinaryOperation*)
1 0.0% 0.0% v8::internal::HInstruction::position() const
1 0.0% 0.0% v8::internal::HConstant::Initialize(v8::internal::Representation)
1 0.0% 0.0% v8::internal::HConstant::FinalizeUniqueness()
1 0.0% 0.0% v8::internal::GlobalHandles::UpdateListOfNewSpaceNodes()
1 0.0% 0.0% v8::internal::GlobalHandles::IterateNewSpaceStrongAndDependentRoots(v8::internal::ObjectVisitor*)
1 0.0% 0.0% v8::internal::GlobalHandles::IdentifyWeakUnmodifiedObjects(bool (*)(v8::internal::Object**))
1 0.0% 0.0% v8::internal::GCTracer::Stop(v8::internal::GarbageCollector)
1 0.0% 0.0% v8::internal::GCTracer::Scope::~Scope()
1 0.0% 0.0% v8::internal::GCTracer::Print() const
1 0.0% 0.0% v8::internal::FunctionCallbackArguments::Call(void (*)(v8::FunctionCallbackInfo<v8::Value> const&))
1 0.0% 0.0% v8::internal::FullCodeGenerator::result_register()
1 0.0% 0.0% v8::internal::FullCodeGenerator::VisitVariableDeclaration(v8::internal::VariableDeclaration*)
1 0.0% 0.0% v8::internal::FullCodeGenerator::VarOperand(v8::internal::Variable*, v8::internal::Register)
1 0.0% 0.0% v8::internal::FullCodeGenerator::RestoreContext()
1 0.0% 0.0% v8::internal::FullCodeGenerator::NeedsHoleCheckForLoad(v8::internal::VariableProxy*)
1 0.0% 0.0% v8::internal::FullCodeGenerator::Generate()
1 0.0% 0.0% v8::internal::FullCodeGenerator::EmitNamedPropertyAssignment(v8::internal::Assignment*)
1 0.0% 0.0% v8::internal::FullCodeGenerator::EffectContext::DropAndPlug(int, v8::internal::Register) const
1 0.0% 0.0% v8::internal::FullCodeGenerator::CallStoreIC(v8::internal::FeedbackVectorSlot, v8::internal::Handle<v8::internal::Object>, v8::internal::TypeFeedbackId)
1 0.0% 0.0% v8::internal::FreeListCategory::Relink()
1 0.0% 0.0% v8::internal::FeedbackNexus::FindHandlerForMap(v8::internal::Handle<v8::internal::Map>) const
1 0.0% 0.0% v8::internal::FeedbackNexus::EnsureArrayOfSize(int)
1 0.0% 0.0% v8::internal::FastKeyAccumulator::Prepare()
1 0.0% 0.0% v8::internal::Factory::NewSharedFunctionInfo(v8::internal::Handle<v8::internal::String>, int, v8::internal::FunctionKind, v8::internal::Handle<v8::internal::Code>, v8::internal::Handle<v8::internal::ScopeInfo>)
1 0.0% 0.0% v8::internal::Factory::NewFixedArray(int, v8::internal::PretenureFlag)
1 0.0% 0.0% v8::internal::Factory::NewConsString(v8::internal::Handle<v8::internal::String>, v8::internal::Handle<v8::internal::String>)
1 0.0% 0.0% v8::internal::Factory::CopyCode(v8::internal::Handle<v8::internal::Code>)
1 0.0% 0.0% v8::internal::ExpressionClassifier<v8::internal::ParserTypes<v8::internal::Parser> >::RecordArrowFormalParametersError(v8::internal::Scanner::Location const&, v8::internal::MessageTemplate::Template, char const*)
1 0.0% 0.0% v8::internal::Expression::IsUndefinedLiteral() const
1 0.0% 0.0% v8::internal::ExitFrame::ComputeCallerState(v8::internal::StackFrame::State*) const
1 0.0% 0.0% v8::internal::ElementsAccessor::Concat(v8::internal::Isolate*, v8::internal::Arguments*, unsigned int, unsigned int)
1 0.0% 0.0% v8::internal::Dictionary<v8::internal::NameDictionary, v8::internal::NameDictionaryShape, v8::internal::Handle<v8::internal::Name> >::GenerateNewEnumerationIndices(v8::internal::Handle<v8::internal::NameDictionary>)
1 0.0% 0.0% v8::internal::Dictionary<v8::internal::NameDictionary, v8::internal::NameDictionaryShape, v8::internal::Handle<v8::internal::Name> >::BuildIterationIndicesArray(v8::internal::Handle<v8::internal::NameDictionary>)
1 0.0% 0.0% v8::internal::Deserializer::ReadData(v8::internal::Object**, v8::internal::Object**, int, unsigned char*)
1 0.0% 0.0% v8::internal::DescriptorArray::CopyFrom(int, v8::internal::DescriptorArray*)
1 0.0% 0.0% v8::internal::DeclarationScope::Analyze(v8::internal::ParseInfo*, v8::internal::AnalyzeMode)
1 0.0% 0.0% v8::internal::CreateObjectLiteralBoilerplate(v8::internal::Isolate*, v8::internal::Handle<v8::internal::LiteralsArray>, v8::internal::Handle<v8::internal::FixedArray>, bool)
1 0.0% 0.0% v8::internal::CpuFeatures::FlushICache(void*, unsigned long)
1 0.0% 0.0% v8::internal::Context::scope_info()
1 0.0% 0.0% v8::internal::Context::RemoveOptimizedFunction(v8::internal::JSFunction*)
1 0.0% 0.0% v8::internal::ConsStringIterator::Continue(int*)
1 0.0% 0.0% v8::internal::ConsString* v8::internal::String::VisitFlat<v8::internal::StringCharacterStream>(v8::internal::StringCharacterStream*, v8::internal::String*, int)
1 0.0% 0.0% v8::internal::CompilationInfo::shared_info() const
1 0.0% 0.0% v8::internal::CompilationCacheTable::Age()
1 0.0% 0.0% v8::internal::CodeStub::GetCode()
1 0.0% 0.0% v8::internal::CodeFlusher::ProcessJSFunctionCandidates()
1 0.0% 0.0% v8::internal::CodeFlusher::IteratePointersToFromSpace(v8::internal::ObjectVisitor*)
1 0.0% 0.0% v8::internal::CodeEventDispatcher::CodeCreateEvent(v8::internal::CodeEventListener::LogEventsAndTags, v8::internal::AbstractCode*, v8::internal::Name*)
1 0.0% 0.0% v8::internal::CodeCache::LinearLookup(v8::internal::FixedArray*, v8::internal::Name*, unsigned int)
1 0.0% 0.0% v8::internal::Code::GetSafepointEntry(unsigned char*)
1 0.0% 0.0% v8::internal::CallICNexus::StateFromFeedback() const
1 0.0% 0.0% v8::internal::Call::Call(v8::internal::Expression*, v8::internal::ZoneList<v8::internal::Expression*>*, int, v8::internal::Call::PossiblyEval)
1 0.0% 0.0% v8::internal::Builtin_Impl_ObjectKeys(v8::internal::BuiltinArguments, v8::internal::Isolate*)
1 0.0% 0.0% v8::internal::Builtin_Impl_NumberPrototypeToString(v8::internal::BuiltinArguments, v8::internal::Isolate*)
1 0.0% 0.0% v8::internal::AstValueFactory::Internalize(v8::internal::Isolate*)
1 0.0% 0.0% v8::internal::AstValueFactory::AstRawStringCompare(void*, void*)
1 0.0% 0.0% v8::internal::AstTyper::NarrowLowerType(v8::internal::Expression*, v8::internal::AstType*)
1 0.0% 0.0% v8::internal::AstNumberingVisitor::VisitNoStackOverflowCheck(v8::internal::AstNode*)
1 0.0% 0.0% v8::internal::AstNumberingVisitor::Renumber(v8::internal::FunctionLiteral*)
1 0.0% 0.0% v8::internal::AssignVectorSlots(v8::internal::Expression*, v8::internal::FeedbackVectorSpec*, v8::internal::FeedbackVectorSlot*)
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::immediate_arithmetic_op(unsigned char, v8::internal::Operand const&, v8::internal::Immediate, int)
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::emit(v8::internal::Immediate)
1 0.0% 0.0% v8::internal::AccessorPair::GetComponent(v8::internal::Handle<v8::internal::AccessorPair>, v8::internal::AccessorComponent)
1 0.0% 0.0% v8::internal::(anonymous namespace)::Fast_ArrayConcat(v8::internal::Isolate*, v8::internal::BuiltinArguments*)
1 0.0% 0.0% v8::internal::(anonymous namespace)::ElementsAccessorBase<v8::internal::(anonymous namespace)::FastPackedSmiElementsAccessor, v8::internal::(anonymous namespace)::ElementsKindTraits<(v8::internal::ElementsKind)0> >::GetImpl(v8::internal::FixedArrayBase*, unsigned int)
1 0.0% 0.0% v8::internal::(anonymous namespace)::CompileUnoptimizedCode(v8::internal::CompilationInfo*)
1 0.0% 0.0% v8::base::TemplateHashMapImpl<void*, void*, v8::base::KeyEqualityMatcher<void*>, v8::internal::ZoneAllocationPolicy>::Probe(void* const&, unsigned int) const
1 0.0% 0.0% v8::base::TemplateHashMapImpl<void*, void*, v8::base::KeyEqualityMatcher<void*>, v8::base::DefaultAllocationPolicy>::Probe(void* const&, unsigned int) const
1 0.0% 0.0% v8::base::TemplateHashMapImpl<void*, void*, v8::base::HashEqualityThenKeyMatcher<void*, bool (*)(void*, void*)>, v8::base::DefaultAllocationPolicy>::FillEmptyEntry(v8::base::TemplateHashMapEntry<void*, void*>*, void* const&, void* const&, unsigned int, v8::base::DefaultAllocationPolicy)
1 0.0% 0.0% v8::base::RandomNumberGenerator::Next(int)
1 0.0% 0.0% v8::base::OS::CommitPageSize()
1 0.0% 0.0% v8::Locker::IsActive()
1 0.0% 0.0% std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> > std::__1::__pad_and_output<char, std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> > >(std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> >, char const*, char const*, char const*, std::__1::ios_base&, char)
1 0.0% 0.0% std::__1::deque<v8::internal::compiler::Instruction*, v8::internal::zone_allocator<v8::internal::compiler::Instruction*> >::push_back(v8::internal::compiler::Instruction* const&)
1 0.0% 0.0% std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long)
1 0.0% 0.0% std::__1::__tree_const_iterator<std::__1::__value_type<v8::internal::Expression*, v8::internal::AstBounds>, std::__1::__tree_node<std::__1::__value_type<v8::internal::Expression*, v8::internal::AstBounds>, void*>*, long> std::__1::__tree<std::__1::__value_type<v8::internal::Expression*, v8::internal::AstBounds>, std::__1::__map_value_compare<v8::internal::Expression*, std::__1::__value_type<v8::internal::Expression*, v8::internal::AstBounds>, std::__1::less<v8::internal::Expression*>, true>, v8::internal::zone_allocator<std::__1::__value_type<v8::internal::Expression*, v8::internal::AstBounds> > >::find<v8::internal::Expression*>(v8::internal::Expression* const&) const
1 0.0% 0.0% node::crypto::Sign::SignFinal(v8::FunctionCallbackInfo<v8::Value> const&)
1 0.0% 0.0% node::crypto::Hmac::HmacInit(v8::FunctionCallbackInfo<v8::Value> const&)
1 0.0% 0.0% node::TCPWrap::Connect(v8::FunctionCallbackInfo<v8::Value> const&)
1 0.0% 0.0% node::Open(v8::FunctionCallbackInfo<v8::Value> const&)
1 0.0% 0.0% node::LStat(v8::FunctionCallbackInfo<v8::Value> const&)
1 0.0% 0.0% node::InternalModuleStat(v8::FunctionCallbackInfo<v8::Value> const&)
1 0.0% 0.0% node::Close(v8::FunctionCallbackInfo<v8::Value> const&)
1 0.0% 0.0% node::Buffer::Copy(v8::FunctionCallbackInfo<v8::Value> const&)
1 0.0% 0.0% int v8::internal::FlexibleBodyVisitor<v8::internal::StaticScavengeVisitor<(v8::internal::PromotionMode)1>, v8::internal::FlexibleBodyDescriptor<8>, int>::VisitSpecialized<32>(v8::internal::Map*, v8::internal::HeapObject*)
1 0.0% 0.0% bool v8::internal::ScavengingVisitor<(v8::internal::MarksHandling)1, (v8::internal::PromotionMode)1, (v8::internal::LoggingAndProfiling)0>::PromoteObject<(v8::internal::ScavengingVisitor<(v8::internal::MarksHandling)1, (v8::internal::PromotionMode)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% bool v8::internal::ScavengingVisitor<(v8::internal::MarksHandling)0, (v8::internal::PromotionMode)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% bool v8::internal::ScavengingVisitor<(v8::internal::MarksHandling)0, (v8::internal::PromotionMode)0, (v8::internal::LoggingAndProfiling)0>::PromoteObject<(v8::internal::ScavengingVisitor<(v8::internal::MarksHandling)0, (v8::internal::PromotionMode)0, (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% bool v8::internal::JSObject::UpdateAllocationSite<(v8::internal::AllocationSiteUpdateMode)0>(v8::internal::Handle<v8::internal::JSObject>, v8::internal::ElementsKind)
1 0.0% 0.0% _traverse_string
1 0.0% 0.0% _bn_mul_mont
1 0.0% 0.0% _BN_ucmp
[Summary]:
ticks total nonlib name
4283 18.0% 19.5% JavaScript
16273 68.6% 74.2% C++
2540 10.7% 11.6% GC
1799 7.6% Shared libraries
1378 5.8% Unaccounted
[C++ entry points]:
ticks cpp total name
11873 76.7% 50.0% v8::internal::Builtin_ArraySplice(int, v8::internal::Object**, v8::internal::Isolate*)
2208 14.3% 9.3% v8::internal::Runtime_StringBuilderJoin(int, v8::internal::Object**, v8::internal::Isolate*)
359 2.3% 1.5% v8::internal::Builtin_ArraySlice(int, v8::internal::Object**, v8::internal::Isolate*)
341 2.2% 1.4% v8::internal::Builtin_HandleApiCall(int, v8::internal::Object**, v8::internal::Isolate*)
156 1.0% 0.7% v8::internal::Runtime_CompileLazy(int, v8::internal::Object**, v8::internal::Isolate*)
57 0.4% 0.2% v8::internal::Builtin_Impl_ArraySplice(v8::internal::BuiltinArguments, v8::internal::Isolate*)
52 0.3% 0.2% v8::internal::Runtime_KeyedStoreIC_Miss(int, v8::internal::Object**, v8::internal::Isolate*)
48 0.3% 0.2% v8::internal::Runtime_LoadIC_Miss(int, v8::internal::Object**, v8::internal::Isolate*)
38 0.2% 0.2% v8::internal::Builtin_ErrorCaptureStackTrace(int, v8::internal::Object**, v8::internal::Isolate*)
34 0.2% 0.1% v8::internal::Builtin_JsonParse(int, v8::internal::Object**, v8::internal::Isolate*)
29 0.2% 0.1% v8::internal::Runtime_StoreIC_Miss(int, v8::internal::Object**, v8::internal::Isolate*)
28 0.2% 0.1% v8::internal::Runtime_CompileOptimized_Concurrent(int, v8::internal::Object**, v8::internal::Isolate*)
27 0.2% 0.1% v8::internal::LookupIterator::State v8::internal::LookupIterator::LookupInRegularHolder<false>(v8::internal::Map*, v8::internal::JSReceiver*)
23 0.1% 0.1% v8::internal::Runtime_KeyedGetProperty(int, v8::internal::Object**, v8::internal::Isolate*)
18 0.1% 0.1% v8::internal::Runtime_StackGuard(int, v8::internal::Object**, v8::internal::Isolate*)
17 0.1% 0.1% v8::internal::Runtime_CreateObjectLiteral(int, v8::internal::Object**, v8::internal::Isolate*)
15 0.1% 0.1% v8::internal::Runtime_SetProperty(int, v8::internal::Object**, v8::internal::Isolate*)
14 0.1% 0.1% v8::internal::Runtime_AllocateInNewSpace(int, v8::internal::Object**, v8::internal::Isolate*)
14 0.1% 0.1% v8::internal::Builtin_ObjectDefineProperty(int, v8::internal::Object**, v8::internal::Isolate*)
13 0.1% 0.1% 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>)
12 0.1% 0.1% v8::internal::Runtime_KeyedLoadIC_Miss(int, v8::internal::Object**, v8::internal::Isolate*)
9 0.1% 0.0% v8::internal::Runtime_NewObject(int, v8::internal::Object**, v8::internal::Isolate*)
6 0.0% 0.0% v8::internal::Runtime_GenericHash(int, v8::internal::Object**, v8::internal::Isolate*)
6 0.0% 0.0% v8::internal::Runtime_BinaryOpIC_Miss(int, v8::internal::Object**, v8::internal::Isolate*)
6 0.0% 0.0% v8::internal::Runtime_AllocateInTargetSpace(int, v8::internal::Object**, v8::internal::Isolate*)
6 0.0% 0.0% v8::internal::Builtin_DateConstructor_ConstructStub(int, v8::internal::Object**, v8::internal::Isolate*)
4 0.0% 0.0% v8::internal::Builtin_FunctionConstructor(int, v8::internal::Object**, v8::internal::Isolate*)
3 0.0% 0.0% v8::internal::Runtime_StringSplit(int, v8::internal::Object**, v8::internal::Isolate*)
3 0.0% 0.0% v8::internal::Runtime_RegExpExec(int, v8::internal::Object**, v8::internal::Isolate*)
3 0.0% 0.0% v8::internal::Runtime_NewClosure_Tenured(int, v8::internal::Object**, v8::internal::Isolate*)
3 0.0% 0.0% v8::internal::Runtime_Interrupt(int, v8::internal::Object**, v8::internal::Isolate*)
3 0.0% 0.0% v8::internal::Builtin_ObjectKeys(int, v8::internal::Object**, v8::internal::Isolate*)
3 0.0% 0.0% v8::internal::Builtin_JsonStringify(int, v8::internal::Object**, v8::internal::Isolate*)
3 0.0% 0.0% _uv__fs_work
2 0.0% 0.0% void v8::Utf8WriterVisitor::Visit<unsigned char>(unsigned char const*, int)
2 0.0% 0.0% v8::internal::Runtime_ToBooleanIC_Miss(int, v8::internal::Object**, v8::internal::Isolate*)
2 0.0% 0.0% v8::internal::Runtime_StringCharCodeAtRT(int, v8::internal::Object**, v8::internal::Isolate*)
2 0.0% 0.0% v8::internal::Runtime_StrictEqual(int, v8::internal::Object**, v8::internal::Isolate*)
2 0.0% 0.0% v8::internal::Runtime_CreateRegExpLiteral(int, v8::internal::Object**, v8::internal::Isolate*)
2 0.0% 0.0% v8::internal::ConsString* v8::internal::String::VisitFlat<v8::Utf8WriterVisitor>(v8::Utf8WriterVisitor*, v8::internal::String*, int)
2 0.0% 0.0% v8::internal::Builtin_RegExpConstructor(int, v8::internal::Object**, v8::internal::Isolate*)
2 0.0% 0.0% v8::internal::Builtin_ObjectGetOwnPropertySymbols(int, v8::internal::Object**, v8::internal::Isolate*)
2 0.0% 0.0% v8::internal::Builtin_ArrayConcat(int, v8::internal::Object**, v8::internal::Isolate*)
1 0.0% 0.0% v8::internal::SourcePositionTableIterator::Advance()
1 0.0% 0.0% v8::internal::Scanner::ScanIdentifierOrKeyword()
1 0.0% 0.0% v8::internal::Runtime_TryInstallOptimizedCode(int, v8::internal::Object**, v8::internal::Isolate*)
1 0.0% 0.0% v8::internal::Runtime_ThrowCalledNonCallable(int, v8::internal::Object**, v8::internal::Isolate*)
1 0.0% 0.0% v8::internal::Runtime_StringReplaceGlobalRegExpWithString(int, v8::internal::Object**, v8::internal::Isolate*)
1 0.0% 0.0% v8::internal::Runtime_StringEqual(int, v8::internal::Object**, v8::internal::Isolate*)
1 0.0% 0.0% v8::internal::Runtime_ResolvePossiblyDirectEval(int, v8::internal::Object**, v8::internal::Isolate*)
1 0.0% 0.0% v8::internal::Runtime_ObjectHasOwnProperty(int, v8::internal::Object**, v8::internal::Isolate*)
1 0.0% 0.0% v8::internal::Runtime_NumberToStringSkipCache(int, v8::internal::Object**, v8::internal::Isolate*)
1 0.0% 0.0% v8::internal::Runtime_NotifyDeoptimized(int, v8::internal::Object**, v8::internal::Isolate*)
1 0.0% 0.0% v8::internal::Runtime_NewClosure(int, v8::internal::Object**, v8::internal::Isolate*)
1 0.0% 0.0% v8::internal::Runtime_LoadGlobalIC_Miss(int, v8::internal::Object**, v8::internal::Isolate*)
1 0.0% 0.0% v8::internal::Runtime_InstanceOf(int, v8::internal::Object**, v8::internal::Isolate*)
1 0.0% 0.0% v8::internal::Runtime_ForInEnumerate(int, v8::internal::Object**, v8::internal::Isolate*)
1 0.0% 0.0% v8::internal::Runtime_CompareIC_Miss(int, v8::internal::Object**, v8::internal::Isolate*)
1 0.0% 0.0% v8::internal::Runtime_CallIC_Miss(int, v8::internal::Object**, v8::internal::Isolate*)
1 0.0% 0.0% v8::internal::MarkCompactCollector::RecordRelocSlot(v8::internal::Code*, v8::internal::RelocInfo*, v8::internal::Object*)
1 0.0% 0.0% v8::internal::LookupIterator::LookupIterator(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::Heap::CreateFillerObjectAt(unsigned char*, int, v8::internal::ClearRecordedSlots, v8::internal::ClearBlackArea)
1 0.0% 0.0% v8::internal::Builtin_NumberPrototypeToString(int, v8::internal::Object**, v8::internal::Isolate*)
1 0.0% 0.0% v8::internal::Builtin_DateNow(int, v8::internal::Object**, v8::internal::Isolate*)
1 0.0% 0.0% v8::internal::Builtin_ArrayBufferConstructor_ConstructStub(int, v8::internal::Object**, v8::internal::Isolate*)
1 0.0% 0.0% v8::Locker::IsActive()
1 0.0% 0.0% int v8::internal::BinarySearch<(v8::internal::SearchMode)1, v8::internal::DescriptorArray>(v8::internal::DescriptorArray*, v8::internal::Name*, int, int*)
[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
2833 11.9% LazyCompile: *<anonymous> /Users/juanjo/dev/schoolhub/api/node_modules/json-stringify-safe/stringify.js:16:18
2833 100.0% Stub: CEntryStub {1}
2833 100.0% LazyCompile: ~stringify /Users/juanjo/dev/schoolhub/api/node_modules/json-stringify-safe/stringify.js:4:19
2833 100.0% LazyCompile: ~send /Users/juanjo/dev/schoolhub/api/node_modules/raven/lib/client.js:285:22
2833 100.0% LazyCompile: ~process /Users/juanjo/dev/schoolhub/api/node_modules/raven/lib/client.js:214:28
2833 100.0% LazyCompile: ~<anonymous> /Users/juanjo/dev/schoolhub/api/node_modules/raven/lib/client.js:333:46
1802 7.6% v8::internal::JsonStringifier::Result v8::internal::JsonStringifier::Serialize_<true>(v8::internal::Handle<v8::internal::Object>, bool, v8::internal::Handle<v8::internal::Object>)
1687 93.6% v8::internal::Builtin_ArraySplice(int, v8::internal::Object**, v8::internal::Isolate*)
1687 100.0% LazyCompile: ~stringify /Users/juanjo/dev/schoolhub/api/node_modules/json-stringify-safe/stringify.js:4:19
1687 100.0% LazyCompile: ~send /Users/juanjo/dev/schoolhub/api/node_modules/raven/lib/client.js:285:22
1687 100.0% LazyCompile: ~process /Users/juanjo/dev/schoolhub/api/node_modules/raven/lib/client.js:214:28
1687 100.0% LazyCompile: ~<anonymous> /Users/juanjo/dev/schoolhub/api/node_modules/raven/lib/client.js:333:46
114 6.3% v8::internal::Runtime_StringBuilderJoin(int, v8::internal::Object**, v8::internal::Isolate*)
114 100.0% LazyCompile: ~stringify /Users/juanjo/dev/schoolhub/api/node_modules/json-stringify-safe/stringify.js:4:19
114 100.0% LazyCompile: ~send /Users/juanjo/dev/schoolhub/api/node_modules/raven/lib/client.js:285:22
114 100.0% LazyCompile: ~process /Users/juanjo/dev/schoolhub/api/node_modules/raven/lib/client.js:214:28
114 100.0% LazyCompile: ~<anonymous> /Users/juanjo/dev/schoolhub/api/node_modules/raven/lib/client.js:333:46
1576 6.6% v8::internal::JsonStringifier::SerializeString(v8::internal::Handle<v8::internal::String>)
908 57.6% v8::internal::Builtin_ArraySplice(int, v8::internal::Object**, v8::internal::Isolate*)
908 100.0% LazyCompile: ~stringify /Users/juanjo/dev/schoolhub/api/node_modules/json-stringify-safe/stringify.js:4:19
908 100.0% LazyCompile: ~send /Users/juanjo/dev/schoolhub/api/node_modules/raven/lib/client.js:285:22
908 100.0% LazyCompile: ~process /Users/juanjo/dev/schoolhub/api/node_modules/raven/lib/client.js:214:28
908 100.0% LazyCompile: ~<anonymous> /Users/juanjo/dev/schoolhub/api/node_modules/raven/lib/client.js:333:46
668 42.4% v8::internal::Runtime_StringBuilderJoin(int, v8::internal::Object**, v8::internal::Isolate*)
668 100.0% LazyCompile: ~stringify /Users/juanjo/dev/schoolhub/api/node_modules/json-stringify-safe/stringify.js:4:19
668 100.0% LazyCompile: ~send /Users/juanjo/dev/schoolhub/api/node_modules/raven/lib/client.js:285:22
668 100.0% LazyCompile: ~process /Users/juanjo/dev/schoolhub/api/node_modules/raven/lib/client.js:214:28
668 100.0% LazyCompile: ~<anonymous> /Users/juanjo/dev/schoolhub/api/node_modules/raven/lib/client.js:333:46
1504 6.3% /usr/lib/system/libsystem_platform.dylib
1378 5.8% UNKNOWN
794 3.3% v8::internal::Builtin_Impl_ArraySplice(v8::internal::BuiltinArguments, v8::internal::Isolate*)
737 92.8% v8::internal::Builtin_ArraySplice(int, v8::internal::Object**, v8::internal::Isolate*)
737 100.0% LazyCompile: *<anonymous> /Users/juanjo/dev/schoolhub/api/node_modules/json-stringify-safe/stringify.js:16:18
737 100.0% Stub: CEntryStub {1}
737 100.0% LazyCompile: ~stringify /Users/juanjo/dev/schoolhub/api/node_modules/json-stringify-safe/stringify.js:4:19
737 100.0% LazyCompile: ~send /Users/juanjo/dev/schoolhub/api/node_modules/raven/lib/client.js:285:22
57 7.2% LazyCompile: *join native array.js:289:19
57 100.0% v8::internal::Builtin_ArraySplice(int, v8::internal::Object**, v8::internal::Isolate*)
57 100.0% LazyCompile: *<anonymous> /Users/juanjo/dev/schoolhub/api/node_modules/json-stringify-safe/stringify.js:16:18
57 100.0% Stub: CEntryStub {1}
57 100.0% LazyCompile: ~stringify /Users/juanjo/dev/schoolhub/api/node_modules/json-stringify-safe/stringify.js:4:19
721 3.0% v8::internal::(anonymous namespace)::EnsureJSArrayWithWritableFastElements(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Object>, v8::internal::BuiltinArguments*, int)
721 100.0% v8::internal::Builtin_ArraySplice(int, v8::internal::Object**, v8::internal::Isolate*)
721 100.0% LazyCompile: *<anonymous> /Users/juanjo/dev/schoolhub/api/node_modules/json-stringify-safe/stringify.js:16:18
721 100.0% Stub: CEntryStub {1}
721 100.0% LazyCompile: ~stringify /Users/juanjo/dev/schoolhub/api/node_modules/json-stringify-safe/stringify.js:4:19
721 100.0% LazyCompile: ~send /Users/juanjo/dev/schoolhub/api/node_modules/raven/lib/client.js:285:22
675 2.8% v8::internal::(anonymous namespace)::ElementsAccessorBase<v8::internal::(anonymous namespace)::FastPackedObjectElementsAccessor, v8::internal::(anonymous namespace)::ElementsKindTraits<(v8::internal::ElementsKind)2> >::Splice(v8::internal::Handle<v8::internal::JSArray>, unsigned int, unsigned int, v8::internal::Arguments*, unsigned int)
675 100.0% v8::internal::Builtin_ArraySplice(int, v8::internal::Object**, v8::internal::Isolate*)
675 100.0% LazyCompile: *<anonymous> /Users/juanjo/dev/schoolhub/api/node_modules/json-stringify-safe/stringify.js:16:18
675 100.0% Stub: CEntryStub {1}
675 100.0% LazyCompile: ~stringify /Users/juanjo/dev/schoolhub/api/node_modules/json-stringify-safe/stringify.js:4:19
675 100.0% LazyCompile: ~send /Users/juanjo/dev/schoolhub/api/node_modules/raven/lib/client.js:285:22
616 2.6% v8::internal::(anonymous namespace)::CopyObjectToObjectElements(v8::internal::FixedArrayBase*, v8::internal::ElementsKind, unsigned int, v8::internal::FixedArrayBase*, v8::internal::ElementsKind, unsigned int, int)
423 68.7% v8::internal::Builtin_ArraySplice(int, v8::internal::Object**, v8::internal::Isolate*)
379 89.6% LazyCompile: *<anonymous> /Users/juanjo/dev/schoolhub/api/node_modules/json-stringify-safe/stringify.js:16:18
379 100.0% Stub: CEntryStub {1}
379 100.0% LazyCompile: ~stringify /Users/juanjo/dev/schoolhub/api/node_modules/json-stringify-safe/stringify.js:4:19
379 100.0% LazyCompile: ~send /Users/juanjo/dev/schoolhub/api/node_modules/raven/lib/client.js:285:22
44 10.4% LazyCompile: ~stringify /Users/juanjo/dev/schoolhub/api/node_modules/json-stringify-safe/stringify.js:4:19
44 100.0% LazyCompile: ~send /Users/juanjo/dev/schoolhub/api/node_modules/raven/lib/client.js:285:22
44 100.0% LazyCompile: ~process /Users/juanjo/dev/schoolhub/api/node_modules/raven/lib/client.js:214:28
44 100.0% LazyCompile: ~<anonymous> /Users/juanjo/dev/schoolhub/api/node_modules/raven/lib/client.js:333:46
193 31.3% v8::internal::Builtin_ArraySlice(int, v8::internal::Object**, v8::internal::Isolate*)
193 100.0% LazyCompile: *cycleReplacer /Users/juanjo/dev/schoolhub/api/node_modules/json-stringify-safe/stringify.js:11:54
193 100.0% LazyCompile: *<anonymous> /Users/juanjo/dev/schoolhub/api/node_modules/json-stringify-safe/stringify.js:16:18
193 100.0% Stub: CEntryStub {1}
193 100.0% LazyCompile: ~stringify /Users/juanjo/dev/schoolhub/api/node_modules/json-stringify-safe/stringify.js:4:19
615 2.6% void v8::internal::String::WriteToFlat<unsigned short>(v8::internal::String*, unsigned short*, int, int)
614 99.8% v8::internal::Runtime_StringBuilderJoin(int, v8::internal::Object**, v8::internal::Isolate*)
542 88.3% LazyCompile: *DoJoin native array.js:97:16
542 100.0% LazyCompile: *Join native array.js:122:14
542 100.0% LazyCompile: *InnerArrayJoin native array.js:276:24
542 100.0% LazyCompile: *join native array.js:289:19
72 11.7% LazyCompile: ~stringify /Users/juanjo/dev/schoolhub/api/node_modules/json-stringify-safe/stringify.js:4:19
72 100.0% LazyCompile: ~send /Users/juanjo/dev/schoolhub/api/node_modules/raven/lib/client.js:285:22
72 100.0% LazyCompile: ~process /Users/juanjo/dev/schoolhub/api/node_modules/raven/lib/client.js:214:28
72 100.0% LazyCompile: ~<anonymous> /Users/juanjo/dev/schoolhub/api/node_modules/raven/lib/client.js:333:46
475 2.0% v8::internal::PagedSpace::Available()
I can't spot from the backtrace of yours, @juanjoLenero, what's the thing doing the stringifying and why is it attempting to stringify a Sequelize object. Do you know?
@moll There's nothing wrong with json-stringify-safe, the problem was in trying to stringify the sequelize object.
As part of our error reporting we log the user for context, but instead of logging a plain object we were logging a sequelize instance object. This object is huge and contains references to other models and the underlying database connection. That's what was consuming all the cpu.
I converted the user instance to a plain object before logging and the problem is gone. Sorry for the inconvenience.
No prob. Thanks for the follow up. If you, fellows, don't mind, I'll close this issue it seems we've agreed to not do anything about this on stringify-safe's side for now. Feel free to voice an opposing opinion though. :)
Thanks for sharing!
I came across an error while trying to calculate the hash of a
sequelize
query object. It includes model definitions, which contain a reference to the client, which contains a reference topg
which does lazy instantiation using__defineGetter__
on thepg-native
library (that I don't need so don't have installed).Open question what the correct behaviour should be here. You could argue that lazy require via a getter is an abberant special case that could be covered by a workaround, or you could take the view that stringification should be "as is" rather than running arbitrary code.
I think I'm in the former camp, as "normal" getter use would probably be expected behaviour, but wanted to post this here to document the error case.
Maybe a compromise might be to allow an optional
getterReplacer
that decides behaviour