Apple Oracle OpenJDK Announcement
Landon Fuller
landonf at plausible.coop
Thu Nov 18 08:42:23 PST 2010
On Nov 18, 2010, at 2:10 AM, Greg Lewis wrote:
> On Tue, Nov 16, 2010 at 11:22:06PM -0800, Mike Swingler wrote:
>>
>> As for the targeted version of Mac OS X-specific changes, you can expect
>> that we will use Mac OS X 10.6 as a baseline. The Mac OS X 10.6 SDK
>> allows us to use blocks (which _greatly_ simplifies interacting with
>> AppKit on the main thread), and has many key pieces of functionality
>> exposed as full Cocoa API (as opposed to using private SPI or Carbon
>> functions).
>
> By blocks you mean Grand Central Dispatch, yes?
GCD has a block-based API, but blocks themselves are a C/ObjC/C++ language extension (coupled with a basic runtime included in libc, as well as additional support specific to ObjC):
http://clang.llvm.org/docs/BlockLanguageSpec.txt
http://clang.llvm.org/docs/Block-ABI-Apple.txt
Regarding Denis Lussier's about supporting older versions of OS X -- I don't personally have any requirement for anything other than X11 on 10.5 and earlier, and it seems like the dependencies on other 10.6+ only Cocoa APIs would likely be a show-stopper for anyone interested in native AWT/Swing support on 10.5 and earlier.
That said, I have backported Apple's GCC patches and implemented a replacement block runtime (based on the available Apple LLVM compiler_rt sources). We (Plausible Labs) primarily use this to support using blocks for client projects on iOS <= 3.2 and Mac OS X 10.5, and it could be used to get around the block dependency for the JDK:
http://code.google.com/p/plblocks/
-landonf
More information about the bsd-port-dev
mailing list