You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ravi/src
Dibyendu Majumdar 4c2503e916
added Makefile
7 years ago
..
Makefile added Makefile 7 years ago
README.rst Update README.rst 9 years ago
bit.c issue #133 add LuaJIT's bit library so that we can support dynasm 7 years ago
lapi.c issue #136 wip 7 years ago
lauxlib.c issue #136 implement new type checking opcodes 7 years ago
lbaselib.c issue #119 7 years ago
lbitlib.c merge 5.3.2 rc2 9 years ago
lcode.c fix a bug in issue #136 implementation and add experimental support for computed gotos in the VM 7 years ago
lcorolib.c issue #86 merge final bits of changes from Lua 5.3.3 8 years ago
lctype.c initial import 9 years ago
ldblib.c issue #82 disable some Debug lib functions when debugger is running 8 years ago
ldebug.c change GETTABLE_I to work on objects that may not be tables 7 years ago
ldo.c refactor 7 years ago
ldump.c issue #136 wip 7 years ago
lfunc.c issue #119 7 years ago
lgc.c issue #136 wip 7 years ago
linit.c issue #133 add LuaJIT's bit library so that we can support dynasm 7 years ago
liolib.c issue #119 7 years ago
llex.c issue #136 wip 7 years ago
lmathlib.c issue #119 7 years ago
lmem.c merge 5.3.1 9 years ago
loadlib.c issue #119 merge upcming Lua 5.3.4 changes 7 years ago
lobject.c issue #119 7 years ago
lopcodes.c issue #136 additional type assertions 7 years ago
loslib.c issue #119 7 years ago
lparser.c fix a bug in issue #136 implementation and add experimental support for computed gotos in the VM 7 years ago
lstate.c issue #109 8 years ago
lstring.c merge 5.3.2 rc2 9 years ago
lstrlib.c issue #119 7 years ago
ltable.c some tech debt cleanup 7 years ago
ltablib.c issue #86 merge additional changes from Lua 5.3.3 8 years ago
ltests.c change GETTABLE_I to work on objects that may not be tables 7 years ago
ltm.c issue #119 7 years ago
lua.c issue #59 adjustments 7 years ago
luac.c merge 5.3.2 rc2 9 years ago
lundump.c issue #136 wip 7 years ago
lutf8lib.c issue #119 7 years ago
lvm.c revised build and option to enable computed goto in the VM 7 years ago
lzio.c merge 5.3.2 rc2 9 years ago
ravi_dmrc_parsesymbols.c update to latest dmrC tree 7 years ago
ravi_gccarith1.c code reformat 9 years ago
ravi_gccarith2.c code reformat 9 years ago
ravi_gcccall.c fix libgccjit compilation errors caused by latest changes 9 years ago
ravi_gcccodegen.c fix libgccjit build by disabling the dump option for now 7 years ago
ravi_gcccomp.c fix libgccjit compilation errors caused by latest changes 9 years ago
ravi_gccforloop.c implement specialized comparison ops and refactor the JIT compiler to avoid unnecessary conversion to pointers 9 years ago
ravi_gccforprep.c fix libgccjit compilation errors caused by latest changes 9 years ago
ravi_gccjit.c issue #131 more fixes 7 years ago
ravi_gccload.c implement specialized comparison ops and refactor the JIT compiler to avoid unnecessary conversion to pointers 9 years ago
ravi_gccrest.c code reformat 9 years ago
ravi_gccreturn.c upgrade libgccjit implementation to cater for 5.3.2 merge 9 years ago
ravi_gcctable.c issue #100 8 years ago
ravi_gcctforcall.c upgrade libgccjit implementation to cater for 5.3.2 merge 9 years ago
ravi_gcctypes.c Change callstatus to short type to match 5.3.4 change 7 years ago
ravi_jitshared.c issue #131 7 years ago
ravi_llvmarith1.cpp experiment with noninline add, sub, mul, div ops 8 years ago
ravi_llvmarith2.cpp cleanup some warnings 7 years ago
ravi_llvmcall.cpp issue #15 if emit_debug_trace() has been called then we can avoid setting savedpc again 9 years ago
ravi_llvmcodegen.cpp issue #136 wip 7 years ago
ravi_llvmcomp.cpp issue #15 if emit_debug_trace() has been called then we can avoid setting savedpc again 9 years ago
ravi_llvmforloop.cpp code reformat 9 years ago
ravi_llvmforprep.cpp code reformat 9 years ago
ravi_llvmjit.cpp go back to earlier approach of doing full GC collection every n compilations as the GCSETP approach doesn't work 7 years ago
ravi_llvmload.cpp issue #136 more type checking 7 years ago
ravi_llvmluaapi.cpp issue #131 more fixes 7 years ago
ravi_llvmrest.cpp issue #15 if emit_debug_trace() has been called then we can avoid setting savedpc again 9 years ago
ravi_llvmreturn.cpp merge 5.3.2 rc2 9 years ago
ravi_llvmtable.cpp change GETTABLE_I to work on objects that may not be tables 7 years ago
ravi_llvmtforcall.cpp merge 5.3.2 rc2 9 years ago
ravi_llvmtypes.cpp issue #136 wip 7 years ago
ravi_membuf.c issue #128 implement OP_RETURN and compilation of Lua function with only a return statement 7 years ago
ravi_nanojit.c issue #131 more fixes 7 years ago
ravi_nojit.c issue #131 more fixes 7 years ago
ravi_profile.c issue #109 8 years ago
ravijit.cpp go back to earlier approach of doing full GC collection every n compilations as the GCSETP approach doesn't work 7 years ago

README.rst

This folder has all the Lua and Ravi source files.


The Lua sources begin with the letter ``l``.
The following Lua sources have been enhanced for Ravi.

* lvm.c - this has the Ravi bytecode implementations
* lopcodes.c - definitions of Ravi opcodes
* ldo.c - changes to enable calling JITed function
* lparser.c - parser changes for optional typing
* lcode.c - code generator changes for optional typing
* lfunc.c - changes to support JIT compilation
* linit.c - the Ravi api functions get loaded here
* ltable.c - enhancements for Ravi array types
* lapi.c - enhancements for Ravi array types

The LLVM JIT implementation is in following sources:

* ravijit.cpp - basic LLVM infrastructure and Ravi API definition
* ravi_llvmtypes.cpp - contains LLVM type definitions for Lua objects
* ravi_llvmcodegen.cpp - LLVM JIT compiler - main driver for compiling Lua bytecodes into LLVM IR
* ravi_llvmload.cpp - implements OP_LOADK and OP_MOVE, and related operations, also OP_LOADBOOL
* ravi_llvmcomp.cpp - implements OP_EQ, OP_LT, OP_LE, OP_TEST and OP_TESTSET.
* ravi_llvmreturn.cpp - implements OP_RETURN
* ravi_llvmforprep.cpp - implements OP_FORPREP
* ravi_llvmforloop.cpp - implements OP_FORLOOP
* ravi_llvmtforcall.cpp - implements OP_TFORCALL and OP_TFORLOOP
* ravi_llvmarith1.cpp - implements various type specialized arithmetic operations - these are Ravi extensions
* ravi_llvmarith2.cpp - implements Lua opcodes such as OP_ADD, OP_SUB, OP_MUL, OP_DIV, OP_POW, OP_IDIV, OP_MOD, OP_UNM
* ravi_llvmcall.cpp - implements OP_CALL, OP_JMP
* ravi_llvmtable.cpp - implements OP_GETTABLE, OP_SETTABLE and various other table operations, OP_SELF, and also upvalue operations
* ravi_llvmrest.cpp - OP_CLOSURE, OP_VARARG, OP_CONCAT