gracefully trace large arrays

This commit is contained in:
Kartik K. Agaram 2021-07-26 02:01:26 -07:00
parent 6b57715502
commit 6a92f3b535
1 changed files with 8 additions and 0 deletions

View File

@ -131,6 +131,14 @@ fn print-cell _in: (addr handle cell), out: (addr stream byte), trace: (addr tra
{
compare i, max
break-if->=
{
var available-space/eax: int <- space-remaining-in-stream out
compare available-space, 0x10
break-if->=
var dummy/eax: boolean <- try-write out, "..."
error trace, "print-cell: no space for array"
return
}
write out " "
var curr-ah/eax: (addr handle cell) <- index data, i
print-cell curr-ah, out, trace