as per @code_warntype (don’t know what a MWE is) everything is fine (no reds!)
MethodInstance for sendints_inner(::BitBuffer, ::Int64, ::MVector{3, UInt32}, ::MVector{3, UInt32}, ::UInt128)
from sendints_inner(buffer::BitBuffer, num_of_bits::Integer, sizes::MVector{3, UInt32}, nums::MVector{3, UInt32}, result::T) where T<:Unsigned in Main at /Users/uliano/files/bitbuffer.jl:181
Static Parameters
T = UInt128
Arguments
#self#::Core.Const(sendints_inner)
buffer::BitBuffer
num_of_bits@_3::Int64
sizes::MVector{3, UInt32}
nums::MVector{3, UInt32}
result@_6::UInt128
Locals
@_7::Union{Nothing, Tuple{Int64, Int64}}
num_of_bytes::Int64
value::UInt128
part::UInt128
rest::UInt128
shiftbits::Int64
shiftbytes::Int64
firstbits::UInt8
freebits::Int64
avail_in_first_byte::Int64
byte::UInt8
num_of_bits@_18::Int64
result@_19::UInt128
Body::Nothing
1 ─ (result@_19 = result@_6)
│ (num_of_bits@_18 = num_of_bits@_3)
│ Core.NewvarNode(:(@_7))
│ Core.NewvarNode(:(num_of_bytes))
│ Core.NewvarNode(:(value))
│ Core.NewvarNode(:(part))
│ Core.NewvarNode(:(rest))
│ Core.NewvarNode(:(shiftbits))
│ Core.NewvarNode(:(shiftbytes))
│ Core.NewvarNode(:(firstbits))
│ %11 = result@_19::UInt128
│ %12 = Base.getindex(sizes, 2)::UInt32
│ (result@_19 = %11 * %12)
│ %14 = result@_19::UInt128
│ %15 = Base.getindex(nums, 2)::UInt32
│ (result@_19 = %14 + %15)
│ %17 = result@_19::UInt128
│ %18 = Base.getindex(sizes, 3)::UInt32
│ (result@_19 = %17 * %18)
│ %20 = result@_19::UInt128
│ %21 = Base.getindex(nums, 3)::UInt32
│ (result@_19 = %20 + %21)
│ %23 = Base.getproperty(buffer, :offset)::Int64
│ %24 = (8 - %23)::Int64
│ (avail_in_first_byte = Main.mod(%24, 8))
│ %26 = Main.sizeof(result@_19)::Core.Const(16)
│ %27 = (%26 * 8)::Core.Const(128)
│ (freebits = %27 - num_of_bits@_18)
│ %29 = Base.getproperty(buffer, :offset)::Int64
│ %30 = (%29 > 0)::Bool
└── goto #3 if not %30
2 ─ %32 = result@_19::UInt128
│ %33 = Base.getproperty(buffer, :offset)::Int64
│ %34 = (0xff << %33)::UInt8
│ %35 = (%32 & %34)::UInt128
│ %36 = (%35 % Main.UInt8)::UInt8
│ %37 = Base.getproperty(buffer, :offset)::Int64
│ (firstbits = %36 >>> %37)
│ %39 = Base.getproperty(buffer, :bits)::Vector{UInt8}
│ %40 = Base.getproperty(buffer, :index)::Int64
│ %41 = Base.getindex(%39, %40)::UInt8
│ %42 = (%41 | firstbits)::UInt8
│ %43 = Base.getproperty(buffer, :bits)::Vector{UInt8}
│ %44 = Base.getproperty(buffer, :index)::Int64
│ Base.setindex!(%43, %42, %44)
│ %46 = Base.getproperty(buffer, :index)::Int64
│ %47 = (%46 + 1)::Int64
│ Base.setproperty!(buffer, :index, %47)
└── (num_of_bits@_18 = num_of_bits@_18 - avail_in_first_byte)
3 ┄ (result@_19 = Main.bswap(result@_19))
│ (shiftbytes = Main.cld(freebits, 8))
│ (shiftbits = Main.rem(freebits, 8))
│ %53 = Main.typeof(result@_19)::Core.Const(UInt128)
│ %54 = Main.typemax(%53)::Core.Const(0xffffffffffffffffffffffffffffffff)
│ %55 = (8 * shiftbytes)::Int64
│ (rest = %54 << %55)
│ (part = ~rest)
│ %58 = (result@_19 & part)::UInt128
│ (value = %58 << shiftbits)
│ %60 = (result@_19 & rest)::UInt128
│ (result@_19 = %60 | value)
│ (result@_19 = result@_19 << avail_in_first_byte)
│ (result@_19 = Main.bswap(result@_19))
│ (num_of_bytes = Main.cld(num_of_bits@_18, 8))
│ %65 = (1:num_of_bytes)::Core.PartialStruct(UnitRange{Int64}, Any[Core.Const(1), Int64])
│ (@_7 = Base.iterate(%65))
│ %67 = (@_7 === nothing)::Bool
│ %68 = Base.not_int(%67)::Bool
└── goto #6 if not %68
4 ┄ %70 = @_7::Tuple{Int64, Int64}
│ Core.getfield(%70, 1)
│ %72 = Core.getfield(%70, 2)::Int64
│ (byte = result@_19 % Main.UInt8)
│ %74 = Base.getproperty(buffer, :bits)::Vector{UInt8}
│ %75 = byte::UInt8
│ %76 = Base.getproperty(buffer, :index)::Int64
│ Base.setindex!(%74, %75, %76)
│ %78 = Base.getproperty(buffer, :index)::Int64
│ %79 = (%78 + 1)::Int64
│ Base.setproperty!(buffer, :index, %79)
│ (result@_19 = result@_19 >>> 8)
│ (@_7 = Base.iterate(%65, %72))
│ %83 = (@_7 === nothing)::Bool
│ %84 = Base.not_int(%83)::Bool
└── goto #6 if not %84
5 ─ goto #4
6 ┄ %87 = Main.mod(num_of_bits@_18, 8)::Int64
│ Base.setproperty!(buffer, :offset, %87)
│ %89 = Base.getproperty(buffer, :offset)::Int64
│ %90 = (%89 > 0)::Bool
└── goto #8 if not %90
7 ─ %92 = Base.getproperty(buffer, :index)::Int64
│ %93 = (%92 - 1)::Int64
└── Base.setproperty!(buffer, :index, %93)
8 ┄ return Main.nothing