harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Harmony Wiki] Trivial Update of "DRLVM Development Tasks" by Vladimir Beliaev
Date Mon, 18 Feb 2008 15:35:03 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Harmony Wiki" for change notification.

The following page has been changed by Vladimir Beliaev:

The comment on the change is:
added Stack Interface, RedefineClasses and abort/exit tasks

  == Utilities ==
- === 10. Implement VM specific utilities library ===
+ === 10. Implement VM specific utilities library and remove C++ exception support ===
  '''''Problem:''''' Currently STL is used by set of DRLVM component, also it was practiced
to develop own simple utilities specific to particular components (often produces the code
/ bugs duplication). One needs to identify the requirements for DRL-specific utilities and
approach the specific library for shared use (thus replace STL and inherent buggy utilities).
+ Code for handling C++ exceptions creates additional overhead and since we don’t use C++
exceptions, VM could be compiled without its support. To make it possible it is necessary
not to use MS.NET STL classes because they require comparator to generate code with support
for C++ exceptions.
  '''''Task:''''' Design and implement the VM specific utilities library.
@@ -98, +100 @@

  '''''Task:''''' Develop unit test for j.l.instrument, identify the missed functionality
and get it developed.
+ === 12. Implement RedefineClasses JVMTI feature for DRLVM ===
+ '''''Problem:''''' The RedefineClasses is the major JVMTI feature which is not implemented
yet. Also this feature affects the desing of major DRLVM components so it is just complex
development task.
+ '''''Task:''''' Develop JVMTI RedefineClasses support.
+ == Stack suppport ==
+ === 13. Desing/implement VM stack iteration interface ===
+ '''''Problem:''''' There are three interfaces to Stack Iteration – one interfaces for
JVMTI support, one – for Stack Integrator and final one – for Stack Trace… There are
also functions to work with Stack that do not belong to any of these 3 interfaces (for exception
support, crash handler support, security and so on). Such interfaces / code mess is buggy.
One needs to propose the flexible unified interface for work with Stack, get it implemented
and transit existing VM modules to use it. 
+ '''''Task:''''' Clean up VM stack iteration interface used by all of its components.
+ == Overall VM ==
+ === 14. Use correct version of abort/exit ===
+ '''''Problem:''''' VM should not use abort/exit to harm the process it is running in. When
VM is run from within a browser or any other process it cannot shut down the process, it needs
to use abort and exit function pointers that are passed to it in JNI_CreateJavaVM.
+ '''''Task:''''' Patch all VM code to use the correct version of abort/exit functions.
  == The task from old list which required clarification ==
- '''* Thread Manager'''
- '''''Task:''''' From Weldon's April 2, 2007 dev@harmony posting titled, "[drlvm][threading]
a list of design/development issues that need coordination with the [general] M1 map", there
are 7 major areas that need to be focused on:  1) Thread Block Lifecycle, 2) storing thread
state in j.l.Thread object vs. native structs, 3) cleanup of internal Thread Manager mutex
design, 4) removing Thread Manager calls to APR, 5) analyze race conditions in lock reservation
(fix if required), 6) analyze the ThreadManager-JVMTI interface (fix if required), 7) Resolve
  '''* Garbage Collection'''

View raw message