Missing trap decode: bytevector range checks
The trap in issue #20 is missing decoding logic:
The condition has 5 components:
1. &error &serious
2. &who
who: put-u8
3. &message
message: "An unrecognized error was trapped"
4. &irritants
irritants: ((cmp rsi (mem64+ rcx -5))
(jnb (+ rip 188)))
5. &program-counter
program-counter: 2528013
End of condition components.
An appropriate case should be added to (loko arch amd64 traps)
. The trap is reproducible with e.g. an out-of-range bytevector-*-ref
call. This particular trap is common to most (all?) bytevector procedures, so to distinguish between e.g. bytevector-u8-ref
and bytevector-s16-ref
some more instructions need to be decoded.