CogVm source as per VMMaker.oscog-eem.1878
CogVm source as per VMMaker.oscog-eem.1878

Check for allocation failure in the LargeIntegersPlugin and fail primitives
when space runs out. Stops (2 raisedTo: 100000000) basicSize crashing system.

This fix is clearly unsatisfactory;. the ciode fails to slow Smalltalk code.
We'd like to run the GC but Spur's style is not to GC in primitives.  If we
change the plugin to do GC in primtiives we lose the speed advantage of the
no-GC style of code.  One approach might be to estimate the memory needed as
early as possible, and run a GC if not enough memory is available for the
result, recomputing base pointers if GC is run.  This would avoid the awful
remapOop:in: style whioch is pessimistic; it puts things in a stack and takes
them back out whether a GC is needed or not.  We should use an optimistic
algorithm; especially for something as performance sensitive as large integer
arithmetic.


git-svn-id: http://squeakvm.org/svn/squeak/branches/Cog@3735 fa1542d4-bde8-0310-ad64-8ed1123d492a

Former-commit-id: 9e030985b41a6f928733b7923116dc69bd1ebae5
timfel/squeakvm,OpenSmalltalk/vm,OpenSmalltalk/vm,bencoman/pharo-vm,bencoman/pharo-vm,OpenSmalltalk/vm,bencoman/pharo-vm,OpenSmalltalk/vm,timfel/squeakvm,timfel/squeakvm,bencoman/pharo-vm,OpenSmalltalk/vm,peteruhnak/pharo-vm,timfel/squeakvm,peteruhnak/pharo-vm,peteruhnak/pharo-vm,peteruhnak/pharo-vm,OpenSmalltalk/vm,peteruhnak/pharo-vm,peteruhnak/pharo-vm,timfel/squeakvm,OpenSmalltalk/vm,timfel/squeakvm,OpenSmalltalk/vm,peteruhnak/pharo-vm,timfel/squeakvm,bencoman/pharo-vm,bencoman/pharo-vm,bencoman/pharo-vm,peteruhnak/pharo-vm,timfel/squeakvm,bencoman/pharo-vm,bencoman/pharo-vm