Finally implemented the jump tables for my bytecode assembler and runtime. The project contains parser, codegen and runtime (virtual machine). It is written from scratch in Smart Pascal (Smart Mobile Studio), but the project will be ported to Delphi as well. In short, this is a register based virtual-machine running bytecodes (or P-Code as the traditional term was). When running under JS it results in what is known as "asm.js". Meaning the code runs ridiculously fast.


Finally implemented the jump tables for my bytecode assembler and runtime. The project contains parser, codegen and runtime (virtual machine). It is written from scratch in Smart Pascal (Smart Mobile Studio), but the project will be ported to Delphi as well. In short, this is a register based virtual-machine running bytecodes (or P-Code as the traditional term was). When running under JS it results in what is known as "asm.js". Meaning the code runs ridiculously fast.

The system is non-visual so can run both under node.js, phonegap and ordinary browsers. When executed in Delphi it works fine everywhere Delphi can reach. Very happy about finishing the assembler and executable model, now I can enjoy writing the high-level parser for pascal and implementing a sexy register scheme for the OOP layer. Why? Because la-di-da :)

Comments

Post a Comment