Articles tagged "virtual-machines"
CodeSwitch API improvements
Published on 2016-03-18
CodeSwitch is designed to be a library that can be embedded in any application. A good API is crucial. While I can't say that CodeSwitch's C++ API is completely stable yet, I think it's gotten to a pretty usable state.
Tagged: codeswitch gypsum virtual-machines
Memory management in CodeSwitch
Published on 2015-09-12
CodeSwitch has its own garbage collected heap, which is used not only for objects allocated by interpreted code, but also for most internal data structures. In this article, I'll describe how the heap is built, how the garbage collector works, and how it tracks pointers to the heap from C++ code.
Tagged: codeswitch garbage-collection gypsum virtual-machines
CodeSwitch bytecode and interpretation
Published on 2015-08-27
The interpreter is essentially a loop with a big switch-statement. In each iteration, it reads one instruction, switches on the opcode, branches to the appropriate case, then executes some code for that instruction.
Tagged: codeswitch gypsum interpreter virtual-machines
A tour of V8: Garbage Collection
Published on 2013-09-23, edited on 2014-01-26
In this article, I reveal the secrets of V8's garbage collector! Tagged pointers, generational collection, incremental marking, and parallel sweeping are demystified!
A tour of V8: Crankshaft, the optimizing compiler
Published on 2013-04-10, edited on 2013-12-13
Crankshaft is V8's optimizing compiler. Once unoptimized code has been running for a while, V8 identifies hot functions and recompiles them with Crankshaft, greatly improving performance.
A tour of V8: object representation
Published on 2012-12-24, edited on 2013-12-13
A tour of V8: full compiler
Published on 2012-11-04, edited on 2015-11-28
Polymorphic Inline Caches explained
Published on 2011-07-24
Polymorphic inline caches are a way to optimize function calls in dynamic languages
Tagged: optimization virtual-machines