If this JVM was written in java, it would need another JVM to run, wouldn't it? One JVM to depend on another JVM to run is a bit weird, isn't it? Infinite recursivity? Even if it was compiled natively with GCJ, it would still depend on it. Has GCJ implemented the complete spec yet?
Just use APR for the portability layer. It's a proven library, and it is already used in various successful projects, like httpd and subversion. Maybe even rewrite parts of Kaffe, just to add this portability layer and to complete the spec implementation, and use it as the JVM for Harmony (adding enhancements to it, instead of creating a new one from scratch).
