sweep failed to find exact end of memory

John M McIntosh johnmci at smalltalkconsulting.com
Wed Feb 21 22:58:28 UTC 2007


I looked at this a couple of years ago and put together a change set  
which carried forward the intent of what a routine returned in Slang.
Mostly to catch all the return voids. However we discovered an  
interesting thing, may of the vmMachine.h callbacks say oh that  
returns integer, however
the routine does NOT return anything, a favourite one was setting the  
primitive failure value and expecting to have a value come back, then  
later Oh
an if that depends on it.

The VM dev community punted on the idea.

However in looking at this, there were only a few places where the  
code actually returns a pointer value, of course then many people  
grab it and play with it
thinking it's a signed integer.  So all of that would have to be  
reviewed, all callers set variables to the proper types, and likely  
check all the plugins and VM support code.

I of course would be delighted to help Tim in this multi-month effort  
if there is funding...
Plus of course it would be good to make some Sunits to validate stuff.

On Feb 21, 2007, at 11:10 AM, tim Rowledge wrote:

> That's a distressingly difficult question to answer. I bet there  
> are some nasty hacks one could do that would 'fix' it on the basis  
> of forcing the C compiler to do signed-unsigned conversions but...  
> I never trust a C compiler. Aside from Slang code there are of  
> course the primitives and platform code that would be indirectly  
> affected, if only at the level of "I have change this decl to stop  
> an oodleplex of compiler warnings obscuring a real problem".  
> There's also a boatload of VMMaker patches needing proper  
> integration anyway and it would stupid not to do them as well.
>
> I'd love to say, "oh a week" but long experience suggests that the  
> truth is normally "double the digits and up the unit" so probably  
> 'two months' is higher in the truthiness scale.
>
> tim
> --
> tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim
> Strange OpCodes: BH: Branch and Hang
>
>
>

--
======================================================================== 
===
John M. McIntosh <johnmci at smalltalkconsulting.com>
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
======================================================================== 
===





More information about the Squeak-dev mailing list