WATCHPOINT_WRITE_MASK
static_assert((WATCHPOINT_WRITE_MASK ^ WATCHPOINT_SIZE_MASK ^ WATCHPOINT_ADDR_MASK) == ~0UL);
return (long)((is_write ? WATCHPOINT_WRITE_MASK : 0) |
*is_write = !!((unsigned long)watchpoint & WATCHPOINT_WRITE_MASK);