Re: JIT compiler reports TSETM NYI

  • From: Mike Pall <mike-1206@xxxxxxxxxx>
  • To: luajit@xxxxxxxxxxxxx
  • Date: Sat, 30 Jun 2012 09:03:52 +0200

Trevor Fancher wrote:
> After some browsing around I found line 5162 of the src/vm_x86.dasc file.
> Quoted below are a few lines:
> 
> case BC_TSETM:
> | ins_AD // RA = base (table at base-1), RD = num const (start index)
> | mov TMP1, KBASE // Need one more free register.
> | mov KBASE, dword [KBASE+RD*8] // Integer constant is in lo-word.
> 
> 
> It seems to me that TSETM is indeed implemented,

This is the implementation as part of the x86/x64 interpreter.

> but for some reason the
> luajit compiler is reporting that it is not. I tried searching around the
> codebase to see if there was an easy way to toggle on the jit compiler's
> knowledge of TSETM, but I didn't find one.

Look for BC_TSETM in src/lj_record.c. That causes the NYI message
you're seeing.

> But to satisfy my currisity I delved into the luajit source code
> to see what it would take to implement compilation for the TSETM
> bytecode.

//www.freelists.org/post/luajit/Is-there-a-list-of-NYI-FastFunc-of-LuaJIT,6

--Mike

Other related posts: