Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/akyoto/q
/ functions
Functions
1,095 in github.com/akyoto/q
⨍
Functions
1,095
◇
Types & classes
241
↓ 3 callers
Method
StringFrom
StringFrom returns the token string.
src/token/Token.go:45
↓ 3 callers
Function
SubRegisterNumber
SubRegisterNumber subtracts a number from the given register.
src/x86/Sub.go:8
↓ 3 callers
Function
Syscall
Syscall is the primary way to communicate with the OS kernel.
src/arm/Syscall.go:4
↓ 3 callers
Method
TypeFromToken
TypeFromToken returns the type with the given token or `nil` if it doesn't exist.
src/core/TypeFromToken.go:10
↓ 3 callers
Function
addRegisterNumber
addRegisterNumber adds the register and optionally updates the condition flags based on the result.
src/arm/Add.go:20
↓ 3 callers
Function
complexityKeepAlive
complexityKeepAlive returns the number of registers needed when all expressions must be kept alive at the same time.
src/optimizer/Complexity.go:61
↓ 3 callers
Function
encodeLogicalImmediate
encodeLogicalImmediate encodes a bitmask immediate. The algorithm used here was made by Dougall Johnson.
src/arm/bitmask.go:7
↓ 3 callers
Method
evaluatePackageMember
evaluatePackageMember converts a pkg.something expression to an SSA value.
src/core/evaluatePackageMember.go:13
↓ 3 callers
Method
evaluateStringOp
evaluateStringOp calls a function with two strings.
src/core/evaluateStringOp.go:8
↓ 3 callers
Function
filter
filter returns true if the function doesn't pass the filter.
src/verbose/filter.go:6
↓ 3 callers
Function
isDigit
isDigit returns true for decimal digits.
src/token/digit.go:25
↓ 3 callers
Method
isSpilled
isSpilled returns true if it's a virtual register.
src/codegen/spill.go:12
↓ 3 callers
Function
makeTypeToken
makeTypeToken creates a new type expression wrapped inside a single token.
src/expression/type.go:16
↓ 3 callers
Method
multiplySize
multiplySize multiplies the `count` with the `size` if needed.
src/core/multiplySize.go:9
↓ 3 callers
Function
prepareShiftX86
prepareShiftX86 checks that the registers are correct for the shift instruction and also moves source to destination and the operand to R1 if needed.
src/asm/compilerX86.go:464
↓ 3 callers
Function
reg2Imm
reg2Imm encodes an instruction with 2 registers and an immediate.
src/arm/encode.go:29
↓ 3 callers
Function
show
show parses the text and prints it with colors.
src/cli/show.go:12
↓ 3 callers
Method
size
size returns the size of the entire code signature section.
src/macho/CodeSignature.go:79
↓ 3 callers
Method
spillOffset
spillOffset returns the stack offset in bytes for a virtual register.
src/codegen/spill.go:29
↓ 3 callers
Function
subRegisterNumber
subRegisterNumber subtracts the register and optionally updates the condition flags based on the result.
src/arm/Sub.go:20
↓ 3 callers
Function
toX86Scale
toX86Scale returns the scale factor for the memory instruction.
src/asm/compilerX86.go:485
↓ 2 callers
Function
ASM
ASM shows the assembly code.
src/verbose/ASM.go:14
↓ 2 callers
Function
AddRegisterRegister
AddRegisterRegister adds a register to a register.
src/arm/Add.go:15
↓ 2 callers
Function
AddRegisterRegister
AddRegisterRegister adds a register value into another register.
src/x86/Add.go:13
↓ 2 callers
Function
AndRegisterRegister
AndRegisterRegister performs a bitwise AND using two registers.
src/arm/And.go:14
↓ 2 callers
Function
AndRegisterRegister
AndRegisterRegister performs a bitwise AND using two registers.
src/x86/And.go:13
↓ 2 callers
Method
ApplyPatches
ApplyPatches applies the given patches to the code.
src/asm/patcher.go:14
↓ 2 callers
Method
CPU
CPU returns the correct CPU for the build.
src/config/CPU.go:10
↓ 2 callers
Function
Call
Call places the return address on the top of the stack and continues program flow at the new address. The address is relative to the next instruction.
src/x86/Call.go:8
↓ 2 callers
Function
CallAt
CallAt calls a function at the address stored at the given memory address. The memory address is relative to the next instruction.
src/x86/Call.go:35
↓ 2 callers
Function
CallRegister
Calls a function whose address is stored in the given register.
src/x86/Call.go:20
↓ 2 callers
Function
CompareAndSwap
CompareAndSwap compares `oldValue` with the memory at `address`. If they are equal, `newValue` register is written to memory. If they are not equal, `
src/arm/CompareAndSwap.go:8
↓ 2 callers
Function
CompareAndSwapFixedOffset
CompareAndSwapFixedOffset is a CompareAndSwap with a fixed offset.
src/x86/CompareAndSwap.go:13
↓ 2 callers
Function
CompareRegisterNumber
Compares the register with the number and sets the status flags in the EFLAGS register.
src/x86/Compare.go:6
↓ 2 callers
Function
CompareRegisterRegister
CompareRegisterRegister is an alias for a subtraction that updates the conditional flags and discards the result.
src/arm/Compare.go:15
↓ 2 callers
Function
CompareRegisterRegister
CompareRegisterRegister compares a register with a register and sets the status flags in the EFLAGS register.
src/x86/Compare.go:11
↓ 2 callers
Method
Compile
Compile only tests the compilation without actually running the executable.
tests/run_test.go:45
↓ 2 callers
Method
Error
()
src/compiler/errors.go:19
↓ 2 callers
Method
Error
()
src/scanner/errors.go:50
↓ 2 callers
Function
Fold
Fold evaluates binary operations at compile time and replaces them with constants.
src/optimizer/Fold.go:8
↓ 2 callers
Method
Globals
Globals returns an iterator over all globals.
src/core/Environment.go:78
↓ 2 callers
Method
IsLeaf
IsLeaf returns true if the expression has no children.
src/expression/Expression.go:67
↓ 2 callers
Function
Jump8
Jump continues program flow at the new offset. The offset is relative to the next instruction.
src/x86/Jump.go:5
↓ 2 callers
Function
Jump8IfEqual
JumpIfEqual jumps if the result was equal.
src/x86/Jump.go:10
↓ 2 callers
Function
Jump8IfGreater
JumpIfGreater jumps if the result was greater.
src/x86/Jump.go:20
↓ 2 callers
Function
Jump8IfGreaterEqual
JumpIfGreaterOrEqual jumps if the result was greater or equal.
src/x86/Jump.go:25
↓ 2 callers
Function
Jump8IfLess
JumpIfLess jumps if the result was less.
src/x86/Jump.go:30
↓ 2 callers
Function
Jump8IfLessEqual
JumpIfLessOrEqual jumps if the result was less or equal.
src/x86/Jump.go:35
↓ 2 callers
Function
Jump8IfNotEqual
JumpIfNotEqual jumps if the result was not equal.
src/x86/Jump.go:15
↓ 2 callers
Function
Jump8IfUnsignedGreater
Jump8IfUnsignedGreater jumps if the result was greater using unsigned comparison.
src/x86/Jump.go:40
↓ 2 callers
Function
Jump8IfUnsignedGreaterEqual
Jump8IfUnsignedGreaterEqual jumps if the result was greater or equal using unsigned comparison.
src/x86/Jump.go:45
↓ 2 callers
Function
Jump8IfUnsignedLess
Jump8IfUnsignedLess jumps if the result was less using unsigned comparison.
src/x86/Jump.go:50
↓ 2 callers
Function
Jump8IfUnsignedLessEqual
Jump8IfUnsignedLessEqual jumps if the result was less or equal using unsigned comparison.
src/x86/Jump.go:55
↓ 2 callers
Function
JumpIfGreater
JumpIfGreater jumps if the result was greater.
src/arm/Jump.go:23
↓ 2 callers
Function
JumpIfGreaterEqual
JumpIfGreaterEqual jumps if the result was greater or equal.
src/arm/Jump.go:28
↓ 2 callers
Function
JumpIfLess
JumpIfLess jumps if the result was less.
src/arm/Jump.go:33
↓ 2 callers
Function
JumpIfLessEqual
JumpIfLessEqual jumps if the result was less or equal.
src/arm/Jump.go:38
↓ 2 callers
Function
JumpIfNotEqual
JumpIfNotEqual jumps if the result was not equal.
src/arm/Jump.go:18
↓ 2 callers
Function
JumpIfUnsignedGreater
JumpIfUnsignedGreater jumps if the result was greater using unsigned comparison.
src/arm/Jump.go:43
↓ 2 callers
Function
JumpIfUnsignedGreaterEqual
JumpIfUnsignedGreaterEqual jumps if the result was greater or equal using unsigned comparison.
src/arm/Jump.go:48
↓ 2 callers
Function
JumpIfUnsignedLess
JumpIfUnsignedLess jumps if the result was less using unsigned comparison.
src/arm/Jump.go:53
↓ 2 callers
Function
JumpIfUnsignedLessEqual
JumpIfUnsignedLessEqual jumps if the result was less or equal using unsigned comparison.
src/arm/Jump.go:58
↓ 2 callers
Method
Line
Line returns the line contents and the offset from the position.
src/errors/FileError.go:32
↓ 2 callers
Method
Link
Link returns a clickable link containing the path, line and column.
src/errors/FileError.go:81
↓ 2 callers
Method
LiveFunctions
LiveFunctions returns an iterator over functions that are alive, starting with `run.init` and all of its dependencies.
src/core/Environment.go:92
↓ 2 callers
Function
Load
Load loads from memory into a register with a register offset.
src/arm/Load.go:6
↓ 2 callers
Function
LoadAddress
LoadAddress calculates the address with the RIP-relative offset and writes the result to the destination register.
src/x86/LoadAddress.go:10
↓ 2 callers
Function
LoadFixedOffsetScaled
LoadFixedOffsetScaled loads from memory with a scaled unsigned offset from 0 to 4095 into a register.
src/arm/Load.go:26
↓ 2 callers
Function
LoadFixedOffsetScaledSigned
LoadFixedOffsetScaledSigned loads from memory with a scaled unsigned offset from 0 to 4095 into a register and sign-extends it.
src/arm/Load.go:31
↓ 2 callers
Function
LoadFixedOffsetSignExtend
LoadFixedOffsetSignExtend loads from memory with a signed offset from -128 to 127 into a register and sign-extends it.
src/x86/LoadFixedOffset.go:11
↓ 2 callers
Function
LoadFixedOffsetSigned
LoadFixedOffsetSigned loads from memory with a signed offset from -256 to 255 into a register and sign-extends it.
src/arm/Load.go:21
↓ 2 callers
Function
LoadFixedOffsetZeroExtend
LoadFixedOffsetZeroExtend loads from memory with a signed offset from -128 to 127 into a register and zero-extends it.
src/x86/LoadFixedOffset.go:16
↓ 2 callers
Function
LoadPair
LoadPair calculates an address from a base register value and an immediate offset, loads two 64-bit doublewords from memory, and writes them to two re
src/arm/LoadPair.go:8
↓ 2 callers
Function
LoadSignExtend
LoadSignExtend loads from memory with a register offset into a register and sign-extends it.
src/x86/Load.go:11
↓ 2 callers
Function
LoadSigned
LoadSigned loads from memory into a register with a register offset and sign-extends it.
src/arm/Load.go:11
↓ 2 callers
Function
LoadZeroExtend
LoadZeroExtend loads from memory with a register offset into a register and zero-extends it.
src/x86/Load.go:20
↓ 2 callers
Function
Lock
Lock causes the next instruction to be atomic.
src/x86/Prefixes.go:4
↓ 2 callers
Function
MoveKeep
MoveKeep moves a 16-bit integer into the given register and keeps all other bits.
src/arm/Move.go:92
↓ 2 callers
Function
MoveRegisterNumber
MoveRegisterNumber moves a number into the given register.
src/arm/Move.go:10
↓ 2 callers
Function
MoveRegisterNumber
MoveRegisterNumber moves an integer into the given register.
src/x86/Move.go:10
↓ 2 callers
Function
MoveRegisterNumberSI
MoveRegisterNumberSI moves a number into the given register using a single instruction.
src/arm/Move.go:41
↓ 2 callers
Function
MoveRegisterRegister
MoveRegisterRegister copies a register to another register.
src/arm/Move.go:72
↓ 2 callers
Function
MulRegisterRegister
MulRegisterRegister multiplies `multiplicand` with `multiplier` and saves the result in `destination`
src/arm/Mul.go:6
↓ 2 callers
Function
MulRegisterRegister
MulRegisterRegister multiplies a register with another register.
src/x86/Mul.go:11
↓ 2 callers
Function
NegateRegister
NegateRegister negates the value in the source register and writes it to the destination register.
src/arm/Negate.go:6
↓ 2 callers
Function
NegateRegister
NegateRegister negates the value in the register.
src/x86/Negate.go:6
↓ 2 callers
Function
NewEnvironment
NewEnvironment creates a new environment.
src/core/NewEnvironment.go:10
↓ 2 callers
Function
NewList
NewList generates a list of expressions from comma separated parameters.
src/expression/NewList.go:8
↓ 2 callers
Function
NewStruct
NewStruct creates a new struct.
src/types/Struct.go:13
↓ 2 callers
Function
OrRegisterNumber
OrRegisterNumber performs a bitwise OR using a register and a number.
src/x86/Or.go:8
↓ 2 callers
Function
OrRegisterRegister
OrRegisterRegister performs a bitwise OR using two registers.
src/x86/Or.go:13
↓ 2 callers
Method
Pop
Pop removes an element from the stack.
src/core/loopStack.go:18
↓ 2 callers
Method
Push
Push pushes a new element to the stack.
src/core/loopStack.go:23
↓ 2 callers
Method
ReplaceAll
ReplaceAll replaces all occurrences of the given `old` value with the `new` value.
src/ssa/IR.go:79
↓ 2 callers
Function
Return
Return transfers program control to the caller.
src/arm/Return.go:4
↓ 2 callers
Function
Return
Return transfers program control to a return address located on the top of the stack. The address is usually placed on the stack by a Call instruction
src/x86/Return.go:5
↓ 2 callers
Method
RunBuild
RunBuild builds and runs the file to check if the output matches the expected output.
tests/run_test.go:55
↓ 2 callers
Function
SSA
SSA shows the SSA IR.
src/verbose/SSA.go:16
↓ 2 callers
Method
SetEnd
SetEnd sets the end position.
src/token/Source.go:20
↓ 2 callers
Function
SetIfEqual
SetIfEqual sets the register to 1 if the result was equal, otherwise to 0.
src/arm/Set.go:6
← previous
next →
201–300 of 1,095, ranked by callers