DarkPlaces
Game engine based on the Quake 1 engine by id Software, developed by LadyHavoc
pr_comp.h
Go to the documentation of this file.
1/*
2Copyright (C) 1996-1997 Id Software, Inc.
3
4This program is free software; you can redistribute it and/or
5modify it under the terms of the GNU General Public License
6as published by the Free Software Foundation; either version 2
7of the License, or (at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
12
13See the GNU General Public License for more details.
14
15You should have received a copy of the GNU General Public License
16along with this program; if not, write to the Free Software
17Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18
19*/
20
21// this file is shared by quake and qcc
22
23#ifndef PR_COMP_H
24#define PR_COMP_H
25
26typedef unsigned int func_t;
27typedef int string_t;
28
30
31
32#define OFS_NULL 0
33#define OFS_RETURN 1
34#define OFS_PARM0 4 // leave 3 ofs for each parm to hold vectors
35#define OFS_PARM1 7
36#define OFS_PARM2 10
37#define OFS_PARM3 13
38#define OFS_PARM4 16
39#define OFS_PARM5 19
40#define OFS_PARM6 22
41#define OFS_PARM7 25
42#define RESERVED_OFS 28
43
44
45typedef enum opcode_e
46{
47 // NOTE: List mostly generated using `./fteqcc.bin -TDP_20250104 -Fdumpopcodes`.
58 OP_EQ_F = 10,
59 OP_EQ_V = 11,
60 OP_EQ_S = 12,
61 OP_EQ_E = 13,
63 OP_NE_F = 15,
64 OP_NE_V = 16,
65 OP_NE_S = 17,
66 OP_NE_E = 18,
68 OP_LE_F = 20,
69 OP_GE_F = 21,
70 OP_LT_F = 22,
71 OP_GT_F = 23,
97 OP_IF = 49,
114 // OP_MULSTORE_F = 66,
115 // OP_MULSTORE_VF = 67,
116 // OP_MULSTOREP_F = 68,
117 // OP_MULSTOREP_VF = 69,
118 // OP_DIVSTORE_F = 70,
119 // OP_DIVSTOREP_F = 71,
120 // OP_ADDSTORE_F = 72,
121 // OP_ADDSTORE_V = 73,
122 // OP_ADDSTOREP_F = 74,
123 // OP_ADDSTOREP_V = 75,
124 // OP_SUBSTORE_F = 76,
125 // OP_SUBSTORE_V = 77,
126 // OP_SUBSTOREP_F = 78,
127 // OP_SUBSTOREP_V = 79,
128 // OP_FETCH_GBL_F = 80,
129 // OP_FETCH_GBL_V = 81,
130 // OP_FETCH_GBL_S = 82,
131 // OP_FETCH_GBL_E = 83,
132 // OP_FETCH_GBL_FNC = 84,
133 // OP_CSTATE = 85,
134 // OP_CWSTATE = 86,
135 // OP_THINKTIME = 87,
136 // OP_BITSETSTORE_F = 88,
137 // OP_BITSETSTOREP_F = 89,
138 // OP_BITCLRSTORE_F = 90,
139 // OP_BITCLRSTOREP_F = 91,
140 // OP_RAND0 = 92,
141 // OP_RAND1 = 93,
142 // OP_RAND2 = 94,
143 // OP_RANDV0 = 95,
144 // OP_RANDV1 = 96,
145 // OP_RANDV2 = 97,
146 // OP_SWITCH_F = 98,
147 // OP_SWITCH_V = 99,
148 // OP_SWITCH_S = 100,
149 // OP_SWITCH_E = 101,
150 // OP_SWITCH_FNC = 102,
151 // OP_CASE = 103,
152 // OP_CASERANGE = 104,
153 // OP_CALL1H = 105,
154 // OP_CALL2H = 106,
155 // OP_CALL3H = 107,
156 // OP_CALL4H = 108,
157 // OP_CALL5H = 109,
158 // OP_CALL6H = 110,
159 // OP_CALL7H = 111,
160 // OP_CALL8H = 112,
162 // OP_STORE_IF = 114,
163 // OP_STORE_FI = 115,
164 OP_ADD_I = 116,
167 OP_SUB_I = 119,
172 // OP_CONVP_IF = 124,
173 // OP_CONVP_FI = 125,
176 // OP_STOREP_IF = 128,
177 // OP_STOREP_FI = 129,
180 OP_MUL_I = 132,
181 OP_DIV_I = 133,
182 OP_EQ_I = 134,
183 OP_NE_I = 135,
184 // OP_IFNOTS = 136,
185 // OP_IFS = 137,
186 OP_NOT_I = 138,
188 // OP_BITXOR_I = 140,
209 OP_LE_I = 161,
210 OP_GE_I = 162,
211 OP_LT_I = 163,
212 OP_GT_I = 164,
213 OP_LE_IF = 165,
214 OP_GE_IF = 166,
215 OP_LT_IF = 167,
216 OP_GT_IF = 168,
217 OP_LE_FI = 169,
218 OP_GE_FI = 170,
219 OP_LT_FI = 171,
220 OP_GT_FI = 172,
221 OP_EQ_IF = 173,
222 OP_EQ_FI = 174,
223 // OP_ADD_SF = 175,
224 // OP_SUB_S = 176,
225 // OP_STOREP_C = 177,
226 // OP_LOADP_C = 178,
230 // OP_MUL_IV = 182,
237 OP_AND_I = 189,
238 OP_OR_I = 190,
240 OP_OR_IF = 192,
242 OP_OR_FI = 194,
243 OP_NE_IF = 195,
244 OP_NE_FI = 196,
252 // OP_GADDRESS = 204,
260 // OP_UNUSED = 212,
261 // OP_PUSH = 213,
262 // OP_POP = 214,
263 // OP_SWITCH_I = 215,
265 // OP_IF_F = 217,
266 // OP_IFNOT_F = 218,
267 // OP_STOREF_V = 219,
268 // OP_STOREF_F = 220,
269 // OP_STOREF_S = 221,
270 // OP_STOREF_I = 222,
271 // OP_STOREP_I8 = 223,
272 // OP_LOADP_U8 = 224,
273 OP_LE_U = 225,
274 OP_LT_U = 226,
275 OP_DIV_U = 227,
277 // OP_ADD_I64 = 229,
278 // OP_SUB_I64 = 230,
279 // OP_MUL_I64 = 231,
280 // OP_DIV_I64 = 232,
281 // OP_BITAND_I64 = 233,
282 // OP_BITOR_I64 = 234,
283 // OP_BITXOR_I64 = 235,
284 // OP_LSHIFT_I64I = 236,
285 // OP_RSHIFT_I64I = 237,
286 // OP_LE_I64 = 238,
287 // OP_LT_I64 = 239,
288 // OP_EQ_I64 = 240,
289 // OP_NE_I64 = 241,
290 // OP_LE_U64 = 242,
291 // OP_LT_U64 = 243,
292 // OP_DIV_U64 = 244,
293 // OP_RSHIFT_U64I = 245,
294 // OP_STORE_I64 = 246,
295 // OP_STOREP_I64 = 247,
296 // OP_STOREF_I64 = 248,
297 // OP_LOADF_I64 = 249,
298 // OP_LOADA_I64 = 250,
299 // OP_LOADP_I64 = 251,
300 // OP_CONV_UI64 = 252,
301 // OP_CONV_II64 = 253,
302 // OP_CONV_I64I = 254,
303 // OP_CONV_FD = 255,
304 // OP_CONV_DF = 256,
305 // OP_CONV_I64F = 257,
306 // OP_CONV_FI64 = 258,
307 // OP_CONV_I64D = 259,
308 // OP_CONV_DI64 = 260,
309 // OP_ADD_D = 261,
310 // OP_SUB_D = 262,
311 // OP_MUL_D = 263,
312 // OP_DIV_D = 264,
313 // OP_LE_D = 265,
314 // OP_LT_D = 266,
315 // OP_EQ_D = 267,
316 // OP_NE_D = 268,
317 // OP_STOREP_I16 = 269,
318 // OP_LOADP_I16 = 270,
319 // OP_LOADP_U16 = 271,
320 // OP_LOADP_I8 = 272,
321 // OP_BITEXTEND_I = 273,
322 // OP_BITEXTEND_U = 274,
323 // OP_BITCOPY_I = 275,
324 // OP_CONV_UF = 276,
325 // OP_CONV_FU = 277,
326 // OP_CONV_U64D = 278,
327 // OP_CONV_DU64 = 279,
328 // OP_CONV_U64F = 280,
329 // OP_CONV_FU64 = 281,
331}
333
334// Statements (16 bit format) - 8 bytes each
335typedef struct statement16_s
336{
337 uint16_t op;
338 int16_t a, b, c;
339}
341
342// Statements (32 bit format) - 16 bytes each
343typedef struct statement32_s
344{
345 uint32_t op;
346 int32_t a, b, c;
347}
349
350// Global and fielddefs (16 bit format) - 8 bytes each
351typedef struct ddef16_s
352{
353 uint16_t type; // if DEF_SAVEGLOBAL bit is set
354 // the variable needs to be saved in savegames
355 uint16_t ofs;
356 int32_t s_name;
357}
358ddef16_t, dfield16_t;
359
360// Global and fielddefs (32 bit format) - 12 bytes each
361typedef struct ddef32_s
362{
363 uint32_t type; // if DEF_SAVEGLOBAL bit is set
364 // the variable needs to be saved in savegames
365 uint32_t ofs;
366 int32_t s_name;
367}
368ddef32_t, dfield32_t, mdef_t;
369
370#define DEF_SAVEGLOBAL (1<<15)
371
372#define MAX_PARMS 8
373
374// Functions - 36 bytes each
375typedef struct dfunction_s
376{
377 int32_t first_statement; // negative numbers are builtins
378 int32_t parm_start; // first local
379 int32_t locals; // total ints of parms + locals
380
381 int32_t profile; // runtime
382
383 int32_t s_name; // function name
384 int32_t s_file; // source file defined in
385
386 int32_t numparms; // number of args
387 uint8_t parm_size[MAX_PARMS]; // and size
388}
390
391typedef struct mfunction_s
392{
393 int32_t first_statement; // negative numbers are builtins
394 int32_t parm_start;
395 int32_t locals; // total ints of parms + locals
396
397 // these are doubles so that they can count up to 54bits or so rather than 32bit
398 double tprofile; // realtime in this function
399 double tbprofile; // realtime in builtins called by this function (NOTE: builtins also have a tprofile!)
400 double profile; // runtime
401 double builtinsprofile; // cost of builtin functions called by this function
402 double callcount; // times the functions has been called since the last profile call
403 double totaltime; // total execution time of this function DIRECTLY FROM THE ENGINE
404 double tprofile_total; // runtime (NOTE: tbprofile_total makes no real sense, so not accumulating that)
405 double profile_total; // runtime
406 double builtinsprofile_total; // cost of builtin functions called by this function
408
409 int32_t s_name;
410 int32_t s_file; // source file defined in
411
412 int32_t numparms;
414}
416
417typedef struct mstatement_s
418{
420 int operand[3]; // always a global, or a relative statement offset ([0] for GOTO, [1] for IF/IFNOT), or -1 for unused
421}
423
424// Header - 64 bytes
425#define PROG_VERSION 6
426typedef struct dprograms_s
427{
428 int32_t version; // Version (usually 6)
429 int32_t crc; // CRC-16 of header file. Last 2 bytes are skipped
430
431 // Sizes of and offsets to each section
433 uint32_t numstatements; // statement 0 is an error
434
437
439 uint32_t numfielddefs;
440
442 uint32_t numfunctions; // function 0 is an empty
443
444 uint32_t ofs_strings;
445 uint32_t numstrings; // first string is a null string
446
447 uint32_t ofs_globals;
448 uint32_t numglobals;
449
450 uint32_t entityfields;
451}
453
454typedef struct dprograms_v7_s
455{ //extended header written by fteqcc.
456 dprograms_t v6; //for easier casting.
457
458 //debug / version 7 extensions
459 uint32_t ofsfiles; //ignored. deprecated, should be 0. source files can instead be embedded by simply treating the .dat as a zip.
460 uint32_t ofslinenums; //ignored. alternative to external .lno files.
461 uint32_t ofsbodylessfuncs; //unsupported. function names imported from other modules. must be 0.
462 uint32_t numbodylessfuncs; //unsupported. must be 0.
463
464 uint32_t ofs_types; //unsupported+deprecated. rich type info. must be 0.
465 uint32_t numtypes; //unsupported+deprecated. rich type info. must be 0.
466 uint32_t blockscompressed; //unsupported. per-block compression. must be 0.
467
468 int32_t secondaryversion; //if not known then its kkqwsv's v7, qfcc's v7, or uhexen2's v7, or something. abandon all hope when not recognised.
469#define PROG_SECONDARYVERSION16 ((('1'<<0)|('F'<<8)|('T'<<16)|('E'<<24))^(('P'<<0)|('R'<<8)|('O'<<16)|('G'<<24))) //regular 16bit statements.
470#define PROG_SECONDARYVERSION32 ((('1'<<0)|('F'<<8)|('T'<<16)|('E'<<24))^(('3'<<0)|('2'<<8)|('B'<<16)|(' '<<24))) //statements+globaldefs+fielddefs extended to 32bit.
471}
473
474#endif
475
unsigned int func_t
Definition pr_comp.h:26
opcode_t
Definition pr_comp.h:46
@ OP_SUB_FI
Definition pr_comp.h:168
@ OP_STOREP_S
Definition pr_comp.h:87
@ OP_NE_E
Definition pr_comp.h:66
@ OP_LOADA_ENT
Definition pr_comp.h:196
@ OP_AND_I
Definition pr_comp.h:237
@ OP_LE_FI
Definition pr_comp.h:217
@ OP_ADD_I
Definition pr_comp.h:164
@ OP_GSTOREP_FLD
Definition pr_comp.h:248
@ OP_STORE_V
Definition pr_comp.h:80
@ OP_GSTOREP_FNC
Definition pr_comp.h:250
@ OP_RSHIFT_U
Definition pr_comp.h:276
@ OP_SUB_F
Definition pr_comp.h:56
@ OP_LOAD_ENT
Definition pr_comp.h:75
@ OP_LOAD_F
Definition pr_comp.h:72
@ OP_LT_FI
Definition pr_comp.h:219
@ OP_GE_I
Definition pr_comp.h:210
@ OP_DIV_I
Definition pr_comp.h:181
@ OP_LT_I
Definition pr_comp.h:211
@ OP_IF
Definition pr_comp.h:97
@ OP_LOAD_FLD
Definition pr_comp.h:76
@ OP_MUL_VI
Definition pr_comp.h:229
@ OP_BITOR_F
Definition pr_comp.h:113
@ OP_STOREP_V
Definition pr_comp.h:86
@ OP_GLOAD_ENT
Definition pr_comp.h:256
@ OP_GLOAD_F
Definition pr_comp.h:254
@ OP_EQ_FI
Definition pr_comp.h:222
@ OP_GSTOREP_I
Definition pr_comp.h:245
@ OP_MUL_VF
Definition pr_comp.h:52
@ OP_ADD_IF
Definition pr_comp.h:166
@ OP_GLOAD_FLD
Definition pr_comp.h:255
@ OP_NOT_I
Definition pr_comp.h:186
@ OP_LOADA_I
Definition pr_comp.h:199
@ OP_GSTOREP_F
Definition pr_comp.h:246
@ OP_CALL8
Definition pr_comp.h:107
@ OP_CONV_ITOF
Definition pr_comp.h:170
@ OP_DIV_F
Definition pr_comp.h:53
@ OP_GT_F
Definition pr_comp.h:71
@ OP_DIV_IF
Definition pr_comp.h:231
@ OP_MUL_I
Definition pr_comp.h:180
@ OP_OR_FI
Definition pr_comp.h:242
@ OP_CALL6
Definition pr_comp.h:105
@ OP_ADD_V
Definition pr_comp.h:55
@ OP_STOREP_ENT
Definition pr_comp.h:88
@ OP_STOREP_FNC
Definition pr_comp.h:90
@ OP_AND_IF
Definition pr_comp.h:239
@ OP_CALL5
Definition pr_comp.h:104
@ OP_LOADP_V
Definition pr_comp.h:203
@ OP_NE_FNC
Definition pr_comp.h:67
@ OP_NUMREALOPS
Definition pr_comp.h:330
@ OP_NE_S
Definition pr_comp.h:65
@ OP_BITOR_FI
Definition pr_comp.h:236
@ OP_LT_IF
Definition pr_comp.h:215
@ OP_STORE_P
Definition pr_comp.h:200
@ OP_CONV_FTOI
Definition pr_comp.h:171
@ OP_LOADA_FNC
Definition pr_comp.h:198
@ OP_LOADP_ENT
Definition pr_comp.h:205
@ OP_STORE_I
Definition pr_comp.h:161
@ OP_SUB_V
Definition pr_comp.h:57
@ OP_BITAND_FI
Definition pr_comp.h:235
@ OP_NOT_ENT
Definition pr_comp.h:95
@ OP_GSTOREP_S
Definition pr_comp.h:249
@ OP_GLOAD_I
Definition pr_comp.h:253
@ OP_OR_IF
Definition pr_comp.h:240
@ OP_STOREP_I
Definition pr_comp.h:175
@ OP_DIV_FI
Definition pr_comp.h:232
@ OP_EQ_FNC
Definition pr_comp.h:62
@ OP_LE_U
Definition pr_comp.h:273
@ OP_STOREP_FLD
Definition pr_comp.h:89
@ OP_MUL_FV
Definition pr_comp.h:51
@ OP_LOAD_P
Definition pr_comp.h:201
@ OP_NE_V
Definition pr_comp.h:64
@ OP_STORE_FLD
Definition pr_comp.h:83
@ OP_GLOBALADDRESS
Definition pr_comp.h:191
@ OP_ADD_PIW
Definition pr_comp.h:192
@ OP_CALL1
Definition pr_comp.h:100
@ OP_EQ_I
Definition pr_comp.h:182
@ OP_EQ_V
Definition pr_comp.h:59
@ OP_STORE_ENT
Definition pr_comp.h:82
@ OP_MUL_IF
Definition pr_comp.h:227
@ OP_GSTOREP_ENT
Definition pr_comp.h:247
@ OP_GT_IF
Definition pr_comp.h:216
@ OP_NE_IF
Definition pr_comp.h:243
@ OP_ADD_F
Definition pr_comp.h:54
@ OP_LT_F
Definition pr_comp.h:70
@ OP_RSHIFT_I
Definition pr_comp.h:189
@ OP_LOADP_S
Definition pr_comp.h:204
@ OP_MUL_FI
Definition pr_comp.h:228
@ OP_LOADA_F
Definition pr_comp.h:193
@ OP_GE_F
Definition pr_comp.h:69
@ OP_GE_IF
Definition pr_comp.h:214
@ OP_DIV_U
Definition pr_comp.h:275
@ OP_LE_I
Definition pr_comp.h:209
@ OP_LE_F
Definition pr_comp.h:68
@ OP_LOADP_I
Definition pr_comp.h:208
@ OP_BITAND_F
Definition pr_comp.h:112
@ OP_LE_IF
Definition pr_comp.h:213
@ OP_ADD_FI
Definition pr_comp.h:165
@ OP_GE_FI
Definition pr_comp.h:218
@ OP_AND_F
Definition pr_comp.h:110
@ OP_CALL0
Definition pr_comp.h:99
@ OP_LOADP_FLD
Definition pr_comp.h:206
@ OP_NE_F
Definition pr_comp.h:63
@ OP_NOT_F
Definition pr_comp.h:92
@ OP_STORE_S
Definition pr_comp.h:81
@ OP_LOAD_S
Definition pr_comp.h:74
@ OP_OR_I
Definition pr_comp.h:238
@ OP_CALL4
Definition pr_comp.h:103
@ OP_EQ_E
Definition pr_comp.h:61
@ OP_DIV_VF
Definition pr_comp.h:187
@ OP_STOREP_F
Definition pr_comp.h:85
@ OP_SUB_IF
Definition pr_comp.h:169
@ OP_LSHIFT_I
Definition pr_comp.h:190
@ OP_CALL2
Definition pr_comp.h:101
@ OP_GLOAD_V
Definition pr_comp.h:264
@ OP_MUL_V
Definition pr_comp.h:50
@ OP_GLOAD_S
Definition pr_comp.h:257
@ OP_LOADA_FLD
Definition pr_comp.h:197
@ OP_SUB_I
Definition pr_comp.h:167
@ OP_NE_FI
Definition pr_comp.h:244
@ OP_LOADP_F
Definition pr_comp.h:202
@ OP_STATE
Definition pr_comp.h:108
@ OP_GT_I
Definition pr_comp.h:212
@ OP_LOAD_I
Definition pr_comp.h:174
@ OP_LOADA_V
Definition pr_comp.h:194
@ OP_LOADA_S
Definition pr_comp.h:195
@ OP_CALL3
Definition pr_comp.h:102
@ OP_RETURN
Definition pr_comp.h:91
@ OP_OR_F
Definition pr_comp.h:111
@ OP_ADDRESS
Definition pr_comp.h:78
@ OP_EQ_IF
Definition pr_comp.h:221
@ OP_BITAND_I
Definition pr_comp.h:178
@ OP_EQ_F
Definition pr_comp.h:58
@ OP_DONE
Definition pr_comp.h:48
@ OP_NOT_V
Definition pr_comp.h:93
@ OP_BOUNDCHECK
Definition pr_comp.h:259
@ OP_AND_FI
Definition pr_comp.h:241
@ OP_GSTOREP_V
Definition pr_comp.h:251
@ OP_EQ_S
Definition pr_comp.h:60
@ OP_BITOR_IF
Definition pr_comp.h:234
@ OP_LOAD_FNC
Definition pr_comp.h:77
@ OP_NE_I
Definition pr_comp.h:183
@ OP_GT_FI
Definition pr_comp.h:220
@ OP_NOT_FNC
Definition pr_comp.h:96
@ OP_LOAD_V
Definition pr_comp.h:73
@ OP_GOTO
Definition pr_comp.h:109
@ OP_GLOAD_FNC
Definition pr_comp.h:258
@ OP_BITAND_IF
Definition pr_comp.h:233
@ OP_CALL7
Definition pr_comp.h:106
@ OP_STORE_FNC
Definition pr_comp.h:84
@ OP_LT_U
Definition pr_comp.h:274
@ OP_BITOR_I
Definition pr_comp.h:179
@ OP_MUL_F
Definition pr_comp.h:49
@ OP_LOADP_FNC
Definition pr_comp.h:207
@ OP_NOT_S
Definition pr_comp.h:94
@ OP_STORE_F
Definition pr_comp.h:79
@ OP_IFNOT
Definition pr_comp.h:98
#define MAX_PARMS
Definition pr_comp.h:372
etype_t
Definition pr_comp.h:29
@ ev_function
Definition pr_comp.h:29
@ ev_void
Definition pr_comp.h:29
@ ev_vector
Definition pr_comp.h:29
@ ev_entity
Definition pr_comp.h:29
@ ev_field
Definition pr_comp.h:29
@ ev_string
Definition pr_comp.h:29
@ ev_float
Definition pr_comp.h:29
@ ev_pointer
Definition pr_comp.h:29
int string_t
Definition pr_comp.h:27
int32_t s_name
Definition pr_comp.h:356
uint16_t ofs
Definition pr_comp.h:355
uint16_t type
Definition pr_comp.h:353
int32_t locals
Definition pr_comp.h:379
int32_t s_file
Definition pr_comp.h:384
int32_t numparms
Definition pr_comp.h:386
int32_t s_name
Definition pr_comp.h:383
int32_t parm_start
Definition pr_comp.h:378
int32_t profile
Definition pr_comp.h:381
uint8_t parm_size[MAX_PARMS]
Definition pr_comp.h:387
int32_t first_statement
Definition pr_comp.h:377
uint32_t numstrings
Definition pr_comp.h:445
uint32_t numstatements
Definition pr_comp.h:433
uint32_t numfielddefs
Definition pr_comp.h:439
int32_t crc
Definition pr_comp.h:429
uint32_t numglobals
Definition pr_comp.h:448
uint32_t numglobaldefs
Definition pr_comp.h:436
uint32_t ofs_strings
Definition pr_comp.h:444
uint32_t ofs_globals
Definition pr_comp.h:447
uint32_t ofs_statements
Definition pr_comp.h:432
int32_t version
Definition pr_comp.h:428
uint32_t ofs_fielddefs
Definition pr_comp.h:438
uint32_t ofs_functions
Definition pr_comp.h:441
uint32_t entityfields
Definition pr_comp.h:450
uint32_t ofs_globaldefs
Definition pr_comp.h:435
uint32_t numfunctions
Definition pr_comp.h:442
uint32_t ofsfiles
Definition pr_comp.h:459
uint32_t numbodylessfuncs
Definition pr_comp.h:462
uint32_t blockscompressed
Definition pr_comp.h:466
uint32_t numtypes
Definition pr_comp.h:465
uint32_t ofs_types
Definition pr_comp.h:464
int32_t secondaryversion
Definition pr_comp.h:468
uint32_t ofsbodylessfuncs
Definition pr_comp.h:461
dprograms_t v6
Definition pr_comp.h:456
uint32_t ofslinenums
Definition pr_comp.h:460
uint16_t op
Definition pr_comp.h:337
int16_t b
Definition pr_comp.h:338
int16_t a
Definition pr_comp.h:338
int16_t c
Definition pr_comp.h:338
uint32_t op
Definition pr_comp.h:345
int32_t c
Definition pr_comp.h:346
int32_t a
Definition pr_comp.h:346
int32_t b
Definition pr_comp.h:346
uint32_t ofs
Definition pr_comp.h:365
int32_t s_name
Definition pr_comp.h:366
uint32_t type
Definition pr_comp.h:363
double callcount
Definition pr_comp.h:402
int recursion
Definition pr_comp.h:407
int32_t first_statement
Definition pr_comp.h:393
int32_t s_file
Definition pr_comp.h:410
double tbprofile
Definition pr_comp.h:399
double builtinsprofile
Definition pr_comp.h:401
uint8_t parm_size[MAX_PARMS]
Definition pr_comp.h:413
double profile
Definition pr_comp.h:400
int32_t numparms
Definition pr_comp.h:412
double builtinsprofile_total
Definition pr_comp.h:406
double tprofile_total
Definition pr_comp.h:404
double tprofile
Definition pr_comp.h:398
int32_t s_name
Definition pr_comp.h:409
int32_t locals
Definition pr_comp.h:395
double totaltime
Definition pr_comp.h:403
int32_t parm_start
Definition pr_comp.h:394
double profile_total
Definition pr_comp.h:405
opcode_t op
Definition pr_comp.h:419
int operand[3]
Definition pr_comp.h:420