summaryrefslogtreecommitdiff
path: root/vendor/github.com/cilium/ebpf/asm/jump.go
diff options
context:
space:
mode:
authorLibravatar dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>2025-02-03 10:12:35 +0000
committerLibravatar GitHub <noreply@github.com>2025-02-03 10:12:35 +0000
commitc086d4048c2a26a0bf70c1ced24c78680a786710 (patch)
treecf7606e8452e9047d7f0e0d9b6de10edf7ebdc89 /vendor/github.com/cilium/ebpf/asm/jump.go
parent[chore]: Bump golang.org/x/oauth2 from 0.24.0 to 0.25.0 (#3725) (diff)
downloadgotosocial-c086d4048c2a26a0bf70c1ced24c78680a786710.tar.xz
[chore]: Bump github.com/KimMachineGun/automemlimit from 0.6.1 to 0.7.0 (#3726)
Bumps [github.com/KimMachineGun/automemlimit](https://github.com/KimMachineGun/automemlimit) from 0.6.1 to 0.7.0. - [Release notes](https://github.com/KimMachineGun/automemlimit/releases) - [Commits](https://github.com/KimMachineGun/automemlimit/compare/v0.6.1...v0.7.0) --- updated-dependencies: - dependency-name: github.com/KimMachineGun/automemlimit dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Diffstat (limited to 'vendor/github.com/cilium/ebpf/asm/jump.go')
-rw-r--r--vendor/github.com/cilium/ebpf/asm/jump.go127
1 files changed, 0 insertions, 127 deletions
diff --git a/vendor/github.com/cilium/ebpf/asm/jump.go b/vendor/github.com/cilium/ebpf/asm/jump.go
deleted file mode 100644
index e31e42cac..000000000
--- a/vendor/github.com/cilium/ebpf/asm/jump.go
+++ /dev/null
@@ -1,127 +0,0 @@
-package asm
-
-//go:generate stringer -output jump_string.go -type=JumpOp
-
-// JumpOp affect control flow.
-//
-// msb lsb
-// +----+-+---+
-// |OP |s|cls|
-// +----+-+---+
-type JumpOp uint8
-
-const jumpMask OpCode = aluMask
-
-const (
- // InvalidJumpOp is returned by getters when invoked
- // on non branch OpCodes
- InvalidJumpOp JumpOp = 0xff
- // Ja jumps by offset unconditionally
- Ja JumpOp = 0x00
- // JEq jumps by offset if r == imm
- JEq JumpOp = 0x10
- // JGT jumps by offset if r > imm
- JGT JumpOp = 0x20
- // JGE jumps by offset if r >= imm
- JGE JumpOp = 0x30
- // JSet jumps by offset if r & imm
- JSet JumpOp = 0x40
- // JNE jumps by offset if r != imm
- JNE JumpOp = 0x50
- // JSGT jumps by offset if signed r > signed imm
- JSGT JumpOp = 0x60
- // JSGE jumps by offset if signed r >= signed imm
- JSGE JumpOp = 0x70
- // Call builtin or user defined function from imm
- Call JumpOp = 0x80
- // Exit ends execution, with value in r0
- Exit JumpOp = 0x90
- // JLT jumps by offset if r < imm
- JLT JumpOp = 0xa0
- // JLE jumps by offset if r <= imm
- JLE JumpOp = 0xb0
- // JSLT jumps by offset if signed r < signed imm
- JSLT JumpOp = 0xc0
- // JSLE jumps by offset if signed r <= signed imm
- JSLE JumpOp = 0xd0
-)
-
-// Return emits an exit instruction.
-//
-// Requires a return value in R0.
-func Return() Instruction {
- return Instruction{
- OpCode: OpCode(JumpClass).SetJumpOp(Exit),
- }
-}
-
-// Op returns the OpCode for a given jump source.
-func (op JumpOp) Op(source Source) OpCode {
- return OpCode(JumpClass).SetJumpOp(op).SetSource(source)
-}
-
-// Imm compares 64 bit dst to 64 bit value (sign extended), and adjusts PC by offset if the condition is fulfilled.
-func (op JumpOp) Imm(dst Register, value int32, label string) Instruction {
- return Instruction{
- OpCode: op.opCode(JumpClass, ImmSource),
- Dst: dst,
- Offset: -1,
- Constant: int64(value),
- }.WithReference(label)
-}
-
-// Imm32 compares 32 bit dst to 32 bit value, and adjusts PC by offset if the condition is fulfilled.
-// Requires kernel 5.1.
-func (op JumpOp) Imm32(dst Register, value int32, label string) Instruction {
- return Instruction{
- OpCode: op.opCode(Jump32Class, ImmSource),
- Dst: dst,
- Offset: -1,
- Constant: int64(value),
- }.WithReference(label)
-}
-
-// Reg compares 64 bit dst to 64 bit src, and adjusts PC by offset if the condition is fulfilled.
-func (op JumpOp) Reg(dst, src Register, label string) Instruction {
- return Instruction{
- OpCode: op.opCode(JumpClass, RegSource),
- Dst: dst,
- Src: src,
- Offset: -1,
- }.WithReference(label)
-}
-
-// Reg32 compares 32 bit dst to 32 bit src, and adjusts PC by offset if the condition is fulfilled.
-// Requires kernel 5.1.
-func (op JumpOp) Reg32(dst, src Register, label string) Instruction {
- return Instruction{
- OpCode: op.opCode(Jump32Class, RegSource),
- Dst: dst,
- Src: src,
- Offset: -1,
- }.WithReference(label)
-}
-
-func (op JumpOp) opCode(class Class, source Source) OpCode {
- if op == Exit || op == Call || op == Ja {
- return InvalidOpCode
- }
-
- return OpCode(class).SetJumpOp(op).SetSource(source)
-}
-
-// Label adjusts PC to the address of the label.
-func (op JumpOp) Label(label string) Instruction {
- if op == Call {
- return Instruction{
- OpCode: OpCode(JumpClass).SetJumpOp(Call),
- Src: PseudoCall,
- Constant: -1,
- }.WithReference(label)
- }
-
- return Instruction{
- OpCode: OpCode(JumpClass).SetJumpOp(op),
- Offset: -1,
- }.WithReference(label)
-}