discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Right place to discuss probable issues in libobjc2?


From: David Chisnall
Subject: Re: Right place to discuss probable issues in libobjc2?
Date: Thu, 23 Jan 2014 06:53:09 -0800

On 23 Jan 2014, at 02:21, Derek Fawcus 
<dfawcus+lists-gnustep-discuss@employees.org> wrote:

> One other thing that sprung to mind about the dual mapping was
> with systems having virtual mapped caches.  I've a vague memory
> of issues with this sort of game on such systems.
> 
> However,  its probably moot given how most systems these days
> have physically mapped caches.

Virtually mapped caches make shared memory almost impossible, so they're very 
rare in architectures capable of running a POSIX system.  If we encounter any 
that can run GNUstep, then we can add a memory barrier after creating the 
trampoline, which would fix it: The data is always written through one mapping 
and read through the other.  This code is only used on platforms where there is 
some hand-written assembly for the trampolines, so every platform needs 
bringing up separately, which makes that quite easy to spot.  

We probably need to explicitly flush the i-cache on some platforms (e.g. MIPS) 
too.  This is likely harder to debug, because we are currently not reallocating 
trampolines, so only need it if the previous trampoline has been recently used 
and has pulled the data for the following one into the i-cache.  

Unfortunately, there is no standard API for flushing instruction caches and so 
the call varies between operating systems.  On Linux, it even varies between 
architectures...

David

-- Sent from my STANTEC-ZEBRA




reply via email to

[Prev in Thread] Current Thread [Next in Thread]