[Interest] [OSX/iOS] Garbage collection still in place in Qt?

Thiago Macieira thiago.macieira at intel.com
Wed Mar 4 04:34:45 CET 2015


On Tuesday 03 March 2015 23:45:39 Till Oliver Knoll wrote:
> > Am 03.03.2015 um 18:55 schrieb Thiago Macieira 
<thiago.macieira at intel.com>:
> >> ...
> >> 
> >> So Qt could still support OS X 10.6 and 32 bit, if that was the point of
> >> your statement.
> > 
> > [snip]
> > 
> >> That said, IIRC official OS X 10.6 support was dropped quite some time
> >> ago
> >> by Qt, so that would be a non-issue anyway.
> > 
> > OS X 10.6 is no longer supported. The reason for that is that we dropped
> > the code paths that conflicted with ARC.
> 
> What exactly are you saying here? That the deprecated "Garbage Collector"
> API calls have already been removed and all Qt frameworks (Core, Gui,
> Widgets, ...) only use manual retain/release memory management?

I am saying that we dropped 10.6 because we began using ARC.

That doesn't mean we're using ARC everywhere. It just means we're using it 
somewhere unconditionally.

> So when you say that you "dropped the code paths that conflicted with ARC"
> that could only mean that Qt would /already/ use ARC.
> But that statement would conflict with the following:
> > But I haven't heard anything about 32-bit support. I thought that was
> > still
> > working and used ARC.
> 
> No. It really seems that ARC is only supported for 64 bit binaries, see e.g.
> here:

"I haven't heard anything about 32-bit support"

I've never built 32-bit OS X binaries in Qt 5. Unlike Qt 4, Qt 5 does not do 
universal binaries by default, so it's entirely possible no one has tested 32-
bit builds in quite a while.

> > Unless you meant that the Mac App Store will only accept
> > submissions of 64-bit applications. If that's what you meant, then it
> > doesn't affect us: we should continue to support 32-bit for a while.
> 
> So the fact that Qt does still support 32 bit binaries can only mean that Qt
> is /not/ yet ready for ARC.

I didn't say that. I said I didn't know about 32-bit support. It may be that 
they no longer work either.

I also did not say we are ARC-ready. I said only that we are using it in some 
places.

> A quick check whether Qt is (still) compiled with enabled Garbage Collection
> (besides scanning the source code for deprecated API calls) could be to
> watch out for the following compiler flags during compilation (of *.mm
> sources):
> 
>   -fobjc-gc-only
> 
> Or
> 
>   -fobjc-gc

Neither occurs anywhere in the source code, in any modules. I've checked the 
5.5 branch as well as the v5.0.2 tag.

> So I have to repeat my question: do we know for sure what the state of Qt is
> (maybe at least per module, like Core, Gui, Widgets... WebKit might be an
> entire different beast ;)) with regards to the deprecated Garbage
> Collection? Work in progress? Not an issue (anymore)? "Let's find out on
> May 1st 2015"? ;)

I'm pretty sure the answer is "we don't know for sure".

if this is important, someone should investigate.

(it's not important to me)

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center




More information about the Interest mailing list