[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: LuaJIT optimization bug?
- From: Pierre Chapuis <catwell@...>
- Date: Wed, 17 Aug 2011 15:15:09 +0200
On Wed, 17 Aug 2011 14:38:31 +0200, Mike Pall wrote:
unpack() is not compiled, i.e. the trace is aborted there.
Nice to know.
> local bit_set_1 = function(_bset,_byte,_bit)
> _bset[_byte] = bor(bset[_byte],bmask_1[_bit])
> end
The function as written above certainly doesn't work. You mix
_bset and bset (without underscore).
That's a typo that is not in the original code, sorry.
Even if that's just a typo, there's a high likeliness you're
overflowing a buffer somewhere (e.g. due to mixup of 0-based vs.
1-based indexing).
I have added an explicit assertion in my Lua source to check that,
and it is not triggered.
Try running under the memcheck tool of Valgrind
(see src/Makefile, -DLUAJIT_USE_SYSMALLOC -DLUAJIT_USE_VALGRIND,
CCDEBUG=-g).
Apparently I cannot do that on x86_64?
Also try to enable assertions.
Done, changes nothing.
--
Pierre 'catwell' Chapuis