On 2013-01-25 20:37, Johannes Pfau wrote:

I don't remember anyone working on Windows RT or iOS. Michel Fortin has
code to interface to ObjC which would benefit iOS development:
* A template based solution, but IIRC that created to much bloat and
   development was stopped.

You can do it manually to avoid bloat but that is very tedious.

* A dmd patch which added extern(ObjC).
   http://michelf.ca/projects/d-objc/
   I'm not sure what's the status here. IIRC I thought it was a quite
   intrusive language change (it added additional syntax except from
   extern(ObjC)), but with UDAs + compiler support it could probably be
   adapted to make it less controversial. Either way it would be a huge
   patch and huge patches tend to get not reviewed merged into dmd so
   it's difficult.

It hasn't had an update for two or three years.

* Google castrated it's libc: it doesn't support TLS. D can't work
   without TLS. (Things might get better with C++/11 which also has TLS
   support). AFAIK google was just to lazy to implement TLS (Java
   doesn't need it), ARM/Linux even provides hardware support for fast
   TLS (TLS register).
* GCC has emulated TLS. It would be slow but it could work. Except that
   it can't work with the D garbage collector right now. It could be
   integrated with some effort, but it would veeeery be slow. (Basically
   emuTLS allocates small distinct memory ranges, real TLS has one big
   range per thread. Now the GC needs to get all ranges and scan them.
   Our current approach can't get the small ranges. Even if we could
   make it work scanning many small ranges is slow)

DMD on Mac OS X currently uses an emulated TLS.

--
/Jacob Carlborg

Reply via email to