[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: RE: Lua on the PlayStation2
- From: Chris Chapman <Chris.chapman@...>
- Date: Mon, 6 Oct 2003 17:51:06 +0100
It was dodgy for a little while (only the SN systems implementation, and
only for a month or two). Luckily a day or two after I started to integrate
Lua and came across the setjmp problem (badly sized longjmp structure which
caused a stack trash) someone else also noticed it on the PS2 development
boards, and the problem was promptly fixed. It all boiled down to an old gcc
header which had snuck into the source tree, and which wasn't compatible
with the PS2 architecture (wrong number/size of registers).
I came across an issue while attempting the upgrade to Lua 5.0 that error
handling would die horribly on any kind of error, which I tracked to the
fact that it seems that protected mode calls to Lua were no longer the
default. In 4.0.1, most execution of code seems to go through
luaD_runprotected, which surrounds the code with longjmp protection. In 5.0,
this is no longer the case, unless you use lua_pcall in preference to
lua_call. Would that be an accurate description of the changes?
Anyway, using lua_call and encountering a parse or execution error would
result in a longjmp to an undefined address. That snagged me for a while
until I swapped to using lua_pcall everywhere.
From: John Belmonte [mailto:firstname.lastname@example.org]
Sent: 06 October 2003 16:41
To: Lua list
Subject: Re: Lua on the PlayStation2
>>Would I be right to hazard a guess that 5.0 is a bit
>>more PS2 friendly that 4.0.1 then?
> I'd say so, because we try to make each version of Lua more friendly to
> more platforms, based on the reports from users who have tried Lua on
> platforms, but I'm not familiar with nor have access to the PS2.
Does 5.0 happen to be more dependent on longjump and friends? My oracle
tells me that the longjump implementation on the PS2 is bad news.
http:// if le.o /