minivm
android-luajit-launcher
minivm | android-luajit-launcher | |
---|---|---|
13 | 4 | |
1,562 | 131 | |
0.1% | 0.8% | |
9.3 | 8.2 | |
9 days ago | about 20 hours ago | |
C | Kotlin | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
minivm
-
Show HN: I wrote a WebAssembly Interpreter and Toolkit in C
> I developed a unique way to write interpreters based on threaded code jumps and basic block versioning when I made MiniVM (https://github.com/FastVM/minivm). It was both larger and more dynamic than WebAssembly.
I'd be very interested to read more about this. It looks like you are using "one big function" with computed goto (https://github.com/FastVM/Web49/blob/main/src/interp/interp....). My experience working on this problem led me to the same conclusion as Mike Pall, which is that compilers do not do well with this pattern (particularly when it comes to register allocation): http://lua-users.org/lists/lua-l/2011-02/msg00742.html
I'm curious how you worked around the problem of poor register allocation in the compiler. I've come to the conclusion that tail calls are the best solution to this problem: https://blog.reverberate.org/2021/04/21/musttail-efficient-i...
-
Ask HN: Recommendation for general purpose JIT compiler
Maybe take a look at MiniVM[0]? It was on HN a couple months ago[1].
[0]: https://github.com/fastvm/minivm
- MiniVM: “Minivm Port to Dlang”
- MiniVM: A zero-dependency cross-language runtime on par with LuaJIT and C
-
Hacker News top posts: Jan 8, 2022
MiniVM: A zero-dependency cross-language runtime on par with LuaJIT and C\ (19 comments)
- MiniVM: A minimal cross-language runtime that beats C/luajit on some benchmarks
android-luajit-launcher
-
KOReader Android 2.3.4
Android 2.3 support was dropped back in 2019, see https://github.com/koreader/android-luajit-launcher/pull/91. The current minimum supported version is 4.0.
-
KOREADER is blurry -
Here: https://github.com/koreader/android-luajit-launcher/blob/master/app/src/main/java/org/koreader/launcher/device/DeviceInfo.kt
-
How do I implement positioning recognition in Lua?
That said, I've even developed a Lua/Android bridge myself back in time (other people have much improved that since) - https://github.com/koreader/android-luajit-launcher However, that was not driven by the idea to make "things simpler" somehow. I'm not providing that reference as a suggestion you use it for your task. It was done to provide means to run an existing Lua based codebase on Android devices. If I was to develop an application for Android devices from scratch, I think I would go with the Android SDK and Android Studio, probably using Kotlin.
- MiniVM: A minimal cross-language runtime that beats C/luajit on some benchmarks
What are some alternatives?
privacytests.org - Source code for privacytests.org. Includes browser testing code and site rendering.
wasm3 - 🚀 A fast WebAssembly interpreter and the most universal WASM runtime
sljit - Platform independent low-level JIT compiler
LuaJIT - Mirror of the LuaJIT git repository
asmjit - Low-latency machine code generation
paka - Paka language
qbe-rs - QBE IR in natural Rust data structures
awesome-jit - A curated list of awesome JIT frameworks, libraries, software and resources
sol2 - Sol3 (sol2 v3.0) - a C++ <-> Lua API wrapper with advanced features and top notch performance - is here, and it's great! Documentation:
kotlin-satlib - 🗿 SAT solver wrappers for Kotlin