[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Gcl-devel] ia64 and garbage collection
From: |
David Mosberger |
Subject: |
Re: [Gcl-devel] ia64 and garbage collection |
Date: |
Tue, 30 Jul 2002 16:10:25 -0700 |
>>>>> On 30 Jul 2002 17:11:08 -0400, Camm Maguire <address@hidden> said:
Camm> David Mosberger <address@hidden> writes:
>> >>>>> On Tue, 30 Jul 2002 13:33:12 -0400, Camm Maguire <address@hidden>
said:
Camm> 1) Is there a work around, i.e. a way in which I can ensure
Camm> clearing all registers back to the stack at a certain point in
Camm> the program?
David> A call to getcontext() does have the effect of forcing all
David> callee-saved (preserved) registers into memory (and the "scratch"
David> registers won't be live, by virtue of getcontext() being a
David> regular function call).
Camm> And thank you for this suggestion! How does this differ from
Camm> the flushrs solution?
The difference is that getcontext() also makes sure that all the
callee-saved registers are in memory. Depending on how your garbage
collector works, you may want one or the other solution. getcontext()
is arguably a bit safer, as in the worst case, you'll look at the same
pointers twice. On the other hand, __builtin_flushrs() is faster, if
that's all you need.
--david