MCPcopy Create free account

hub / github.com/Jamesbarford/holyc-lang / functions

Functions2,620 in github.com/Jamesbarford/holyc-lang

↓ 579 callersFunctionaoStrCatFmt
For the happy path of strings this is very fast */
src/aostr.c:709
↓ 567 callersFunctionaoStrCatPrintf
src/aostr.c:569
↓ 497 callersFunctionput_byte
src/asm/asm_enc.c:33
↓ 325 callersFunctiontest_asm_enc
src/asm/test-helper.c:53
↓ 217 callersFunctioncheck_one
Encode whatever `emit_fn(e)` puts down, then disassemble the first * 4-byte word and compare against `want`. The encoder is given a fresh * AsmEnc;
src/asm/test_dis_arm64.c:27
↓ 208 callersFunctionasm_err_at
src/asm/asm_enc.c:27
↓ 120 callersFunctionirBlockAddInstr
src/ir.c:62
↓ 119 callersFunctioncctrlRaiseException
src/cctrl.c:913
↓ 118 callersFunctiontokenPunctIs
Is the lexeme both of type TK_PUNCT and does 'ch' match */
src/lexer.c:329
↓ 105 callersFunctionencode
Encode by calling `emit_fn` then read back the first word from enc. */
src/asm/test_dis_arm64.c:46
↓ 103 callersFunctionput_word
src/asm/asm_enc.c:59
↓ 102 callersFunctionasm_is_reg
src/asm/asm_enc.c:87
↓ 95 callersFunctioncctrlTokenGet
src/cctrl.c:496
↓ 95 callersFunctionirValueByteSize
src/ir-types.c:883
↓ 94 callersFunctionaoStrPutChar
src/aostr.c:214
↓ 91 callersFunctionaarch64_reg_num
Translate an A64 register operand to its 0..31 hardware number. */
src/asm/enc_arm64.c:1776
↓ 89 callersFunctionirInstrNew
src/ir-types.c:778
↓ 87 callersFunctionirIsFloat
src/ir-types.c:204
↓ 84 callersFunctionirTmp
src/ir-types.c:761
↓ 83 callersFunctionaoStrRelease
src/aostr.c:152
↓ 82 callersFunctionaoStrNew
src/aostr.c:148
↓ 81 callersFunctionmodrm
src/asm/enc_x86_64.c:32
↓ 80 callersFunctionmapAdd
src/containers.c:981
↓ 73 callersFunctioncctrlTokenPeek
src/cctrl.c:474
↓ 71 callersFunctionreg_name
Print a GPR. For most instructions a register number of 31 means * "the zero register"; for a small number of instructions it means * SP/WSP. The ca
src/asm/dis_arm64.c:27
↓ 68 callersFunctionlistAppend
src/list.c:30
↓ 61 callersFunctioncheck
src/asm/test_dis_x86_64.c:19
↓ 60 callersFunctioncctrlTokenExpect
assert the token we are currently pointing at is a TK_PUNCT and the 'i64' * matches 'expected'. Then consume this token else throw an error */
src/cctrl.c:1029
↓ 58 callersFunctionasm_lex_consume
src/asm/asm.c:381
↓ 58 callersFunctionvecPush
src/containers.c:107
↓ 55 callersFunctionasm_lex_peek_tok
One-token lookahead. */
src/asm/asm.c:371
↓ 53 callersFunctionasmExpression
src/x86.c:1863
↓ 53 callersFunctioncctrlTokenRewind
src/cctrl.c:489
↓ 52 callersFunctionmprintf
Allocating printf */
src/aostr.c:559
↓ 51 callersFunctionaoStrDupRaw
src/aostr.c:232
↓ 47 callersFunctionasm_lex_peek
src/asm/asm.c:98
↓ 44 callersFunctionaoStrCatLen
src/aostr.c:255
↓ 44 callersFunctionlexemeAssignOp
src/lexer.c:207
↓ 43 callersFunctionastNew
src/ast.c:141
↓ 43 callersFunctionirIsTmp
src/ir-types.c:227
↓ 42 callersFunctionirCgGetLoff
src/ir-regalloc.c:35
↓ 42 callersFunctionmapGetLen
src/containers.c:1122
↓ 42 callersFunctionmapNew
src/containers.c:755
↓ 42 callersFunctionsetAdd
src/containers.c:447
↓ 41 callersFunctionastTypeToString
src/ast.c:1467
↓ 39 callersFunctionastIsFloatType
src/ast.c:1136
↓ 39 callersFunctionirVarId
src/ir-types.c:231
↓ 38 callersFunctionirExpr
src/ir.c:1727
↓ 37 callersFunctionaoStrCat
src/aostr.c:266
↓ 37 callersFunctionlistNew
src/list.c:12
↓ 36 callersFunctionaoStrPrintf
src/aostr.c:727
↓ 34 callersFunctionastStringEndStmt
src/ast.c:1310
↓ 34 callersFunctionirConstInt
src/ir-types.c:768
↓ 34 callersFunctionlexNextChar
src/lexer.c:602
↓ 34 callersFunctionput_u32
src/asm/asm_enc.c:50
↓ 33 callersFunctionlistEmpty
src/list.c:19
↓ 32 callersFunctionastIsIntType
src/ast.c:1298
↓ 32 callersFunctionirBlockNew
src/ir-types.c:735
↓ 32 callersFunctionrex_for
REX byte for an arbitrary reg/idx/base triple. `w` sets REX.W; idx < 0 * means no SIB index. Returns 0 when no REX byte is needed. */
src/asm/enc_x86_64.c:485
↓ 31 callersFunctionirFnAddBlock
src/ir-types.c:810
↓ 30 callersFunctionastToString
Convert an Ast to a string */
src/ast.c:2268
↓ 30 callersFunctionbbSetNext
src/cfg.c:166
↓ 30 callersFunctionrex_w
REX.W is always set for our 64-bit ops. R/B bits extend the reg/rm fields. */
src/asm/enc_x86_64.c:39
↓ 29 callersFunctiongpr_name
Width: 1=byte, 2=word, 4=dword, 8=qword. With REX present any byte * register access uses the new SIL/DIL/BPL/SPL naming for regs 4-7 * (vs the lega
src/asm/dis_x86_64.c:101
↓ 29 callersFunctionsetNew
src/containers.c:294
↓ 29 callersFunctionx86_64_emit_x87_2byte
x87 no-operand opcodes: byte0=0xD9 (or DB), byte1 unique per mnemonic. */
src/asm/enc_x86_64.c:2165
↓ 28 callersFunctionaoStrRepeatChar
src/aostr.c:220
↓ 28 callersFunctionbbSetPrevPtr
src/cfg.c:152
↓ 28 callersFunctionmapIterNext
src/containers.c:1192
↓ 27 callersFunctionastLValueToString
src/ast.c:2537
↓ 27 callersFunctionbbIsType
src/cfg.c:133
↓ 27 callersFunctionmapIterInit
src/containers.c:1179
↓ 26 callersFunctionaoStrCatAoStr
src/aostr.c:262
↓ 26 callersFunctioncfgBuilderSetBlock
src/cfg.c:182
↓ 26 callersFunctionparseExpr
src/prslib.c:1312
↓ 25 callersFunctionaoStrCatRepeat
src/aostr.c:271
↓ 25 callersFunctionaoStrMove
Get the underlying string, we do not free the `aoStr`... it will get * collected later. This means we don't need to manually keep track of this * bu
src/aostr.c:163
↓ 25 callersFunctionasmNormaliseFunctionName
This is a hacky, but seemingly functional way of me being able * to run this on Macos and Linux */
src/asm.c:60
↓ 25 callersFunctionasm_is_imm
src/asm/asm_enc.c:93
↓ 25 callersFunctionastKindToString
String representation of the kind of ast we are looking at */
src/ast.c:2147
↓ 25 callersFunctionastTypeCopy
src/ast.c:179
↓ 25 callersFunctionmapGet
src/containers.c:1096
↓ 25 callersFunctionmapRelease
src/containers.c:1172
↓ 24 callersFunctionirJump
src/ir-types.c:862
↓ 24 callersFunctionlexPeekMatch
Doese the next character match the expected character */
src/lexer.c:636
↓ 24 callersFunctionxstrdup
src/asm/tasm_util.c:45
↓ 23 callersFunctionirCgAllocTmp
Reserve a fresh stack slot for an SSA temp. */
src/ir-regalloc.c:46
↓ 23 callersFunctionw_printf
src/asm/asm.c:1498
↓ 22 callersFunctionaarch64_enc_fp_ldst_imm
SIMD/FP load+store (unsigned offset). Encoding: * [size:2][111][V=1][01][opc:2][imm12:12][Rn:5][Rt:5] * * size/opc per access width: * B loa
src/asm/enc_arm64.c:1083
↓ 22 callersFunctionasm_is_mem
src/asm/asm_enc.c:99
↓ 22 callersFunctionbbAddPrev
src/cfg.c:121
↓ 22 callersFunctionbbSetType
src/cfg.c:174
↓ 22 callersFunctionirConvertType
src/ir-types.c:305
↓ 22 callersFunctionjitSpillDst
src/x86_64-jit.c:388
↓ 22 callersFunctionvecNew
src/containers.c:68
↓ 22 callersFunctionx86_64LoadToReg
Load any IrValue into the given 64-bit GP register. * * - Constants are materialised directly (no slot needed). * - String labels become PC-relativ
src/x86_64.c:307
↓ 21 callersFunctionaarch64Fpr
FP scalar register name for index `n` at the given byte width: * 4 -> sN (single), otherwise dN (double). Used for the float ops * (fadd/fcmp/fcvt/.
src/aarch64.c:111
↓ 21 callersFunctionjitLoadToReg
src/x86_64-jit.c:197
↓ 21 callersFunctionlex
src/lexer.c:1389
↓ 21 callersFunctionlexRaise
User-visible lex error. Routes through the diagnostic * accumulator when the lexer has a Cctrl back-pointer; otherwise * falls back to the loggerPan
src/lexer.c:249
next →1–100 of 2,620, ranked by callers