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.

Reply via email to