hg: macosx-port/macosx-port/jdk: added jobjc to build
Mike Swingler
swingler at apple.com
Tue Mar 22 14:25:49 PDT 2011
On Mar 22, 2011, at 1:50 PM, rhoover at apple.com wrote:
> Changeset: 391ef7b33b9f
> Author: rhoover
> Date: 2011-03-22 14:49 -0600
> URL: http://hg.openjdk.java.net/macosx-port/macosx-port/jdk/rev/391ef7b33b9f
>
> added jobjc to build
Hi all,
I would just like to follow up on Roger's push, and let you know what JObjC is (and what it is not).
We have created a generator that creates compile-time Java wrappers for Objective-C data types. We take the native C and ObjC framework BridgeSupport meta data files, and use those to produce Java classes which represent the frameworks, classes, and instance types of the native API.
This is not a replacement for CocoaJava for ordinary app developers. It is designed to implement the Java runtime itself on Mac OS X, without writing excessive amounts of Objective-C through JNI. It allows us to avoid micromanaging the native object lifetime between 32/64-bit, retain/release vs. ObjC garbage collected modes, as well as automatically handling the ObjC exception model interactions Java's.
These wrapper classes should also not be used for performance sensitive code, since they still have the same overhead cost as an ordinary JNI call, ObjC @try/@catch blocks, as well as an invocation through libffi trampolines. We intend to use the generated JObjC classes to quickly bring up new functionality, which will be replaced with hand-written JNI in the performance critical sections.
If you have any questions about the generator, the classes it produces, or anything else, please let us know.
Regards,
Mike Swingler
Java Engineering
Apple Inc.
More information about the macosx-port-dev
mailing list