cleaning up the locking layers
Patrick Tullmann
tullmann at cs.utah.edu
Sun Feb 27 22:08:01 PST 2000
Godmar Back wrote:
> > NOTE: these are functions, and must remain so, since their addresses
> > are taken in some engines.
>
> Is that a change you're proposing?
> Currently, the address of the slowLock/Unlock functions is taken in
> the jit3 engine; it's inlined in the code the jit emits.
> Or do you mean something else?
That was already in the FAQ, so I kept it... I assume its still true
of the older JIT engine? I'll look into it an see what the real story
is.
> It's also not clear to me how useful it would be to tweak lockObject
> (or even slowLockObject) to log execution of monenter/exit: all inlined
> uncontended acquisitions would not be logged in this case. Might still
> be partially useful though.
Again, previous text. Its a good abstraction in any event.
> If you define Ksem in kaffevm/ksem.h, does that mean that a threading
> system cannot implement Ksem's operations as macros?
Currently I have the Ksem typedef and the ksemInit/ksemPut/ksemGet
functions as static inline methods in ksem.h. The entire set is
surrounded by #ifndef JTHREAD_HAS_KSEM. So, a threading system should
be able to implement ksemPut and ksemGet as macros or inline functions.
-Pat
----- ----- ---- --- --- -- - - - - -
Pat Tullmann tullmann at cs.utah.edu
Don't hate yourself in the morning -- sleep until noon!
More information about the kaffe
mailing list