#1477: [embed] expose non-vararg-based sub/method call-ins
----------------------+-----------------------------------------------------
 Reporter:  plobsing  |       Owner:       
     Type:  feature   |      Status:  new  
 Priority:  normal    |   Milestone:       
Component:  none      |     Version:  2.1.0
 Severity:  medium    |    Keywords:       
     Lang:            |       Patch:       
 Platform:            |  
----------------------+-----------------------------------------------------
 The embedding API currently exposes Parrot_ext_call to provide call-ins on
 subs and methods. Parrot_ext_call uses a va_list for parameters and return
 locations. This is fine only if the signature to the call can be
 determined statically. AFAIK, there is no portable way to build up a
 va_list at runtime.

 Being a VM for dynamic languages, there are going to be cases where
 embedders want to decide things like number of arguments/returns at
 runtime (yay dynamicism!). A good example of this is
 &Parrot::Embed::invoke which can only make "S->P" calls ATM.

 Providing an equivalent function that took an aggregate (either C-ish or
 Parrot-ish) instead of the va_list would allow for dynamic call-ins.

-- 
Ticket URL: <https://trac.parrot.org/parrot/ticket/1477>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
_______________________________________________
parrot-tickets mailing list
[email protected]
http://lists.parrot.org/mailman/listinfo/parrot-tickets

Reply via email to