profiling ( gprof ) - ClaudioDaffra/qtc GitHub Wiki
i have tested picoc with gprof and a simple mandebroat program i have found on stackoverflow : here below source code, then i have use gprof
- compile with -pg
- picoc.exe prova.c
- gprof picoc.exe < prova.c >> analisys.txt
here following results :
source code :
#include <math.h>
#include <stdlib.h>
#include <time.h>
#include <stdio.h>
void color(int red, int green, int blue)
{
/*
fputc((char)red, stdout);
fputc((char)green, stdout);
fputc((char)blue, stdout);
*/
}
int main(int argc, char **argv)
{
int w = 100 , h = 100 , x, y;
//each iteration, it calculates: newz = oldz*oldz + p, where p is the current pixel, and oldz stars at the origin
double pr, pi; //real and imaginary part of the pixel p
double newRe, newIm, oldRe, oldIm; //real and imaginary parts of new and old z
double zoom = 1, moveX = -0.5, moveY = 0; //you can change these to zoom and change position
int maxIterations = 1000;//after how much iterations the function should stop
clock_t begin, end;
double time_spent;
printf("P6\n# CREATOR: E.T / mandel program\n");
printf("%d %d\n255\n",w,h);
begin = clock();
//loop through every pixel
for(y = 0; y < h; y++)
for(x = 0; x < w; x++)
{
//calculate the initial real and imaginary part of z, based on the pixel location and zoom and position values
pr = 1.5 * (x - w / 2) / (0.5 * zoom * w) + moveX;
pi = (y - h / 2) / (0.5 * zoom * h) + moveY;
newRe = newIm = oldRe = oldIm = 0; //these should start at 0,0
//"i" will represent the number of iterations
int i;
//start the iteration process
for(i = 0; i < maxIterations; i++)
{
//remember value of previous iteration
oldRe = newRe;
oldIm = newIm;
//the actual iteration, the real and imaginary part are calculated
newRe = oldRe * oldRe - oldIm * oldIm + pr;
newIm = 2 * oldRe * oldIm + pi;
//if the point is outside the circle with radius 2: stop
if((newRe * newRe + newIm * newIm) > 4) break;
}
color(i % 256, 255, 255 * (i < maxIterations));
}
end = clock();
time_spent = (double)(end - begin) / CLOCKS_PER_SEC;
printf("Elapsed time: %.2lf seconds.\n", time_spent);
return 0;
}
Flat profile:
Each sample counts as 0.01 seconds.
% cumulative self self total
time seconds seconds calls s/call s/call name
41.25 8.37 8.37 _mcount_private
7.24 9.84 1.47 235586930 0.00 0.00 LexGetRawToken
6.46 11.15 1.31 18315797 0.00 0.00 ExpressionParse
6.06 12.38 1.23 TableSearch
4.16 13.23 0.84 65447525 0.00 0.00 ExpressionStackCollapse
3.30 13.90 0.67 253894946 0.00 0.00 VariableAlloc
2.83 14.47 0.57 253914706 0.00 0.00 HeapAllocStack
2.56 14.99 0.52 41866023 0.00 0.00 ExpressionInfixOperator
2.44 15.48 0.50 235586930 0.00 0.00 LexGetToken
2.02 15.90 0.41 104662137 0.00 0.00 ExpressionStackPushValueNode
1.72 16.25 0.35 49863651 0.00 0.00 VariableAllocValueAndData
1.43 16.54 0.29 _fentry__
1.33 16.81 0.27 167448166 0.00 0.00 HeapPopStack
1.33 17.07 0.27 86312362 0.00 0.00 TableGet
1.23 17.32 0.25 23536054 0.00 0.00 ParseStatement
1.21 17.57 0.25 44480272 0.00 0.00 ExpressionStackPushOperator
1.11 17.80 0.23 235588246 0.00 0.00 LexTokenSize
1.06 18.01 0.22 54858661 0.00 0.00 VariableAllocValueFromExistingData
0.96 18.20 0.20 2631557 0.00 0.00 VariableScopeEnd
0.94 18.40 0.19 36570275 0.00 0.00 ExpressionPushFP
0.74 18.55 0.15 170203922 0.00 0.00 ParserCopy
0.74 18.70 0.15 2631557 0.00 0.00 VariableScopeBegin
0.71 18.84 0.14 54858661 0.00 0.00 ExpressionStackPushLValue
0.62 18.97 0.13 55136515 0.00 0.00 TypeSizeValue
0.59 19.09 0.12 7860155 0.00 0.00 ParserCopyPos
0.54 19.20 0.11 86356488 0.00 0.00 TypeStackSizeValue
0.49 19.30 0.10 44530472 0.00 0.00 VariableAllocValueFromType
0.42 19.38 0.09 300957306 0.00 0.00 debugf
0.42 19.47 0.09 20967255 0.00 0.00 IsTypeToken
0.39 19.55 0.08 70570258 0.00 0.00 VariableGet
0.37 19.62 0.07 54858661 0.00 0.00 VariableAllocValueShared
0.30 19.68 0.06 101 0.00 0.00 LexTokenise
0.27 19.73 0.06 18305649 0.00 0.00 VariableStackPop
0.25 19.79 0.05 20924456 0.00 0.00 DebugCheckStatement
0.25 19.84 0.05 5333037 0.00 0.00 VariableAllocValueAndCopy
0.17 19.87 0.04 44530472 0.00 0.00 TypeSize
0.15 19.90 0.03 30209 0.00 0.00 TableSet
0.12 19.93 0.03 10465793 0.00 0.00 ExpressionAssignFP
0.12 19.95 0.03 HeapUnpopStack
0.10 19.97 0.02 21095333 0.00 0.00 ExpressionCoerceInteger
0.10 19.99 0.02 15701578 0.00 0.00 VariableDefined
0.10 20.01 0.02 5215647 0.00 0.00 ExpressionParseInt
0.10 20.03 0.02 2621453 0.00 0.00 ParseBlock
0.10 20.05 0.02 10104 0.00 0.00 ParseFor
0.10 20.07 0.02 LexRawPeekToken
0.10 20.09 0.02 VariableRealloc
0.07 20.11 0.01 5303031 0.00 0.00 ExpressionStackPushValue
0.07 20.12 0.01 1316 0.00 0.00 LexScanGetToken
0.07 20.14 0.01 101 0.00 0.00 LexInitParser
0.07 20.15 0.01 LexHashEndif
0.07 20.16 0.01 LexHashIncPos
0.05 20.18 0.01 86352580 0.00 0.00 TableInitTable
0.05 20.18 0.01 7920161 0.00 0.00 ExpressionPushInt
0.05 20.20 0.01 2614198 0.00 0.00 ExpressionAssignInt
0.05 20.20 0.01 2604094 0.00 0.00 ExpressionPostfixOperator
0.05 20.22 0.01 10277 0.00 0.00 TypeParseFront
0.05 20.23 0.01 10012 0.00 0.00 ExpressionParseFunctionCall
0.05 20.23 0.01 36 0.00 0.00 VariableDefinePlatformVar
0.05 20.25 0.01 4 0.00 0.00 ExpressionAssignToPointer
0.05 20.25 0.01 1 0.01 0.01 VariableCleanup
0.05 20.27 0.01 memcpy
0.05 20.27 0.01 memset
0.02 20.28 0.01 10007 0.00 0.00 ExpressionStackPushValueByType
0.02 20.29 0.01 10001 0.00 0.00 VariableStackFrameAdd
0.02 20.29 0.01 VariableDefinedAndOutOfScope
0.00 20.29 0.00 2621659 0.00 0.00 ParseStatementMaybeRun
0.00 20.29 0.00 30028 0.00 0.00 VariableDefine
0.00 20.29 0.00 30013 0.00 0.00 ExpressionAssign
0.00 20.29 0.00 20007 0.00 0.00 HeapPopStackFrame
0.00 20.29 0.00 20007 0.00 0.00 HeapPushStackFrame
0.00 20.29 0.00 10297 0.00 0.00 TypeParseIdentPart
0.00 20.29 0.00 10144 0.00 0.00 TypeParseBack
0.00 20.29 0.00 10017 0.00 0.00 ParseDeclaration
0.00 20.29 0.00 10017 0.00 0.00 TypeIsForwardDeclared
0.00 20.29 0.00 10017 0.00 0.00 VariableDefineButIgnoreIdentical
0.00 20.29 0.00 10001 0.00 0.00 VariableStackFramePop
0.00 20.29 0.00 689 0.00 0.00 HeapFreeMem
0.00 20.29 0.00 688 0.00 0.00 HeapAllocMem
0.00 20.29 0.00 671 0.00 0.00 TableDelete
0.00 20.29 0.00 633 0.00 0.00 TableInit
0.00 20.29 0.00 632 0.00 0.00 TableSetIdentifier
0.00 20.29 0.00 632 0.00 0.00 TableStrRegister2
0.00 20.29 0.00 485 0.00 0.00 LexCheckReservedWord
0.00 20.29 0.00 485 0.00 0.00 LexGetWord
0.00 20.29 0.00 260 0.00 0.00 TypeParse
0.00 20.29 0.00 150 0.00 0.00 VariableFree
0.00 20.29 0.00 140 0.00 0.00 TableStrRegister
0.00 20.29 0.00 119 0.00 0.00 TypeGetMatching
0.00 20.29 0.00 101 0.00 0.00 LexAnalyse
0.00 20.29 0.00 101 0.00 0.00 LexUnEscapeCharacter
0.00 20.29 0.00 99 0.00 0.00 ParseCountParams
0.00 20.29 0.00 99 0.00 0.00 ParseFunctionDefinition
0.00 20.29 0.00 65 0.00 0.00 StdioOutPutc
0.00 20.29 0.00 21 0.00 0.00 LexGetNumber
0.00 20.29 0.00 14 0.00 0.00 LexSkipComment
0.00 20.29 0.00 14 0.00 0.00 TypeAddBaseType
0.00 20.29 0.00 12 0.00 0.00 ParseDeclarationAssignment
0.00 20.29 0.00 11 0.00 0.00 TypeAdd
0.00 20.29 0.00 9 0.00 0.00 IncludeRegister
0.00 20.29 0.00 7 0.00 0.00 LexGetStringConstant
0.00 20.29 0.00 7 0.00 0.00 TypeParseStruct
0.00 20.29 0.00 7 0.00 0.00 VariableStringLiteralDefine
0.00 20.29 0.00 7 0.00 0.00 VariableStringLiteralGet
0.00 20.29 0.00 5 0.00 0.00 ExpressionCoerceFP
0.00 20.29 0.00 5 0.00 0.00 VariableTableCleanup
0.00 20.29 0.00 4 0.00 0.00 IncludeFile
0.00 20.29 0.00 4 0.00 0.02 LibraryAdd
0.00 20.29 0.00 4 0.00 0.00 ParseTypedef
0.00 20.29 0.00 4 0.00 0.00 PicocParse
0.00 20.29 0.00 3 0.00 0.00 StdioBasePrintf
0.00 20.29 0.00 3 0.00 0.00 StdioPrintf
0.00 20.29 0.00 3 0.00 0.00 TypeCreateOpaqueStruct
0.00 20.29 0.00 2 0.00 0.00 ExpressionCoerceUnsignedInteger
0.00 20.29 0.00 2 0.00 0.00 LexCopyTokens
0.00 20.29 0.00 2 0.00 0.00 StdClock
0.00 20.29 0.00 2 0.00 0.00 StdioFprintfWord
0.00 20.29 0.00 1 0.00 0.00 BasicIOInit
0.00 20.29 0.00 1 0.00 0.00 DebugCleanup
0.00 20.29 0.00 1 0.00 0.00 DebugInit
0.00 20.29 0.00 1 0.00 0.00 ExpressionPrefixOperator
0.00 20.29 0.00 1 0.00 0.00 HeapCleanup
0.00 20.29 0.00 1 0.00 0.00 HeapInit
0.00 20.29 0.00 1 0.00 0.00 IncludeCleanup
0.00 20.29 0.00 1 0.00 0.00 IncludeInit
0.00 20.29 0.00 1 0.00 0.00 LexCleanup
0.00 20.29 0.00 1 0.00 0.00 LexInit
0.00 20.29 0.00 1 0.00 0.00 LexInteractiveClear
0.00 20.29 0.00 1 0.00 0.00 LibraryInit
0.00 20.29 0.00 1 0.00 0.00 MathSetupFunc
0.00 20.29 0.00 1 0.00 0.00 ParseCleanup
0.00 20.29 0.00 1 0.00 5.13 PicocCallMain
0.00 20.29 0.00 1 0.00 0.01 PicocCleanup
0.00 20.29 0.00 1 0.00 0.00 PicocInitialise
0.00 20.29 0.00 1 0.00 5.13 PicocPlatformScanFile
0.00 20.29 0.00 1 0.00 0.00 PlatformCleanup
0.00 20.29 0.00 1 0.00 0.00 PlatformInit
0.00 20.29 0.00 1 0.00 0.00 PlatformLibraryInit
0.00 20.29 0.00 1 0.00 0.00 PlatformReadFile
0.00 20.29 0.00 1 0.00 0.00 StdTimeSetupFunc
0.00 20.29 0.00 1 0.00 0.00 StdioFprintfFP
0.00 20.29 0.00 1 0.00 0.00 StdioSetupFunc
0.00 20.29 0.00 1 0.00 0.00 StdlibSetupFunc
0.00 20.29 0.00 1 0.00 0.00 TableStrFree
0.00 20.29 0.00 1 0.00 0.00 TypeCleanup
0.00 20.29 0.00 1 0.00 0.00 TypeCleanupNode
0.00 20.29 0.00 1 0.00 0.00 TypeInit
0.00 20.29 0.00 1 0.00 0.00 VariableInit
% the percentage of the total running time of the time program used by this function.
cumulative a running sum of the number of seconds accounted seconds for by this function and those listed above it.
self the number of seconds accounted for by this seconds function alone. This is the major sort for this listing.
calls the number of times this function was invoked, if this function is profiled, else blank.
self the average number of milliseconds spent in this ms/call function per call, if this function is profiled, else blank.
total the average number of milliseconds spent in this ms/call function and its descendents per call, if this function is profiled, else blank.
name the name of the function. This is the minor sort for this listing. The index shows the location of the function in the gprof listing. If the index is in parenthesis it shows where it would appear in the gprof listing if it were to be printed.
Copyright (C) 2012-2014 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved.
Call graph (explanation follows)
granularity: each sample hit covers 4 byte(s) for 0.05% of 20.29 seconds
index % time self children called name
<spontaneous>
[1] 50.7 0.00 10.28 main [1]
0.00 5.13 1/1 PicocCallMain [5]
0.00 5.13 1/1 PicocPlatformScanFile [6]
0.00 0.01 1/1 PicocCleanup [69]
0.00 0.00 1/1 PicocInitialise [80]
-----------------------------------------------
[2] 50.6 1.63 8.64 2+52340864 <cycle 1 as a whole> [2]
1.31 7.23 18315797 ExpressionParse <cycle 1> [3]
0.25 0.69 23536054 ParseStatement <cycle 1> [15]
0.02 0.37 2621453 ParseBlock <cycle 1> [23]
0.02 0.15 10104 ParseFor <cycle 1> [33]
0.00 0.09 4 LibraryAdd <cycle 1> [42]
0.01 0.05 10012 ExpressionParseFunctionCall <cycle 1> [47]
0.02 0.04 5215647 ExpressionParseInt <cycle 1> [48]
0.00 0.01 10017 ParseDeclaration <cycle 1> [63]
0.00 0.01 4 IncludeFile <cycle 1> [73]
0.00 0.00 4 PicocParse <cycle 1> [79]
0.00 0.00 99 ParseFunctionDefinition <cycle 1> [84]
0.00 0.00 12 ParseDeclarationAssignment <cycle 1> [95]
0.00 0.00 2621659 ParseStatementMaybeRun <cycle 1> [113]
-----------------------------------------------
12 ParseDeclarationAssignment <cycle 1> [95]
30021 ExpressionParseFunctionCall <cycle 1> [47]
5215647 ExpressionParseInt <cycle 1> [48]
13070117 ParseStatement <cycle 1> [15]
[3] 42.1 1.31 7.23 18315797 ExpressionParse <cycle 1> [3]
0.84 2.29 65447525/65447525 ExpressionStackCollapse [7]
0.39 1.34 185811138/235586930 LexGetToken [8]
0.14 1.04 54858661/54858661 ExpressionStackPushLValue [13]
0.25 0.23 44480272/44480272 ExpressionStackPushOperator [22]
0.06 0.18 54858661/70570258 VariableGet [24]
0.01 0.17 5303031/5303031 ExpressionStackPushValue [31]
0.13 0.00 146596641/170203922 ParserCopy [34]
0.09 0.02 20967255/20967255 IsTypeToken [40]
0.03 0.00 18315793/167448166 HeapPopStack [27]
0.01 0.00 36631594/300957306 debugf [43]
0.00 0.00 10159/7920161 ExpressionPushInt [29]
0.00 0.00 10141/86356488 TypeStackSizeValue [32]
0.00 0.00 2/260 TypeParse [85]
0.00 0.00 2/44530472 VariableAllocValueFromType [17]
0.00 0.00 2/104662137 ExpressionStackPushValueNode [16]
10012 ExpressionParseFunctionCall <cycle 1> [47]
-----------------------------------------------
<spontaneous>
[4] 41.3 8.37 0.00 _mcount_private [4]
-----------------------------------------------
0.00 5.13 1/1 main [1]
[5] 25.3 0.00 5.13 1 PicocCallMain [5]
0.81 4.32 1/2 PicocParse <cycle 1> [79]
0.00 0.00 3/36 VariableDefinePlatformVar [65]
0.00 0.00 1/15701578 VariableDefined [46]
0.00 0.00 1/70570258 VariableGet [24]
0.00 0.00 2/140 TableStrRegister [123]
-----------------------------------------------
0.00 5.13 1/1 main [1]
[6] 25.3 0.00 5.13 1 PicocPlatformScanFile [6]
0.81 4.32 1/2 PicocParse <cycle 1> [79]
0.00 0.00 1/1 PlatformReadFile [147]
-----------------------------------------------
0.84 2.29 65447525/65447525 ExpressionParse <cycle 1> [3]
[7] 15.5 0.84 2.29 65447525 ExpressionStackCollapse [7]
0.52 1.24 41866023/41866023 ExpressionInfixOperator [9]
0.21 0.00 130826616/167448166 HeapPopStack [27]
0.11 0.07 86346344/86356488 TypeStackSizeValue [32]
0.01 0.08 2604094/2604094 ExpressionPostfixOperator [41]
0.05 0.00 175375322/300957306 debugf [43]
0.00 0.00 10154/7920161 ExpressionPushInt [29]
0.00 0.00 1/1 ExpressionPrefixOperator [101]
-----------------------------------------------
0.00 0.00 12/235586930 ParseDeclarationAssignment <cycle 1> [95]
0.00 0.00 28/235586930 TypeParseStruct [98]
0.00 0.00 437/235586930 ParseCountParams [94]
0.00 0.00 546/235586930 ParseFunctionDefinition <cycle 1> [84]
0.00 0.00 10144/235586930 TypeParseBack [87]
0.00 0.00 10277/235586930 TypeParseFront [64]
0.00 0.00 10405/235586930 TypeParseIdentPart [86]
0.00 0.00 30139/235586930 ParseDeclaration <cycle 1> [63]
0.00 0.00 40033/235586930 ExpressionParseFunctionCall <cycle 1> [47]
0.01 0.02 2621453/235586930 ParseBlock <cycle 1> [23]
0.01 0.02 2644510/235586930 ParseFor <cycle 1> [33]
0.09 0.32 44407808/235586930 ParseStatement <cycle 1> [15]
0.39 1.34 185811138/235586930 ExpressionParse <cycle 1> [3]
[8] 10.8 0.50 1.69 235586930 LexGetToken [8]
1.47 0.22 235586930/235586930 LexGetRawToken [10]
-----------------------------------------------
0.52 1.24 41866023/41866023 ExpressionStackCollapse [7]
[9] 8.7 0.52 1.24 41866023 ExpressionInfixOperator [9]
0.19 0.87 36570274/36570275 ExpressionPushFP [14]
0.01 0.13 5295748/7920161 ExpressionPushInt [29]
0.03 0.00 10465793/10465793 ExpressionAssignFP [53]
0.01 0.00 41866023/300957306 debugf [43]
0.01 0.00 10641497/21095333 ExpressionCoerceInteger [55]
0.00 0.00 10104/2614198 ExpressionAssignInt [62]
0.00 0.00 1/10007 ExpressionStackPushValueByType [74]
0.00 0.00 1/30013 ExpressionAssign [66]
-----------------------------------------------
1.47 0.22 235586930/235586930 LexGetToken [8]
[10] 8.4 1.47 0.22 235586930 LexGetRawToken [10]
0.22 0.00 235586930/235588246 LexTokenSize [28]
-----------------------------------------------
0.00 0.00 2/253894946 LexCopyTokens [105]
0.00 0.00 3/253894946 TypeCreateOpaqueStruct [104]
0.00 0.00 11/253894946 TypeAdd [99]
0.00 0.00 30209/253894946 TableSet [52]
0.12 0.10 44480272/253894946 ExpressionStackPushOperator [22]
0.13 0.11 49863651/253894946 VariableAllocValueAndData [18]
0.14 0.12 54858661/253894946 VariableAllocValueFromExistingData [21]
0.28 0.24 104662137/253894946 ExpressionStackPushValueNode [16]
[11] 6.1 0.67 0.57 253894946 VariableAlloc [11]
0.57 0.00 253894591/253914706 HeapAllocStack [19]
0.00 0.00 355/688 HeapAllocMem [118]
-----------------------------------------------
<spontaneous>
[12] 6.1 1.23 0.00 TableSearch [12]
-----------------------------------------------
0.14 1.04 54858661/54858661 ExpressionParse <cycle 1> [3]
[13] 5.9 0.14 1.04 54858661 ExpressionStackPushLValue [13]
0.07 0.48 54858661/54858661 VariableAllocValueShared [20]
0.21 0.27 54858661/104662137 ExpressionStackPushValueNode [16]
-----------------------------------------------
0.00 0.00 1/36570275 ExpressionPrefixOperator [101]
0.19 0.87 36570274/36570275 ExpressionInfixOperator [9]
[14] 5.2 0.19 0.87 36570275 ExpressionPushFP [14]
0.08 0.46 36570275/44530472 VariableAllocValueFromType [17]
0.14 0.18 36570275/104662137 ExpressionStackPushValueNode [16]
-----------------------------------------------
15 PicocParse <cycle 1> [79]
10001 ExpressionParseFunctionCall <cycle 1> [47]
2621659 ParseStatementMaybeRun <cycle 1> [113]
5215645 ParseFor <cycle 1> [33]
15688734 ParseBlock <cycle 1> [23]
[15] 4.6 0.25 0.69 23536054 ParseStatement <cycle 1> [15]
0.09 0.32 44407808/235586930 LexGetToken [8]
0.04 0.05 13059995/18305649 VariableStackPop [36]
0.02 0.04 13070117/15701578 VariableDefined [46]
0.01 0.04 13070101/70570258 VariableGet [24]
0.05 0.00 20924456/20924456 DebugCheckStatement [49]
0.02 0.00 23536054/170203922 ParserCopy [34]
0.00 0.00 4/4 ParseTypedef [91]
0.00 0.00 1/30013 ExpressionAssign [66]
13070117 ExpressionParse <cycle 1> [3]
2621453 ParseBlock <cycle 1> [23]
2601449 ExpressionParseInt <cycle 1> [48]
2601449 ParseStatementMaybeRun <cycle 1> [113]
10104 ParseFor <cycle 1> [33]
10017 ParseDeclaration <cycle 1> [63]
4 IncludeFile <cycle 1> [73]
-----------------------------------------------
0.00 0.00 2/104662137 ExpressionParse <cycle 1> [3]
0.00 0.00 10007/104662137 ExpressionStackPushValueByType [74]
0.02 0.03 5303031/104662137 ExpressionStackPushValue [31]
0.03 0.04 7920161/104662137 ExpressionPushInt [29]
0.14 0.18 36570275/104662137 ExpressionPushFP [14]
0.21 0.27 54858661/104662137 ExpressionStackPushLValue [13]
[16] 4.6 0.41 0.51 104662137 ExpressionStackPushValueNode [16]
0.28 0.24 104662137/253894946 VariableAlloc [11]
-----------------------------------------------
0.00 0.00 2/44530472 ExpressionParse <cycle 1> [3]
0.00 0.00 22/44530472 VariableDefine [51]
0.00 0.00 10007/44530472 ExpressionStackPushValueByType [74]
0.00 0.00 30005/44530472 ExpressionParseFunctionCall <cycle 1> [47]
0.02 0.10 7920161/44530472 ExpressionPushInt [29]
0.08 0.46 36570275/44530472 ExpressionPushFP [14]
[17] 3.3 0.10 0.57 44530472 VariableAllocValueFromType [17]
0.31 0.22 44530472/49863651 VariableAllocValueAndData [18]
0.04 0.00 44530472/44530472 TypeSize [50]
-----------------------------------------------
0.00 0.00 7/49863651 LexGetStringConstant [92]
0.00 0.00 36/49863651 VariableDefinePlatformVar [65]
0.00 0.00 99/49863651 ParseFunctionDefinition <cycle 1> [84]
0.04 0.03 5333037/49863651 VariableAllocValueAndCopy [37]
0.31 0.22 44530472/49863651 VariableAllocValueFromType [17]
[18] 2.9 0.35 0.24 49863651 VariableAllocValueAndData [18]
0.13 0.11 49863651/253894946 VariableAlloc [11]
-----------------------------------------------
0.00 0.00 7/253914706 LexGetStringConstant [92]
0.00 0.00 101/253914706 LexTokenise [45]
0.00 0.00 10001/253914706 VariableStackFrameAdd [75]
0.00 0.00 10006/253914706 ExpressionParseFunctionCall <cycle 1> [47]
0.57 0.00 253894591/253914706 VariableAlloc [11]
[19] 2.8 0.57 0.00 253914706 HeapAllocStack [19]
-----------------------------------------------
0.07 0.48 54858661/54858661 ExpressionStackPushLValue [13]
[20] 2.8 0.07 0.48 54858661 VariableAllocValueShared [20]
0.22 0.27 54858661/54858661 VariableAllocValueFromExistingData [21]
-----------------------------------------------
0.22 0.27 54858661/54858661 VariableAllocValueShared [20]
[21] 2.4 0.22 0.27 54858661 VariableAllocValueFromExistingData [21]
0.14 0.12 54858661/253894946 VariableAlloc [11]
-----------------------------------------------
0.25 0.23 44480272/44480272 ExpressionParse <cycle 1> [3]
[22] 2.3 0.25 0.23 44480272 ExpressionStackPushOperator [22]
0.12 0.10 44480272/253894946 VariableAlloc [11]
0.01 0.00 44480272/300957306 debugf [43]
-----------------------------------------------
2621453 ParseStatement <cycle 1> [15]
[23] 1.9 0.02 0.37 2621453 ParseBlock <cycle 1> [23]
0.19 0.00 2621453/2631557 VariableScopeEnd [30]
0.15 0.00 2621453/2631557 VariableScopeBegin [35]
0.01 0.02 2621453/235586930 LexGetToken [8]
15688734 ParseStatement <cycle 1> [15]
-----------------------------------------------
0.00 0.00 1/70570258 PicocCallMain [5]
0.00 0.00 40/70570258 TypeParseFront [64]
0.00 0.00 10006/70570258 ExpressionParseFunctionCall <cycle 1> [47]
0.00 0.01 2631449/70570258 IsTypeToken [40]
0.01 0.04 13070101/70570258 ParseStatement <cycle 1> [15]
0.06 0.18 54858661/70570258 ExpressionParse <cycle 1> [3]
[24] 1.5 0.08 0.23 70570258 VariableGet [24]
0.22 0.01 70590269/86312362 TableGet [26]
-----------------------------------------------
<spontaneous>
[25] 1.4 0.29 0.00 _fentry__ [25]
-----------------------------------------------
0.00 0.00 2/86312362 ParseFunctionDefinition <cycle 1> [84]
0.00 0.00 7/86312362 VariableStringLiteralGet [102]
0.00 0.00 485/86312362 LexCheckReservedWord [96]
0.00 0.00 10017/86312362 VariableDefineButIgnoreIdentical [88]
0.05 0.00 15711582/86312362 VariableDefined [46]
0.22 0.01 70590269/86312362 VariableGet [24]
[26] 1.4 0.27 0.01 86312362 TableGet [26]
0.01 0.00 86312362/86352580 TableInitTable [67]
-----------------------------------------------
0.00 0.00 7/167448166 LexGetStringConstant [92]
0.00 0.00 101/167448166 LexTokenise [45]
0.03 0.00 18305649/167448166 VariableStackPop [36]
0.03 0.00 18315793/167448166 ExpressionParse <cycle 1> [3]
0.21 0.00 130826616/167448166 ExpressionStackCollapse [7]
[27] 1.3 0.27 0.00 167448166 HeapPopStack [27]
-----------------------------------------------
0.00 0.00 1316/235588246 LexTokenise [45]
0.22 0.00 235586930/235588246 LexGetRawToken [10]
[28] 1.1 0.23 0.00 235588246 LexTokenSize [28]
-----------------------------------------------
0.00 0.00 6/7920161 ExpressionParseFunctionCall <cycle 1> [47]
0.00 0.00 10154/7920161 ExpressionStackCollapse [7]
0.00 0.00 10159/7920161 ExpressionParse <cycle 1> [3]
0.00 0.06 2604094/7920161 ExpressionPostfixOperator [41]
0.01 0.13 5295748/7920161 ExpressionInfixOperator [9]
[29] 1.0 0.01 0.19 7920161 ExpressionPushInt [29]
0.02 0.10 7920161/44530472 VariableAllocValueFromType [17]
0.03 0.04 7920161/104662137 ExpressionStackPushValueNode [16]
-----------------------------------------------
0.00 0.00 10104/2631557 ParseFor <cycle 1> [33]
0.19 0.00 2621453/2631557 ParseBlock <cycle 1> [23]
[30] 1.0 0.20 0.00 2631557 VariableScopeEnd [30]
-----------------------------------------------
0.01 0.17 5303031/5303031 ExpressionParse <cycle 1> [3]
[31] 0.9 0.01 0.17 5303031 ExpressionStackPushValue [31]
0.05 0.08 5303031/5333037 VariableAllocValueAndCopy [37]
0.02 0.03 5303031/104662137 ExpressionStackPushValueNode [16]
-----------------------------------------------
0.00 0.00 3/86356488 StdioBasePrintf [106]
0.00 0.00 10141/86356488 ExpressionParse <cycle 1> [3]
0.11 0.07 86346344/86356488 ExpressionStackCollapse [7]
[32] 0.9 0.11 0.07 86356488 TypeStackSizeValue [32]
0.07 0.00 31497831/55136515 TypeSizeValue [38]
-----------------------------------------------
10104 ParseStatement <cycle 1> [15]
[33] 0.8 0.02 0.15 10104 ParseFor <cycle 1> [33]
0.12 0.00 7860155/7860155 ParserCopyPos [39]
0.01 0.02 2644510/235586930 LexGetToken [8]
0.00 0.00 10104/2631557 VariableScopeEnd [30]
0.00 0.00 10104/2631557 VariableScopeBegin [35]
5215645 ParseStatement <cycle 1> [15]
2614198 ExpressionParseInt <cycle 1> [48]
20208 ParseStatementMaybeRun <cycle 1> [113]
-----------------------------------------------
0.00 0.00 101/170203922 ParseFunctionDefinition <cycle 1> [84]
0.00 0.00 10001/170203922 ExpressionParseFunctionCall <cycle 1> [47]
0.00 0.00 10001/170203922 VariableStackFrameAdd [75]
0.00 0.00 10001/170203922 VariableStackFramePop [90]
0.00 0.00 10277/170203922 TypeParseFront [64]
0.00 0.00 10558/170203922 TypeParseIdentPart [86]
0.00 0.00 20288/170203922 TypeParseBack [87]
0.02 0.00 23536054/170203922 ParseStatement <cycle 1> [15]
0.13 0.00 146596641/170203922 ExpressionParse <cycle 1> [3]
[34] 0.7 0.15 0.00 170203922 ParserCopy [34]
-----------------------------------------------
0.00 0.00 10104/2631557 ParseFor <cycle 1> [33]
0.15 0.00 2621453/2631557 ParseBlock <cycle 1> [23]
[35] 0.7 0.15 0.00 2631557 VariableScopeBegin [35]
-----------------------------------------------
0.00 0.00 6/18305649 ParseDeclarationAssignment <cycle 1> [95]
0.00 0.00 30005/18305649 ExpressionParseFunctionCall <cycle 1> [47]
0.02 0.02 5215643/18305649 ExpressionParseInt <cycle 1> [48]
0.04 0.05 13059995/18305649 ParseStatement <cycle 1> [15]
[36] 0.6 0.06 0.07 18305649 VariableStackPop [36]
0.04 0.00 18305647/55136515 TypeSizeValue [38]
0.03 0.00 18305649/167448166 HeapPopStack [27]
-----------------------------------------------
0.00 0.00 30006/5333037 VariableDefine [51]
0.05 0.08 5303031/5333037 ExpressionStackPushValue [31]
[37] 0.6 0.05 0.08 5333037 VariableAllocValueAndCopy [37]
0.04 0.03 5333037/49863651 VariableAllocValueAndData [18]
0.01 0.00 5333037/55136515 TypeSizeValue [38]
-----------------------------------------------
0.01 0.00 5333037/55136515 VariableAllocValueAndCopy [37]
0.04 0.00 18305647/55136515 VariableStackPop [36]
0.07 0.00 31497831/55136515 TypeStackSizeValue [32]
[38] 0.6 0.13 0.00 55136515 TypeSizeValue [38]
-----------------------------------------------
0.12 0.00 7860155/7860155 ParseFor <cycle 1> [33]
[39] 0.6 0.12 0.00 7860155 ParserCopyPos [39]
-----------------------------------------------
0.09 0.02 20967255/20967255 ExpressionParse <cycle 1> [3]
[40] 0.5 0.09 0.02 20967255 IsTypeToken [40]
0.00 0.01 2631454/15701578 VariableDefined [46]
0.00 0.01 2631449/70570258 VariableGet [24]
-----------------------------------------------
0.01 0.08 2604094/2604094 ExpressionStackCollapse [7]
[41] 0.4 0.01 0.08 2604094 ExpressionPostfixOperator [41]
0.00 0.06 2604094/7920161 ExpressionPushInt [29]
0.01 0.00 2604094/2614198 ExpressionAssignInt [62]
0.00 0.00 2604094/21095333 ExpressionCoerceInteger [55]
0.00 0.00 2604094/300957306 debugf [43]
-----------------------------------------------
4 IncludeFile <cycle 1> [73]
[42] 0.4 0.00 0.09 4 LibraryAdd <cycle 1> [42]
0.00 0.07 97/101 LexAnalyse [44]
0.01 0.00 97/101 LexInitParser [59]
0.00 0.00 97/260 TypeParse [85]
0.00 0.00 97/689 HeapFreeMem [117]
0.00 0.00 4/140 TableStrRegister [123]
97 ParseFunctionDefinition <cycle 1> [84]
-----------------------------------------------
0.00 0.00 1/300957306 ExpressionPrefixOperator [101]
0.00 0.00 2604094/300957306 ExpressionPostfixOperator [41]
0.01 0.00 36631594/300957306 ExpressionParse <cycle 1> [3]
0.01 0.00 41866023/300957306 ExpressionInfixOperator [9]
0.01 0.00 44480272/300957306 ExpressionStackPushOperator [22]
0.05 0.00 175375322/300957306 ExpressionStackCollapse [7]
[43] 0.4 0.09 0.00 300957306 debugf [43]
-----------------------------------------------
0.00 0.00 4/101 PicocParse <cycle 1> [79]
0.00 0.07 97/101 LibraryAdd <cycle 1> [42]
[44] 0.4 0.00 0.08 101 LexAnalyse [44]
0.06 0.02 101/101 LexTokenise [45]
-----------------------------------------------
0.06 0.02 101/101 LexAnalyse [44]
[45] 0.4 0.06 0.02 101 LexTokenise [45]
0.01 0.00 1316/1316 LexScanGetToken [58]
0.00 0.00 1316/235588246 LexTokenSize [28]
0.00 0.00 101/253914706 HeapAllocStack [19]
0.00 0.00 101/167448166 HeapPopStack [27]
0.00 0.00 101/688 HeapAllocMem [118]
-----------------------------------------------
0.00 0.00 1/15701578 PicocCallMain [5]
0.00 0.00 1/15701578 StdioSetupFunc [77]
0.00 0.00 1/15701578 StdlibSetupFunc [83]
0.00 0.00 4/15701578 IncludeFile <cycle 1> [73]
0.00 0.01 2631454/15701578 IsTypeToken [40]
0.02 0.04 13070117/15701578 ParseStatement <cycle 1> [15]
[46] 0.3 0.02 0.05 15701578 VariableDefined [46]
0.05 0.00 15711582/86312362 TableGet [26]
-----------------------------------------------
10012 ExpressionParse <cycle 1> [3]
[47] 0.3 0.01 0.05 10012 ExpressionParseFunctionCall <cycle 1> [47]
0.00 0.03 30002/30028 VariableDefine [51]
0.00 0.01 30005/30013 ExpressionAssign [66]
0.00 0.00 10006/10007 ExpressionStackPushValueByType [74]
0.01 0.00 10001/10001 VariableStackFrameAdd [75]
0.00 0.00 30005/44530472 VariableAllocValueFromType [17]
0.00 0.00 40033/235586930 LexGetToken [8]
0.00 0.00 30005/18305649 VariableStackPop [36]
0.00 0.00 10006/70570258 VariableGet [24]
0.00 0.00 10006/253914706 HeapAllocStack [19]
0.00 0.00 10001/170203922 ParserCopy [34]
0.00 0.00 10001/10001 VariableStackFramePop [90]
0.00 0.00 6/7920161 ExpressionPushInt [29]
0.00 0.00 3/3 StdioPrintf [107]
0.00 0.00 10006/20007 HeapPushStackFrame [115]
0.00 0.00 10006/20007 HeapPopStackFrame [114]
0.00 0.00 2/2 StdClock [133]
30021 ExpressionParse <cycle 1> [3]
10001 ParseStatement <cycle 1> [15]
-----------------------------------------------
2601449 ParseStatement <cycle 1> [15]
2614198 ParseFor <cycle 1> [33]
[48] 0.3 0.02 0.04 5215647 ExpressionParseInt <cycle 1> [48]
0.02 0.02 5215643/18305649 VariableStackPop [36]
0.00 0.00 5215643/21095333 ExpressionCoerceInteger [55]
5215647 ExpressionParse <cycle 1> [3]
-----------------------------------------------
0.05 0.00 20924456/20924456 ParseStatement <cycle 1> [15]
[49] 0.2 0.05 0.00 20924456 DebugCheckStatement [49]
-----------------------------------------------
0.04 0.00 44530472/44530472 VariableAllocValueFromType [17]
[50] 0.2 0.04 0.00 44530472 TypeSize [50]
-----------------------------------------------
0.00 0.00 4/30028 ParseTypedef [91]
0.00 0.00 4/30028 IncludeFile <cycle 1> [73]
0.00 0.00 18/30028 VariableDefineButIgnoreIdentical [88]
0.00 0.03 30002/30028 ExpressionParseFunctionCall <cycle 1> [47]
[51] 0.2 0.00 0.03 30028 VariableDefine [51]
0.03 0.00 30028/30209 TableSet [52]
0.00 0.00 30006/5333037 VariableAllocValueAndCopy [37]
0.00 0.00 22/44530472 VariableAllocValueFromType [17]
-----------------------------------------------
0.00 0.00 7/30209 VariableStringLiteralDefine [93]
0.00 0.00 36/30209 VariableDefinePlatformVar [65]
0.00 0.00 39/30209 LexInit [89]
0.00 0.00 99/30209 ParseFunctionDefinition <cycle 1> [84]
0.03 0.00 30028/30209 VariableDefine [51]
[52] 0.1 0.03 0.00 30209 TableSet [52]
0.00 0.00 30209/253894946 VariableAlloc [11]
0.00 0.00 30209/86352580 TableInitTable [67]
-----------------------------------------------
0.03 0.00 10465793/10465793 ExpressionInfixOperator [9]
[53] 0.1 0.03 0.00 10465793 ExpressionAssignFP [53]
-----------------------------------------------
<spontaneous>
[54] 0.1 0.03 0.00 HeapUnpopStack [54]
-----------------------------------------------
0.00 0.00 30005/21095333 ExpressionAssign [66]
0.00 0.00 2604094/21095333 ExpressionAssignInt [62]
0.00 0.00 2604094/21095333 ExpressionPostfixOperator [41]
0.00 0.00 5215643/21095333 ExpressionParseInt <cycle 1> [48]
0.01 0.00 10641497/21095333 ExpressionInfixOperator [9]
[55] 0.1 0.02 0.00 21095333 ExpressionCoerceInteger [55]
-----------------------------------------------
<spontaneous>
[56] 0.1 0.02 0.00 LexRawPeekToken [56]
-----------------------------------------------
<spontaneous>
[57] 0.1 0.02 0.00 VariableRealloc [57]
-----------------------------------------------
0.01 0.00 1316/1316 LexTokenise [45]
[58] 0.1 0.01 0.00 1316 LexScanGetToken [58]
0.00 0.00 7/7 LexGetStringConstant [92]
0.00 0.00 485/485 LexGetWord [97]
0.00 0.00 21/21 LexGetNumber [126]
0.00 0.00 14/14 LexSkipComment [127]
-----------------------------------------------
0.00 0.00 4/101 PicocParse <cycle 1> [79]
0.01 0.00 97/101 LibraryAdd <cycle 1> [42]
[59] 0.1 0.01 0.00 101 LexInitParser [59]
-----------------------------------------------
<spontaneous>
[60] 0.1 0.01 0.00 LexHashEndif [60]
-----------------------------------------------
<spontaneous>
[61] 0.1 0.01 0.00 LexHashIncPos [61]
-----------------------------------------------
0.00 0.00 10104/2614198 ExpressionInfixOperator [9]
0.01 0.00 2604094/2614198 ExpressionPostfixOperator [41]
[62] 0.1 0.01 0.00 2614198 ExpressionAssignInt [62]
0.00 0.00 2604094/21095333 ExpressionCoerceInteger [55]
-----------------------------------------------
10017 ParseStatement <cycle 1> [15]
[63] 0.1 0.00 0.01 10017 ParseDeclaration <cycle 1> [63]
0.01 0.00 10017/10277 TypeParseFront [64]
0.00 0.00 30139/235586930 LexGetToken [8]
0.00 0.00 10037/10297 TypeParseIdentPart [86]
0.00 0.00 10017/10017 VariableDefineButIgnoreIdentical [88]
12 ParseDeclarationAssignment <cycle 1> [95]
2 ParseFunctionDefinition <cycle 1> [84]
-----------------------------------------------
0.00 0.00 260/10277 TypeParse [85]
0.01 0.00 10017/10277 ParseDeclaration <cycle 1> [63]
[64] 0.0 0.01 0.00 10277 TypeParseFront [64]
0.00 0.00 10277/235586930 LexGetToken [8]
0.00 0.00 10277/170203922 ParserCopy [34]
0.00 0.00 7/7 TypeParseStruct [98]
0.00 0.00 40/70570258 VariableGet [24]
-----------------------------------------------
0.00 0.00 1/36 StdlibSetupFunc [83]
0.00 0.00 2/36 StdTimeSetupFunc [82]
0.00 0.00 3/36 LibraryInit [81]
0.00 0.00 3/36 PicocCallMain [5]
0.00 0.00 13/36 MathSetupFunc [78]
0.00 0.00 14/36 StdioSetupFunc [77]
[65] 0.0 0.01 0.00 36 VariableDefinePlatformVar [65]
0.00 0.00 36/30209 TableSet [52]
0.00 0.00 36/49863651 VariableAllocValueAndData [18]
0.00 0.00 36/140 TableStrRegister [123]
-----------------------------------------------
0.00 0.00 1/30013 ParseStatement <cycle 1> [15]
0.00 0.00 1/30013 ExpressionInfixOperator [9]
0.00 0.00 6/30013 ParseDeclarationAssignment <cycle 1> [95]
0.00 0.01 30005/30013 ExpressionParseFunctionCall <cycle 1> [47]
[66] 0.0 0.00 0.01 30013 ExpressionAssign [66]
0.01 0.00 4/4 ExpressionAssignToPointer [68]
0.00 0.00 30005/21095333 ExpressionCoerceInteger [55]
0.00 0.00 4/5 ExpressionCoerceFP [130]
-----------------------------------------------
0.00 0.00 1/86352580 TableInit [109]
0.00 0.00 1/86352580 LexInit [89]
0.00 0.00 1/86352580 DebugInit [110]
0.00 0.00 2/86352580 VariableInit [108]
0.00 0.00 3/86352580 TypeCreateOpaqueStruct [104]
0.00 0.00 10001/86352580 VariableStackFrameAdd [75]
0.00 0.00 30209/86352580 TableSet [52]
0.01 0.00 86312362/86352580 TableGet [26]
[67] 0.0 0.01 0.00 86352580 TableInitTable [67]
-----------------------------------------------
0.01 0.00 4/4 ExpressionAssign [66]
[68] 0.0 0.01 0.00 4 ExpressionAssignToPointer [68]
-----------------------------------------------
0.00 0.01 1/1 main [1]
[69] 0.0 0.00 0.01 1 PicocCleanup [69]
0.01 0.00 1/1 VariableCleanup [70]
0.00 0.00 1/1 DebugCleanup [136]
0.00 0.00 1/1 IncludeCleanup [139]
0.00 0.00 1/1 ParseCleanup [143]
0.00 0.00 1/1 LexCleanup [141]
0.00 0.00 1/1 TypeCleanup [150]
0.00 0.00 1/1 TableStrFree [149]
0.00 0.00 1/1 HeapCleanup [137]
0.00 0.00 1/1 PlatformCleanup [144]
-----------------------------------------------
0.01 0.00 1/1 PicocCleanup [69]
[70] 0.0 0.01 0.00 1 VariableCleanup [70]
0.00 0.00 2/5 VariableTableCleanup [131]
-----------------------------------------------
<spontaneous>
[71] 0.0 0.01 0.00 memcpy [71]
-----------------------------------------------
<spontaneous>
[72] 0.0 0.01 0.00 memset [72]
-----------------------------------------------
4 ParseStatement <cycle 1> [15]
[73] 0.0 0.00 0.01 4 IncludeFile <cycle 1> [73]
0.00 0.00 1/1 StdioSetupFunc [77]
0.00 0.00 1/1 MathSetupFunc [78]
0.00 0.00 1/1 StdTimeSetupFunc [82]
0.00 0.00 1/1 StdlibSetupFunc [83]
0.00 0.00 4/30028 VariableDefine [51]
0.00 0.00 4/15701578 VariableDefined [46]
4 LibraryAdd <cycle 1> [42]
2 PicocParse <cycle 1> [79]
-----------------------------------------------
0.00 0.00 1/10007 ExpressionInfixOperator [9]
0.00 0.00 10006/10007 ExpressionParseFunctionCall <cycle 1> [47]
[74] 0.0 0.01 0.00 10007 ExpressionStackPushValueByType [74]
0.00 0.00 10007/44530472 VariableAllocValueFromType [17]
0.00 0.00 10007/104662137 ExpressionStackPushValueNode [16]
-----------------------------------------------
0.01 0.00 10001/10001 ExpressionParseFunctionCall <cycle 1> [47]
[75] 0.0 0.01 0.00 10001 VariableStackFrameAdd [75]
0.00 0.00 10001/253914706 HeapAllocStack [19]
0.00 0.00 10001/170203922 ParserCopy [34]
0.00 0.00 10001/86352580 TableInitTable [67]
0.00 0.00 10001/20007 HeapPushStackFrame [115]
-----------------------------------------------
<spontaneous>
[76] 0.0 0.01 0.00 VariableDefinedAndOutOfScope [76]
-----------------------------------------------
0.00 0.00 1/1 IncludeFile <cycle 1> [73]
[77] 0.0 0.00 0.00 1 StdioSetupFunc [77]
0.00 0.00 14/36 VariableDefinePlatformVar [65]
0.00 0.00 2/3 TypeCreateOpaqueStruct [104]
0.00 0.00 1/15701578 VariableDefined [46]
0.00 0.00 1/119 TypeGetMatching [100]
0.00 0.00 3/140 TableStrRegister [123]
-----------------------------------------------
0.00 0.00 1/1 IncludeFile <cycle 1> [73]
[78] 0.0 0.00 0.00 1 MathSetupFunc [78]
0.00 0.00 13/36 VariableDefinePlatformVar [65]
-----------------------------------------------
2 IncludeFile <cycle 1> [73]
0.81 4.32 1/2 PicocCallMain [5]
0.81 4.32 1/2 PicocPlatformScanFile [6]
[79] 0.0 0.00 0.00 4 PicocParse <cycle 1> [79]
0.00 0.00 4/101 LexAnalyse [44]
0.00 0.00 4/101 LexInitParser [59]
0.00 0.00 4/140 TableStrRegister [123]
0.00 0.00 3/689 HeapFreeMem [117]
0.00 0.00 1/688 HeapAllocMem [118]
15 ParseStatement <cycle 1> [15]
-----------------------------------------------
0.00 0.00 1/1 main [1]
[80] 0.0 0.00 0.00 1 PicocInitialise [80]
0.00 0.00 1/1 LibraryInit [81]
0.00 0.00 1/1 LexInit [89]
0.00 0.00 1/1 TypeInit [103]
0.00 0.00 1/1 VariableInit [108]
0.00 0.00 1/1 DebugInit [110]
0.00 0.00 1/633 TableInit [109]
0.00 0.00 1/1 PlatformInit [145]
0.00 0.00 1/1 BasicIOInit [135]
0.00 0.00 1/1 HeapInit [138]
0.00 0.00 1/1 IncludeInit [140]
0.00 0.00 1/1 PlatformLibraryInit [146]
-----------------------------------------------
0.00 0.00 1/1 PicocInitialise [80]
[81] 0.0 0.00 0.00 1 LibraryInit [81]
0.00 0.00 3/36 VariableDefinePlatformVar [65]
0.00 0.00 1/140 TableStrRegister [123]
-----------------------------------------------
0.00 0.00 1/1 IncludeFile <cycle 1> [73]
[82] 0.0 0.00 0.00 1 StdTimeSetupFunc [82]
0.00 0.00 2/36 VariableDefinePlatformVar [65]
0.00 0.00 1/3 TypeCreateOpaqueStruct [104]
0.00 0.00 1/140 TableStrRegister [123]
-----------------------------------------------
0.00 0.00 1/1 IncludeFile <cycle 1> [73]
[83] 0.0 0.00 0.00 1 StdlibSetupFunc [83]
0.00 0.00 1/36 VariableDefinePlatformVar [65]
0.00 0.00 1/15701578 VariableDefined [46]
0.00 0.00 1/140 TableStrRegister [123]
-----------------------------------------------
2 ParseDeclaration <cycle 1> [63]
97 LibraryAdd <cycle 1> [42]
[84] 0.0 0.00 0.00 99 ParseFunctionDefinition <cycle 1> [84]
0.00 0.00 157/260 TypeParse [85]
0.00 0.00 99/30209 TableSet [52]
0.00 0.00 546/235586930 LexGetToken [8]
0.00 0.00 99/99 ParseCountParams [94]
0.00 0.00 99/49863651 VariableAllocValueAndData [18]
0.00 0.00 101/170203922 ParserCopy [34]
0.00 0.00 2/2 LexCopyTokens [105]
0.00 0.00 2/86312362 TableGet [26]
2 ParseStatementMaybeRun <cycle 1> [113]
-----------------------------------------------
0.00 0.00 2/260 ExpressionParse <cycle 1> [3]
0.00 0.00 4/260 ParseTypedef [91]
0.00 0.00 97/260 LibraryAdd <cycle 1> [42]
0.00 0.00 157/260 ParseFunctionDefinition <cycle 1> [84]
[85] 0.0 0.00 0.00 260 TypeParse [85]
0.00 0.00 260/10277 TypeParseFront [64]
0.00 0.00 260/10297 TypeParseIdentPart [86]
-----------------------------------------------
0.00 0.00 260/10297 TypeParse [85]
0.00 0.00 10037/10297 ParseDeclaration <cycle 1> [63]
[86] 0.0 0.00 0.00 10297 TypeParseIdentPart [86]
0.00 0.00 10144/10144 TypeParseBack [87]
0.00 0.00 10405/235586930 LexGetToken [8]
0.00 0.00 10558/170203922 ParserCopy [34]
0.00 0.00 108/119 TypeGetMatching [100]
-----------------------------------------------
0.00 0.00 10144/10144 TypeParseIdentPart [86]
[87] 0.0 0.00 0.00 10144 TypeParseBack [87]
0.00 0.00 10144/235586930 LexGetToken [8]
0.00 0.00 20288/170203922 ParserCopy [34]
-----------------------------------------------
0.00 0.00 10017/10017 ParseDeclaration <cycle 1> [63]
[88] 0.0 0.00 0.00 10017 VariableDefineButIgnoreIdentical [88]
0.00 0.00 10017/86312362 TableGet [26]
0.00 0.00 18/30028 VariableDefine [51]
0.00 0.00 10017/10017 TypeIsForwardDeclared [116]
-----------------------------------------------
0.00 0.00 1/1 PicocInitialise [80]
[89] 0.0 0.00 0.00 1 LexInit [89]
0.00 0.00 39/30209 TableSet [52]
0.00 0.00 1/86352580 TableInitTable [67]
0.00 0.00 39/140 TableStrRegister [123]
-----------------------------------------------
0.00 0.00 10001/10001 ExpressionParseFunctionCall <cycle 1> [47]
[90] 0.0 0.00 0.00 10001 VariableStackFramePop [90]
0.00 0.00 10001/170203922 ParserCopy [34]
0.00 0.00 10001/20007 HeapPopStackFrame [114]
-----------------------------------------------
0.00 0.00 4/4 ParseStatement <cycle 1> [15]
[91] 0.0 0.00 0.00 4 ParseTypedef [91]
0.00 0.00 4/30028 VariableDefine [51]
0.00 0.00 4/260 TypeParse [85]
-----------------------------------------------
0.00 0.00 7/7 LexScanGetToken [58]
[92] 0.0 0.00 0.00 7 LexGetStringConstant [92]
0.00 0.00 7/7 VariableStringLiteralDefine [93]
0.00 0.00 7/49863651 VariableAllocValueAndData [18]
0.00 0.00 7/7 VariableStringLiteralGet [102]
0.00 0.00 7/253914706 HeapAllocStack [19]
0.00 0.00 7/167448166 HeapPopStack [27]
0.00 0.00 101/101 LexUnEscapeCharacter [124]
0.00 0.00 7/632 TableStrRegister2 [121]
-----------------------------------------------
0.00 0.00 7/7 LexGetStringConstant [92]
[93] 0.0 0.00 0.00 7 VariableStringLiteralDefine [93]
0.00 0.00 7/30209 TableSet [52]
-----------------------------------------------
0.00 0.00 99/99 ParseFunctionDefinition <cycle 1> [84]
[94] 0.0 0.00 0.00 99 ParseCountParams [94]
0.00 0.00 437/235586930 LexGetToken [8]
-----------------------------------------------
12 ParseDeclaration <cycle 1> [63]
[95] 0.0 0.00 0.00 12 ParseDeclarationAssignment <cycle 1> [95]
0.00 0.00 6/30013 ExpressionAssign [66]
0.00 0.00 12/235586930 LexGetToken [8]
0.00 0.00 6/18305649 VariableStackPop [36]
12 ExpressionParse <cycle 1> [3]
-----------------------------------------------
0.00 0.00 485/485 LexGetWord [97]
[96] 0.0 0.00 0.00 485 LexCheckReservedWord [96]
0.00 0.00 485/86312362 TableGet [26]
-----------------------------------------------
0.00 0.00 485/485 LexScanGetToken [58]
[97] 0.0 0.00 0.00 485 LexGetWord [97]
0.00 0.00 485/485 LexCheckReservedWord [96]
0.00 0.00 485/632 TableStrRegister2 [121]
-----------------------------------------------
0.00 0.00 7/7 TypeParseFront [64]
[98] 0.0 0.00 0.00 7 TypeParseStruct [98]
0.00 0.00 28/235586930 LexGetToken [8]
0.00 0.00 7/119 TypeGetMatching [100]
-----------------------------------------------
0.00 0.00 4/11 TypeInit [103]
0.00 0.00 7/11 TypeGetMatching [100]
[99] 0.0 0.00 0.00 11 TypeAdd [99]
0.00 0.00 11/253894946 VariableAlloc [11]
-----------------------------------------------
0.00 0.00 1/119 StdioSetupFunc [77]
0.00 0.00 3/119 TypeCreateOpaqueStruct [104]
0.00 0.00 7/119 TypeParseStruct [98]
0.00 0.00 108/119 TypeParseIdentPart [86]
[100] 0.0 0.00 0.00 119 TypeGetMatching [100]
0.00 0.00 7/11 TypeAdd [99]
-----------------------------------------------
0.00 0.00 1/1 ExpressionStackCollapse [7]
[101] 0.0 0.00 0.00 1 ExpressionPrefixOperator [101]
0.00 0.00 1/36570275 ExpressionPushFP [14]
0.00 0.00 1/300957306 debugf [43]
-----------------------------------------------
0.00 0.00 7/7 LexGetStringConstant [92]
[102] 0.0 0.00 0.00 7 VariableStringLiteralGet [102]
0.00 0.00 7/86312362 TableGet [26]
-----------------------------------------------
0.00 0.00 1/1 PicocInitialise [80]
[103] 0.0 0.00 0.00 1 TypeInit [103]
0.00 0.00 4/11 TypeAdd [99]
0.00 0.00 14/14 TypeAddBaseType [128]
-----------------------------------------------
0.00 0.00 1/3 StdTimeSetupFunc [82]
0.00 0.00 2/3 StdioSetupFunc [77]
[104] 0.0 0.00 0.00 3 TypeCreateOpaqueStruct [104]
0.00 0.00 3/253894946 VariableAlloc [11]
0.00 0.00 3/119 TypeGetMatching [100]
0.00 0.00 3/86352580 TableInitTable [67]
-----------------------------------------------
0.00 0.00 2/2 ParseFunctionDefinition <cycle 1> [84]
[105] 0.0 0.00 0.00 2 LexCopyTokens [105]
0.00 0.00 2/253894946 VariableAlloc [11]
-----------------------------------------------
0.00 0.00 3/3 StdioPrintf [107]
[106] 0.0 0.00 0.00 3 StdioBasePrintf [106]
0.00 0.00 3/86356488 TypeStackSizeValue [32]
0.00 0.00 65/65 StdioOutPutc [125]
0.00 0.00 2/2 ExpressionCoerceUnsignedInteger [132]
0.00 0.00 2/2 StdioFprintfWord [134]
0.00 0.00 1/5 ExpressionCoerceFP [130]
0.00 0.00 1/1 StdioFprintfFP [148]
-----------------------------------------------
0.00 0.00 3/3 ExpressionParseFunctionCall <cycle 1> [47]
[107] 0.0 0.00 0.00 3 StdioPrintf [107]
0.00 0.00 3/3 StdioBasePrintf [106]
-----------------------------------------------
0.00 0.00 1/1 PicocInitialise [80]
[108] 0.0 0.00 0.00 1 VariableInit [108]
0.00 0.00 2/86352580 TableInitTable [67]
-----------------------------------------------
0.00 0.00 1/633 PicocInitialise [80]
0.00 0.00 632/633 TableSearchIdentifier [111]
[109] 0.0 0.00 0.00 633 TableInit [109]
0.00 0.00 1/86352580 TableInitTable [67]
0.00 0.00 1/140 TableStrRegister [123]
-----------------------------------------------
0.00 0.00 1/1 PicocInitialise [80]
[110] 0.0 0.00 0.00 1 DebugInit [110]
0.00 0.00 1/86352580 TableInitTable [67]
-----------------------------------------------
<spontaneous>
[111] 0.0 0.00 0.00 TableSearchIdentifier [111]
0.00 0.00 632/633 TableInit [109]
-----------------------------------------------
2 ParseFunctionDefinition <cycle 1> [84]
20208 ParseFor <cycle 1> [33]
2601449 ParseStatement <cycle 1> [15]
[113] 0.0 0.00 0.00 2621659 ParseStatementMaybeRun <cycle 1> [113]
2621659 ParseStatement <cycle 1> [15]
-----------------------------------------------
0.00 0.00 10001/20007 VariableStackFramePop [90]
0.00 0.00 10006/20007 ExpressionParseFunctionCall <cycle 1> [47]
[114] 0.0 0.00 0.00 20007 HeapPopStackFrame [114]
-----------------------------------------------
0.00 0.00 10001/20007 VariableStackFrameAdd [75]
0.00 0.00 10006/20007 ExpressionParseFunctionCall <cycle 1> [47]
[115] 0.0 0.00 0.00 20007 HeapPushStackFrame [115]
-----------------------------------------------
0.00 0.00 10017/10017 VariableDefineButIgnoreIdentical [88]
[116] 0.0 0.00 0.00 10017 TypeIsForwardDeclared [116]
-----------------------------------------------
0.00 0.00 3/689 ParseCleanup [143]
0.00 0.00 3/689 PicocParse <cycle 1> [79]
0.00 0.00 9/689 IncludeCleanup [139]
0.00 0.00 14/689 TypeCleanupNode [151]
0.00 0.00 39/689 TableDelete [119]
0.00 0.00 97/689 LibraryAdd <cycle 1> [42]
0.00 0.00 150/689 VariableTableCleanup [131]
0.00 0.00 152/689 VariableFree [122]
0.00 0.00 222/689 TableStrFree [149]
[117] 0.0 0.00 0.00 689 HeapFreeMem [117]
-----------------------------------------------
0.00 0.00 1/688 PicocParse <cycle 1> [79]
0.00 0.00 9/688 IncludeRegister [129]
0.00 0.00 101/688 LexTokenise [45]
0.00 0.00 222/688 TableSetIdentifier [120]
0.00 0.00 355/688 VariableAlloc [11]
[118] 0.0 0.00 0.00 688 HeapAllocMem [118]
-----------------------------------------------
0.00 0.00 39/671 LexCleanup [141]
0.00 0.00 632/671 TableSetIdentifier [120]
[119] 0.0 0.00 0.00 671 TableDelete [119]
0.00 0.00 39/689 HeapFreeMem [117]
-----------------------------------------------
0.00 0.00 632/632 TableStrRegister2 [121]
[120] 0.0 0.00 0.00 632 TableSetIdentifier [120]
0.00 0.00 632/671 TableDelete [119]
0.00 0.00 222/688 HeapAllocMem [118]
-----------------------------------------------
0.00 0.00 7/632 LexGetStringConstant [92]
0.00 0.00 140/632 TableStrRegister [123]
0.00 0.00 485/632 LexGetWord [97]
[121] 0.0 0.00 0.00 632 TableStrRegister2 [121]
0.00 0.00 632/632 TableSetIdentifier [120]
-----------------------------------------------
0.00 0.00 150/150 VariableTableCleanup [131]
[122] 0.0 0.00 0.00 150 VariableFree [122]
0.00 0.00 152/689 HeapFreeMem [117]
-----------------------------------------------
0.00 0.00 1/140 TableInit [109]
0.00 0.00 1/140 LibraryInit [81]
0.00 0.00 1/140 StdlibSetupFunc [83]
0.00 0.00 1/140 StdTimeSetupFunc [82]
0.00 0.00 2/140 PicocCallMain [5]
0.00 0.00 3/140 StdioSetupFunc [77]
0.00 0.00 4/140 PicocParse <cycle 1> [79]
0.00 0.00 4/140 LibraryAdd <cycle 1> [42]
0.00 0.00 9/140 IncludeRegister [129]
0.00 0.00 36/140 VariableDefinePlatformVar [65]
0.00 0.00 39/140 LexInit [89]
0.00 0.00 39/140 LexCleanup [141]
[123] 0.0 0.00 0.00 140 TableStrRegister [123]
0.00 0.00 140/632 TableStrRegister2 [121]
-----------------------------------------------
0.00 0.00 101/101 LexGetStringConstant [92]
[124] 0.0 0.00 0.00 101 LexUnEscapeCharacter [124]
-----------------------------------------------
0.00 0.00 65/65 StdioBasePrintf [106]
[125] 0.0 0.00 0.00 65 StdioOutPutc [125]
-----------------------------------------------
0.00 0.00 21/21 LexScanGetToken [58]
[126] 0.0 0.00 0.00 21 LexGetNumber [126]
-----------------------------------------------
0.00 0.00 14/14 LexScanGetToken [58]
[127] 0.0 0.00 0.00 14 LexSkipComment [127]
-----------------------------------------------
0.00 0.00 14/14 TypeInit [103]
[128] 0.0 0.00 0.00 14 TypeAddBaseType [128]
-----------------------------------------------
0.00 0.00 1/9 PlatformLibraryInit [146]
0.00 0.00 8/9 IncludeInit [140]
[129] 0.0 0.00 0.00 9 IncludeRegister [129]
0.00 0.00 9/688 HeapAllocMem [118]
0.00 0.00 9/140 TableStrRegister [123]
-----------------------------------------------
0.00 0.00 1/5 StdioBasePrintf [106]
0.00 0.00 4/5 ExpressionAssign [66]
[130] 0.0 0.00 0.00 5 ExpressionCoerceFP [130]
-----------------------------------------------
0.00 0.00 2/5 VariableCleanup [70]
0.00 0.00 3/5 TypeCleanupNode [151]
[131] 0.0 0.00 0.00 5 VariableTableCleanup [131]
0.00 0.00 150/150 VariableFree [122]
0.00 0.00 150/689 HeapFreeMem [117]
-----------------------------------------------
0.00 0.00 2/2 StdioBasePrintf [106]
[132] 0.0 0.00 0.00 2 ExpressionCoerceUnsignedInteger [132]
-----------------------------------------------
0.00 0.00 2/2 ExpressionParseFunctionCall <cycle 1> [47]
[133] 0.0 0.00 0.00 2 StdClock [133]
-----------------------------------------------
0.00 0.00 2/2 StdioBasePrintf [106]
[134] 0.0 0.00 0.00 2 StdioFprintfWord [134]
-----------------------------------------------
0.00 0.00 1/1 PicocInitialise [80]
[135] 0.0 0.00 0.00 1 BasicIOInit [135]
-----------------------------------------------
0.00 0.00 1/1 PicocCleanup [69]
[136] 0.0 0.00 0.00 1 DebugCleanup [136]
-----------------------------------------------
0.00 0.00 1/1 PicocCleanup [69]
[137] 0.0 0.00 0.00 1 HeapCleanup [137]
-----------------------------------------------
0.00 0.00 1/1 PicocInitialise [80]
[138] 0.0 0.00 0.00 1 HeapInit [138]
-----------------------------------------------
0.00 0.00 1/1 PicocCleanup [69]
[139] 0.0 0.00 0.00 1 IncludeCleanup [139]
0.00 0.00 9/689 HeapFreeMem [117]
-----------------------------------------------
0.00 0.00 1/1 PicocInitialise [80]
[140] 0.0 0.00 0.00 1 IncludeInit [140]
0.00 0.00 8/9 IncludeRegister [129]
-----------------------------------------------
0.00 0.00 1/1 PicocCleanup [69]
[141] 0.0 0.00 0.00 1 LexCleanup [141]
0.00 0.00 39/140 TableStrRegister [123]
0.00 0.00 39/671 TableDelete [119]
0.00 0.00 1/1 LexInteractiveClear [142]
-----------------------------------------------
0.00 0.00 1/1 LexCleanup [141]
[142] 0.0 0.00 0.00 1 LexInteractiveClear [142]
-----------------------------------------------
0.00 0.00 1/1 PicocCleanup [69]
[143] 0.0 0.00 0.00 1 ParseCleanup [143]
0.00 0.00 3/689 HeapFreeMem [117]
-----------------------------------------------
0.00 0.00 1/1 PicocCleanup [69]
[144] 0.0 0.00 0.00 1 PlatformCleanup [144]
-----------------------------------------------
0.00 0.00 1/1 PicocInitialise [80]
[145] 0.0 0.00 0.00 1 PlatformInit [145]
-----------------------------------------------
0.00 0.00 1/1 PicocInitialise [80]
[146] 0.0 0.00 0.00 1 PlatformLibraryInit [146]
0.00 0.00 1/9 IncludeRegister [129]
-----------------------------------------------
0.00 0.00 1/1 PicocPlatformScanFile [6]
[147] 0.0 0.00 0.00 1 PlatformReadFile [147]
-----------------------------------------------
0.00 0.00 1/1 StdioBasePrintf [106]
[148] 0.0 0.00 0.00 1 StdioFprintfFP [148]
-----------------------------------------------
0.00 0.00 1/1 PicocCleanup [69]
[149] 0.0 0.00 0.00 1 TableStrFree [149]
0.00 0.00 222/689 HeapFreeMem [117]
-----------------------------------------------
0.00 0.00 1/1 PicocCleanup [69]
[150] 0.0 0.00 0.00 1 TypeCleanup [150]
0.00 0.00 1/1 TypeCleanupNode [151]
-----------------------------------------------
25 TypeCleanupNode [151]
0.00 0.00 1/1 TypeCleanup [150]
[151] 0.0 0.00 0.00 1+25 TypeCleanupNode [151]
0.00 0.00 14/689 HeapFreeMem [117]
0.00 0.00 3/5 VariableTableCleanup [131]
25 TypeCleanupNode [151]
-----------------------------------------------
This table describes the call tree of the program, and was sorted by the total amount of time spent in each function and its children.
Each entry in this table consists of several lines. The line with the index number at the left hand margin lists the current function. The lines above it list the functions that called this function, and the lines below it list the functions this one called. This line lists: index A unique number given to each element of the table. Index numbers are sorted numerically. The index number is printed next to every function name so it is easier to look up where the function is in the table.
% time This is the percentage of the `total' time that was spent
in this function and its children. Note that due to
different viewpoints, functions excluded by options, etc,
these numbers will NOT add up to 100%.
self This is the total amount of time spent in this function.
children This is the total amount of time propagated into this
function by its children.
called This is the number of times the function was called.
If the function called itself recursively, the number
only includes non-recursive calls, and is followed by
a `+' and the number of recursive calls.
name The name of the current function. The index number is
printed after it. If the function is a member of a
cycle, the cycle number is printed between the
function's name and the index number.
For the function's parents, the fields have the following meanings:
self This is the amount of time that was propagated directly
from the function into this parent.
children This is the amount of time that was propagated from
the function's children into this parent.
called This is the number of times this parent called the
function `/' the total number of times the function
was called. Recursive calls to the function are not
included in the number after the `/'.
name This is the name of the parent. The parent's index
number is printed after it. If the parent is a
member of a cycle, the cycle number is printed between
the name and the index number.
If the parents of the function cannot be determined, the word
<spontaneous>' is printed in the name' field, and all the other
fields are blank.
For the function's children, the fields have the following meanings:
self This is the amount of time that was propagated directly
from the child into the function.
children This is the amount of time that was propagated from the
child's children to the function.
called This is the number of times the function called
this child `/' the total number of times the child
was called. Recursive calls by the child are not
listed in the number after the `/'.
name This is the name of the child. The child's index
number is printed after it. If the child is a
member of a cycle, the cycle number is printed
between the name and the index number.
If there are any cycles (circles) in the call graph, there is an entry for the cycle-as-a-whole. This entry shows who called the cycle (as parents) and the members of the cycle (as children.) The `+' recursive calls entry shows the number of function calls that were internal to the cycle, and the calls entry for each member shows, for that member, how many times it was called from other members of the cycle.
Copyright (C) 2012-2014 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved.
Index by function name
[135] BasicIOInit [89] LexInit [123] TableStrRegister
[49] DebugCheckStatement [59] LexInitParser [121] TableStrRegister2
[136] DebugCleanup [142] LexInteractiveClear [99] TypeAdd
[110] DebugInit [56] LexRawPeekToken [128] TypeAddBaseType
[66] ExpressionAssign [58] LexScanGetToken [150] TypeCleanup
[53] ExpressionAssignFP [127] LexSkipComment [151] TypeCleanupNode
[62] ExpressionAssignInt [28] LexTokenSize [104] TypeCreateOpaqueStruct
[68] ExpressionAssignToPointer [45] LexTokenise [100] TypeGetMatching
[130] ExpressionCoerceFP [124] LexUnEscapeCharacter [103] TypeInit
[55] ExpressionCoerceInteger [42] LibraryAdd [116] TypeIsForwardDeclared
[132] ExpressionCoerceUnsignedInteger [81] LibraryInit [85] TypeParse
[9] ExpressionInfixOperator [78] MathSetupFunc [87] TypeParseBack
[3] ExpressionParse [23] ParseBlock [64] TypeParseFront
[47] ExpressionParseFunctionCall [143] ParseCleanup [86] TypeParseIdentPart
[48] ExpressionParseInt [94] ParseCountParams [98] TypeParseStruct
[41] ExpressionPostfixOperator [63] ParseDeclaration [50] TypeSize
[101] ExpressionPrefixOperator [95] ParseDeclarationAssignment [38] TypeSizeValue
[14] ExpressionPushFP [33] ParseFor [32] TypeStackSizeValue
[29] ExpressionPushInt [84] ParseFunctionDefinition [11] VariableAlloc
[7] ExpressionStackCollapse [15] ParseStatement [37] VariableAllocValueAndCopy
[13] ExpressionStackPushLValue [113] ParseStatementMaybeRun [18] VariableAllocValueAndData
[22] ExpressionStackPushOperator [91] ParseTypedef [21] VariableAllocValueFromExistingData
[31] ExpressionStackPushValue [34] ParserCopy [17] VariableAllocValueFromType
[74] ExpressionStackPushValueByType [39] ParserCopyPos [20] VariableAllocValueShared
[16] ExpressionStackPushValueNode [5] PicocCallMain [70] VariableCleanup
[118] HeapAllocMem [69] PicocCleanup [51] VariableDefine
[19] HeapAllocStack [80] PicocInitialise [88] VariableDefineButIgnoreIdentical
[137] HeapCleanup [79] PicocParse [65] VariableDefinePlatformVar
[117] HeapFreeMem [6] PicocPlatformScanFile [46] VariableDefined
[138] HeapInit [144] PlatformCleanup [76] VariableDefinedAndOutOfScope
[27] HeapPopStack [145] PlatformInit [122] VariableFree
[114] HeapPopStackFrame [146] PlatformLibraryInit [24] VariableGet
[115] HeapPushStackFrame [147] PlatformReadFile [108] VariableInit
[54] HeapUnpopStack [133] StdClock [57] VariableRealloc
[139] IncludeCleanup [82] StdTimeSetupFunc [35] VariableScopeBegin
[73] IncludeFile [106] StdioBasePrintf [30] VariableScopeEnd
[140] IncludeInit [148] StdioFprintfFP [75] VariableStackFrameAdd
[129] IncludeRegister [134] StdioFprintfWord [90] VariableStackFramePop
[40] IsTypeToken [125] StdioOutPutc [36] VariableStackPop
[44] LexAnalyse [107] StdioPrintf [93] VariableStringLiteralDefine
[96] LexCheckReservedWord [77] StdioSetupFunc [102] VariableStringLiteralGet
[141] LexCleanup [83] StdlibSetupFunc [131] VariableTableCleanup
[105] LexCopyTokens [119] TableDelete [25] _fentry__
[126] LexGetNumber [26] TableGet [4] _mcount_private
[10] LexGetRawToken [109] TableInit [43] debugf
[92] LexGetStringConstant [67] TableInitTable [71] memcpy
[8] LexGetToken [12] TableSearch [72] memset
[97] LexGetWord [52] TableSet [2] <cycle 1>
[60] LexHashEndif [120] TableSetIdentifier
[61] LexHashIncPos [149] TableStrFree