Commit Graph

521 Commits (master)

Author SHA1 Message Date
Dibyendu Majumdar 1e85a5b37a issue #169 cleanups
4 years ago
Dibyendu Majumdar 9b477bf5fe issue #169 update to latest MIR interface
4 years ago
Dibyendu Majumdar 6f29bc6cd8 issue #163 add DEFER bytecode to LLVM backend
4 years ago
Dibyendu Majumdar 9a0ced9620 issue #163 First attempt to implement a Go like defer statement
4 years ago
Dibyendu Majumdar bdaa211faf Merge branch 'master' into mir
5 years ago
Dibyendu Majumdar 4727dd052a issue #170 Add support for LLVM 9
5 years ago
Dibyendu Majumdar 4e445f46bf issue #169 Add initial support for MIR JIT backend
5 years ago
Dibyendu Majumdar db626e34c1 issue #98 type check for statements
5 years ago
Dibyendu Majumdar 4ad83f8abf issue #98 typecheck expression statements
5 years ago
Dibyendu Majumdar 7dd9e9b1d2 issue #164 disable ORCv2 in LLVM 8 temporarily
5 years ago
Dibyendu Majumdar 5d03214477 issue #98 renaming of fields for consistency
5 years ago
Dibyendu Majumdar a5bfc25163 issue #98 split up the source for the AST parser to make it more workable
5 years ago
Dibyendu Majumdar 5b15a2ffce issue #164 try to get ORC v2 working
5 years ago
Dibyendu Majumdar 01e67ee61e issue #164 try to get ORC v2 working
5 years ago
Dibyendu Majumdar 529169d816 issue #126 fix seg fault due to attempt to remove a module was never added; also if env var RAVI_USE_DMRC_LLVM is set then enable dmrC based LLVM
5 years ago
Dibyendu Majumdar 9dfcd7c2b8 issue #126 add support for dmr_C based LLVM backend. Not enabled yet.
5 years ago
Dibyendu Majumdar 2aa2515fe1 issue #164 optimizeModule() no longer static
5 years ago
Dibyendu Majumdar aa805c04a2 issue #164 trying our ORC v2 apis, but optimzation is broken so disable for now
5 years ago
Dibyendu Majumdar e1298a4e95 issue #164 trying our ORC v2 apis, but optimzation is broken so disable for now
5 years ago
Dibyendu Majumdar b163aab427 issue #164 added support for llvm 8.0.1
5 years ago
Dibyendu Majumdar 1b45bcf320 issue #164 added support for llvm 8.0.1
5 years ago
Dibyendu Majumdar 58cc6cf5e5 issue #157 cleanup api for getting access to array raw data and revise the inline short string table lookup so that we have an inline part and a slow part
5 years ago
Dibyendu Majumdar 3a98ffe3c2 issue #98 dump list of locals for each function, and start work on type checker
5 years ago
Dibyendu Majumdar abe4759bc7 issue #114 fix bug in handling of function call
5 years ago
Dibyendu Majumdar 631e237ef9 comments etc
5 years ago
Dibyendu Majumdar 01eb83dcfe issue #161 avoid taking address of math functions in the fast call scenario, instead assign unique codes to functions that may be inlined
5 years ago
Dibyendu Majumdar 07db5d1008 issue #157 code comments
6 years ago
Dibyendu Majumdar 08157b102c issue #157 rename bytecodes
6 years ago
Dibyendu Majumdar 5e552ab4a7 issue #157 more renaming of bytecodes
6 years ago
Dibyendu Majumdar 489e118012 issue #157 more renaming of bytecodes
6 years ago
Dibyendu Majumdar dd593cdcd5 issue #157 import from Lua 5.4 changes to the way number conversions are done in the VM to push string coersion down to string metamethods
6 years ago
Dibyendu Majumdar 21028d833b issue #157 more renaming of op codes
6 years ago
Dibyendu Majumdar 31f4e178ee issue #157 more opcode renaming
6 years ago
Dibyendu Majumdar fc6929aa58 issue #157 more opcode renaming
6 years ago
Dibyendu Majumdar 7041827d53 issue #157 rename the array get/set op codes
6 years ago
Dibyendu Majumdar eec9a49414 issue #157: rename GETTABLE_SK and SETTABLE_SK opcodes
6 years ago
Dibyendu Majumdar 04ca32e8f5 Remove the metatable api alternatives
6 years ago
Dibyendu Majumdar d4d679bb3c issue #156
6 years ago
Dibyendu Majumdar 3def57baf8 issue #110 option to inline some arithmetic ops
6 years ago
Dibyendu Majumdar 3e1d1bc752 issue #110 add support for a few more op codes
6 years ago
Dibyendu Majumdar 1a8c432625 issue #110 fix stupid typo bug in ravi_jitshared (emit_op_movef) and add implementations of JIT api
6 years ago
Dibyendu Majumdar 47e0cddfaf issue #110 Initial implementation of JIT backend using OMRJIT
6 years ago
Dibyendu Majumdar 1583e618ab issue #114 complete rename
6 years ago
Dibyendu Majumdar 7dec6fa08f issue #114 add new LUA_TFUNCTION subtype to allow direct (faster) calls to simple C functions
6 years ago
Dibyendu Majumdar 4676f220a4 issue #114 Prepare for implementing fast C calls; the Lua typecode is extended to 16 bits to allow more type variants to be added. The intention is that for light C functions, we can encode return type / parameter types to enable calling some C functions directly without having to go through the Lua api.
6 years ago
Dibyendu Majumdar bdbbe5e021 issue #150 remove ltests.h and include its contents in lua.h. Now Debug builds will always enable ltests, however, we will not mess with the Lua data structures or other settings
6 years ago
Dibyendu Majumdar aa7e271083 issue #151 adopt Doug Lea's allocator
6 years ago
Dibyendu Majumdar 73c31bb59d issue #151 import LuaJIT's allocator
6 years ago
Dibyendu Majumdar 7ad859f79b issue #151 import LuaJIT's allocator
6 years ago
Dibyendu Majumdar cb7977d4bb issue #98 function parameter parsing fix and a different attempt to output the parse tree
6 years ago
Dibyendu Majumdar c9b7939cc1 issue #98 instead of printing out generate a string from ast and expose as api method
6 years ago
Dibyendu Majumdar 67accd8a41 issue #98 refactor ast library to be just a library and resolve the issue with lua_lock()
6 years ago
Dibyendu Majumdar f3fed79bc7 issue #98 start changing the api so that build_ast returns a userdata object containing the AST
6 years ago
Dibyendu Majumdar c465af3465 issue #98 rename functions and start to change the api to construct AST as a userdata object
6 years ago
Dibyendu Majumdar 24ac6f29f3 issue #98 merge changes in master
6 years ago
Dibyendu Majumdar 1ca729a4c2 issue #145 move collectable bit left by one bit to make an extra bit available for encoding typeinfo
6 years ago
Dibyendu Majumdar f62b1eb557 refactoring
6 years ago
Dibyendu Majumdar b51868d20f issue #144 fix compile error
6 years ago
Dibyendu Majumdar 36c7bc32b8 issue #144
6 years ago
Dibyendu Majumdar a97f974db5 issue #144 change the size of TValue.tt to byte
6 years ago
Dibyendu Majumdar 55dc69d4c4 issue #143 Remove NanoJIT backend
6 years ago
Dibyendu Majumdar 9fa20358b2 issue #142 removed gcc jit implementation (left on a branch)
6 years ago
Dibyendu Majumdar 2e42d1364c issue #135 debug guards
6 years ago
Dibyendu Majumdar e01d389cab issue #138 switch to LuaJIT style bytecode encoding
6 years ago
Dibyendu Majumdar 95d0f3ee41 issue #135 OP_MOVE
7 years ago
Dibyendu Majumdar f6f624499b issue #135 use LuaJIT style bytecode encoding when using ASM VM
7 years ago
Dibyendu Majumdar 4d62b42987 issue #135 baby steps
7 years ago
Dibyendu Majumdar ce5ac85744 issue #135 some cleanup
7 years ago
Dibyendu Majumdar 9a557d1f6f issue #134 #135 start work on new X86-64 VM that will be built using dynasm
7 years ago
Dibyendu Majumdar 639d3f3086 experiment with alternate bytecode encoding based on LuaJIT
7 years ago
dibyendumajumdar 6d89ac9026 revised build and option to enable computed goto in the VM
7 years ago
Dibyendu Majumdar b2c6c8ebd4 fix a bug in issue #136 implementation and add experimental support for computed gotos in the VM
7 years ago
Dibyendu Majumdar d3f821c59a issue #136 wip
7 years ago
Dibyendu Majumdar 92d4d5d186 issue #136 implement new type checking opcodes
7 years ago
Dibyendu Majumdar daf2b8bfe9 issue #136 wip
7 years ago
Dibyendu Majumdar e06da495d4 issue #136 make room for user typename constant regid in LocVar
7 years ago
Dibyendu Majumdar 5e03430d7d issue #136 additional type assertions
7 years ago
Dibyendu Majumdar 05963da39d issue #133 add LuaJIT's bit library so that we can support dynasm
7 years ago
Dibyendu Majumdar 7ed629bdfe go back to earlier approach of doing full GC collection every n compilations as the GCSETP approach doesn't work
7 years ago
Dibyendu Majumdar 99abdf633f issue #131 more fixes
7 years ago
Dibyendu Majumdar 186c614290 refactor
7 years ago
Dibyendu Majumdar b67f492c04 refactor
7 years ago
Dibyendu Majumdar 74a2c8a16e add verbosity option
7 years ago
Dibyendu Majumdar 828e39aa39 minor fixes
7 years ago
Dibyendu Majumdar d8962e917c issue #59 adjustments
7 years ago
Dibyendu Majumdar 70ca403abe make ORC JIT the default from LLVM 5.0 onwards
7 years ago
Dibyendu Majumdar 6c608a38b5 get ORC version to work correctly
7 years ago
Dibyendu Majumdar bf173e28dc issue #59 port to ORC JIT api
7 years ago
Dibyendu Majumdar a68d915865 change GETTABLE_I to work on objects that may not be tables
7 years ago
Dibyendu Majumdar 03485223ed change GETTABLE_I to work on objects that may not be tables
7 years ago
Dibyendu Majumdar f93cefb33c tech debt
7 years ago
Dibyendu Majumdar 5fb89d4c07 issue #128 refactor
7 years ago
Dibyendu Majumdar 5ff1a72fb3 cleanup some warnings
7 years ago
Dibyendu Majumdar 364b221433 issue #128 refactoring
7 years ago
Dibyendu Majumdar 1443fe9099 issue #128 refactor membuff_t to move it from the debugger to a shared location so that we can reuse it in the JIT implementation, some more initial work on the new backend
7 years ago
Dibyendu Majumdar 7e130556ff issue #128 initialize/destroy NanoJIT Context
7 years ago
Dibyendu Majumdar 95779e058c issue #128 add initial skeleton files
7 years ago
Dibyendu Majumdar 1c703d4ec0 some tech debt cleanup
7 years ago
Dibyendu Majumdar 1d1362ddc1 issue #126 wip
7 years ago
Dibyendu Majumdar 1a26a5d43b issue #126 add a couple of simple hello world examples
7 years ago