lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


Geoff Leyland wrote:
> Sorry for such a vague report, and it's most likely I'm
> depending on undefined behavior somewhere, but since I'm having
> trouble working this out, do you have any ideas what this might
> be?  Any ideas what changes a print statement might cause or
> what undefined behavior has changed since beta2?

If the compiler encounters a print(), it aborts the current trace,
i.e. it doesn't compile that piece of code. Try io.write instead
(which is compiled in beta3).

[LJ2 currently doesn't compile print() mainly because I'd need to
make print() resumable first -- it calls tonumber() in a loop.]

You could also have a look with -jv to see which parts of the code
have been compiled just before you see an error. Or selectively
stop functions from being compiled with jit.off(func).

> The test suite passes on beta2 (i386), it also passes on beta3
> with -joff or -jflush.  It fails with all optimisation levels
> (including -O0).

I'll look into this tomorrow.

--Mike