From: <jik...@li...> - 2012-02-23 21:58:33
|
details: http://jikesrvm.hg.sourceforge.net/hgweb/jikesrvm/jikesrvm/rev/5b6b892a6a67 changeset: 10438:5b6b892a6a67 user: Dave Grove <gr...@us...> date: Thu Feb 23 16:58:12 2012 -0500 description: Merge tip to release branch diffstat: .hgignore | 31 + .hgtags | 33 + LICENSE.html | 6 +- MMTk/ext/vm/harness/org/mmtk/harness/vm/ActivePlan.java | 13 +- MMTk/ext/vm/harness/org/mmtk/harness/vm/Assert.java | 4 +- MMTk/ext/vm/harness/org/mmtk/harness/vm/Collection.java | 241 +- MMTk/ext/vm/harness/org/mmtk/harness/vm/Factory.java | 37 + MMTk/ext/vm/harness/org/mmtk/harness/vm/Memory.java | 16 +- MMTk/ext/vm/harness/org/mmtk/harness/vm/ObjectModel.java | 4 +- MMTk/ext/vm/harness/org/mmtk/harness/vm/Scanning.java | 32 +- MMTk/ext/vm/harness/org/mmtk/harness/vm/Statistics.java | 54 +- MMTk/ext/vm/jikesrvm/org/jikesrvm/mm/mmtk/ActivePlan.java | 21 +- MMTk/ext/vm/jikesrvm/org/jikesrvm/mm/mmtk/Assert.java | 10 - MMTk/ext/vm/jikesrvm/org/jikesrvm/mm/mmtk/Barriers.java | 102 +- MMTk/ext/vm/jikesrvm/org/jikesrvm/mm/mmtk/Collection.java | 284 +- MMTk/ext/vm/jikesrvm/org/jikesrvm/mm/mmtk/Factory.java | 18 + MMTk/ext/vm/jikesrvm/org/jikesrvm/mm/mmtk/FinalizableProcessor.java | 3 + MMTk/ext/vm/jikesrvm/org/jikesrvm/mm/mmtk/Lock.java | 2 +- MMTk/ext/vm/jikesrvm/org/jikesrvm/mm/mmtk/Memory.java | 20 +- MMTk/ext/vm/jikesrvm/org/jikesrvm/mm/mmtk/Monitor.java | 57 + MMTk/ext/vm/jikesrvm/org/jikesrvm/mm/mmtk/ObjectModel.java | 19 +- MMTk/ext/vm/jikesrvm/org/jikesrvm/mm/mmtk/ReferenceProcessor.java | 2 +- MMTk/ext/vm/jikesrvm/org/jikesrvm/mm/mmtk/ScanBootImage.java | 9 +- MMTk/ext/vm/jikesrvm/org/jikesrvm/mm/mmtk/ScanStatics.java | 14 +- MMTk/ext/vm/jikesrvm/org/jikesrvm/mm/mmtk/ScanThread.java | 25 +- MMTk/ext/vm/jikesrvm/org/jikesrvm/mm/mmtk/Scanning.java | 197 +- MMTk/ext/vm/jikesrvm/org/jikesrvm/mm/mmtk/Statistics.java | 14 +- MMTk/harness/src/org/mmtk/harness/Collector.java | 279 - MMTk/harness/src/org/mmtk/harness/Harness.java | 78 +- MMTk/harness/src/org/mmtk/harness/Main.java | 21 +- MMTk/harness/src/org/mmtk/harness/Mutator.java | 20 +- MMTk/harness/src/org/mmtk/harness/Mutators.java | 7 + MMTk/harness/src/org/mmtk/harness/lang/Intrinsics.java | 4 +- MMTk/harness/src/org/mmtk/harness/lang/Trace.java | 1 + MMTk/harness/src/org/mmtk/harness/sanity/ObjectTable.java | 24 +- MMTk/harness/src/org/mmtk/harness/scheduler/AbstractPolicy.java | 15 +- MMTk/harness/src/org/mmtk/harness/scheduler/Policy.java | 8 + MMTk/harness/src/org/mmtk/harness/scheduler/Scheduler.java | 97 +- MMTk/harness/src/org/mmtk/harness/scheduler/ThreadModel.java | 72 +- MMTk/harness/src/org/mmtk/harness/scheduler/YieldAlways.java | 2 +- MMTk/harness/src/org/mmtk/harness/scheduler/YieldEvery.java | 11 +- MMTk/harness/src/org/mmtk/harness/scheduler/YieldNever.java | 2 +- MMTk/harness/src/org/mmtk/harness/scheduler/YieldRandomly.java | 12 +- MMTk/harness/src/org/mmtk/harness/scheduler/javathreads/CollectorContextThread.java | 37 - MMTk/harness/src/org/mmtk/harness/scheduler/javathreads/CollectorThread.java | 38 +- MMTk/harness/src/org/mmtk/harness/scheduler/javathreads/JavaMonitor.java | 69 + MMTk/harness/src/org/mmtk/harness/scheduler/javathreads/JavaThreadModel.java | 148 +- MMTk/harness/src/org/mmtk/harness/scheduler/rawthreads/CollectorContextThread.java | 43 - MMTk/harness/src/org/mmtk/harness/scheduler/rawthreads/CollectorThread.java | 19 +- MMTk/harness/src/org/mmtk/harness/scheduler/rawthreads/RawLock.java | 5 +- MMTk/harness/src/org/mmtk/harness/scheduler/rawthreads/RawMonitor.java | 64 + MMTk/harness/src/org/mmtk/harness/scheduler/rawthreads/RawThread.java | 47 +- MMTk/harness/src/org/mmtk/harness/scheduler/rawthreads/RawThreadModel.java | 330 +- MMTk/harness/src/org/mmtk/harness/scheduler/rawthreads/ThreadQueue.java | 100 + MMTk/src/org/mmtk/plan/CollectorContext.java | 105 +- MMTk/src/org/mmtk/plan/ConcurrentPhase.java | 88 + MMTk/src/org/mmtk/plan/ControllerCollectorContext.java | 173 + MMTk/src/org/mmtk/plan/GCspyPlan.java | 3 +- MMTk/src/org/mmtk/plan/MutatorContext.java | 10 +- MMTk/src/org/mmtk/plan/ParallelCollector.java | 112 + MMTk/src/org/mmtk/plan/ParallelCollectorGroup.java | 193 + MMTk/src/org/mmtk/plan/Phase.java | 194 +- MMTk/src/org/mmtk/plan/Plan.java | 321 +- MMTk/src/org/mmtk/plan/PlanConstraints.java | 3 - MMTk/src/org/mmtk/plan/Simple.java | 38 +- MMTk/src/org/mmtk/plan/SimpleCollector.java | 20 +- MMTk/src/org/mmtk/plan/StopTheWorld.java | 12 +- MMTk/src/org/mmtk/plan/StopTheWorldCollector.java | 1 + MMTk/src/org/mmtk/plan/TraceLocal.java | 53 +- MMTk/src/org/mmtk/plan/concurrent/Concurrent.java | 176 + MMTk/src/org/mmtk/plan/concurrent/ConcurrentCollector.java | 154 + MMTk/src/org/mmtk/plan/concurrent/ConcurrentConstraints.java | 37 + MMTk/src/org/mmtk/plan/concurrent/ConcurrentMutator.java | 179 + MMTk/src/org/mmtk/plan/concurrent/marksweep/CMS.java | 111 + MMTk/src/org/mmtk/plan/concurrent/marksweep/CMSCollector.java | 103 + MMTk/src/org/mmtk/plan/concurrent/marksweep/CMSConstraints.java | 35 + MMTk/src/org/mmtk/plan/concurrent/marksweep/CMSMutator.java | 208 + MMTk/src/org/mmtk/plan/concurrent/marksweep/CMSTraceLocal.java | 82 + MMTk/src/org/mmtk/plan/copyms/CopyMS.java | 28 +- MMTk/src/org/mmtk/plan/copyms/CopyMSTraceLocal.java | 17 - MMTk/src/org/mmtk/plan/generational/Gen.java | 74 +- MMTk/src/org/mmtk/plan/generational/GenMutator.java | 11 +- MMTk/src/org/mmtk/plan/generational/copying/GenCopy.java | 15 +- MMTk/src/org/mmtk/plan/generational/immix/GenImmix.java | 22 +- MMTk/src/org/mmtk/plan/generational/immix/GenImmixCollector.java | 2 +- MMTk/src/org/mmtk/plan/generational/immix/GenImmixConstraints.java | 2 +- MMTk/src/org/mmtk/plan/generational/immix/GenImmixMatureDefragTraceLocal.java | 11 +- MMTk/src/org/mmtk/plan/generational/marksweep/GenMS.java | 13 +- MMTk/src/org/mmtk/plan/immix/Immix.java | 16 +- MMTk/src/org/mmtk/plan/immix/ImmixDefragTraceLocal.java | 9 - MMTk/src/org/mmtk/plan/markcompact/MC.java | 14 +- MMTk/src/org/mmtk/plan/markcompact/MCCollector.java | 42 +- MMTk/src/org/mmtk/plan/markcompact/MCForwardTraceLocal.java | 17 - MMTk/src/org/mmtk/plan/markcompact/MCMarkTraceLocal.java | 26 - MMTk/src/org/mmtk/plan/marksweep/MS.java | 15 +- MMTk/src/org/mmtk/plan/nogc/NoGC.java | 2 +- MMTk/src/org/mmtk/plan/nogc/NoGCCollector.java | 20 +- MMTk/src/org/mmtk/plan/refcount/RCBase.java | 17 +- MMTk/src/org/mmtk/plan/refcount/generational/GenRC.java | 25 +- MMTk/src/org/mmtk/plan/refcount/generational/GenRCFindRootSetTraceLocal.java | 14 - MMTk/src/org/mmtk/plan/semispace/SS.java | 15 +- MMTk/src/org/mmtk/plan/semispace/SSTraceLocal.java | 16 - MMTk/src/org/mmtk/plan/semispace/gcspy/SSGCspy.java | 1 - MMTk/src/org/mmtk/plan/semispace/gctrace/GCTrace.java | 25 +- MMTk/src/org/mmtk/plan/semispace/gctrace/GCTraceTraceLocal.java | 23 - MMTk/src/org/mmtk/plan/semispace/usePrimitiveWriteBarriers/UsePrimitiveWriteBarriersMutator.java | 2 +- MMTk/src/org/mmtk/plan/stickyimmix/StickyImmix.java | 43 +- MMTk/src/org/mmtk/plan/stickyimmix/StickyImmixConstraints.java | 3 + MMTk/src/org/mmtk/plan/stickyimmix/StickyImmixMutator.java | 26 + MMTk/src/org/mmtk/plan/stickyms/StickyMSConstraints.java | 3 + MMTk/src/org/mmtk/plan/stickyms/StickyMSMutator.java | 27 + MMTk/src/org/mmtk/policy/BaseLargeObjectSpace.java | 11 +- MMTk/src/org/mmtk/policy/CopySpace.java | 25 +- MMTk/src/org/mmtk/policy/ExplicitFreeListSpace.java | 6 +- MMTk/src/org/mmtk/policy/ExplicitLargeObjectSpace.java | 20 +- MMTk/src/org/mmtk/policy/ImmortalSpace.java | 24 +- MMTk/src/org/mmtk/policy/LargeObjectSpace.java | 19 +- MMTk/src/org/mmtk/policy/MarkCompactCollector.java | 6 +- MMTk/src/org/mmtk/policy/MarkCompactSpace.java | 10 +- MMTk/src/org/mmtk/policy/MarkSweepSpace.java | 26 +- MMTk/src/org/mmtk/policy/RawPageSpace.java | 14 +- MMTk/src/org/mmtk/policy/SegregatedFreeListSpace.java | 15 +- MMTk/src/org/mmtk/policy/Space.java | 83 +- MMTk/src/org/mmtk/policy/immix/Block.java | 2 +- MMTk/src/org/mmtk/policy/immix/Chunk.java | 2 +- MMTk/src/org/mmtk/policy/immix/CollectorLocal.java | 8 +- MMTk/src/org/mmtk/policy/immix/Defrag.java | 52 +- MMTk/src/org/mmtk/policy/immix/ImmixSpace.java | 37 +- MMTk/src/org/mmtk/utility/ForwardingWord.java | 4 +- MMTk/src/org/mmtk/utility/HeaderByte.java | 3 +- MMTk/src/org/mmtk/utility/Log.java | 6 +- MMTk/src/org/mmtk/utility/Memory.java | 2 +- MMTk/src/org/mmtk/utility/SimpleHashtable.java | 2 +- MMTk/src/org/mmtk/utility/TraceGenerator.java | 10 +- MMTk/src/org/mmtk/utility/alloc/Allocator.java | 87 +- MMTk/src/org/mmtk/utility/alloc/BumpPointer.java | 8 +- MMTk/src/org/mmtk/utility/alloc/EmbeddedMetaData.java | 3 +- MMTk/src/org/mmtk/utility/alloc/ImmixAllocator.java | 40 +- MMTk/src/org/mmtk/utility/deque/LocalDeque.java | 2 - MMTk/src/org/mmtk/utility/deque/LocalSSB.java | 2 - MMTk/src/org/mmtk/utility/deque/SharedDeque.java | 2 +- MMTk/src/org/mmtk/utility/gcspy/GCspy.java | 9 - MMTk/src/org/mmtk/utility/heap/ConcurrentZeroingContext.java | 60 + MMTk/src/org/mmtk/utility/heap/FreeListPageResource.java | 49 +- MMTk/src/org/mmtk/utility/heap/HeapGrowthManager.java | 71 +- MMTk/src/org/mmtk/utility/heap/MonotonePageResource.java | 89 +- MMTk/src/org/mmtk/utility/heap/PageResource.java | 157 +- MMTk/src/org/mmtk/utility/options/ConcurrentTrigger.java | 2 +- MMTk/src/org/mmtk/utility/options/NurseryZeroing.java | 59 + MMTk/src/org/mmtk/utility/options/Options.java | 5 +- MMTk/src/org/mmtk/utility/options/PretenureThresholdFraction.java | 33 + MMTk/src/org/mmtk/utility/options/StressFactor.java | 9 - MMTk/src/org/mmtk/utility/options/Threads.java | 61 + MMTk/src/org/mmtk/utility/statistics/BooleanCounter.java | 5 +- MMTk/src/org/mmtk/utility/statistics/Counter.java | 3 +- MMTk/src/org/mmtk/utility/statistics/EventCounter.java | 15 +- MMTk/src/org/mmtk/utility/statistics/LongCounter.java | 3 +- MMTk/src/org/mmtk/utility/statistics/PerfEvent.java | 3 - MMTk/src/org/mmtk/utility/statistics/SizeCounter.java | 3 +- MMTk/src/org/mmtk/utility/statistics/Stats.java | 3 +- MMTk/src/org/mmtk/utility/statistics/Timer.java | 3 +- MMTk/src/org/mmtk/vm/ActivePlan.java | 3 + MMTk/src/org/mmtk/vm/Assert.java | 9 - MMTk/src/org/mmtk/vm/Barriers.java | 2 +- MMTk/src/org/mmtk/vm/Collection.java | 110 +- MMTk/src/org/mmtk/vm/Factory.java | 10 + MMTk/src/org/mmtk/vm/Lock.java | 5 +- MMTk/src/org/mmtk/vm/Memory.java | 13 +- MMTk/src/org/mmtk/vm/Monitor.java | 43 + MMTk/src/org/mmtk/vm/ObjectModel.java | 4 +- MMTk/src/org/mmtk/vm/Scanning.java | 23 +- MMTk/src/org/mmtk/vm/Statistics.java | 7 - MMTk/src/org/mmtk/vm/VM.java | 13 + NEWS.txt | 46 +- bin/buildit | 25 +- bin/buildit.base_config | 1 + build.xml | 279 +- build/base.xml | 42 +- build/checkstyle/rvm-checks.xml | 30 +- build/components/checkstyle.xml | 8 +- build/components/classpath.xml | 14 +- build/components/gcspy.xml | 2 +- build/components/harmony.xml | 14 +- build/components/javacc.xml | 2 +- build/components/junit.xml | 2 +- build/components/patches/classpath-web.RVM-903.patch | 23564 ++++++++++ build/components/patches/classpath-web.RVM-914.patch | 16 + build/components/patches/harmony-svn.RVM-358-01.patch | 47 + build/components/patches/harmony-svn.RVM-925.patch | 98 + build/components/specjvm.xml | 2 +- build/configs/BaseAdaptiveConcMS.properties | 16 + build/configs/BaseAdaptiveRefCount.properties | 16 + build/configs/BaseBaseConcMS.properties | 13 + build/configs/FastAdaptiveConcMS.properties | 19 + build/configs/FullAdaptiveConcMS.properties | 18 + build/hosts/x86_64-osx.properties | 28 + build/primordials/RVM.txt | 1 - build/targets/x86_64-osx.properties | 24 + build/tasks.xml | 3 +- build/test-runs/sanity.properties | 3 +- build/testing/report2html.xsl | 2 +- build/tests.xml | 9 +- common/vmmagic/src/org/vmmagic/pragma/NonMovingAllocation.java | 2 +- common/vmmagic/src/org/vmmagic/pragma/ReferenceFieldsVary.java | 33 + docs/images/fat-jalapeno-pepper-cropped-16x16.gif | 0 docs/images/fat-jalapeno-pepper-cropped-32x32.gif | 0 docs/images/fat-jalapeno-pepper-cropped-48x48.gif | 0 docs/images/jalapeno-pepper-16x16.gif | 0 libraryInterface/Common/src/java/lang/ref/PhantomReference.java | 2 + libraryInterface/Common/src/java/lang/ref/Reference.java | 35 +- libraryInterface/Common/src/java/lang/ref/SoftReference.java | 2 + libraryInterface/Common/src/java/lang/ref/WeakReference.java | 2 + libraryInterface/Common/src/sun/misc/Unsafe.java | 44 +- libraryInterface/GNUClasspath/EPL/src/java/lang/VMRuntime.java | 2 +- libraryInterface/GNUClasspath/EPL/src/java/lang/VMThread.java | 2 +- libraryInterface/GNUClasspath/EPL/src/java/lang/VMThrowable.java | 4 +- libraryInterface/GNUClasspath/LGPL/src/gnu/java/nio/VMChannel.java | 7 +- libraryInterface/Harmony/ASF/src/java/lang/Runtime.java | 2 +- libraryInterface/Harmony/ASF/src/java/lang/Thread.java | 2 +- libraryInterface/Harmony/ASF/src/java/lang/Throwable.java | 7 +- libraryInterface/Harmony/ASF/src/org/apache/harmony/luni/platform/OSMemory.java | 2 +- rvm/src-generated/ia32-assembler/Assembler.in | 19 +- rvm/src-generated/opt-burs/ia32/IA32.rules | 8 + rvm/src-generated/opt-burs/jburg/LICENSE.txt | 38 +- rvm/src-generated/opt-burs/ppc/PPC_Common.rules | 8 + rvm/src-generated/opt-ir/OperatorList.dat | 7 + rvm/src-generated/opt-ir/ia32/OperatorList.dat | 7 + rvm/src-generated/options/BooleanOptions.aos.dat | 10 +- rvm/src-generated/options/ValueOptions.aos.dat | 4 + rvm/src-generated/vm-configuration/Configuration.template | 2 +- rvm/src-generated/vm-configuration/Selected.template | 16 +- rvm/src/org/jikesrvm/CommandLineArgs.java | 18 +- rvm/src/org/jikesrvm/Services.java | 21 - rvm/src/org/jikesrvm/VM.java | 20 +- rvm/src/org/jikesrvm/adaptive/OSROrganizerThread.java | 16 +- rvm/src/org/jikesrvm/adaptive/controller/ControllerThread.java | 17 +- rvm/src/org/jikesrvm/adaptive/measurements/organizers/AccumulatingMethodSampleOrganizer.java | 10 +- rvm/src/org/jikesrvm/adaptive/measurements/organizers/DecayOrganizer.java | 1 - rvm/src/org/jikesrvm/adaptive/measurements/organizers/DynamicCallGraphOrganizer.java | 3 +- rvm/src/org/jikesrvm/adaptive/measurements/organizers/MethodSampleOrganizer.java | 3 +- rvm/src/org/jikesrvm/adaptive/measurements/organizers/Organizer.java | 4 +- rvm/src/org/jikesrvm/adaptive/recompilation/BulkCompile.java | 175 + rvm/src/org/jikesrvm/adaptive/recompilation/CompilationThread.java | 6 +- rvm/src/org/jikesrvm/adaptive/recompilation/PreCompile.java | 122 - rvm/src/org/jikesrvm/adaptive/util/CompilerAdvice.java | 12 +- rvm/src/org/jikesrvm/adaptive/util/CompilerAdviceInfoReader.java | 2 + rvm/src/org/jikesrvm/adaptive/util/DynamicCallFileInfoReader.java | 88 +- rvm/src/org/jikesrvm/annotations/GenerateImplementation.java | 27 + rvm/src/org/jikesrvm/annotations/SysCallTemplate.java | 24 + rvm/src/org/jikesrvm/apt/annotations/GenerateImplementation.java | 27 - rvm/src/org/jikesrvm/apt/annotations/SysCallTemplate.java | 24 - rvm/src/org/jikesrvm/classloader/AnnotatedElement.java | 1 + rvm/src/org/jikesrvm/classloader/MemberReference.java | 17 +- rvm/src/org/jikesrvm/classloader/RVMArray.java | 17 +- rvm/src/org/jikesrvm/classloader/RVMClass.java | 30 +- rvm/src/org/jikesrvm/classloader/RVMClassLoader.java | 33 + rvm/src/org/jikesrvm/classloader/RVMField.java | 9 + rvm/src/org/jikesrvm/classloader/RVMType.java | 40 +- rvm/src/org/jikesrvm/classloader/TypeReference.java | 10 +- rvm/src/org/jikesrvm/compilers/baseline/BranchProfiles.java | 13 + rvm/src/org/jikesrvm/compilers/baseline/EdgeCounts.java | 34 +- rvm/src/org/jikesrvm/compilers/baseline/ia32/BaselineCompilerImpl.java | 10 + rvm/src/org/jikesrvm/compilers/baseline/ia32/BaselineMagic.java | 19 +- rvm/src/org/jikesrvm/compilers/baseline/ppc/BaselineCompilerImpl.java | 16 +- rvm/src/org/jikesrvm/compilers/common/RuntimeCompiler.java | 11 +- rvm/src/org/jikesrvm/compilers/opt/Simplifier.java | 25 +- rvm/src/org/jikesrvm/compilers/opt/bc2ir/BC2IR.java | 26 +- rvm/src/org/jikesrvm/compilers/opt/bc2ir/GenerateMagic.java | 14 +- rvm/src/org/jikesrvm/compilers/opt/bc2ir/GenerationContext.java | 16 +- rvm/src/org/jikesrvm/compilers/opt/driver/OptimizingBootImageCompiler.java | 2 +- rvm/src/org/jikesrvm/compilers/opt/ssa/EnterSSA.java | 3 +- rvm/src/org/jikesrvm/compilers/opt/ssa/IndexPropagationSystem.java | 3 + rvm/src/org/jikesrvm/jni/JNIEnvironment.java | 103 +- rvm/src/org/jikesrvm/jni/JNIFunctions.java | 4 + rvm/src/org/jikesrvm/jni/ppc/JNICompiler.java | 20 +- rvm/src/org/jikesrvm/mm/mminterface/AlignmentEncoding.java | 154 + rvm/src/org/jikesrvm/mm/mminterface/Barriers.java | 28 +- rvm/src/org/jikesrvm/mm/mminterface/CollectorThread.java | 445 +- rvm/src/org/jikesrvm/mm/mminterface/HandInlinedScanning.java | 160 + rvm/src/org/jikesrvm/mm/mminterface/Handshake.java | 164 - rvm/src/org/jikesrvm/mm/mminterface/MemoryManager.java | 130 +- rvm/src/org/jikesrvm/mm/mminterface/SpecializedScanMethod.java | 26 +- rvm/src/org/jikesrvm/mm/mminterface/SynchronizationBarrier.java | 159 - rvm/src/org/jikesrvm/mm/mminterface/ThreadContext.java | 23 +- rvm/src/org/jikesrvm/objectmodel/FieldLayoutPacked.java | 9 - rvm/src/org/jikesrvm/objectmodel/JavaHeader.java | 17 +- rvm/src/org/jikesrvm/objectmodel/ObjectModel.java | 17 +- rvm/src/org/jikesrvm/objectmodel/TIB.java | 20 +- rvm/src/org/jikesrvm/osr/OSRProfiler.java | 3 +- rvm/src/org/jikesrvm/runtime/BootRecord.java | 1 + rvm/src/org/jikesrvm/runtime/Entrypoints.java | 8 +- rvm/src/org/jikesrvm/runtime/Magic.java | 43 +- rvm/src/org/jikesrvm/runtime/MagicNames.java | 4 +- rvm/src/org/jikesrvm/runtime/Memory.java | 90 +- rvm/src/org/jikesrvm/runtime/RuntimeEntrypoints.java | 2 +- rvm/src/org/jikesrvm/runtime/StackTrace.java | 97 +- rvm/src/org/jikesrvm/runtime/SysCall.java | 7 +- rvm/src/org/jikesrvm/scheduler/BootThread.java | 30 + rvm/src/org/jikesrvm/scheduler/FinalizerThread.java | 7 +- rvm/src/org/jikesrvm/scheduler/RVMThread.java | 599 +- rvm/src/org/jikesrvm/scheduler/Synchronization.java | 82 +- rvm/src/org/jikesrvm/scheduler/SystemThread.java | 52 + rvm/src/org/jikesrvm/scheduler/ThinLock.java | 4 +- rvm/src/org/jikesrvm/scheduler/TimerThread.java | 7 +- test.xml | 6 +- testing/tests/CaffeineMark/build.xml | 2 +- testing/tests/basic/build.xml | 4 +- testing/tests/basic/src/test/org/jikesrvm/basic/bugs/RVM_914.expected | 1 + testing/tests/basic/src/test/org/jikesrvm/basic/bugs/RVM_914.java | 36 + testing/tests/basic/src/test/org/jikesrvm/basic/bugs/RVM_915.expected | 4 + testing/tests/basic/src/test/org/jikesrvm/basic/bugs/RVM_915.java | 35 + testing/tests/classpath-testsuite/build.xml | 12 +- testing/tests/gctest/build.xml | 2 +- testing/tests/gctracingtest/build.xml | 2 +- testing/tests/javalex/build.xml | 2 +- testing/tests/jgf-threads/build.xml | 2 +- testing/tests/jgf/build.xml | 2 +- testing/tests/jni/build.xml | 2 +- testing/tests/jsr166-tck/build.xml | 2 +- testing/tests/mmtk/build.xml | 4 +- testing/tests/mmtk/src/org/mmtk/harness/scheduler/DeterministicTests.java | 10 +- testing/tests/mmtk/src/org/mmtk/harness/scheduler/DeterministicTests2.java | 4 - testing/tests/mmtk/src/org/mmtk/harness/scheduler/JavaSchedulerTest.java | 3 +- testing/tests/mmtk/src/org/mmtk/harness/scheduler/SchedulerTestCases.java | 31 +- testing/tests/mmtk/src/org/mmtk/harness/scheduler/TestMutator.java | 11 +- testing/tests/mmtk/src/org/mmtk/utility/deque/ObjectReferenceDequeTest.java | 49 +- testing/tests/mmtk/src/org/vmmagic/unboxed/ObjectReferenceTest.java | 2 + testing/tests/opttests/build.xml | 2 +- testing/tests/soot/build.xml | 2 +- tools/ant-tasks/src/org/jikesrvm/tools/annotation_processing/GeneratedFileWriter.java | 470 + tools/ant-tasks/src/org/jikesrvm/tools/annotation_processing/SysCallProcessor.java | 106 + tools/ant-tasks/src/org/jikesrvm/tools/annotation_processing/SysCallVisitor.java | 238 + tools/ant-tasks/src/org/jikesrvm/tools/apt/SysCallProcessor.java | 313 - tools/ant-tasks/src/org/jikesrvm/tools/apt/SysCallProcessorFactory.java | 50 - tools/bootImageRunner/RunBootImage.C | 4 +- tools/bootImageRunner/cmdLine.h | 62 +- tools/bootImageRunner/ia32/libvm.c | 16 +- tools/bootImageRunner/sys.C | 63 +- tools/bootImageWriter/src/org/jikesrvm/tools/bootImageWriter/BootImage.java | 12 +- tools/bootImageWriter/src/org/jikesrvm/tools/bootImageWriter/BootImageWriter.java | 60 +- userguide/html/RVM/AOS Controller.html | 43 - userguide/html/RVM/AOS+Controller.html | 42 + userguide/html/RVM/Adaptive Optimization System.html | 72 - userguide/html/RVM/Adaptive+Optimization+System.html | 71 + userguide/html/RVM/Adding a New GC.html | 147 - userguide/html/RVM/Adding+a+New+GC.html | 52 + userguide/html/RVM/Architecture.html | 64 +- userguide/html/RVM/BURS.html | 94 +- userguide/html/RVM/Baseline Compiler.html | 50 - userguide/html/RVM/Baseline+Compiler.html | 49 + userguide/html/RVM/Bootstrap.html | 85 +- userguide/html/RVM/Building Patched Versions.html | 50 - userguide/html/RVM/Building a Hybrid Collector.html | 197 - userguide/html/RVM/Building a Mark-sweep Collector.html | 305 - userguide/html/RVM/Building on Windows.html | 55 - userguide/html/RVM/Building the RVM.html | 368 - userguide/html/RVM/Building+Patched+Versions.html | 49 + userguide/html/RVM/Building+a+Hybrid+Collector.html | 86 + userguide/html/RVM/Building+a+Mark-sweep+Collector.html | 121 + userguide/html/RVM/Building+on+Windows.html | 36 + userguide/html/RVM/Building+the+RVM.html | 36 + userguide/html/RVM/Care and Feeding.html | 52 - userguide/html/RVM/Care+and+Feeding.html | 50 + userguide/html/RVM/Class and Code Management.html | 96 - userguide/html/RVM/Class+and+Code+Management.html | 96 + userguide/html/RVM/Coding Conventions.html | 53 - userguide/html/RVM/Coding Style.html | 89 - userguide/html/RVM/Coding+Conventions.html | 41 + userguide/html/RVM/Coding+Style.html | 36 + userguide/html/RVM/Compiler DNA.html | 54 - userguide/html/RVM/Compiler Intrinsics.html | 45 - userguide/html/RVM/Compiler Optimization Comparison Chart.html | 217 - userguide/html/RVM/Compiler+DNA.html | 53 + userguide/html/RVM/Compiler+Intrinsics.html | 44 + userguide/html/RVM/Compiler+Optimization+Comparison+Chart.html | 213 + userguide/html/RVM/Compilers.html | 60 +- userguide/html/RVM/Configuring the RVM.html | 192 - userguide/html/RVM/Configuring+the+RVM.html | 38 + userguide/html/RVM/Core Runtime Services.html | 49 - userguide/html/RVM/Core+Runtime+Services.html | 48 + userguide/html/RVM/Cost Benefit Model.html | 70 - userguide/html/RVM/Cost+Benefit+Model.html | 69 + userguide/html/RVM/Cross-Platform Building.html | 66 - userguide/html/RVM/Cross-Platform+Building.html | 66 + userguide/html/RVM/Debugging the RVM.html | 112 - userguide/html/RVM/Debugging+the+RVM.html | 44 + userguide/html/RVM/Editing JikesRVM in an IDE.html | 117 - userguide/html/RVM/Editing+JikesRVM+in+an+IDE.html | 116 + userguide/html/RVM/Exception Management.html | 48 - userguide/html/RVM/Exception+Management.html | 47 + userguide/html/RVM/Experimental Guidelines.html | 142 - userguide/html/RVM/Experimental+Guidelines.html | 48 + userguide/html/RVM/External Test Resources.html | 191 - userguide/html/RVM/External+Test+Resources.html | 190 + userguide/html/RVM/GDB Stack Walking.html | 129 - userguide/html/RVM/GDB+Stack+Walking.html | 128 + userguide/html/RVM/Get The Source.html | 65 - userguide/html/RVM/Get+The+Source.html | 71 + userguide/html/RVM/IR.html | 161 +- userguide/html/RVM/JNI Compiler.html | 39 - userguide/html/RVM/JNI+Compiler.html | 38 + userguide/html/RVM/JNI.html | 89 +- userguide/html/RVM/Jikes RVM's compilers.html | 55 - userguide/html/RVM/Jikes+RVM%27s+compilers.html | 54 + userguide/html/RVM/Life Cycle of a Compiled Method.html | 54 - userguide/html/RVM/Life+Cycle+of+a+Compiled+Method.html | 54 + userguide/html/RVM/Logging and Debugging.html | 80 - userguide/html/RVM/Logging+and+Debugging.html | 79 + userguide/html/RVM/MMTk Tutorial Mark-Sweep.html | 300 - userguide/html/RVM/MMTk Tutorial Preliminaries.html | 70 - userguide/html/RVM/MMTk Tutorial.html | 52 - userguide/html/RVM/MMTk+Tutorial+Mark-Sweep.html | 116 + userguide/html/RVM/MMTk+Tutorial+Preliminaries.html | 36 + userguide/html/RVM/MMTk+Tutorial.html | 51 + userguide/html/RVM/MMTk.html | 61 +- userguide/html/RVM/Magic.html | 70 +- userguide/html/RVM/Memory+Allocation+in+JikesRVM.html | 36 + userguide/html/RVM/Method Compilation.html | 67 - userguide/html/RVM/Method+Compilation.html | 66 + userguide/html/RVM/Modifying the RVM.html | 51 - userguide/html/RVM/Modifying+the+RVM.html | 49 + userguide/html/RVM/Object Model.html | 80 - userguide/html/RVM/Object+Model.html | 79 + userguide/html/RVM/OptTestHarness.html | 131 +- userguide/html/RVM/Optimizing Compiler.html | 46 - userguide/html/RVM/Optimizing+Compiler.html | 44 + userguide/html/RVM/Preliminaries.html | 96 +- userguide/html/RVM/Primordial Class List.html | 47 - userguide/html/RVM/Primordial+Class+List.html | 46 + userguide/html/RVM/Profiling Applications with Jikes RVM.html | 112 - userguide/html/RVM/Profiling+Applications+with+Jikes+RVM.html | 112 + userguide/html/RVM/Quick Start Guide.html | 45 - userguide/html/RVM/Quick+Start+Guide.html | 44 + userguide/html/RVM/Raw Memory Access.html | 42 - userguide/html/RVM/Raw+Memory+Access.html | 40 + userguide/html/RVM/Running the RVM.html | 893 - userguide/html/RVM/Running+the+RVM.html | 43 + userguide/html/RVM/Scanning+Objects+in+JikesRVM.html | 36 + userguide/html/RVM/Test Run Descriptions.html | 59 - userguide/html/RVM/Test+Run+Descriptions.html | 58 + userguide/html/RVM/Testing the RVM.html | 269 - userguide/html/RVM/Testing+the+RVM.html | 44 + userguide/html/RVM/The MMTk Test Harness.html | 395 - userguide/html/RVM/The+MMTk+Test+Harness.html | 129 + userguide/html/RVM/Thread Management.html | 245 - userguide/html/RVM/Thread+Management.html | 91 + userguide/html/RVM/Threading and Yieldpoints.html | 44 - userguide/html/RVM/Threading+and+Yieldpoints.html | 43 + userguide/html/RVM/Unboxed Types.html | 59 - userguide/html/RVM/Unboxed+Types.html | 57 + userguide/html/RVM/Uninterruptible Code.html | 63 - userguide/html/RVM/Uninterruptible+Code.html | 62 + userguide/html/RVM/User Guide.html | 47 - userguide/html/RVM/User+Guide.html | 45 + userguide/html/RVM/Using Distributed And Local Version Control Tools.html | 399 - userguide/html/RVM/Using GCSpy.html | 205 - userguide/html/RVM/Using buildit.html | 145 - userguide/html/RVM/Using+GCSpy.html | 203 + userguide/html/RVM/Using+buildit.html | 36 + userguide/html/RVM/VM Callbacks.html | 84 - userguide/html/RVM/VM Conventions.html | 148 - userguide/html/RVM/VM+Callbacks.html | 83 + userguide/html/RVM/VM+Conventions.html | 147 + userguide/html/RVM/images/border/spacer.gif | 0 userguide/html/RVM/images/icons/comment_16.gif | 0 userguide/html/RVM/images/icons/emoticons/check.gif | 0 userguide/html/RVM/images/icons/emoticons/error.gif | 0 userguide/html/RVM/images/icons/emoticons/help_16.gif | 0 userguide/html/RVM/images/icons/emoticons/smile.gif | 0 userguide/html/RVM/images/icons/emoticons/star_red.gif | 0 userguide/html/RVM/index.html | 530 +- userguide/html/RVM/styles/site.css | 5409 ++- userguide/userguide.pdf | 0 473 files changed, 41460 insertions(+), 13584 deletions(-) diffs (truncated from 65679 to 300 lines): diff -r a065d00f225c -r 5b6b892a6a67 .hgignore --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/.hgignore Thu Feb 23 16:58:12 2012 -0500 @@ -0,0 +1,31 @@ +syntax:glob +jikesrvm.iml +results +generated +dist +target +components +.ant.properties +.project +.settings +.classpath +eclipse +.pmd +.checkstyle +MMTk/harness/src-generated/org/mmtk/harness/lang/parser/*.java +build/test-runs/local*.properties +testing/tests/javalex/qb1.*.lex +testing/tests/javalex/qb1.*.lex.java +MMTk/bin +MMTk/doc/cheatsheet/cheatsheet.blg +MMTk/doc/cheatsheet/cheatsheet.aux +MMTk/doc/cheatsheet/cheatsheet.bbl +MMTk/doc/cheatsheet/cheatsheet.log +testing/tests/gctest/cp +testing/tests/gctest/out.* +rvm/TAGS.ALL +rvm/TAGS.Makefiles +tools/bootImageRunner/Classes.tmp +testing/tests/jni/cp +testing/tests/jni/out.* +testing/tests/SPECjbb2000/results diff -r a065d00f225c -r 5b6b892a6a67 .hgtags --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/.hgtags Thu Feb 23 16:58:12 2012 -0500 @@ -0,0 +1,33 @@ +3c1d07ea740c74b6efc4a378a04ac51940c96ad4 2.0.0 +538c73d21744f65dc9e759139057a134c09a9b2e 2.0.1 +be897de53286454d0633d5e44b96c6c8507dff66 2.0.2 +a98e2eb712a30698d358bb3f6809e678bfa025dd 2.0.3 +8e69a1868b66710c8149b6f2868fee765ba73b54 2.1.0 +6abbe26e676f1ee4411f8e996e374804a07ca39d 2.1.1 +d8c4534e37da061eafd8d537d8775600d47ebd67 2.2.0 +5ab13f3576a1b37f4310278498247bfdcb151feb 2.2.1 +44b0557b4fb0ff9835b30426b9c2004e647af187 2.2.2 +d77ac744765d500b906ad9f6f105fda8fee804e2 2.3.0 +ac7777433d34a769507d4f879f573afdc6003fc1 2.3.0.1 +8bc8eb327cac0eb1b60ffeb20c34be1f95f3ab38 2.3.1 +b8d8e8d8c6a8f0ecafab158477fc658b55655a3b 2.3.2 +1fde18217ffb740b720e1ea971e95454f215b9d3 2.3.3 +863c11ee0692f5d0d52ff63a18718f380f0de8f3 2.3.4 +372aeba72ef90a1fa5db5ac400df9db4a9b947e3 2.3.5 +e32202a9193dc3c6d4b693744b24bd5484062432 2.3.6 +d9976d1c827dcee6145ed255271aa178a0612675 2.4.0 +780e5ca1d2e6d2e6ff19c536ea129372d1cbceaf 2.4.1 +3bcde92a0d52b9734cec8b6acd00336801f4e255 2.4.2 +c291e9d9f7383a4844a8d4acecdc083ba6cbd3a2 2.4.3 +f622b09a8ee29974bec3317f33baac0fc55d7fba 2.4.4 +50da474f4cecabecef815a9447dcaec6e0cef205 2.4.5 +740ceeeec07bd581865dbc19fbe874c8a893880c 2.4.6 +c9e4ac47a1e21dcd307dbbc01478743cbfe76af5 2.9.0 +cfde48b269b314cac69d676df8c90b8479f7b464 2.9.0.1 +61c8dd2437c6fcf22961d1661cee2710250a099b 2.9.1 +74489b94cb26025449ac1fde97a1e7ff3bbaf3bb 2.9.2 +c9a0a753afa083bbd0756c6b15c9fe5694f2af75 2.9.3 +2cccd46405972f7da2643a7e3781b4cd9998d997 3.0.0 +a2b297f5f9dd5bf524471894a9311ce2b1fbdafd 3.0.1 +a79fd6bdd8bfab83ef7e65f2525bc90f7370774c 3.1.0 +a065d00f225cf96643df659f87aa1579d059fdbd 3.1.1 diff -r a065d00f225c -r 5b6b892a6a67 LICENSE.html --- a/LICENSE.html Mon Jul 05 12:50:16 2010 +0000 +++ b/LICENSE.html Thu Feb 23 16:58:12 2012 -0500 @@ -43,8 +43,8 @@ tree for details.</p> <p>Note: rvm/src-generated/opt-burs/jburg contains a tool, jburg, -which was derived from iburg and is not distributed under the EPL. -See rvm/src-generated/opt-burs/jburg/LICENSE for details.</p> +which was derived from iburg and is therefore distributed under the MIT +license. See rvm/src-generated/opt-burs/jburg/LICENSE for details.</p> <p>The legal text of the Eclipse Public License is appended below for reference</p> @@ -282,4 +282,4 @@ </body> -</html> \ No newline at end of file +</html> diff -r a065d00f225c -r 5b6b892a6a67 MMTk/ext/vm/harness/org/mmtk/harness/vm/ActivePlan.java --- a/MMTk/ext/vm/harness/org/mmtk/harness/vm/ActivePlan.java Mon Jul 05 12:50:16 2010 +0000 +++ b/MMTk/ext/vm/harness/org/mmtk/harness/vm/ActivePlan.java Thu Feb 23 16:58:12 2012 -0500 @@ -14,7 +14,7 @@ import java.util.concurrent.BlockingQueue; -import org.mmtk.harness.Collector; +import org.mmtk.harness.Harness; import org.mmtk.harness.Mutator; import org.mmtk.harness.Mutators; import org.mmtk.harness.scheduler.Scheduler; @@ -31,7 +31,6 @@ */ @Uninterruptible public final class ActivePlan extends org.mmtk.vm.ActivePlan { - /** * Initialise static state * @param prefix The name of the plan class (prefix for the associated classes) @@ -65,7 +64,7 @@ /** @return The active <code>CollectorContext</code> instance. */ @Override - public CollectorContext collector() { return Collector.current().getContext(); }; + public CollectorContext collector() { return Scheduler.currentCollector(); }; /** @return The active <code>MutatorContext</code> instance. */ @Override @@ -77,7 +76,7 @@ /** @return The number of registered <code>CollectorContext</code> instances. */ @Override - public int collectorCount() { return Collector.count(); } + public int collectorCount() { return Harness.collectors.getValue(); } private BlockingQueue<Mutator> mutators = null; @@ -103,4 +102,10 @@ Mutator m = mutators.poll(); return m == null ? null : m.getContext(); } + + @Override + public boolean isMutator() { + return Scheduler.isMutator(); + } } + diff -r a065d00f225c -r 5b6b892a6a67 MMTk/ext/vm/harness/org/mmtk/harness/vm/Assert.java --- a/MMTk/ext/vm/harness/org/mmtk/harness/vm/Assert.java Mon Jul 05 12:50:16 2010 +0000 +++ b/MMTk/ext/vm/harness/org/mmtk/harness/vm/Assert.java Thu Feb 23 16:58:12 2012 -0500 @@ -24,7 +24,7 @@ * Used from within the interface to indicate features that are not implemented yet. */ public static void notImplemented() { - throw new RuntimeException("Not Implemented"); + throw new UnsupportedOperationException("Not Implemented"); } /** @@ -77,7 +77,7 @@ * * @return <code>true</code> if the virtual machine is running */ - @Override + //@Override public boolean runningVM() { return true; } diff -r a065d00f225c -r 5b6b892a6a67 MMTk/ext/vm/harness/org/mmtk/harness/vm/Collection.java --- a/MMTk/ext/vm/harness/org/mmtk/harness/vm/Collection.java Mon Jul 05 12:50:16 2010 +0000 +++ b/MMTk/ext/vm/harness/org/mmtk/harness/vm/Collection.java Thu Feb 23 16:58:12 2012 -0500 @@ -12,7 +12,6 @@ */ package org.mmtk.harness.vm; -import org.mmtk.harness.Collector; import org.mmtk.harness.Harness; import org.mmtk.harness.Mutator; import org.mmtk.harness.Mutators; @@ -20,147 +19,12 @@ import org.mmtk.harness.scheduler.Scheduler; import org.mmtk.plan.CollectorContext; import org.mmtk.plan.MutatorContext; -import org.mmtk.plan.Plan; -import org.mmtk.utility.options.Options; import org.vmmagic.pragma.*; @Uninterruptible public class Collection extends org.mmtk.vm.Collection { - /**************************************************************************** - * - * Class variables - */ - - /** - * Triggers a collection. - * - * @param why the reason why a collection was triggered. 0 to - * <code>TRIGGER_REASONS - 1</code>. - */ - @Override - public void triggerCollection(int why) { - if (Options.verbose.getValue() >= 4) { - new Exception("Collection trigger: " + triggerReasons[why]).printStackTrace(); - } - - Plan.setCollectionTriggered(); - - if (Options.verbose.getValue() >= 1) { - if (why == EXTERNAL_GC_TRIGGER) { - System.err.print("[Forced GC]"); - } else if (why == INTERNAL_PHASE_GC_TRIGGER) { - System.err.print("[Phase GC]"); - } - } - - Mutator mutator = Mutator.current(); - if (why != EXTERNAL_GC_TRIGGER && why != INTERNAL_PHASE_GC_TRIGGER) { - mutator.reportCollectionAttempt(); - } - - if (mutator.isOutOfMemory()) throw new OutOfMemory(); - - Collector.triggerGC(why); - Scheduler.waitForGC(); - - if (mutator.isOutOfMemory() && !mutator.isPhysicalAllocationFailure()) { - throw new OutOfMemory(); - } - } - - /** - * Joins an already requested collection. - */ - @Override - public void joinCollection() { - while (Plan.isCollectionTriggered()) { - /* allow a gc thread to run */ - Mutator.current().gcSafePoint(); - } - Mutator mutator = Mutator.current(); - if (mutator.isOutOfMemory() && !mutator.isPhysicalAllocationFailure()) { - throw new OutOfMemory(); - } - } - - /** - * Trigger an asynchronous collection, checking for memory - * exhaustion first. - * - * @param why the reason why a collection was triggered. 0 to - * <code>TRIGGER_REASONS - 1</code>. - */ - @Override - public void triggerAsyncCollection(int why) { - Plan.setCollectionTriggered(); - if (Options.verbose.getValue() >= 1) { - if (why == INTERNAL_PHASE_GC_TRIGGER) { - System.err.print("[Async-Phase GC]"); - } else { - System.err.print("[Async GC]"); - } - } - - Collector.triggerGC(why); - } - - /** ... [truncated message content] |