Comment 0 for bug 1835221

Revision history for this message
Paul F. Dietz (paul-f-dietz) wrote :

The internal function SB-KERNEL:ASSERT-ERROR is called when an assertion fails. One of its arguments is a list of (<form> <value>) lists. This list is assembled at the caller.

Instead, change SB-KERNEL:ASSERT-ERROR to take two arguments in place of that one: the list of forms, and the list of their values. The list as previously passed can then be reconstructed in SB-KERNEL:ASSERT-ERROR itself. The list of forms is a compile time constant, so this reduces the amount of allocation at the caller by a factor of 3. More importantly, it reduces the size of the code footprint in user code for ASSERT.