The 2.5.7 source code archive contained outdated VM files of Memory.vm and Sys.vm. The official software suite 2.6 zip archive already contained an updated version of the OS VM files. The source code archive on the nand2tetris website was however never updated accordingly.
The OS update addressed the following issues:
Sys.error included a call to String.new which could cause itself a runtime error via Memory.alloc, resulting in recursive calls to Sys.error and ultimately crashing with a stack overflow.
Memory.vm contains now a better allocation algorithm with defragmentation of adjacent blocks
The 2.5.7 source code archive contained outdated VM files of Memory.vm and Sys.vm. The official software suite 2.6 zip archive already contained an updated version of the OS VM files. The source code archive on the nand2tetris website was however never updated accordingly.
The OS update addressed the following issues: