aboutsummaryrefslogtreecommitdiff
path: root/2018/prof.html
diff options
context:
space:
mode:
Diffstat (limited to '2018/prof.html')
-rw-r--r--2018/prof.html1264
1 files changed, 1264 insertions, 0 deletions
diff --git a/2018/prof.html b/2018/prof.html
new file mode 100644
index 0000000..f34c6b0
--- /dev/null
+++ b/2018/prof.html
@@ -0,0 +1,1264 @@
+<!DOCTYPE html>
+<html lang="en" ng-app="moarProfApp" ng-controller="NavigationController">
+ <head>
+ <meta charset="utf-8">
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <title>MoarVM Profiler Results</title>
+ <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
+ <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css">
+ <style>
+ body {
+ min-height: 500px;
+ padding-top: 70px;
+ }
+ .icyclegraph .call {
+ display: block;
+ border: 1px solid black;
+ overflow: hidden;
+ }
+ .icyclegraph .child {
+ float: left;
+ }
+ .icyclegraph a {
+ color: black;
+ }
+ </style>
+ </head>
+ <body >
+ <div class="navbar navbar-default navbar-fixed-top" role="navigation">
+ <div class="container">
+ <div class="navbar-header">
+ <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+ <span class="sr-only">Toggle navigation</span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ </button>
+ <a class="navbar-brand">MoarVM Profiler Results</a>
+ </div>
+ <div class="navbar-collapse collapse">
+ <ul class="nav navbar-nav">
+ <li ng-class="Tab == 'Overview' ? 'active' : ''"><a href="#overview" ng-click="Tab = 'Overview'">Overview</a></li>
+ <li ng-class="Tab == 'Routines' ? 'active' : ''"><a href="#routines" ng-click="Tab = 'Routines'">Routines</a></li>
+ <li ng-class="Tab == 'Call Graph' ? 'active' : ''"><a href="#callgraph" ng-click="Tab = 'Call Graph'">Call Graph</a></li>
+ <li ng-class="Tab == 'Allocations' ? 'active' : ''"><a href="#allocations" ng-click="Tab = 'Allocations'">Allocations</a></li>
+ <li ng-class="Tab == 'GC' ? 'active' : ''"><a href="#gc" ng-click="Tab = 'GC'">GC</a></li>
+ <li ng-class="Tab == 'OSR/Deopt' ? 'active' : ''"><a href="#osrdeopt" ng-click="Tab = 'OSR/Deopt'">OSR / Deopt</a></li>
+ </ul>
+ </div>
+ </div>
+ </div>
+
+ <div class="container" ng-show="Tab == 'Overview'">
+ <div ng-controller="OverviewController">
+ <h3>Time Spent</h3>
+ <p>The profiled code ran for <strong>{{TotalTime}}ms</strong>. Of this,
+ <strong>{{GCOverheadTime}}ms</strong> were spent on garbage collection
+ (that's <strong>{{GCOverheadTimePercent}}%</strong>).
+ </p>
+ <p>The dynamic optimizer was active for <strong>{{SpeshTimePercent}}%</strong> of the program's run time.
+ <table class="table table-striped table-condensed table-bordered">
+ <tbody>
+ <tr>
+ <td><strong>Executing Code</strong></td>
+ <td>
+ <div class="pull-left" style="width: 310px">
+ <div class="progress" style="width: 300px">
+ <div class="progress-bar progress-bar-success" role="progressbar" style="width: {{ExecutingTimePercent}}%;">
+ </div>
+ </div>
+ </div>
+ <div>
+ {{ExecutingTimePercent}}%
+ ({{ExecutingTime}}ms)
+ </div>
+ </td>
+ </tr>
+ <tr>
+ <td><strong>Garbage Collection</strong></td>
+ <td>
+ <div class="pull-left" style="width: 310px">
+ <div class="progress" style="width: 300px">
+ <div class="progress-bar progress-bar-warning" role="progressbar" style="width: {{GCTimePercent}}%;">
+ </div>
+ </div>
+ </div>
+ <div>
+ {{GCTimePercent}}%
+ ({{GCTime}}ms)
+ </div>
+ </td>
+ </tr>
+ <tr>
+ <td><strong>Dynamic Optimization</strong></td>
+ <td>
+ <div class="pull-left" style="width: 310px">
+ <div class="progress" style="width: 300px">
+ <div class="progress-bar progress-bar-warning" role="progressbar" style="width: {{SpeshTimePercent}}%;">
+ </div>
+ </div>
+ </div>
+ <div>
+ {{SpeshTimePercent}}%
+ ({{SpeshTime}}ms)
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <h3>Call Frames</h3>
+ <p>In total, <strong>{{EntriesWithoutInline}} call frames</strong> were
+ entered and exited by the profiled code. Inlining eliminated the need
+ to create <strong>{{EntriesInline}} call frames</strong> (that's
+ <strong>{{InlinePercent}}%</strong>).
+ </p>
+ <table class="table table-striped table-condensed table-bordered">
+ <tbody>
+ <tr>
+ <td><strong>Interpreted Frames</strong></td>
+ <td>
+ <div class="pull-left" style="width: 310px">
+ <div class="progress" style="width: 300px">
+ <div class="progress-bar progress-bar-danger" role="progressbar" style="width: {{InterpFramesPercent}}%;">
+ </div>
+ </div>
+ </div>
+ <div>
+ {{InterpFramesPercent}}%
+ ({{InterpFrames}})
+ </div>
+ </td>
+ </tr>
+ <tr>
+ <td><strong>Specialized Frames</strong></td>
+ <td>
+ <div class="pull-left" style="width: 310px">
+ <div class="progress" style="width: 300px">
+ <div class="progress-bar progress-bar-warning" role="progressbar" style="width: {{SpeshFramesPercent}}%;">
+ </div>
+ </div>
+ </div>
+ <div>
+ {{SpeshFramesPercent}}%
+ ({{SpeshFrames}})
+ </div>
+ </td>
+ </tr>
+ <tr>
+ <td><strong>JIT-Compiled Frames</strong></td>
+ <td>
+ <div class="pull-left" style="width: 310px">
+ <div class="progress" style="width: 300px">
+ <div class="progress-bar progress-bar-success" role="progressbar" style="width: {{JITFramesPercent}}%;">
+ </div>
+ </div>
+ </div>
+ <div>
+ {{JITFramesPercent}}%
+ ({{JITFrames}})
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <h3>Garbage Collection</h3>
+ <p>The profiled code did <strong>{{GCRuns}} garbage collections</strong>.
+ There were <strong>{{FullGCRuns}} full collections</strong> involving
+ the entire heap.
+ </p>
+ <p ng-show="{{GCRuns > 0}}">
+ The average nursery collection time was <strong>{{NurseryAverage}}ms</strong>.
+ <span ng-show="{{FullGCRuns > 0}}">
+ The average full collection time was <strong>{{FullAverage}}ms</strong>.
+ </span>
+ <span ng-show="{{AverageParticipants > 1}}">
+ On average, <strong>{{AverageParticipants}}</strong> threads participated in GC.
+ </span>
+ </p>
+
+ <h3>Dynamic Optimization</h3>
+ <p>Of {{OptimizedFrames}} specialized or JIT-compiled frames, there were
+ <strong>{{DeoptOnes}} deoptimizations</strong> (that's <strong>
+ {{DeoptOnePercent}}%</strong> of all optimized frames).
+ </p>
+ <p ng-show="DeoptAlls == 0">
+ There was <strong>no global deoptimization</strong> triggered by the
+ profiled code.
+ </p>
+ <p ng-show="DeoptAlls == 1">
+ There was <strong>one global deoptimization</strong> triggered by the
+ profiled code.
+ </p>
+ <p ng-show="DeoptAlls > 1">
+ There were <strong>{{DeoptAlls}} global deoptimization</strong> triggered
+ by the profiled code.
+ </p>
+ <p ng-show="OSRs == 0">
+ There was <strong>no On Stack Replacement</strong> performed while
+ executing the profiled code (normal if the code lacks long-running
+ loops with many iterations).
+ </p>
+ <p ng-show="OSRs == 1">
+ There was <strong>one On Stack Replacement</strong> performed while
+ executing the profiled code.
+ </p>
+ <p ng-show="OSRs > 1">
+ There were <strong>{{OSRs}} On Stack Replacements</strong> performed
+ while executing the profiled code.
+ </p>
+ </div>
+ </div>
+
+ <div class="container" ng-show="Tab == 'Routines'">
+ <div ng-controller="RoutinesController">
+ <table class="table table-striped table-condensed table-bordered">
+ <thead>
+ <th>
+ <a href="" ng-click="reverse = predicate == 'Name' ? !reverse : false; predicate = 'Name';">Name</a>
+ <input ng-model="NameFilter">
+ </th>
+ <th><a href="" ng-click="reverse = predicate == 'Entries' ? !reverse : true; predicate = 'Entries';">Entries</a></th>
+ <th><a href="" ng-click="reverse = predicate == 'InclusiveTime' ? !reverse : true; predicate = 'InclusiveTime';">Inclusive Time</a></th>
+ <th><a href="" ng-click="reverse = predicate == 'ExclusiveTime' ? !reverse : true; predicate = 'ExclusiveTime';">Exclusive Time</a></th>
+ <th>
+ <span class="text-danger" tooltip-placement="bottom" tooltip="Unoptimized interpreted code">Interp</span> /
+ <span class="text-warning" tooltip-placement="bottom" tooltip="Type-specialized interpreted code">Spesh</span> /
+ <span class="text-success" tooltip-placement="bottom" tooltip="Type-specialized, JIT-compiled code">JIT</span>
+ </th>
+ </thead>
+ <tbody>
+ <tr ng-repeat="routine in Routines | filter:NameFilter | orderBy:predicate:reverse">
+ <td>
+ <strong>{{routine.Name}}</strong><br />
+ <span class="text-muted">{{routine.File}}:{{routine.Line}}</span>
+ </td>
+ <td>{{routine.Entries}}</td>
+ <td>
+ <div class="pull-left" style="width: 70px">
+ <div class="progress" style="width: 60px">
+ <div class="progress-bar" role="progressbar" style="width: {{routine.InclusiveTimePercent}}%;">
+ </div>
+ </div>
+ </div>
+ <div>
+ <strong>{{routine.InclusiveTimePercent}}%</strong>
+ ({{routine.InclusiveTime}}ms)
+ </div>
+ </td>
+ <td>
+ <div class="pull-left" style="width: 70px">
+ <div class="progress" style="width: 60px">
+ <div class="progress-bar" role="progressbar" style="width: {{routine.ExclusiveTimePercent}}%;">
+ </div>
+ </div>
+ </div>
+ <div>
+ <strong>{{routine.ExclusiveTimePercent}}%</strong>
+ ({{routine.ExclusiveTime}}ms)
+ </div>
+ </td>
+ <td>
+ <div class="pull-left" style="width: 110px">
+ <div class="progress" style="width: 100px">
+ <div class="progress-bar progress-bar-danger" style="width: {{routine.InterpEntriesPercent}}%">
+ </div>
+ <div class="progress-bar progress-bar-warning" style="width: {{routine.SpeshEntriesPercent}}%">
+ </div>
+ <div class="progress-bar progress-bar-success" style="width: {{routine.JITEntriesPercent}}%">
+ </div>
+ </div>
+ </div>
+ <div>
+ <span class="label label-default" ng-show="routine.OSR">OSR</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+
+ <script type="text/ng-template" id="icycle_graph_callee_renderer.html">
+ <a href="#" class="call" style="background-color:{{backgroundColor(callee)}}" ng-click="toCallee(callee)">{{callee.name}}</a>
+ <div class="child" style="width: {{callee.inclusive_time * 100 / Current.inclusive_time}}%;" ng-repeat="callee in callee.callees" title="{{callee.name}}" ng-include="'icycle_graph_callee_renderer.html'"></div>
+ </script>
+
+ <div class="container" ng-show="Tab == 'Call Graph'">
+ <div ng-controller="CallGraphController">
+
+ <ol class="breadcrumb">
+ <li><strong>Callers:</strong></li>
+ <li ng-show="RecentCallers.length == 0"><em>None</em></li>
+ <li ng-repeat="caller in RecentCallers">
+ <a href="" ng-click="toCaller(caller)">
+ {{caller.name == '' ? '&lt;anon&gt;' : caller.name}}
+ </a>
+ </li>
+ </ol>
+
+ <p>
+ <span class="lead">{{Current.name == '' ? '&lt;anon&gt;' : Current.name}}</span><br />
+ <span class="text-muted">{{File}}:{{Line}}</span>
+ </p>
+
+ <div class="icyclegraph">
+ <div class="child" ng-repeat="callee in [Current]" ng-include="'icycle_graph_callee_renderer.html'"></div>
+ </div>
+
+ <table class="table table-striped table-condensed table-bordered">
+ <tbody>
+ <tr>
+ <td><strong>Calls <span class="text-success">(Inlined)</span></strong></td>
+ <td>
+ <div class="pull-left" style="width: 310px">
+ <div class="progress" style="width: 300px">
+ <div class="progress-bar" role="progressbar" style="width: {{Percent}}%;">
+ </div>
+ <div class="progress-bar progress-bar-success" role="progressbar" style="width: {{InlinePercent}}%;">
+ </div>
+ </div>
+ </div>
+ <div ng-show="InlinePercent == 0">
+ {{Entries}}
+ </div>
+ <div ng-show="InlinePercent != 0">
+ {{Entries}} +
+ <span class="text-success">{{InlineEntries}} ({{InlinePercent}}%)</span>
+ </div>
+ </td>
+ </tr>
+ <tr>
+ <td><strong>Interpreted Calls</strong></td>
+ <td>
+ <div class="pull-left" style="width: 310px">
+ <div class="progress" style="width: 300px">
+ <div class="progress-bar progress-bar-danger" role="progressbar" style="width: {{InterpPercent}}%;">
+ </div>
+ </div>
+ </div>
+ <div>
+ {{InterpPercent}}%
+ ({{InterpEntries}})
+ </div>
+ </td>
+ </tr>
+ <tr>
+ <td><strong>Specialized Calls</strong></td>
+ <td>
+ <div class="pull-left" style="width: 310px">
+ <div class="progress" style="width: 300px">
+ <div class="progress-bar progress-bar-warning" role="progressbar" style="width: {{SpeshPercent}}%;">
+ </div>
+ </div>
+ </div>
+ <div>
+ {{SpeshPercent}}%
+ ({{SpeshEntries}})
+ </div>
+ </td>
+ </tr>
+ <tr>
+ <td><strong>JIT-Compiled Calls</strong></td>
+ <td>
+ <div class="pull-left" style="width: 310px">
+ <div class="progress" style="width: 300px">
+ <div class="progress-bar progress-bar-success" role="progressbar" style="width: {{JITPercent}}%;">
+ </div>
+ </div>
+ </div>
+ <div>
+ {{JITPercent}}%
+ ({{JITEntries}})
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <div class="panel panel-default">
+ <div class="panel-heading">Callees</div>
+ <table class="table table-striped table-condensed table-bordered" ng-show="Callees.length > 0">
+ <thead>
+ <th>
+ <a href="" ng-click="reverse = predicate == 'Name' ? !reverse : false; predicate = 'Name';">Name</a>
+ <input ng-model="NameFilter">
+ </th>
+ <th><a href="" ng-click="reverse = predicate == 'Calls' ? !reverse : true; predicate = 'Calls';">Calls</a></th>
+ <th><a href="" ng-click="reverse = predicate == 'Time' ? !reverse : true; predicate = 'Time';">Time In Callee</a></th>
+ <th>
+ <span class="text-danger" tooltip-placement="bottom" tooltip="Unoptimized interpreted code">Interp</span> /
+ <span class="text-warning" tooltip-placement="bottom" tooltip="Type-specialized interpreted code">Spesh</span> /
+ <span class="text-success" tooltip-placement="bottom" tooltip="Type-specialized, JIT-compiled code">JIT</span>
+ </th>
+ <th>
+ <span tooltip-placement="bottom" tooltip="Code from this callee was flattened into the routine by the optimizer">Inlined</span>
+ </th>
+ </thead>
+ <tbody>
+ <tr ng-repeat="callee in Callees | filter:NameFilter | orderBy:predicate:reverse">
+ <td>
+ <strong><a href="" ng-click="toCallee(callee.Node)">{{callee.Name}}</a></strong><br />
+ <span class="text-muted">{{callee.File}}:{{callee.Line}}</span>
+ </td>
+ <td>{{callee.Calls}}</td>
+ <td>
+ <div class="pull-left" style="width: 70px">
+ <div class="progress" style="width: 60px">
+ <div class="progress-bar" role="progressbar" style="width: {{callee.TimePercent}}%;">
+ </div>
+ </div>
+ </div>
+ <div>
+ <strong>{{callee.TimePercent}}%</strong>
+ ({{callee.Time}}ms)
+ </div>
+ </td>
+ <td>
+ <div class="progress" style="width: 100px">
+ <div class="progress-bar progress-bar-danger" style="width: {{callee.InterpCallsPercent}}%">
+ </div>
+ <div class="progress-bar progress-bar-warning" style="width: {{callee.SpeshCallsPercent}}%">
+ </div>
+ <div class="progress-bar progress-bar-success" style="width: {{callee.JITCallsPercent}}%">
+ </div>
+ </div>
+ </td>
+ <td>
+ <div ng-show="callee.VeryInline">
+ <span class="text-success">
+ <span class="glyphicon glyphicon-star"></span>
+ </span>
+ {{callee.InlinedPercent}}%
+ </div>
+ <div ng-show="callee.SometimesInline">
+ <span class="text-muted">
+ <span class="glyphicon glyphicon-star-empty"></span>
+ </span>
+ {{callee.InlinedPercent}}%
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <div class="panel-body" ng-show="Callees.length == 0">
+ This code has no callees.
+ </div>
+ </div>
+
+ </div>
+ </div>
+
+ <div class="container" ng-show="Tab == 'Allocations'">
+ <div ng-controller="AllocationsController">
+ <table class="table table-striped table-condensed table-bordered">
+ <thead>
+ <th>
+ <a href="" ng-click="reverse = predicate == 'Name' ? !reverse : false; predicate = 'Name';">Name</a>
+ <input ng-model="NameFilter">
+ </th>
+ <th><a href="" ng-click="reverse = predicate == 'Allocations' ? !reverse : true; predicate = 'Allocations';">Allocations</a></th>
+ <th>Allocating Routines</th>
+ </thead>
+ <tbody>
+ <tr ng-repeat="alloc in AllocationSummary | filter:NameFilter | orderBy:predicate:reverse">
+ <td><strong>{{alloc.Name}}</strong></td>
+ <td>
+ <div class="pull-left" style="width: 210px">
+ <div class="progress" style="width: 200px">
+ <div class="progress-bar progress-bar-danger" role="progressbar" style="width: {{alloc.AllocationsInterpPercent}}%;">
+ </div>
+ <div class="progress-bar progress-bar-warning" role="progressbar" style="width: {{alloc.AllocationsSpeshPercent}}%;">
+ </div>
+ <div class="progress-bar progress-bar-success" role="progressbar" style="width: {{alloc.AllocationsJitPercent}}%;">
+ </div>
+ </div>
+ </div>
+ <div>
+ {{alloc.Allocations}}
+ </div>
+ </td>
+ <td>
+ <a href="" ng-click="showAllocatingRoutines(alloc)">View</a>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <script type="text/ng-template" id="myModalContent.html">
+ <div class="modal-header">
+ <button type="button" ng-click="modalInstance.close()"
+ class="close" data-dismiss="modal">
+ <span aria-hidden="true">&times;</span><span class="sr-only">Close</span>
+ </button>
+ <h4 class="modal-title" id="allocatingRoutinesModalLabel">
+ Routines Allocating {{CurrentAllocatingRoutine}}
+ </h4>
+ </div>
+ <div class="modal-body">
+ <table class="table table-striped table-condensed table-bordered">
+ <thead>
+ <th>
+ <a href="" ng-click="routineReverse = routinePredicate == 'Name' ? !routineReverse : false; routinePredicate = 'Name';">Name</a>
+ <input ng-model="RoutineNameFilter">
+ </th>
+ <th><a href="" ng-click="routineReverse = routinePredicate == 'Allocations' ? !routineReverse : true; routinePredicate = 'Allocations';">Allocations</a></th>
+ </thead>
+ <tbody>
+ <tr ng-repeat="routine in CurrentAllocatingRoutineStats | filter:RoutineNameFilter | orderBy:routinePredicate:routineReverse">
+ <td>
+ <strong>{{routine.Name}}</strong><br />
+ <span class="text-muted">{{routine.File}}:{{routine.Line}}</span>
+ </td>
+ <td>
+ <div class="pull-left" style="width: 210px">
+ <div class="progress" style="width: 200px">
+ <div class="progress-bar progress-bar-danger" style="width: {{routine.AllocationsInterpPercent}}%;">
+ </div>
+ <div class="progress-bar progress-bar-warning" style="width: {{routine.AllocationsSpeshPercent}}%;">
+ </div>
+ <div class="progress-bar progress-bar-success" style="width: {{routine.AllocationsJitPercent}}%;">
+ </div>
+ </div>
+ </div>
+ <div>
+ {{routine.Allocations}}
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ <div class="modal-footer">
+ <button type="button" ng-click="modalInstance.close()"
+ class="btn btn-default" data-dismiss="modal">Close</button>
+ </div>
+ </script>
+ </div>
+ </div>
+
+ <div class="container" ng-show="Tab == 'GC'">
+ <div ng-controller="GCController">
+ <table class="table table-striped table-condensed table-bordered">
+ <thead>
+ <th>
+ <a href="" ng-click="reverse = predicate == 'StartTime' ? !reverse : false; predicate = 'StartTime';">Start Time</a>
+ </th>
+ <th>
+ <a href="" ng-click="reverse = predicate == 'Run' ? !reverse : false; predicate = 'Run';">Run</a>
+ </th>
+ <th>Full</th>
+ <th>
+ <a href="" ng-click="reverse = predicate == 'Time' ? !reverse : false; predicate = 'Time';">Time</a>
+ </th>
+ <th>
+ Nursery:
+ <span class="text-danger" tooltip-placement="bottom" tooltip="Bytes retained in the nursery">Retained</span> /
+ <span class="text-warning" tooltip-placement="bottom" tooltip="Bytes promoted to gen2 and now available in nursery">Promoted</span> /
+ <span class="text-success" tooltip-placement="bottom" tooltip="Bytes released and now availabe in nursery">Freed</span>
+ </th>
+ </thead>
+ <tbody>
+ <tr ng-repeat="gc in GCs | orderBy:predicate:reverse">
+ <td>{{gc.StartTime}}ms</td>
+ <td><strong>{{gc.Run}}</strong></td>
+ <td>
+ <span class="text-success" ng-show="gc.Full">
+ <span class="glyphicon glyphicon-star"></span>
+ </span>
+ </td>
+ <td>
+ <div class="pull-left" style="width: 210px">
+ <div class="progress" style="width: 200px">
+ <div class="progress-bar" role="progressbar" style="width: {{gc.TimePercent}}%;">
+ </div>
+ </div>
+ </div>
+ <div>
+ {{gc.Time}}ms
+ </div>
+ </td>
+ <td>
+ <div class="pull-left" style="width: 210px">
+ <div class="progress" style="width: 200px">
+ <div class="progress-bar progress-bar-danger" style="width: {{gc.RetainedPercent}}%">
+ </div>
+ <div class="progress-bar progress-bar-warning" style="width: {{gc.PromotedPercent}}%">
+ </div>
+ <div class="progress-bar progress-bar-success" style="width: {{gc.ClearedPercent}}%">
+ </div>
+ </div>
+ </div>
+ <div>
+ {{gc.RetainedKilobytes}}KB /
+ {{gc.PromotedKilobytes}}KB /
+ {{gc.ClearedKilobytes}}KB ...
+ <small>{{gc.Gen2Roots}} gen2 roots</small>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+
+ <div class="container" ng-show="Tab == 'OSR/Deopt'">
+ <div ng-controller="OSRDeoptController">
+ <h3>OSR</h3>
+ <p>On Stack Replacement detects routines containing hot loops that are
+ being interpreted, and replaces them with specialized or JIT-compiled
+ code.</p>
+ <table class="table table-striped table-condensed table-bordered" ng-show="OSRs.length > 0">
+ <thead>
+ <th>
+ Routine
+ </th>
+ <th>On Stack Replacements</th>
+ </thead>
+ <tbody>
+ <tr ng-repeat="osr in OSRs | orderBy:predicate:reverse">
+ <td>
+ <strong>{{osr.Name}}</strong><br />
+ <span class="text-muted">{{osr.File}}:{{osr.Line}}</span>
+ </td>
+ <td>
+ <div class="pull-left" style="width: 310px">
+ <div class="progress" style="width: 300px">
+ <div class="progress-bar" role="progressbar" style="width: {{osr.Percent}}%;">
+ </div>
+ </div>
+ </div>
+ <div>
+ {{osr.Count}}
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <p ng-show="OSRs.length == 0">
+ <em>No OSR was performed during this profile.</em>
+ </p>
+
+ <h3>Local Deoptimization</h3>
+ <p>Local deoptimization happens when a guard in specialized or JIT-compiled
+ code fails. Since the code was produced assuming the guard would hold,
+ the VM falls back to running the safe, but slower, interpreted code.</p>
+ <table class="table table-striped table-condensed table-bordered" ng-show="DeoptOnes.length > 0">
+ <thead>
+ <th>
+ Routine
+ </th>
+ <th>Deoptimizations</th>
+ </thead>
+ <tbody>
+ <tr ng-repeat="deopt in DeoptOnes | orderBy:predicate:reverse">
+ <td>
+ <strong>{{deopt.Name}}</strong><br />
+ <span class="text-muted">{{deopt.File}}:{{deopt.Line}}</span>
+ </td>
+ <td>
+ <div class="pull-left" style="width: 310px">
+ <div class="progress" style="width: 300px">
+ <div class="progress-bar" role="progressbar" style="width: {{deopt.Percent}}%;">
+ </div>
+ </div>
+ </div>
+ <div>
+ {{deopt.Count}}
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <p ng-show="DeoptOnes.length == 0">
+ <em>No local deoptimizations occurred during this profile.</em>
+ </p>
+
+ <h3>Global Deoptimization</h3>
+ <p>Global deoptimization happens when an event occurs that renders
+ all currently type-specialized or JIT-compiled code on the call
+ stack potentially invalid. Mixins - changing the type of an object
+ in place - are a common reason.</p>
+ <table class="table table-striped table-condensed table-bordered" ng-show="DeoptAlls.length > 0">
+ <thead>
+ <th>
+ Routine
+ </th>
+ <th>Deoptimizations</th>
+ </thead>
+ <tbody>
+ <tr ng-repeat="deopt in DeoptAlls | orderBy:predicate:reverse">
+ <td>
+ <strong>{{deopt.Name}}</strong><br />
+ <span class="text-muted">{{deopt.File}}:{{deopt.Line}}</span>
+ </td>
+ <td>
+ <div class="pull-left" style="width: 310px">
+ <div class="progress" style="width: 300px">
+ <div class="progress-bar" role="progressbar" style="width: {{deopt.Percent}}%;">
+ </div>
+ </div>
+ </div>
+ <div>
+ {{deopt.Count}}
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <p ng-show="DeoptAlls.length == 0">
+ <em>No global deoptimizations occurred during this profile.</em>
+ </p>
+
+ </div>
+ </div>
+
+ <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.7/angular.min.js"></script>
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-bootstrap/2.2.0/ui-bootstrap-tpls.js"></script>
+ <script>
+ var rawData = JSON.parse('[{"99":{"name":"STORE_AT_KEY","line":49,"file":"SETTING::src/core/Hash.pm6"},"98":{"name":"STORE_AT_KEY","line":48,"file":"SETTING::src/core/Hash.pm6"},"97":{"name":"pull-one","line":2723,"file":"SETTING::src/core/Rakudo/Iterator.pm6"},"96":{"name":"SET-SELF","line":2711,"file":"SETTING::src/core/Rakudo/Iterator.pm6"},"95":"Rakudo::Iterator::ReifiedListIterator","94":{"name":"new","line":2721,"file":"SETTING::src/core/Rakudo/Iterator.pm6"},"93":{"name":"ReifiedList","line":2790,"file":"SETTING::src/core/Rakudo/Iterator.pm6"},"92":{"name":"STORE","line":76,"file":"SETTING::src/core/Hash.pm6"},"91":{"name":"day2-pt1","line":6,"file":"day2.p6"},"90":{"name":"done","line":628,"file":"SETTING::src/core/List.pm6"},"9":"BOOTHash","89":{"name":"fully-reified","line":172,"file":"SETTING::src/core/List.pm6"},"88":{"name":"assign-scalar-no-whence-no-typecheck","line":4151,"file":"gen/moar/BOOTSTRAP.nqp"},"87":{"name":"of","line":1147,"file":"gen/moar/BOOTSTRAP.nqp"},"86":{"name":"","line":4192,"file":"gen/moar/BOOTSTRAP.nqp"},"85":{"name":"push","line":31,"file":"SETTING::src/core/Array.pm6"},"84":{"name":"push","line":20,"file":"SETTING::src/core/IterationBuffer.pm6"},"83":{"name":"sink","line":728,"file":"SETTING::src/core/List.pm6"},"82":{"name":"is-empty","line":48,"file":"SETTING::src/core/Encoding/Decoder/Builtin.pm6"},"81":{"name":"last","line":76,"file":"SETTING::src/core/control.pm6"},"80":"Str","8":{"name":"lines","line":501,"file":"SETTING::src/core/IO/Handle.pm6"},"79":{"name":"add-bytes","line":18,"file":"SETTING::src/core/Encoding/Decoder/Builtin.pm6"},"78":{"name":"elems","line":117,"file":"SETTING::src/core/Buf.pm6"},"77":"Buf[uint8]","76":{"name":"new","line":37,"file":"SETTING::src/core/Buf.pm6"},"75":{"name":"new","line":112,"file":"SETTING::src/core/Mu.pm6"},"74":{"name":"","line":1828,"file":"gen/moar/Metamodel.nqp"},"73":"BOOTStr","72":{"name":"find_method","line":1817,"file":"gen/moar/Metamodel.nqp"},"71":{"name":"READ","line":251,"file":"SETTING::src/core/IO/Handle.pm6"},"70":{"name":"","line":263,"file":"SETTING::src/core/IO/Handle.pm6"},"7":{"name":"DYNAMIC","line":33,"file":"SETTING::src/core/stubs.pm6"},"69":{"name":"EOF","line":247,"file":"SETTING::src/core/IO/Handle.pm6"},"68":{"name":"get-line-slow-path","line":260,"file":"SETTING::src/core/IO/Handle.pm6"},"67":{"name":"defined","line":108,"file":"SETTING::src/core/Mu.pm6"},"66":{"name":"sink","line":13,"file":"SETTING::src/core/Mu.pm6"},"65":{"name":"get","line":255,"file":"SETTING::src/core/IO/Handle.pm6"},"64":{"name":"consume-line-chars","line":43,"file":"SETTING::src/core/Encoding/Decoder/Builtin.pm6"},"63":{"name":"push-all","line":432,"file":"SETTING::src/core/IO/Handle.pm6"},"62":{"name":"is-lazy","line":114,"file":"SETTING::src/core/Iterator.pm6"},"61":{"name":"push-until-lazy","line":69,"file":"SETTING::src/core/Iterator.pm6"},"60":{"name":"reify-until-lazy","line":99,"file":"SETTING::src/core/List.pm6"},"6":{"name":"parse-input","line":3,"file":"/home/matias/Workspace/deprecated/advent-of-code/2018/lib/Utils.pm6 (Utils)"},"59":{"name":"push-until-lazy","line":633,"file":"SETTING::src/core/List.pm6"},"58":"Array::ArrayReificationTarget","57":{"name":"new","line":22,"file":"SETTING::src/core/Array.pm6"},"56":{"name":"SET-SELF","line":593,"file":"SETTING::src/core/List.pm6"},"55":"List::Todo","54":{"name":"new","line":609,"file":"SETTING::src/core/List.pm6"},"53":{"name":"iterator","line":664,"file":"SETTING::src/core/List.pm6"},"52":{"name":"STORE","line":285,"file":"SETTING::src/core/Array.pm6"},"51":{"name":"STORE","line":284,"file":"SETTING::src/core/Array.pm6"},"50":{"name":"nominal","line":86,"file":"gen/moar/Metamodel.nqp"},"5":"Array","49":{"name":"definite","line":95,"file":"gen/moar/Metamodel.nqp"},"48":{"name":"coercive","line":94,"file":"gen/moar/Metamodel.nqp"},"47":{"name":"archetypes","line":3068,"file":"gen/moar/Metamodel.nqp"},"46":{"name":"","line":4068,"file":"gen/moar/BOOTSTRAP.nqp"},"45":"List::Reifier","44":"IterationBuffer","43":{"name":"from-iterator","line":187,"file":"SETTING::src/core/List.pm6"},"42":{"name":"type_check","line":2764,"file":"gen/moar/Metamodel.nqp"},"41":{"name":"iterator","line":18,"file":"SETTING::src/core/Seq.pm6"},"40":{"name":"List","line":42,"file":"SETTING::src/core/Sequence.pm6"},"4":{"name":"<unit>","line":1,"file":"day2.p6"},"39":{"name":"List","line":66,"file":"SETTING::src/core/Any.pm6"},"38":"Seq","37":{"name":"new","line":10,"file":"SETTING::src/core/Seq.pm6"},"36":{"name":"identity","line":3898,"file":"gen/moar/BOOTSTRAP.nqp"},"35":{"name":"decontrv_plugin","line":3930,"file":"gen/moar/BOOTSTRAP.nqp"},"34":"IO::Handle::GetLineFast","33":{"name":"new","line":405,"file":"SETTING::src/core/IO/Handle.pm6"},"32":{"name":"LINES-ITERATOR","line":493,"file":"SETTING::src/core/IO/Handle.pm6"},"31":{"name":"lines","line":510,"file":"SETTING::src/core/IO/Handle.pm6"},"30":{"name":"add_to_cache","line":2879,"file":"gen/moar/BOOTSTRAP.nqp"},"3":"BOOTArray","29":{"name":"handle_optional","line":627,"file":"gen/moar/BOOTSTRAP.nqp"},"28":{"name":"","line":339,"file":"gen/moar/BOOTSTRAP.nqp"},"27":"Scalar","26":{"name":"bind_one_param","line":201,"file":"gen/moar/BOOTSTRAP.nqp"},"25":"Hash","249":{"name":"","line":1838,"file":"gen/moar/stage2/NQPHLL.nqp"},"248":{"name":"","line":-1,"file":"/home/matias/.rakudobrew/moar-master/install/share/nqp/lib/NQPHLL.moarvm"},"247":"BOOTException","246":{"name":"throw","line":53,"file":"SETTING::src/core/Exception.pm6"},"245":{"name":"archetypes","line":3678,"file":"gen/moar/Metamodel.nqp"},"244":{"name":"BUILDALL","line":2256,"file":"SETTING::src/core/Exception.pm6"},"243":"X::TypeCheck::Binding::Parameter","242":{"name":"","line":2726,"file":"SETTING::src/core/Exception.pm6"},"241":{"name":"","line":326,"file":"gen/moar/BOOTSTRAP.nqp"},"240":{"name":"","line":319,"file":"gen/moar/BOOTSTRAP.nqp"},"24":"BOOTContext","239":{"name":"","line":314,"file":"gen/moar/BOOTSTRAP.nqp"},"238":{"name":"bind","line":919,"file":"gen/moar/BOOTSTRAP.nqp"},"237":{"name":"","line":3654,"file":"gen/moar/BOOTSTRAP.nqp"},"236":{"name":"wolo","line":16,"file":"day2.p6"},"235":{"name":"item","line":570,"file":"SETTING::src/core/Mu.pm6"},"234":{"name":"","line":1610,"file":"gen/moar/BOOTSTRAP.nqp"},"233":{"name":"BUILD","line":10,"file":"SETTING::src/core/RaceSeq.pm6"},"232":{"name":"BUILDALL","line":-1,"file":"/home/matias/.rakudobrew/moar-master/install/share/perl6/runtime/CORE.setting.moarvm"},"231":{"name":"BUILD","line":8,"file":"SETTING::src/core/Rakudo/Internals/HyperIteratorBatcher.pm6"},"230":{"name":"BUILDALL","line":-1,"file":"/home/matias/.rakudobrew/moar-master/install/share/perl6/runtime/CORE.setting.moarvm"},"23":{"name":"bind","line":660,"file":"gen/moar/BOOTSTRAP.nqp"},"229":{"name":"infix:«<=»","line":401,"file":"SETTING::src/core/Int.pm6"},"228":{"name":"infix:«<=»","line":316,"file":"SETTING::src/core/Numeric.pm6"},"227":{"name":"TWEAK","line":9,"file":"SETTING::src/core/HyperConfiguration.pm6"},"226":{"name":"BUILDALL","line":-1,"file":"/home/matias/.rakudobrew/moar-master/install/share/perl6/runtime/CORE.setting.moarvm"},"225":"RaceSeq","224":"Rakudo::Internals::HyperIteratorBatcher","223":"HyperConfiguration","222":{"name":"new","line":113,"file":"SETTING::src/core/Mu.pm6"},"221":{"name":"race","line":125,"file":"SETTING::src/core/Iterable.pm6"},"220":{"name":"SET-SELF","line":2162,"file":"SETTING::src/core/Rakudo/Iterator.pm6"},"22":{"name":"","line":981,"file":"gen/moar/BOOTSTRAP.nqp"},"219":"Rakudo::Iterator::ListIndexes","218":{"name":"new","line":2169,"file":"SETTING::src/core/Rakudo/Iterator.pm6"},"217":{"name":"ListIndexes","line":2192,"file":"SETTING::src/core/Rakudo/Iterator.pm6"},"216":{"name":"SET-SELF","line":761,"file":"SETTING::src/core/Rakudo/Iterator.pm6"},"215":"Rakudo::Iterator::Combinations","214":{"name":"new","line":771,"file":"SETTING::src/core/Rakudo/Iterator.pm6"},"213":{"name":"infix:«<»","line":394,"file":"SETTING::src/core/Int.pm6"},"212":{"name":"infix:«<»","line":312,"file":"SETTING::src/core/Numeric.pm6"},"211":{"name":"infix:«>»","line":408,"file":"SETTING::src/core/Int.pm6"},"210":{"name":"infix:«>»","line":322,"file":"SETTING::src/core/Numeric.pm6"},"21":{"name":"is_bindable","line":975,"file":"gen/moar/BOOTSTRAP.nqp"},"209":{"name":"Combinations","line":817,"file":"SETTING::src/core/Rakudo/Iterator.pm6"},"208":{"name":"elems","line":470,"file":"SETTING::src/core/List.pm6"},"207":{"name":"elems","line":86,"file":"SETTING::src/core/Any.pm6"},"206":{"name":"combinations","line":1175,"file":"SETTING::src/core/List.pm6"},"205":{"name":"combinations","line":1142,"file":"SETTING::src/core/List.pm6"},"204":{"name":"day2-pt2","line":23,"file":"day2.p6"},"203":{"name":"WRITE","line":612,"file":"SETTING::src/core/IO/Handle.pm6"},"202":"utf8","201":{"name":"encode-chars","line":22,"file":"SETTING::src/core/Encoding/Encoder/Builtin.pm6"},"200":{"name":"print","line":653,"file":"SETTING::src/core/IO/Handle.pm6"},"20":{"name":"is_narrower","line":2281,"file":"gen/moar/BOOTSTRAP.nqp"},"2":"BOOTCode","199":{"name":"print","line":652,"file":"SETTING::src/core/IO/Handle.pm6"},"198":{"name":"nl-out","line":4,"file":"SETTING::src/core/IO/Handle.pm6"},"197":{"name":"Str","line":49,"file":"SETTING::src/core/Int.pm6"},"196":{"name":"Str","line":546,"file":"SETTING::src/core/Mu.pm6"},"195":{"name":"gist","line":32,"file":"SETTING::src/core/Numeric.pm6"},"194":{"name":"gist","line":602,"file":"SETTING::src/core/Mu.pm6"},"193":{"name":"say","line":12,"file":"SETTING::src/core/io_operators.pm6"},"192":{"name":"say","line":10,"file":"SETTING::src/core/io_operators.pm6"},"191":{"name":"infix:<*>","line":290,"file":"SETTING::src/core/Int.pm6"},"190":{"name":"infix:<*>","line":213,"file":"SETTING::src/core/Numeric.pm6"},"19":"BOOTInt","189":"IntAttrRef","188":{"name":"DESTROY","line":34,"file":"SETTING::src/core/Failure.pm6"},"187":{"name":"DESTROY","line":828,"file":"SETTING::src/core/IO/Handle.pm6"},"186":{"name":"destroyers","line":475,"file":"gen/moar/Metamodel.nqp"},"185":{"name":"","line":3726,"file":"gen/moar/BOOTSTRAP.nqp"},"184":{"name":"","line":11,"file":"day2.p6"},"183":{"name":"postfix:<++>","line":241,"file":"SETTING::src/core/Int.pm6"},"182":{"name":"postfix:<++>","line":479,"file":"SETTING::src/core/Any.pm6"},"181":{"name":"AT-KEY","line":35,"file":"SETTING::src/core/Hash.pm6"},"180":{"name":"AT-KEY","line":380,"file":"SETTING::src/core/Any.pm6"},"18":"BOOTIntArray","179":{"name":"postcircumfix:<{ }>","line":6,"file":"SETTING::src/core/hash_slice.pm6"},"178":{"name":"postcircumfix:<{ }>","line":3,"file":"SETTING::src/core/hash_slice.pm6"},"177":{"name":"first-result","line":990,"file":"SETTING::src/core/Any-iterable-methods.pm6"},"176":{"name":"infix:<==>","line":384,"file":"SETTING::src/core/Int.pm6"},"175":{"name":"infix:<==>","line":287,"file":"SETTING::src/core/Numeric.pm6"},"174":{"name":"value","line":1,"file":"SETTING::src/core/Pair.pm6"},"173":{"name":"","line":10,"file":"day2.p6"},"172":{"name":"pull-one","line":2276,"file":"SETTING::src/core/Rakudo/Iterator.pm6"},"171":"BOOTIter","170":"Rakudo::Iterator::Mappy-values","17":"NQPArrayIter","169":{"name":"Mappy-values","line":2290,"file":"SETTING::src/core/Rakudo/Iterator.pm6"},"168":{"name":"iterator","line":141,"file":"SETTING::src/core/Baggy.pm6"},"167":{"name":"iterator","line":47,"file":"SETTING::src/core/Mu.pm6"},"166":"IntLexRef","165":{"name":"","line":1147,"file":"SETTING::src/core/Any-iterable-methods.pm6"},"164":{"name":"first","line":1125,"file":"SETTING::src/core/Any-iterable-methods.pm6"},"163":{"name":"pull-one","line":1555,"file":"SETTING::src/core/Rakudo/Iterator.pm6"},"162":{"name":"Empty","line":1563,"file":"SETTING::src/core/Rakudo/Iterator.pm6"},"161":{"name":"SET-SELF","line":72,"file":"SETTING::src/core/Rakudo/Iterator.pm6"},"160":{"name":"find_private_method","line":621,"file":"gen/moar/Metamodel.nqp"},"16":{"name":"","line":2251,"file":"gen/moar/BOOTSTRAP.nqp"},"159":{"name":"","line":3853,"file":"gen/moar/BOOTSTRAP.nqp"},"158":"Map::Iterate","157":{"name":"new","line":83,"file":"SETTING::src/core/Rakudo/Iterator.pm6"},"156":{"name":"iterator","line":199,"file":"SETTING::src/core/Map.pm6"},"155":{"name":"STORE","line":75,"file":"SETTING::src/core/Hash.pm6"},"154":{"name":"first","line":1115,"file":"SETTING::src/core/Any-iterable-methods.pm6"},"153":"WhateverCode","152":{"name":"","line":1997,"file":"gen/moar/BOOTSTRAP.nqp"},"151":{"name":"archetypes","line":2645,"file":"gen/moar/Metamodel.nqp"},"150":{"name":"base_type","line":3944,"file":"gen/moar/Metamodel.nqp"},"15":"Int","149":{"name":"check_instantiated","line":3939,"file":"gen/moar/Metamodel.nqp"},"148":{"name":"definite","line":3949,"file":"gen/moar/Metamodel.nqp"},"147":{"name":"archetypes","line":3902,"file":"gen/moar/Metamodel.nqp"},"146":{"name":"SET-SELF","line":5,"file":"SETTING::src/core/QuantHash.pm6"},"145":"Pair","144":{"name":"new","line":8,"file":"SETTING::src/core/Pair.pm6"},"143":"ValueObjAt","142":{"name":"WHICH","line":23,"file":"SETTING::src/core/Str.pm6"},"141":{"name":"WHICH","line":27,"file":"SETTING::src/core/Mu.pm6"},"140":{"name":"ADD-ITERATOR-TO-BAG","line":592,"file":"SETTING::src/core/Rakudo/QuantHash.pm6"},"14":"NQPArray","139":"Rakudo::Internals::IterationSet","138":"Bag","137":{"name":"create-from-iterator","line":97,"file":"SETTING::src/core/Baggy.pm6"},"136":{"name":"new","line":110,"file":"SETTING::src/core/Baggy.pm6"},"135":{"name":"pretending_to_be","line":186,"file":"gen/moar/Metamodel.nqp"},"134":{"name":"pull-one","line":355,"file":"SETTING::src/core/Str.pm6"},"133":{"name":"push-exactly","line":28,"file":"SETTING::src/core/Iterator.pm6"},"132":{"name":"push-at-least","line":49,"file":"SETTING::src/core/Iterator.pm6"},"131":{"name":"reify-at-least","line":40,"file":"SETTING::src/core/List.pm6"},"130":{"name":"pull-one","line":611,"file":"SETTING::src/core/List.pm6"},"13":{"name":"","line":2595,"file":"gen/moar/BOOTSTRAP.nqp"},"129":{"name":"push-all","line":54,"file":"SETTING::src/core/Iterable.pm6"},"128":{"name":"is-lazy","line":178,"file":"SETTING::src/core/List.pm6"},"127":{"name":"is-lazy","line":662,"file":"SETTING::src/core/List.pm6"},"126":{"name":"is-lazy","line":77,"file":"SETTING::src/core/Iterable.pm6"},"125":"ContainerDescriptor","124":{"name":"reification-target","line":330,"file":"SETTING::src/core/Array.pm6"},"123":"Slip","122":{"name":"Slip","line":43,"file":"SETTING::src/core/Sequence.pm6"},"121":{"name":"Slip","line":68,"file":"SETTING::src/core/Any.pm6"},"120":"Iterable::Flat","12":"List","119":{"name":"new","line":24,"file":"SETTING::src/core/Iterable.pm6"},"118":{"name":"flat","line":79,"file":"SETTING::src/core/Iterable.pm6"},"117":{"name":"cache","line":24,"file":"SETTING::src/core/Sequence.pm6"},"116":{"name":"from-slurpy-flat","line":280,"file":"SETTING::src/core/List.pm6"},"115":{"name":"bag","line":7,"file":"SETTING::src/core/set_operators.pm6"},"114":{"name":"bag","line":5,"file":"SETTING::src/core/set_operators.pm6"},"113":{"name":"SET-SELF","line":346,"file":"SETTING::src/core/Str.pm6"},"112":"Str::CombAll","111":{"name":"new","line":354,"file":"SETTING::src/core/Str.pm6"},"110":{"name":"comb","line":381,"file":"SETTING::src/core/Str.pm6"},"11":{"name":"","line":3547,"file":"gen/moar/BOOTSTRAP.nqp"},"109":{"name":"comb","line":340,"file":"SETTING::src/core/Str.pm6"},"108":{"name":"","line":8,"file":"day2.p6"},"107":{"name":"pull-one","line":2628,"file":"SETTING::src/core/Rakudo/Iterator.pm6"},"106":"Block","105":{"name":"","line":2057,"file":"gen/moar/BOOTSTRAP.nqp"},"104":{"name":"SET-SELF","line":2614,"file":"SETTING::src/core/Rakudo/Iterator.pm6"},"103":"Rakudo::Iterator::ReifiedArrayIterator","102":{"name":"new","line":2622,"file":"SETTING::src/core/Rakudo/Iterator.pm6"},"101":{"name":"ReifiedArray","line":2700,"file":"SETTING::src/core/Rakudo/Iterator.pm6"},"100":{"name":"iterator","line":183,"file":"SETTING::src/core/Array.pm6"},"10":"CallCapture","1":{"name":"<unit-outer>","line":1,"file":"day2.p6"},"0":{"name":"","line":1678,"file":"gen/moar/stage2/NQPHLL.nqp"}},{"total_time":174177,"thread":1,"start_time":0,"spesh_time":103474,"parent":0,"gcs":[{"time":8949,"start_time":48631,"sequence":1,"retained_bytes":67760,"responsible":1,"promoted_bytes_unmanaged":1321894,"promoted_bytes":1020952,"gen2_roots":8422,"full":0,"cleared_bytes":3105584},{"time":5173,"start_time":121747,"sequence":2,"retained_bytes":9744,"responsible":1,"promoted_bytes_unmanaged":57108,"promoted_bytes":61248,"gen2_roots":798,"full":0,"cleared_bytes":4123296}],"call_graph":{"inclusive_time":121826,"id":"0","highest_child_id":819,"first_entry_time":0,"exclusive_time":12,"entries":1,"callees":[{"inclusive_time":121813,"id":"1","highest_child_id":819,"first_entry_time":12,"exclusive_time":36,"entries":1,"callees":[{"inclusive_time":121776,"id":"4","highest_child_id":819,"first_entry_time":48,"exclusive_time":122,"entries":1,"callees":[{"inclusive_time":1198,"id":"6","highest_child_id":51,"first_entry_time":79,"exclusive_time":111,"entries":1,"callees":[{"inclusive_time":15,"id":"7","highest_child_id":4,"first_entry_time":114,"exclusive_time":15,"entries":1},{"inclusive_time":921,"id":"8","highest_child_id":28,"first_entry_time":151,"exclusive_time":145,"entries":1,"callees":[{"inclusive_time":1,"id":"11","highest_child_id":6,"first_entry_time":158,"exclusive_time":1,"entries":1,"allocations":[{"id":"12","count":1}]},{"inclusive_time":559,"id":"13","highest_child_id":16,"first_entry_time":296,"exclusive_time":137,"entries":1,"callees":[{"inclusive_time":99,"id":"16","highest_child_id":9,"first_entry_time":404,"exclusive_time":95,"entries":1,"callees":[{"inclusive_time":4,"id":"20","highest_child_id":9,"first_entry_time":494,"exclusive_time":4,"entries":2}],"allocations":[{"id":"14","count":12},{"id":"17","count":3},{"id":"9","count":4},{"id":"18","count":4},{"id":"19","count":2}]},{"inclusive_time":320,"id":"21","highest_child_id":15,"first_entry_time":525,"exclusive_time":31,"entries":1,"callees":[{"inclusive_time":288,"id":"22","highest_child_id":15,"first_entry_time":555,"exclusive_time":101,"entries":1,"callees":[{"inclusive_time":186,"id":"23","highest_child_id":15,"first_entry_time":656,"exclusive_time":153,"entries":1,"callees":[{"inclusive_time":32,"id":"26","highest_child_id":14,"first_entry_time":792,"exclusive_time":30,"entries":3,"callees":[{"inclusive_time":1,"id":"28","highest_child_id":14,"first_entry_time":811,"exclusive_time":1,"entries":1}],"allocations":[{"id":"2","count":12},{"id":"27","count":1}]},{"inclusive_time":1,"id":"29","highest_child_id":15,"first_entry_time":830,"exclusive_time":1,"entries":1}],"allocations":[{"id":"24","count":1},{"id":"25","count":1}]}]}]},{"inclusive_time":2,"id":"30","highest_child_id":16,"first_entry_time":853,"exclusive_time":2,"entries":1}],"allocations":[{"id":"2","count":1},{"id":"14","count":2},{"id":"9","count":1},{"id":"10","count":1},{"id":"15","count":1}]},{"inclusive_time":214,"id":"31","highest_child_id":28,"first_entry_time":857,"exclusive_time":45,"entries":1,"callees":[{"inclusive_time":163,"id":"32","highest_child_id":23,"first_entry_time":885,"exclusive_time":131,"entries":1,"callees":[{"inclusive_time":30,"id":"33","highest_child_id":21,"first_entry_time":1015,"exclusive_time":27,"entries":1,"callees":[{"inclusive_time":2,"id":"35","highest_child_id":20,"first_entry_time":1036,"exclusive_time":2,"entries":1},{"inclusive_time":0,"id":"36","highest_child_id":21,"first_entry_time":1045,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1},{"id":"34","count":1}]},{"inclusive_time":0,"id":"35","highest_child_id":22,"first_entry_time":1046,"exclusive_time":0,"entries":1},{"inclusive_time":0,"id":"36","highest_child_id":23,"first_entry_time":1048,"exclusive_time":0,"entries":1}],"allocations":[{"id":"27","count":1},{"id":"9","count":1}]},{"inclusive_time":4,"id":"37","highest_child_id":26,"first_entry_time":1065,"exclusive_time":3,"entries":1,"callees":[{"inclusive_time":1,"id":"35","highest_child_id":25,"first_entry_time":1067,"exclusive_time":1,"entries":1},{"inclusive_time":0,"id":"36","highest_child_id":26,"first_entry_time":1069,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1},{"id":"38","count":1}]},{"inclusive_time":0,"id":"35","highest_child_id":27,"first_entry_time":1070,"exclusive_time":0,"entries":1},{"inclusive_time":0,"id":"36","highest_child_id":28,"first_entry_time":1072,"exclusive_time":0,"entries":1}],"allocations":[{"id":"27","count":1},{"id":"9","count":1}]}],"allocations":[{"id":"9","count":1},{"id":"3","count":1},{"id":"10","count":3}]},{"inclusive_time":117,"id":"39","highest_child_id":44,"first_entry_time":1083,"exclusive_time":20,"entries":1,"callees":[{"inclusive_time":0,"id":"11","highest_child_id":30,"first_entry_time":1084,"exclusive_time":0,"entries":1,"allocations":[{"id":"12","count":1}]},{"inclusive_time":36,"id":"13","highest_child_id":34,"first_entry_time":1088,"exclusive_time":9,"entries":1,"callees":[{"inclusive_time":25,"id":"16","highest_child_id":33,"first_entry_time":1091,"exclusive_time":21,"entries":1,"callees":[{"inclusive_time":3,"id":"20","highest_child_id":33,"first_entry_time":1106,"exclusive_time":3,"entries":2}],"allocations":[{"id":"14","count":12},{"id":"17","count":3},{"id":"9","count":4},{"id":"18","count":4},{"id":"19","count":2}]},{"inclusive_time":1,"id":"30","highest_child_id":34,"first_entry_time":1123,"exclusive_time":1,"entries":1}],"allocations":[{"id":"2","count":1},{"id":"14","count":2},{"id":"9","count":1}]},{"inclusive_time":60,"id":"40","highest_child_id":44,"first_entry_time":1140,"exclusive_time":31,"entries":1,"callees":[{"inclusive_time":22,"id":"41","highest_child_id":39,"first_entry_time":1158,"exclusive_time":20,"entries":1,"callees":[{"inclusive_time":1,"id":"42","highest_child_id":37,"first_entry_time":1176,"exclusive_time":1,"entries":1},{"inclusive_time":1,"id":"35","highest_child_id":38,"first_entry_time":1178,"exclusive_time":1,"entries":1},{"inclusive_time":0,"id":"36","highest_child_id":39,"first_entry_time":1180,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1}]},{"inclusive_time":5,"id":"43","highest_child_id":42,"first_entry_time":1193,"exclusive_time":4,"entries":1,"callees":[{"inclusive_time":0,"id":"35","highest_child_id":41,"first_entry_time":1197,"exclusive_time":0,"entries":1},{"inclusive_time":0,"id":"36","highest_child_id":42,"first_entry_time":1198,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1},{"id":"44","count":1},{"id":"12","count":1},{"id":"45","count":1}]},{"inclusive_time":0,"id":"35","highest_child_id":43,"first_entry_time":1199,"exclusive_time":0,"entries":1},{"inclusive_time":0,"id":"36","highest_child_id":44,"first_entry_time":1201,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1}]}],"allocations":[{"id":"9","count":1},{"id":"3","count":1},{"id":"10","count":3}]},{"inclusive_time":0,"id":"35","highest_child_id":45,"first_entry_time":1203,"exclusive_time":0,"entries":1},{"inclusive_time":0,"id":"36","highest_child_id":46,"first_entry_time":1204,"exclusive_time":0,"entries":2},{"inclusive_time":31,"id":"46","highest_child_id":51,"first_entry_time":1246,"exclusive_time":28,"entries":1,"callees":[{"inclusive_time":1,"id":"47","highest_child_id":48,"first_entry_time":1253,"exclusive_time":1,"entries":3},{"inclusive_time":1,"id":"48","highest_child_id":49,"first_entry_time":1260,"exclusive_time":1,"entries":1},{"inclusive_time":0,"id":"49","highest_child_id":50,"first_entry_time":1268,"exclusive_time":0,"entries":1},{"inclusive_time":0,"id":"50","highest_child_id":51,"first_entry_time":1275,"exclusive_time":0,"entries":1}]}]},{"inclusive_time":16767,"id":"51","highest_child_id":140,"first_entry_time":1291,"exclusive_time":25,"entries":1,"callees":[{"inclusive_time":0,"id":"11","highest_child_id":53,"first_entry_time":1293,"exclusive_time":0,"entries":1,"allocations":[{"id":"12","count":1}]},{"inclusive_time":12,"id":"13","highest_child_id":55,"first_entry_time":1297,"exclusive_time":11,"entries":1,"callees":[{"inclusive_time":1,"id":"30","highest_child_id":55,"first_entry_time":1307,"exclusive_time":1,"entries":1}],"allocations":[{"id":"2","count":1},{"id":"14","count":2},{"id":"9","count":1}]},{"inclusive_time":16728,"id":"52","highest_child_id":140,"first_entry_time":1330,"exclusive_time":64,"entries":1,"callees":[{"inclusive_time":34,"id":"53","highest_child_id":65,"first_entry_time":1345,"exclusive_time":13,"entries":1,"callees":[{"inclusive_time":21,"id":"54","highest_child_id":63,"first_entry_time":1356,"exclusive_time":14,"entries":1,"callees":[{"inclusive_time":5,"id":"56","highest_child_id":61,"first_entry_time":1370,"exclusive_time":4,"entries":1,"callees":[{"inclusive_time":1,"id":"35","highest_child_id":60,"first_entry_time":1372,"exclusive_time":1,"entries":1},{"inclusive_time":0,"id":"36","highest_child_id":61,"first_entry_time":1375,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1}]},{"inclusive_time":0,"id":"35","highest_child_id":62,"first_entry_time":1376,"exclusive_time":0,"entries":1},{"inclusive_time":0,"id":"36","highest_child_id":63,"first_entry_time":1377,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1},{"id":"55","count":1}]},{"inclusive_time":0,"id":"35","highest_child_id":64,"first_entry_time":1378,"exclusive_time":0,"entries":1},{"inclusive_time":0,"id":"36","highest_child_id":65,"first_entry_time":1379,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1}]},{"inclusive_time":4,"id":"57","highest_child_id":68,"first_entry_time":1391,"exclusive_time":3,"entries":1,"callees":[{"inclusive_time":0,"id":"35","highest_child_id":67,"first_entry_time":1393,"exclusive_time":0,"entries":1},{"inclusive_time":0,"id":"36","highest_child_id":68,"first_entry_time":1395,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1},{"id":"58","count":1}]},{"inclusive_time":16622,"id":"59","highest_child_id":138,"first_entry_time":1431,"exclusive_time":217,"entries":1,"callees":[{"inclusive_time":15993,"id":"60","highest_child_id":128,"first_entry_time":1461,"exclusive_time":18,"entries":1,"callees":[{"inclusive_time":15973,"id":"61","highest_child_id":125,"first_entry_time":1473,"exclusive_time":39,"entries":1,"callees":[{"inclusive_time":0,"id":"62","highest_child_id":72,"first_entry_time":1479,"exclusive_time":0,"entries":1,"allocations":[{"id":"9","count":1}]},{"inclusive_time":15931,"id":"63","highest_child_id":123,"first_entry_time":1510,"exclusive_time":812,"entries":1,"callees":[{"inclusive_time":556,"id":"64","highest_child_id":81,"first_entry_time":1532,"exclusive_time":481,"entries":251,"callees":[{"inclusive_time":1,"id":"35","highest_child_id":75,"first_entry_time":1538,"exclusive_time":1,"entries":1},{"inclusive_time":65,"id":"36","highest_child_id":76,"first_entry_time":1540,"exclusive_time":65,"entries":502},{"inclusive_time":7,"id":"46","highest_child_id":81,"first_entry_time":1542,"exclusive_time":5,"entries":1,"callees":[{"inclusive_time":0,"id":"47","highest_child_id":78,"first_entry_time":1543,"exclusive_time":0,"entries":3},{"inclusive_time":0,"id":"48","highest_child_id":79,"first_entry_time":1544,"exclusive_time":0,"entries":1},{"inclusive_time":0,"id":"49","highest_child_id":80,"first_entry_time":1546,"exclusive_time":0,"entries":1},{"inclusive_time":0,"id":"50","highest_child_id":81,"first_entry_time":1547,"exclusive_time":0,"entries":1}]}],"allocations":[{"id":"9","count":251}]},{"inclusive_time":14225,"id":"65","highest_child_id":119,"first_entry_time":1594,"exclusive_time":911,"entries":251,"callees":[{"inclusive_time":73,"id":"66","highest_child_id":83,"first_entry_time":1607,"exclusive_time":73,"entries":251,"allocations":[{"id":"9","count":251}]},{"inclusive_time":498,"id":"64","highest_child_id":85,"first_entry_time":1610,"exclusive_time":442,"entries":251,"callees":[{"inclusive_time":55,"id":"36","highest_child_id":85,"first_entry_time":1615,"exclusive_time":55,"entries":502}],"allocations":[{"id":"9","count":251}]},{"inclusive_time":88,"id":"67","highest_child_id":86,"first_entry_time":1627,"exclusive_time":88,"entries":251,"allocations":[{"id":"9","count":251}]},{"inclusive_time":12612,"id":"68","highest_child_id":117,"first_entry_time":1655,"exclusive_time":741,"entries":251,"callees":[{"inclusive_time":374,"id":"69","highest_child_id":90,"first_entry_time":1671,"exclusive_time":337,"entries":251,"callees":[{"inclusive_time":2,"id":"35","highest_child_id":89,"first_entry_time":1677,"exclusive_time":2,"entries":1},{"inclusive_time":34,"id":"36","highest_child_id":90,"first_entry_time":1681,"exclusive_time":34,"entries":251}],"allocations":[{"id":"9","count":251}]},{"inclusive_time":11460,"id":"70","highest_child_id":115,"first_entry_time":1727,"exclusive_time":1356,"entries":251,"callees":[{"inclusive_time":8403,"id":"71","highest_child_id":103,"first_entry_time":1746,"exclusive_time":3325,"entries":251,"callees":[{"inclusive_time":546,"id":"72","highest_child_id":93,"first_entry_time":1779,"exclusive_time":546,"entries":251,"allocations":[{"id":"73","count":251},{"id":"2","count":217}]},{"inclusive_time":4472,"id":"74","highest_child_id":101,"first_entry_time":1800,"exclusive_time":364,"entries":251,"callees":[{"inclusive_time":4108,"id":"75","highest_child_id":101,"first_entry_time":1818,"exclusive_time":1291,"entries":251,"callees":[{"inclusive_time":125,"id":"11","highest_child_id":96,"first_entry_time":1820,"exclusive_time":125,"entries":251,"allocations":[{"id":"12","count":251}]},{"inclusive_time":2367,"id":"13","highest_child_id":98,"first_entry_time":1826,"exclusive_time":2198,"entries":251,"callees":[{"inclusive_time":168,"id":"30","highest_child_id":98,"first_entry_time":1843,"exclusive_time":168,"entries":251}],"allocations":[{"id":"2","count":501},{"id":"14","count":502},{"id":"9","count":251}]},{"inclusive_time":324,"id":"76","highest_child_id":101,"first_entry_time":1857,"exclusive_time":286,"entries":251,"callees":[{"inclusive_time":1,"id":"35","highest_child_id":100,"first_entry_time":1861,"exclusive_time":1,"entries":1},{"inclusive_time":36,"id":"36","highest_child_id":101,"first_entry_time":1864,"exclusive_time":36,"entries":251}],"allocations":[{"id":"9","count":251},{"id":"77","count":251}]}],"allocations":[{"id":"9","count":251},{"id":"3","count":251},{"id":"10","count":753}]}],"allocations":[{"id":"14","count":251},{"id":"9","count":251}]},{"inclusive_time":2,"id":"35","highest_child_id":102,"first_entry_time":1904,"exclusive_time":2,"entries":1},{"inclusive_time":55,"id":"36","highest_child_id":103,"first_entry_time":1907,"exclusive_time":55,"entries":251}],"allocations":[{"id":"9","count":251}]},{"inclusive_time":249,"id":"78","highest_child_id":104,"first_entry_time":1921,"exclusive_time":249,"entries":251,"allocations":[{"id":"9","count":251},{"id":"15","count":250}]},{"inclusive_time":269,"id":"79","highest_child_id":105,"first_entry_time":1936,"exclusive_time":269,"entries":250,"allocations":[{"id":"9","count":250}]},{"inclusive_time":1044,"id":"64","highest_child_id":108,"first_entry_time":1941,"exclusive_time":975,"entries":250,"callees":[{"inclusive_time":1,"id":"35","highest_child_id":107,"first_entry_time":1951,"exclusive_time":1,"entries":1},{"inclusive_time":66,"id":"36","highest_child_id":108,"first_entry_time":1954,"exclusive_time":66,"entries":500}],"allocations":[{"id":"9","count":250},{"id":"80","count":250}]},{"inclusive_time":121,"id":"81","highest_child_id":109,"first_entry_time":1967,"exclusive_time":121,"entries":251},{"inclusive_time":2,"id":"69","highest_child_id":111,"first_entry_time":17382,"exclusive_time":1,"entries":1,"callees":[{"inclusive_time":0,"id":"36","highest_child_id":111,"first_entry_time":17384,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1}]},{"inclusive_time":12,"id":"82","highest_child_id":114,"first_entry_time":17407,"exclusive_time":8,"entries":1,"callees":[{"inclusive_time":3,"id":"35","highest_child_id":113,"first_entry_time":17415,"exclusive_time":3,"entries":1},{"inclusive_time":0,"id":"36","highest_child_id":114,"first_entry_time":17419,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1}]},{"inclusive_time":0,"id":"83","highest_child_id":115,"first_entry_time":17429,"exclusive_time":0,"entries":1,"allocations":[{"id":"9","count":1}]}]},{"inclusive_time":2,"id":"35","highest_child_id":116,"first_entry_time":1973,"exclusive_time":2,"entries":2},{"inclusive_time":33,"id":"36","highest_child_id":117,"first_entry_time":1976,"exclusive_time":33,"entries":251}],"allocations":[{"id":"9","count":251},{"id":"27","count":251},{"id":"2","count":201}]},{"inclusive_time":1,"id":"35","highest_child_id":118,"first_entry_time":1977,"exclusive_time":1,"entries":2},{"inclusive_time":39,"id":"36","highest_child_id":119,"first_entry_time":1979,"exclusive_time":39,"entries":251}],"allocations":[{"id":"9","count":251}]},{"inclusive_time":336,"id":"84","highest_child_id":122,"first_entry_time":1993,"exclusive_time":292,"entries":250,"callees":[{"inclusive_time":1,"id":"35","highest_child_id":121,"first_entry_time":1996,"exclusive_time":1,"entries":1},{"inclusive_time":41,"id":"36","highest_child_id":122,"first_entry_time":1999,"exclusive_time":41,"entries":250}],"allocations":[{"id":"9","count":250}]},{"inclusive_time":0,"id":"83","highest_child_id":123,"first_entry_time":17441,"exclusive_time":0,"entries":1,"allocations":[{"id":"9","count":1}]}],"allocations":[{"id":"27","count":1},{"id":"9","count":1}]},{"inclusive_time":1,"id":"35","highest_child_id":124,"first_entry_time":17443,"exclusive_time":1,"entries":1},{"inclusive_time":0,"id":"36","highest_child_id":125,"first_entry_time":17445,"exclusive_time":0,"entries":1}],"allocations":[{"id":"27","count":1},{"id":"9","count":1}]},{"inclusive_time":1,"id":"42","highest_child_id":126,"first_entry_time":17449,"exclusive_time":1,"entries":1},{"inclusive_time":0,"id":"35","highest_child_id":127,"first_entry_time":17453,"exclusive_time":0,"entries":1},{"inclusive_time":0,"id":"36","highest_child_id":128,"first_entry_time":17454,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1},{"id":"27","count":1},{"id":"15","count":1}]},{"inclusive_time":406,"id":"85","highest_child_id":134,"first_entry_time":17470,"exclusive_time":343,"entries":250,"callees":[{"inclusive_time":17,"id":"86","highest_child_id":133,"first_entry_time":17508,"exclusive_time":14,"entries":1,"callees":[{"inclusive_time":0,"id":"87","highest_child_id":131,"first_entry_time":17517,"exclusive_time":0,"entries":1},{"inclusive_time":0,"id":"47","highest_child_id":132,"first_entry_time":17519,"exclusive_time":0,"entries":1},{"inclusive_time":0,"id":"50","highest_child_id":133,"first_entry_time":17522,"exclusive_time":0,"entries":1}]},{"inclusive_time":45,"id":"88","highest_child_id":134,"first_entry_time":17531,"exclusive_time":45,"entries":250}],"allocations":[{"id":"9","count":250},{"id":"27","count":250}]},{"inclusive_time":1,"id":"89","highest_child_id":135,"first_entry_time":18027,"exclusive_time":1,"entries":1,"allocations":[{"id":"9","count":1}]},{"inclusive_time":1,"id":"90","highest_child_id":136,"first_entry_time":18048,"exclusive_time":1,"entries":1,"allocations":[{"id":"9","count":1}]},{"inclusive_time":1,"id":"35","highest_child_id":137,"first_entry_time":18051,"exclusive_time":1,"entries":1},{"inclusive_time":0,"id":"36","highest_child_id":138,"first_entry_time":18054,"exclusive_time":0,"entries":1}],"allocations":[{"id":"27","count":1},{"id":"9","count":1}]},{"inclusive_time":0,"id":"35","highest_child_id":139,"first_entry_time":18056,"exclusive_time":0,"entries":1},{"inclusive_time":0,"id":"36","highest_child_id":140,"first_entry_time":18058,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1},{"id":"44","count":1}]}],"allocations":[{"id":"9","count":1},{"id":"3","count":1},{"id":"10","count":3}]},{"inclusive_time":100446,"id":"91","highest_child_id":700,"first_entry_time":18104,"exclusive_time":570,"entries":1,"callees":[{"inclusive_time":147,"id":"92","highest_child_id":169,"first_entry_time":18142,"exclusive_time":32,"entries":1,"callees":[{"inclusive_time":48,"id":"53","highest_child_id":154,"first_entry_time":18146,"exclusive_time":15,"entries":1,"callees":[{"inclusive_time":32,"id":"93","highest_child_id":152,"first_entry_time":18159,"exclusive_time":12,"entries":1,"callees":[{"inclusive_time":19,"id":"94","highest_child_id":150,"first_entry_time":18171,"exclusive_time":12,"entries":1,"callees":[{"inclusive_time":5,"id":"96","highest_child_id":148,"first_entry_time":18182,"exclusive_time":3,"entries":1,"callees":[{"inclusive_time":1,"id":"35","highest_child_id":147,"first_entry_time":18184,"exclusive_time":1,"entries":1},{"inclusive_time":0,"id":"36","highest_child_id":148,"first_entry_time":18187,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1}]},{"inclusive_time":0,"id":"35","highest_child_id":149,"first_entry_time":18188,"exclusive_time":0,"entries":1},{"inclusive_time":0,"id":"36","highest_child_id":150,"first_entry_time":18190,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1},{"id":"95","count":1}]},{"inclusive_time":0,"id":"35","highest_child_id":151,"first_entry_time":18191,"exclusive_time":0,"entries":1},{"inclusive_time":0,"id":"36","highest_child_id":152,"first_entry_time":18192,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1}]},{"inclusive_time":0,"id":"35","highest_child_id":153,"first_entry_time":18193,"exclusive_time":0,"entries":1},{"inclusive_time":0,"id":"36","highest_child_id":154,"first_entry_time":18195,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1},{"id":"27","count":1}]},{"inclusive_time":2,"id":"97","highest_child_id":155,"first_entry_time":18206,"exclusive_time":2,"entries":3,"allocations":[{"id":"9","count":3}]},{"inclusive_time":58,"id":"98","highest_child_id":165,"first_entry_time":18219,"exclusive_time":17,"entries":1,"callees":[{"inclusive_time":0,"id":"11","highest_child_id":157,"first_entry_time":18221,"exclusive_time":0,"entries":1,"allocations":[{"id":"12","count":1}]},{"inclusive_time":27,"id":"13","highest_child_id":159,"first_entry_time":18225,"exclusive_time":25,"entries":1,"callees":[{"inclusive_time":2,"id":"30","highest_child_id":159,"first_entry_time":18250,"exclusive_time":2,"entries":1}],"allocations":[{"id":"2","count":2},{"id":"14","count":2},{"id":"9","count":1}]},{"inclusive_time":12,"id":"99","highest_child_id":165,"first_entry_time":18265,"exclusive_time":5,"entries":1,"callees":[{"inclusive_time":6,"id":"86","highest_child_id":164,"first_entry_time":18268,"exclusive_time":5,"entries":1,"callees":[{"inclusive_time":0,"id":"87","highest_child_id":162,"first_entry_time":18271,"exclusive_time":0,"entries":1},{"inclusive_time":0,"id":"47","highest_child_id":163,"first_entry_time":18272,"exclusive_time":0,"entries":1},{"inclusive_time":0,"id":"50","highest_child_id":164,"first_entry_time":18273,"exclusive_time":0,"entries":1}]},{"inclusive_time":0,"id":"88","highest_child_id":165,"first_entry_time":18276,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1},{"id":"27","count":1}]}],"allocations":[{"id":"9","count":1},{"id":"3","count":1},{"id":"10","count":3}]},{"inclusive_time":3,"id":"99","highest_child_id":167,"first_entry_time":18282,"exclusive_time":2,"entries":1,"callees":[{"inclusive_time":0,"id":"88","highest_child_id":167,"first_entry_time":18284,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1},{"id":"27","count":1}]},{"inclusive_time":0,"id":"35","highest_child_id":168,"first_entry_time":18287,"exclusive_time":0,"entries":1},{"inclusive_time":0,"id":"36","highest_child_id":169,"first_entry_time":18289,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":2},{"id":"25","count":1}]},{"inclusive_time":45,"id":"100","highest_child_id":181,"first_entry_time":18307,"exclusive_time":13,"entries":1,"callees":[{"inclusive_time":31,"id":"101","highest_child_id":179,"first_entry_time":18319,"exclusive_time":12,"entries":1,"callees":[{"inclusive_time":17,"id":"102","highest_child_id":177,"first_entry_time":18330,"exclusive_time":12,"entries":1,"callees":[{"inclusive_time":4,"id":"104","highest_child_id":175,"first_entry_time":18341,"exclusive_time":3,"entries":1,"callees":[{"inclusive_time":1,"id":"35","highest_child_id":174,"first_entry_time":18343,"exclusive_time":1,"entries":1},{"inclusive_time":0,"id":"36","highest_child_id":175,"first_entry_time":18345,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1}]},{"inclusive_time":0,"id":"35","highest_child_id":176,"first_entry_time":18346,"exclusive_time":0,"entries":1},{"inclusive_time":0,"id":"36","highest_child_id":177,"first_entry_time":18347,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1},{"id":"103","count":1}]},{"inclusive_time":0,"id":"35","highest_child_id":178,"first_entry_time":18348,"exclusive_time":0,"entries":1},{"inclusive_time":0,"id":"36","highest_child_id":179,"first_entry_time":18350,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1}]},{"inclusive_time":0,"id":"35","highest_child_id":180,"first_entry_time":18351,"exclusive_time":0,"entries":1},{"inclusive_time":0,"id":"36","highest_child_id":181,"first_entry_time":18352,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1}]},{"inclusive_time":1,"id":"105","highest_child_id":182,"first_entry_time":18368,"exclusive_time":1,"entries":1,"allocations":[{"id":"106","count":1},{"id":"2","count":1}]},{"jit_entries":208,"inclusive_time":77,"id":"107","highest_child_id":183,"first_entry_time":18384,"exclusive_time":77,"entries":251,"allocations":[{"id":"9","count":43}]},{"inclusive_time":99072,"id":"108","highest_child_id":635,"first_entry_time":18418,"exclusive_time":3294,"entries":250,"callees":[{"inclusive_time":367,"id":"109","highest_child_id":201,"first_entry_time":18441,"exclusive_time":21,"entries":1,"callees":[{"inclusive_time":0,"id":"11","highest_child_id":186,"first_entry_time":18442,"exclusive_time":0,"entries":1,"allocations":[{"id":"12","count":1}]},{"inclusive_time":172,"id":"13","highest_child_id":190,"first_entry_time":18445,"exclusive_time":35,"entries":1,"callees":[{"inclusive_time":134,"id":"16","highest_child_id":189,"first_entry_time":18449,"exclusive_time":74,"entries":1,"callees":[{"inclusive_time":59,"id":"20","highest_child_id":189,"first_entry_time":18494,"exclusive_time":59,"entries":30}],"allocations":[{"id":"14","count":32},{"id":"17","count":7},{"id":"9","count":12},{"id":"18","count":12},{"id":"19","count":6}]},{"inclusive_time":2,"id":"30","highest_child_id":190,"first_entry_time":18615,"exclusive_time":2,"entries":1}],"allocations":[{"id":"2","count":2},{"id":"14","count":2},{"id":"9","count":1}]},{"inclusive_time":172,"id":"110","highest_child_id":201,"first_entry_time":18635,"exclusive_time":139,"entries":1,"callees":[{"inclusive_time":29,"id":"111","highest_child_id":197,"first_entry_time":18771,"exclusive_time":21,"entries":1,"callees":[{"inclusive_time":7,"id":"113","highest_child_id":195,"first_entry_time":18791,"exclusive_time":5,"entries":1,"callees":[{"inclusive_time":1,"id":"35","highest_child_id":194,"first_entry_time":18795,"exclusive_time":1,"entries":1},{"inclusive_time":0,"id":"36","highest_child_id":195,"first_entry_time":18798,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1}]},{"inclusive_time":0,"id":"35","highest_child_id":196,"first_entry_time":18799,"exclusive_time":0,"entries":1},{"inclusive_time":0,"id":"36","highest_child_id":197,"first_entry_time":18800,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1},{"id":"112","count":1}]},{"inclusive_time":2,"id":"37","highest_child_id":199,"first_entry_time":18803,"exclusive_time":2,"entries":1,"callees":[{"inclusive_time":0,"id":"36","highest_child_id":199,"first_entry_time":18805,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1},{"id":"38","count":1}]},{"inclusive_time":0,"id":"35","highest_child_id":200,"first_entry_time":18806,"exclusive_time":0,"entries":1},{"inclusive_time":0,"id":"36","highest_child_id":201,"first_entry_time":18808,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1}]}],"allocations":[{"id":"9","count":1},{"id":"3","count":1},{"id":"10","count":3}]},{"inclusive_time":2652,"id":"114","highest_child_id":376,"first_entry_time":18836,"exclusive_time":27,"entries":1,"callees":[{"inclusive_time":12,"id":"13","highest_child_id":204,"first_entry_time":18844,"exclusive_time":10,"entries":1,"callees":[{"inclusive_time":1,"id":"30","highest_child_id":204,"first_entry_time":18854,"exclusive_time":1,"entries":1}],"allocations":[{"id":"2","count":2},{"id":"14","count":2},{"id":"9","count":1}]},{"inclusive_time":2613,"id":"115","highest_child_id":376,"first_entry_time":18875,"exclusive_time":744,"entries":1,"callees":[{"inclusive_time":931,"id":"116","highest_child_id":303,"first_entry_time":18911,"exclusive_time":71,"entries":1,"callees":[{"inclusive_time":0,"id":"11","highest_child_id":207,"first_entry_time":18913,"exclusive_time":0,"entries":1,"allocations":[{"id":"12","count":1}]},{"inclusive_time":18,"id":"117","highest_child_id":216,"first_entry_time":18929,"exclusive_time":6,"entries":1,"callees":[{"inclusive_time":8,"id":"41","highest_child_id":212,"first_entry_time":18932,"exclusive_time":6,"entries":1,"callees":[{"inclusive_time":1,"id":"42","highest_child_id":210,"first_entry_time":18935,"exclusive_time":1,"entries":1},{"inclusive_time":1,"id":"35","highest_child_id":211,"first_entry_time":18938,"exclusive_time":1,"entries":1},{"inclusive_time":0,"id":"36","highest_child_id":212,"first_entry_time":18941,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1}]},{"inclusive_time":2,"id":"43","highest_child_id":214,"first_entry_time":18943,"exclusive_time":2,"entries":1,"callees":[{"inclusive_time":0,"id":"36","highest_child_id":214,"first_entry_time":18945,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1},{"id":"44","count":1},{"id":"12","count":1},{"id":"45","count":1}]},{"inclusive_time":0,"id":"35","highest_child_id":215,"first_entry_time":18946,"exclusive_time":0,"entries":1},{"inclusive_time":0,"id":"36","highest_child_id":216,"first_entry_time":18948,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1},{"id":"27","count":1}]},{"inclusive_time":124,"id":"118","highest_child_id":230,"first_entry_time":18965,"exclusive_time":102,"entries":1,"callees":[{"inclusive_time":7,"id":"53","highest_child_id":223,"first_entry_time":18966,"exclusive_time":2,"entries":1,"callees":[{"inclusive_time":4,"id":"54","highest_child_id":222,"first_entry_time":18968,"exclusive_time":2,"entries":1,"callees":[{"inclusive_time":2,"id":"56","highest_child_id":221,"first_entry_time":18970,"exclusive_time":2,"entries":1,"callees":[{"inclusive_time":0,"id":"36","highest_child_id":221,"first_entry_time":18972,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1}]},{"inclusive_time":0,"id":"36","highest_child_id":222,"first_entry_time":18973,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1},{"id":"55","count":1}]},{"inclusive_time":0,"id":"36","highest_child_id":223,"first_entry_time":18974,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1}]},{"inclusive_time":8,"id":"119","highest_child_id":226,"first_entry_time":19072,"exclusive_time":7,"entries":1,"callees":[{"inclusive_time":1,"id":"35","highest_child_id":225,"first_entry_time":19074,"exclusive_time":1,"entries":1},{"inclusive_time":0,"id":"36","highest_child_id":226,"first_entry_time":19080,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1},{"id":"120","count":1}]},{"inclusive_time":3,"id":"37","highest_child_id":228,"first_entry_time":19082,"exclusive_time":3,"entries":1,"callees":[{"jit_entries":1,"inclusive_time":0,"id":"36","highest_child_id":228,"first_entry_time":19085,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1},{"id":"38","count":1}]},{"inclusive_time":0,"id":"35","highest_child_id":229,"first_entry_time":19087,"exclusive_time":0,"entries":1},{"jit_entries":1,"inclusive_time":0,"id":"36","highest_child_id":230,"first_entry_time":19088,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1}]},{"inclusive_time":112,"id":"121","highest_child_id":246,"first_entry_time":19105,"exclusive_time":55,"entries":1,"callees":[{"inclusive_time":0,"id":"11","highest_child_id":232,"first_entry_time":19107,"exclusive_time":0,"entries":1,"allocations":[{"id":"12","count":1}]},{"inclusive_time":38,"id":"13","highest_child_id":236,"first_entry_time":19146,"exclusive_time":10,"entries":1,"callees":[{"inclusive_time":27,"id":"16","highest_child_id":235,"first_entry_time":19149,"exclusive_time":22,"entries":1,"callees":[{"inclusive_time":4,"id":"20","highest_child_id":235,"first_entry_time":19165,"exclusive_time":4,"entries":2}],"allocations":[{"id":"14","count":12},{"id":"17","count":3},{"id":"9","count":4},{"id":"18","count":4},{"id":"19","count":2}]},{"inclusive_time":1,"id":"30","highest_child_id":236,"first_entry_time":19183,"exclusive_time":1,"entries":1}],"allocations":[{"id":"2","count":2},{"id":"14","count":2},{"id":"9","count":1}]},{"inclusive_time":17,"id":"122","highest_child_id":246,"first_entry_time":19200,"exclusive_time":5,"entries":1,"callees":[{"inclusive_time":7,"id":"41","highest_child_id":241,"first_entry_time":19203,"exclusive_time":5,"entries":1,"callees":[{"inclusive_time":0,"id":"42","highest_child_id":239,"first_entry_time":19205,"exclusive_time":0,"entries":1},{"inclusive_time":0,"id":"35","highest_child_id":240,"first_entry_time":19208,"exclusive_time":0,"entries":1},{"jit_entries":1,"inclusive_time":0,"id":"36","highest_child_id":241,"first_entry_time":19210,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1}]},{"inclusive_time":4,"id":"43","highest_child_id":244,"first_entry_time":19212,"exclusive_time":3,"entries":1,"callees":[{"inclusive_time":0,"id":"35","highest_child_id":243,"first_entry_time":19214,"exclusive_time":0,"entries":1},{"jit_entries":1,"inclusive_time":0,"id":"36","highest_child_id":244,"first_entry_time":19216,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1},{"id":"44","count":1},{"id":"123","count":1},{"id":"45","count":1}]},{"inclusive_time":0,"id":"35","highest_child_id":245,"first_entry_time":19217,"exclusive_time":0,"entries":1},{"jit_entries":1,"inclusive_time":0,"id":"36","highest_child_id":246,"first_entry_time":19218,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1}]}],"allocations":[{"id":"9","count":1},{"id":"3","count":1},{"id":"10","count":3}]},{"inclusive_time":8,"id":"124","highest_child_id":251,"first_entry_time":19234,"exclusive_time":4,"entries":1,"callees":[{"inclusive_time":2,"id":"57","highest_child_id":249,"first_entry_time":19237,"exclusive_time":2,"entries":1,"callees":[{"jit_entries":1,"inclusive_time":0,"id":"36","highest_child_id":249,"first_entry_time":19239,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1},{"id":"58","count":1}]},{"inclusive_time":0,"id":"35","highest_child_id":250,"first_entry_time":19241,"exclusive_time":0,"entries":1},{"jit_entries":1,"inclusive_time":0,"id":"36","highest_child_id":251,"first_entry_time":19242,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1},{"id":"125","count":1}]},{"inclusive_time":592,"id":"60","highest_child_id":300,"first_entry_time":19244,"exclusive_time":5,"entries":1,"callees":[{"inclusive_time":4,"id":"53","highest_child_id":258,"first_entry_time":19247,"exclusive_time":1,"entries":1,"callees":[{"inclusive_time":3,"id":"54","highest_child_id":257,"first_entry_time":19248,"exclusive_time":1,"entries":1,"callees":[{"inclusive_time":1,"id":"56","highest_child_id":256,"first_entry_time":19249,"exclusive_time":1,"entries":1,"callees":[{"jit_entries":1,"inclusive_time":0,"id":"36","highest_child_id":256,"first_entry_time":19250,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1}]},{"jit_entries":1,"inclusive_time":0,"id":"36","highest_child_id":257,"first_entry_time":19251,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1},{"id":"55","count":1}]},{"jit_entries":1,"inclusive_time":0,"id":"36","highest_child_id":258,"first_entry_time":19252,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1}]},{"inclusive_time":581,"id":"59","highest_child_id":299,"first_entry_time":19254,"exclusive_time":22,"entries":1,"callees":[{"inclusive_time":513,"id":"60","highest_child_id":294,"first_entry_time":19255,"exclusive_time":3,"entries":1,"callees":[{"inclusive_time":508,"id":"61","highest_child_id":292,"first_entry_time":19256,"exclusive_time":50,"entries":1,"callees":[{"inclusive_time":41,"id":"126","highest_child_id":271,"first_entry_time":19273,"exclusive_time":16,"entries":1,"callees":[{"inclusive_time":24,"id":"127","highest_child_id":269,"first_entry_time":19288,"exclusive_time":16,"entries":1,"callees":[{"inclusive_time":6,"id":"128","highest_child_id":267,"first_entry_time":19304,"exclusive_time":4,"entries":1,"callees":[{"inclusive_time":0,"id":"62","highest_child_id":265,"first_entry_time":19305,"exclusive_time":0,"entries":1,"allocations":[{"id":"9","count":1}]},{"inclusive_time":1,"id":"35","highest_child_id":266,"first_entry_time":19307,"exclusive_time":1,"entries":1},{"jit_entries":1,"inclusive_time":0,"id":"36","highest_child_id":267,"first_entry_time":19310,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1}]},{"inclusive_time":0,"id":"35","highest_child_id":268,"first_entry_time":19311,"exclusive_time":0,"entries":1},{"jit_entries":1,"inclusive_time":0,"id":"36","highest_child_id":269,"first_entry_time":19312,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1}]},{"inclusive_time":0,"id":"35","highest_child_id":270,"first_entry_time":19313,"exclusive_time":0,"entries":1},{"jit_entries":1,"inclusive_time":0,"id":"36","highest_child_id":271,"first_entry_time":19314,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1}]},{"inclusive_time":417,"id":"129","highest_child_id":291,"first_entry_time":19347,"exclusive_time":49,"entries":1,"callees":[{"inclusive_time":345,"id":"130","highest_child_id":289,"first_entry_time":19365,"exclusive_time":71,"entries":27,"callees":[{"inclusive_time":273,"id":"131","highest_child_id":288,"first_entry_time":19396,"exclusive_time":65,"entries":27,"callees":[{"inclusive_time":205,"id":"132","highest_child_id":285,"first_entry_time":19414,"exclusive_time":56,"entries":27,"callees":[{"inclusive_time":146,"id":"133","highest_child_id":283,"first_entry_time":19438,"exclusive_time":75,"entries":27,"callees":[{"inclusive_time":45,"id":"134","highest_child_id":279,"first_entry_time":19454,"exclusive_time":40,"entries":27,"callees":[{"inclusive_time":2,"id":"35","highest_child_id":278,"first_entry_time":19457,"exclusive_time":2,"entries":2},{"jit_entries":27,"inclusive_time":1,"id":"36","highest_child_id":279,"first_entry_time":19460,"exclusive_time":1,"entries":27}],"allocations":[{"id":"9","count":27},{"id":"80","count":26}]},{"inclusive_time":22,"id":"84","highest_child_id":281,"first_entry_time":19463,"exclusive_time":20,"entries":26,"callees":[{"jit_entries":26,"inclusive_time":1,"id":"36","highest_child_id":281,"first_entry_time":19464,"exclusive_time":1,"entries":26}],"allocations":[{"id":"9","count":26}]},{"inclusive_time":1,"id":"35","highest_child_id":282,"first_entry_time":19466,"exclusive_time":1,"entries":2},{"jit_entries":27,"inclusive_time":1,"id":"36","highest_child_id":283,"first_entry_time":19468,"exclusive_time":1,"entries":27}],"allocations":[{"id":"27","count":27},{"id":"9","count":27}]},{"inclusive_time":1,"id":"35","highest_child_id":284,"first_entry_time":19469,"exclusive_time":1,"entries":2},{"jit_entries":27,"inclusive_time":1,"id":"36","highest_child_id":285,"first_entry_time":19470,"exclusive_time":1,"entries":27}],"allocations":[{"id":"27","count":27},{"id":"9","count":27}]},{"inclusive_time":0,"id":"35","highest_child_id":286,"first_entry_time":19472,"exclusive_time":0,"entries":1},{"jit_entries":27,"inclusive_time":1,"id":"36","highest_child_id":287,"first_entry_time":19474,"exclusive_time":1,"entries":27},{"inclusive_time":0,"id":"42","highest_child_id":288,"first_entry_time":19759,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":27},{"id":"27","count":1},{"id":"15","count":13}]},{"inclusive_time":1,"id":"90","highest_child_id":289,"first_entry_time":19762,"exclusive_time":1,"entries":1,"allocations":[{"id":"9","count":1}]}],"allocations":[{"id":"9","count":27}]},{"inclusive_time":22,"id":"84","highest_child_id":291,"first_entry_time":19476,"exclusive_time":20,"entries":26,"callees":[{"jit_entries":26,"inclusive_time":1,"id":"36","highest_child_id":291,"first_entry_time":19477,"exclusive_time":1,"entries":26}],"allocations":[{"id":"9","count":26}]}],"allocations":[{"id":"27","count":2},{"id":"9","count":1}]},{"jit_entries":1,"inclusive_time":0,"id":"36","highest_child_id":292,"first_entry_time":19765,"exclusive_time":0,"entries":1}],"allocations":[{"id":"27","count":1},{"id":"9","count":1}]},{"inclusive_time":0,"id":"42","highest_child_id":293,"first_entry_time":19766,"exclusive_time":0,"entries":1},{"jit_entries":1,"inclusive_time":0,"id":"36","highest_child_id":294,"first_entry_time":19768,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1},{"id":"27","count":1},{"id":"15","count":1}]},{"inclusive_time":44,"id":"85","highest_child_id":296,"first_entry_time":19770,"exclusive_time":39,"entries":26,"callees":[{"inclusive_time":5,"id":"88","highest_child_id":296,"first_entry_time":19773,"exclusive_time":5,"entries":26}],"allocations":[{"id":"9","count":26},{"id":"27","count":26}]},{"inclusive_time":0,"id":"89","highest_child_id":297,"first_entry_time":19832,"exclusive_time":0,"entries":1,"allocations":[{"id":"9","count":1}]},{"inclusive_time":0,"id":"90","highest_child_id":298,"first_entry_time":19834,"exclusive_time":0,"entries":1,"allocations":[{"id":"9","count":1}]},{"jit_entries":1,"inclusive_time":0,"id":"36","highest_child_id":299,"first_entry_time":19835,"exclusive_time":0,"entries":1}],"allocations":[{"id":"27","count":1},{"id":"9","count":1}]},{"jit_entries":1,"inclusive_time":0,"id":"36","highest_child_id":300,"first_entry_time":19836,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1},{"id":"27","count":1},{"id":"15","count":1}]},{"inclusive_time":0,"id":"89","highest_child_id":301,"first_entry_time":19837,"exclusive_time":0,"entries":1,"allocations":[{"id":"9","count":1}]},{"inclusive_time":1,"id":"35","highest_child_id":302,"first_entry_time":19839,"exclusive_time":1,"entries":1},{"jit_entries":1,"inclusive_time":0,"id":"36","highest_child_id":303,"first_entry_time":19842,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1},{"id":"3","count":1},{"id":"10","count":1},{"id":"44","count":2},{"id":"5","count":1},{"id":"45","count":1}]},{"inclusive_time":876,"id":"75","highest_child_id":364,"first_entry_time":20546,"exclusive_time":47,"entries":1,"callees":[{"jit_entries":1,"inclusive_time":0,"id":"11","highest_child_id":305,"first_entry_time":20549,"exclusive_time":0,"entries":1,"allocations":[{"jit":1,"id":"12","count":1}]},{"jit_entries":1,"inclusive_time":147,"id":"13","highest_child_id":311,"first_entry_time":20553,"exclusive_time":12,"entries":1,"callees":[{"inclusive_time":133,"id":"16","highest_child_id":310,"first_entry_time":20558,"exclusive_time":68,"entries":1,"callees":[{"inclusive_time":64,"id":"20","highest_child_id":310,"first_entry_time":20593,"exclusive_time":46,"entries":20,"callees":[{"inclusive_time":18,"id":"42","highest_child_id":310,"first_entry_time":20614,"exclusive_time":16,"entries":6,"callees":[{"inclusive_time":1,"id":"135","highest_child_id":310,"first_entry_time":20623,"exclusive_time":1,"entries":6}],"allocations":[{"id":"17","count":6}]}]}],"allocations":[{"id":"14","count":27},{"id":"17","count":6},{"id":"9","count":10},{"id":"18","count":10},{"id":"19","count":7}]},{"jit_entries":1,"inlined_entries":1,"inclusive_time":2,"id":"30","highest_child_id":311,"first_entry_time":20699,"exclusive_time":2,"entries":1}],"allocations":[{"jit":2,"id":"2","count":2},{"jit":2,"id":"14","count":2},{"jit":1,"id":"9","count":1}]},{"inclusive_time":680,"id":"136","highest_child_id":364,"first_entry_time":20742,"exclusive_time":35,"entries":1,"callees":[{"inclusive_time":12,"id":"100","highest_child_id":320,"first_entry_time":20746,"exclusive_time":4,"entries":1,"callees":[{"inclusive_time":8,"id":"101","highest_child_id":319,"first_entry_time":20750,"exclusive_time":2,"entries":1,"callees":[{"inclusive_time":5,"id":"102","highest_child_id":318,"first_entry_time":20752,"exclusive_time":2,"entries":1,"callees":[{"inclusive_time":3,"id":"104","highest_child_id":317,"first_entry_time":20754,"exclusive_time":2,"entries":1,"callees":[{"jit_entries":1,"inclusive_time":0,"id":"36","highest_child_id":317,"first_entry_time":20756,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1}]},{"jit_entries":1,"inclusive_time":0,"id":"36","highest_child_id":318,"first_entry_time":20757,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1},{"id":"103","count":1}]},{"jit_entries":1,"inclusive_time":0,"id":"36","highest_child_id":319,"first_entry_time":20758,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1}]},{"jit_entries":1,"inclusive_time":0,"id":"36","highest_child_id":320,"first_entry_time":20759,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1},{"id":"27","count":1}]},{"inclusive_time":622,"id":"137","highest_child_id":352,"first_entry_time":20787,"exclusive_time":296,"entries":1,"callees":[{"inclusive_time":0,"id":"62","highest_child_id":322,"first_entry_time":20789,"exclusive_time":0,"entries":1,"allocations":[{"id":"9","count":1}]},{"inclusive_time":266,"id":"140","highest_child_id":337,"first_entry_time":21061,"exclusive_time":101,"entries":1,"callees":[{"inclusive_time":17,"id":"107","highest_child_id":324,"first_entry_time":21065,"exclusive_time":17,"entries":27,"allocations":[{"id":"9","count":27}]},{"inclusive_time":92,"id":"141","highest_child_id":331,"first_entry_time":21085,"exclusive_time":24,"entries":1,"callees":[{"jit_entries":1,"inclusive_time":0,"id":"11","highest_child_id":326,"first_entry_time":21087,"exclusive_time":0,"entries":1,"allocations":[{"jit":1,"id":"12","count":1}]},{"osr":1,"jit_entries":2,"inclusive_time":61,"id":"13","highest_child_id":330,"first_entry_time":21092,"exclusive_time":11,"entries":1,"deopt_one":1,"callees":[{"inclusive_time":48,"id":"16","highest_child_id":329,"first_entry_time":21093,"exclusive_time":36,"entries":1,"callees":[{"inclusive_time":12,"id":"20","highest_child_id":329,"first_entry_time":21118,"exclusive_time":12,"entries":6}],"allocations":[{"id":"14","count":17},{"id":"17","count":4},{"id":"9","count":6},{"id":"18","count":6},{"id":"19","count":3}]},{"jit_entries":1,"inlined_entries":1,"inclusive_time":1,"id":"30","highest_child_id":330,"first_entry_time":21152,"exclusive_time":1,"entries":1}],"allocations":[{"jit":2,"id":"2","count":2},{"jit":2,"id":"14","count":2},{"jit":1,"id":"9","count":1}]},{"inclusive_time":6,"id":"142","highest_child_id":331,"first_entry_time":21171,"exclusive_time":6,"entries":1,"allocations":[{"id":"9","count":1},{"id":"143","count":1}]}],"allocations":[{"id":"9","count":1},{"id":"3","count":1},{"id":"10","count":3}]},{"inclusive_time":32,"id":"144","highest_child_id":334,"first_entry_time":21191,"exclusive_time":29,"entries":23,"callees":[{"inclusive_time":1,"id":"35","highest_child_id":333,"first_entry_time":21195,"exclusive_time":1,"entries":1},{"jit_entries":23,"inclusive_time":1,"id":"36","highest_child_id":334,"first_entry_time":21199,"exclusive_time":1,"entries":23}],"allocations":[{"id":"9","count":23},{"id":"145","count":23}]},{"inclusive_time":21,"id":"142","highest_child_id":335,"first_entry_time":21204,"exclusive_time":21,"entries":25,"allocations":[{"id":"9","count":25},{"id":"143","count":25}]},{"inclusive_time":1,"id":"35","highest_child_id":336,"first_entry_time":21325,"exclusive_time":1,"entries":1},{"jit_entries":1,"inclusive_time":0,"id":"36","highest_child_id":337,"first_entry_time":21328,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1}]},{"inclusive_time":6,"id":"146","highest_child_id":340,"first_entry_time":21346,"exclusive_time":5,"entries":1,"callees":[{"inclusive_time":1,"id":"35","highest_child_id":339,"first_entry_time":21350,"exclusive_time":1,"entries":1},{"jit_entries":1,"inclusive_time":0,"id":"36","highest_child_id":340,"first_entry_time":21352,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1}]},{"inclusive_time":0,"id":"35","highest_child_id":341,"first_entry_time":21354,"exclusive_time":0,"entries":1},{"jit_entries":2,"inclusive_time":0,"id":"36","highest_child_id":342,"first_entry_time":21355,"exclusive_time":0,"entries":2},{"inclusive_time":50,"id":"46","highest_child_id":352,"first_entry_time":21357,"exclusive_time":36,"entries":1,"callees":[{"inclusive_time":0,"id":"147","highest_child_id":344,"first_entry_time":21365,"exclusive_time":0,"entries":2},{"inclusive_time":1,"id":"48","highest_child_id":345,"first_entry_time":21368,"exclusive_time":1,"entries":1},{"inclusive_time":0,"id":"49","highest_child_id":346,"first_entry_time":21371,"exclusive_time":0,"entries":1},{"inclusive_time":8,"id":"148","highest_child_id":348,"first_entry_time":21380,"exclusive_time":7,"entries":1,"callees":[{"inclusive_time":0,"id":"149","highest_child_id":348,"first_entry_time":21386,"exclusive_time":0,"entries":1}]},{"inclusive_time":1,"id":"150","highest_child_id":350,"first_entry_time":21396,"exclusive_time":0,"entries":1,"callees":[{"inclusive_time":0,"id":"149","highest_child_id":350,"first_entry_time":21397,"exclusive_time":0,"entries":1}]},{"inclusive_time":0,"id":"151","highest_child_id":351,"first_entry_time":21403,"exclusive_time":0,"entries":1},{"inclusive_time":0,"id":"50","highest_child_id":352,"first_entry_time":21405,"exclusive_time":0,"entries":1}],"allocations":[{"id":"19","count":1}]}],"allocations":[{"id":"138","count":1},{"id":"139","count":1}]},{"inclusive_time":0,"id":"35","highest_child_id":353,"first_entry_time":21410,"exclusive_time":0,"entries":1},{"jit_entries":2,"inclusive_time":0,"id":"36","highest_child_id":354,"first_entry_time":21411,"exclusive_time":0,"entries":2},{"inclusive_time":9,"id":"46","highest_child_id":364,"first_entry_time":21412,"exclusive_time":5,"entries":1,"callees":[{"inclusive_time":0,"id":"147","highest_child_id":356,"first_entry_time":21413,"exclusive_time":0,"entries":2},{"inclusive_time":0,"id":"48","highest_child_id":357,"first_entry_time":21414,"exclusive_time":0,"entries":1},{"inclusive_time":0,"id":"49","highest_child_id":358,"first_entry_time":21416,"exclusive_time":0,"entries":1},{"inclusive_time":1,"id":"148","highest_child_id":360,"first_entry_time":21416,"exclusive_time":0,"entries":1,"callees":[{"inclusive_time":0,"id":"149","highest_child_id":360,"first_entry_time":21417,"exclusive_time":0,"entries":1}]},{"inclusive_time":0,"id":"150","highest_child_id":362,"first_entry_time":21418,"exclusive_time":0,"entries":1,"callees":[{"inclusive_time":0,"id":"149","highest_child_id":362,"first_entry_time":21419,"exclusive_time":0,"entries":1}]},{"inclusive_time":0,"id":"151","highest_child_id":363,"first_entry_time":21420,"exclusive_time":0,"entries":1},{"inclusive_time":0,"id":"50","highest_child_id":364,"first_entry_time":21420,"exclusive_time":0,"entries":1}],"allocations":[{"id":"19","count":1}]}],"allocations":[{"id":"9","count":1}]}],"allocations":[{"id":"9","count":1},{"id":"3","count":1},{"id":"10","count":3}]},{"inclusive_time":0,"id":"35","highest_child_id":365,"first_entry_time":21425,"exclusive_time":0,"entries":1},{"jit_entries":2,"inclusive_time":0,"id":"36","highest_child_id":366,"first_entry_time":21426,"exclusive_time":0,"entries":2},{"inclusive_time":59,"id":"46","highest_child_id":376,"first_entry_time":21427,"exclusive_time":55,"entries":1,"callees":[{"inclusive_time":0,"id":"147","highest_child_id":368,"first_entry_time":21428,"exclusive_time":0,"entries":2},{"inclusive_time":0,"id":"48","highest_child_id":369,"first_entry_time":21429,"exclusive_time":0,"entries":1},{"inclusive_time":0,"id":"49","highest_child_id":370,"first_entry_time":21430,"exclusive_time":0,"entries":1},{"inclusive_time":1,"id":"148","highest_child_id":372,"first_entry_time":21431,"exclusive_time":0,"entries":1,"callees":[{"inclusive_time":0,"id":"149","highest_child_id":372,"first_entry_time":21431,"exclusive_time":0,"entries":1}]},{"inclusive_time":0,"id":"150","highest_child_id":374,"first_entry_time":21433,"exclusive_time":0,"entries":1,"callees":[{"inclusive_time":0,"id":"149","highest_child_id":374,"first_entry_time":21433,"exclusive_time":0,"entries":1}]},{"inclusive_time":0,"id":"47","highest_child_id":375,"first_entry_time":21484,"exclusive_time":0,"entries":1},{"inclusive_time":0,"id":"50","highest_child_id":376,"first_entry_time":21485,"exclusive_time":0,"entries":1}],"allocations":[{"id":"19","count":1}]}],"allocations":[{"id":"3","count":1}]}],"allocations":[{"id":"10","count":3}]},{"inclusive_time":7,"id":"86","highest_child_id":380,"first_entry_time":21492,"exclusive_time":6,"entries":1,"callees":[{"inclusive_time":0,"id":"87","highest_child_id":378,"first_entry_time":21496,"exclusive_time":0,"entries":1},{"inclusive_time":0,"id":"47","highest_child_id":379,"first_entry_time":21497,"exclusive_time":0,"entries":1},{"inclusive_time":0,"id":"50","highest_child_id":380,"first_entry_time":21498,"exclusive_time":0,"entries":1}]},{"jit_entries":142,"inclusive_time":74,"id":"88","highest_child_id":381,"first_entry_time":21501,"exclusive_time":74,"entries":250},{"jit_entries":170,"inclusive_time":341,"id":"152","highest_child_id":382,"first_entry_time":21584,"exclusive_time":341,"entries":500,"allocations":[{"jit":170,"id":"153","count":500},{"jit":170,"id":"2","count":500}]},{"inclusive_time":1213,"id":"154","highest_child_id":460,"first_entry_time":21605,"exclusive_time":54,"entries":1,"callees":[{"jit_entries":1,"inclusive_time":0,"id":"11","highest_child_id":384,"first_entry_time":21608,"exclusive_time":0,"entries":1,"allocations":[{"jit":1,"id":"12","count":1}]},{"inclusive_time":555,"id":"13","highest_child_id":417,"first_entry_time":21659,"exclusive_time":21,"entries":1,"callees":[{"inclusive_time":121,"id":"16","highest_child_id":389,"first_entry_time":21663,"exclusive_time":68,"entries":1,"callees":[{"inclusive_time":53,"id":"20","highest_child_id":389,"first_entry_time":21699,"exclusive_time":43,"entries":20,"callees":[{"inclusive_time":9,"id":"42","highest_child_id":389,"first_entry_time":21709,"exclusive_time":8,"entries":5,"callees":[{"inclusive_time":0,"id":"135","highest_child_id":389,"first_entry_time":21710,"exclusive_time":0,"entries":5}],"allocations":[{"id":"17","count":8}]}]}],"allocations":[{"id":"14","count":27},{"id":"17","count":6},{"id":"9","count":10},{"id":"18","count":10},{"id":"19","count":5}]},{"inclusive_time":410,"id":"21","highest_child_id":416,"first_entry_time":21799,"exclusive_time":28,"entries":1,"callees":[{"inclusive_time":382,"id":"22","highest_child_id":416,"first_entry_time":21826,"exclusive_time":4,"entries":1,"callees":[{"inclusive_time":377,"id":"23","highest_child_id":416,"first_entry_time":21831,"exclusive_time":12,"entries":1,"callees":[{"inclusive_time":363,"id":"26","highest_child_id":415,"first_entry_time":21835,"exclusive_time":57,"entries":4,"callees":[{"inclusive_time":5,"id":"42","highest_child_id":395,"first_entry_time":21847,"exclusive_time":4,"entries":2,"callees":[{"inclusive_time":0,"id":"135","highest_child_id":395,"first_entry_time":21848,"exclusive_time":0,"entries":2}],"allocations":[{"id":"17","count":4}]},{"inclusive_time":1,"id":"28","highest_child_id":396,"first_entry_time":21852,"exclusive_time":1,"entries":1},{"inclusive_time":299,"id":"155","highest_child_id":415,"first_entry_time":21902,"exclusive_time":7,"entries":1,"callees":[{"jit_entries":1,"inclusive_time":0,"id":"11","highest_child_id":398,"first_entry_time":21904,"exclusive_time":0,"entries":1,"allocations":[{"jit":1,"id":"12","count":1}]},{"osr":1,"jit_entries":2,"inclusive_time":10,"id":"13","highest_child_id":400,"first_entry_time":21907,"exclusive_time":8,"entries":1,"deopt_one":1,"callees":[{"jit_entries":1,"inlined_entries":1,"inclusive_time":1,"id":"30","highest_child_id":400,"first_entry_time":21916,"exclusive_time":1,"entries":1}],"allocations":[{"jit":2,"id":"2","count":2},{"jit":2,"id":"14","count":2},{"jit":1,"id":"9","count":1}]},{"inclusive_time":281,"id":"92","highest_child_id":415,"first_entry_time":21920,"exclusive_time":25,"entries":1,"callees":[{"inclusive_time":254,"id":"156","highest_child_id":413,"first_entry_time":21937,"exclusive_time":140,"entries":1,"callees":[{"inclusive_time":113,"id":"157","highest_child_id":411,"first_entry_time":22075,"exclusive_time":42,"entries":1,"callees":[{"inclusive_time":50,"id":"159","highest_child_id":405,"first_entry_time":22091,"exclusive_time":47,"entries":1,"callees":[{"inclusive_time":3,"id":"160","highest_child_id":405,"first_entry_time":22137,"exclusive_time":3,"entries":1,"allocations":[{"id":"73","count":1}]}]},{"inclusive_time":19,"id":"161","highest_child_id":409,"first_entry_time":22166,"exclusive_time":15,"entries":1,"callees":[{"inclusive_time":1,"id":"162","highest_child_id":407,"first_entry_time":22178,"exclusive_time":1,"entries":1,"allocations":[{"id":"9","count":1}]},{"inclusive_time":1,"id":"35","highest_child_id":408,"first_entry_time":22182,"exclusive_time":1,"entries":1},{"jit_entries":1,"inclusive_time":0,"id":"36","highest_child_id":409,"first_entry_time":22185,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":2}]},{"inclusive_time":0,"id":"35","highest_child_id":410,"first_entry_time":22187,"exclusive_time":0,"entries":1},{"jit_entries":1,"inclusive_time":0,"id":"36","highest_child_id":411,"first_entry_time":22189,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1},{"id":"158","count":1}]},{"inclusive_time":0,"id":"35","highest_child_id":412,"first_entry_time":22190,"exclusive_time":0,"entries":1},{"jit_entries":1,"inclusive_time":0,"id":"36","highest_child_id":413,"first_entry_time":22191,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1}]},{"inclusive_time":0,"id":"163","highest_child_id":414,"first_entry_time":22198,"exclusive_time":0,"entries":1,"allocations":[{"id":"9","count":1}]},{"jit_entries":1,"inclusive_time":0,"id":"36","highest_child_id":415,"first_entry_time":22200,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":2},{"id":"25","count":1}]}],"allocations":[{"id":"9","count":1},{"id":"3","count":1},{"id":"10","count":3}]}],"allocations":[{"id":"2","count":16},{"id":"27","count":2},{"id":"25","count":1}]},{"inclusive_time":1,"id":"29","highest_child_id":416,"first_entry_time":21858,"exclusive_time":1,"entries":1}],"allocations":[{"id":"24","count":1},{"id":"25","count":1}]}]}]},{"jit_entries":1,"inclusive_time":2,"id":"30","highest_child_id":417,"first_entry_time":22212,"exclusive_time":2,"entries":1,"deopt_one":1}],"allocations":[{"id":"2","count":2},{"id":"14","count":2},{"id":"9","count":1},{"id":"10","count":1},{"id":"15","count":1}]},{"inclusive_time":602,"id":"164","highest_child_id":460,"first_entry_time":22216,"exclusive_time":28,"entries":1,"callees":[{"inclusive_time":12,"id":"92","highest_child_id":428,"first_entry_time":22221,"exclusive_time":3,"entries":1,"callees":[{"inclusive_time":8,"id":"156","highest_child_id":426,"first_entry_time":22222,"exclusive_time":1,"entries":1,"callees":[{"inclusive_time":6,"id":"157","highest_child_id":425,"first_entry_time":22224,"exclusive_time":2,"entries":1,"callees":[{"inclusive_time":4,"id":"161","highest_child_id":424,"first_entry_time":22226,"exclusive_time":2,"entries":1,"callees":[{"inclusive_time":0,"id":"162","highest_child_id":423,"first_entry_time":22228,"exclusive_time":0,"entries":1,"allocations":[{"id":"9","count":1}]},{"jit_entries":1,"inclusive_time":0,"id":"36","highest_child_id":424,"first_entry_time":22229,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1}]},{"jit_entries":1,"inclusive_time":0,"id":"36","highest_child_id":425,"first_entry_time":22230,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1},{"id":"158","count":1}]},{"jit_entries":1,"inclusive_time":0,"id":"36","highest_child_id":426,"first_entry_time":22231,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1}]},{"inclusive_time":0,"id":"163","highest_child_id":427,"first_entry_time":22231,"exclusive_time":0,"entries":1,"allocations":[{"id":"9","count":1}]},{"jit_entries":1,"inclusive_time":0,"id":"36","highest_child_id":428,"first_entry_time":22232,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":2},{"id":"25","count":1}]},{"inclusive_time":561,"id":"165","highest_child_id":460,"first_entry_time":22257,"exclusive_time":192,"entries":1,"callees":[{"inclusive_time":253,"id":"167","highest_child_id":451,"first_entry_time":22273,"exclusive_time":27,"entries":1,"callees":[{"jit_entries":1,"inclusive_time":0,"id":"11","highest_child_id":431,"first_entry_time":22274,"exclusive_time":0,"entries":1,"allocations":[{"jit":1,"id":"12","count":1}]},{"osr":1,"jit_entries":2,"inclusive_time":64,"id":"13","highest_child_id":437,"first_entry_time":22278,"exclusive_time":7,"entries":1,"deopt_one":1,"callees":[{"inclusive_time":55,"id":"16","highest_child_id":436,"first_entry_time":22279,"exclusive_time":36,"entries":1,"callees":[{"inclusive_time":19,"id":"20","highest_child_id":436,"first_entry_time":22301,"exclusive_time":12,"entries":6,"callees":[{"inclusive_time":7,"id":"42","highest_child_id":436,"first_entry_time":22306,"exclusive_time":6,"entries":4,"callees":[{"inclusive_time":0,"id":"135","highest_child_id":436,"first_entry_time":22308,"exclusive_time":0,"entries":4}],"allocations":[{"id":"17","count":4}]}]}],"allocations":[{"id":"14","count":17},{"id":"17","count":4},{"id":"9","count":6},{"id":"18","count":6},{"id":"19","count":3}]},{"jit_entries":1,"inlined_entries":1,"inclusive_time":1,"id":"30","highest_child_id":437,"first_entry_time":22341,"exclusive_time":1,"entries":1}],"allocations":[{"jit":2,"id":"2","count":2},{"jit":2,"id":"14","count":2},{"jit":1,"id":"9","count":1}]},{"inclusive_time":160,"id":"168","highest_child_id":451,"first_entry_time":22365,"exclusive_time":34,"entries":1,"callees":[{"inclusive_time":125,"id":"169","highest_child_id":449,"first_entry_time":22399,"exclusive_time":76,"entries":1,"callees":[{"inclusive_time":48,"id":"157","highest_child_id":447,"first_entry_time":22474,"exclusive_time":7,"entries":1,"callees":[{"inclusive_time":33,"id":"159","highest_child_id":442,"first_entry_time":22477,"exclusive_time":31,"entries":1,"callees":[{"inclusive_time":2,"id":"160","highest_child_id":442,"first_entry_time":22507,"exclusive_time":2,"entries":1,"allocations":[{"id":"73","count":1}]}]},{"inclusive_time":6,"id":"161","highest_child_id":445,"first_entry_time":22512,"exclusive_time":5,"entries":1,"callees":[{"inclusive_time":1,"id":"35","highest_child_id":444,"first_entry_time":22516,"exclusive_time":1,"entries":1},{"jit_entries":1,"inclusive_time":0,"id":"36","highest_child_id":445,"first_entry_time":22519,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1},{"id":"171","count":1}]},{"inclusive_time":0,"id":"35","highest_child_id":446,"first_entry_time":22520,"exclusive_time":0,"entries":1},{"jit_entries":1,"inclusive_time":0,"id":"36","highest_child_id":447,"first_entry_time":22522,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1},{"id":"170","count":1}]},{"inclusive_time":0,"id":"35","highest_child_id":448,"first_entry_time":22523,"exclusive_time":0,"entries":1},{"jit_entries":1,"inclusive_time":0,"id":"36","highest_child_id":449,"first_entry_time":22524,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1}]},{"inclusive_time":0,"id":"35","highest_child_id":450,"first_entry_time":22525,"exclusive_time":0,"entries":1},{"jit_entries":1,"inclusive_time":0,"id":"36","highest_child_id":451,"first_entry_time":22526,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1}]}],"allocations":[{"id":"9","count":1},{"id":"3","count":1},{"id":"10","count":3}]},{"inclusive_time":4,"id":"172","highest_child_id":452,"first_entry_time":22539,"exclusive_time":4,"entries":6,"allocations":[{"id":"9","count":6}]},{"inclusive_time":104,"id":"173","highest_child_id":459,"first_entry_time":22553,"exclusive_time":36,"entries":6,"callees":[{"inclusive_time":2,"id":"174","highest_child_id":454,"first_entry_time":22566,"exclusive_time":2,"entries":6,"allocations":[{"id":"9","count":6}]},{"inclusive_time":63,"id":"175","highest_child_id":458,"first_entry_time":22579,"exclusive_time":14,"entries":1,"callees":[{"inclusive_time":46,"id":"13","highest_child_id":457,"first_entry_time":22585,"exclusive_time":44,"entries":1,"callees":[{"inclusive_time":1,"id":"30","highest_child_id":457,"first_entry_time":22629,"exclusive_time":1,"entries":1}],"allocations":[{"id":"2","count":2},{"id":"14","count":2},{"id":"9","count":1}]},{"inclusive_time":1,"id":"176","highest_child_id":458,"first_entry_time":22641,"exclusive_time":1,"entries":1}],"allocations":[{"id":"9","count":1},{"id":"25","count":1},{"id":"10","count":3}]},{"inclusive_time":2,"id":"176","highest_child_id":459,"first_entry_time":22648,"exclusive_time":2,"entries":5}]},{"inclusive_time":6,"id":"177","highest_child_id":460,"first_entry_time":22812,"exclusive_time":6,"entries":1,"allocations":[{"id":"2","count":3},{"id":"27","count":1},{"id":"9","count":1},{"id":"25","count":1}]}],"allocations":[{"id":"27","count":1},{"id":"166","count":1}]}],"allocations":[{"id":"2","count":1},{"id":"27","count":1},{"id":"9","count":1},{"id":"25","count":2}]}],"allocations":[{"id":"9","count":1},{"id":"3","count":1},{"id":"10","count":3}]},{"inclusive_time":151,"id":"178","highest_child_id":469,"first_entry_time":22838,"exclusive_time":15,"entries":1,"callees":[{"inclusive_time":94,"id":"13","highest_child_id":463,"first_entry_time":22843,"exclusive_time":92,"entries":1,"callees":[{"inclusive_time":2,"id":"30","highest_child_id":463,"first_entry_time":22934,"exclusive_time":2,"entries":1}],"allocations":[{"id":"2","count":2},{"id":"14","count":3},{"id":"9","count":2}]},{"inclusive_time":41,"id":"179","highest_child_id":469,"first_entry_time":22947,"exclusive_time":12,"entries":1,"callees":[{"inclusive_time":29,"id":"180","highest_child_id":469,"first_entry_time":22959,"exclusive_time":16,"entries":1,"callees":[{"jit_entries":1,"inclusive_time":0,"id":"11","highest_child_id":466,"first_entry_time":22961,"exclusive_time":0,"entries":1,"allocations":[{"jit":1,"id":"12","count":1}]},{"inclusive_time":10,"id":"13","highest_child_id":468,"first_entry_time":22965,"exclusive_time":9,"entries":1,"callees":[{"jit_entries":1,"inclusive_time":1,"id":"30","highest_child_id":468,"first_entry_time":22973,"exclusive_time":1,"entries":1,"deopt_one":1}],"allocations":[{"id":"2","count":2},{"id":"14","count":2},{"id":"9","count":1}]},{"inclusive_time":1,"id":"181","highest_child_id":469,"first_entry_time":22987,"exclusive_time":1,"entries":1,"allocations":[{"id":"9","count":1}]}],"allocations":[{"id":"9","count":1},{"id":"3","count":1},{"id":"10","count":3}]}]}],"allocations":[{"id":"9","count":1},{"id":"25","count":1},{"id":"10","count":3}]},{"inclusive_time":69,"id":"182","highest_child_id":480,"first_entry_time":23005,"exclusive_time":20,"entries":1,"callees":[{"inclusive_time":25,"id":"13","highest_child_id":472,"first_entry_time":23009,"exclusive_time":24,"entries":1,"callees":[{"inclusive_time":1,"id":"30","highest_child_id":472,"first_entry_time":23033,"exclusive_time":1,"entries":1}],"allocations":[{"id":"2","count":2},{"id":"14","count":2},{"id":"9","count":1}]},{"inclusive_time":23,"id":"183","highest_child_id":480,"first_entry_time":23050,"exclusive_time":11,"entries":1,"callees":[{"inclusive_time":9,"id":"86","highest_child_id":477,"first_entry_time":23054,"exclusive_time":8,"entries":1,"callees":[{"inclusive_time":0,"id":"87","highest_child_id":475,"first_entry_time":23057,"exclusive_time":0,"entries":1},{"inclusive_time":0,"id":"47","highest_child_id":476,"first_entry_time":23059,"exclusive_time":0,"entries":1},{"inclusive_time":0,"id":"50","highest_child_id":477,"first_entry_time":23061,"exclusive_time":0,"entries":1}]},{"inclusive_time":1,"id":"88","highest_child_id":478,"first_entry_time":23068,"exclusive_time":1,"entries":1},{"inclusive_time":1,"id":"35","highest_child_id":479,"first_entry_time":23071,"exclusive_time":1,"entries":1},{"jit_entries":1,"inclusive_time":0,"id":"36","highest_child_id":480,"first_entry_time":23073,"exclusive_time":0,"entries":1}]}],"allocations":[{"id":"9","count":1},{"id":"25","count":1},{"id":"10","count":3}]},{"jit_entries":141,"inclusive_time":45,"id":"66","highest_child_id":481,"first_entry_time":23077,"exclusive_time":45,"entries":247,"allocations":[{"id":"9","count":106}]},{"jit_entries":170,"inclusive_time":16161,"id":"164","highest_child_id":509,"first_entry_time":23082,"exclusive_time":1280,"entries":499,"callees":[{"jit_entries":174,"inclusive_time":2684,"id":"92","highest_child_id":492,"first_entry_time":23086,"exclusive_time":882,"entries":499,"callees":[{"jit_entries":207,"inlined_entries":174,"inclusive_time":1673,"id":"156","highest_child_id":490,"first_entry_time":23087,"exclusive_time":448,"entries":499,"callees":[{"jit_entries":334,"inlined_entries":207,"inclusive_time":1194,"id":"157","highest_child_id":489,"first_entry_time":23089,"exclusive_time":306,"entries":499,"callees":[{"jit_entries":336,"inlined_entries":334,"inclusive_time":860,"id":"161","highest_child_id":488,"first_entry_time":23090,"exclusive_time":658,"entries":499,"callees":[{"jit_entries":210,"inclusive_time":174,"id":"162","highest_child_id":487,"first_entry_time":23092,"exclusive_time":174,"entries":499,"allocations":[{"id":"9","count":289}]},{"jit_entries":499,"inlined_entries":336,"inclusive_time":27,"id":"36","highest_child_id":488,"first_entry_time":23094,"exclusive_time":27,"entries":499}],"allocations":[{"id":"9","count":163}]},{"jit_entries":499,"inlined_entries":334,"inclusive_time":27,"id":"36","highest_child_id":489,"first_entry_time":23095,"exclusive_time":27,"entries":499}],"allocations":[{"id":"9","count":165},{"jit":334,"id":"158","count":499}]},{"jit_entries":499,"inlined_entries":207,"inclusive_time":30,"id":"36","highest_child_id":490,"first_entry_time":23095,"exclusive_time":30,"entries":499}],"allocations":[{"id":"9","count":292}]},{"jit_entries":210,"inlined_entries":174,"inclusive_time":99,"id":"163","highest_child_id":491,"first_entry_time":23096,"exclusive_time":99,"entries":499,"allocations":[{"id":"9","count":289}]},{"jit_entries":499,"inlined_entries":174,"inclusive_time":28,"id":"36","highest_child_id":492,"first_entry_time":23098,"exclusive_time":28,"entries":499}],"allocations":[{"jit":348,"id":"9","count":998},{"jit":174,"id":"25","count":499}]},{"jit_entries":398,"inclusive_time":12196,"id":"165","highest_child_id":509,"first_entry_time":23099,"exclusive_time":4372,"entries":499,"callees":[{"jit_entries":172,"inclusive_time":1709,"id":"168","highest_child_id":501,"first_entry_time":23101,"exclusive_time":495,"entries":499,"callees":[{"jit_entries":198,"inlined_entries":172,"inclusive_time":1186,"id":"169","highest_child_id":500,"first_entry_time":23102,"exclusive_time":434,"entries":499,"callees":[{"jit_entries":332,"inlined_entries":198,"inclusive_time":723,"id":"157","highest_child_id":499,"first_entry_time":23103,"exclusive_time":273,"entries":499,"callees":[{"jit_entries":337,"inlined_entries":332,"inclusive_time":424,"id":"161","highest_child_id":498,"first_entry_time":23105,"exclusive_time":394,"entries":499,"callees":[{"jit_entries":499,"inlined_entries":337,"inclusive_time":29,"id":"36","highest_child_id":498,"first_entry_time":23107,"exclusive_time":29,"entries":499}],"allocations":[{"id":"9","count":162},{"jit":337,"id":"171","count":499}]},{"jit_entries":499,"inlined_entries":332,"inclusive_time":25,"id":"36","highest_child_id":499,"first_entry_time":23107,"exclusive_time":25,"entries":499}],"allocations":[{"id":"9","count":167},{"jit":332,"id":"170","count":499}]},{"jit_entries":499,"inlined_entries":198,"inclusive_time":27,"id":"36","highest_child_id":500,"first_entry_time":23108,"exclusive_time":27,"entries":499}],"allocations":[{"id":"9","count":301}]},{"jit_entries":499,"inlined_entries":172,"inclusive_time":27,"id":"36","highest_child_id":501,"first_entry_time":23109,"exclusive_time":27,"entries":499}],"allocations":[{"id":"9","count":327}]},{"jit_entries":6140,"inlined_entries":6061,"inclusive_time":1293,"id":"172","highest_child_id":502,"first_entry_time":23109,"exclusive_time":1293,"entries":7633,"allocations":[{"id":"9","count":1493}]},{"jit_entries":4329,"inclusive_time":2750,"id":"184","highest_child_id":505,"first_entry_time":23123,"exclusive_time":1602,"entries":5424,"callees":[{"jit_entries":4347,"inlined_entries":4329,"inclusive_time":451,"id":"174","highest_child_id":504,"first_entry_time":23125,"exclusive_time":451,"entries":5424,"allocations":[{"id":"9","count":1077}]},{"jit_entries":4347,"inlined_entries":4329,"inclusive_time":696,"id":"176","highest_child_id":505,"first_entry_time":23126,"exclusive_time":696,"entries":5424}]},{"jit_entries":1365,"inclusive_time":1351,"id":"173","highest_child_id":508,"first_entry_time":23840,"exclusive_time":880,"entries":1993,"callees":[{"jit_entries":1629,"inlined_entries":1365,"inclusive_time":183,"id":"174","highest_child_id":507,"first_entry_time":23841,"exclusive_time":183,"entries":1993,"allocations":[{"id":"9","count":364}]},{"jit_entries":1629,"inlined_entries":1365,"inclusive_time":286,"id":"176","highest_child_id":508,"first_entry_time":23843,"exclusive_time":286,"entries":1993}]},{"inclusive_time":719,"id":"177","highest_child_id":509,"first_entry_time":23850,"exclusive_time":719,"entries":283,"allocations":[{"id":"2","count":849},{"id":"27","count":283},{"id":"9","count":283},{"id":"25","count":283}]}],"allocations":[{"jit":398,"id":"27","count":499},{"jit":227,"id":"166","count":283}]}],"allocations":[{"jit":340,"id":"2","count":878},{"jit":170,"id":"27","count":499},{"jit":170,"id":"9","count":499},{"jit":340,"id":"25","count":998}]},{"inclusive_time":1516,"id":"110","highest_child_id":517,"first_entry_time":23212,"exclusive_time":557,"entries":249,"callees":[{"inclusive_time":745,"id":"111","highest_child_id":514,"first_entry_time":23214,"exclusive_time":289,"entries":249,"callees":[{"inclusive_time":442,"id":"113","highest_child_id":513,"first_entry_time":23216,"exclusive_time":420,"entries":249,"callees":[{"jit_entries":249,"inclusive_time":21,"id":"36","highest_child_id":513,"first_entry_time":23218,"exclusive_time":21,"entries":249}],"allocations":[{"id":"9","count":249}]},{"jit_entries":249,"inclusive_time":13,"id":"36","highest_child_id":514,"first_entry_time":23219,"exclusive_time":13,"entries":249}],"allocations":[{"id":"9","count":249},{"id":"112","count":249}]},{"jit_entries":102,"inclusive_time":197,"id":"37","highest_child_id":516,"first_entry_time":23222,"exclusive_time":176,"entries":249,"callees":[{"jit_entries":249,"inlined_entries":102,"inclusive_time":20,"id":"36","highest_child_id":516,"first_entry_time":23224,"exclusive_time":20,"entries":249}],"allocations":[{"id":"9","count":147},{"jit":102,"id":"38","count":249}]},{"jit_entries":249,"inclusive_time":17,"id":"36","highest_child_id":517,"first_entry_time":23225,"exclusive_time":17,"entries":249}],"allocations":[{"id":"9","count":249}]},{"inclusive_time":71916,"id":"115","highest_child_id":629,"first_entry_time":23227,"exclusive_time":799,"entries":249,"callees":[{"jit_entries":92,"inclusive_time":54508,"id":"116","highest_child_id":607,"first_entry_time":23229,"exclusive_time":1756,"entries":249,"callees":[{"jit_entries":249,"inclusive_time":41,"id":"11","highest_child_id":520,"first_entry_time":23230,"exclusive_time":41,"entries":249,"allocations":[{"jit":249,"id":"12","count":249}]},{"inclusive_time":1755,"id":"117","highest_child_id":528,"first_entry_time":23234,"exclusive_time":693,"entries":249,"callees":[{"spesh_entries":106,"inclusive_time":783,"id":"41","highest_child_id":525,"first_entry_time":23236,"exclusive_time":619,"entries":249,"deopt_one":106,"callees":[{"jit_entries":169,"inclusive_time":146,"id":"42","highest_child_id":523,"first_entry_time":23238,"exclusive_time":146,"entries":249},{"jit_entries":249,"inclusive_time":14,"id":"36","highest_child_id":524,"first_entry_time":23241,"exclusive_time":14,"entries":249},{"inclusive_time":2,"id":"35","highest_child_id":525,"first_entry_time":93267,"exclusive_time":2,"entries":1}],"allocations":[{"id":"9","count":143}]},{"jit_entries":107,"inclusive_time":262,"id":"43","highest_child_id":527,"first_entry_time":23243,"exclusive_time":242,"entries":249,"callees":[{"jit_entries":249,"inlined_entries":107,"inclusive_time":19,"id":"36","highest_child_id":527,"first_entry_time":23245,"exclusive_time":19,"entries":249}],"allocations":[{"id":"9","count":142},{"jit":107,"id":"44","count":249},{"jit":107,"id":"12","count":249},{"jit":107,"id":"45","count":249}]},{"jit_entries":249,"inclusive_time":16,"id":"36","highest_child_id":528,"first_entry_time":23246,"exclusive_time":16,"entries":249}],"allocations":[{"id":"9","count":249},{"id":"27","count":249}]},{"inclusive_time":1705,"id":"118","highest_child_id":540,"first_entry_time":23248,"exclusive_time":643,"entries":249,"callees":[{"jit_entries":104,"inclusive_time":647,"id":"53","highest_child_id":535,"first_entry_time":23249,"exclusive_time":223,"entries":249,"callees":[{"jit_entries":108,"inlined_entries":104,"inclusive_time":410,"id":"54","highest_child_id":534,"first_entry_time":23252,"exclusive_time":177,"entries":249,"callees":[{"jit_entries":109,"inlined_entries":108,"inclusive_time":219,"id":"56","highest_child_id":533,"first_entry_time":23253,"exclusive_time":203,"entries":249,"callees":[{"jit_entries":249,"inlined_entries":109,"inclusive_time":15,"id":"36","highest_child_id":533,"first_entry_time":23255,"exclusive_time":15,"entries":249}],"allocations":[{"id":"9","count":140}]},{"jit_entries":249,"inlined_entries":108,"inclusive_time":13,"id":"36","highest_child_id":534,"first_entry_time":23256,"exclusive_time":13,"entries":249}],"allocations":[{"id":"9","count":141},{"jit":108,"id":"55","count":249}]},{"jit_entries":249,"inlined_entries":104,"inclusive_time":12,"id":"36","highest_child_id":535,"first_entry_time":23257,"exclusive_time":12,"entries":249}],"allocations":[{"id":"9","count":145}]},{"inclusive_time":246,"id":"119","highest_child_id":537,"first_entry_time":23259,"exclusive_time":228,"entries":249,"callees":[{"jit_entries":249,"inclusive_time":18,"id":"36","highest_child_id":537,"first_entry_time":23260,"exclusive_time":18,"entries":249}],"allocations":[{"id":"9","count":249},{"id":"120","count":249}]},{"jit_entries":107,"inclusive_time":149,"id":"37","highest_child_id":539,"first_entry_time":23261,"exclusive_time":132,"entries":249,"callees":[{"jit_entries":249,"inlined_entries":107,"inclusive_time":16,"id":"36","highest_child_id":539,"first_entry_time":23262,"exclusive_time":16,"entries":249}],"allocations":[{"id":"9","count":142},{"jit":107,"id":"38","count":249}]},{"jit_entries":249,"inclusive_time":18,"id":"36","highest_child_id":540,"first_entry_time":23263,"exclusive_time":18,"entries":249}],"allocations":[{"id":"9","count":249}]},{"inclusive_time":1232,"id":"122","highest_child_id":548,"first_entry_time":23265,"exclusive_time":516,"entries":249,"callees":[{"spesh_entries":106,"inclusive_time":453,"id":"41","highest_child_id":545,"first_entry_time":23267,"exclusive_time":361,"entries":249,"deopt_one":106,"callees":[{"jit_entries":169,"inclusive_time":76,"id":"42","highest_child_id":543,"first_entry_time":23268,"exclusive_time":76,"entries":249},{"jit_entries":249,"inclusive_time":13,"id":"36","highest_child_id":544,"first_entry_time":23269,"exclusive_time":13,"entries":249},{"inclusive_time":1,"id":"35","highest_child_id":545,"first_entry_time":93290,"exclusive_time":1,"entries":1}],"allocations":[{"id":"9","count":143}]},{"jit_entries":107,"inclusive_time":248,"id":"43","highest_child_id":547,"first_entry_time":23270,"exclusive_time":231,"entries":249,"callees":[{"jit_entries":249,"inlined_entries":107,"inclusive_time":16,"id":"36","highest_child_id":547,"first_entry_time":23272,"exclusive_time":16,"entries":249}],"allocations":[{"id":"9","count":142},{"jit":107,"id":"44","count":249},{"jit":107,"id":"123","count":249},{"jit":107,"id":"45","count":249}]},{"jit_entries":249,"inclusive_time":14,"id":"36","highest_child_id":548,"first_entry_time":23273,"exclusive_time":14,"entries":249}],"allocations":[{"id":"9","count":249}]},{"inclusive_time":779,"id":"124","highest_child_id":552,"first_entry_time":23276,"exclusive_time":460,"entries":249,"callees":[{"inclusive_time":302,"id":"57","highest_child_id":551,"first_entry_time":23279,"exclusive_time":282,"entries":249,"callees":[{"jit_entries":249,"inclusive_time":19,"id":"36","highest_child_id":551,"first_entry_time":23281,"exclusive_time":19,"entries":249}],"allocations":[{"id":"9","count":249},{"id":"58","count":249}]},{"jit_entries":249,"inclusive_time":16,"id":"36","highest_child_id":552,"first_entry_time":23282,"exclusive_time":16,"entries":249}],"allocations":[{"id":"9","count":249},{"id":"125","count":249}]},{"osr":99,"jit_entries":198,"inclusive_time":47100,"id":"60","highest_child_id":605,"first_entry_time":23284,"exclusive_time":858,"entries":249,"deopt_one":99,"callees":[{"jit_entries":105,"inlined_entries":99,"inclusive_time":593,"id":"53","highest_child_id":559,"first_entry_time":23287,"exclusive_time":184,"entries":249,"callees":[{"jit_entries":108,"inlined_entries":105,"inclusive_time":395,"id":"54","highest_child_id":558,"first_entry_time":23288,"exclusive_time":177,"entries":249,"callees":[{"jit_entries":110,"inlined_entries":108,"inclusive_time":204,"id":"56","highest_child_id":557,"first_entry_time":23289,"exclusive_time":187,"entries":249,"callees":[{"jit_entries":249,"inlined_entries":110,"inclusive_time":17,"id":"36","highest_child_id":557,"first_entry_time":23290,"exclusive_time":17,"entries":249}],"allocations":[{"id":"9","count":139}]},{"jit_entries":249,"inlined_entries":108,"inclusive_time":13,"id":"36","highest_child_id":558,"first_entry_time":23291,"exclusive_time":13,"entries":249}],"allocations":[{"id":"9","count":141},{"jit":108,"id":"55","count":249}]},{"jit_entries":249,"inlined_entries":105,"inclusive_time":13,"id":"36","highest_child_id":559,"first_entry_time":23291,"exclusive_time":13,"entries":249}],"allocations":[{"id":"9","count":144}]},{"osr":1,"jit_entries":201,"inclusive_time":45628,"id":"59","highest_child_id":604,"first_entry_time":23293,"exclusive_time":1907,"entries":249,"callees":[{"jit_entries":99,"inclusive_time":40496,"id":"60","highest_child_id":599,"first_entry_time":23295,"exclusive_time":773,"entries":249,"deopt_one":99,"callees":[{"inclusive_time":39642,"id":"61","highest_child_id":597,"first_entry_time":23296,"exclusive_time":612,"entries":249,"callees":[{"inclusive_time":1174,"id":"126","highest_child_id":569,"first_entry_time":23298,"exclusive_time":287,"entries":249,"callees":[{"inclusive_time":871,"id":"127","highest_child_id":568,"first_entry_time":23300,"exclusive_time":400,"entries":249,"callees":[{"inclusive_time":456,"id":"128","highest_child_id":567,"first_entry_time":23302,"exclusive_time":396,"entries":249,"callees":[{"jit_entries":111,"inclusive_time":44,"id":"62","highest_child_id":566,"first_entry_time":23304,"exclusive_time":44,"entries":249,"allocations":[{"id":"9","count":138}]},{"jit_entries":249,"inclusive_time":15,"id":"36","highest_child_id":567,"first_entry_time":23305,"exclusive_time":15,"entries":249}],"allocations":[{"id":"9","count":249}]},{"jit_entries":249,"inclusive_time":14,"id":"36","highest_child_id":568,"first_entry_time":23306,"exclusive_time":14,"entries":249}],"allocations":[{"id":"9","count":249}]},{"jit_entries":249,"inclusive_time":15,"id":"36","highest_child_id":569,"first_entry_time":23307,"exclusive_time":15,"entries":249}],"allocations":[{"id":"9","count":249}]},{"osr":1,"jit_entries":203,"inclusive_time":37834,"id":"129","highest_child_id":596,"first_entry_time":23308,"exclusive_time":5421,"entries":249,"callees":[{"jit_entries":5517,"inclusive_time":31053,"id":"130","highest_child_id":594,"first_entry_time":23310,"exclusive_time":3865,"entries":6723,"callees":[{"jit_entries":5535,"inclusive_time":27123,"id":"131","highest_child_id":593,"first_entry_time":23313,"exclusive_time":4709,"entries":6723,"callees":[{"spesh_entries":5589,"inclusive_time":21966,"id":"132","highest_child_id":591,"first_entry_time":23315,"exclusive_time":4676,"entries":6723,"callees":[{"spesh_entries":6588,"inclusive_time":16947,"id":"133","highest_child_id":589,"first_entry_time":23317,"exclusive_time":8975,"entries":6723,"callees":[{"spesh_entries":5589,"inclusive_time":5169,"id":"134","highest_child_id":577,"first_entry_time":23319,"exclusive_time":4796,"entries":6723,"callees":[{"spesh_entries":5589,"jit_entries":1134,"inlined_entries":5589,"inclusive_time":368,"id":"36","highest_child_id":576,"first_entry_time":23321,"exclusive_time":368,"entries":6723},{"inclusive_time":5,"id":"35","highest_child_id":577,"first_entry_time":57958,"exclusive_time":5,"entries":2}],"allocations":[{"id":"9","count":1134},{"spesh":5382,"id":"80","count":6474}]},{"spesh_entries":6344,"jit_entries":130,"inlined_entries":6344,"inclusive_time":2210,"id":"84","highest_child_id":579,"first_entry_time":23323,"exclusive_time":1688,"entries":6474,"callees":[{"spesh_entries":6344,"jit_entries":130,"inlined_entries":6474,"inclusive_time":522,"id":"36","highest_child_id":579,"first_entry_time":23324,"exclusive_time":522,"entries":6474}]},{"spesh_entries":6588,"jit_entries":135,"inlined_entries":6588,"inclusive_time":437,"id":"36","highest_child_id":580,"first_entry_time":23325,"exclusive_time":437,"entries":6723},{"inclusive_time":2,"id":"35","highest_child_id":581,"first_entry_time":26938,"exclusive_time":2,"entries":2},{"inclusive_time":152,"id":"185","highest_child_id":589,"first_entry_time":127338,"exclusive_time":123,"entries":1,"callees":[{"inclusive_time":5,"id":"186","highest_child_id":583,"first_entry_time":127358,"exclusive_time":5,"entries":3},{"inclusive_time":15,"id":"187","highest_child_id":586,"first_entry_time":127387,"exclusive_time":11,"entries":2,"callees":[{"inclusive_time":4,"id":"35","highest_child_id":585,"first_entry_time":127394,"exclusive_time":4,"entries":1},{"jit_entries":2,"inclusive_time":0,"id":"36","highest_child_id":586,"first_entry_time":127401,"exclusive_time":0,"entries":2}],"allocations":[{"id":"9","count":2}]},{"inclusive_time":7,"id":"188","highest_child_id":589,"first_entry_time":127482,"exclusive_time":6,"entries":1,"callees":[{"inclusive_time":1,"id":"35","highest_child_id":588,"first_entry_time":127487,"exclusive_time":1,"entries":1},{"jit_entries":1,"inclusive_time":0,"id":"36","highest_child_id":589,"first_entry_time":127489,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1},{"id":"189","count":1}]}],"allocations":[{"id":"3","count":1},{"id":"17","count":4}]}],"allocations":[{"spesh":6588,"id":"27","count":6723},{"spesh":6588,"id":"9","count":6723}]},{"spesh_entries":5589,"jit_entries":1134,"inlined_entries":5589,"inclusive_time":339,"id":"36","highest_child_id":590,"first_entry_time":23326,"exclusive_time":339,"entries":6723},{"inclusive_time":1,"id":"35","highest_child_id":591,"first_entry_time":57968,"exclusive_time":1,"entries":2}],"allocations":[{"spesh":5589,"id":"27","count":6723},{"id":"9","count":1134}]},{"jit_entries":6723,"inlined_entries":5535,"inclusive_time":334,"id":"36","highest_child_id":592,"first_entry_time":23328,"exclusive_time":334,"entries":6723},{"jit_entries":169,"inclusive_time":113,"id":"42","highest_child_id":593,"first_entry_time":23582,"exclusive_time":113,"entries":249}],"allocations":[{"jit":5535,"id":"9","count":6723},{"jit":205,"id":"27","count":249},{"jit":2665,"id":"15","count":3237}]},{"jit_entries":205,"inlined_entries":205,"inclusive_time":64,"id":"90","highest_child_id":594,"first_entry_time":23585,"exclusive_time":64,"entries":249,"allocations":[{"id":"9","count":44}]}],"allocations":[{"id":"9","count":1206}]},{"jit_entries":6474,"inclusive_time":1358,"id":"84","highest_child_id":596,"first_entry_time":23330,"exclusive_time":1023,"entries":6474,"callees":[{"jit_entries":6474,"inlined_entries":6474,"inclusive_time":335,"id":"36","highest_child_id":596,"first_entry_time":23330,"exclusive_time":335,"entries":6474}]}],"allocations":[{"jit":404,"id":"27","count":498},{"jit":202,"id":"9","count":249}]},{"jit_entries":249,"inclusive_time":21,"id":"36","highest_child_id":597,"first_entry_time":23587,"exclusive_time":21,"entries":249}],"allocations":[{"id":"27","count":249},{"id":"9","count":249}]},{"jit_entries":169,"inclusive_time":63,"id":"42","highest_child_id":598,"first_entry_time":23588,"exclusive_time":63,"entries":249},{"jit_entries":249,"inclusive_time":17,"id":"36","highest_child_id":599,"first_entry_time":23590,"exclusive_time":17,"entries":249}],"allocations":[{"jit":99,"id":"9","count":249},{"jit":99,"id":"27","count":249},{"jit":99,"id":"15","count":249}]},{"jit_entries":5252,"inlined_entries":5226,"inclusive_time":3100,"id":"85","highest_child_id":601,"first_entry_time":23593,"exclusive_time":2610,"entries":6474,"callees":[{"jit_entries":5278,"inlined_entries":5252,"inclusive_time":489,"id":"88","highest_child_id":601,"first_entry_time":23596,"exclusive_time":489,"entries":6474}],"allocations":[{"id":"9","count":1222},{"jit":5252,"id":"27","count":6474}]},{"jit_entries":201,"inlined_entries":201,"inclusive_time":57,"id":"89","highest_child_id":602,"first_entry_time":23659,"exclusive_time":57,"entries":249,"allocations":[{"id":"9","count":48}]},{"jit_entries":201,"inlined_entries":201,"inclusive_time":51,"id":"90","highest_child_id":603,"first_entry_time":23661,"exclusive_time":51,"entries":249,"allocations":[{"id":"9","count":48}]},{"jit_entries":249,"inlined_entries":201,"inclusive_time":15,"id":"36","highest_child_id":604,"first_entry_time":23662,"exclusive_time":15,"entries":249}],"allocations":[{"jit":200,"id":"27","count":249},{"jit":200,"id":"9","count":249}]},{"jit_entries":249,"inlined_entries":99,"inclusive_time":18,"id":"36","highest_child_id":605,"first_entry_time":23664,"exclusive_time":18,"entries":249}],"allocations":[{"jit":99,"id":"9","count":249},{"jit":99,"id":"27","count":249},{"jit":99,"id":"15","count":249}]},{"jit_entries":92,"inlined_entries":92,"inclusive_time":117,"id":"89","highest_child_id":606,"first_entry_time":23665,"exclusive_time":117,"entries":249,"allocations":[{"id":"9","count":157}]},{"jit_entries":249,"inlined_entries":92,"inclusive_time":19,"id":"36","highest_child_id":607,"first_entry_time":23666,"exclusive_time":19,"entries":249}],"allocations":[{"jit":92,"id":"9","count":249},{"jit":92,"id":"3","count":249},{"jit":92,"id":"10","count":249},{"jit":184,"id":"44","count":498},{"jit":92,"id":"5","count":249},{"jit":92,"id":"45","count":249}]},{"inclusive_time":16579,"id":"136","highest_child_id":628,"first_entry_time":23668,"exclusive_time":622,"entries":249,"callees":[{"inclusive_time":1446,"id":"100","highest_child_id":616,"first_entry_time":23670,"exclusive_time":442,"entries":249,"callees":[{"inclusive_time":990,"id":"101","highest_child_id":615,"first_entry_time":23672,"exclusive_time":361,"entries":249,"callees":[{"inclusive_time":613,"id":"102","highest_child_id":614,"first_entry_time":23674,"exclusive_time":301,"entries":249,"callees":[{"inclusive_time":298,"id":"104","highest_child_id":613,"first_entry_time":23675,"exclusive_time":280,"entries":249,"callees":[{"jit_entries":249,"inclusive_time":18,"id":"36","highest_child_id":613,"first_entry_time":23677,"exclusive_time":18,"entries":249}],"allocations":[{"id":"9","count":249}]},{"jit_entries":249,"inclusive_time":13,"id":"36","highest_child_id":614,"first_entry_time":23678,"exclusive_time":13,"entries":249}],"allocations":[{"id":"9","count":249},{"id":"103","count":249}]},{"jit_entries":249,"inclusive_time":14,"id":"36","highest_child_id":615,"first_entry_time":23679,"exclusive_time":14,"entries":249}],"allocations":[{"id":"9","count":249}]},{"jit_entries":249,"inclusive_time":13,"id":"36","highest_child_id":616,"first_entry_time":23680,"exclusive_time":13,"entries":249}],"allocations":[{"id":"9","count":249},{"id":"27","count":249}]},{"inclusive_time":14481,"id":"137","highest_child_id":627,"first_entry_time":23680,"exclusive_time":986,"entries":249,"callees":[{"jit_entries":105,"inclusive_time":41,"id":"62","highest_child_id":618,"first_entry_time":23682,"exclusive_time":41,"entries":249,"allocations":[{"id":"9","count":144}]},{"jit_entries":243,"inclusive_time":13090,"id":"140","highest_child_id":624,"first_entry_time":23684,"exclusive_time":8182,"entries":249,"deopt_one":243,"callees":[{"jit_entries":5594,"inclusive_time":1002,"id":"107","highest_child_id":620,"first_entry_time":23685,"exclusive_time":1002,"entries":6723,"allocations":[{"id":"9","count":1129}]},{"jit_entries":5382,"inclusive_time":2098,"id":"142","highest_child_id":621,"first_entry_time":23687,"exclusive_time":2098,"entries":6474,"allocations":[{"id":"9","count":1092},{"jit":5382,"id":"143","count":6474}]},{"jit_entries":4801,"inclusive_time":1791,"id":"144","highest_child_id":623,"first_entry_time":23692,"exclusive_time":1528,"entries":5776,"callees":[{"jit_entries":5776,"inlined_entries":4801,"inclusive_time":262,"id":"36","highest_child_id":623,"first_entry_time":23693,"exclusive_time":262,"entries":5776}],"allocations":[{"id":"9","count":975},{"jit":4801,"id":"145","count":5776}]},{"jit_entries":249,"inclusive_time":15,"id":"36","highest_child_id":624,"first_entry_time":23804,"exclusive_time":15,"entries":249}],"allocations":[{"jit":243,"id":"9","count":249}]},{"inclusive_time":330,"id":"146","highest_child_id":626,"first_entry_time":23806,"exclusive_time":312,"entries":249,"callees":[{"jit_entries":249,"inclusive_time":18,"id":"36","highest_child_id":626,"first_entry_time":23807,"exclusive_time":18,"entries":249}],"allocations":[{"id":"9","count":249}]},{"jit_entries":498,"inclusive_time":32,"id":"36","highest_child_id":627,"first_entry_time":23808,"exclusive_time":32,"entries":498}],"allocations":[{"id":"138","count":249},{"id":"139","count":249}]},{"jit_entries":498,"inclusive_time":29,"id":"36","highest_child_id":628,"first_entry_time":23809,"exclusive_time":29,"entries":498}],"allocations":[{"id":"9","count":249}]},{"jit_entries":498,"inclusive_time":29,"id":"36","highest_child_id":629,"first_entry_time":23810,"exclusive_time":29,"entries":498}],"allocations":[{"id":"3","count":249}]},{"jit_entries":73,"inclusive_time":477,"id":"179","highest_child_id":631,"first_entry_time":23855,"exclusive_time":268,"entries":283,"callees":[{"jit_entries":75,"inlined_entries":73,"inclusive_time":208,"id":"181","highest_child_id":631,"first_entry_time":23857,"exclusive_time":208,"entries":283,"allocations":[{"id":"9","count":208}]}]},{"jit_entries":73,"inclusive_time":779,"id":"183","highest_child_id":634,"first_entry_time":23859,"exclusive_time":695,"entries":283,"callees":[{"jit_entries":160,"inlined_entries":73,"inclusive_time":55,"id":"88","highest_child_id":633,"first_entry_time":23861,"exclusive_time":55,"entries":283},{"jit_entries":283,"inlined_entries":73,"inclusive_time":28,"id":"36","highest_child_id":634,"first_entry_time":23862,"exclusive_time":28,"entries":283}],"allocations":[{"jit":73,"id":"15","count":256}]},{"inclusive_time":2,"id":"83","highest_child_id":635,"first_entry_time":61412,"exclusive_time":2,"entries":3,"allocations":[{"id":"9","count":3}]}],"allocations":[{"id":"2","count":913},{"id":"27","count":501}]},{"jit_entries":2,"inclusive_time":1,"id":"179","highest_child_id":637,"first_entry_time":132098,"exclusive_time":0,"entries":2,"callees":[{"jit_entries":2,"inlined_entries":2,"inclusive_time":0,"id":"181","highest_child_id":637,"first_entry_time":132098,"exclusive_time":0,"entries":2}]},{"inclusive_time":88,"id":"190","highest_child_id":652,"first_entry_time":132125,"exclusive_time":25,"entries":1,"callees":[{"jit_entries":1,"inclusive_time":30,"id":"13","highest_child_id":640,"first_entry_time":132133,"exclusive_time":28,"entries":1,"callees":[{"inclusive_time":2,"id":"30","highest_child_id":640,"first_entry_time":132160,"exclusive_time":2,"entries":1}],"allocations":[{"jit":2,"id":"2","count":2},{"jit":2,"id":"14","count":2},{"jit":1,"id":"9","count":1}]},{"inclusive_time":31,"id":"191","highest_child_id":652,"first_entry_time":132181,"exclusive_time":9,"entries":1,"callees":[{"inclusive_time":22,"id":"46","highest_child_id":651,"first_entry_time":132186,"exclusive_time":15,"entries":1,"callees":[{"inclusive_time":0,"id":"147","highest_child_id":643,"first_entry_time":132189,"exclusive_time":0,"entries":2},{"inclusive_time":1,"id":"48","highest_child_id":644,"first_entry_time":132192,"exclusive_time":1,"entries":1},{"inclusive_time":0,"id":"49","highest_child_id":645,"first_entry_time":132195,"exclusive_time":0,"entries":1},{"inclusive_time":2,"id":"148","highest_child_id":647,"first_entry_time":132197,"exclusive_time":1,"entries":1,"callees":[{"inclusive_time":0,"id":"149","highest_child_id":647,"first_entry_time":132198,"exclusive_time":0,"entries":1}]},{"inclusive_time":1,"id":"150","highest_child_id":649,"first_entry_time":132201,"exclusive_time":0,"entries":1,"callees":[{"inclusive_time":0,"id":"149","highest_child_id":649,"first_entry_time":132202,"exclusive_time":0,"entries":1}]},{"inclusive_time":0,"id":"47","highest_child_id":650,"first_entry_time":132204,"exclusive_time":0,"entries":1},{"inclusive_time":0,"id":"50","highest_child_id":651,"first_entry_time":132205,"exclusive_time":0,"entries":1}],"allocations":[{"id":"19","count":1}]},{"jit_entries":1,"inclusive_time":0,"id":"36","highest_child_id":652,"first_entry_time":132213,"exclusive_time":0,"entries":1}],"allocations":[{"id":"15","count":1}]}],"allocations":[{"id":"9","count":1},{"id":"25","count":1},{"id":"10","count":3}]},{"inclusive_time":441,"id":"192","highest_child_id":698,"first_entry_time":132228,"exclusive_time":28,"entries":1,"callees":[{"jit_entries":1,"inclusive_time":8,"id":"13","highest_child_id":655,"first_entry_time":132233,"exclusive_time":6,"entries":1,"callees":[{"inclusive_time":1,"id":"30","highest_child_id":655,"first_entry_time":132239,"exclusive_time":1,"entries":1}],"allocations":[{"jit":2,"id":"2","count":2},{"jit":2,"id":"14","count":2},{"jit":1,"id":"9","count":1}]},{"inclusive_time":404,"id":"193","highest_child_id":698,"first_entry_time":132265,"exclusive_time":52,"entries":1,"callees":[{"inclusive_time":13,"id":"7","highest_child_id":657,"first_entry_time":132271,"exclusive_time":13,"entries":1},{"inclusive_time":146,"id":"194","highest_child_id":673,"first_entry_time":132301,"exclusive_time":25,"entries":1,"callees":[{"jit_entries":1,"inclusive_time":0,"id":"11","highest_child_id":659,"first_entry_time":132303,"exclusive_time":0,"entries":1,"allocations":[{"jit":1,"id":"12","count":1}]},{"osr":1,"jit_entries":2,"inclusive_time":78,"id":"13","highest_child_id":665,"first_entry_time":132308,"exclusive_time":15,"entries":1,"deopt_one":1,"callees":[{"jit_entries":1,"inclusive_time":61,"id":"16","highest_child_id":664,"first_entry_time":132314,"exclusive_time":31,"entries":1,"callees":[{"inclusive_time":30,"id":"20","highest_child_id":664,"first_entry_time":132334,"exclusive_time":20,"entries":6,"callees":[{"inclusive_time":9,"id":"42","highest_child_id":664,"first_entry_time":132345,"exclusive_time":8,"entries":4,"callees":[{"inclusive_time":1,"id":"135","highest_child_id":664,"first_entry_time":132347,"exclusive_time":1,"entries":4}],"allocations":[{"id":"17","count":4}]}]}],"allocations":[{"jit":17,"id":"14","count":17},{"jit":4,"id":"17","count":4},{"jit":6,"id":"9","count":6},{"jit":6,"id":"18","count":6},{"jit":3,"id":"19","count":3}]},{"jit_entries":1,"inlined_entries":1,"inclusive_time":1,"id":"30","highest_child_id":665,"first_entry_time":132384,"exclusive_time":1,"entries":1}],"allocations":[{"jit":2,"id":"2","count":2},{"jit":2,"id":"14","count":2},{"jit":1,"id":"9","count":1}]},{"inclusive_time":42,"id":"195","highest_child_id":673,"first_entry_time":132405,"exclusive_time":16,"entries":1,"callees":[{"inclusive_time":24,"id":"196","highest_child_id":671,"first_entry_time":132418,"exclusive_time":12,"entries":1,"callees":[{"jit_entries":1,"inclusive_time":0,"id":"11","highest_child_id":668,"first_entry_time":132419,"exclusive_time":0,"entries":1,"allocations":[{"jit":1,"id":"12","count":1}]},{"osr":1,"jit_entries":2,"inclusive_time":8,"id":"13","highest_child_id":670,"first_entry_time":132422,"exclusive_time":7,"entries":1,"deopt_one":1,"callees":[{"jit_entries":1,"inlined_entries":1,"inclusive_time":1,"id":"30","highest_child_id":670,"first_entry_time":132430,"exclusive_time":1,"entries":1}],"allocations":[{"jit":2,"id":"2","count":2},{"jit":2,"id":"14","count":2},{"jit":1,"id":"9","count":1}]},{"inclusive_time":2,"id":"197","highest_child_id":671,"first_entry_time":132440,"exclusive_time":2,"entries":1,"allocations":[{"id":"9","count":1},{"id":"80","count":1}]}],"allocations":[{"id":"9","count":1},{"id":"3","count":1},{"id":"10","count":3}]},{"inclusive_time":1,"id":"35","highest_child_id":672,"first_entry_time":132444,"exclusive_time":1,"entries":1},{"jit_entries":1,"inclusive_time":0,"id":"36","highest_child_id":673,"first_entry_time":132447,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1}]}],"allocations":[{"id":"9","count":1},{"id":"3","count":1},{"id":"10","count":3}]},{"inclusive_time":1,"id":"198","highest_child_id":674,"first_entry_time":132459,"exclusive_time":1,"entries":1,"allocations":[{"id":"9","count":1}]},{"inclusive_time":188,"id":"199","highest_child_id":696,"first_entry_time":132476,"exclusive_time":33,"entries":1,"callees":[{"jit_entries":1,"inclusive_time":0,"id":"11","highest_child_id":676,"first_entry_time":132478,"exclusive_time":0,"entries":1,"allocations":[{"jit":1,"id":"12","count":1}]},{"jit_entries":1,"inclusive_time":42,"id":"13","highest_child_id":680,"first_entry_time":132482,"exclusive_time":7,"entries":1,"callees":[{"jit_entries":1,"inclusive_time":33,"id":"16","highest_child_id":679,"first_entry_time":132483,"exclusive_time":21,"entries":1,"callees":[{"inclusive_time":12,"id":"20","highest_child_id":679,"first_entry_time":132496,"exclusive_time":12,"entries":6}],"allocations":[{"jit":17,"id":"14","count":17},{"jit":4,"id":"17","count":4},{"jit":6,"id":"9","count":6},{"jit":6,"id":"18","count":6},{"jit":4,"id":"19","count":4}]},{"jit_entries":1,"inlined_entries":1,"inclusive_time":1,"id":"30","highest_child_id":680,"first_entry_time":132522,"exclusive_time":1,"entries":1}],"allocations":[{"jit":2,"id":"2","count":2},{"jit":2,"id":"14","count":2},{"jit":1,"id":"9","count":1}]},{"inclusive_time":112,"id":"200","highest_child_id":696,"first_entry_time":132552,"exclusive_time":61,"entries":1,"callees":[{"jit_entries":1,"inclusive_time":1,"id":"66","highest_child_id":682,"first_entry_time":132576,"exclusive_time":1,"entries":2,"allocations":[{"id":"9","count":1}]},{"inclusive_time":28,"id":"201","highest_child_id":695,"first_entry_time":132597,"exclusive_time":10,"entries":1,"callees":[{"inclusive_time":1,"id":"35","highest_child_id":684,"first_entry_time":132604,"exclusive_time":1,"entries":1},{"jit_entries":2,"inclusive_time":0,"id":"36","highest_child_id":685,"first_entry_time":132607,"exclusive_time":0,"entries":2},{"inclusive_time":15,"id":"46","highest_child_id":695,"first_entry_time":132609,"exclusive_time":9,"entries":1,"callees":[{"inclusive_time":0,"id":"147","highest_child_id":687,"first_entry_time":132611,"exclusive_time":0,"entries":2},{"inclusive_time":0,"id":"48","highest_child_id":688,"first_entry_time":132612,"exclusive_time":0,"entries":1},{"inclusive_time":0,"id":"49","highest_child_id":689,"first_entry_time":132614,"exclusive_time":0,"entries":1},{"inclusive_time":1,"id":"148","highest_child_id":691,"first_entry_time":132615,"exclusive_time":1,"entries":1,"callees":[{"inclusive_time":0,"id":"149","highest_child_id":691,"first_entry_time":132616,"exclusive_time":0,"entries":1}]},{"inclusive_time":1,"id":"150","highest_child_id":693,"first_entry_time":132618,"exclusive_time":0,"entries":1,"callees":[{"inclusive_time":0,"id":"149","highest_child_id":693,"first_entry_time":132619,"exclusive_time":0,"entries":1}]},{"inclusive_time":0,"id":"151","highest_child_id":694,"first_entry_time":132621,"exclusive_time":0,"entries":1},{"inclusive_time":0,"id":"50","highest_child_id":695,"first_entry_time":132622,"exclusive_time":0,"entries":1}],"allocations":[{"id":"19","count":1}]}],"allocations":[{"id":"9","count":1},{"id":"202","count":1}]},{"inclusive_time":21,"id":"203","highest_child_id":696,"first_entry_time":132639,"exclusive_time":21,"entries":1,"allocations":[{"id":"9","count":1}]}],"allocations":[{"id":"80","count":1},{"id":"9","count":1}]}],"allocations":[{"id":"9","count":1},{"id":"10","count":3}]},{"inclusive_time":1,"id":"35","highest_child_id":697,"first_entry_time":132666,"exclusive_time":1,"entries":1},{"jit_entries":1,"inclusive_time":0,"id":"36","highest_child_id":698,"first_entry_time":132669,"exclusive_time":0,"entries":1}]}],"allocations":[{"id":"10","count":3}]},{"inclusive_time":1,"id":"35","highest_child_id":699,"first_entry_time":132671,"exclusive_time":1,"entries":1},{"jit_entries":1,"inclusive_time":0,"id":"36","highest_child_id":700,"first_entry_time":132673,"exclusive_time":0,"entries":1}],"allocations":[{"id":"25","count":1}]},{"inclusive_time":1,"id":"66","highest_child_id":701,"first_entry_time":132676,"exclusive_time":1,"entries":1,"allocations":[{"id":"9","count":1}]},{"inclusive_time":3239,"id":"204","highest_child_id":819,"first_entry_time":132709,"exclusive_time":120,"entries":1,"callees":[{"inclusive_time":1200,"id":"205","highest_child_id":750,"first_entry_time":132735,"exclusive_time":165,"entries":1,"callees":[{"jit_entries":1,"inclusive_time":0,"id":"11","highest_child_id":704,"first_entry_time":132738,"exclusive_time":0,"entries":1,"allocations":[{"jit":1,"id":"12","count":1}]},{"jit_entries":1,"inclusive_time":147,"id":"13","highest_child_id":708,"first_entry_time":132858,"exclusive_time":19,"entries":1,"callees":[{"inclusive_time":124,"id":"16","highest_child_id":707,"first_entry_time":132863,"exclusive_time":84,"entries":1,"callees":[{"inclusive_time":39,"id":"20","highest_child_id":707,"first_entry_time":132915,"exclusive_time":39,"entries":12}],"allocations":[{"id":"14","count":19},{"id":"17","count":4},{"id":"9","count":8},{"id":"18","count":6},{"id":"19","count":4}]},{"jit_entries":1,"inclusive_time":3,"id":"30","highest_child_id":708,"first_entry_time":133000,"exclusive_time":3,"entries":1,"deopt_one":1}],"allocations":[{"jit":2,"id":"2","count":2},{"jit":2,"id":"14","count":2},{"jit":1,"id":"9","count":1}]},{"inclusive_time":887,"id":"206","highest_child_id":750,"first_entry_time":133048,"exclusive_time":149,"entries":1,"callees":[{"inclusive_time":67,"id":"207","highest_child_id":716,"first_entry_time":133068,"exclusive_time":40,"entries":1,"callees":[{"jit_entries":1,"inclusive_time":1,"id":"11","highest_child_id":711,"first_entry_time":133070,"exclusive_time":1,"entries":1,"allocations":[{"jit":1,"id":"12","count":1}]},{"jit_entries":1,"inclusive_time":13,"id":"13","highest_child_id":713,"first_entry_time":133077,"exclusive_time":10,"entries":1,"callees":[{"inclusive_time":2,"id":"30","highest_child_id":713,"first_entry_time":133087,"exclusive_time":2,"entries":1}],"allocations":[{"jit":2,"id":"2","count":2},{"jit":2,"id":"14","count":2},{"jit":1,"id":"9","count":1}]},{"inclusive_time":12,"id":"208","highest_child_id":716,"first_entry_time":133123,"exclusive_time":9,"entries":1,"callees":[{"inclusive_time":3,"id":"35","highest_child_id":715,"first_entry_time":133129,"exclusive_time":3,"entries":1},{"jit_entries":1,"inclusive_time":0,"id":"36","highest_child_id":716,"first_entry_time":133135,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1},{"id":"15","count":1}]}],"allocations":[{"id":"9","count":1},{"id":"3","count":1},{"id":"10","count":3}]},{"inclusive_time":476,"id":"209","highest_child_id":735,"first_entry_time":133214,"exclusive_time":273,"entries":1,"callees":[{"inclusive_time":67,"id":"210","highest_child_id":721,"first_entry_time":133248,"exclusive_time":25,"entries":1,"callees":[{"jit_entries":1,"inclusive_time":39,"id":"13","highest_child_id":720,"first_entry_time":133258,"exclusive_time":36,"entries":1,"callees":[{"inclusive_time":3,"id":"30","highest_child_id":720,"first_entry_time":133293,"exclusive_time":3,"entries":1}],"allocations":[{"jit":2,"id":"2","count":2},{"jit":2,"id":"14","count":2},{"jit":1,"id":"9","count":1}]},{"inclusive_time":2,"id":"211","highest_child_id":721,"first_entry_time":133312,"exclusive_time":2,"entries":1}],"allocations":[{"id":"9","count":1},{"id":"25","count":1},{"id":"10","count":3}]},{"inclusive_time":1,"id":"176","highest_child_id":722,"first_entry_time":133321,"exclusive_time":1,"entries":1},{"inclusive_time":66,"id":"212","highest_child_id":726,"first_entry_time":133341,"exclusive_time":21,"entries":1,"callees":[{"jit_entries":1,"inclusive_time":43,"id":"13","highest_child_id":725,"first_entry_time":133347,"exclusive_time":40,"entries":1,"callees":[{"inclusive_time":3,"id":"30","highest_child_id":725,"first_entry_time":133386,"exclusive_time":3,"entries":1}],"allocations":[{"jit":2,"id":"2","count":2},{"jit":2,"id":"14","count":2},{"jit":1,"id":"9","count":1}]},{"inclusive_time":2,"id":"213","highest_child_id":726,"first_entry_time":133404,"exclusive_time":2,"entries":1}],"allocations":[{"id":"9","count":1},{"id":"25","count":1},{"id":"10","count":3}]},{"inclusive_time":2,"id":"213","highest_child_id":727,"first_entry_time":133410,"exclusive_time":2,"entries":2},{"inclusive_time":63,"id":"214","highest_child_id":733,"first_entry_time":133621,"exclusive_time":46,"entries":1,"callees":[{"inclusive_time":15,"id":"216","highest_child_id":731,"first_entry_time":133663,"exclusive_time":11,"entries":1,"callees":[{"inclusive_time":2,"id":"35","highest_child_id":730,"first_entry_time":133672,"exclusive_time":2,"entries":1},{"jit_entries":1,"inclusive_time":0,"id":"36","highest_child_id":731,"first_entry_time":133678,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1},{"id":"18","count":1},{"id":"44","count":1}]},{"inclusive_time":1,"id":"35","highest_child_id":732,"first_entry_time":133681,"exclusive_time":1,"entries":1},{"jit_entries":1,"inclusive_time":0,"id":"36","highest_child_id":733,"first_entry_time":133683,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1},{"id":"215","count":1}]},{"inclusive_time":1,"id":"35","highest_child_id":734,"first_entry_time":133687,"exclusive_time":1,"entries":1},{"jit_entries":1,"inclusive_time":0,"id":"36","highest_child_id":735,"first_entry_time":133689,"exclusive_time":0,"entries":1}],"allocations":[{"id":"27","count":2},{"id":"9","count":1}]},{"inclusive_time":185,"id":"217","highest_child_id":746,"first_entry_time":133730,"exclusive_time":128,"entries":1,"callees":[{"inclusive_time":6,"id":"208","highest_child_id":738,"first_entry_time":133736,"exclusive_time":5,"entries":1,"callees":[{"jit_entries":1,"inclusive_time":0,"id":"36","highest_child_id":738,"first_entry_time":133741,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1},{"id":"15","count":1}]},{"inclusive_time":48,"id":"218","highest_child_id":744,"first_entry_time":133862,"exclusive_time":36,"entries":1,"callees":[{"inclusive_time":10,"id":"220","highest_child_id":742,"first_entry_time":133895,"exclusive_time":7,"entries":1,"callees":[{"inclusive_time":2,"id":"35","highest_child_id":741,"first_entry_time":133901,"exclusive_time":2,"entries":1},{"jit_entries":1,"inclusive_time":0,"id":"36","highest_child_id":742,"first_entry_time":133905,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1}]},{"inclusive_time":1,"id":"35","highest_child_id":743,"first_entry_time":133908,"exclusive_time":1,"entries":1},{"jit_entries":1,"inclusive_time":0,"id":"36","highest_child_id":744,"first_entry_time":133910,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1},{"id":"219","count":1}]},{"inclusive_time":1,"id":"35","highest_child_id":745,"first_entry_time":133913,"exclusive_time":1,"entries":1},{"jit_entries":1,"inclusive_time":0,"id":"36","highest_child_id":746,"first_entry_time":133916,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1}]},{"inclusive_time":5,"id":"37","highest_child_id":748,"first_entry_time":133923,"exclusive_time":4,"entries":1,"callees":[{"jit_entries":1,"inclusive_time":0,"id":"36","highest_child_id":748,"first_entry_time":133928,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1},{"id":"38","count":1}]},{"inclusive_time":1,"id":"35","highest_child_id":749,"first_entry_time":133931,"exclusive_time":1,"entries":1},{"jit_entries":1,"inclusive_time":0,"id":"36","highest_child_id":750,"first_entry_time":133934,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1}]}],"allocations":[{"id":"9","count":1},{"id":"3","count":1},{"id":"10","count":3}]},{"inclusive_time":1198,"id":"221","highest_child_id":786,"first_entry_time":133984,"exclusive_time":536,"entries":1,"callees":[{"inclusive_time":639,"id":"75","highest_child_id":779,"first_entry_time":134086,"exclusive_time":69,"entries":3,"callees":[{"jit_entries":3,"inclusive_time":2,"id":"11","highest_child_id":753,"first_entry_time":134092,"exclusive_time":2,"entries":3,"allocations":[{"jit":3,"id":"12","count":3}]},{"jit_entries":3,"inclusive_time":45,"id":"13","highest_child_id":755,"first_entry_time":134100,"exclusive_time":34,"entries":3,"callees":[{"jit_entries":3,"inlined_entries":3,"inclusive_time":10,"id":"30","highest_child_id":755,"first_entry_time":134113,"exclusive_time":10,"entries":3}],"allocations":[{"jit":6,"id":"2","count":6},{"jit":6,"id":"14","count":6},{"jit":3,"id":"9","count":3}]},{"inclusive_time":522,"id":"222","highest_child_id":779,"first_entry_time":134144,"exclusive_time":135,"entries":3,"callees":[{"inclusive_time":207,"id":"226","highest_child_id":769,"first_entry_time":134182,"exclusive_time":59,"entries":1,"callees":[{"inclusive_time":18,"id":"86","highest_child_id":761,"first_entry_time":134190,"exclusive_time":14,"entries":1,"callees":[{"inclusive_time":1,"id":"87","highest_child_id":759,"first_entry_time":134196,"exclusive_time":1,"entries":1},{"inclusive_time":1,"id":"47","highest_child_id":760,"first_entry_time":134201,"exclusive_time":1,"entries":1},{"inclusive_time":1,"id":"50","highest_child_id":761,"first_entry_time":134204,"exclusive_time":1,"entries":1}]},{"jit_entries":1,"inclusive_time":0,"id":"88","highest_child_id":762,"first_entry_time":134212,"exclusive_time":0,"entries":1},{"inclusive_time":128,"id":"227","highest_child_id":769,"first_entry_time":134260,"exclusive_time":45,"entries":1,"callees":[{"inclusive_time":79,"id":"228","highest_child_id":767,"first_entry_time":134299,"exclusive_time":31,"entries":1,"callees":[{"jit_entries":1,"inclusive_time":45,"id":"13","highest_child_id":766,"first_entry_time":134308,"exclusive_time":42,"entries":1,"callees":[{"inclusive_time":3,"id":"30","highest_child_id":766,"first_entry_time":134349,"exclusive_time":3,"entries":1}],"allocations":[{"jit":2,"id":"2","count":2},{"jit":2,"id":"14","count":2},{"jit":1,"id":"9","count":1}]},{"inclusive_time":2,"id":"229","highest_child_id":767,"first_entry_time":134375,"exclusive_time":2,"entries":1}],"allocations":[{"id":"9","count":1},{"id":"25","count":1},{"id":"10","count":3}]},{"inclusive_time":2,"id":"35","highest_child_id":768,"first_entry_time":134383,"exclusive_time":2,"entries":1},{"jit_entries":1,"inclusive_time":0,"id":"36","highest_child_id":769,"first_entry_time":134388,"exclusive_time":0,"entries":1}],"allocations":[{"id":"27","count":1},{"id":"9","count":1}]}],"allocations":[{"id":"27","count":1}]},{"inclusive_time":56,"id":"35","highest_child_id":770,"first_entry_time":134393,"exclusive_time":56,"entries":3},{"jit_entries":3,"inclusive_time":1,"id":"36","highest_child_id":771,"first_entry_time":134447,"exclusive_time":1,"entries":3},{"inclusive_time":41,"id":"230","highest_child_id":775,"first_entry_time":134645,"exclusive_time":26,"entries":1,"callees":[{"inclusive_time":14,"id":"231","highest_child_id":775,"first_entry_time":134670,"exclusive_time":10,"entries":1,"callees":[{"inclusive_time":3,"id":"35","highest_child_id":774,"first_entry_time":134678,"exclusive_time":3,"entries":1},{"jit_entries":1,"inclusive_time":0,"id":"36","highest_child_id":775,"first_entry_time":134684,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1}]}]},{"inclusive_time":80,"id":"232","highest_child_id":779,"first_entry_time":135084,"exclusive_time":31,"entries":1,"callees":[{"inclusive_time":49,"id":"233","highest_child_id":779,"first_entry_time":135114,"exclusive_time":39,"entries":1,"callees":[{"inclusive_time":9,"id":"234","highest_child_id":779,"first_entry_time":135150,"exclusive_time":8,"entries":2,"callees":[{"inclusive_time":1,"id":"87","highest_child_id":779,"first_entry_time":135154,"exclusive_time":1,"entries":2}]}],"allocations":[{"id":"27","count":2},{"id":"9","count":1}]}]}],"allocations":[{"id":"9","count":3},{"id":"25","count":3},{"id":"223","count":1},{"id":"224","count":1},{"id":"225","count":1}]}],"allocations":[{"id":"9","count":3},{"id":"3","count":3},{"id":"10","count":9}]},{"spesh_entries":1,"inclusive_time":18,"id":"41","highest_child_id":783,"first_entry_time":134453,"exclusive_time":14,"entries":1,"deopt_one":1,"callees":[{"jit_entries":1,"inclusive_time":1,"id":"42","highest_child_id":781,"first_entry_time":134459,"exclusive_time":1,"entries":1},{"inclusive_time":2,"id":"35","highest_child_id":782,"first_entry_time":134465,"exclusive_time":2,"entries":1},{"jit_entries":1,"inclusive_time":0,"id":"36","highest_child_id":783,"first_entry_time":134471,"exclusive_time":0,"entries":1}]},{"inclusive_time":1,"id":"235","highest_child_id":784,"first_entry_time":134483,"exclusive_time":1,"entries":1,"allocations":[{"id":"9","count":1}]},{"inclusive_time":1,"id":"35","highest_child_id":785,"first_entry_time":135178,"exclusive_time":1,"entries":1},{"jit_entries":1,"inclusive_time":0,"id":"36","highest_child_id":786,"first_entry_time":135181,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1}]},{"inclusive_time":720,"id":"236","highest_child_id":819,"first_entry_time":135228,"exclusive_time":64,"entries":1,"callees":[{"inclusive_time":655,"id":"237","highest_child_id":819,"first_entry_time":135292,"exclusive_time":43,"entries":1,"callees":[{"inclusive_time":105,"id":"238","highest_child_id":794,"first_entry_time":135317,"exclusive_time":3,"entries":1,"callees":[{"inclusive_time":102,"id":"23","highest_child_id":794,"first_entry_time":135320,"exclusive_time":10,"entries":1,"callees":[{"inclusive_time":91,"id":"26","highest_child_id":794,"first_entry_time":135329,"exclusive_time":44,"entries":1,"callees":[{"inclusive_time":2,"id":"42","highest_child_id":792,"first_entry_time":135340,"exclusive_time":2,"entries":1},{"inclusive_time":44,"id":"239","highest_child_id":794,"first_entry_time":135376,"exclusive_time":33,"entries":1,"callees":[{"inclusive_time":10,"id":"240","highest_child_id":794,"first_entry_time":135407,"exclusive_time":10,"entries":1}]}],"allocations":[{"id":"2","count":4}]}]}]},{"inclusive_time":506,"id":"241","highest_child_id":819,"first_entry_time":135441,"exclusive_time":49,"entries":1,"callees":[{"inclusive_time":457,"id":"242","highest_child_id":819,"first_entry_time":135490,"exclusive_time":205,"entries":1,"callees":[{"inclusive_time":17,"id":"86","highest_child_id":800,"first_entry_time":135506,"exclusive_time":13,"entries":1,"callees":[{"inclusive_time":1,"id":"87","highest_child_id":798,"first_entry_time":135512,"exclusive_time":1,"entries":1},{"inclusive_time":1,"id":"47","highest_child_id":799,"first_entry_time":135516,"exclusive_time":1,"entries":1},{"inclusive_time":1,"id":"50","highest_child_id":800,"first_entry_time":135520,"exclusive_time":1,"entries":1}]},{"jit_entries":1,"inclusive_time":0,"id":"88","highest_child_id":801,"first_entry_time":135527,"exclusive_time":0,"entries":1},{"inclusive_time":176,"id":"75","highest_child_id":815,"first_entry_time":135686,"exclusive_time":16,"entries":1,"callees":[{"jit_entries":1,"inclusive_time":1,"id":"11","highest_child_id":803,"first_entry_time":135692,"exclusive_time":1,"entries":1,"allocations":[{"jit":1,"id":"12","count":1}]},{"jit_entries":1,"inclusive_time":16,"id":"13","highest_child_id":805,"first_entry_time":135700,"exclusive_time":12,"entries":1,"callees":[{"jit_entries":1,"inlined_entries":1,"inclusive_time":4,"id":"30","highest_child_id":805,"first_entry_time":135712,"exclusive_time":4,"entries":1}],"allocations":[{"jit":2,"id":"2","count":2},{"jit":2,"id":"14","count":2},{"jit":1,"id":"9","count":1}]},{"inclusive_time":141,"id":"222","highest_child_id":815,"first_entry_time":135720,"exclusive_time":54,"entries":1,"callees":[{"inclusive_time":84,"id":"244","highest_child_id":813,"first_entry_time":135769,"exclusive_time":30,"entries":1,"callees":[{"inclusive_time":53,"id":"86","highest_child_id":812,"first_entry_time":135775,"exclusive_time":45,"entries":5,"callees":[{"inclusive_time":2,"id":"87","highest_child_id":809,"first_entry_time":135779,"exclusive_time":2,"entries":5},{"inclusive_time":1,"id":"47","highest_child_id":810,"first_entry_time":135782,"exclusive_time":1,"entries":4},{"inclusive_time":2,"id":"50","highest_child_id":811,"first_entry_time":135785,"exclusive_time":2,"entries":5},{"inclusive_time":0,"id":"245","highest_child_id":812,"first_entry_time":135846,"exclusive_time":0,"entries":1}]},{"jit_entries":5,"inclusive_time":1,"id":"88","highest_child_id":813,"first_entry_time":135791,"exclusive_time":1,"entries":5}],"allocations":[{"id":"27","count":5}]},{"inclusive_time":1,"id":"35","highest_child_id":814,"first_entry_time":135857,"exclusive_time":1,"entries":1},{"jit_entries":1,"inclusive_time":0,"id":"36","highest_child_id":815,"first_entry_time":135861,"exclusive_time":0,"entries":1}],"allocations":[{"id":"9","count":1},{"id":"25","count":1},{"id":"243","count":1}]}],"allocations":[{"id":"9","count":1},{"id":"3","count":1},{"id":"10","count":3}]},{"inclusive_time":57,"id":"246","highest_child_id":819,"first_entry_time":135890,"exclusive_time":32,"entries":1,"callees":[{"inclusive_time":1,"id":"66","highest_child_id":817,"first_entry_time":135900,"exclusive_time":1,"entries":1,"allocations":[{"id":"9","count":1}]},{"inclusive_time":22,"id":"248","highest_child_id":819,"first_entry_time":135924,"exclusive_time":21,"entries":1,"callees":[{"inclusive_time":1,"id":"249","highest_child_id":819,"first_entry_time":135944,"exclusive_time":1,"entries":1}]}],"allocations":[{"id":"27","count":2},{"id":"9","count":1},{"id":"247","count":1}]}],"allocations":[{"id":"27","count":6},{"id":"80","count":1}]}]}],"allocations":[{"id":"10","count":1},{"id":"14","count":1},{"id":"24","count":1}]}]}],"allocations":[{"id":"27","count":1}]}],"allocations":[{"id":"5","count":1}]}],"allocations":[{"id":"2","count":1},{"id":"3","count":1}]}]}},{"total_time":127948,"thread":3,"start_time":49749,"spesh_time":0,"parent":0,"gcs":[{"time":6079,"start_time":49749,"sequence":1,"retained_bytes":0,"responsible":0,"promoted_bytes_unmanaged":434176,"promoted_bytes":192,"gen2_roots":18,"full":0,"cleared_bytes":80}]}]');
+
+ // grab the "dictionary" from the very first entry
+ var id_to_things = rawData[0];
+ // the rest of the program expects the list to contain callframes, not the dictionary
+ // so we just shift it off the beginning.
+ rawData.shift();
+
+ // Extract some common things out of the raw data.
+ var nodeIdToName = {};
+ var nodeIdToFile = {};
+ var nodeIdToLine = {};
+ (function () {
+ function walkCallGraphNode(node) {
+ if (!nodeIdToName[node.id]) {
+ var existing_data = id_to_things[node.id.toString()];
+ node.name = existing_data.name;
+ node.line = existing_data.line;
+ node.file = existing_data.file;
+ nodeIdToName[node.id] = node.name == "" ? "<anon>" : node.name;
+ nodeIdToLine[node.id] = node.line < 1 ? "<unknown>" : node.line;
+ nodeIdToFile[node.id] = node.file == "" ? "<unknown>" : node.file;
+ }
+ if (node.callees)
+ node.callees.map(walkCallGraphNode);
+ }
+ rawData.forEach(function (thread) {
+ if (typeof thread.call_graph != "undefined")
+ walkCallGraphNode(thread.call_graph);
+ });
+ }());
+
+ var maxSeqNum = 0;
+ var gcParticipants = [];
+ var gcTimings = [];
+ (function() {
+ rawData.forEach(function (data, index) {
+ gcs = data.gcs;
+ if (gcs.length == 0)
+ return;
+ let seq = gcs[gcs.length - 1].sequence;
+ if (seq > maxSeqNum)
+ maxSeqNum = seq;
+ gcs.forEach(function (data) {
+ if (typeof gcParticipants[data.sequence] == "undefined")
+ gcParticipants[data.sequence] = [];
+ if (typeof gcTimings[data.sequence] == "undefined")
+ gcTimings[data.sequence] = { start: Infinity, end: -Infinity, full: 0 };
+ gcParticipants[data.sequence].push(index);
+ if (data.start_time < gcTimings[data.sequence].start)
+ gcTimings[data.sequence].start = data.start_time;
+ if (data.start_time + data.time > gcTimings[data.sequence].end)
+ gcTimings[data.sequence].end = data.start_time + data.time;
+ gcTimings[data.sequence].full = data.full;
+ });
+ });
+ gcTimings.forEach(function (data) {
+ data.total = data.end - data.start;
+ });
+ }());
+
+
+ // Register application and add controllers, increase recursion depth for callGraphController
+ var moarProfApp = angular.module('moarProfApp', ['ui.bootstrap']).config(function($rootScopeProvider) {
+ $rootScopeProvider.digestTtl(100);
+ });
+
+ moarProfApp.controller('NavigationController', function ($scope) {
+ $scope.Tab = 'Overview';
+ });
+
+ moarProfApp.controller('OverviewController', function ($scope) {
+ /* It's okay to take only the first thread's data here:
+ * - the total time of the main thread should be the maximum
+ * anyway, since all other threads are spawned from it.
+ * - Spesh time is stashed in the main thread's profile data,
+ * even though it's actually spent in another thread.
+ */
+ var totalTime = rawData[0].total_time;
+ var speshTime = rawData[0].spesh_time;
+ var gcTime = 0;
+ var gcNursery = 0;
+ var gcFull = 0;
+ var gcNurseryTime = 0;
+ var gcFullTime = 0;
+ var totalEntries = 0;
+ var inlineEntries = 0;
+ var jitEntries = 0;
+ var speshEntries = 0;
+ var deoptOnes = 0;
+ var deoptAlls = 0;
+ var osrs = 0;
+ var numThreads = rawData.length;
+
+ var averageParticipants = 0;
+ gcParticipants.forEach(function (run) {
+ averageParticipants += run.length;
+ });
+
+ averageParticipants = averageParticipants / gcParticipants.length;
+ gcTimings.map(function (gc) {
+ gcTime += gc.total;
+ if (gc.full) {
+ gcFull++;
+ gcFullTime += gc.total;
+ }
+ else {
+ gcNursery++;
+ gcNurseryTime += gc.total;
+ }
+ });
+ function walkCallGraphNode(node) {
+ totalEntries += node.entries || 0;
+ inlineEntries += node.inlined_entries || 0;
+ speshEntries += node.spesh_entries || 0;
+ jitEntries += node.jit_entries || 0;
+ deoptOnes += node.deopt_one || 0;
+ deoptAlls += node.deopt_all || 0;
+ osrs += node.osr || 0;
+ if (node.callees)
+ node.callees.map(walkCallGraphNode);
+ }
+ rawData.forEach(function (thread) {
+ if (typeof thread.call_graph != "undefined")
+ walkCallGraphNode(thread.call_graph);
+ });
+
+ $scope.NumThreads = numThreads;
+
+ // Time spent
+ var overheadTime = gcTime;
+ var executingTime = totalTime - overheadTime;
+ $scope.TotalTime = +(totalTime / 1000).toFixed(2);
+ $scope.GCOverheadTime = +(overheadTime / 1000).toFixed(2);
+ $scope.GCOverheadTimePercent = +(100 * overheadTime / totalTime).toFixed(2);
+ $scope.ExecutingTime = +(executingTime / 1000).toFixed(2);
+ $scope.ExecutingTimePercent = +(100 * executingTime / totalTime).toFixed(2);
+ $scope.GCTime = +(gcTime / 1000).toFixed(2);
+ $scope.GCTimePercent = +(100 * gcTime / totalTime).toFixed(2);
+ $scope.SpeshTime = +(speshTime / 1000).toFixed(2);
+ $scope.SpeshTimePercent = +(100 * speshTime / totalTime).toFixed(2);
+
+ // Routines
+ var interpEntries = totalEntries - (jitEntries + speshEntries);
+ $scope.EntriesWithoutInline = totalEntries - inlineEntries;
+ $scope.EntriesInline = inlineEntries;
+ $scope.InlinePercent = +(100 * inlineEntries / totalEntries).toFixed(2);
+ $scope.InterpFrames = interpEntries;
+ $scope.InterpFramesPercent = +(100 * interpEntries / totalEntries).toFixed(2);
+ $scope.SpeshFrames = speshEntries;
+ $scope.SpeshFramesPercent = +(100 * speshEntries / totalEntries).toFixed(2);
+ $scope.JITFrames = jitEntries;
+ $scope.JITFramesPercent = +(100 * jitEntries / totalEntries).toFixed(2);
+
+ // Garbage collection
+ $scope.GCRuns = gcNursery + gcFull;
+ $scope.FullGCRuns = gcFull;
+ $scope.NurseryAverage = +((gcNurseryTime / 1000) / gcNursery).toFixed(2);
+ $scope.FullAverage = +((gcFullTime / 1000) / gcFull).toFixed(2);
+ $scope.AverageParticipants = averageParticipants.toFixed(2);
+
+ // Dynamic optimization
+ var optimizedFrames = speshEntries + jitEntries;
+ $scope.OptimizedFrames = optimizedFrames;
+ $scope.DeoptOnes = deoptOnes;
+ $scope.DeoptOnePercent = +(100 * deoptOnes / (optimizedFrames || 1)).toFixed(2);
+ $scope.DeoptAlls = deoptAlls;
+ $scope.OSRs = osrs;
+ });
+
+ moarProfApp.controller('RoutinesController', function ($scope) {
+ // Walk call graph to build data.
+ var idToEntries = {};
+ var idToSpeshEntries = {};
+ var idToJITEntries = {};
+ var idToExclusive = {};
+ var idToInclusive = {};
+ var idToOSR = {};
+ var idRecDepth = {};
+ var totalExclusive = 0;
+ var totalInclusive = rawData[0].call_graph.inclusive_time;
+ function walkCallGraphNode(node) {
+ if (!idToEntries[node.id]) {
+ idToEntries[node.id] = 0;
+ idToSpeshEntries[node.id] = 0;
+ idToJITEntries[node.id] = 0;
+ idToExclusive[node.id] = 0;
+ idToInclusive[node.id] = 0;
+ idToOSR[node.id] = false;
+ idRecDepth[node.id] = 0;
+ }
+ idToEntries[node.id] += node.entries || 0;
+ idToSpeshEntries[node.id] += node.spesh_entries || 0;
+ idToJITEntries[node.id] += node.jit_entries || 0;
+ idToExclusive[node.id] += node.exclusive_time || 0;
+ totalExclusive += node.exclusive_time || 0;
+ if (node.osr > 0)
+ idToOSR[node.id] = true;
+ if (idRecDepth[node.id] == 0)
+ idToInclusive[node.id] += node.inclusive_time;
+ if (node.callees) {
+ idRecDepth[node.id]++;
+ node.callees.map(walkCallGraphNode);
+ idRecDepth[node.id]--;
+ }
+ }
+ rawData.forEach(function (thread) {
+ if (typeof thread.call_graph != "undefined")
+ walkCallGraphNode(thread.call_graph);
+ });
+
+ // Build object list per routine.
+ var routineList = [];
+ for (id in idToEntries) {
+ var speshEntriesPercent = +(100 * idToSpeshEntries[id] / idToEntries[id]).toFixed(2);
+ var jitEntriesPercent = +(100 * idToJITEntries[id] / idToEntries[id]).toFixed(2);
+ var interpEntriesPercent = 100 - (speshEntriesPercent + jitEntriesPercent);
+ var entry = {
+ Name: nodeIdToName[id],
+ Line: nodeIdToLine[id],
+ File: nodeIdToFile[id],
+ Entries: idToEntries[id],
+ InterpEntriesPercent: interpEntriesPercent,
+ SpeshEntriesPercent: speshEntriesPercent,
+ JITEntriesPercent: jitEntriesPercent,
+ InclusiveTime: +(idToInclusive[id] / 1000).toFixed(2),
+ InclusiveTimePercent: +(100 * idToInclusive[id] / totalInclusive).toFixed(2),
+ ExclusiveTime: +(idToExclusive[id] / 1000).toFixed(2),
+ ExclusiveTimePercent: +(100 * idToExclusive[id] / totalExclusive).toFixed(2),
+ OSR: idToOSR[id]
+ };
+ routineList.push(entry);
+ }
+ $scope.Routines = routineList;
+ $scope.predicate = "InclusiveTime";
+ $scope.reverse = true;
+ });
+
+ moarProfApp.controller('CallGraphController', function ($scope) {
+ $scope.Current = rawData[0].call_graph;
+ $scope.total_time = rawData[0].total_time;
+ $scope.SuchCallers = false;
+ $scope.RecentCallers = [];
+ $scope.predicate = "Time";
+ $scope.reverse = true;
+ var all_callers = [];
+ updateCurrentData();
+
+ $scope.toCallee = function (callee) {
+ // Update caller history.
+ all_callers.push($scope.Current);
+ $scope.RecentCallers.push($scope.Current);
+ if ($scope.RecentCallers.length > 5)
+ $scope.RecentCallers.shift();
+
+ // Update current node and callees.
+ $scope.Current = callee;
+ updateCurrentData();
+ };
+
+ $scope.toCaller = function (caller) {
+ // Update caller history.
+ while (all_callers.length > 0) {
+ var removed = all_callers.pop();
+ if ($scope.RecentCallers.length > 0)
+ $scope.RecentCallers.pop();
+ if (removed == caller)
+ break;
+ }
+ if (all_callers.length > $scope.RecentCallers.length) {
+ var ptr = all_callers.length - $scope.RecentCallers.length;
+ while (ptr >= 0 && $scope.RecentCallers.length < 5) {
+ $scope.RecentCallers.unshift(all_callers[ptr]);
+ ptr--;
+ }
+ }
+
+ // Update current node and callees.
+ $scope.Current = caller;
+ updateCurrentData();
+ }
+
+ /*
+ * Given a callee, create a unique, repeatable color;
+ * h/t https://stackoverflow.com/questions/3426404
+ */
+ $scope.backgroundColor = function (callee) {
+ var str = callee.$$hashKey + callee.file + callee.name;
+ for (var i = 0, hash = 0; i < str.length; hash = str.charCodeAt(i++) + ((hash << 5) - hash));
+ for (var i = 0, colour = "#"; i < 3; colour += ("00" + ((hash >> i++ * 8) & 0xFF).toString(16)).slice(-2));
+ return colour;
+ }
+
+ function updateCurrentData() {
+ // Line and file.
+ var current = $scope.Current;
+ $scope.Line = current.line;
+ $scope.File = current.file;
+
+ // Entry statistics.
+ var interpEntries = current.entries - (current.spesh_entries + current.jit_entries);
+ var nonInlineEntries = current.entries - current.inlined_entries;
+ $scope.Entries = nonInlineEntries;
+ $scope.Percent = (100 * nonInlineEntries / current.entries).toFixed(2);
+ $scope.InlineEntries = current.inlined_entries;
+ $scope.InlinePercent = (100 * current.inlined_entries / current.entries).toFixed(2);
+ $scope.InterpEntries = interpEntries;
+ $scope.InterpPercent = (100 * interpEntries / current.entries).toFixed(2);
+ $scope.SpeshEntries = current.spesh_entries;
+ $scope.SpeshPercent = (100 * current.spesh_entries / current.entries).toFixed(2);
+ $scope.JITEntries = current.jit_entries;
+ $scope.JITPercent = (100 * current.jit_entries / current.entries).toFixed(2);
+
+ // Callees.
+ $scope.Callees = calleesOf(current);
+ }
+
+ function calleesOf(node) {
+ if (!node.callees)
+ return [];
+
+ var totalExclusive = 0.0;
+ node.callees.map(function (c) { totalExclusive += c.exclusive_time; });
+
+ return node.callees.map(function (c) {
+ var speshCallsPercent = +(100 * c.spesh_entries / c.entries).toFixed(2);
+ var jitCallsPercent = +(100 * c.jit_entries / c.entries).toFixed(2);
+ var interpCallsPercent = 100 - (speshCallsPercent + jitCallsPercent);
+ var inlinedPercent = +(100 * c.inlined_entries / c.entries).toFixed(2);
+ return {
+ Name: nodeIdToName[c.id],
+ Line: nodeIdToLine[c.id],
+ File: nodeIdToFile[c.id],
+ Calls: c.entries,
+ Time: +(c.inclusive_time / 1000).toFixed(2),
+ TimePercent: +(100 * c.inclusive_time / node.inclusive_time).toFixed(2),
+ InterpCallsPercent: interpCallsPercent,
+ SpeshCallsPercent: speshCallsPercent,
+ JITCallsPercent: jitCallsPercent,
+ InlinedPercent: inlinedPercent,
+ VeryInline: inlinedPercent >= 95,
+ SometimesInline: inlinedPercent < 95 && inlinedPercent > 10,
+ Node: c
+ };
+ });
+ }
+ });
+
+ moarProfApp.controller('AllocationsController', function ($scope, $uibModal) {
+ // Traverse all call nodes, counting up the allocations.
+ var typeIdToName = {};
+ var typeIdToAllocations = {};
+ var typeIdToAllocationsByType = {};
+ var typeIdToRoutineStats = {};
+ var maxAllocations = 1;
+ function walkCallGraphNode(node) {
+ if (node.allocations) {
+ node.allocations.map(function (alloc) {
+ alloc.type = id_to_things[alloc.id];
+ if (!typeIdToName[alloc.id]) {
+ typeIdToName[alloc.id] = alloc.type == "" ? "<anon>" : alloc.type;
+ typeIdToAllocations[alloc.id] = 0;
+ typeIdToAllocationsByType[alloc.id] = [0, 0, 0];
+ typeIdToRoutineStats[alloc.id] = {};
+ }
+ typeIdToAllocations[alloc.id] += alloc.count;
+ typeIdToAllocationsByType[alloc.id][0] += alloc.count - (alloc.spesh || 0) - (alloc.jit || 0);
+ typeIdToAllocationsByType[alloc.id][1] += alloc.spesh || 0;
+ typeIdToAllocationsByType[alloc.id][2] += alloc.jit || 0;
+ if (typeIdToAllocations[alloc.id] > maxAllocations)
+ maxAllocations = typeIdToAllocations[alloc.id];
+ if (typeIdToRoutineStats[alloc.id][node.id]) {
+ typeIdToRoutineStats[alloc.id][node.id]['count'] += alloc.count || 0;
+ typeIdToRoutineStats[alloc.id][node.id]['spesh'] += alloc.spesh || 0;
+ typeIdToRoutineStats[alloc.id][node.id]['jit'] += alloc.jit || 0;
+ } else {
+ typeIdToRoutineStats[alloc.id][node.id] = {
+ count: alloc.count || 0,
+ spesh: alloc.spesh || 0,
+ jit: alloc.jit || 0
+ };
+ }
+ });
+ }
+ if (node.callees) {
+ node.callees.map(walkCallGraphNode);
+ }
+ }
+ rawData.forEach(function (thread) {
+ if (typeof thread.call_graph != "undefined")
+ walkCallGraphNode(thread.call_graph);
+ });
+
+ // Build allocation summary.
+ var allocationSummary = [];
+ for (id in typeIdToName) {
+ var maxAllocationByRoutine = 1;
+ for (var rid in typeIdToRoutineStats[id])
+ if (typeIdToRoutineStats[id][rid]['count'] > maxAllocationByRoutine)
+ maxAllocationByRoutine = typeIdToRoutineStats[id][rid]['count'];
+ var routineStats = [];
+ for (var rid in typeIdToRoutineStats[id])
+ routineStats.push({
+ Name: nodeIdToName[rid],
+ Line: nodeIdToLine[rid],
+ File: nodeIdToFile[rid],
+ Allocations: typeIdToRoutineStats[id][rid]['count'],
+ AllocationsSpesh: typeIdToRoutineStats[id][rid]['spesh'],
+ AllocationsJit: typeIdToRoutineStats[id][rid]['jit'],
+ AllocationsPercent: (100 * typeIdToRoutineStats[id][rid]['count'] / maxAllocationByRoutine),
+ AllocationsInterpPercent: (100 * (typeIdToRoutineStats[id][rid]['count'] - typeIdToRoutineStats[id][rid]['jit'] - typeIdToRoutineStats[id][rid]['spesh']) / maxAllocationByRoutine),
+ AllocationsSpeshPercent: (100 * typeIdToRoutineStats[id][rid]['spesh'] / maxAllocationByRoutine),
+ AllocationsJitPercent: (100 * typeIdToRoutineStats[id][rid]['jit'] / maxAllocationByRoutine)
+ });
+ var entry = {
+ Name: typeIdToName[id],
+ Allocations: typeIdToAllocations[id],
+ AllocationsPercent: +(100 * typeIdToAllocations[id] / maxAllocations).toFixed(2),
+ AllocationsInterpPercent: +(100 * typeIdToAllocationsByType[id][0] / maxAllocations).toFixed(2),
+ AllocationsSpeshPercent: +(100 * typeIdToAllocationsByType[id][1] / maxAllocations).toFixed(2),
+ AllocationsJitPercent: +(100 * typeIdToAllocationsByType[id][2] / maxAllocations).toFixed(2),
+ RoutineStats: routineStats
+ };
+ allocationSummary.push(entry);
+ }
+ $scope.AllocationSummary = allocationSummary;
+ $scope.predicate = "Allocations";
+ $scope.reverse = true;
+ $scope.routinePredicate = "Allocations";
+ $scope.routineReverse = true;
+
+ // Allocating routines handlng.
+ $scope.modalInstance = null;
+ $scope.showAllocatingRoutines = function (alloc) {
+ // Show modal dialog with data.
+ $scope.CurrentAllocatingRoutine = alloc.Name;
+ $scope.CurrentAllocatingRoutineStats = alloc.RoutineStats;
+ $scope.modalInstance = $uibModal.open({
+ templateUrl: 'myModalContent.html',
+ scope: $scope
+ });
+ }
+ });
+
+ moarProfApp.controller('GCController', function ($scope) {
+ // Find longest GC run.
+ var longestGC = 0;
+ gcTimings.map(function (timing) {
+ if (timing.total > longestGC)
+ longestGC = timing.total;
+ });
+
+ // Produce something nice to render.
+ var run = 0;
+ $scope.GCs = rawData[0].gcs.map(function (gc) {
+ var totalBytes = gc.cleared_bytes + gc.retained_bytes + gc.promoted_bytes;
+ return {
+ Run: ++run,
+ StartTime: +(gc.start_time / 1000).toFixed(2),
+ Time: +(gc.time / 1000).toFixed(2),
+ Full: (gc.full != 0),
+ TimePercent: +(100 * gc.time / longestGC).toFixed(2),
+ RetainedKilobytes: Math.round(gc.retained_bytes / 1024),
+ PromotedKilobytes: Math.round(gc.promoted_bytes / 1024),
+ ClearedKilobytes: Math.round(gc.cleared_bytes / 1024),
+ RetainedPercent: +(100 * gc.retained_bytes / totalBytes).toFixed(2),
+ PromotedPercent: +(100 * gc.promoted_bytes / totalBytes).toFixed(2),
+ ClearedPercent: +(100 * gc.cleared_bytes / totalBytes).toFixed(2),
+ Gen2Roots: 'gen2_roots' in gc ? gc.gen2_roots : 0
+ };
+ });
+ $scope.predicate = 'Run';
+ $scope.reverse = false;
+ });
+
+ moarProfApp.controller('OSRDeoptController', function ($scope) {
+ // Walk call graph to build data.
+ var idToOSR = {};
+ var idToDeoptOne = {};
+ var idToDeoptAll = {};
+ var maxOSR = 1;
+ var maxDeoptOne = 1;
+ var maxDeoptAll = 1;
+ function walkCallGraphNode(node) {
+ if (!idToOSR[node.id]) {
+ idToOSR[node.id] = 0;
+ idToDeoptOne[node.id] = 0;
+ idToDeoptAll[node.id] = 0;
+ }
+ idToOSR[node.id] += node.osr || 0;
+ idToDeoptOne[node.id] += node.deopt_one || 0;
+ idToDeoptAll[node.id] += node.deopt_all || 0;
+ if (idToOSR[node.id] > maxOSR)
+ maxOSR = idToOSR[node.id];
+ if (idToDeoptOne[node.id] > maxDeoptOne)
+ maxDeoptOne = idToDeoptOne[node.id];
+ if (idToDeoptAll[node.id] > maxDeoptAll)
+ maxDeoptAll = idToDeoptAll[node.id];
+ if (node.callees)
+ node.callees.map(walkCallGraphNode);
+ }
+ walkCallGraphNode(rawData[0].call_graph);
+
+ // Build up OSR, deopt one, and deopt all tables.
+ var osrs = [];
+ var deoptOnes = [];
+ var deoptAlls = [];
+ for (id in idToOSR) {
+ if (idToOSR[id] > 0) {
+ osrs.push({
+ Name: nodeIdToName[id],
+ Line: nodeIdToLine[id],
+ File: nodeIdToFile[id],
+ Count: idToOSR[id],
+ Percent: Math.round(100 * idToOSR[id] / maxOSR)
+ });
+ }
+ if (idToDeoptOne[id] > 0) {
+ deoptOnes.push({
+ Name: nodeIdToName[id],
+ Line: nodeIdToLine[id],
+ File: nodeIdToFile[id],
+ Count: idToDeoptOne[id],
+ Percent: Math.round(100 * idToDeoptOne[id] / maxDeoptOne)
+ });
+ }
+ if (idToDeoptAll[id] > 0) {
+ deoptAlls.push({
+ Name: nodeIdToName[id],
+ Line: nodeIdToLine[id],
+ File: nodeIdToFile[id],
+ Count: idToDeoptAll[id],
+ Percent: Math.round(100 * idToDeoptAll[id] / maxDeoptAll)
+ });
+ }
+ }
+ $scope.OSRs = osrs;
+ $scope.DeoptOnes = deoptOnes;
+ $scope.DeoptAlls = deoptAlls;
+ $scope.predicate = 'Count';
+ $scope.reverse = true;
+ });
+ </script>
+ </body>
+</html>