On Nov 26, 2008, at 7:14 AM, marcomaggi wrote:
The following change in "clos/private/compat.ss" is needed and will make it work under Ypsilon, too. 19,21c19,22 < make-parameter) < (only (ikarus) < pointer-value)) ---make-parameter)) (define (pointer-value value) (equal-hash value))
Hmmm. According to the usage of pointer-value (after a quick glance), no, that's not what you want. First, pointer-value is used only in one place in clos/private/fast-method-cache.ikarus.ss so, it's better if you just add the import there and the rest of the code should work (read: have the same behavior) as before and under ypsilon as well. Second, ikarus does not implement equal-hash, and it's unlikely that it will do so. Using equal-hash defeats the purpose of having *fast* cache. Third, I don't know if the fast-method-cache actually works or not. The value of "pointer-value" changes as objects move in memory. It looks like it may be ok since there is some code for handling cache misses and for fixing up these tables. But I cannot say for sure without more involved analysis. Aziz,,,
