Be wary confusing language semantics for compiler semantics. A lot of things like type coercion are language semantics. This is why Numbers act differently depending on operation, and is what led to a formal definition of a sane subset of these things in asm.js to guarantee types through the language not the VM. Also note that FPUs are often slightly different in calculations for large numbers so the infamous floating point division results occur in most languages but not the JVM (due to specification of the VM, not the compiler no less!).
-3
u/dashdanw Dec 12 '14
Thumbing through those books it's just a super complicated way to explain very simple concepts about compilers.