### <== Previous | Contents | Next ==>

## The Virtual Machine (cont.)

### Other Virtual Machine Issues

- Fast Floating Point: The virtual machine contains optional highly experimental support for fast (unboxed) double-precision (64 bit) arithmetic. This is just an experiment, but if you are interested you can read more about it here.

- Debugging Support: Debugging support is fairly rudimentary right now. There is no graphical debugger, however, invoking #halt will bring up a graphical stack examination window that lets you see the stack and inspect method receivers and arguments. From the menu of the stack examination window, you can select "Process/Transfer to console debugger" to invoke a command-line debugger that will let you single step through the code.

  It is unfortunate that we didn't have the time to write a graphical debugger, since one of the really neat features of the inlining virtual machine is that it provides an exceptionally nice environment for debugging. This is because the ability of the VM to dynamically deoptimize methods even while they are executing means that it is trivial to make inlining and other optimizations fully transparent to the debugger. As soon as you halt or single-step, the VM reverts to the interpreted version of just the methods you are in on-the-fly, providing full interpreted semantics for debugging. Called methods can remain fully optimized, and as soon as you continue, the normal optimization process reoptimizes the code.

### The Type System ==>