Changed spelling

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Making the Class Loading chain longer

- was investigating a field addressing bug, but is not related to hierarchy depth

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Added a benchmark to measure the performance of field accesses

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Replace the use of the instance field name with a compile-time determined offset

- needed to change class loading to load superclass as soon as the name is known to the parser
- this allows us to determine the field offset based on the layout of the superclasses

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Added a very naive bi-morphic inline cache

The inline cache is naive because I just keep an array for the classes as well as an array for the cached invokables, both with the same length as the bytecode array. These arrays are indexed by the bytecode offset, which allows to safely cache two invokables. The first one at the position of the send bytecode, and the second one at the send-bytecode's parameter (the selector). This encoding is not very efficient, because it wastes quite a bit of memory since the arrays will be rather sparsely populated.

Signed-off-by: Stefan Marr <git@stefan-marr.de>