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:
http://wiki.apache.org/harmony/DRLVM_newbie_tasks
------------------------------------------------------------------------------
- Below is a list of isolated development tasks, which do not require advanced knowledge of
VM and could be a nice start for newbies to get acquainted with the code. All items are targeted
for better code sharing.
+ Moved to [http://wiki.apache.org/harmony/DRLVM_Development_Tasks DRLVM Development Tasks]
page.
- [https://issues.apache.org/jira/browse/HARMONY-2051 Task 1]: '''Eliminate duplicate implementation
of j.l.Runtime.Process in kernel classes of DRLVM [1]'''.[[BR]]
- '''''Description''''': The classlib provides a neat portlib-based reference implementation
[2], which should be reused. These two implementations are roughly identical, so one needs
to make more scrupulous comparison and squeeze some features/fixes of [1], which may be missing
in [2], then employ [2] in {{{j.l.Runtime}}} of DRLVM and drop [1].
-
- [https://issues.apache.org/jira/browse/HARMONY-2052 Task 2]: '''Improve/re-implement a parser
of generic signatures in DRLVM kernel classes [3], and move this functionality to classlib
(luni ?), so other VMs could reuse it for 1.5 support'''.[[BR]]
- '''''Description''''': The current implementation is messy and half-baked, one need to invent
more shaped and modular API to the parser. One more possible issue is parser's dependency
on antlr, which may be considered overkill for this duty. I think, antlr has its pros, like
more illustrative code with clear correlation to formal grammar [4]; unfortunately this is
not the case with the implementation in question. OTOH minimizing number of dependencies for
VM is always good.
-
- [https://issues.apache.org/jira/browse/HARMONY-2053 Task 3]: '''Classlib's {{{j.u.TimeZone}}}
expects {{{user.timezone}}} property value initialized during VM startup'''[[BR]]
- '''''Description''''': BTW I did not find explicit statement in VMI docs for that, only
indirect reference in kernel stub for {{{j.l.System}}}. I believe this action should be done
by hyluni natives during {{{JNI_OnLoad}}}, no reason to burden VM with it. Therefore I suggest
to move {{{port_user_timezone()}}} function [5] from DRLVM to classlib (luni/port), and fix
DRLVM & hyluni accordingly.
-
- == Links ==
- ----
- [1] working_vm\vm\vmcore\src\kernel_classes\javasrc\java\lang\Runtime.java + working_vm\vm\vmcore\src\kernel_classes\native\Runtime_[lnx|win].cpp
-
- [2] working_classlib\modules\luni\src\main\java\org\apache\harmony\luni\internal\process\*
+ working_classlib\modules\luni\src\main\native\luni\shared\process.c
-
- [3] working_vm\vm\vmcore\src\kernel_classes\javasrc\org\apache\harmony\lang\reflect\**
-
- [4] http://java.sun.com/docs/books/vmspec/2nd-edition/ClassFileFormat-Java5.pdf Para 4.4.4
-
- [5] working_vm\vm\port\src\misc\[win|linux]\timezone.c
-