Home | History | Annotate | Download | only in profiling

Lines Matching refs:stack

20 // This profiler only samples a pseudo-stack, not the actual call stack.
22 // pseudo-stack "labels", see ScopedProfilingLabel.
114 // of the number of samples that recorded the given pseudo-stack.
188 static void AddStackToNode(const ProfilingStack& stack, Node* node,
191 if (stack.size == level) {
196 if (child->label == stack.labels[level]) {
203 child_to_add_to->label = stack.labels[level];
206 AddStackToNode(stack, child_to_add_to, level + 1);
210 void AddStack(const ProfilingStack& stack) {
211 AddStackToNode(stack, &root_, 0);
242 for (auto stack : stacks) {
243 AddStack(stack);
296 // Records a stack from a running thread.
298 // This is OK because we're looking at a pseudo-stack of labels,
299 // not at the real thread stack, and if the pseudo-stack changes
301 // old or the new stack. Note that ProfilingStack::Pop
311 while (dst->size < thread->stack.size) {
312 dst->labels[dst->size] = thread->stack.labels[dst->size];
314 MemoryBarrier(); // thread->stack can change at any time