1 (l) proper java native interface (JNI)
2 -> atm just hackish solution.
3 -> also, arguments are passed in the wrong order
4 -> estimated effort: 3-4 days
7 -> for gnu classpath absolutely necessary
8 -> estimated effort: unknown
10 (l) gnu classpath integration
12 -> depends on: exceptions, jni (?)
13 -> estimated effort: unknown
15 (m) testing: hunit? quickcheck? other?
16 -> we have `make tests' now, but it should be only considered as
17 high-level test. we need something
18 -> estimated effort: for infrastructure, 2-3 days
20 (l) instanceof, checkcast
21 -> typechecking at runtime. with displays or something
22 -> depends on: exceptions (not absolutely necessary, but preferable)
23 -> estimated effort: 1 day
25 (h) bug (?): can there be a namespace clash with static and non-static methods?
26 -> the signature doesn't contain the static modifier
27 -> estimated effort: some hours (if a fix is needed)
30 -> it's an stupid and ugly hack. we don't want that.
31 -> estimated effort: unknown. research for a solution is needed
35 (h) so much cleanup...
36 -> define constant for native size stuff
39 (m) enable easy recompiliation of a method
40 -> we need a map where all callers are stored
41 in order to patch those to the new address
42 -> free old code region. maybe replace it with
43 some magic values, e.g. which produce a signal
44 in order to enable easier debugging
47 -> it's C. we don't want that.
48 -> at the moment System.Posix.Signal isn't powerful enough
49 -> wait for: http://hackage.haskell.org/trac/ghc/ticket/2451
51 (l) check different types (byte, long, ...)
53 (l) get rid of CUInt where appropriate
54 -> CPtrdiff and CSize (ptrdiff_t and size_t) is more portable
56 (l) floating point support
58 (h) better code generation
59 -> at least peephole optimazation would be nice (e.g. kill `push eax; pop
61 -> but we want more!!11 ;-)
62 -> estimated effort: 2-3 weeks
64 (m) benchmark for presentation
66 (l) get rid of missingh
67 -> huge dependency and we just need one function of it
71 (m) ... medium priority
75 what we won't do anytime soon:
76 ( ) garbage collection
83 Design Meeting - 21.March.2012
86 1) Compile on Basic Blocks on Demand or complete Methods (check how cacao, mono works)
87 2) Calling-Conventions - Standard wegen den Sprüngen (why does Cacao use strange CallingConventions)
88 3) Capture Meta-Information by Instruction and Basics-Block
89 4) Benchmark Suits - what features do we need?
90 5) Boehm GC? using Haskell GC? From Scratch GC? GC option
91 6) hs-java reinschauen - kann das schon BBA
94 TODO: Basic-Block Analyis, Dereferencing .class file shit - during or after BBA,