Commit Graph

521 Commits (master)

Author SHA1 Message Date
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