Fix DataStream-serialization of SmallInteger in a 64bits spur VM.
DataStream assumes each and every SmallInteger fits in 32bits which is no more true.
If the SmallInteger is out of 32bits VM SmallInteger range, then use a fake LargeInteger.
Also care to re-normalize LageIntegers at materialization time.
The scenario is this one: a SmallInteger smaller than 32 bits VM minSmallInteger is being replaced with a fake LargeNegativeInteger.
But the fake LargeNegativeInteger is not stored in references IdentityDictionary; consequently the class is NOT properly registered into the structures, and this creates an Error at materialization time...
Let's correct my fresh DataStream correction...
The ugly 37777777 pattern may happen in octal, but 50 birthdays is well too young for practicing such sport correctly ;)
if the MC commit window would not try and reformat the code (especially rewrite hexadecimal constants in decimal) - that would have given me one more chance to correct before committing...