Sub-task
- [RVM-126] - Implement VM interfaces of the simplest beans (Runtime, ClassLoading, Compilation)
- [RVM-128] - Implement the VM interfaces for memory management
- [RVM-135] - Implement the VM interfaces for threading
- [RVM-223] - Reduce code space impact of specialized scanning routiunes
- [RVM-227] - Need more scalable global page free list
- [RVM-248] - Build runtime system mechanisms for patching pc-relative calls that target obsolete compiled code
- [RVM-249] - Annotation & enforcement mechanism to avoid patching code that is needed to process code patching
- [RVM-250] - GC of compiled code that may be the target of a PC-relative call
- [RVM-251] - Extend opt compiler to use pc-relative calls
- [RVM-252] - Finish off PPC implementation
- [RVM-491] - Unsupported operations in javax.imageio
Bug
- [RVM-50] - Remove synchronization in Field/MemberReference resolve
- [RVM-74] - No special case for space in traceObject
- [RVM-78] - Cannot specify a heap size >= 2048m
- [RVM-180] - Remove NoBoundsCheck and NoNullCheck annotations on IA32 VM_Assembler.setMachineCodes
- [RVM-235] - Support for strictfp
- [RVM-238] - Late resolution of reflected types
- [RVM-254] - Problems with SSA form: lack of loop unrolling breaks VM
- [RVM-255] - Method inlining creates undefined returns with exceptions
- [RVM-264] - get_obj_tib and get_array_length should not really be unary
- [RVM-267] - unsafe peephole optimization of if (x instanceof C)
- [RVM-317] - Integrate assertion support with Classpath
- [RVM-386] - Calling runtime methods doesn't effect the stack overflow check, the stack overflow region seems large (64kb)
- [RVM-414] - Literal boot image referenced objects not marked as literals in the JTOC
- [RVM-446] - Investigate performance regression in Compress
- [RVM-533] - Implement generic reflection API in Apache Harmony
- [RVM-553] - Field References and Heap Array SSA form
- [RVM-554] - LST and irreducible control flow
- [RVM-555] - run shutdown hooks on control-C
- [RVM-556] - more precised modeling of def/use operands by DefUse chains in opt compiler
- [RVM-559] - Stackframe unwinding of VM_DynamicBridge frames and nonvolatile registers
- [RVM-649] - build failure on PPC OS X 10.5 (Leopard)
- [RVM-678] - Dynamic linker instructions in data image
- [RVM-695] - Need to better account for virtual memory constraints
- [RVM-706] - Class loader assertion failures with ConcMS
- [RVM-719] - Failure in Harmony's class library tests
- [RVM-770] - MMTk barrier interface forces inefficient x86 instruction selection
- [RVM-799] - Use reserve/commit OS rather than mmap as primitive in MMTk for page allocation
Improvement
- [RVM-11] - Factor out gcspy a little better
- [RVM-84] - VM_JNIFunctions should be generated from a DSL
- [RVM-85] - Homogenize the scripting languages used within the RVM build/test infrastructure
- [RVM-90] - Record standard statistics for all tests
- [RVM-123] - System identity hashcodes aren't very random
- [RVM-137] - Checkcast setting of register type
- [RVM-138] - Elide stack overflow stack trace elements
- [RVM-147] - Reduce use of VM_TypeReference constants
- [RVM-148] - Reduce cost of inlining runtime services
- [RVM-149] - Move creation of BootImage object to after creation of boot image objects
- [RVM-161] - Copy Elimination
- [RVM-178] - Improve interface to edge profiling
- [RVM-188] - BURS in the DaCapo Jython benchmark is more expensive than normal
- [RVM-202] - Reorgnanize SSE code generation to be based on SSE version
- [RVM-208] - Look at (guarded/trivial) inlining choices for DaCapo Jython
- [RVM-225] - Private methods allocated space in the TIB
- [RVM-226] - Need to improve the scalability of per-phase GC statistics
- [RVM-236] - Detect write barriers in uninterruptible code and handle overflow gracefully
- [RVM-239] - Restructuring of how compiler phases are organized, use of pre/post conditions
- [RVM-241] - Consider cost of FP compare when performing branch optimizations, flipCode...
- [RVM-256] - Improve multiplication and division by constant code
- [RVM-257] - ByteBufferHelper performs all memory operations as bytes
- [RVM-259] - HIR ANDC, NAND, NOR and ORC instructions
- [RVM-260] - Expression folding on expressions with register on RHS
- [RVM-261] - (Investigate) improving LICM
- [RVM-262] - Improving typing of PPC VM_Assembler registers
- [RVM-263] - Compressed references
- [RVM-272] - Enable parallel make of Classpath
- [RVM-280] - a problem in adding enum type entry in VM value option generaion
- [RVM-289] - 64bit object model wastes space with array length and status word
- [RVM-312] - Investigate the performance of String.equals
- [RVM-313] - Optimize branch "x < 0 || x >= limit" into unsigned "x >= limit"
- [RVM-328] - Magic array stores are inefficient on IA32
- [RVM-337] - Use an x86 segment register instead of a GPR for the Intel processor register
- [RVM-338] - Address constants for non-movable classes during boot image writing
- [RVM-341] - Improved copying in VM_Memory
- [RVM-348] - Does escape phase need simple optimizations?
- [RVM-350] - machine properties naming scheme needs improving
- [RVM-356] - Use generic type to eliminate frequent casting of Operands
- [RVM-366] - Support a yield point implementation that uses polling page
- [RVM-377] - Don't mark boot image reference map for immutable arrays
- [RVM-388] - Improved GC visualization
- [RVM-393] - Use Inline.When to control inlining within MMTk
- [RVM-397] - Use Inline.When pragma to replace hard-coded arraycopy hack
- [RVM-399] - Separate Heap For VM objects
- [RVM-404] - New loop unrolling optimizations
- [RVM-405] - Improve modularity of major functions within the RVM
- [RVM-415] - Better abstraction and identification of helpers
- [RVM-416] - Explicit model of Exception Object dataflow
- [RVM-418] - Add breadcrumbs to our unity front page
- [RVM-419] - Simple elision of write barriers based on escape analysis
- [RVM-426] - Multi-dimensional array helpers
- [RVM-427] - VMFile accesses native code passing Strings
- [RVM-428] - Selective specialization driven by the online partial call graph
- [RVM-438] - Barriers within critical VM code
- [RVM-448] - Add non-nullness information to register operands
- [RVM-473] - Improved sparklines
- [RVM-475] - Move to a workqueue for performance regressions
- [RVM-503] - 2 types of pure annotation to deal with dead code elimination and exceptions
- [RVM-523] - Boot image writer does not handle @Uninterruptible for overridden methods correctly
- [RVM-552] - Improve full heap triggering heuristics for sticky collectors
- [RVM-563] - Enable motion of instructions defining Address typed results by LICM and GCSE
- [RVM-569] - IA32: detect processor version using CPUID instruction
- [RVM-570] - Debugger thread should suspend all other threads
- [RVM-573] - Empirically evaluate cmp/branch vs. conditional traps for nullcheck/bounds check on PPC
- [RVM-574] - Implicit null checks for stores at small positive offsets on AIX
- [RVM-575] - Increase precision of modeling of checked exceptions at call instructions
- [RVM-576] - Only buy stackframe in trivial leaf methods if a yieldpoint is actually taken
- [RVM-578] - Enhance frequency estimation using Annotated LST
- [RVM-580] - Reduce JTOC pressure of constants/static final fields
- [RVM-581] - Enable recompilation of Uninterruptible and Unpreemptible code
- [RVM-584] - Automate calculation of compilerDNA from compiler-dna test run Report.xml
- [RVM-635] - Harmony, use the zip cache pool api
- [RVM-677] - Tableswitch performance
- [RVM-686] - Improve modelling of exceptions in IR
- [RVM-771] - Don't remember array copies (mutator array remset) when both the destination and source are in the mature space
- [RVM-829] - Assertions on invalid 8bit assembler operations
- [RVM-924] - Implementation of more complex young generations on the generational garbage collector to prevent the "en masse" promotion effect.
- [RVM-1023] - Provide package-level comments as part of our JavaDoc
New Feature
- [RVM-13] - Convert Core Runtime to use ObjectReference rather than raw Object
- [RVM-33] - JDWP & JVMTI support
- [RVM-35] - Make unknown error and virtual machine errors more verbose
- [RVM-39] - Generate VM_Entrypoints from annotations
- [RVM-40] - Homogenize Susbsystem Reports
- [RVM-41] - Homogenize basic IO methods (usually used during debugging and reporting)
- [RVM-86] - Display Statistically significant changes in statistics in nightly report
- [RVM-95] - Switch to building Classpath with javac (stop download of ecj?)
- [RVM-103] - Add failure analysis to reports
- [RVM-117] - Publish javadoc as part of nightly builds
- [RVM-119] - Implement JNI_OnUnload
- [RVM-127] - Implement the VM interfaces for the management beans
- [RVM-146] - Add inter config.variant report testing on the same host
- [RVM-152] - Bytecode verifier
- [RVM-153] - Make org.mmtk.utility.heap.PageResource#ZERO_ON_RELEASE configurable and set to true in stress test-run
- [RVM-158] - Add into our testing infrastructure the mauve test suite
- [RVM-169] - Initial X86 64 support
- [RVM-240] - Interpreter
- [RVM-281] - Bidirectional object model
- [RVM-324] - Implement class unloading
- [RVM-335] - Replace mail per test-run mail with a single daily mail
- [RVM-336] - Classify tests by expected outcome notify of unexpected results
- [RVM-373] - Support for BrandWeg as a class library
- [RVM-400] - Implement on-the-fly garbage collectors
- [RVM-401] - Implement the Compressor garbage collector
- [RVM-403] - Implement the Baker garbage collector
- [RVM-509] - Move barrier operations into opt compiler HIR
- [RVM-546] - Support for Harmony's thread library
- [RVM-551] - Experiment with object collocation
- [RVM-560] - VM should inform AOS when "infrequent" ops are frequent so it can recompile offending methods
- [RVM-564] - Global Array Bounds Check Elimination
- [RVM-577] - implement induction variable elimination
- [RVM-579] - Simplify operations based on # of bits (in int values)
- [RVM-595] - Checks when creating object references in opt compilation
- [RVM-630] - Build support for Windows
- [RVM-705] - Interpret native stack frames using libbfd
- [RVM-711] - Support for cycle-accurate simulation
- [RVM-923] - An Efficient Mark & Sweep Concurrent Snapshot-Based And On The Fly Sliding-Views based Garbage Collectors
Task
- [RVM-382] - Integration of Jikes RVM and JNODE
Test
- [RVM-207] - Add FixedLive performance results to nightly regression
- [RVM-323] - Monitor prototype performance
- [RVM-1024] - Unit test for RVMClass
Wish
- [RVM-73] - We use VM.VerifyAssertions through out the code leading to warnings that "The static field VM_Configuration.VerifyAssertions should be accessed directly"
- [RVM-186] - Routine performance profile statistic gathering
- [RVM-192] - Investigate the performance of String interning
- [RVM-237] - Improve layout of simplifier
- [RVM-243] - Consider optimization of Math functions using hand crafted IR and native code
- [RVM-244] - Improve illegal upcast detection
- [RVM-284] - Web site CGI script to explore the opt compiler
- [RVM-290] - Refactor object model so that status word (int) bits are used more intelligently
- [RVM-716] - Remove all uses of unparameterized types
- [RVM-929] - Follow Java Virtual Machine Specification
Edit/Copy Release Notes
The text area below allows the project release notes to be edited and copied to another document.