I forgot to mention the idea I had in the first instance. Little should become a fast application scripting/extension language, or better: the purpose of the VM was to serve as object-oriented application scripting engine, fast, and as customizable as possible.
As such, the VM itself provides only very basic capabilities of bytecode execution - there is not even a garbage collection system, because the VM doesn't assume by default, that dynamic memory is used at all. It is very well possible to embed it in a way, that it has to deal with typed handles to host-application-internal data only, and never allocates memory itself.
Btw, the current Little VM implementation is named 'ALICE' (A Little Intermediate Code Evaluator) - if I refer to the VM in the future, I'll call it that way. :)
ALICE is built to support a class-based flavour of object orientation, and as such has a very small set of built-in 'classes' ... which by default dangle around with more or less no relations to each other, and no invokable methods either. All of this has to be defined by an application which wants to use ALICE - here belong properties like the ability of creating instances as well as the information, that class 'Class' is an instance of 'Class'.
ALICE itself is just a DSO, plus some headers providing the API.
The entry point to customize ALICE, is, to provide a DSO libalice_boot.so, which must define the function
int alice_setup(ltl_threadenv_t *threadenv)
This function has to take care of triggering all necessary setup tasks. In the case of LITTLE, alice_boot() makes sure, external definitions for all ALICE builtin classes are loaded (the class load mechanism is part of ALICE itself), and finally loads the class alice.Bootstrap, which takes over control as soon, as it's initializer method (a mechanism similar to Java class initializers) is invoked.
alice.Bootstrap only defines methods, which allow itself to dispatch the boot process to the main LITTLE runtime system: in the first instance this is a method to provide DSO load capabilities 'loadLib'.
The LITTLE runtime then provides the rest: a 'real' class hierarchy, dynamic memory allocation, garbage collector and stuff.