That makes sense. Is there any convenient way to find where this is
happening, e.g. via a debugger?
Here's the full output from --prof-process:
Statistical profiling result from isolate-000001A4282567E0-v8.log, (1437
ticks, 116 unaccounted, 0 excluded).
[Shared libraries]:
ticks total nonlib name
[JavaScript]:
ticks total nonlib name
892 62.1% 62.1% Handler: symbol("nonexistent_symbol" hash 157aee38)
173 12.0% 12.0% Handler: symbol("Symbol.iterator" hash 43b0ecc)
160 11.1% 11.1% Stub: RecordWriteStub {4}
12 0.8% 0.8% Stub: RecordWriteStub {3}
10 0.7% 0.7% Handler:
symbol("promise_deferred_reactions_symbol" hash 25b86a1)
5 0.3% 0.3% Stub: ToBooleanICStub(Undefined,Bool,String)
4 0.3% 0.3% Handler: fs
3 0.2% 0.2% Stub: CompareICStub {1}
3 0.2% 0.2% Handler: concat
3 0.2% 0.2% Builtin: StringPrototypeNormalize
2 0.1% 0.1% Stub: RecordWriteStub
2 0.1% 0.1% Stub: LoadConstantStub
2 0.1% 0.1% Stub: CallICStub(args(4), NULL_OR_UNDEFINED,
2 0.1% 0.1% Handler: subject
2 0.1% 0.1% Handler: cache
1 0.1% 0.1% Stub: ToBooleanICStub(Undefined,String)
1 0.1% 0.1% Stub: ToBooleanICStub(Null)
1 0.1% 0.1% Stub: StrictEqualStub
1 0.1% 0.1% Stub: StoreFieldStub {4}
1 0.1% 0.1% Stub: StoreFieldStub {3}
1 0.1% 0.1% Stub: StoreFieldStub {2}
1 0.1% 0.1% Stub: StoreFieldStub {1}
1 0.1% 0.1% Stub: StoreFieldStub
1 0.1% 0.1% Stub: StoreFastElementStub
1 0.1% 0.1% Stub: RecordWriteStub {2}
1 0.1% 0.1% Stub: RecordWriteStub {1}
1 0.1% 0.1% Stub: LoadFieldStub
1 0.1% 0.1% Stub: JSEntryStub
1 0.1% 0.1% Stub: FastCloneShallowObjectStub {1}
1 0.1% 0.1% Stub: FastCloneShallowObjectStub
1 0.1% 0.1% Stub: DoubleToIStub
1 0.1% 0.1% Stub: CompareICStub {5}
1 0.1% 0.1% Stub: CompareICStub {4}
1 0.1% 0.1% Stub: CompareICStub {3}
1 0.1% 0.1% Stub: CompareICStub {2}
1 0.1% 0.1% Stub: CompareICStub
1 0.1% 0.1% Stub: CallICTrampolineStub
1 0.1% 0.1% Stub: CallICStub(args(5), NULL_OR_UNDEFINED,
1 0.1% 0.1% Stub: CallICStub(args(0), NULL_OR_UNDEFINED,
1 0.1% 0.1% Stub:
BinaryOpICWithAllocationSiteStub(ADD_CreateAllocationMementos:String*String->String)
{4}
1 0.1% 0.1% Stub:
BinaryOpICWithAllocationSiteStub(ADD_CreateAllocationMementos:String*String->String)
{3}
1 0.1% 0.1% Stub:
BinaryOpICWithAllocationSiteStub(ADD_CreateAllocationMementos:String*String->String)
{2}
1 0.1% 0.1% Stub:
BinaryOpICWithAllocationSiteStub(ADD_CreateAllocationMementos:String*String->String)
{1}
1 0.1% 0.1% Stub:
BinaryOpICWithAllocationSiteStub(ADD_CreateAllocationMementos:String*String->String)
1 0.1% 0.1% Stub: BinaryOpICStub(MOD:Smi*1->Smi)
1 0.1% 0.1% Handler: super_
1 0.1% 0.1% Handler: set
1 0.1% 0.1% Handler: sender
1 0.1% 0.1% Handler: resumeScheduled
1 0.1% 0.1% Handler: prototype
1 0.1% 0.1% Handler: peek
1 0.1% 0.1% Handler: internal/util
1 0.1% 0.1% Handler: internal/process/warning
1 0.1% 0.1% Handler: internal/process/stdio
1 0.1% 0.1% Handler: error
1 0.1% 0.1% Handler: end
1 0.1% 0.1% Handler: destroyed
1 0.1% 0.1% Handler: buffer
1 0.1% 0.1% Handler: blksize
1 0.1% 0.1% Handler: assert
1 0.1% 0.1% Builtin: DatePrototypeSetHours
[C++]:
ticks total nonlib name
[Summary]:
ticks total nonlib name
1321 91.9% 91.9% JavaScript
0 0.0% 0.0% C++
22 1.5% 1.5% GC
0 0.0% Shared libraries
116 8.1% Unaccounted
[C++ entry points]:
ticks cpp total name
[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
892 62.1% Handler: symbol("nonexistent_symbol" hash 157aee38)
875 98.1% C:\Program Files\nodejs\node.exe
386 44.1% C:\Program Files\nodejs\node.exe
173 12.0% Handler: symbol("Symbol.iterator" hash 43b0ecc)
170 98.3% C:\Program Files\nodejs\node.exe
78 45.9% C:\Program Files\nodejs\node.exe
160 11.1% Stub: RecordWriteStub {4}
156 97.5% C:\Program Files\nodejs\node.exe
71 45.5% C:\Program Files\nodejs\node.exe
116 8.1% UNKNOWN
On Tuesday, June 20, 2017 at 10:22:37 AM UTC+2, Ben Noordhuis wrote:
>
> On Mon, Jun 19, 2017 at 7:51 PM, Christian Palmstierna
> <[email protected] <javascript:>> wrote:
> > While profiling a piece of code in NodeJS, I got the following as the
> top
> > result from --prof-process:
> > [JavaScript]:
> > ticks total nonlib name
> > 892 62.1% 62.1% Handler: symbol("nonexistent_symbol" hash
> 157aee38)
> >
> > What does "nonexistent_symbol" actually mean? Is there any way to get
> more
> > details on what code is actually running? I haven't been able to find a
> > shred of documentation about this. Since it amounts to >60% it would be
> good
> > to know what it's up to.
> >
> > If it matters, I'm using V8 version 5.5.372.40 (NodeJS version 7.6.0).
>
> It means something in your code looks up object properties that don't
> exist but without more context it's hard to say what. Can you post
> the full output?
>
--
--
v8-users mailing list
[email protected]
http://groups.google.com/group/v8-users
---
You received this message because you are subscribed to the Google Groups
"v8-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.