I think it's too slow to have the overhead of a function call for every object allocation. This is the cost of modularization. I doubt any of the mainstream JVMs you are competing with do this.
Given how java (Apple JVM on OS X tiger) seems to allocate a chunk of memory when you first load it and only occasionally reallocate more if I'm using alot of memory, I'd say that it gets around that 'external function call overhead' by allocating memory into its internal heap and then using native (pure java) code to manage the VM's memory. I've no idea though - I'm interested now!
How do they do it?
--Royce