You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(2) |
Nov
(2) |
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(2) |
Feb
|
Mar
(1) |
Apr
(1) |
May
(1) |
Jun
(1) |
Jul
(1) |
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
(1) |
2003 |
Jan
|
Feb
|
Mar
|
Apr
(2) |
May
|
Jun
(1) |
Jul
|
Aug
(1) |
Sep
(1) |
Oct
|
Nov
(1) |
Dec
(1) |
2004 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
(2) |
2005 |
Jan
|
Feb
(3) |
Mar
(1) |
Apr
(2) |
May
(1) |
Jun
|
Jul
|
Aug
(1) |
Sep
(1) |
Oct
|
Nov
(1) |
Dec
|
2006 |
Jan
|
Feb
(1) |
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
(1) |
Nov
|
Dec
|
2007 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
2008 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
(1) |
Nov
|
Dec
|
2009 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
2010 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2012 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2013 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: David P G. <gr...@us...> - 2013-02-12 22:05:51
|
Jikes RVM version 3.1.3 has been released and is available for download at http://downloads.sourceforge.net/jikesrvm/jikesrvm-3.1.3.tar.bz2 The Release notes are appended (for more details see the online release notes at: http://jira.codehaus.org/secure/ReleaseNote.jspa?projectId=11591&version=18230 Release Notes - Jikes RVM 3.1.3 ** Improvement * [RVM-962] - Initial pass over the source code to remove duplicated comments * [RVM-965] - Consolidate EmptyIterator implementations * [RVM-970] - This patch creates an environment to perform unit-tests both in the boostrap VM and Jikes RVM. Added a working example (ExampleTest). * [RVM-973] - Initial pass over the source code for cosmetic comment changes * [RVM-974] - Cleanup assertions in the RVM (add missing VM.VerifyAssertions, use VM.NOT_REACHED instead of false) * [RVM-975] - Updated JUnit to 4.10 * [RVM-976] - Remove *Enumeration classes that were made useless by generics * [RVM-980] - Custom Test Runner to Distinguish Testing VM * [RVM-981] - Added Mockito to components * [RVM-984] - Don't run unit tests on the built RVM image by default * [RVM-1012] - Add memory barriers to implement JMM volatile semantics in PPC baseline compiler * [RVM-1014] - Move static nested classes out of BC2IR ** Bug * [RVM-916] - Rule missing in set_caught_exception (BURS) * [RVM-954] - @Target of @Pragma meta-annotation incorrect * [RVM-963] - Pettis-Hansen code reordering causes boot image compilation to be non-deterministic * [RVM-967] - Sticky Immix incorrectly tries to forward mature objects * [RVM-969] - "Comparison method violates its general contract" when building on OpenJDK 7 * [RVM-972] - .hgignore ignores build//components/ * [RVM-978] - parallel sweep wrong * [RVM-987] - Add a null check for the thread object to sun.misc.Unsafe.park(...) * [RVM-990] - Assertion failures in RCHeader makeUnlogged() when running unit tests on BaseBaseGenRC * [RVM-1000] - Strings from IcedTea 1.7 don't have count and offset fields * [RVM-1003] - fop (DaCapo 9.12) fails with NPE for input size small * [RVM-1004] - NPE while opt-compiling LogManager.checkAccess during bootimage writing ** Test * [RVM-971] - Unit Tests for org.jikesrvm.util * [RVM-982] - Added JUnit Test and fix for org.jikesrvm.compilers/opt/util/Stack.java * [RVM-983] - Added JUnit Test for org/jikesrvm/compilers/opt/util/Tree.java and fixes for the bugs found * [RVM-992] - Add remaining unit tests from the Google Summer of Code unit testing project |
From: David P G. <gr...@us...> - 2012-02-24 22:32:08
|
We're happy to announce that Jikes RVM 3.1.2 has been released and is available for download at http://sourceforge.net/projects/jikesrvm/files/jikesrvm/3.1.2/jikesrvm-3.1.2.tar.bz2/download. This release contains a number of enhancements and bug fixes contributed by the Jikes RVM community — Thanks! Highlights of the release can be found in the online release notes ( http://jira.codehaus.org/secure/ReleaseNote.jspa?projectId=11591&version=16568) which are also copied below. * Jikes RVM 3.1.2 (February 24, 2012) Please note, Jikes RVM now requires the host JVM to be Java 6 or better. The system will no longer build using a Java 5 JVM as the host. ** Improvement * [RVM-300] - Only download checkstyle when needed * [RVM-903] - Update to latest JSR-166 * [RVM-922] - Remove the build warnings concerning includeantruntime that since in Ant 1.8 * [RVM-944] - compiler warnings while building bootImageRunner ** Bug * [RVM-364] - ant real-clean doesn't clean up fully * [RVM-675] - Chunk linked list broken on discontiguous space * [RVM-813] - Incomplete dependencies on .dat files when determining whether or not to regenerate sources * [RVM-825] - Replay compilation does not account for custom class loaders * [RVM-870] - Deadlock in RVMThread code * [RVM-897] - Default setting for numprocessors is 1. Probably should be all. * [RVM-899] - Deadlock when using ExecutorService with Futures * [RVM-900] - aligned32Copy can copy 8 bytes when number of bytes to copy is 0 * [RVM-905] - respect volatile store semantics * [RVM-906] - GCspy version out of date in gcspy.xml * [RVM-908] - URL changes of dependencies cause build with Apache Harmony to fail * [RVM-910] - Download URL for JUnit changed * [RVM-911] - Missing rule for int_ifcmp module BURS * [RVM-914] - ObjectInputStream Deserialization does not handle Enum types correctly. * [RVM-915] - isAnonymousClass check in RVMClass is incorrect * [RVM-917] - A url for checkstyle 4.3 does not exist. * [RVM-927] - VMChannel.write will return wrong number of bytes written when writing one byte from a ByteBuffer * [RVM-931] - "malloc returned something that is in RVM address space" on Mac OS X Lion * [RVM-932] - Documentation refers to subversion rather than mercurial * [RVM-934] - Process @SysCallTemplate with Java 6 Annotations API instead of APT * [RVM-936] - Jikes RVM fails to build on Ubuntu 11.10 with undefined references in sys.c * [RVM-938] - -X:cpuAffinity not found in SystemAppCL * [RVM-943] - MMTk HeapGrowthManager heap growth ratio computation has discontinuities * [RVM-945] - incorrect compiler ID passed to notifyMethodCompile callback * [RVM-948] - start-time and end-time almost same in generated test reports. * [RVM-949] - Sticky MS performance compared to MS * [RVM-951] - Bulk copy optimization & compare and swap incorporation for Sticky MS & Sticky Immix ** Sub-task * [RVM-785] - handleHandshakeRequest should be called from enterNativeBlockedImpl |
From: David P G. <gr...@us...> - 2010-07-05 13:01:51
|
Corrected release notes below. I apparently was not paying enough attention last night and generated the releases notes for 3.1.2 (ie, all of the unresolved issues) instead of getting all the closed ones for 3.1.1. Sorry for any confusion. A new download has been placed on sourceforge as well, although the only difference is in the NEWS.txt file. --dave ** New Feature * [RVM-839] - Support for Reference Types in the MMTk Harness * [RVM-841] - Make it possible to query the compiler to direct optimization * [RVM-845] - Primitive write barrier support ** Improvement * [RVM-846] - MMTk Harness: Provide command-line option for watching addresses * [RVM-848] - Update bootimage writter with known static fields for Harmony classlib * [RVM-861] - Refactor bulkCopy optimisations for RVMArray arraycopy's ** Bug * [RVM-184] - MarkCompactLocal.compact():80 assertion failure * [RVM-604] - Require two different host JVMs to successfully build on Linux/PowerPC * [RVM-639] - Spec JVM 98 javac failing with Harmony * [RVM-693] - Regression in TestSerialization with Harmony * [RVM-827] - Crash in GC while running Eclipse IDE * [RVM-831] - Incomplete implementation of GetFieldID and GetStaticFieldID * [RVM-832] - Mature space mutator allocator reset before semi-space flip * [RVM-833] - GC failures with ia32 BaseBase compiler, ExtremeAssertions and -X:gc:verbose=1 * [RVM-834] - Assertion failure in ExtremeAssertionsBaseBaseSemiSpace * [RVM-836] - Static initialization loop in Generational collectors * [RVM-838] - MMTk Harness 'Spawn' script fails with an NPE on multiprocessors * [RVM-840] - MMTk Harness fails on Poisoned heap collector * [RVM-854] - Failed to find a value to spill when * [RVM-856] - RVM fails to build under OS X 10.6 * [RVM-860] - ExtremeAssertionsOptAdaptive compiler failure for jvm98 _227_mtrt on ppc32 * [RVM-862] - 2 static fields using an identic slot * [RVM-863] - BumpPointer.scanRegion can cause a page fault * [RVM-864] - Build failure using IBM Java 6 SDK as host JVM on linux-ia32 * [RVM-879] - Mark Compact does not work with Native Threads * [RVM-887] - RVM failure at startup when using -Xbootclasspath (Trying to load a class too early in the booting process) * [RVM-889] - JSR166 tck fails EntryTest, PriorityQueueTest and PriorityBlockingQueueTest * [RVM-890] - MarkCompact broken by new threading model * [RVM-894] - MMTk Harness doesn't allow Log.writeln in constructors |
From: David P G. <gr...@us...> - 2010-07-05 02:00:51
|
Jikes RVM version 3.1.1 has been released and is available for download at http://downloads.sourceforge.net/jikesrvm/jikesrvm-3.1.1.tar.bz2 Details are given below, or are browsable online in our JIRA instance at http://jira.codehaus.org/browse/RVM/fixforversion/14900. New Features and Improvements * RVM-115 - Finish removing all uses of LogicallyUninterruptible * RVM-116 - Solve/remove comments in ScanThread * RVM-122 - restructure sys.C into multiple source files. * RVM-151 - OutOfMemory exceptions should indicate which space was exhausted * RVM-162 - Remove x87 code generation from opt compiler. * RVM-268 - Update JikesRVM copies of classes (e.g. Constructor) to match the 1.5/current Classpath API * RVM-334 - Send SIGQUIT before terminating process in timedrun * RVM-398 - DaCapo 10 iteration lusearch stack walking is significant proportion of runtime (>13%) * RVM-413 - Long running tests using development/extreme assertion configurations * RVM-429 - Improvements to buildit * RVM-432 - Fix GNU classpath build on x86_64 * RVM-463 - Replace calls to StringBuffer with CPStringBuilder where appropriate * RVM-481 - We have non-moving code spaces; simplify stack scanning logic & GC map iterators by removing logic to deal with moving code * RVM-545 - java.lang.instrument support for Harmony * RVM-561 - Change default thread stack size on command line * RVM-602 - OSR bytecodes cause the opt compiler bcIndex to be unintelligible * RVM-622 - Skipping Harmony classlib building, just copy over deploy/ * RVM-653 - Remove nursery lists from LOS code * RVM-684 - TuningFork instrumentation of Adaptve System * RVM-713 - Enable x87 exceptions to catch badly behaving code * RVM-720 - Support for JNI helper methods on PowerPC * RVM-745 - Use @Intrinsic annotation to drive matching of magic method to magic code generators * RVM-769 - Clean up situation with pre-copy and @NonMoving * RVM-773 - Upgrade to Classpath 0.98 * RVM-796 - Generalize objectAsThread, objectAsType, etc. magic wih Magic.eatCast * RVM-805 - Pretty printing application stacks * RVM-815 - Cleaner fix to avoid optimizing through final fields that are known to be modified via native code * RVM-884 - MMTk stats can be hard for humans to read * RVM-885 - Alternative performance counter implementation Tasks and Sub-tasks * RVM-717 - Support for var arg JNI methods on 64bit platforms * RVM-728 - Design a mechanism to make it clear which options are internal vs. valid to be set from the command line * RVM-746 - Rework classloader plumbing for Unboxed types * RVM-749 - Only allow clean/expected transitions in thread execStatus * RVM-772 - Decide what 'available' processors means on native threads * RVM-780 - Figure out why native threads stability is proportional to the number of available processors * RVM-782 - Figure out if OSR's use of contextRegisters is correct and/or necessary, given their changed meaning in native threads * RVM-785 - handleHandshakeRequest should be called from enterNativeBlockedImpl * RVM-793 - Improve tracing support in RVMThread * RVM-888 - Process MMTk patch subbmitted via SF tracker Bugs * RVM-118 - Javadoc errors not being reported in sanity reports * RVM-294 - JikesRVM fails to build using a Classpath VM * RVM-306 - IGNORE_REMSETS is not tested, may not be functional * RVM-407 - Is VM.disableGC() deprecated? * RVM-618 - DaCapo chart fails with Apache Harmony class library * RVM-620 - DaCapo jython fails with Apache Harmony class library * RVM-626 - Objects in SortTODObjectReferenceStack popped from data structure in wrong order, causing Merlin traces to be incorrect * RVM-629 - Incorrect usage of @Untraced? * RVM-642 - Problem with CMID/stackframe mapping in reflection * RVM-663 - Using object barrier casues sssertion failures in ObjectReferenceDeque.insert & other crashes * RVM-665 - Investigate sigstack/sigaltstack story * RVM-670 - Bad reference maps in JBB '05 * RVM-675 - Chunk linked list broken on discontiguous space * RVM-691 - Assertion failure in org/jikesrvm/osr/ia32/OptExecutionStateExtractor * RVM-692 - Classpath Thread operations not supported because VMThreadMXBeanImpl is not implemented * RVM-721 - Improve extreme assertion sanity checking in regressions * RVM-730 - enabling live_range_splitting causes NullPointerException or NoSuchElementException for various benchmarks * RVM-731 - Bad reference in baseline IMT.IMTDict.populateIMT * RVM-734 - Deadlocks when using -X:aos:initial_compiler=opt * RVM-747 - Crash during GC while attempting to resize thread stack * RVM-776 - Multi-image build process causes problems with AIX linker (librvm.a not found) * RVM-781 - GNU Classpath 0.98 causes performance regression in luindex * RVM-797 - PreciseType is set when creating thread temporary registers in the opt compiler * RVM-809 - Image bloat * RVM-812 - Increase in failures in small heap perf runs since switch to GenImmix as production * RVM-813 - Incomplete dependencies on .dat files when determining whether or not to regenerate sources * RVM-816 - MMTK: LOG_BYTES_IN_PAGE is a hard coded compile time constant; should make sysCall to determine real value * RVM-820 - First iteration of lusearch slowed down between r15685 and r15688 (biased locking) * RVM-823 - Fix heap growth manager's reporting of heap size * RVM-824 - integer division doesn't follow VM spec * RVM-830 - Suspect code in ReflectionBase.invoke * RVM-849 - OOM in opt compiler compiling java.lang.Integer.toString in Harmony M10 * RVM-853 - Protocol handlers do not work with Jikes RVM * RVM-855 - Error in XMLParser while loading Document Type Definition (.dtd) file * RVM-857 - Incorrect optimisation after call to native method * RVM-858 - GCTrace build failure * RVM-865 - Run svn with LANG=C in extract-svn-version * RVM-867 - Incomplete comment for alignAllocation in Allocator.java * RVM-868 - Method resolution code unable to resolve methods in some cases * RVM-870 - Deadlock in RVMThread code * RVM-871 - java.lang.reflect.VMMethod.getSignature() cause NullPointerException * RVM-872 - lusearch hangs with the production build * RVM-873 - "NullPointerException within uninterruptible region" when executing RVM in x86_64 debian * RVM-874 - Intermittent Object.notify() failure in Xalan with Base compiler * RVM-875 - Intermittent ClassFormatError whilst running Xalan * RVM-876 - Unnecessary CAS with multiple collector threads attempting to forward * RVM-878 - GNU Classpath does not properly respect headless mode * RVM-882 - user report of codegen problem with loops |
From: Richard J. <R.E...@ke...> - 2010-03-28 17:26:22
|
Student applications for the Google Summer of Code open on March 29 at 19:00 UTC. The closing date is April 9 at 19:00 UTC. JikesRVM has a number of exciting project suggestions at http://jikesrvm.org/Project+Proposals+2010. Students can find our application template at http://jikesrvm.org/Google+Summer+of+Code+2010+template. The GSoC allows students to work closely with a mentor on a project of interest to Jikes RVM between 24 May and 20 August. Google will pay a stipend of $5000 to each accepted student developer. In the past, good things have come out of the GSoC and students have enjoyed the programme. You can find more details of the programme at http://socghop.appspot.com/gsoc/program/home/google/gsoc2010. The complete timeline for the programme is at http://socghop.appspot.com/document/show/gsoc_program/google/gsoc2010/timeline. Please circulate this announcement to any student you think might be interested in making a contribution to Jikes RVM. Richard |
From: Michael H. <hi...@us...> - 2009-08-17 02:14:24
|
Dear Jikes RVM Researchers, We are writing to introduce two new members to the Jikes RVM Steering Committee, announce some changes to the project organization, and highlight our performance results, which are now competitive with the products on the DaCapo Benchmarks. Steering Committee ~~~~~~~~~~~~~~~~ We have invited Richard Jones (U. Kent) and Kathryn McKinley (U. Texas) to join us on the Steering Committee. Both Kathryn and Richard have accepted our invitation. Kathryn and Richard been involved with the project since its inception. They both have a long track record of engagement with the project; directly and through the activities of their respective research groups. Their addition to the committee reflects our view that our stakeholders are researchers and that our mission is enabling research. Project Organization ~~~~~~~~~~~~~~~~ We have also made a minor change to the project structure, replacing the term "Core Team" with "Jikes RVM Team". We also extend team membership to anyone who has demonstrated a substantial commitment to the project through concrete contributions. Such contributions are not limited to code, but may include substantive contributions to the health of the project in any form. These changes are intended to emphasize the importance of researchers as the primary stakeholders in this project, and to make it explicit that the importance of a member's input is not measured in terms of the quantity or quality of changes to the code base. We will also now encourage team members to follow a "12 month rule", whereby they are asked to reassess their team membership after a period of 12 months of inactivity Performance ~~~~~~~~~~ Due to the efforts of the Jikes RVM Team in adding features (such as native threads, Immix GC, and biased locking), and tuning the adaptive system, we have recently achieved really excellent performance results. While Jikes RVM still lags behind the products on the SPEC benchmarks (the products are highly tuned for SPEC), Jikes RVM attains within 5% of their performance on the DaCapo Benchmarks. Results are available here: http://jikesrvm.anu.edu.au/performance/2009-07/ These performance gains make Jikes RVM an even more appealing research platform and offer more evidence that Java can be an effective system implementation language. :-) We hope that these changes will bring new life to the project and re-affirm the project's original objectives of supporting the research community. Kathryn, Richard and the rest of the Jikes RVM Steering Committee welcome comments, suggestions and feedback from our community. David Grove Steve Blackburn Mike Hind |
From: David P G. <gr...@us...> - 2009-06-10 15:22:19
|
Jikes RVM version 3.1.0 has been released and is available for download at http://downloads.sourceforge.net/jikesrvm/jikesrvm-3.1.0.tar.bz2 It's been almost nine months since the release of Jikes RVM 3.0.1, and quite a bit has changed in Jikes RVM. We'd like to call out several items that may be of particular interest to the community. 1. Jikes RVM has switched to using native threading instead of m-to-n (aka green) threading. 2. The default mature space collector has changed from Mark-Sweep to Immix. 3. Jikes RVM is now licensed under the Eclipse Public License (EPL). 4. The 3.1 release significantly improves over the performance of 3.0.1, with speedups of 10% and 21% on average for DaCapo and SPEC benchmarks respectively on an Intel C2Q. Highlights include a 29% improvement in jbb and a 32% improvement in jython. Details are given below, or are browsable online in our JIRA instance at http://jira.codehaus.org/browse/RVM/fixforversion/14620. New Feature * RVM-641 - Make Immix the default mature space collector * RVM-682 - Assertion checking in sysMalloc * RVM-802 - Debugging hooks in MMTk * RVM-806 - Heavyweight sanity checker for MMTk Harness * RVM-807 - Simple type system for MMTk Harness scripting language Bug * RVM-460 - Not accounting for nursery promotion AND defrag in GenImmix * RVM-498 - ppc-linux32 dying on SPEC jbb 2005 with 4 threads * RVM-613 - asking if a method has a hasBaselineSaveLSRegistersAnnotation triggers classloading (and thus GC) when GC is disabled during OSR * RVM-625 - FullAdaptiveImmix and FullAdaptiveStickyImmix broken on ppc32-linux * RVM-638 - Crash in Poisoned configs on PPC (aix/linux, 32/64) apparently relating to clone * RVM-662 - Error growing discontiguous space * RVM-664 - Occasional digest validation errors on lusearch performance runs * RVM-683 - Fix race in AOS controller/organizer synchronication during startup * RVM-690 - Class loader and reflection problems for unboxed types * RVM-696 - Don't recomend copying project contents with eclipse-project * RVM-698 - Don't clear most significant bits for <32bit return types on Intel breaks Ubuntu 8.10 * RVM-700 - Not running class initializer for InetAddress causing ServerSocket failures * RVM-701 - Edge Counter and Dynamic Call Graph output after run fails * RVM-703 - Throwable.getStackTrace() implementation is incorrect * RVM-704 - Regressions from 2.9.1 not allowing jetty web server to run * RVM-708 - Bad reference map created by IA32 baseline compiler * RVM-712 - Uninterruptible code should not be allowed to call UnpremptibleNoWarn methods * RVM-722 - Bug in Static Spliting induces unconditional OSR invalidations when running _228_jack in measure compilation mode * RVM-729 - enabling simple_escape_ipa causes a ClassCastException * RVM-732 - Exception in thread "MainThread" java.security.AccessControlException: permission (java.lang.RuntimePermission exitVM) not granted: no protection domains * RVM-733 - rvm crash when closing a file in ExitMonitor.notifyExit(int value) * RVM-738 - Fix debugging output when extracting long variable values for OSR * RVM-743 - compress-3GC fails with OOME * RVM-744 - Terminal not in grammar: read_ceiling (BURS) * RVM-748 - Bug in type checking when > 32767 types * RVM-756 - Intel unnecessarily restricts boot image to be at addresses > 0x30000000 * RVM-774 - Incorrect implementation of static initializers in the case of initializers that throw exceptions * RVM-795 - Baseline GC Maps with JSRs fails to set reference flag for aload operations * RVM-800 - In TemplateCompilerFramework.genCode, case JBC_anewarray, I don't believe that the array resolution and instantiation path is ever taken * RVM-808 - OutOfMemoryError when allocating a 200 MB tab * RVM-811 - Immix: "Chunk map overflow" on jbb2005 ppc64-linux * RVM-814 - Wrong exception from Java reflection * RVM-828 - Do not search superclasses for a method unless no method is found. Improvement * RVM-91 - Modularize threading system (native thread support) * RVM-283 - Increase frequency of timer-based method sampling * RVM-362 - Sort accumulating operands on to LHS of commutative operations * RVM-462 - Immix code still contains huge number of experimental variables * RVM-532 - Harmony's OSMemory implementation uses JNI * RVM-612 - Assertion checking on stack height in baseline compiler * RVM-689 - Update MMTk tutorial * RVM-709 - Document meaning of constants in build reference maps * RVM-725 - Increase command line options for tuning opt compiler behaviour * RVM-736 - Disable ImmutableEntryHashSetRVM.remove() * RVM-737 - Support local variable table for methods * RVM-739 - Made org.jikesrvm.compilers.opt.util.Pair generic and moved it to package org.jikesrvm.util * RVM-740 - Support for floating point conditional moves on Intel with SSE * RVM-741 - Support for negation and abs() using SSE2 bit masks * RVM-775 - Cleanup up code that obtains targets of pseudo_invokestatic instruction * RVM-791 - Clean up and modularize locking * RVM-801 - Minor change: Reorganize ClassFileReader by moving code for reading in the constant pool into a separate function * RVM-803 - Use for-each loop in RVMClass wherever possible Tasks and Sub-tasks * RVM-817 - Change Jikes RVM license from Common Public License to Eclipse Public License * RVM-685 - Implement x86 64 JNI Compiler * RVM-751 - Implement PowerPC syscalls * RVM-759 - Stack maps seem to be broken * RVM-779 - Update userguide to decribe native threads * RVM-783 - Fix baseline Intel 64bit reference maps * RVM-786 - Adjust sampling mechanism in AOS to account for native threads * RVM-787 - Outline exception raising code in gnu.java.lang.CPStringBuilder to enable better inlining * RVM-29 - Track website traffic via sourceforge logo requests |
From: David P G. <gr...@us...> - 2008-10-16 17:24:03
|
Jikes RVM version 3.0.1 has been released and is available for download at http://downloads.sourceforge.net/jikesrvm/jikesrvm-3.0.1.tar.bz2 The detailed release notes for major changes since 3.0.0 can be found below or in JIRA (http://jira.codehaus.org/browse/RVM/fixforversion/14378). ** New Feature * [RVM-507] - Initial prototype of TuningFork trace generation in Jikes RVM * [RVM-515] - Make boot image writer traversal of object graph configurable * [RVM-517] - Reflection optimization * [RVM-528] - Support for eclipse-project with Harmony class libraries * [RVM-634] - Add RuntimePure annotation to indicate when a Pure annotation should only be respected at runtime * [RVM-673] - Implement Inline.When.AssertionsDisabled pragma ** Improvement * [RVM-291] - Immortal objects with address based hashing should set their hashed bit during boot image writing * [RVM-443] - Avoid back references in java.lang.reflect VMXXX classes * [RVM-476] - Make lock allocation thread-model-agnostic. * [RVM-627] - Use java.nio for writing boot image * [RVM-632] - Space improvements of RVMClass.objectCache * [RVM-633] - Avoid the use of Reflection to invoke Object.finalize() * [RVM-644] - Reduce copying of char[] in java.lang.reflect.Proxy * [RVM-650] - Ask users to submit bug reports on Jikes RVM crashes ** Bug * [RVM-172] - Failing DaCapo benchmarks on PPC 32 OS X * [RVM-288] - Assertion failure in inline oracle * [RVM-318] - java.util.Scanner is unimplemented * [RVM-346] - SPECjvm98: Invalid runs should not be SUCCESSes * [RVM-410] - Problem with changes to stack walk * [RVM-440] - Poisoned tests failing in finalizer thread * [RVM-471] - Stack frame alignment broken for Intel on OS/X * [RVM-605] - Possible fix for FreeListPageResource.releasePages() * [RVM-606] - Problems with OSR guarded inlining of invokeinterface * [RVM-614] - BaseBasePoisoned build segfaults during VM bootup on pcc64-linux * [RVM-617] - DaCapo bloat fails with Apache Harmony class library * [RVM-619] - DaCapo eclipse fails with Apache Harmony class library * [RVM-621] - DaCapo xalan fails with Apache Harmony class library * [RVM-623] - Intel 16bit operations with immediate operands in some cases generate 32bit immediate operands rather than 16bit * [RVM-631] - Bug in new Finalization code * [RVM-636] - Crash in reflection during JSR-166 TCK * [RVM-643] - Invalid InstructionFormat usage in Simplifier, but real bug is that IR is semantically malformed * [RVM-645] - Bug in LiveAnalysis related to modeling of dataflow through Exception edges in the FCFG * [RVM-646] - Immix defrag broken * [RVM-652] - build failure on IA32 OS X 10.5 (Leopard) ** Tasks and Sub-task * [RVM-651] - Add support to Intel assembler for REX prefix byte * [RVM-667] - Modify the implementation of table switch * [RVM-669] - Build/boot image runner support for x86 64 * [RVM-671] - Fix spill location size estimates |
From: David P G. <gr...@us...> - 2008-08-07 14:43:58
|
We're very happy to announce the release of Jikes RVM version 3.0.0. The road towards 3.0 began just about two years ago and a large number of people, both on the core team and from our user community at large, have contributed to making it a success. Thank You! The release is available for download at http://downloads.sourceforge.net/jikesrvm/jikesrvm-3.0.0.tar.bz2 The detailed release notes for major changes since 2.9.3 can be found below or in JIRA (http://jira.codehaus.org/browse/RVM/fixforversion/13530), but we'd like to highlight some of the larger themes that went into the 3.0 release (many of which have already been released in the 2.9.x releases we've made along the way). ** Normalization of source code and build process *** Complete rewrite of the build/test systems to use ant. *** Jikes RVM can be developed in Eclipse using the JDT *** Extensive restructuring of package structure *** Removal of VM_ and OPT_ prefixes from all source files. ** Increased system stability and performance *** A new continuous testing system (http://jikesrvm.anu.edu.au/cattrack) *** Concerted stability and performance drives ** Java 5 support *** Support for Java 5 language features *** Use of Java 5 language features throughout the code base. Detailed list (89 issues closed in the 3 months since 2.9.3) ** New Feature * [RVM-358] - Initial support for Apache Harmony class library * [RVM-480] - Spec JVM 2008 regression test * [RVM-534] - MMTk Test harness * [RVM-540] - Implement java.lang.Compiler * [RVM-591] - Support for jdocs.com javadoc * [RVM-592] - Checks on creating ObjectReferences ** Improvement] * [RVM-72] - NonMoving annotations for classes instances of which should be allocated to the immortal heap * [RVM-273] - Remove VM_ prefix from all VM classes * [RVM-275] - Remove VMOpt prefix from opt compiler classes that go into bootimage * [RVM-282] - Make dumpVirtualMachine more defensive * [RVM-329] - Specialize IA32 assembler for lister vs. non-lister * [RVM-333] - Annotations used for VM Pragmas (NoInline, Uninterruptible, etc) probably should not be as closed linked to classloaders * [RVM-445] - Clean up handling of JTOC * [RVM-449] - Handle instanceof and checkcast in ShortArray scalar replacer * [RVM-477] - Gather new compiler DNA * [RVM-501] - BuildWithAllClasses is (practically) unused * [RVM-502] - Dead code elimination of pure calls) * [RVM-505] - Eliminate calls to VM_Class.getClass..FromStackFrame when stack frame is determinable * [RVM-508] - Have hash map where entries are completely immutable saving references from boot image root set * [RVM-510] - Create top level common directory to make it easier to split out and share useful components from rvm and MMTk * [RVM-511] - Split out MMTk option processing support * [RVM-512] - Experiment with freezing bucket array in VM_HashMap/VM_HashSet * [RVM-513] - Large arrays in boot image cause memory leak * [RVM-525] - Upgrade to GNU classpath 0.97.2 * [RVM-537] - Implement inline mustImplementInterface sequence for invokeinterface in baseline compilers * [RVM-538] - Inline checkcast/instanceof sequences in baseline compiler for simple cases * [RVM-572] - Remove OSR_ and BC_ prefixes from OnStackReplacement code * [RVM-593] - Extra checks on references being traced in rvm * [RVM-603] - Improve intel baseline prologue/epilogue/call by use push/pop instead of mov [sp] * [RVM-594] - Naming of MM_Interface ** Bug * [RVM-46] - CaffieneMark failures on AIX/PPC * [RVM-47] - DaCapo regressions on AIX/PPC * [RVM-58] - Linker errors under AIX/ppc * [RVM-105] - sysNetSelect doesnt seem to be avoiding the syswrap select * [RVM-187] - VM_OptGenericMapIterator: findGCMapIndex failed * [RVM-221] - Specialized scanning broken on ppc64-aix? * [RVM-234] - Annotation issues: not implemented via proxy classes, support for serialization * [RVM-269] - unresolved invokeinterface on <null> should force classloading before rasiing NPE * [RVM-271] - Timeouts for stress are not correct> * [RVM-303] - Cannot modify accessible final instance fields * [RVM-325] - Spec JVM 98 jack failing with OOMs * [RVM-327] - Performance degredation in IA32 assembler * [RVM-332] - Eclipse 3.2 fails to run on the RVM * [RVM-369] - PPC32-OSX - Crash in GC when a stack contains native frames * [RVM-372] - Integer overflow in sysNanoTime * [RVM-423] - Fop performance strangeness * [RVM-442] - All poisoned tests fail PPC 32 * [RVM-454] - The sub-test TestAnnotationInheritance of the basic tests is excluded until it can be fixed * [RVM-458] - Poisoned bit test highlights JNI problem * [RVM-469] - Fix IA32 assembler to use Address instead of Offset for absolute addressing * [RVM-482] - Crash when running Production_Opt0_perf portion of compiler-dna test run * [RVM-483] - Conditionalize fsqrt generation on PowerPC * [RVM-492] - Dumping empty stack kills VM * [RVM-493] - VM_Annotation.readValue doesn't use the correct classloader * [RVM-494] - Conversion between type descriptors, class names, and file names in VM_Atom behaves inconsistently * [RVM-495] - Crash during first major GC on PPC64 tests when running with -X:processors=2 * [RVM-497] - New scan boot image assertion failing poisoned tests * [RVM-499] - Overflowing JTOC during DaCapo eclipse run on PPC64 AIX * [RVM-500] - No such field error: TreeMap$SubMap.minKey * [RVM-504] - Increase time out on DaCapo eclipse for rvmppclnx64 * [RVM-506] - The field last in VM_HashMap and VM_HashSet is only ever set to null * [RVM-514] - Pure on mathMagic breaks dacapo sunflow * [RVM-521] - Freshly checked out r14346 fails to build with an uninterruptible violation * [RVM-526] - GNU Classpath build: paths too long in check_jni.sh * [RVM-527] - Harmony doesn't build 32bit libraries as necessary for x86_64 build * [RVM-529] - Implement reflection API for Harmony * [RVM-531] - Boot image stack size too small * [RVM-541] - gc stress failures * [RVM-542] - Incorrect encoding of inner class native method names * [RVM-543] - Invoking JNI_OnLoad of unrelated libraries when loading a library with no JNI_OnLoad * [RVM-544] - Class argument in NewObject ignored * [RVM-547] - Building the boot image with the opt compiler and Harmony fails * [RVM-550] - Implementation of isZero magic in PPC baseline compiler can overflow expression stack and corrupt stack frame * [RVM-571] - BigDecimal Pure annotations causes crash on SPECjbb2005 for FullAdaptiveMarkSweep * [RVM-582] - Fix all javadoc "syntax" errors * [RVM-583] - Incorrect rounding on simplified integer divide * [RVM-585] - RVM Identity HashMap doesn't use identity hashCode.. only identity.equals * [RVM-587] - IdentityHashMaps in the bootimage * [RVM-588] - Assertion failure in BC2IR for primitive array load. * [RVM-597] - Array index out of bounds in BC2IR generation context * [RVM-598] - Increase use of unpreemptible * [RVM-599] - New poisoned test failures on x86 * [RVM-608] - Object replacement ignores finalizer methods ** Task and Sub-Task * [RVM-37] - Doccument the command line options * [RVM-42] - Build/Test infrastructiure to compute compiler DNA * [RVM-490] - Null Pointer Exception in gnu.xml.transform.ParameterNode.clone * [RVM-518] - Change build logic so that the VM prefix on a class name does not control inclusion in the bootimage * [RVM-519] - Rename classes currently with VM_ prefix that will be confusing without it * [RVM-520] - Update userguide to remove VM_ (and OPT_) prefix globally. |
From: David P G. <gr...@us...> - 2008-05-11 01:09:14
|
We're very proud to announce that Jikes RVM version 2.9.3 is now available for download! It's been a little bit longer than usual since the last release and there's been quite a bit of activity on the project and improvements to the system. The appended release notes capture many of the highlights; for more details see the hyperlinked version in JIRA ( http://jira.codehaus.org/browse/RVM/fixforversion/13726). The release is available at http://downloads.sourceforge.net/jikesrvm/jikesrvm-2.9.3.tar.bz2.. ** Bug * [RVM-196] - VM_Processor not assignable with VM_GreenScheduler * [RVM-314] - Support for Java 1.4 assertions * [RVM-315] - java.lang.Method.invoke changes the parameters * [RVM-316] - A Null pointer for the UTF8CHARSET in java.util.zip.ZipFile$PartialInputStream * [RVM-326] - Failing basic tests don't signal failure * [RVM-330] - Thread.sleep() does not handle interrupts correctly * [RVM-339] - Image bloat (code +25% & data +5%) * [RVM-340] - Annotations don't handle arrays of primitive types correctly * [RVM-342] - NPE with advice files * [RVM-347] - PPC 64 regressions and Intel stress regressions since the introduction of read barriers * [RVM-351] - Javac regression * [RVM-352] - Running many iterations of _200_check fails floating point remainder test * [RVM-353] - Production Opt 0 builds broken * [RVM-355] - Complete SPEC JVM with 20 iterations dies in GC * [RVM-357] - Fatal error when synchronising on null objects * [RVM-365] - PPC (AIX) Stack Scanning Appears Broken * [RVM-368] - Compiler confusion over equal but non-identical objects * [RVM-374] - Static field allocation is non-deterministic * [RVM-380] - We create a lot (15909) optimization plan atomic elements using 572724bytes in the boot image * [RVM-383] - Branch likely and unlikely prefixes show up as LOCK prefixes in x86 disassembler output * [RVM-394] - Tune inlining of arraycopy * [RVM-412] - Latent branch optimization bug when maximizing blocks * [RVM-424] - Multianewarray confusion in opt compiler * [RVM-439] - OSR triggering code misuses suspend/resume * [RVM-447] - Inline size estimation reduction factor calculation over rates precise information causing bloat and slow down * [RVM-452] - Off-by-one error in "VMField.checkReadAccess" and "VM.checkWriteAccess" * [RVM-456] - Clean build broken * [RVM-464] - Opt compiler ldc_w for class literal broken * [RVM-466] - Four tests in test run "tiny" fail when compiled with -X:aos:initial_compiler=opt -X:aos:enable_recompilation=false * [RVM-467] - BURS performing illegal reordering to before PEI * [RVM-468] - Instanceof test differs in opt compiler from baseline for instanceof/checkcast of magic[][] * [RVM-478] - Redesign AIX native method Linkage conventions to protect CMID field from being smashed by native code saved CR ** Improvement * [RVM-81] - Annotations in java.lang classes * [RVM-195] - Enable inlining of @Pure methods * [RVM-274] - Remove OPT_ prefix from all opt compiler classes * [RVM-276] - opt compiler package structure * [RVM-304] - Improve performance of chacter encoder when encoding to and from arrays * [RVM-305] - Add final annotations to java.io.OutputStreamWriter * [RVM-308] - Greater use of StringBuilder rather than StringBuffer * [RVM-309] - Greater use of "<Number>.valueOf" rather than "new <Number>" * [RVM-310] - Class library fields that could be final aren't final * [RVM-311] - String toUpperCase and toLowerCase perform a String.equals to see if the Locale is Turkey per invocation * [RVM-322] - Intel assembler register naming improvement required * [RVM-331] - Implement support for MMX registers * [RVM-343] - Support for hardware SQRT instruction * [RVM-344] - Simplifier rule for square root operator * [RVM-378] - Avoid replicating field and method vectors * [RVM-379] - Don't replicate OSR_EncodedOSRMaps * [RVM-381] - Upgrade to Classpath 0.97 * [RVM-385] - Refactor reflection to use VM interface * [RVM-387] - Baseline compiler emits RegDisp instructions when the Disp is 0 * [RVM-390] - VM_Statics/JTOC space saving has cost us single iteration fop performance * [RVM-391] - Assign CPU # to each VM_Processor to have more predictable performance results. * [RVM-392] - Improvements to ZipEntry * [RVM-395] - Local common sub-expression elimination of Pure method calls * [RVM-408] - Simple elimination of stack traces * [RVM-417] - Switch performance runs to using a profiled image * [RVM-421] - Pre-allocate 1 set of exception registers for athrow * [RVM-422] - Update to latest Classpath j.u.c.CopyOnWriteArrayList * [RVM-431] - Fix processor JNI entry/collector rendezvous race * [RVM-433] - Increase final fields in java.nio * [RVM-435] - Don't allocate memory when converting C buffers to Strings or Classes * [RVM-437] - Integer.toString doesn't keep cache of common values * [RVM-451] - Structure of code in GNU Classpath java.util.Vector and java.util.Arraylist interacts poorly with inlining ** New Feature * [RVM-210] - Add Image sizes tracking to Regression report and mailout * [RVM-319] - Create X10 test harness * [RVM-406] - Add Immix garbage collector * [RVM-441] - Sticky mark bits collector * [RVM-457] - Immix Garbage Collectors * [RVM-266] - Provide preliminary support for a non-copying unsynchronised StringBuffer implementation ** Task and Sub-task * [RVM-425] - Implement 2d array helper for PPC baseline * [RVM-224] - Push OSR-specific fields in VM_NormalMethod to subclass/side data structure * [RVM-450] - Prevent compilation at max opt level before some dynamic call graph information has been gathered * [RVM-453] - Testing framework missing failures in basic tests that use diff for sanity. |
From: David P G. <gr...@us...> - 2007-10-21 01:03:33
|
We're very proud to announce that Jikes RVM version 2.9.2 is now available for download. As you can see from the appended release notes, there's been quite a bit of activity on the project since 2.9.1! The release is available at http://downloads.sourceforge.net/jikesrvm/jikesrvm-2.9.2.tar.bz2. New Features * [RVM-121] - Separate code space for dynamically generated code * [RVM-231] - Alignment checking (for IA32 and debugging purposes only) Improvements * [RVM-16] - Constant folding values from TIBs produces failures * [RVM-27] - float/double to int/long conversions are overly expensive * [RVM-51] - Switch from pthread hijacking back to portable native sync for gtk AWT threading * [RVM-54] - Switch to Claspath's java.lang.Thread * [RVM-64] - Flexible thread model * [RVM-82] - Exceptions in Uninterruptible code should result in immediate fatal errors * [RVM-94] - Enable SSE C/C++ compiler flags * [RVM-164] - Use clock_gettime to implement sysNanoTime * [RVM-179] - Move java/lang/String out of libraryInterface and into a patch against Classpath * [RVM-185] - Reduce cost of ThreadLocal(s) to improve Jython performance * [RVM-189] - Use will never move information from MM_Interface when generating constant operands * [RVM-191] - Improve inline size estimator in VM_NormalMethod to account for getstatic of final primitive fields being folded by opt compiler * [RVM-218] - Use VM_Magic.pause in spinwait loops * [RVM-285] - Switch AOS call graph profiling to use CBS framework from Arnold & Grove 2005 Bug Fixes * [RVM-55] - A thread that is interrupted prior to being scheduled won't interrupt * [RVM-62] - Interrupted exceptions are generated in the caller of Thread.interrupt instead of by the thread throwing the interrupted exception * [RVM-63] - Unsafe.park time values are incorrectly scaled * [RVM-87] - NPE in ScanThread.setUpFrame:360 * [RVM-99] - MeasureCompilation reporting broken in production/development builds on ia32-linux * [RVM-104] - eclipse occasionally fails with segmentation fault * [RVM-109] - Restore documentation to org.vmmagic.pragma.* * [RVM-112] - Verification error when building Jikes RVM 2.9.1 using HotSpot as host JVM. * [RVM-113] - MarkCompactLocal.compact():80 assertion failure * [RVM-114] - Ensure time is positive in test results * [RVM-125] - Waiting on a lock that should raise illegal monitor state exception will actual fail on an assert * [RVM-129] - GCTrace fails with "Cannot understand directive!" * [RVM-131] - Collection.joinCollection() called when thread switching disabled * [RVM-133] - Increase the amount of memory used during nightly tests * [RVM-140] - Conflicting virtual address request for space "trace" on ppc32-linux * [RVM-141] - SharedDeque assertion failure during exit for GCTrace * [RVM-143] - VM_BuildBB.determineTheBasicBlock may not be correct for goto_w operation * [RVM-144] - JikesRVM can't load certain classes e.g. GNU Classpath examples or its own Ant tasks * [RVM-150] - Unexpectedly large processor lock contention * [RVM-154] - A shutdown hook can hang RVM * [RVM-155] - SynchronizationBarrier.removeProcessor assertion failure * [RVM-159] - OSR-guarded inlining should not be allowed in uninterruptible code * [RVM-181] - ClassCastException in OPT_Simplifier when running antlr DaCapo * [RVM-183] - Thread sitting on >1 queue * [RVM-194] - Assertion failure in OSR State Extractor running chart * [RVM-198] - NPE when unlocking lock * [RVM-201] - Classpath AWT is broken * [RVM-203] - terminal not in grammar: new * [RVM-204] - Reduce wasted code space on inline allocation path * [RVM-206] - Stack walking in MMTk not correctly identifying not yet obsolete methods? * [RVM-209] - Bootimage bloat broke ppc64-aix images * [RVM-213] - jbb2005 performance regression * [RVM-216] - MMTk assertion failure during jbb large heap performance runs * [RVM-219] - Address.attempt*() compiles incorrectly on IA32 with Jikes 2.9.1 * [RVM-220] - jbb2005 GC performance mode: Warning: number of GC phases exceeds MAX_PHASES * [RVM-242] - Build break: BaseBaseGCTrace * [RVM-245] - Change to deques appears to have significantly reduced hsqldb performance * [RVM-270] - NPEs from barrier code not working * [RVM-277] - lusearch fails on PPC32 due to validation error * [RVM-279] - Performance regression * [RVM-293] - Class loaders do not isolate packages with the same name * [RVM-297] - Classpath 0.96 configure problems with JDK 1.6 * [RVM-298] - DaCapo chart broken on classpath 0.96 * [RVM-299] - possible performance regression on xalan on classpath 0.96 * [RVM-301] - JSR 166 failures Tasks and Sub-tasks * [RVM-38] - VM_BaselineBootImageCompiler should use System.nanoTime rather than DNA for compilation time * [RVM-286] - _201_compress took a 10% hit when we switched to Arnold/Grove call graph profiling; investigate * [RVM-217] - Recode spin loop in org.mmtk.utility.deque.Deque spinWait to reduce frequency of nanoTime calls * [RVM-230] - Determine whether patching Classpath sources is preferable to bytecode engineering adding annotations |
From: David P G. <gr...@us...> - 2007-07-03 19:36:16
|
We're very proud to announce that Jikes RVM version 2.9.1 is now available for download. There's been quite a bit of activity on the project since 2.9.0, and all kinds of good reasons to move up to this new version of Jikes RVM! The release is available at http://downloads.sourceforge.net/jikesrvm/jikesrvm-2.9.1.tar.bz2. The release notes are appended below: *Jikes RVM 2.9.1 Release Notes (July 2, 2007) ** Highlights *** A major stability drive has resulted in Jikes RVM being able to reliably run the entire DaCapo benchmark suite on ia32-linux. The following issues were resolved to make this possible: multiple benchmarks: r12809: Missed lock prefix (stack scanning failures). r12737: GC map iterator crashed on dynamic link frames. eclipse: r12302: Classpath RandomAccessFile incorrectly truncated. r12394: PLOS exhaustion bug in MMTk. r12375: ThinLock of interface from OPT code. r12815: Bad GC map in JNI methods. r12722: Fix for GC map bugs around expection throws. lusearch: r12602: Floating point precision (SSE2). r12633: Parallel hardware traps. hsqldb: r12683: Invalid assertion in VM_Thread. xalan: r12742: Missing static initializer broke jar caching (halves runtime). r12753: FileOutputStream wastefully copying arrays (halves runtime). *** New eclipse-project ant target to make it easy to get up and running in eclipse. *** As part of the stability drive, many O2 optimizations in the optimizing compiler have been moved to O3 (and thus are not enabled by default). The performance impact of this has been mixed. For example, on ia32-linux SPECjvm98 performance actually improved by 29% due to massive improvements in mtrt and mpegaudio enabled by SSE2. Performance on SPECjbb2005 degraded by 3-10%. There were significant gains on some individual DaCapo benchmarks (most notably xalan). Re-building an aggressive O2 optimization package by stabilizing current O3 optimizations and by building new optimization passes will be one of the focus areas for the project going forward. *** The recommended version of GNU classpath is 0.95. Earlier versions of GNU classpath are not supported. *** SSA expression folding has been expanded to cover far more cases than previously. This leads to a > 1% speedup on benchmarks such as SpecJBB'05. *** Source code analysis of the code base has been enabled using PMD (http://pmd.sourceforge.net/). Basic analysis is enabled by default and this will expand over time. *** Methods in VM_Type that duplicated functionality in VM_TypeReference now delegate to associated VM_TypeReference. *** The ability to force a garbage collection after N allocations or at every exception delivery has been revived and is controlled by the configuration variable config.stress-gc-interval which should be set to non-zero value to enable. *** Simplistic debug symbols to show boot image method entry points in gdb. Resolved issues with rvm script so this works with rvm -gdb now. *** New faster primary regression machine (Core 2 Duo) for ia32-linux at ANU. Resolved performance issues with previous regression machine. *** Introduced the capability to patch against classpath versions. This allows us to keep backported performance optimizations and/or bug fixes *** Implementation of returning global JNI references from C to Java. *** VM_ prefix added to classes that must be included in the primordial class list. Classes affected include; PrintLN, PrintContainer, ApplicationClassLoader, DebuggerThread, FinalizerThread, MainThread, PPC_Disassembler, opcode_tab and opcodeXX. *** Classes in the adaptive package have been reorganized into packages to match the directory layout in 2.4.6 release. *** Classes that resided in the objectmodel directory in 2.4.6 have been moved in to the "org.jikesrvm.objectmodel" package. *** Classes that resided in the scheduler directory in 2.4.6 have been moved in to the "org.jikesrvm.scheduler" package. *** Classes that resided in the runtime directory in 2.4.6 have been moved in to the "org.jikesrvm.runtime" package. ** Bug fixes *** Baseline GC map bug for handler blocks affecting SPECjbb2000 (r12685). *** Classpath race in cloning of XML Node affecting SPECjbb2005 (r12395). *** Fix final field chasing in OPT_Simplifier and re-enable constant folding for fields. *** A GC map generation problem caused by casting Address to Objects and has been eliminated. |
From: David P G. <gr...@us...> - 2007-03-15 18:35:35
|
We're very happy to announce a new release of Jikes RVM: version 2.9.0. Quite a bit has changed since 2.4.6 and we'd welcome feedback on the changes as we head towards a 3.0 release later this year. Thanks again to everyone who has pitched in to make this one of the most exciting Jikes RVM releases since our initial open source release in 2001! The release is available at http://downloads.sourceforge.net/jikesrvm/jikesrvm-2.9.0.tar.bz2. The release notes are appended below: *Jikes RVM 2.9.0 Release Notes (March 15, 2007) ** Highlights *** The five months since the release of 2.4.6 have been one of the most active periods in the open source history of the project. A number of significant changes have been made to clean up and modernize the code base to enable future evolution. *** We have made large scale changes to the structure of the source code to prepare for development of Jikes RVM from within standard Java IDEs. *** There is a new, ant-based, build and test system that have replaced jconfigure and RunSanityTests. *** We now use ecj (the Eclipse Java compiler) instead of jikes to compile our Java source files and have eliminated the preprocessor. *** The userguide has been moved from latex into a wiki. It has been updated to describe the new build and test systems. The release tarball contains a pdf and html version of the userguide. *** We now support Java5, we have switched to using the generics branch of GNU Classpath, and much of Jikes RVM has been rewritten to use Java 5 language features and generic types. *** We have switched to using Java5 annotations for pragmas/magic. *** The recommended version of GNU classpath is 0.93-generics. Earlier versions of GNU classpath are not supported. *** Support in the PPC baseline compiler for storing local variables in registers. *** Refactor of type system and JTOC. *** Support for packing subword sized fields in objects. Removal of hand packed fields. Various memory savings. *** System calls now supported in any file using SysCall annotation on a native method. VM_SysCall now generates implementation from annotation. VMMath now implemented using system calls. *** Support for chasing final fields reached from literal or static final fields. Greater optimization of object constant operands. *** Greater support for 387 constants. Simplification of 387 BURS rules. ** Bug fixes *** Yes...many :) For details: svn log -r10915:11866 ** Other Notes *** The Quick compiler has been deleted. It is now available as a patch on the research tracker, or via older releases (2.3.4 through 2.4.6). *** The HPM (Hardware Performance Monitor) code has been deleted. It is now available on the research tracker (item 1613215), by svn diff -r11162:11161, or in releases through 2.4.6. *** This release is known to not work on OS X. We would like to get this platform working again; if you use Jikes RVM on OS X and are willing to help fix it, please let us know. |
From: David P G. <gr...@us...> - 2006-10-19 20:40:28
|
Jikes RVM version 2.4.6 is now available for download from sourceforge.net at http://prdownloads.sourceforge.net/jikesrvm/jikesrvm-2.4.6.tar.gz?download ** Highlights *** The recommended version of GNU classpath for Jikes RVM 2.4.6 is 0.92. Earlier versions of GNU classpath are not supported. *** A large scale restructuring of the source tree was performed to prepare for making it easier to develop Jikes RVM using Eclipse. All files except for the Java source to Jikes RVM itself was moved out of the RVM_ROOT/rvm directory. RVM_ROOT/rvm itself has not yet been reorganized so that package/directory structures match, but we anticipate this happening in the near future. *** Major refactoring of VM<->MM interface *** MMTk: Added nurseries to each LOS and created a distinct "primitive large object space" (PLOS). *** The optimizing compiler is now reentrant and a command line options to enable parallel bootimage compilation has been added to jbuild (-numThreads=<n>). *** Updates and improvements to GCspy support (patch 1576064). ** Bug fixes Too many to list individually in the release notes. Yeah! Overall a significant increase in system stability since 2.4.5. See svnlog -r10694:10905 for the gory details. ** Other Notes *** Change bootimage options for the opt compiler to use default static inlining heurisitcs (instead of being more aggressive). This reduces bootimage size by 20%, bootimage build time by 2-3x, and appears to have minimal performance impact. *** We now implement JNI_OnLoad functionality. *** Modifications to the boot image writer and VM.boot so that certain known fields are populated during boot image write time, thereby avoiding the need to run class initializers in VM.boot. Typically we fail to populate a field value when it's part of the bootstrap JVM and in some way protected. Further improvements to this mechanism are in progress. *** If GNU classpath is built with JAWT support, the Jikes RVM build process now copies the additional native libraries it requires. *** Added regression testing support for latest version (2006-10-RC2) of DaCapo benchmarks and for SPECjbb2005. Also updated soot test to 2.2.3. *** We can now build using the IBM 5.0 JVMs as hosts. However, you must set HOST_VM_TYPE=IBM-50 to activate code in the bootimage writer makefile that works around what appears to be a JIT bug. *** GNU classpath support for java.lang.instrumentation and the -javaagent command line argument was added. |
From: David P G. <gr...@us...> - 2006-08-14 17:37:39
|
Jikes RVM version 2.4.5 is now available for download from sourceforge.net at http://prdownloads.sourceforge.net/jikesrvm/jikesrvm-2.4.5.tar.gz?download *Jikes RVM 2.4.5 Release Notes (released August 14, 2006) ** Highlights *** The recommended version of GNU classpath for Jikes RVM 2.4.5 is 0.92. GNU classpath version 0.91 will work, but Jikes RVM 2.4.5 will not compile against versions of GNU classpath before 0.91. *** Classpath AWT and Swing tests now run with the Jikes RVM. We have changed from using the portable native sync code, and addressed issues with M-to-N threading. *** We can now load and run Java 1.5.0 Java class files. Support includes building the Jikes RVM using a 1.5.0 javac compiler and running the SPEC JBB 2005 benchmark. Includes reflection support for generic types. *** MMTk changes & refactors. A mark-compact collector has been added. A number of key bugs have been fixed, both in the vm (eg baseline GC maps), and in MMTk proper. Completed a major refactoring of "locals" to explicitly separate per-mutator and per-collector contexts. This generalizes away from assumptions of the current Jikes RVM threading model. *** We can now load runtime and non-runtime annotations. Runtime support is limited as Classpath is missing the base annotation definitions. A work around is to switch on non-runtime annotation loading in the RVM. NOTE: This requires classpath 0.91 or better. *** Added ability to perform boot image root scanning, and thus avoid tracing through the boot image at each full heap GC. As a result, we've added a third region to the bootimage; all config files must now define BOOTIMAGE_RMAP_ADDRESS in addition to BOOTIMAGE_DATA_ADDRESS and BOOTIMAGE_CODE_ADDRESS. ** Bug fixes 1442437: to match Sun behavior, java.lang.Class.newInstance now passes through exceptions instead of wrapping in InstantiationExceptions. NOTE: This requires classpath 0.90 or better. 1505824: Exit cleanly when the jar file given to -jar doesn't contain a valid ma nifest 1494784: Intermittent build failure on IA32 due to imprecise estimation of instruction size in code used for short forward jump optimization. 1147554: MarkSweep double-mark: corrects performance problem in MMTk MarkSweep code which was marking both a bit in the object and a side mark map. ** Other Notes *** IA32 BURS improvement for special case of COND_MOV contibuted by Garrett Kolpin *** Improvements to OPT_Simplifier to catch a number of additional cases. |
From: David P G. <gr...@us...> - 2006-03-15 16:51:46
|
Jikes RVM version 2.4.4 is now available for download from sourceforge.net at http://prdownloads.sourceforge.net/jikesrvm/jikesrvm-2.4.4.tar.gz?download The main change since version 2.4.3 is that we've moved from GNU Classpath 0.23 to 0.90. The release notes are appended: *Jikes RVM 2.4.4 Release Notes (released March 15, 2006) ** Highlights *** The recommended version of GNU classpath for Jikes RVM 2.4.3 is 0.90. Classpath 0.18, 0.19, and 0.20 are likely to still work, but have not been tested. ** Bug fixes ** Other Notes *** There is now an x86_64-pc-linux-gnu config file for build Jikes RVM. |
From: David P G. <gr...@us...> - 2006-02-24 16:26:10
|
Jikes RVM version 2.4.3 is now available for download from sourceforge.net at http://prdownloads.sourceforge.net/jikesrvm/jikesrvm-2.4.3.tar.gz?download *Jikes RVM 2.4.3 Release Notes (released February 24, 2006) ** Highlights *** The recommended version of GNU classpath for Jikes RVM 2.4.3 is 0.20. Classpath 0.19 and 0.18 are likely to still work, but have not been tested. Support for all version of GNU classpath prior to 0.18 has been removed. *** Simple GC sanity checking tool added to MMTk. Contact: Daniel Frampton. *** The RVM bootimage is now generated into two separate files, one for code and one for data. These files are mapped separately into distinct address ranges. As a result of this change, instead of defining BOOTIMAGE_LOAD_ADDRESS in your config file, you must define BOOTIMAGE_DATA_ADDRESS and BOOTIMAGE_CODE_ADDRESS. All the default configu files (rvm/config/*) have been updated, but if you have local copies of these files, you will need to update them. *** Loop Versioning optimization in the opt compiler contributed by Ian Rogers and Jisheng Zhao. Loop versioning replicates loop bodies and removes from one of those loop bodies runtime exceptions that can be explicitly tested. The phase runs as an SSA optimization so as only to consider true dependencies. To capture the loop structure the phase uses an annotated LST node. The annotations capture information about the initial and terminal loop iterator values, as well as the loop iterator instructions. This phase is currently disabled by default until we can fix bugs in the optimizing compiler that it exposes. *** The optimizing compiler's Local CSE pass now exploits commutativity, patch contributed by Bernardo Pastorelli. ** Bug fixes *** defect 1240267: remove FIXED_JTOC option *** defect 1411486: Bug in IA32 BT (Bit Test) instruction |
From: David P G. <gr...@us...> - 2005-11-21 20:23:18
|
Jikes RVM version 2.4.2 is now available for download from sourceforge.net at http://prdownloads.sourceforge.net/jikesrvm/jikesrvm-2.4.2.tar.gz?download *Jikes RVM 2.4.2 Release Notes (released on November 21, 2005) **Highlights **The recommended version of GNU classpath for Jikes RVM 2.4.2 is 0.19. Classpath 0.18 is expected to still work, Classpath 0.15 and 0.17 may still work, but have not been tested. ** RunSanityTest support for DaCapo benchmark suite. DaCapo is now included in the nightly Jikes RVM regression tests. We continue to solicit contributions of more RunSanityTest harnesses for additional benchmarks. ** Numerous bug fixes in the opt compiler to better maintain IR invariants during. Contributed by Ian Rogers. **Bug Fixes *** defect 1293619: Null Pointer Exception in VM_TypeReference *** Minor fixes for OS X builds. |
From: David P G. <gr...@us...> - 2005-09-15 18:31:29
|
Jikes RVM version 2.4.1 is now available for download from sourceforge.net at http://prdownloads.sourceforge.net/jikesrvm/jikesrvm-2.4.1.tar.gz?download The main change in this release is support for classpath 0.18, although there are also some opt compiler bug fixes and enhancements. The Release Notes are appended below. *Highlights **The recommended version of GNU classpath for Jikes RVM 2.4.1 is 0.18. Classpath 0.17 is expected to still work, Classpath 0.15 may still work, but has not been tested. ** Support for triggering recompilation of dynamically loaded methods It is now possible for an application running on Jikes RVM to request that the system recompile all dynamically loaded methods at any point in the application. This can be accomplished by a new VM_Callbacks method. Details are in the user's guide. |
From: David P G. <gr...@us...> - 2005-08-11 15:12:30
|
Jikes RVM version 2.4.0 is now available for download from sourceforge.net at http://prdownloads.sourceforge.net/jikesrvm/jikesrvm-2.4.0.tar.gz?download The Release Notes are appended below. *Highlights ** OS X is working again. Support for running Jikes RVM on OS X has been restored. ** Major MMTk Refactoring. The most significant refactoring to MMTk since the initial release has been completed. The MMTk Plan class hierarchy has been split to more clearly distinguish global and local state, and move toward a more natural Java style. This has involved substantial changes to the plan hierarchy, which is now structured a set of subpackages under org.mmtk.plan. For more information on the MMTk refactoring please refer to the tutorial and cheatsheet in the MMTk/doc directory, both of which are intended to assist with users migrating collectors to the new release. **The recommended version of GNU classpath for Jikes RVM 2.4.0 is 0.17. Classpath 0.15 is expected to still work, but has not been tested. ** Support for compiler replay Contribution of compiler replay. Compiler replay is an experimental methodology that eliminates memory allocation and mutator variations due to non-deterministic sampling and adaptive optimizations. |
From: David P G. <gr...@us...> - 2005-05-23 17:30:57
|
Jikes RVM version 2.3.6 is now available for download from sourceforge.net at http://prdownloads.sourceforge.net/jikesrvm/jikesrvm-2.3.6.tar.gz?download . The Release Notes are appended below. *Jikes RVM 2.3.6 Release Notes (released on May 23, 2005) *Highlights ** Just like 2.3.5, this release of Jikes RVM does not work on OSX. If you use Jikes RVM on OSX please help us fix it so subsequent releases will support OSX again. **The recommended version of GNU classpath for Jikes RVM 2.3.6 is 0.15. Classpath 0.14 is expected to still work. Some older versions of classpath (0.10 and higher) might still work,but have not been tested. Subsequent releases of Jikes RVM will remove support for all versions of GNU classpath prior to 0.15. ** We have fixed defect 1189786 which represented a significant regression in Jikes RVM 2.3.5. ** After source code cleanups, most jikes warnings are now enabled by default. |
From: Michael H. <hi...@us...> - 2005-04-29 00:32:46
|
Here are a few items that I thought would be of interest to the Jikes RVM community - Paper on history of Jikes RVM The recent issue (Vol. 44, No 2) of the IBM Systems Journal is focused on Open Source Software. In it, there is an article entitled The Jikes Research Virtual Machine project: Building an open-source research community. The article is available on the Jikes RVM publications page (http://jikesrvm.sourceforge.net/info/papers.shtml) as well as a link to the full issue. - PLDI tutorial on MMTk Steve Blackburn and Perry Cheng will be presenting a PLDI'05 tutorial on MMTk on Sunday morning, June 12th. This is a great opportunity to learn about the design and implementation of memory management toolkit used by Jikes RVM. Early registration deadline is May 11. Further details are provided at (http://www.cs.purdue.edu/homes/jv/plditut/mmtk/index.html ) - VEE'05 conference This year's PLDI will also feature the first instance of a new 2-day conference on Virtual Execution Environments. This conference will be held the 2 days before PLDI, on Sat & Sun June 11 & 12. It will feature keynote talks by Jim Smith (co-author of a new book on Virtual Machines, and Martin Nally (IBM), who will discuss virtualization at Application Server level. Further details are available at (http://www.veeconference.org) Early registration deadline is the same as PLDI, May 11. - Chicago, in mid-June, is there a better place to be? In addition to PLDI, itself, there are also other conferences, workshops, and tutorials that might be of interest to the Jikes RVM community. Check the PLDI web page for more info. (http://research.ihost.com/pldi2005) Mike ------------------------------------------------------------------------- Michael Hind, Manager, Dynamic Optimization Group IBM Watson Research Center http://www.research.ibm.com/people/h/hind hi...@wa..., 914 784-7589, tie: 863-7589 Jikes RVM is now on sourceforge: http://jikesrvm.sourceforge.net |
From: David P G. <gr...@us...> - 2005-04-09 02:12:24
|
Jikes RVM version 2.3.5 is now available for download from sourceforge.net at http://prdownloads.sourceforge.net/jikesrvm/jikesrvm-2.3.5.tar.gz?download. The Release Notes are appended below. *Jikes RVM 2.3.5 Release Notes (released on April 8, 2005) *Highlights ** This release of Jikes RVM does not work on OSX. If you use Jikes RVM on OSX please help us fix it so subsequent releases will support OSX again. **The recommended version of GNU classpath for this release of Jikes RVM is 0.14. Furthermore, all of the configuration logic that controls classpath version has been moved to $RVM_ROOT/rvm/config/classpath-version. We suggest you may want to modify your local configuration files to source this file, to make it easier to track changes in classpath version across releases of Jikes RVM. **We can build with Jikes versions 1.20, 1.21, 1.22, and CVS Head. **We detect the version of the Jikes compiler in use and print warning messages if that version has not been tested. **Quick Compiler (missing from the original 2.3.4 release notes) Release 2.3.4 marked the first public appearance of the "Quick" compiler for the PowerPC architecture targets. The Quick compiler is supposed to be rather smarter than the Base compiler about register use without being nearly as complex as the Opt compiler. Rather smarter means that stack and local variables are kept in registers if possible, not in memory. Not nearly as complex means, for instance, that the Quick compiler code generator works in a single pass, with no intermediate representations. Right now the only additional optimizations are to remember if stack or local variable values are already in a temporary or work register and hence don't need to be loaded, and to postpone local variable stores until it becomes obvious that the value really needs to be written. One purpose of the Quick compiler is to explore how close to the performance of the Opt compiler we can come by using just the most beneficial optimizations. Also, we hope to use it as a starting point for experimenting with other optimizations without having to deal with the implementation details of the Opt compiler and the complex interactions among the many optimizations performed by the Opt compiler. *Other Notes: **We've moved to http://jikesrvm.sourceforge.net. We'll try to update the documentation, but please point out anything that we missed. **The release notes are now in a file called NEWS instead of the old ReleaseNotes-<revision-number> files. Further, NEWS is an archive; it is contains release notes for all open source versions of Jikes RVM. **The java.version system property is now at 1.4.2 (This is missing from the original 2.3.4 release notes) Claiming to be at java.version 1.4.2 is a lie, of course -- we don't really support all 1.4 features, such as assertions. However, it is a necessary lie, since Eclipse 3.0 explicitly tests java.version and insists upon at least 1.4.1 to run. Similarly, java.specification.version is up to 1.4 and java.vm.version is at 1.4.2. *Bug Fixes: **The problems with timezones that several users have reported with the change to daylight savings times and Jikes RVM 2.3.4/classpath 0.12 are not a problem in Jikes RVM 2.3.5/classpath 0.14. **Calling VM.sysFail during boot image writing no longer generates a bogus "vm internal error" message. ***VM_Scheduler.traceback and VM_Scheduler.dumpStack now work properly even when Jikes RVM is writing the boot image. This, in turn, means that we no longer generate internal errors if we have to call VM.sysFail during boot image writing time. |
From: Michael H. <hi...@us...> - 2005-03-18 14:34:17
|
It is my pleasure to welcome Kris Venstermans (U of Ghent) to the Jikes RVM core team. Kris has been a driving force behind the PPC64 bit port for the last 18 months. As such, he has produced a large number of nontrivial patches against virtually all components of the system. Steve Fink has volunteered to relinquish his core team privileges and duties. As many of you know, Steve has played a key role in the development of the system (Jalapeno/Jikes RVM) since 1998. He not only contributed a large amount of code, but also has been a strong advocate for the open source release of Jikes RVM. He has written many papers, presented tutorials, and helped lead BoFs about the system. For the past few years, Steve has been leading projects focusing on static analysis, and thus, has had little time to contribute to core team responsibilities. The current Jikes RVM core team now contains the 12 people below. Steve Augart, Luminosa Consulting Steve Blackburn, Australian National University Perry Cheng, IBM Research Julian Dolby, IBM Research Daniel Frampton, Australian National University David Grove, IBM Research Michael Hind, IBM Research Chris Hoffmann, University of Massachussetts J. Eliot B. Moss, University of Massachussetts Feng Qian, McGill University Kris Venstermans, University of Ghent Peter F. Sweeney, IBM Research Further information about Jikes RVM project management, including the 3 subprojects of Jikes RVM (Jikes RVM, MMTk, and PE) is available here http://jikesrvm.sourceforge.net/info/core.shtml Mike ------------------------------------------------------------------------- Michael Hind, Manager, Dynamic Optimization Group IBM Watson Research Center http://www.research.ibm.com/people/h/hind hi...@wa..., 914 784-7589, tie: 863-7589 Jikes RVM is now on sourceforge: http://jikesrvm.sourceforge.net |
From: David P G. <gr...@us...> - 2005-02-24 15:34:36
|
We're happy to announce that our migration to sourceforge is now complete. Our new home page is http://jikesrvm.sourceforge.net/ and the project itself is found at http://sourceforge.net/projects/jikesrvm. At a high level, most things remain the same at our new home. However there are some differences that are worth mentioning. CVS Access Anonymous cvs access is still via pserver, but with a different -d argument:; to get the system do cvs -d :pserver:ano...@cv...:/cvsroot/jikesrvm co jikesrvm Developer access is via ssh only; core team members should already know this, if not contact me or Steve Augart The sourceforge cvs servers often have a higher load than the developerworks ones did; expect things to be somewhat slower on average. We changed the defaut to 'watch off' so checkout by developers will get rw permission (no need for explicit cvs edit) Website The 'watch CVS commits' page relied on details of the developerworks site that are different on sourceforge. For now, that page is gone, but something similar is likely to be online in the next couple of weeks. The 'active CVS areas' is also removed for similar reasons. The current plan is to not restore this unless people really find it useful (not obvious how we can actually get this working again in the new environment). Mailing lists Please update your address books, spam filters, etc. to the new mailing lists. The old lists will briefly forward to the new lists (starting in a day or so and continuing through March 15th). But, please use the new lists effectively immediately. jik...@li... jik...@li... jik...@li... jik...@li... Contributions Legal requirements remain the same, but we are now using the patch tracker to manage the contribution process instead of the jikesrvm-contrib mailing list. Details on the website. Bugs/Features We now have separate trackers for bugs and features (Request For Enhancements == RFE). As part of the conversion process, all old bugs were renumbered; there is a mapping from old to new numbers available on the website. --dave |