More work on new JavaCodeBundleEditor & preferences. Not yet finished.
== TODO ==
Add more as you go by. Remove it once implemented/fixed...
=== VM ===
* Link VM with IEEE 754 FP arithmetic library (SoftFloat, libfdm) [JV]
* Finalization
* Fix GC to effectively support finalization (Ephemerons?)
* Cleanup file opening code (look at senders of JavaVM>>addOpenFile: and refator - smells like code duplication :-)
* Thin Locking
* Support for thinlocks on classes
* Support for thinlocks on Java arrays
* VM-level autodetect whether thinlocks are supported by the libjava (presence of _lockWord_ instance variable in JavaObject) [low prio, JV]
* Refactor native methods - get rid of context access (it's sloooow)
=== Tests & Benchmarks ===
* Fix libjava tests [MH}
* Add code/documentation to run benchmarks [MH]
* Integrate DeCapo benchmarks [http://dacapobench.org/]
=== Smalltalk part of Java ==
* Thinlocking:
* add a _lockWord_ instvar to Class
* cleanup the code (symbolic constants, etc)
* Update java class/path when a new package is loaded (Java>>classPathFromPackages)
* JavaSettingsApplication::PathEditor
* Add 'Select' button to select path
* Add a validation that warns about non-exisiting path
* Allow drag'n'drop from file browser
* Refactor JavaPathElement - have single object to refer both classes and sources (just like Eclipse does):
* rename to JavaClassPathElement
* add slot to sourcePath
* refactor the rest (UI, source access, etc)
* Add classes/field indexes to JavaConstants (all well-known classes/field indices should be as constants here)
=== Documentation ===
* Update documentation (copy/fix http://live.exept.de/doc/online/english/programming/java.html)
* handling finally blocks in libjava [jv]
* finalization in libjava [jv]