Monthly Archives: August 2007

sun.misc.Unsafe fixed in J9

John Duimovich from IBM contacted me shortly after I posted here about the bug we found in J9′s implementation of the sun.misc.Unsafe interface. We were able to narrow down the issue to memory accesses though sun.misc.Unsafe with an odd offset … Continue reading

Posted in Trace Compilation

sun.misc.Unsafe broken in Hotspot (and J9)

We went through a great deal of pain trying to get sun.misc.Unsafe to work properly in our VM. We use it extensively for the interpretative backends (JPL and BPL). It turns out that the C2 compiler (server JIT) of Hotspot … Continue reading

Posted in Trace Compilation

Trace-wide Register Caching and Long Integers on x86

With its tiny register set of 7 32-bit integer registers, long integers are particularily difficult to implement efficiently on the x86. I tried a couple different implementations and settled for the following approach for now: A first level register allocator … Continue reading

Posted in Trace Compilation