[Gambas-user] JIT problem

Emil Lenngren emil.lenngren at ...626...
Wed May 14 16:40:23 CEST 2014


I'm not sure, but isn't it enough to check whether the type is T_VOID? Or
is the problem that they are overwritten by a default value for the
argument type?
If so, why not simply allocate a control variable of type T_LONG? Then it
won't break anythihng with the JIT compiler.


2014-05-14 16:03 GMT+02:00 Benoît Minisini <gambas at ...1...>:

> Le 14/05/2014 15:54, Emil Lenngren a écrit :
> > Can someone print a gambas disassembly of a gambas file (and source code)
> > where this happens?
> > gbc -v File.class
> > will compile the file and print the disassembly if I remember correctly.
> >
>
> I think that the crash comes form the implementation of the new
> IsMissing() function.
>
> When a function has optional parameters, it pushes on the stack one 64
> bits integer (just after arguments, local variables, and slots for
> control flow instructions), each bit set indicating that the paramater
> was not passed to the function. (Quick & dirty implementation, but I
> didn't find better without breaking too many things...)
>
> As the interpreter always unwinds the stack up to the position it had
> when entering the function, this was not a problem. But for the JIT
> compiler it may be!
>
> Regards,
>
> --
> Benoît Minisini
>
>
> ------------------------------------------------------------------------------
> "Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
> Instantly run your Selenium tests across 300+ browser/OS combos.
> Get unparalleled scalability from the best Selenium testing platform
> available
> Simple to use. Nothing to install. Get started now for free."
> http://p.sf.net/sfu/SauceLabs
> _______________________________________________
> Gambas-user mailing list
> Gambas-user at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gambas-user
>



More information about the User mailing list