Dmitry
Dmitry
Original ImageBuilder provided by the Timothy Budd's source is very unstable and crashes even on correct input sometimes. Moreover, it produces incorrect byte code which leads to method stack overflow...
Current implementation of our VM is single threaded. LLVM itself supports the multithreading environment. However, bringing threads to VM is not so easy. The following questions are to be answered:...
When using std::map as a cache we usually do not need ordered collection traversal features. Moreover, insert/access operations on std::map is O(log N) whereas insert to hash container (like unordered_map)...
LLVM provides special API for preallocating patch points in the JIT code which then may be altered without full function recompilation. This is especially useful in polymorphic method caches and...
«The custom CPU includes a read barrier instruction. The read barrier enables a highly concurrent (no stop-the-world phases), parallel and compacting GC algorithm. The Pauseless algorithm is designed for uninterrupted...
In statically typed environments [Hindley-Milner algorithm](http://en.wikipedia.org/wiki/Hindley%E2%80%93Milner) may be used to infer the types of expression depending on it's parts. The question is, may this idea be applied to the Smalltalk's...
Accoring to the article [“Wade not in unknown waters. Part three”](http://www.viva64.com/en/b/0142/) we may not perform a bit shift of negative integers. Still, we need to do it when converting from...
## The Idea Generational Garbage Collector (GGC) is a further evolution of the Baker Two Space collector which uses spaces in a more advanced way. Original Baker GC uses semi...
Current implementation of fatal errors handling in MethodCompiler and VM is not suitable for production code. Should be replaced with proper exception throwing code with accurate message text and supplimentary...