Veneer Veneer code for use by the Inform 6 compiler with the Z-machine target.
§1. These functions have strange-looking names special to the Inform 6 compiler, which uses them to replace its default "veneer" functions. If we're compiling to something other than Inform 6, though, they are just strangely-named functions, and do no harm.
[ Unsigned__Compare x y u v; @je x y ?rfalse; ! i.e., return 0 @jl x 0 ?XNegative; ! So here x >= 0 and x ~= y @jl y 0 ?XPosYNeg; ! Here x >=0, y >= 0, x ~= y @jg x y ?rtrue; ! i.e., return 1 @ret -1; .XPosYNeg; ! Here x >= 0, y < 0, x ~= y @ret -1; .XNegative; @jl y 0 ?~rtrue; ! if x < 0, y >= 0, return 1 ! Here x < 0, y < 0, x ~= y @jg x y ?rtrue; @ret -1; ]; [ RT__ChLDW base offset; @loadw base offset -> sp; @ret sp; ];