On Fri, Sep 29, 2000 at 12:37:15PM -0400, Dan Sugalski wrote:
> At 04:13 PM 9/29/00 +0100, Nicholas Clark wrote:
> >Are you suggesting that the attributes use the same mapping system as
> >the XS (or son-of-XS (XS++)) typemaps in lib/ExtUtils/typemap?
> >If so, will there be the "terse" column in the typemap file to associate
> >"i" with "T_IV" ?
> 
> Hadn't considered it, but my first thought is to not shoot for that as a 
> target. The code that takes the parameters from the C-level calling frame 
> and builds PMCs out of them will be operating at a very low level, with 
> deep carnal knowledge of a platform/processor pair's calling sequence. It's 
> going to have to know the order that things go in registers, which 
> registers hold which types of parameters, and how excess parameters flow on 
> to the stack (or wherever they go) This is code that'll be different 
> (potentially) for every operating system on every processor perl runs (and 
> supports this) and I don't know that we can get this flexible. 'Specially 
> since many of the conversion routines will have to be written in C, rather 
> than in perl. (If perl gets a pointer to an array of char pointers, what 
> exactly could it do with it?)

Do you need this "deep carnal knowledge" to make it efficient, or just to
make the thing fly at all?

If the former, does that mean that you're thinking of having a generic C
approach that will work on anything, but probably not very fast, coupled
with custom code generators for platforms people know about and work on
[so VMS will have good support on this one :-)] ?

If the latter, if only VMS, x86 BSD and x86 Linux (and probably Solaris 9)
have support, what is everyone else going to do if they are attempting
to compile some or other third party app that needs this feature?

Nicholas Clark

Reply via email to