Dibyendu Majumdar
|
d477e76155
|
issue #98 merge changes from master
|
7 years ago |
Dibyendu Majumdar
|
a79f4d8a99
|
issue #124 fix LLVM4.0 related issues
|
7 years ago |
Dibyendu Majumdar
|
c0d2b0e3f8
|
issue #115 experiment with LLVM branch weights
|
7 years ago |
Dibyendu Majumdar
|
9eb8f1d98d
|
issue #115 experiment with table performance - use LuaJIt approach of precomputed hashmask
|
7 years ago |
Dibyendu Majumdar
|
66d3e20d30
|
issue #121 fix potential issue with lifetime of LLVM module created via the bindings API
|
7 years ago |
Dibyendu Majumdar
|
9dac99942a
|
issue #119 merge upcming Lua 5.3.4 changes
|
7 years ago |
Dibyendu Majumdar
|
654013698f
|
issue #119
|
7 years ago |
Dibyendu Majumdar
|
2923ac78f6
|
updtae copyright notice
|
7 years ago |
Dibyendu Majumdar
|
0f089b6b92
|
issue #119
|
7 years ago |
Dibyendu Majumdar
|
1cecb6d346
|
fix messed up merge
|
7 years ago |
Dibyendu Majumdar
|
e1b71e6f0e
|
Change callstatus to short type to match 5.3.4 change
|
7 years ago |
Dibyendu Majumdar
|
f7019ff607
|
Merge branch 'profile'
|
7 years ago |
Dibyendu Majumdar
|
e8d109dacb
|
fix bug in emit GETTABLE_S and exerimental version of ARITH
|
7 years ago |
Dibyendu Majumdar
|
9fa823aa5a
|
comments
|
8 years ago |
Dibyendu Majumdar
|
58a47746fb
|
comments
|
8 years ago |
Dibyendu Majumdar
|
cc6ca3f821
|
comments
|
8 years ago |
Dibyendu Majumdar
|
46a2282f3f
|
issue #111 Lua 5.3.3 bug fixes
|
8 years ago |
Dibyendu Majumdar
|
0399d6a163
|
issue #109
|
8 years ago |
Dibyendu Majumdar
|
36c99300a2
|
issue #109 work on simple bytecode profiler
|
8 years ago |
Dibyendu Majumdar
|
62922d4e85
|
issue #98 merge master into ast branch
|
8 years ago |
Dibyendu Majumdar
|
9e7408a944
|
experiment with noninline add, sub, mul, div ops
|
8 years ago |
Dibyendu Majumdar
|
4f3851e8f3
|
issue #105 #106
|
8 years ago |
Dibyendu Majumdar
|
8e1630979e
|
issue #82 respect __name meta method in ravitype() for integer[] and number[] types
|
8 years ago |
dibyendumajumdar
|
8e19f4cd03
|
issue #100
|
8 years ago |
Dibyendu Majumdar
|
cd0150e08e
|
issue #100
|
8 years ago |
Dibyendu Majumdar
|
b48a0965e4
|
issue #100 generate calls to specialized functions for string keys when operand of OP_SELF is known to be a short string
|
8 years ago |
Dibyendu Majumdar
|
25cac0cd59
|
add test case and update code gen for TOARRAY opcodes
|
8 years ago |
Dibyendu Majumdar
|
4af5ecca82
|
issue #100 treat ravi integer and number arrays as subtypes of tables in the lua value similar to how integer and number values are handled
|
8 years ago |
Dibyendu Majumdar
|
d6ed6c150f
|
fix JIT compilation issue with the change in ttistable()
|
8 years ago |
Dibyendu Majumdar
|
434afa8dd1
|
issue #100
|
8 years ago |
Dibyendu Majumdar
|
a2709d8403
|
issue #100 change the way GETTABLE_SK, SETTABLE_SK, GETTABUP_SK and SETTABUP_SK are compiled
|
8 years ago |
Dibyendu Majumdar
|
7665f6b7c4
|
disable JIT for gettable_sk and gettabup_sk as bug discovered, and refactor the interpreter implementation
|
8 years ago |
Dibyendu Majumdar
|
54bdfe6121
|
issue #100
|
8 years ago |
Dibyendu Majumdar
|
30ed0bd4f6
|
issue #100 add JIT compilation for GETTABLE_SK opcode
|
8 years ago |
Dibyendu Majumdar
|
5a83899351
|
issue #100 #70 #88
|
8 years ago |
Dibyendu Majumdar
|
be60c7064f
|
issue #100
|
8 years ago |
Dibyendu Majumdar
|
2fcea1cce2
|
issue #100
|
8 years ago |
Dibyendu Majumdar
|
80feef445e
|
issue #100
|
8 years ago |
Dibyendu Majumdar
|
9895f2879c
|
initial work on issue #100
|
8 years ago |
Dibyendu Majumdar
|
1282ea7e5a
|
issue #101 #91 #103
|
8 years ago |
Dibyendu Majumdar
|
dc4c00faa0
|
Merge branch 'master' into ast
|
8 years ago |
Dibyendu Majumdar
|
5f7c2a8a6d
|
merge LUA_32BIT support
|
8 years ago |
Dibyendu Majumdar
|
e91538b54b
|
issue #89 add support for 32-bit numbers
|
8 years ago |
Dibyendu Majumdar
|
dcd6213b07
|
issue #86 merge final bits of changes from Lua 5.3.3
|
8 years ago |
Dibyendu Majumdar
|
5cb71a81ef
|
issue #86 merge additional changes from Lua 5.3.3
|
8 years ago |
Dibyendu Majumdar
|
3987d65f6c
|
issue #86 merge llex.c and lobject.c
|
8 years ago |
Dibyendu Majumdar
|
2213f866a6
|
issue #86 start new attempt to merge 5.3.3
|
8 years ago |
Dibyendu Majumdar
|
25a5fb3c9e
|
issue #86 merge reverted due to bug - to be fixed in the branch first
|
8 years ago |
Dibyendu Majumdar
|
9718924845
|
issue #86 merge Lua 5.3.3
|
8 years ago |
Dibyendu Majumdar
|
91bada14cf
|
issue #86: merge Lua 5.3.3
|
8 years ago |
Dibyendu Majumdar
|
86a2adb4f7
|
issue #86: merge Lua 5.3.3
|
8 years ago |
Dibyendu Majumdar
|
8948607b74
|
fix a compilation error due to multiline comment
|
8 years ago |
Dibyendu Majumdar
|
2bf6a88192
|
issue #82 add support for step over and step out
|
8 years ago |
Dibyendu Majumdar
|
b84d41bdd2
|
issue #82 disable some Debug lib functions when debugger is running
|
8 years ago |
Dibyendu Majumdar
|
ed185aae9a
|
issue #82 redirect Lua stdout and stderr to the debugger
|
8 years ago |
Dibyendu Majumdar
|
5dc495720f
|
the previous change related to module sharing between functions appears to have introduced memory leak - caught by asan; also apply fixes discussed in Lua mailing list
|
8 years ago |
Dibyendu Majumdar
|
1ed019dffd
|
issue #78 nearly done
|
8 years ago |
Dibyendu Majumdar
|
5472c25f2c
|
issue #78 wip
|
8 years ago |
Dibyendu Majumdar
|
3d6204856c
|
issue #78 work in progress
|
8 years ago |
Dibyendu Majumdar
|
754536b01d
|
issue #78 work in progress
|
8 years ago |
Dibyendu Majumdar
|
402c4b2bc4
|
issue #78 work in progress
|
8 years ago |
Dibyendu Majumdar
|
a602f7246c
|
ast wip
|
8 years ago |
Dibyendu Majumdar
|
22146f6bc8
|
ast wip
|
8 years ago |
Dibyendu Majumdar
|
8882799d67
|
abstract syntax tree
|
8 years ago |
Dibyendu Majumdar
|
762ab319f5
|
issue #76 type assertions
|
9 years ago |
Dibyendu Majumdar
|
b23e0eab16
|
issue #76 type assertions
|
9 years ago |
Dibyendu Majumdar
|
38f25882b6
|
issue #76 type assertion work in progress
|
9 years ago |
Dibyendu Majumdar
|
aa453e0aae
|
issue #76: work on type assertion
|
9 years ago |
Dibyendu Majumdar
|
f036c53014
|
code reformat and OP-SELF implementation aligned with Lua 5.3.2
|
9 years ago |
dibyendumajumdar
|
add5ac8368
|
upgrade libgccjit implementation to cater for 5.3.2 merge
|
9 years ago |
dibyendumajumdar
|
49b4f8840f
|
merge 5.3.2 rc2
|
9 years ago |
dibyendumajumdar
|
911c21a254
|
fix ltests.c compilation error
|
9 years ago |
dibyendumajumdar
|
a52a432a67
|
refactoring
|
9 years ago |
dibyendumajumdar
|
704b6faf10
|
more work on issue #73
|
9 years ago |
dibyendumajumdar
|
46fef09a7f
|
some moe work on fixing issue #73 - more to do
|
9 years ago |
dibyendumajumdar
|
4d0bcbe1f2
|
start 5.3.2 merge and also work on issue #73
|
9 years ago |
Dibyendu Majumdar
|
70507a4ef6
|
doc updates
|
9 years ago |
Dibyendu Majumdar
|
852cfee3da
|
issue #71 add specialised bytecode for method calls when type is table and key is short string
|
9 years ago |
Dibyendu Majumdar
|
a11f7bbd27
|
setupval type specialized opcodes should not cause JIT failure
|
9 years ago |
Dibyendu Majumdar
|
24d65a5c0a
|
add notice regarding options enabled
|
9 years ago |
Dibyendu Majumdar
|
085f035917
|
issue #61 more tests
|
9 years ago |
Dibyendu Majumdar
|
dac7789d7a
|
issue #61 add more tests for typed values
|
9 years ago |
Dibyendu Majumdar
|
c4c8dad5b5
|
issue #61 fix bug in compilation
|
9 years ago |
Dibyendu Majumdar
|
aca5b3ef86
|
issue #60 compile TOTAB and MOVETAB
|
9 years ago |
Dibyendu Majumdar
|
62e892e6aa
|
issue #60 add optimized versions of table access with integer keys
|
9 years ago |
Dibyendu Majumdar
|
f04c5febd6
|
issue #60 JIT compile GETTABLE_S
|
9 years ago |
Dibyendu Majumdar
|
1362b6dc6d
|
issue #60 more work on implementing specialized bytecode for table get/set
|
9 years ago |
Dibyendu Majumdar
|
4115f35867
|
issue #60 explore further optimization of table operations
|
9 years ago |
Dibyendu Majumdar
|
ed44f85a3d
|
issue #57 adding test cases
|
9 years ago |
Dibyendu Majumdar
|
84b5b6476c
|
issue #56 check the type definitions
|
9 years ago |
dibyendumajumdar
|
8a74a09510
|
issue #15 fix compilation error in ltests.c
|
9 years ago |
Dibyendu Majumdar
|
bdbb204d4c
|
issue #58 update dump and undump to always include type information for local variables and upvalues; also change the format identifier to differentiate from standard Lua
|
9 years ago |
Dibyendu Majumdar
|
3c9ed08585
|
issue #15 if emit_debug_trace() has been called then we can avoid setting savedpc again
|
9 years ago |
Dibyendu Majumdar
|
d970aa981e
|
issue #15 add type checks to debug.setlocal()
|
9 years ago |
Dibyendu Majumdar
|
40570edbfc
|
issue #15 add new JIT option tracehook to enable per bytecode updates to savedpc and call to luaG_traceexec
|
9 years ago |
Dibyendu Majumdar
|
c1a157ce4a
|
in JIT mode update savedpc when performing OP_CALL or OP_TAILCALL - see issue# 15
|
9 years ago |
Dibyendu Majumdar
|
d98520f2b2
|
start work on handling savedpc - experimental
|
9 years ago |
Dibyendu Majumdar
|
c2008d9439
|
add api ravitype() to enable extended type information
|
9 years ago |
Dibyendu Majumdar
|
d2fbb17572
|
allocate new LLVMContext per Lua global state
|
9 years ago |
Dibyendu Majumdar
|
4fc119e5f0
|
add a gc collection in when JIT compiling
|
9 years ago |
Dibyendu Majumdar
|
a3f201da53
|
add phi instruction to LLVM binding
|
9 years ago |
Dibyendu Majumdar
|
f209f76876
|
fix issue #49
|
9 years ago |
Dibyendu Majumdar
|
b44d456ea7
|
implement interpreter version of some bitwise and comparison opcodes
|
9 years ago |
Dibyendu Majumdar
|
21b305b8be
|
syntactic support for declaring additional Lua types
|
9 years ago |
Dibyendu Majumdar
|
f936e2fd54
|
cleanup
|
9 years ago |
Dibyendu Majumdar
|
1688c0c044
|
add ltests in the build
|
9 years ago |
Dibyendu Majumdar
|
61d3e244a8
|
code cleanup
|
9 years ago |
Dibyendu Majumdar
|
610b6bc516
|
more work on llvm bindings
|
9 years ago |
Dibyendu Majumdar
|
20a14f87ba
|
llvm binding helloworld
|
9 years ago |
Dibyendu Majumdar
|
b828dc43dc
|
start work on Lua LLVM bindings
|
9 years ago |
Dibyendu Majumdar
|
ed1ac4b70c
|
code reformat
|
9 years ago |
Dibyendu Majumdar
|
0a75b4c941
|
try another fix for the L->top bug
|
9 years ago |
Dibyendu Majumdar
|
bba94efedd
|
fix gcc compilation errors
|
9 years ago |
Dibyendu Majumdar
|
527fdccd1f
|
alernative way to reset L->top after calling luaV_execute() in JITed OP_CALL
|
9 years ago |
Dibyendu Majumdar
|
65dd836d4a
|
set L->top in OP_RETURN if returning to Lua function; Lua tests breaks as a result
|
9 years ago |
Dibyendu Majumdar
|
da91cad12a
|
continue investigation of OP_RETURN bug
|
9 years ago |
Dibyendu Majumdar
|
c833336108
|
still debugging the bug related to L->top
|
9 years ago |
Dibyendu Majumdar
|
6b06004c44
|
hard bug - L->top not being set correctly when JIT code calls interpreted code
|
9 years ago |
Dibyendu Majumdar
|
72dc5b5750
|
debug compilation issue
|
9 years ago |
Dibyendu Majumdar
|
689e09248f
|
optimize bit shift when second operand is a constant
|
9 years ago |
Dibyendu Majumdar
|
5491d88c1f
|
refactor
|
9 years ago |
dibyendumajumdar
|
2e56a9fab6
|
fix compilation errors on Linux
|
9 years ago |
Dibyendu Majumdar
|
fd03f82783
|
long overdue refactoring
|
9 years ago |
dibyendumajumdar
|
38967d8b9e
|
add option to disable array range checks
|
9 years ago |
Dibyendu Majumdar
|
f3681cb7e5
|
some code cleanup
|
9 years ago |
Dibyendu Majumdar
|
d80fe78b1c
|
fix compilation error for forloop variant 1
|
9 years ago |
Dibyendu Majumdar
|
594cfbda90
|
refactor api
|
9 years ago |
Dibyendu Majumdar
|
9843f4fdc2
|
refactor and add couple of api functions
|
9 years ago |
dibyendumajumdar
|
6543367bfc
|
remove lcoco
|
9 years ago |
Dibyendu Majumdar
|
5d67a7196d
|
doc update
|
9 years ago |
dibyendumajumdar
|
95ff076c2a
|
remove some of arithmetic operators
|
9 years ago |
Dibyendu Majumdar
|
261c8218a3
|
remove experimental NAN TAGGING solution (as it is not helpful) and fix bugs in SETLIST for numeric arrays (missing type conversion)
|
9 years ago |
Dibyendu Majumdar
|
71e651c05e
|
remove a number of numeric op codes
|
9 years ago |
Dibyendu Majumdar
|
e36acf332b
|
in arithmetic operations use constants directly when possible
|
9 years ago |
dibyendumajumdar
|
f8e9265831
|
implement specialized comparison ops and refactor the JIT compiler to avoid unnecessary conversion to pointers
|
9 years ago |
Dibyendu Majumdar
|
d918977470
|
issue #40: generate inline code for comparison ops when types are known
|
9 years ago |
Dibyendu Majumdar
|
bdbabd4781
|
start work on inlining comparison operators in JIT compiler
|
9 years ago |
Dibyendu Majumdar
|
6d0bd5e2a5
|
array index - zext instead of trunc; does it help performance?
|
9 years ago |
Dibyendu Majumdar
|
e65c6b614d
|
reformat
|
9 years ago |
Dibyendu Majumdar
|
e24a3a21ef
|
merge 5.3.1
|
9 years ago |
dibyendumajumdar
|
b612b00e41
|
prep for 5.3.1 merge
|
9 years ago |
Dibyendu Majumdar
|
f8a17a7b37
|
prepare for 5.3.1 merge
|
9 years ago |
Dibyendu Majumdar
|
a8a56ff938
|
reformat code
|
9 years ago |
Dibyendu Majumdar
|
bb6d02c08f
|
bitwise ops wip
|
9 years ago |
Dibyendu Majumdar
|
7ed12db6de
|
bitwise ops wip
|
9 years ago |
Dibyendu Majumdar
|
e1835ddd6a
|
prepare for bitwise ops
|
9 years ago |
Dibyendu Majumdar
|
f9fb46f17a
|
constants can be directly assigned in some cases
|
9 years ago |
dibyendumajumdar
|
02681b1219
|
remove the local variable base in libgccjit version
|
9 years ago |
Dibyendu Majumdar
|
40c3f032d5
|
reformat code
|
9 years ago |
Dibyendu Majumdar
|
b65e5d2fa1
|
refactoring
|
9 years ago |
Dibyendu Majumdar
|
fcb22d1da2
|
refactoring
|
9 years ago |
Dibyendu Majumdar
|
c8380d3525
|
refactoring
|
9 years ago |
Dibyendu Majumdar
|
4b5255b91f
|
refactoring
|
9 years ago |
Dibyendu Majumdar
|
94356ff1a0
|
refactoring
|
9 years ago |
Dibyendu Majumdar
|
bfb5fcd4c1
|
refactoring
|
9 years ago |
dibyendumajumdar
|
4fbc7a1717
|
setupval workaround
|
9 years ago |
dibyendumajumdar
|
62e3bf2148
|
Lua arith operators
|
9 years ago |
dibyendumajumdar
|
df65672e37
|
add -fno-strict-aliasing option
|
9 years ago |
dibyendumajumdar
|
00d1845b38
|
debug output
|
9 years ago |
dibyendumajumdar
|
57d89d90ee
|
more opcodes but also found a bug that needs fixing
|
9 years ago |
dibyendumajumdar
|
a85f4690ab
|
fix array op
|
9 years ago |
dibyendumajumdar
|
5217c6d2b6
|
array get/set op codes in libgccjit
|
9 years ago |
Dibyendu Majumdar
|
77aaebff38
|
code reformat
|
9 years ago |
dibyendumajumdar
|
3b632ae4cc
|
yet more bytecode implementations in libgccjit
|
9 years ago |
dibyendumajumdar
|
7115b3809d
|
yet more bytecode implementations in libgccjit
|
9 years ago |
dibyendumajumdar
|
d8a79d409b
|
couple of more bytecodes in libgccjit
|
9 years ago |
dibyendumajumdar
|
1292bad982
|
couple of more byte codes
|
9 years ago |
dibyendumajumdar
|
67454b67b4
|
fix call to luaG_runerror
|
9 years ago |
dibyendumajumdar
|
53e221aad7
|
implement OP_GETTABLE and OP_SETTABLE in libgccjit
|
9 years ago |
dibyendumajumdar
|
5a58e143b1
|
implement OP_LEN in libgccjit
|
9 years ago |
dibyendumajumdar
|
45d2f9ca73
|
implement OP_SELF in libgccjit
|
9 years ago |
dibyendumajumdar
|
72417637ed
|
implement OP_RAVI_MULXX and OP_RAVI_DIVXX in libgccjit - enabling mandel1.ravi benchmark
|
9 years ago |
dibyendumajumdar
|
137b304166
|
implement OP_RAVI_SUBXX in libgccjit
|
9 years ago |
dibyendumajumdar
|
c83d77df68
|
implement OP_RAVI_SUBIF in libgccjit
|
9 years ago |
dibyendumajumdar
|
5463d2ad6d
|
implement OP_RAVI_SUBFF in libgccjit
|
9 years ago |
dibyendumajumdar
|
a0151a9452
|
implement OP_RAVI_SUBFF in libgccjit
|
9 years ago |
dibyendumajumdar
|
f4261e8853
|
implement OP_RAVI_ADDIN in libgccjit
|
9 years ago |
dibyendumajumdar
|
6ec9f55bac
|
ensure that comparison result is always stored in a local variable to avoid unforeseen interactions when the rvalue is used again
|
9 years ago |
dibyendumajumdar
|
922b7a8ba3
|
fix bug in ravi_emit_store_reg_i_withtype() and implement ADDII (libgccjit)
|
9 years ago |
dibyendumajumdar
|
6892bebb16
|
start on arithmetic ops for libgccjit
|
9 years ago |
dibyendumajumdar
|
c5752405c8
|
implement OP_CONCAT, OP_CLOSURE, OP_VARARG in libgccjit
|
9 years ago |
dibyendumajumdar
|
9cab098a75
|
implement OP_RAVI_TOFLT in libgccjit
|
9 years ago |
dibyendumajumdar
|
10ffc1d43c
|
implement OP_RAVI_TOINT in libgccjit
|
9 years ago |
dibyendumajumdar
|
2d2fd658bd
|
implement OP_RAVI_MOVEF in libgccjit
|
9 years ago |
dibyendumajumdar
|
3f83551df0
|
implement OP_RAVI_MOVEI in libgccjit
|
9 years ago |
dibyendumajumdar
|
bd32b92319
|
fix logical op issue
|
9 years ago |
dibyendumajumdar
|
e97bd37c93
|
more libgccjit implemenation
|
9 years ago |
Dibyendu Majumdar
|
9573fb6c5b
|
fix issue 37: missing type check when assigning values to array elements
|
9 years ago |
dibyendumajumdar
|
c7126c8e7f
|
implement OP_NOT, OP_TESTSET for libgccjit
|
9 years ago |
dibyendumajumdar
|
af6aa10777
|
implement OP_TEST
|
9 years ago |
dibyendumajumdar
|
0c5ec24f87
|
start on OP_TEST
|
9 years ago |
dibyendumajumdar
|
7205991bc3
|
add OP_GETTABUP plus some basic tests for libgccjit
|
9 years ago |
dibyendumajumdar
|
3df38e9ea0
|
start OP_EQ, OP_LE, OP_LT, OP_JMP and OP_CALL using libgccjit
|
9 years ago |
dibyendumajumdar
|
45ab2fc449
|
start gcc implementation of comparison operations
|
9 years ago |
dibyendumajumdar
|
0886f1e505
|
rename functions to match LLVM implementation names
|
9 years ago |
dibyendumajumdar
|
d145211021
|
implement OP_LOADNIL, OP_RAVI_LOADFZ and OP_RAVI_ADDFN
|
9 years ago |
Dibyendu Majumdar
|
32755f654e
|
prepare for Lua 5.3.1 merge
|
9 years ago |
Dibyendu Majumdar
|
43d0b4472d
|
code refactoring
|
9 years ago |
Dibyendu Majumdar
|
7fc508518e
|
fix broken LLVM build
|
9 years ago |
dibyendumajumdar
|
2686966512
|
implement MOVE, FORLOOP_I1, FORPREP_I1 in libgccjit
|
9 years ago |