Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/Jamesbarford/holyc-lang
/ functions
Functions
2,620 in github.com/Jamesbarford/holyc-lang
⨍
Functions
2,620
◇
Types & classes
147
↓ 579 callers
Function
aoStrCatFmt
For the happy path of strings this is very fast */
src/aostr.c:709
↓ 567 callers
Function
aoStrCatPrintf
src/aostr.c:569
↓ 497 callers
Function
put_byte
src/asm/asm_enc.c:33
↓ 325 callers
Function
test_asm_enc
src/asm/test-helper.c:53
↓ 217 callers
Function
check_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 callers
Function
asm_err_at
src/asm/asm_enc.c:27
↓ 120 callers
Function
irBlockAddInstr
src/ir.c:62
↓ 119 callers
Function
cctrlRaiseException
src/cctrl.c:913
↓ 118 callers
Function
tokenPunctIs
Is the lexeme both of type TK_PUNCT and does 'ch' match */
src/lexer.c:329
↓ 105 callers
Function
encode
Encode by calling `emit_fn` then read back the first word from enc. */
src/asm/test_dis_arm64.c:46
↓ 103 callers
Function
put_word
src/asm/asm_enc.c:59
↓ 102 callers
Function
asm_is_reg
src/asm/asm_enc.c:87
↓ 95 callers
Function
cctrlTokenGet
src/cctrl.c:496
↓ 95 callers
Function
irValueByteSize
src/ir-types.c:883
↓ 94 callers
Function
aoStrPutChar
src/aostr.c:214
↓ 91 callers
Function
aarch64_reg_num
Translate an A64 register operand to its 0..31 hardware number. */
src/asm/enc_arm64.c:1776
↓ 89 callers
Function
irInstrNew
src/ir-types.c:778
↓ 87 callers
Function
irIsFloat
src/ir-types.c:204
↓ 84 callers
Function
irTmp
src/ir-types.c:761
↓ 83 callers
Function
aoStrRelease
src/aostr.c:152
↓ 82 callers
Function
aoStrNew
src/aostr.c:148
↓ 81 callers
Function
modrm
src/asm/enc_x86_64.c:32
↓ 80 callers
Function
mapAdd
src/containers.c:981
↓ 73 callers
Function
cctrlTokenPeek
src/cctrl.c:474
↓ 71 callers
Function
reg_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 callers
Function
listAppend
src/list.c:30
↓ 61 callers
Function
check
src/asm/test_dis_x86_64.c:19
↓ 60 callers
Function
cctrlTokenExpect
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 callers
Function
asm_lex_consume
src/asm/asm.c:381
↓ 58 callers
Function
vecPush
src/containers.c:107
↓ 55 callers
Function
asm_lex_peek_tok
One-token lookahead. */
src/asm/asm.c:371
↓ 53 callers
Function
asmExpression
src/x86.c:1863
↓ 53 callers
Function
cctrlTokenRewind
src/cctrl.c:489
↓ 52 callers
Function
mprintf
Allocating printf */
src/aostr.c:559
↓ 51 callers
Function
aoStrDupRaw
src/aostr.c:232
↓ 47 callers
Function
asm_lex_peek
src/asm/asm.c:98
↓ 44 callers
Function
aoStrCatLen
src/aostr.c:255
↓ 44 callers
Function
lexemeAssignOp
src/lexer.c:207
↓ 43 callers
Function
astNew
src/ast.c:141
↓ 43 callers
Function
irIsTmp
src/ir-types.c:227
↓ 42 callers
Function
irCgGetLoff
src/ir-regalloc.c:35
↓ 42 callers
Function
mapGetLen
src/containers.c:1122
↓ 42 callers
Function
mapNew
src/containers.c:755
↓ 42 callers
Function
setAdd
src/containers.c:447
↓ 41 callers
Function
astTypeToString
src/ast.c:1467
↓ 39 callers
Function
astIsFloatType
src/ast.c:1136
↓ 39 callers
Function
irVarId
src/ir-types.c:231
↓ 38 callers
Function
irExpr
src/ir.c:1727
↓ 37 callers
Function
aoStrCat
src/aostr.c:266
↓ 37 callers
Function
listNew
src/list.c:12
↓ 36 callers
Function
aoStrPrintf
src/aostr.c:727
↓ 34 callers
Function
astStringEndStmt
src/ast.c:1310
↓ 34 callers
Function
irConstInt
src/ir-types.c:768
↓ 34 callers
Function
lexNextChar
src/lexer.c:602
↓ 34 callers
Function
put_u32
src/asm/asm_enc.c:50
↓ 33 callers
Function
listEmpty
src/list.c:19
↓ 32 callers
Function
astIsIntType
src/ast.c:1298
↓ 32 callers
Function
irBlockNew
src/ir-types.c:735
↓ 32 callers
Function
rex_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 callers
Function
irFnAddBlock
src/ir-types.c:810
↓ 30 callers
Function
astToString
Convert an Ast to a string */
src/ast.c:2268
↓ 30 callers
Function
bbSetNext
src/cfg.c:166
↓ 30 callers
Function
rex_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 callers
Function
gpr_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 callers
Function
setNew
src/containers.c:294
↓ 29 callers
Function
x86_64_emit_x87_2byte
x87 no-operand opcodes: byte0=0xD9 (or DB), byte1 unique per mnemonic. */
src/asm/enc_x86_64.c:2165
↓ 28 callers
Function
aoStrRepeatChar
src/aostr.c:220
↓ 28 callers
Function
bbSetPrevPtr
src/cfg.c:152
↓ 28 callers
Function
mapIterNext
src/containers.c:1192
↓ 27 callers
Function
astLValueToString
src/ast.c:2537
↓ 27 callers
Function
bbIsType
src/cfg.c:133
↓ 27 callers
Function
mapIterInit
src/containers.c:1179
↓ 26 callers
Function
aoStrCatAoStr
src/aostr.c:262
↓ 26 callers
Function
cfgBuilderSetBlock
src/cfg.c:182
↓ 26 callers
Function
parseExpr
src/prslib.c:1312
↓ 25 callers
Function
aoStrCatRepeat
src/aostr.c:271
↓ 25 callers
Function
aoStrMove
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 callers
Function
asmNormaliseFunctionName
This is a hacky, but seemingly functional way of me being able * to run this on Macos and Linux */
src/asm.c:60
↓ 25 callers
Function
asm_is_imm
src/asm/asm_enc.c:93
↓ 25 callers
Function
astKindToString
String representation of the kind of ast we are looking at */
src/ast.c:2147
↓ 25 callers
Function
astTypeCopy
src/ast.c:179
↓ 25 callers
Function
mapGet
src/containers.c:1096
↓ 25 callers
Function
mapRelease
src/containers.c:1172
↓ 24 callers
Function
irJump
src/ir-types.c:862
↓ 24 callers
Function
lexPeekMatch
Doese the next character match the expected character */
src/lexer.c:636
↓ 24 callers
Function
xstrdup
src/asm/tasm_util.c:45
↓ 23 callers
Function
irCgAllocTmp
Reserve a fresh stack slot for an SSA temp. */
src/ir-regalloc.c:46
↓ 23 callers
Function
w_printf
src/asm/asm.c:1498
↓ 22 callers
Function
aarch64_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 callers
Function
asm_is_mem
src/asm/asm_enc.c:99
↓ 22 callers
Function
bbAddPrev
src/cfg.c:121
↓ 22 callers
Function
bbSetType
src/cfg.c:174
↓ 22 callers
Function
irConvertType
src/ir-types.c:305
↓ 22 callers
Function
jitSpillDst
src/x86_64-jit.c:388
↓ 22 callers
Function
vecNew
src/containers.c:68
↓ 22 callers
Function
x86_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 callers
Function
aarch64Fpr
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 callers
Function
jitLoadToReg
src/x86_64-jit.c:197
↓ 21 callers
Function
lex
src/lexer.c:1389
↓ 21 callers
Function
lexRaise
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