Open plafer opened 1 month ago
In most tests, we ensure that stack overflow table is empty at the end of the program by manually dropping extra items.
if a 0 is pushed onto the stack overflow table, and the table is empty, then don't populate the overflow table (since when we shift right on an empty overflow table, we populate
s[15]
with 0).
This would be very cool - but we'll need to think through how complex the constraints would need to be to support this.
The following test fails with error
OutputStackOverflow(1)
, presumably because there were 2PUSH
instructions, and oneADD
(which shifts stack left), and so the overflow table contains a 0 entry at the end and is contained non-empty. This is probably a new behavior since #1456.I'm not sure why this doesn't occur in more tests yet, but it seems like the behavior we want is: if a 0 is pushed onto the stack overflow table, and the table is empty, then don't populate the overflow table (since when we shift right on an empty overflow table, we populate
s[15]
with 0).