callgrind.c File Reference

Function call tracing tool. More...

#include <stdio.h>
#include <unistd.h>
#include <time.h>
#include <errno.h>
#include <kuroko/kuroko.h>
#include <kuroko/vm.h>
#include <kuroko/debug.h>
#include <kuroko/util.h>
#include "../src/opcode_enum.h"
#include "common.h"
Include dependency graph for callgrind.c:

Go to the source code of this file.

Data Structures

struct  FrameMetadata
 

Functions

KrkValue krk_operator_add (KrkValue a, KrkValue b)
 
KrkValue krk_operator_sub (KrkValue a, KrkValue b)
 
int krk_callgrind_debuggerHook (KrkCallFrame *frame)
 
int main (int argc, char *argv[])
 

Detailed Description

Function call tracing tool.

Author
K. Lange klang.nosp@m.e@to.nosp@m.aruos.nosp@m..org

Generates cachegrind/callgrind trace files while running scripts.

Traces include per-line instruction execution counts and per-function (as well as per-call) wall clock timing information.

Collecting instruction counts can be quite slow, so expect this to increase runtime by as much as ~25×, depending on the code.

Definition in file callgrind.c.