FINAL PROPOSAL: Porting the HotSpot VM to Haiku x86
Bryan Varner
bryan at varnernet.com
Sun Mar 2 19:20:10 PST 2008
FINAL PROPOSAL
Porting the HotSpot VM to Haiku, x86.
Bryan Varner (team lead) & Andrew Bachmann
bryan(at)varnernet.com
andrewbachmann(at)gmail.com
1.) Introduction
----------------
The OpenJDK porters group is sponsoring a project to port OpenJDK to
the Haiku Operating System. Obviously, to achieve our projects goals,
we must port the HotSpot VM to our platform. As this is a sizable
amount of work for any team, we are proposing this project to help
provide additional incentive to our team members, and bolster the
fervor of development.
The goals of this project are to port the HotSpot Client and Server
Virtual Machines to Haiku for the x86 processor architecture.
This project proposal meets the following criterion for project types
as outlined by Official Rules of the OpenJDK Community Innovators'
Challenge in section 3.F.
1.) Develops and implements ... that extend the applicability
or use of the JavaSE platform into new markets...
3.) Ports the OpenJDK code base to a new and interesting OS
and/or hardware architecture.
2.) Deliverables
----------------
This project will be considered complete with delivery of
a) A working build system that others outside of the porting
effort can easily duplicate. Artifacts may be generated
from directly within Haiku OS using a native tool-chain, or
cross-compiled from a host OS.
b) All source modifications published to the OpenJDK
Haiku Port project.
c) Resulting artifacts including both client and server
versions of the HotSpot VM. JIT will be enabled, and
execution of the 'java -version' command will result in
expected (no exceptions, no errors) behavior.
3.) Milestones
--------------
To achieve these goals, the following basic porting tasks will need to
be accomplished.
a) Creating a sane build environment suitable for compiling
OpenJDK for Haiku x86.
b) Building out the initial project structure.
c) Creation of Haiku specific code.
d) Native implementations for many core JavaSE classes.
e) Initialization of the "Universe".
4.) Dependencies on Sun
-----------------------
There are no dependencies on Sun regarding the porting of OpenJDK to
the Haiku OS.
5.) Relevance to the Community
------------------------------
Haiku is an emerging, modern Operating System targeted specifically
for desktop computing. It's unique approach to system design, which
impacts application scalability, threading performance, and it's tight
focus on desktop computing gives it a promising future in a world that
is increasingly using SMP to achieve better performance.
Having OpenJDK and more specifically the HotSpot VM ported to Haiku
will provide an attractive alternative environment for Java developers
to work in and target, as well as place OpenJDK one step closer to
achieving the goal of platform ubiquity.
6.) Developers
--------------
Andrew Bachmann has worked with Java since 2000 and in open source since
2000. Andrew is a cross-kit committer on the Haiku OS project. Andrew
was the lead developer for the BeUnited project to port the Sun JDK to
BeOS. Andrew has ported several applications to BeOS and often
contributes patches during these ports. Andrew is currently working at
the NASA Ames Research Center building systems for mixed-initiative
planning.
Bryan Varner has worked with Java and has been an active contributor to
several Open Source projects since 2001. Bryan was involved in the
BeUnited project led by Andrew to port the Sun JDK to BeOS, and has
committed code to the Haiku OS project in several areas. Bryan is a
senior consultant at Moser Consulting, Inc. specializing in Java based
systems by day, and administrative lead of the Haiku OS Java team by night.
More information about the challenge-discuss
mailing list