[gambit-list] Problem with interactive development using remote REPL of iOS Sim.

Jason Felice jason.m.felice at gmail.com
Thu Feb 28 15:41:53 EST 2013


The man page for BridgeSupport claims that it describes API symbols which
cannot be introspected at runtime.  It also says, "Only classes where
additional metadata is needed are described."

It seems the additional metadata is what kind of sentinel is used for
variable-argument methods and which classes are toll-free bridged to which
other types.

Also, no bridgesupport files appear for the iOS or iOS simulator platforms,
though there is a tool which might generate this information based on
headers.

IMHO, this does not solve the method dispatch problem, but it can add a lot
of value for Mac OS X.

For my purposes - which is iOS development - I want to be able to call
third-party class methods and even undocumented methods (in the simulator),
so I'd like to keep the dynamic dispatch.

As an optimization on iOS, it would be cool to run some stats on the most
commonly called function signatures and fast path those.

-Jason


On Thu, Feb 28, 2013 at 1:46 PM, mikel evins <mevins at me.com> wrote:

>
> On Feb 28, 2013, at 1:36 PM, Marc Feeley <feeley at iro.umontreal.ca> wrote:
>
> >
> > On 2013-02-28, at 10:59 AM, Jason Felice <jason.m.felice at gmail.com>
> wrote:
> >
> >> I've been thinking about this thread and my project, and it has
> re-energized me to put some time in.  I'm hoping this evening I will have
> that time to put in.
> >>
> >> Some things which I've concluded:
> >>
> >> 1. The dependency on libffi is fine for all platforms I know of except
> for iOS on the native device.  I'll investigate using libffi for most
> platforms and special-case ARM support.  If feasible (I expect it will be),
> that should remove a boat load of code.
> >> 2. I'll make it not require black hole.
> >>
> >
> > Couldn't we use Mike Evins' idea of parsing the BridgeSupport files and
> generating specific FFI code which covers all the available methods?  This
> approach would be completely portable.
> >
> > To avoid code bloat, we could rely on an "import" declaration which
> indicates which of the methods we actually need (perhaps inferred from a
> static program analysis).
>
> BridgeSupport files are XML. Parsing them is easy. Do `man BridgeSupport`
> to find out more.
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.iro.umontreal.ca/pipermail/gambit-list/attachments/20130228/b8c7ac84/attachment.htm>


More information about the Gambit-list mailing list