Release Notes - RVM - Version 1000 - HTML format

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.