update status of libgccjit implementation

pull/81/head
Dibyendu Majumdar 9 years ago
parent b33bb75984
commit 135e7254ab

@ -64,7 +64,7 @@ Setting up of the Lua types is proving easier in ``libgccjit`` due to the fact t
JIT Status of Lua/Ravi Bytecodes
---------------------------------
Following is the status as of 15 June 2015.
Following is the status as of 27 June 2015.
+-------------------------+----------+--------------------------------------------------+
| name | JITed? | description |
@ -75,7 +75,7 @@ Following is the status as of 15 June 2015.
+-------------------------+----------+--------------------------------------------------+
| OP_LOADKX | NO | R(A) := Kst(extra arg) |
+-------------------------+----------+--------------------------------------------------+
| OP_LOADBOOL | NO | R(A) := (Bool)B; if (C) pc++ |
| OP_LOADBOOL | YES | R(A) := (Bool)B; if (C) pc++ |
+-------------------------+----------+--------------------------------------------------+
| OP_LOADNIL | YES | R(A), R(A+1), ..., R(A+B) := nil |
+-------------------------+----------+--------------------------------------------------+
@ -127,7 +127,7 @@ Following is the status as of 15 June 2015.
+-------------------------+----------+--------------------------------------------------+
| OP_LEN | NO | R(A) := length of R(B) |
+-------------------------+----------+--------------------------------------------------+
| OP_CONCAT | NO | R(A) := R(B).. ... ..R(C) |
| OP_CONCAT | YES | R(A) := R(B).. ... ..R(C) |
+-------------------------+----------+--------------------------------------------------+
| OP_JMP | YES | c+=sBx; if (A) close all upvalues >= R(A - 1) |
+-------------------------+----------+--------------------------------------------------+
@ -137,9 +137,9 @@ Following is the status as of 15 June 2015.
+-------------------------+----------+--------------------------------------------------+
| OP_LE | YES | if ((RK(B) <= RK(C)) ~= A) then pc++ |
+-------------------------+----------+--------------------------------------------------+
| OP_TEST | NO | if not (R(A) <=> C) then pc++ |
| OP_TEST | YES | if not (R(A) <=> C) then pc++ |
+-------------------------+----------+--------------------------------------------------+
| OP_TESTSET | NO | if (R(B) <=> C) then R(A) := R(B) else pc++ |
| OP_TESTSET | YES | if (R(B) <=> C) then R(A) := R(B) else pc++ |
+-------------------------+----------+--------------------------------------------------+
| OP_CALL | YES | R(A), .. ,R(A+C-2) := R(A)(R(A+1), .. ,R(A+B-1)) |
+-------------------------+----------+--------------------------------------------------+
@ -159,9 +159,9 @@ Following is the status as of 15 June 2015.
+-------------------------+----------+--------------------------------------------------+
| OP_SETLIST | NO | R(A)[(C-1)*FPF+i] := R(A+i), 1 <= i <= B |
+-------------------------+----------+--------------------------------------------------+
| OP_CLOSURE | NO | R(A) := closure(KPROTO[Bx]) |
| OP_CLOSURE | YES | R(A) := closure(KPROTO[Bx]) |
+-------------------------+----------+--------------------------------------------------+
| OP_VARARG | NO | R(A), R(A+1), ..., R(A+B-2) = vararg |
| OP_VARARG | YES | R(A), R(A+1), ..., R(A+B-2) = vararg |
+-------------------------+----------+--------------------------------------------------+
| OP_EXTRAARG | N/A | extra (larger) argument for previous opcode |
+-------------------------+----------+--------------------------------------------------+
@ -169,7 +169,7 @@ Following is the status as of 15 June 2015.
+-------------------------+----------+--------------------------------------------------+
| OP_RAVI_NEWARRAYF | NO | R(A) := array of float |
+-------------------------+----------+--------------------------------------------------+
| OP_RAVI_LOADIZ | NO | R(A) := tointeger(0) |
| OP_RAVI_LOADIZ | YES | R(A) := tointeger(0) |
+-------------------------+----------+--------------------------------------------------+
| OP_RAVI_LOADFZ | YES | R(A) := tonumber(0) |
+-------------------------+----------+--------------------------------------------------+
@ -177,11 +177,11 @@ Following is the status as of 15 June 2015.
+-------------------------+----------+--------------------------------------------------+
| OP_RAVI_UNMI | NO | R(A) := -R(B) integer |
+-------------------------+----------+--------------------------------------------------+
| OP_RAVI_ADDFF | NO | R(A) := RK(B) + RK(C) |
| OP_RAVI_ADDFF | YES | R(A) := RK(B) + RK(C) |
+-------------------------+----------+--------------------------------------------------+
| OP_RAVI_ADDFI | NO | R(A) := RK(B) + RK(C) |
| OP_RAVI_ADDFI | YES | R(A) := RK(B) + RK(C) |
+-------------------------+----------+--------------------------------------------------+
| OP_RAVI_ADDII | NO | R(A) := RK(B) + RK(C) |
| OP_RAVI_ADDII | YES | R(A) := RK(B) + RK(C) |
+-------------------------+----------+--------------------------------------------------+
| OP_RAVI_ADDFN | YES | R(A) := RK(B) + C |
+-------------------------+----------+--------------------------------------------------+
@ -221,17 +221,17 @@ Following is the status as of 15 June 2015.
+-------------------------+----------+--------------------------------------------------+
| OP_RAVI_DIVII | NO | R(A) := RK(B) / RK(C) |
+-------------------------+----------+--------------------------------------------------+
| OP_RAVI_TOINT | NO | R(A) := toint(R(A)) |
| OP_RAVI_TOINT | YES | R(A) := toint(R(A)) |
+-------------------------+----------+--------------------------------------------------+
| OP_RAVI_TOFLT | NO | R(A) := tofloat(R(A)) |
| OP_RAVI_TOFLT | YES | R(A) := tofloat(R(A)) |
+-------------------------+----------+--------------------------------------------------+
| OP_RAVI_TOARRAYI | NO | R(A) := to_arrayi(R(A)) |
+-------------------------+----------+--------------------------------------------------+
| OP_RAVI_TOARRAYF | NO | R(A) := to_arrayf(R(A)) |
+-------------------------+----------+--------------------------------------------------+
| OP_RAVI_MOVEI | NO | R(A) := R(B), check R(B) is integer |
| OP_RAVI_MOVEI | YES | R(A) := R(B), check R(B) is integer |
+-------------------------+----------+--------------------------------------------------+
| OP_RAVI_MOVEF | NO | R(A) := R(B), check R(B) is number |
| OP_RAVI_MOVEF | YES | R(A) := R(B), check R(B) is number |
+-------------------------+----------+--------------------------------------------------+
| OP_RAVI_MOVEAI | NO | R(A) := R(B), check R(B) is array of integer |
+-------------------------+----------+--------------------------------------------------+

Loading…
Cancel
Save