From: Alexandre Oliva (oliva@dcc.unicamp.br)
Date: Fri Dec 18 1998 - 15:20:52 EST
On Dec 18, 1998, Godmar Back <gback@cs.utah.edu> wrote:
>> problems in an array of methods; size was apparently miscomputed, so I
>> fixed it to get the size of the class object of the first method. But
> What size was miscomputed? The size passed in to walkMethods?
> That's the size of the block allocated, not the number of methods.
No, I really meant the number of methods, it was called `nm', I think.
The class said 32, but nm was computed as 42. I believe the actual
size may contain some excess, and that's why we should try to compute
the size from the class info. Unless there's something else after the
table of methods that I'm missing.
> I see, so you fixed that: is that fix correct?
> Just because the first method does not have a class pointer means
> we don't have to walk the rest of them???
I think so, since methods are read and initialized from first to
last. We can't lose in this case. Or so I thought :-)
>> then, I'd get the same problem with field, but field doesn't have a
>> pointer to a class, so I gave up for a while (I've got a report due to
>> 4 PM; I had only 12 hours left then, and all I had was the .bib I had
>> prepared with 108 citations :-)
> I see.
Finished! YES! The semester is over! Back to hacking!
(not that much, actually; I've got to submit a scholarship request
still in 1998 or first week of 1999 worst case. :-(
> The currently checked in file still uses MARK_IFNONZERO, which is
> conservative in it's handling, so it's not broken.
Right, I reverted it. But it would be really nice if we could use
MARK_OBJECT_PRECISE all over the place, to avoid the expensive (and
stupid, if we have the information to avoid it) is_heap_object test.
-- Alexandre Oliva http://www.dcc.unicamp.br/~oliva aoliva@{acm.org} oliva@{dcc.unicamp.br,gnu.org,egcs.cygnus.com,samba.org} Universidade Estadual de Campinas, SP, Brasil
This archive was generated by hypermail 2b29 : Sat Sep 23 2000 - 19:57:22 EDT