A frame is considered to have "gaps" if it declares a number of parameters, promising to be able of supporting functions with arity equal to number of parameters, and then breaks the promise.
Example:
; frame promises to deliver three parameters...
frame 3
param 0 (istore 1 42)
; ...but parameter slot 1 is left void
param 2 (strstore 3 "Hello World!")
call foo/3
A frame is considered to have "gaps" if it declares a number of parameters, promising to be able of supporting functions with arity equal to number of parameters, and then breaks the promise.
Example:
Assembler should refuse to compile such code.