Skip to content

yakiro-nvg/avm

Repository files navigation

License: MIT Coverage Status

AVM - Embeddable concurrent oriented Virtual Machine

Welcome. Since you are here with us, chance you may already using and fall in love with scripting language, such as Lua. We're on the same boat with you, yes we love Lua too. However, there are things that I'm not happy with Lua, that wasn't easy to just forking and make improvement. Therefore, AVM begin. In short, what we get with AVM:

  • Mostly ANSI-C.
  • Simplicity from Lua.
  • First-class hot code reloading.
  • Scalability of Erlang.
  • Concurrent oriented design.
  • Hackable runtime.
  • Debug services.

What is out of the scope?

  • Scripting language.

Now, AVM is still under heavy development.

API Documentation

Inspiration

Getting Started

Using cmake to compile with Makefile, Visual Studio or XCode etc.

git clone --recursive https://github.com/innostory/avm.git
cd any-vm && mkdir .build && cd .build
cmake ../ -G "Unix Makefiles" -DTASK_BACKEND=gccasm
make && ctest

On windows, just change the TASK_BACKEND to fiber, it's only one supported.

Now only lot of unit test to play around :)

What works currenty

  • Single, cooperative scheduler.
  • Lightweight real-time actor.
  • Reloadable loader.
  • Bytecode assembler.
  • Bytecode dispatcher.
  • Copying GC.

Coming soon

  • Debug bridge.

Contributing

  • TODO, feel free to contact me if you have any question.

Contact

Nonsense Badgets

Build Status Build status Coverity Scan Build Status

About

Any Virtual Machine

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published