From zhengyu.gu at oracle.com Wed May 2 09:27:04 2012 From: zhengyu.gu at oracle.com (zhengyu.gu at oracle.com) Date: Wed, 02 May 2012 16:27:04 +0000 Subject: hg: hsx/hotspot-main/hotspot: 7 new changesets Message-ID: <20120502162728.77F9C470EE@hg.openjdk.java.net> Changeset: f3a4ee95783b Author: kevinw Date: 2012-04-20 14:55 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/f3a4ee95783b 7162488: VM not printing unknown -XX options Reviewed-by: dholmes, kamg ! src/share/vm/runtime/arguments.cpp + test/runtime/7162488/Test7162488.sh Changeset: 29ee40a082d3 Author: sla Date: 2012-04-23 13:30 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/29ee40a082d3 7162063: libsaproc debug print should format size_t correctly on 64bit platform Reviewed-by: rbackman, mgronlun, dholmes ! agent/src/os/linux/ps_core.c Changeset: f33c4d0f4c9e Author: dcubed Date: 2012-04-23 11:03 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/f33c4d0f4c9e Merge Changeset: d652a62d6e03 Author: dcubed Date: 2012-03-23 11:50 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/d652a62d6e03 7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris Summary: Add support for ENABLE_FULL_DEBUG_SYMBOLS and ZIP_DEBUGINFO_FILES build flags. Add support for .diz files. Reviewed-by: dholmes, ohair, sspitsyn ! make/Makefile ! make/linux/Makefile ! make/linux/makefiles/buildtree.make ! make/linux/makefiles/defs.make ! make/linux/makefiles/gcc.make ! make/linux/makefiles/jsig.make ! make/linux/makefiles/saproc.make ! make/linux/makefiles/vm.make ! make/solaris/Makefile ! make/solaris/makefiles/buildtree.make ! make/solaris/makefiles/defs.make ! make/solaris/makefiles/dtrace.make ! make/solaris/makefiles/jsig.make ! make/solaris/makefiles/saproc.make ! make/solaris/makefiles/sparcWorks.make ! make/solaris/makefiles/vm.make ! make/windows/build.make ! make/windows/makefiles/compile.make ! make/windows/makefiles/debug.make ! make/windows/makefiles/defs.make ! make/windows/makefiles/fastdebug.make ! make/windows/makefiles/product.make ! make/windows/makefiles/sa.make Changeset: 744728c16316 Author: dcubed Date: 2012-04-03 09:48 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/744728c16316 7158067: FDS: ENABLE_FULL_DEBUG_SYMBOLS flag should only affect product builds Summary: Build option FULL_DEBUG_SYMBOLS=0 only affects product builds. Reviewed-by: ohair, jmelvin, sspitsyn ! make/Makefile ! make/linux/Makefile ! make/linux/makefiles/defs.make ! make/solaris/Makefile ! make/solaris/makefiles/defs.make ! make/windows/makefiles/defs.make Changeset: 74c359c4a9e5 Author: dcubed Date: 2012-04-24 15:20 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/74c359c4a9e5 Merge ! make/Makefile ! make/linux/Makefile ! make/linux/makefiles/buildtree.make ! make/linux/makefiles/defs.make ! make/linux/makefiles/gcc.make ! make/linux/makefiles/vm.make ! make/solaris/makefiles/buildtree.make ! make/solaris/makefiles/defs.make ! make/solaris/makefiles/sparcWorks.make ! make/solaris/makefiles/vm.make ! make/windows/build.make ! make/windows/makefiles/compile.make ! make/windows/makefiles/debug.make ! make/windows/makefiles/defs.make ! make/windows/makefiles/fastdebug.make ! make/windows/makefiles/product.make Changeset: d6c393b0164b Author: dcubed Date: 2012-04-25 15:06 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/d6c393b0164b 7164344: enabling ZIP_DEBUGINFO_FILES causes unexpected test failures on Solaris and Windows Summary: Disable FDS by default on Solaris; disable ZIP_DEBUGINFO_FILES by default on Windows. Reviewed-by: acorn, sspitsyn ! make/solaris/makefiles/defs.make ! make/windows/makefiles/defs.make From vladimir.danushevsky at oracle.com Thu May 3 22:53:55 2012 From: vladimir.danushevsky at oracle.com (vladimir.danushevsky at oracle.com) Date: Fri, 04 May 2012 05:53:55 +0000 Subject: hg: hsx/hotspot-main/hotspot: 2 new changesets Message-ID: <20120504055403.6A38B47143@hg.openjdk.java.net> Changeset: 973046802b6f Author: dlong Date: 2012-04-26 16:24 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/973046802b6f 7162955: Attach api on Solaris, too many open files Summary: Release server-side socket after client receives it. Reviewed-by: sla, dsamersoff, dcubed, acorn Contributed-by: dean.long at oracle.com ! src/os/solaris/vm/attachListener_solaris.cpp Changeset: 6f0612ea55ce Author: jprovino Date: 2012-05-02 15:47 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/6f0612ea55ce Merge From john.coomes at oracle.com Fri May 4 13:01:56 2012 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 04 May 2012 20:01:56 +0000 Subject: hg: hsx/hotspot-main/hotspot: 6 new changesets Message-ID: <20120504200208.A875947160@hg.openjdk.java.net> Changeset: 9f059abe8cf2 Author: jmasa Date: 2012-03-29 19:46 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/9f059abe8cf2 7131629: Generalize the CMS free list code Summary: Make the FreeChunk, FreeList, TreeList, and BinaryTreeDictionary classes usable outside CMS. Reviewed-by: brutisso, johnc, jwilhelm Contributed-by: coleen.phillimore at oracle.com - src/share/vm/gc_implementation/concurrentMarkSweep/binaryTreeDictionary.cpp - src/share/vm/gc_implementation/concurrentMarkSweep/binaryTreeDictionary.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/cmsPermGen.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/cmsPermGen.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp - src/share/vm/gc_implementation/concurrentMarkSweep/freeBlockDictionary.cpp - src/share/vm/gc_implementation/concurrentMarkSweep/freeBlockDictionary.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/freeChunk.cpp - src/share/vm/gc_implementation/concurrentMarkSweep/freeList.cpp - src/share/vm/gc_implementation/concurrentMarkSweep/freeList.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/vmStructs_cms.hpp + src/share/vm/memory/binaryTreeDictionary.cpp + src/share/vm/memory/binaryTreeDictionary.hpp + src/share/vm/memory/freeBlockDictionary.cpp + src/share/vm/memory/freeBlockDictionary.hpp + src/share/vm/memory/freeList.cpp + src/share/vm/memory/freeList.hpp ! src/share/vm/memory/generationSpec.cpp ! src/share/vm/precompiled/precompiled.hpp ! src/share/vm/runtime/vmStructs.cpp Changeset: 8a2e5a6a19a4 Author: johnc Date: 2012-04-25 10:23 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/8a2e5a6a19a4 7143490: G1: Remove HeapRegion::_top_at_conc_mark_count Summary: Removed the HeapRegion::_top_at_conc_mark_count field. It is no longer needed as a result of the changes for 6888336 and 7127706. Refactored the closures that finalize and verify the liveness counting data so that common functionality was placed into a base class. Reviewed-by: brutisso, tonyp ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp ! src/share/vm/gc_implementation/g1/heapRegion.cpp ! src/share/vm/gc_implementation/g1/heapRegion.hpp ! src/share/vm/gc_implementation/g1/heapRegion.inline.hpp Changeset: f69a5d43dc19 Author: jmasa Date: 2012-04-25 09:55 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/f69a5d43dc19 7164144: Fix variable naming style in freeBlockDictionary.* and binaryTreeDictionary* Summary: Fix naming style to be consistent with the predominant hotspot style. Reviewed-by: ysr, brutisso ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/freeChunk.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/promotionInfo.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/promotionInfo.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/vmStructs_cms.hpp ! src/share/vm/gc_implementation/shared/allocationStats.hpp ! src/share/vm/memory/binaryTreeDictionary.cpp ! src/share/vm/memory/binaryTreeDictionary.hpp ! src/share/vm/memory/freeBlockDictionary.cpp ! src/share/vm/memory/freeBlockDictionary.hpp ! src/share/vm/memory/freeList.cpp ! src/share/vm/memory/freeList.hpp Changeset: ee89f2110312 Author: jmasa Date: 2012-04-25 15:51 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/ee89f2110312 Merge Changeset: 48fac5d60c3c Author: brutisso Date: 2012-04-25 12:36 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/48fac5d60c3c 7163848: G1: Log GC Cause for a GC Reviewed-by: johnc, jwilhelm, jmasa ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp Changeset: bb18e8eecb7e Author: jcoomes Date: 2012-05-04 10:46 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/bb18e8eecb7e Merge - src/share/vm/gc_implementation/concurrentMarkSweep/binaryTreeDictionary.cpp - src/share/vm/gc_implementation/concurrentMarkSweep/binaryTreeDictionary.hpp - src/share/vm/gc_implementation/concurrentMarkSweep/freeBlockDictionary.cpp - src/share/vm/gc_implementation/concurrentMarkSweep/freeBlockDictionary.hpp - src/share/vm/gc_implementation/concurrentMarkSweep/freeList.cpp - src/share/vm/gc_implementation/concurrentMarkSweep/freeList.hpp From alejandro.murillo at oracle.com Fri May 4 16:12:36 2012 From: alejandro.murillo at oracle.com (alejandro.murillo at oracle.com) Date: Fri, 04 May 2012 23:12:36 +0000 Subject: hg: hsx/hsx24/hotspot: 19 new changesets Message-ID: <20120504231315.BF90847164@hg.openjdk.java.net> Changeset: bfcf92bfefb8 Author: katleman Date: 2012-04-26 14:05 -0700 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/bfcf92bfefb8 Added tag jdk8-b36 for changeset 50b4400ca1ec ! .hgtags Changeset: 3c91f2c9fd21 Author: amurillo Date: 2012-04-20 17:13 -0700 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/3c91f2c9fd21 7163193: new hotspot build - hs24-b09 Reviewed-by: jcoomes ! make/hotspot_version Changeset: f3a4ee95783b Author: kevinw Date: 2012-04-20 14:55 +0100 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/f3a4ee95783b 7162488: VM not printing unknown -XX options Reviewed-by: dholmes, kamg ! src/share/vm/runtime/arguments.cpp + test/runtime/7162488/Test7162488.sh Changeset: 29ee40a082d3 Author: sla Date: 2012-04-23 13:30 +0200 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/29ee40a082d3 7162063: libsaproc debug print should format size_t correctly on 64bit platform Reviewed-by: rbackman, mgronlun, dholmes ! agent/src/os/linux/ps_core.c Changeset: f33c4d0f4c9e Author: dcubed Date: 2012-04-23 11:03 -0700 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/f33c4d0f4c9e Merge Changeset: d652a62d6e03 Author: dcubed Date: 2012-03-23 11:50 -0700 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/d652a62d6e03 7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris Summary: Add support for ENABLE_FULL_DEBUG_SYMBOLS and ZIP_DEBUGINFO_FILES build flags. Add support for .diz files. Reviewed-by: dholmes, ohair, sspitsyn ! make/Makefile ! make/linux/Makefile ! make/linux/makefiles/buildtree.make ! make/linux/makefiles/defs.make ! make/linux/makefiles/gcc.make ! make/linux/makefiles/jsig.make ! make/linux/makefiles/saproc.make ! make/linux/makefiles/vm.make ! make/solaris/Makefile ! make/solaris/makefiles/buildtree.make ! make/solaris/makefiles/defs.make ! make/solaris/makefiles/dtrace.make ! make/solaris/makefiles/jsig.make ! make/solaris/makefiles/saproc.make ! make/solaris/makefiles/sparcWorks.make ! make/solaris/makefiles/vm.make ! make/windows/build.make ! make/windows/makefiles/compile.make ! make/windows/makefiles/debug.make ! make/windows/makefiles/defs.make ! make/windows/makefiles/fastdebug.make ! make/windows/makefiles/product.make ! make/windows/makefiles/sa.make Changeset: 744728c16316 Author: dcubed Date: 2012-04-03 09:48 -0700 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/744728c16316 7158067: FDS: ENABLE_FULL_DEBUG_SYMBOLS flag should only affect product builds Summary: Build option FULL_DEBUG_SYMBOLS=0 only affects product builds. Reviewed-by: ohair, jmelvin, sspitsyn ! make/Makefile ! make/linux/Makefile ! make/linux/makefiles/defs.make ! make/solaris/Makefile ! make/solaris/makefiles/defs.make ! make/windows/makefiles/defs.make Changeset: 74c359c4a9e5 Author: dcubed Date: 2012-04-24 15:20 -0700 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/74c359c4a9e5 Merge ! make/Makefile ! make/linux/Makefile ! make/linux/makefiles/buildtree.make ! make/linux/makefiles/defs.make ! make/linux/makefiles/gcc.make ! make/linux/makefiles/vm.make ! make/solaris/makefiles/buildtree.make ! make/solaris/makefiles/defs.make ! make/solaris/makefiles/sparcWorks.make ! make/solaris/makefiles/vm.make ! make/windows/build.make ! make/windows/makefiles/compile.make ! make/windows/makefiles/debug.make ! make/windows/makefiles/defs.make ! make/windows/makefiles/fastdebug.make ! make/windows/makefiles/product.make Changeset: d6c393b0164b Author: dcubed Date: 2012-04-25 15:06 -0700 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/d6c393b0164b 7164344: enabling ZIP_DEBUGINFO_FILES causes unexpected test failures on Solaris and Windows Summary: Disable FDS by default on Solaris; disable ZIP_DEBUGINFO_FILES by default on Windows. Reviewed-by: acorn, sspitsyn ! make/solaris/makefiles/defs.make ! make/windows/makefiles/defs.make Changeset: 973046802b6f Author: dlong Date: 2012-04-26 16:24 -0400 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/973046802b6f 7162955: Attach api on Solaris, too many open files Summary: Release server-side socket after client receives it. Reviewed-by: sla, dsamersoff, dcubed, acorn Contributed-by: dean.long at oracle.com ! src/os/solaris/vm/attachListener_solaris.cpp Changeset: 6f0612ea55ce Author: jprovino Date: 2012-05-02 15:47 -0400 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/6f0612ea55ce Merge Changeset: 9f059abe8cf2 Author: jmasa Date: 2012-03-29 19:46 -0700 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/9f059abe8cf2 7131629: Generalize the CMS free list code Summary: Make the FreeChunk, FreeList, TreeList, and BinaryTreeDictionary classes usable outside CMS. Reviewed-by: brutisso, johnc, jwilhelm Contributed-by: coleen.phillimore at oracle.com - src/share/vm/gc_implementation/concurrentMarkSweep/binaryTreeDictionary.cpp - src/share/vm/gc_implementation/concurrentMarkSweep/binaryTreeDictionary.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/cmsPermGen.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/cmsPermGen.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp - src/share/vm/gc_implementation/concurrentMarkSweep/freeBlockDictionary.cpp - src/share/vm/gc_implementation/concurrentMarkSweep/freeBlockDictionary.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/freeChunk.cpp - src/share/vm/gc_implementation/concurrentMarkSweep/freeList.cpp - src/share/vm/gc_implementation/concurrentMarkSweep/freeList.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/vmStructs_cms.hpp + src/share/vm/memory/binaryTreeDictionary.cpp + src/share/vm/memory/binaryTreeDictionary.hpp + src/share/vm/memory/freeBlockDictionary.cpp + src/share/vm/memory/freeBlockDictionary.hpp + src/share/vm/memory/freeList.cpp + src/share/vm/memory/freeList.hpp ! src/share/vm/memory/generationSpec.cpp ! src/share/vm/precompiled/precompiled.hpp ! src/share/vm/runtime/vmStructs.cpp Changeset: 8a2e5a6a19a4 Author: johnc Date: 2012-04-25 10:23 -0700 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/8a2e5a6a19a4 7143490: G1: Remove HeapRegion::_top_at_conc_mark_count Summary: Removed the HeapRegion::_top_at_conc_mark_count field. It is no longer needed as a result of the changes for 6888336 and 7127706. Refactored the closures that finalize and verify the liveness counting data so that common functionality was placed into a base class. Reviewed-by: brutisso, tonyp ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp ! src/share/vm/gc_implementation/g1/heapRegion.cpp ! src/share/vm/gc_implementation/g1/heapRegion.hpp ! src/share/vm/gc_implementation/g1/heapRegion.inline.hpp Changeset: f69a5d43dc19 Author: jmasa Date: 2012-04-25 09:55 -0700 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/f69a5d43dc19 7164144: Fix variable naming style in freeBlockDictionary.* and binaryTreeDictionary* Summary: Fix naming style to be consistent with the predominant hotspot style. Reviewed-by: ysr, brutisso ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/freeChunk.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/promotionInfo.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/promotionInfo.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/vmStructs_cms.hpp ! src/share/vm/gc_implementation/shared/allocationStats.hpp ! src/share/vm/memory/binaryTreeDictionary.cpp ! src/share/vm/memory/binaryTreeDictionary.hpp ! src/share/vm/memory/freeBlockDictionary.cpp ! src/share/vm/memory/freeBlockDictionary.hpp ! src/share/vm/memory/freeList.cpp ! src/share/vm/memory/freeList.hpp Changeset: ee89f2110312 Author: jmasa Date: 2012-04-25 15:51 -0700 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/ee89f2110312 Merge Changeset: 48fac5d60c3c Author: brutisso Date: 2012-04-25 12:36 +0200 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/48fac5d60c3c 7163848: G1: Log GC Cause for a GC Reviewed-by: johnc, jwilhelm, jmasa ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp Changeset: bb18e8eecb7e Author: jcoomes Date: 2012-05-04 10:46 -0700 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/bb18e8eecb7e Merge - src/share/vm/gc_implementation/concurrentMarkSweep/binaryTreeDictionary.cpp - src/share/vm/gc_implementation/concurrentMarkSweep/binaryTreeDictionary.hpp - src/share/vm/gc_implementation/concurrentMarkSweep/freeBlockDictionary.cpp - src/share/vm/gc_implementation/concurrentMarkSweep/freeBlockDictionary.hpp - src/share/vm/gc_implementation/concurrentMarkSweep/freeList.cpp - src/share/vm/gc_implementation/concurrentMarkSweep/freeList.hpp Changeset: 7d5ec8bf38d1 Author: amurillo Date: 2012-05-04 14:10 -0700 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/7d5ec8bf38d1 Merge - src/share/vm/gc_implementation/concurrentMarkSweep/binaryTreeDictionary.cpp - src/share/vm/gc_implementation/concurrentMarkSweep/binaryTreeDictionary.hpp - src/share/vm/gc_implementation/concurrentMarkSweep/freeBlockDictionary.cpp - src/share/vm/gc_implementation/concurrentMarkSweep/freeBlockDictionary.hpp - src/share/vm/gc_implementation/concurrentMarkSweep/freeList.cpp - src/share/vm/gc_implementation/concurrentMarkSweep/freeList.hpp Changeset: 4e6554041847 Author: amurillo Date: 2012-05-04 14:10 -0700 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/4e6554041847 Added tag hs24-b09 for changeset 7d5ec8bf38d1 ! .hgtags From alejandro.murillo at oracle.com Fri May 4 20:10:10 2012 From: alejandro.murillo at oracle.com (alejandro.murillo at oracle.com) Date: Sat, 05 May 2012 03:10:10 +0000 Subject: hg: hsx/hotspot-main/hotspot: 4 new changesets Message-ID: <20120505031018.43FE447168@hg.openjdk.java.net> Changeset: bfcf92bfefb8 Author: katleman Date: 2012-04-26 14:05 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/bfcf92bfefb8 Added tag jdk8-b36 for changeset 50b4400ca1ec ! .hgtags Changeset: 7d5ec8bf38d1 Author: amurillo Date: 2012-05-04 14:10 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/7d5ec8bf38d1 Merge - src/share/vm/gc_implementation/concurrentMarkSweep/binaryTreeDictionary.cpp - src/share/vm/gc_implementation/concurrentMarkSweep/binaryTreeDictionary.hpp - src/share/vm/gc_implementation/concurrentMarkSweep/freeBlockDictionary.cpp - src/share/vm/gc_implementation/concurrentMarkSweep/freeBlockDictionary.hpp - src/share/vm/gc_implementation/concurrentMarkSweep/freeList.cpp - src/share/vm/gc_implementation/concurrentMarkSweep/freeList.hpp Changeset: 4e6554041847 Author: amurillo Date: 2012-05-04 14:10 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/4e6554041847 Added tag hs24-b09 for changeset 7d5ec8bf38d1 ! .hgtags Changeset: 36538fd1225e Author: amurillo Date: 2012-05-04 15:26 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/36538fd1225e 7166615: new hotspot build - hs24-b10 Reviewed-by: jcoomes ! make/hotspot_version From david.holmes at oracle.com Sun May 6 06:49:41 2012 From: david.holmes at oracle.com (david.holmes at oracle.com) Date: Sun, 06 May 2012 13:49:41 +0000 Subject: hg: hsx/hotspot-main/hotspot: 2 new changesets Message-ID: <20120506134950.3BED74717A@hg.openjdk.java.net> Changeset: 8bafad97cd26 Author: jiangli Date: 2012-05-02 13:21 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/8bafad97cd26 7158552: The instanceKlsss::_host_klass is only needed for anonymous class for JSR 292 support. Summary: Change the _host_klass to be conditionally created embedded instanceKlass field. Reviewed-by: jrose, coleenp, dholmes ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/memory/oopFactory.cpp ! src/share/vm/memory/oopFactory.hpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/instanceKlassKlass.cpp ! src/share/vm/oops/instanceKlassKlass.hpp Changeset: 38b4116b6766 Author: jprovino Date: 2012-05-05 10:24 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/38b4116b6766 Merge From david.holmes at oracle.com Mon May 7 01:52:16 2012 From: david.holmes at oracle.com (David Holmes) Date: Mon, 07 May 2012 18:52:16 +1000 Subject: JVM is getting crashed, whenever heap memory is exceeding 1.6 GB In-Reply-To: References: Message-ID: <4FA78D40.70906@oracle.com> Hi Meeraj, Nice chatting to you at JavaOne in Hyderabad. Thanks for posting the information. I'll take a look and see if I can reproduce. Hotspot folks: as I understand the problem (and this is being seen by a number of folk in different circumstances) a 64-bit JVM running with -Xmx5G on a 16G system seems to always fail with OOME when ~1.6GB of heap has been consumed. I will try to produce and run the usual basic memory diagnostics. Cheers, David On 7/05/2012 4:27 PM, MEERAJ KANAPARTHI wrote: > Hello all, > > JVM is hanged or crashed, whenever heap memory is exceeding 1.6 GB. > We were running ant build, in dual core server with 16GB Ram. The build > got failed. > We observed, that the JVM was crashing, when heap memory exceeded 1.6 GB. > > We have noticed same behavior with IBM portal server. > > I am attaching one sample program. Please try to run the program with > different -xx options. > You will find that no matter how much heap memory is set or providing > excess RAM memory (16GB). > JVM fails when heap memory reaches to 1.6 GB. One can check memory size > in windows task manager. > > > Regards, > Meeraj From rednaxelafx at gmail.com Mon May 7 17:54:48 2012 From: rednaxelafx at gmail.com (Krystal Mok) Date: Tue, 8 May 2012 08:54:48 +0800 Subject: Crash when using a built JVM In-Reply-To: <4FA8235B.9020706@oracle.com> References: <4FA8235B.9020706@oracle.com> Message-ID: Hi Azeem, Did you build the HotSpot VM only, and put it in a Oracle JDK7u4 installation? This kind of mix-and-match used to work without problems (mostly), but in JDK7u4 there are new proprietary features in Oracle JDK (e.g. Java Flight Recorder) that's not part of OpenJDK. You're getting a segfault caused by null pointer in JFR-related code. You should probably build the entire JDK and use that, instead of mixing it with Oracle JDK on 7u4. P.S. This discussion may be better suited on hotspot-dev, since it's not a compiler problem. Cc'ing. - Kris On 2012-5-8, at 3:32, Azeem Jiva wrote: > I'm trying to run WLS with a JVM that I built pulled from the openjdk repository. I've made no changes, just pulled the recent source, and I get the crash (attached). Looks like some mismatch between the JRockit library and HotSpot? Ideas? > -- > Azeem Jiva > @javawithjiva > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20120508/ed8ce193/attachment.html From alejandro.murillo at oracle.com Mon May 7 21:56:06 2012 From: alejandro.murillo at oracle.com (alejandro.murillo at oracle.com) Date: Tue, 08 May 2012 04:56:06 +0000 Subject: hg: hsx/hsx23.2/hotspot: 7167028: new hotspot build - hs23.2-b01 Message-ID: <20120508045611.B6C91471B0@hg.openjdk.java.net> Changeset: c1d1c84a2124 Author: amurillo Date: 2012-05-07 14:54 -0700 URL: http://hg.openjdk.java.net/hsx/hsx23.2/hotspot/rev/c1d1c84a2124 7167028: new hotspot build - hs23.2-b01 Reviewed-by: jcoomes ! make/hotspot_version From staffan.larsen at oracle.com Tue May 8 07:15:43 2012 From: staffan.larsen at oracle.com (staffan.larsen at oracle.com) Date: Tue, 08 May 2012 14:15:43 +0000 Subject: hg: hsx/hsx23.2/hotspot: 7132070: Use a mach_port_t as the OSThread thread_id rather than pthread_t on BSD/OSX Message-ID: <20120508141546.09472471BA@hg.openjdk.java.net> Changeset: adaa2f10c81b Author: sla Date: 2012-02-19 13:11 +0100 URL: http://hg.openjdk.java.net/hsx/hsx23.2/hotspot/rev/adaa2f10c81b 7132070: Use a mach_port_t as the OSThread thread_id rather than pthread_t on BSD/OSX Summary: Change OSThread to use mach thread_t Reviewed-by: phh, dcubed ! src/cpu/x86/vm/vm_version_x86.cpp ! src/os/bsd/vm/osThread_bsd.cpp ! src/os/bsd/vm/osThread_bsd.hpp ! src/os/bsd/vm/os_bsd.cpp ! src/os_cpu/bsd_x86/vm/vmStructs_bsd_x86.hpp ! src/share/vm/utilities/globalDefinitions_gcc.hpp From adinn at redhat.com Tue May 8 08:08:20 2012 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 08 May 2012 16:08:20 +0100 Subject: Hotspot Zero patch for invokedynamic Message-ID: <4FA936E4.6020809@redhat.com> Enclosed below are details of a patch to the hsx/hotspot-main tree. The patch fixes some errors which manifested in the Zero ARM code when running the TCK tests which exercise method handles. This patch has already been applied to the iced tea 7-2.1 hotspot hg repository and found to correct the errors when retested on ARM. However, since the changes actually apply to Zero code (none of which is not ARM-specific) I think it really ought to be included in the hotspot tree. I would be grateful if someone would agree to sponsor this patch for inclusion into the relevant hotspot repo(s). n.b. I originally posted this last week with a full webrev attached but the note was held (for all I know still may be held) awaiting moderation because of the size of the attachment. I will happily forward the webrev to whoever is willing to sponsor this patch. regards, Andrew Dinn ----------- Principal Software Engineer Red Hat UK Ltd Registered in UK and Wales under Company Registration No. 3798903 Directors: Michael Cunningham (USA), Mark Hegarty (Ireland), Matt Parson (USA), Charlie Peters (USA) index.html ----- 8< -------- 8< -------- 8< -------- 8< -------- 8< -------- 8< --- Code Review for hotspot Prepared by: "Andrew Dinn " on Fri May 4 17:40:58 BST 2012 Workspace: /ssd/home/adinn/redhat/openjdk/hsx/hotspot-main/hotspot Compare against: http://hg.openjdk.java.net/hsx/hotspot-main//hotspot Compare against version: 3292 Summary of changes: 19 lines changed: 19 ins; 0 del; 0 mod; 1565 unchg Patch of changes: hotspot.patch ----- 8< -------- 8< -------- 8< -------- 8< -------- 8< -------- 8< --- hotspot.patch: ----- 8< -------- 8< -------- 8< -------- 8< -------- 8< -------- 8< --- --- old/src/cpu/zero/vm/cppInterpreter_zero.cpp 2012-05-04 17:40:57.837805644 +0100 +++ new/src/cpu/zero/vm/cppInterpreter_zero.cpp 2012-05-04 17:40:57.756806657 +0100 @@ -1026,6 +1026,16 @@ java_lang_invoke_AdapterMethodHandle::vmargslot(method_handle); oop arg = VMSLOTS_OBJECT(arg_slot); jvalue arg_value; + if (arg == NULL) { + // queue a nullpointer exception for the caller + stack->set_sp(calculate_unwind_sp(stack, method_handle)); + CALL_VM_NOCHECK_NOFIX( + throw_exception( + thread, vmSymbols::java_lang_NullPointerException())); + // NB all oops trashed! + assert(HAS_PENDING_EXCEPTION, "should do"); + return; + } BasicType arg_type = java_lang_boxing_object::get_value(arg, &arg_value); if (arg_type == T_LONG || arg_type == T_DOUBLE) { intptr_t *unwind_sp = calculate_unwind_sp(stack, method_handle); @@ -1112,6 +1122,15 @@ case T_SHORT: return; } + // INT results sometimes need narrowing + case T_BOOLEAN: + case T_CHAR: + case T_BYTE: + case T_SHORT: + switch (src_rtype) { + case T_INT: + return; + } } tty->print_cr("unhandled conversion:"); ----- 8< -------- 8< -------- 8< -------- 8< -------- 8< -------- 8< --- From staffan.larsen at oracle.com Tue May 8 11:27:05 2012 From: staffan.larsen at oracle.com (staffan.larsen at oracle.com) Date: Tue, 08 May 2012 18:27:05 +0000 Subject: hg: hsx/hsx23.2/hotspot: 7152800: All tests using the attach API fail with "well-known file is not secure" on Mac OS X Message-ID: <20120508182709.C5570471C7@hg.openjdk.java.net> Changeset: 8bf0501658ef Author: sla Date: 2012-03-19 20:13 +0100 URL: http://hg.openjdk.java.net/hsx/hsx23.2/hotspot/rev/8bf0501658ef 7152800: All tests using the attach API fail with "well-known file is not secure" on Mac OS X Summary: Create well-known file with effective group of the current process Reviewed-by: kamg, dcubed ! src/os/bsd/vm/attachListener_bsd.cpp From daniel.daugherty at oracle.com Tue May 8 15:59:26 2012 From: daniel.daugherty at oracle.com (daniel.daugherty at oracle.com) Date: Tue, 08 May 2012 22:59:26 +0000 Subject: hg: hsx/hsx23.2/hotspot: 4 new changesets Message-ID: <20120508225937.91EDC471D3@hg.openjdk.java.net> Changeset: d652a62d6e03 Author: dcubed Date: 2012-03-23 11:50 -0700 URL: http://hg.openjdk.java.net/hsx/hsx23.2/hotspot/rev/d652a62d6e03 7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris Summary: Add support for ENABLE_FULL_DEBUG_SYMBOLS and ZIP_DEBUGINFO_FILES build flags. Add support for .diz files. Reviewed-by: dholmes, ohair, sspitsyn ! make/Makefile ! make/linux/Makefile ! make/linux/makefiles/buildtree.make ! make/linux/makefiles/defs.make ! make/linux/makefiles/gcc.make ! make/linux/makefiles/jsig.make ! make/linux/makefiles/saproc.make ! make/linux/makefiles/vm.make ! make/solaris/Makefile ! make/solaris/makefiles/buildtree.make ! make/solaris/makefiles/defs.make ! make/solaris/makefiles/dtrace.make ! make/solaris/makefiles/jsig.make ! make/solaris/makefiles/saproc.make ! make/solaris/makefiles/sparcWorks.make ! make/solaris/makefiles/vm.make ! make/windows/build.make ! make/windows/makefiles/compile.make ! make/windows/makefiles/debug.make ! make/windows/makefiles/defs.make ! make/windows/makefiles/fastdebug.make ! make/windows/makefiles/product.make ! make/windows/makefiles/sa.make Changeset: 744728c16316 Author: dcubed Date: 2012-04-03 09:48 -0700 URL: http://hg.openjdk.java.net/hsx/hsx23.2/hotspot/rev/744728c16316 7158067: FDS: ENABLE_FULL_DEBUG_SYMBOLS flag should only affect product builds Summary: Build option FULL_DEBUG_SYMBOLS=0 only affects product builds. Reviewed-by: ohair, jmelvin, sspitsyn ! make/Makefile ! make/linux/Makefile ! make/linux/makefiles/defs.make ! make/solaris/Makefile ! make/solaris/makefiles/defs.make ! make/windows/makefiles/defs.make Changeset: 0653bc115ff5 Author: dcubed Date: 2012-05-08 11:37 -0700 URL: http://hg.openjdk.java.net/hsx/hsx23.2/hotspot/rev/0653bc115ff5 Merge Changeset: 690f89a699b1 Author: dcubed Date: 2012-05-08 11:40 -0700 URL: http://hg.openjdk.java.net/hsx/hsx23.2/hotspot/rev/690f89a699b1 7164344: enabling ZIP_DEBUGINFO_FILES causes unexpected test failures on Solaris and Windows Summary: Disable FDS by default on Solaris; disable ZIP_DEBUGINFO_FILES by default on Windows. Reviewed-by: acorn, sspitsyn ! make/solaris/makefiles/defs.make ! make/windows/makefiles/defs.make From david.holmes at oracle.com Tue May 8 18:00:27 2012 From: david.holmes at oracle.com (David Holmes) Date: Wed, 09 May 2012 11:00:27 +1000 Subject: Hotspot Zero patch for invokedynamic In-Reply-To: <4FA936E4.6020809@redhat.com> References: <4FA936E4.6020809@redhat.com> Message-ID: <4FA9C1AB.6010201@oracle.com> Hi Andrew, Is there some other Zero developer who can act as reviewer for this? Preferably someone with an OpenJDK username so it can be recorded in the changeset. Thanks, David On 9/05/2012 1:08 AM, Andrew Dinn wrote: > Enclosed below are details of a patch to the hsx/hotspot-main tree. The > patch fixes some errors which manifested in the Zero ARM code when > running the TCK tests which exercise method handles. This patch has > already been applied to the iced tea 7-2.1 hotspot hg repository and > found to correct the errors when retested on ARM. However, since the > changes actually apply to Zero code (none of which is not ARM-specific) > I think it really ought to be included in the hotspot tree. > > I would be grateful if someone would agree to sponsor this patch for > inclusion into the relevant hotspot repo(s). > > n.b. I originally posted this last week with a full webrev attached but > the note was held (for all I know still may be held) awaiting moderation > because of the size of the attachment. I will happily forward the webrev > to whoever is willing to sponsor this patch. > > regards, > > > Andrew Dinn > ----------- > Principal Software Engineer > Red Hat UK Ltd > Registered in UK and Wales under Company Registration No. 3798903 > Directors: Michael Cunningham (USA), Mark Hegarty (Ireland), Matt Parson > (USA), Charlie Peters (USA) > > index.html > ----- 8< -------- 8< -------- 8< -------- 8< -------- 8< -------- 8< --- > Code Review for hotspot > Prepared by: "Andrew Dinn " on Fri May 4 17:40:58 BST 2012 > Workspace: /ssd/home/adinn/redhat/openjdk/hsx/hotspot-main/hotspot > Compare against: http://hg.openjdk.java.net/hsx/hotspot-main//hotspot > Compare against version: 3292 > Summary of changes: 19 lines changed: 19 ins; 0 del; 0 mod; 1565 unchg > Patch of changes: hotspot.patch > ----- 8< -------- 8< -------- 8< -------- 8< -------- 8< -------- 8< --- > hotspot.patch: > ----- 8< -------- 8< -------- 8< -------- 8< -------- 8< -------- 8< --- > --- old/src/cpu/zero/vm/cppInterpreter_zero.cpp 2012-05-04 > 17:40:57.837805644 +0100 > +++ new/src/cpu/zero/vm/cppInterpreter_zero.cpp 2012-05-04 > 17:40:57.756806657 +0100 > @@ -1026,6 +1026,16 @@ > java_lang_invoke_AdapterMethodHandle::vmargslot(method_handle); > oop arg = VMSLOTS_OBJECT(arg_slot); > jvalue arg_value; > + if (arg == NULL) { > + // queue a nullpointer exception for the caller > + stack->set_sp(calculate_unwind_sp(stack, method_handle)); > + CALL_VM_NOCHECK_NOFIX( > + throw_exception( > + thread, vmSymbols::java_lang_NullPointerException())); > + // NB all oops trashed! > + assert(HAS_PENDING_EXCEPTION, "should do"); > + return; > + } > BasicType arg_type = java_lang_boxing_object::get_value(arg, > &arg_value); > if (arg_type == T_LONG || arg_type == T_DOUBLE) { > intptr_t *unwind_sp = calculate_unwind_sp(stack, method_handle); > @@ -1112,6 +1122,15 @@ > case T_SHORT: > return; > } > + // INT results sometimes need narrowing > + case T_BOOLEAN: > + case T_CHAR: > + case T_BYTE: > + case T_SHORT: > + switch (src_rtype) { > + case T_INT: > + return; > + } > } > > tty->print_cr("unhandled conversion:"); > ----- 8< -------- 8< -------- 8< -------- 8< -------- 8< -------- 8< --- From vladimir.kozlov at oracle.com Tue May 8 20:10:33 2012 From: vladimir.kozlov at oracle.com (vladimir.kozlov at oracle.com) Date: Wed, 09 May 2012 03:10:33 +0000 Subject: hg: hsx/hsx23.2/hotspot: 7167266: missing copyright notes in 3rd party code Message-ID: <20120509031039.27BD2471DC@hg.openjdk.java.net> Changeset: 28392714005e Author: kvn Date: 2012-05-08 15:47 -0700 URL: http://hg.openjdk.java.net/hsx/hsx23.2/hotspot/rev/28392714005e 7167266: missing copyright notes in 3rd party code Summary: add missing copyright notes to the regression test file. Reviewed-by: twisti, johnc ! test/compiler/7070134/Stemmer.java From ChrisPhi at LGonQn.Org Tue May 8 20:30:41 2012 From: ChrisPhi at LGonQn.Org (Chris Phillips @ T O) Date: Tue, 08 May 2012 23:30:41 -0400 Subject: Hotspot Zero patch for invokedynamic In-Reply-To: <4FA9C1AB.6010201@oracle.com> References: <4FA936E4.6020809@redhat.com> <4FA9C1AB.6010201@oracle.com> Message-ID: <4FA9E4E1.1040309@LGonQn.Org> Hi David, Yes, I have reviewed and applied it. Its OK for Zero, it fixes problems encountered in JSR 292 testing. Cheers! Chris On 08/05/12 09:00 PM, David Holmes wrote: > Hi Andrew, > > Is there some other Zero developer who can act as reviewer for this? > Preferably someone with an OpenJDK username so it can be recorded in > the changeset. > > Thanks, > David > > On 9/05/2012 1:08 AM, Andrew Dinn wrote: >> Enclosed below are details of a patch to the hsx/hotspot-main tree. The >> patch fixes some errors which manifested in the Zero ARM code when >> running the TCK tests which exercise method handles. This patch has >> already been applied to the iced tea 7-2.1 hotspot hg repository and >> found to correct the errors when retested on ARM. However, since the >> changes actually apply to Zero code (none of which is not ARM-specific) >> I think it really ought to be included in the hotspot tree. >> >> I would be grateful if someone would agree to sponsor this patch for >> inclusion into the relevant hotspot repo(s). >> >> n.b. I originally posted this last week with a full webrev attached but >> the note was held (for all I know still may be held) awaiting moderation >> because of the size of the attachment. I will happily forward the webrev >> to whoever is willing to sponsor this patch. >> >> regards, >> >> >> Andrew Dinn >> ----------- >> Principal Software Engineer >> Red Hat UK Ltd >> Registered in UK and Wales under Company Registration No. 3798903 >> Directors: Michael Cunningham (USA), Mark Hegarty (Ireland), Matt Parson >> (USA), Charlie Peters (USA) >> >> index.html >> ----- 8< -------- 8< -------- 8< -------- 8< -------- 8< >> -------- 8< --- >> Code Review for hotspot >> Prepared by: "Andrew Dinn " on Fri May 4 17:40:58 BST 2012 >> Workspace: /ssd/home/adinn/redhat/openjdk/hsx/hotspot-main/hotspot >> Compare against: http://hg.openjdk.java.net/hsx/hotspot-main//hotspot >> Compare against version: 3292 >> Summary of changes: 19 lines changed: 19 ins; 0 del; 0 mod; 1565 >> unchg >> Patch of changes: hotspot.patch >> ----- 8< -------- 8< -------- 8< -------- 8< -------- 8< >> -------- 8< --- >> hotspot.patch: >> ----- 8< -------- 8< -------- 8< -------- 8< -------- 8< >> -------- 8< --- >> --- old/src/cpu/zero/vm/cppInterpreter_zero.cpp 2012-05-04 >> 17:40:57.837805644 +0100 >> +++ new/src/cpu/zero/vm/cppInterpreter_zero.cpp 2012-05-04 >> 17:40:57.756806657 +0100 >> @@ -1026,6 +1026,16 @@ >> >> java_lang_invoke_AdapterMethodHandle::vmargslot(method_handle); >> oop arg = VMSLOTS_OBJECT(arg_slot); >> jvalue arg_value; >> + if (arg == NULL) { >> + // queue a nullpointer exception for the caller >> + stack->set_sp(calculate_unwind_sp(stack, method_handle)); >> + CALL_VM_NOCHECK_NOFIX( >> + throw_exception( >> + thread, vmSymbols::java_lang_NullPointerException())); >> + // NB all oops trashed! >> + assert(HAS_PENDING_EXCEPTION, "should do"); >> + return; >> + } >> BasicType arg_type = java_lang_boxing_object::get_value(arg, >> &arg_value); >> if (arg_type == T_LONG || arg_type == T_DOUBLE) { >> intptr_t *unwind_sp = calculate_unwind_sp(stack, >> method_handle); >> @@ -1112,6 +1122,15 @@ >> case T_SHORT: >> return; >> } >> + // INT results sometimes need narrowing >> + case T_BOOLEAN: >> + case T_CHAR: >> + case T_BYTE: >> + case T_SHORT: >> + switch (src_rtype) { >> + case T_INT: >> + return; >> + } >> } >> >> tty->print_cr("unhandled conversion:"); >> ----- 8< -------- 8< -------- 8< -------- 8< -------- 8< >> -------- 8< --- > > From david.holmes at oracle.com Tue May 8 20:53:57 2012 From: david.holmes at oracle.com (David Holmes) Date: Wed, 09 May 2012 13:53:57 +1000 Subject: Hotspot Zero patch for invokedynamic In-Reply-To: <4FA9E4E1.1040309@LGonQn.Org> References: <4FA936E4.6020809@redhat.com> <4FA9C1AB.6010201@oracle.com> <4FA9E4E1.1040309@LGonQn.Org> Message-ID: <4FA9EA55.2010406@oracle.com> On 9/05/2012 1:30 PM, Chris Phillips @ T O wrote: > Hi David, > > Yes, I have reviewed and applied it. Its OK for Zero, it fixes problems > encountered in JSR 292 testing. Great! Thanks. I'll file a CR and prepare the push. David > Cheers! > Chris > > > On 08/05/12 09:00 PM, David Holmes wrote: >> Hi Andrew, >> >> Is there some other Zero developer who can act as reviewer for this? >> Preferably someone with an OpenJDK username so it can be recorded in >> the changeset. >> >> Thanks, >> David >> >> On 9/05/2012 1:08 AM, Andrew Dinn wrote: >>> Enclosed below are details of a patch to the hsx/hotspot-main tree. The >>> patch fixes some errors which manifested in the Zero ARM code when >>> running the TCK tests which exercise method handles. This patch has >>> already been applied to the iced tea 7-2.1 hotspot hg repository and >>> found to correct the errors when retested on ARM. However, since the >>> changes actually apply to Zero code (none of which is not ARM-specific) >>> I think it really ought to be included in the hotspot tree. >>> >>> I would be grateful if someone would agree to sponsor this patch for >>> inclusion into the relevant hotspot repo(s). >>> >>> n.b. I originally posted this last week with a full webrev attached but >>> the note was held (for all I know still may be held) awaiting moderation >>> because of the size of the attachment. I will happily forward the webrev >>> to whoever is willing to sponsor this patch. >>> >>> regards, >>> >>> >>> Andrew Dinn >>> ----------- >>> Principal Software Engineer >>> Red Hat UK Ltd >>> Registered in UK and Wales under Company Registration No. 3798903 >>> Directors: Michael Cunningham (USA), Mark Hegarty (Ireland), Matt Parson >>> (USA), Charlie Peters (USA) >>> >>> index.html >>> ----- 8< -------- 8< -------- 8< -------- 8< -------- 8< -------- 8< --- >>> Code Review for hotspot >>> Prepared by: "Andrew Dinn " on Fri May 4 17:40:58 BST 2012 >>> Workspace: /ssd/home/adinn/redhat/openjdk/hsx/hotspot-main/hotspot >>> Compare against: http://hg.openjdk.java.net/hsx/hotspot-main//hotspot >>> Compare against version: 3292 >>> Summary of changes: 19 lines changed: 19 ins; 0 del; 0 mod; 1565 unchg >>> Patch of changes: hotspot.patch >>> ----- 8< -------- 8< -------- 8< -------- 8< -------- 8< -------- 8< --- >>> hotspot.patch: >>> ----- 8< -------- 8< -------- 8< -------- 8< -------- 8< -------- 8< --- >>> --- old/src/cpu/zero/vm/cppInterpreter_zero.cpp 2012-05-04 >>> 17:40:57.837805644 +0100 >>> +++ new/src/cpu/zero/vm/cppInterpreter_zero.cpp 2012-05-04 >>> 17:40:57.756806657 +0100 >>> @@ -1026,6 +1026,16 @@ >>> java_lang_invoke_AdapterMethodHandle::vmargslot(method_handle); >>> oop arg = VMSLOTS_OBJECT(arg_slot); >>> jvalue arg_value; >>> + if (arg == NULL) { >>> + // queue a nullpointer exception for the caller >>> + stack->set_sp(calculate_unwind_sp(stack, method_handle)); >>> + CALL_VM_NOCHECK_NOFIX( >>> + throw_exception( >>> + thread, vmSymbols::java_lang_NullPointerException())); >>> + // NB all oops trashed! >>> + assert(HAS_PENDING_EXCEPTION, "should do"); >>> + return; >>> + } >>> BasicType arg_type = java_lang_boxing_object::get_value(arg, >>> &arg_value); >>> if (arg_type == T_LONG || arg_type == T_DOUBLE) { >>> intptr_t *unwind_sp = calculate_unwind_sp(stack, method_handle); >>> @@ -1112,6 +1122,15 @@ >>> case T_SHORT: >>> return; >>> } >>> + // INT results sometimes need narrowing >>> + case T_BOOLEAN: >>> + case T_CHAR: >>> + case T_BYTE: >>> + case T_SHORT: >>> + switch (src_rtype) { >>> + case T_INT: >>> + return; >>> + } >>> } >>> >>> tty->print_cr("unhandled conversion:"); >>> ----- 8< -------- 8< -------- 8< -------- 8< -------- 8< -------- 8< --- >> >> > From david.holmes at oracle.com Tue May 8 21:35:07 2012 From: david.holmes at oracle.com (David Holmes) Date: Wed, 09 May 2012 14:35:07 +1000 Subject: Hotspot Zero patch for invokedynamic In-Reply-To: <4FA9E4E1.1040309@LGonQn.Org> References: <4FA936E4.6020809@redhat.com> <4FA9C1AB.6010201@oracle.com> <4FA9E4E1.1040309@LGonQn.Org> Message-ID: <4FA9F3FB.3010804@oracle.com> Andrew, Chris, Can you please check: http://cr.openjdk.java.net/~dholmes/7167406/webrev/ and confirm the attribution is correct. If so I will submit this to JPRT. Does this need to go into the 7u train as well? David On 9/05/2012 1:30 PM, Chris Phillips @ T O wrote: > Hi David, > > Yes, I have reviewed and applied it. Its OK for Zero, it fixes problems > encountered in JSR 292 testing. > > Cheers! > Chris > > > On 08/05/12 09:00 PM, David Holmes wrote: >> Hi Andrew, >> >> Is there some other Zero developer who can act as reviewer for this? >> Preferably someone with an OpenJDK username so it can be recorded in >> the changeset. >> >> Thanks, >> David >> >> On 9/05/2012 1:08 AM, Andrew Dinn wrote: >>> Enclosed below are details of a patch to the hsx/hotspot-main tree. The >>> patch fixes some errors which manifested in the Zero ARM code when >>> running the TCK tests which exercise method handles. This patch has >>> already been applied to the iced tea 7-2.1 hotspot hg repository and >>> found to correct the errors when retested on ARM. However, since the >>> changes actually apply to Zero code (none of which is not ARM-specific) >>> I think it really ought to be included in the hotspot tree. >>> >>> I would be grateful if someone would agree to sponsor this patch for >>> inclusion into the relevant hotspot repo(s). >>> >>> n.b. I originally posted this last week with a full webrev attached but >>> the note was held (for all I know still may be held) awaiting moderation >>> because of the size of the attachment. I will happily forward the webrev >>> to whoever is willing to sponsor this patch. >>> >>> regards, >>> >>> >>> Andrew Dinn >>> ----------- >>> Principal Software Engineer >>> Red Hat UK Ltd >>> Registered in UK and Wales under Company Registration No. 3798903 >>> Directors: Michael Cunningham (USA), Mark Hegarty (Ireland), Matt Parson >>> (USA), Charlie Peters (USA) >>> >>> index.html >>> ----- 8< -------- 8< -------- 8< -------- 8< -------- 8< -------- 8< --- >>> Code Review for hotspot >>> Prepared by: "Andrew Dinn " on Fri May 4 17:40:58 BST 2012 >>> Workspace: /ssd/home/adinn/redhat/openjdk/hsx/hotspot-main/hotspot >>> Compare against: http://hg.openjdk.java.net/hsx/hotspot-main//hotspot >>> Compare against version: 3292 >>> Summary of changes: 19 lines changed: 19 ins; 0 del; 0 mod; 1565 unchg >>> Patch of changes: hotspot.patch >>> ----- 8< -------- 8< -------- 8< -------- 8< -------- 8< -------- 8< --- >>> hotspot.patch: >>> ----- 8< -------- 8< -------- 8< -------- 8< -------- 8< -------- 8< --- >>> --- old/src/cpu/zero/vm/cppInterpreter_zero.cpp 2012-05-04 >>> 17:40:57.837805644 +0100 >>> +++ new/src/cpu/zero/vm/cppInterpreter_zero.cpp 2012-05-04 >>> 17:40:57.756806657 +0100 >>> @@ -1026,6 +1026,16 @@ >>> java_lang_invoke_AdapterMethodHandle::vmargslot(method_handle); >>> oop arg = VMSLOTS_OBJECT(arg_slot); >>> jvalue arg_value; >>> + if (arg == NULL) { >>> + // queue a nullpointer exception for the caller >>> + stack->set_sp(calculate_unwind_sp(stack, method_handle)); >>> + CALL_VM_NOCHECK_NOFIX( >>> + throw_exception( >>> + thread, vmSymbols::java_lang_NullPointerException())); >>> + // NB all oops trashed! >>> + assert(HAS_PENDING_EXCEPTION, "should do"); >>> + return; >>> + } >>> BasicType arg_type = java_lang_boxing_object::get_value(arg, >>> &arg_value); >>> if (arg_type == T_LONG || arg_type == T_DOUBLE) { >>> intptr_t *unwind_sp = calculate_unwind_sp(stack, method_handle); >>> @@ -1112,6 +1122,15 @@ >>> case T_SHORT: >>> return; >>> } >>> + // INT results sometimes need narrowing >>> + case T_BOOLEAN: >>> + case T_CHAR: >>> + case T_BYTE: >>> + case T_SHORT: >>> + switch (src_rtype) { >>> + case T_INT: >>> + return; >>> + } >>> } >>> >>> tty->print_cr("unhandled conversion:"); >>> ----- 8< -------- 8< -------- 8< -------- 8< -------- 8< -------- 8< --- >> >> > From adinn at redhat.com Wed May 9 00:48:08 2012 From: adinn at redhat.com (Andrew Dinn) Date: Wed, 09 May 2012 08:48:08 +0100 Subject: Hotspot Zero patch for invokedynamic In-Reply-To: <4FA9F3FB.3010804@oracle.com> References: <4FA936E4.6020809@redhat.com> <4FA9C1AB.6010201@oracle.com> <4FA9E4E1.1040309@LGonQn.Org> <4FA9F3FB.3010804@oracle.com> Message-ID: <4FAA2138.8050902@redhat.com> Hi David, Thanks for picking this up. On 09/05/12 05:35, David Holmes wrote: > Can you please check: > > http://cr.openjdk.java.net/~dholmes/7167406/webrev/ > > and confirm the attribution is correct. If so I will submit this to JPRT. Yes, it looks good to me. > Does this need to go into the 7u train as well? Yes, please. Apologies for the noob question but can I assume from there it will also go into 8? (I'm still new to this process). regards, Andrew Dinn ----------- From david.holmes at oracle.com Wed May 9 01:16:48 2012 From: david.holmes at oracle.com (David Holmes) Date: Wed, 09 May 2012 18:16:48 +1000 Subject: Hotspot Zero patch for invokedynamic In-Reply-To: <4FAA2138.8050902@redhat.com> References: <4FA936E4.6020809@redhat.com> <4FA9C1AB.6010201@oracle.com> <4FA9E4E1.1040309@LGonQn.Org> <4FA9F3FB.3010804@oracle.com> <4FAA2138.8050902@redhat.com> Message-ID: <4FAA27F0.6000402@oracle.com> On 9/05/2012 5:48 PM, Andrew Dinn wrote: > Hi David, > > Thanks for picking this up. No problem. > On 09/05/12 05:35, David Holmes wrote: >> Can you please check: >> >> http://cr.openjdk.java.net/~dholmes/7167406/webrev/ >> >> and confirm the attribution is correct. If so I will submit this to JPRT. > > Yes, it looks good to me. Thanks I'll submit it. >> Does this need to go into the 7u train as well? > > Yes, please. Apologies for the noob question but can I assume from there > it will also go into 8? (I'm still new to this process). It's going into 8 first (via hotspot hsx24). I have to create a sub-CR and follow a different process to get it into 7u-dev (actually 7u6). Cheers, David > regards, > > > Andrew Dinn > ----------- From ChrisPhi at LGonQn.Org Wed May 9 03:18:26 2012 From: ChrisPhi at LGonQn.Org (Chris Phillips @ T O) Date: Wed, 09 May 2012 06:18:26 -0400 Subject: Hotspot Zero patch for invokedynamic In-Reply-To: <4FA9F3FB.3010804@oracle.com> References: <4FA936E4.6020809@redhat.com> <4FA9C1AB.6010201@oracle.com> <4FA9E4E1.1040309@LGonQn.Org> <4FA9F3FB.3010804@oracle.com> Message-ID: <4FAA4472.6060608@LGonQn.Org> Hi David, Looks OK to me... I think it should go into 7u also. Cheers! Chris On 09/05/12 12:35 AM, David Holmes wrote: > Andrew, Chris, > > Can you please check: > > http://cr.openjdk.java.net/~dholmes/7167406/webrev/ > > and confirm the attribution is correct. If so I will submit this to JPRT. > > Does this need to go into the 7u train as well? > > David > > On 9/05/2012 1:30 PM, Chris Phillips @ T O wrote: >> Hi David, >> >> Yes, I have reviewed and applied it. Its OK for Zero, it fixes problems >> encountered in JSR 292 testing. >> >> Cheers! >> Chris >> >> >> On 08/05/12 09:00 PM, David Holmes wrote: >>> Hi Andrew, >>> >>> Is there some other Zero developer who can act as reviewer for this? >>> Preferably someone with an OpenJDK username so it can be recorded in >>> the changeset. >>> >>> Thanks, >>> David >>> >>> On 9/05/2012 1:08 AM, Andrew Dinn wrote: >>>> Enclosed below are details of a patch to the hsx/hotspot-main tree. >>>> The >>>> patch fixes some errors which manifested in the Zero ARM code when >>>> running the TCK tests which exercise method handles. This patch has >>>> already been applied to the iced tea 7-2.1 hotspot hg repository and >>>> found to correct the errors when retested on ARM. However, since the >>>> changes actually apply to Zero code (none of which is not >>>> ARM-specific) >>>> I think it really ought to be included in the hotspot tree. >>>> >>>> I would be grateful if someone would agree to sponsor this patch for >>>> inclusion into the relevant hotspot repo(s). >>>> >>>> n.b. I originally posted this last week with a full webrev attached >>>> but >>>> the note was held (for all I know still may be held) awaiting >>>> moderation >>>> because of the size of the attachment. I will happily forward the >>>> webrev >>>> to whoever is willing to sponsor this patch. >>>> >>>> regards, >>>> >>>> >>>> Andrew Dinn >>>> ----------- >>>> Principal Software Engineer >>>> Red Hat UK Ltd >>>> Registered in UK and Wales under Company Registration No. 3798903 >>>> Directors: Michael Cunningham (USA), Mark Hegarty (Ireland), Matt >>>> Parson >>>> (USA), Charlie Peters (USA) >>>> >>>> index.html >>>> ----- 8< -------- 8< -------- 8< -------- 8< -------- 8< -------- >>>> 8< --- >>>> Code Review for hotspot >>>> Prepared by: "Andrew Dinn " on Fri May 4 17:40:58 BST 2012 >>>> Workspace: /ssd/home/adinn/redhat/openjdk/hsx/hotspot-main/hotspot >>>> Compare against: http://hg.openjdk.java.net/hsx/hotspot-main//hotspot >>>> Compare against version: 3292 >>>> Summary of changes: 19 lines changed: 19 ins; 0 del; 0 mod; 1565 unchg >>>> Patch of changes: hotspot.patch >>>> ----- 8< -------- 8< -------- 8< -------- 8< -------- 8< -------- >>>> 8< --- >>>> hotspot.patch: >>>> ----- 8< -------- 8< -------- 8< -------- 8< -------- 8< -------- >>>> 8< --- >>>> --- old/src/cpu/zero/vm/cppInterpreter_zero.cpp 2012-05-04 >>>> 17:40:57.837805644 +0100 >>>> +++ new/src/cpu/zero/vm/cppInterpreter_zero.cpp 2012-05-04 >>>> 17:40:57.756806657 +0100 >>>> @@ -1026,6 +1026,16 @@ >>>> java_lang_invoke_AdapterMethodHandle::vmargslot(method_handle); >>>> oop arg = VMSLOTS_OBJECT(arg_slot); >>>> jvalue arg_value; >>>> + if (arg == NULL) { >>>> + // queue a nullpointer exception for the caller >>>> + stack->set_sp(calculate_unwind_sp(stack, method_handle)); >>>> + CALL_VM_NOCHECK_NOFIX( >>>> + throw_exception( >>>> + thread, vmSymbols::java_lang_NullPointerException())); >>>> + // NB all oops trashed! >>>> + assert(HAS_PENDING_EXCEPTION, "should do"); >>>> + return; >>>> + } >>>> BasicType arg_type = java_lang_boxing_object::get_value(arg, >>>> &arg_value); >>>> if (arg_type == T_LONG || arg_type == T_DOUBLE) { >>>> intptr_t *unwind_sp = calculate_unwind_sp(stack, method_handle); >>>> @@ -1112,6 +1122,15 @@ >>>> case T_SHORT: >>>> return; >>>> } >>>> + // INT results sometimes need narrowing >>>> + case T_BOOLEAN: >>>> + case T_CHAR: >>>> + case T_BYTE: >>>> + case T_SHORT: >>>> + switch (src_rtype) { >>>> + case T_INT: >>>> + return; >>>> + } >>>> } >>>> >>>> tty->print_cr("unhandled conversion:"); >>>> ----- 8< -------- 8< -------- 8< -------- 8< -------- 8< -------- >>>> 8< --- >>> >>> >> > > From christian.thalinger at oracle.com Wed May 9 10:49:11 2012 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Wed, 9 May 2012 10:49:11 -0700 Subject: Crash when using a built JVM In-Reply-To: References: <4FA8235B.9020706@oracle.com> Message-ID: <1D418776-5125-4D71-82CD-178EBD564346@oracle.com> On May 7, 2012, at 5:54 PM, Krystal Mok wrote: > Hi Azeem, > > Did you build the HotSpot VM only, and put it in a Oracle JDK7u4 installation? > > This kind of mix-and-match used to work without problems (mostly), but in JDK7u4 there are new proprietary features in Oracle JDK (e.g. Java Flight Recorder) that's not part of OpenJDK. You're getting a segfault caused by null pointer in JFR-related code. > > You should probably build the entire JDK and use that, instead of mixing it with Oracle JDK on 7u4. I think it would be nice if we would also print the HOTSPOT_VM_DISTRO equivalent (it seems to be PRODUCT_NAME and PRODUCT_SUFFIX) for JDK: # JRE version: 7.0_04-b20 # Java VM: OpenJDK 64-Bit Server VM (23.0-b21-internal mixed mode solaris-amd64 compressed oops) More like this: # JRE version: Java(TM) SE Runtime Environment 7.0_04-b20 # Java VM: OpenJDK 64-Bit Server VM (23.0-b21-internal mixed mode solaris-amd64 compressed oops) or in the OpenJDK case: # JRE version: OpenJDK Runtime Environment 7.0_04-b20 # Java VM: OpenJDK 64-Bit Server VM (23.0-b21-internal mixed mode solaris-amd64 compressed oops) This would give us an idea what JDK was used. > > P.S. This discussion may be better suited on hotspot-dev, since it's not a compiler problem. Cc'ing. I agree (and removed hotspot-comp). -- Chris > > - Kris > > On 2012-5-8, at 3:32, Azeem Jiva wrote: > >> I'm trying to run WLS with a JVM that I built pulled from the openjdk repository. I've made no changes, just pulled the recent source, and I get the crash (attached). Looks like some mismatch between the JRockit library and HotSpot? Ideas? >> -- >> Azeem Jiva >> @javawithjiva >> -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20120509/d0a3c99b/attachment.html From christian.thalinger at oracle.com Wed May 9 10:51:49 2012 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Wed, 9 May 2012 10:51:49 -0700 Subject: Hotspot Zero patch for invokedynamic In-Reply-To: <4FAA27F0.6000402@oracle.com> References: <4FA936E4.6020809@redhat.com> <4FA9C1AB.6010201@oracle.com> <4FA9E4E1.1040309@LGonQn.Org> <4FA9F3FB.3010804@oracle.com> <4FAA2138.8050902@redhat.com> <4FAA27F0.6000402@oracle.com> Message-ID: On May 9, 2012, at 1:16 AM, David Holmes wrote: > On 9/05/2012 5:48 PM, Andrew Dinn wrote: >> Hi David, >> >> Thanks for picking this up. > > No problem. Thanks, David, for taking care of this. In the past I reviewed and pushed most Zero changes. But I'm happy to hand this over to you ;-) -- Chris > >> On 09/05/12 05:35, David Holmes wrote: >>> Can you please check: >>> >>> http://cr.openjdk.java.net/~dholmes/7167406/webrev/ >>> >>> and confirm the attribution is correct. If so I will submit this to JPRT. >> >> Yes, it looks good to me. > > Thanks I'll submit it. > >>> Does this need to go into the 7u train as well? >> >> Yes, please. Apologies for the noob question but can I assume from there >> it will also go into 8? (I'm still new to this process). > > It's going into 8 first (via hotspot hsx24). I have to create a sub-CR and follow a different process to get it into 7u-dev (actually 7u6). > > Cheers, > David > >> regards, >> >> >> Andrew Dinn >> ----------- From coleen.phillimore at oracle.com Wed May 9 11:45:57 2012 From: coleen.phillimore at oracle.com (Coleen Phillimore) Date: Wed, 09 May 2012 14:45:57 -0400 Subject: Project proposal: Remove the Permanent Generation In-Reply-To: <4F88ADA7.8000503@oracle.com> References: <4ED3C2DB.7050703@oracle.com> <4F6896C9.1020102@oracle.com> <4F88ADA7.8000503@oracle.com> Message-ID: <4FAABB65.4010700@oracle.com> Please find below the webrev of the Permgen elimination changes from our latest merge with the hotspot-gc baseline. We have completed the major functional changes and are now working on cleanups, testing and bug fixes. There are a few items left to do that we will file as RFE's when this is integrated. We'll have a couple of other webrevs before integration which we will again solicit code review comments. But don't wait! This is huge so your comments in advance regarding areas within your expertise. You can also get a patch file and patch against http://hg.openjdk.java.net/hsx/hotspot-gc/hotspot changeset 9f059abe8cf2 . http://cr.openjdk.java.net/~coleenp/metadata4 Changes since last webrev include serviceability agent support, compiledICHolders are allocated in C Heap and class data sharing support (CDS). Left to do is the big rename of the metadata from a lower case name to upper case name without the OopDesc. We're taking suggestions for what to rename constantPoolCacheOopDesc since it's never been a cache and it's now not an oop either. Thanks! Coleen On 4/13/2012 6:50 PM, Coleen Phillimore wrote: > > We want to keep the openjdk community aware of the changes to remove > the permanent generation. We are nearing completion of the > functional changes. The webrev below has been generated as side > effect of syncing to the latest hotspot-gc repository. > > http://cr.openjdk.java.net/~coleenp/metadata3 > > Since the last webrev that we sent out, these areas have been completed: > > 1. G1 and CMS (concurrent mark sweep) garbage collectors are now > supported. > 2. Metadata is now allocated from chunks in mmap space(s). The chunks > are still freed when the class loader that owns the metadata is unloaded. > 3. Many cleanups, including removing is_parseable is_conc_safe and > is_partially_loaded, and others. > 4. Bug fixes from internal test runs. > > There are a few large changes coming to this repository very soon: > > 1. Allocate CompiledICHolders (once oops) out of CHeap memory. > 2. Serviceability Agent changes to reflect the new metadata types. > 3. Class data sharing. > > The last change we'll make is to rename the metadata types to remove > the Oop suffixes and capitalize type names. > > Please feel free to comment, ask questions and/or make suggestions. > > Thanks, > Coleen > > On 3/20/2012 10:40 AM, Jon Masamitsu wrote: >> You may have noticed that this project proposal never got >> any farther then this mail. Somewhat due to indecision on >> our part, this work is not going to become its own project >> but will be integrated through the hsx/hotspot-gc/hotspot >> repository. We wanted to provide a preview of the work >> so prepared this webrev from an recent merge of the perm gen >> removal work with hotspot-gc. We're still working on it >> but thought this intermediate webrev would be of interest. >> >> http://cr.openjdk.java.net/~coleenp/metadata2 >> >> In this webrev >> >> Allocations for the class metadata are made from the C heap. >> More work is coming here. The infrastructure for the perm >> gen has not yet been removed but nothing is allocated in >> the perm gen. >> >> The klasses that were used to described class metadata have >> been removed (klassKlass and it's derivatives). >> >> Class metadata type (instanceKlass) has been changed and is >> being separated from oops. It still derives from Klass but >> Klass now derives from metadataOop and not Klass_vtbl. Please >> note that metadataOop does not derive from oop. In an attempt >> to stay sane we're not changing everything at once. The >> separation of instanceKlass from oop is being done in a staged >> way and we're not done. You'll see klassOop, constantPoolOop, >> and constantPoolCacheOop but they are not oops. For example >> klassOop is typedef'ed to Klass and these types will be renamed >> to remove the Oop extension and capitalize the first letter >> to be consistent with other Hotspot type names. >> >> instanceKlass, constantPoolOop, and constantPoolCacheOop >> have been restructured to reduce the number of oops they contain. >> constantPoolKlass and cpCacheKlass are gone. >> >> Data structures have been added to represent class loaders and >> dependencies between class loaders (ClassLoaderData and >> ClassLoaderDataGraph, respectively). Class unloading is directly >> tied >> to the liveness of the class loaders. >> >> All the garbage collectors have been modified to find and follow >> oops in class metadata. The work for the CMS collector is not >> complete. >> >> Changed interpreter to support the move of oops out of the constant >> pool. >> >> Within the compilers and associated code most of the changes >> involved separating the oop and metadata types, which required >> changes throughout the compiler interface, relocations, >> dependencies, >> nmethods, debug info and the type systems of the compilers >> themselves. >> Code generation is for the most part unchanged. >> >> >> On 11/28/11 09:20, Jon Masamitsu wrote: >>> I am going to be proposing the permanent generation >>> removal as a OpenJDK project shortly. The project is >>> described in the JEP 122 >>> >>> http://openjdk.java.net/jeps/122 >>> >>> This is not the formal proposal of the project but rather >>> a chance to ask questions ahead of that proposal. From vladimir.kozlov at oracle.com Wed May 9 15:08:17 2012 From: vladimir.kozlov at oracle.com (vladimir.kozlov at oracle.com) Date: Wed, 09 May 2012 22:08:17 +0000 Subject: hg: hsx/hotspot-main/hotspot: 8 new changesets Message-ID: <20120509220835.3107147204@hg.openjdk.java.net> Changeset: c7ed11779ce8 Author: jiangli Date: 2012-04-10 09:31 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/c7ed11779ce8 7159772: instanceKlass::all_fields_count() returns incorrect total field count Summary: Fix instanceKlass::all_fields_count() bug. Reviewed-by: kvn, never Contributed-by: Jiangli Zhou ! src/share/vm/oops/instanceKlass.hpp Changeset: 3576af4cb939 Author: iveresov Date: 2012-04-11 19:15 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/3576af4cb939 7160539: JDeveloper crashes on 64-bit Windows Summary: x64 C1 needs to zero upper 32bits when doing l2i conversion Reviewed-by: never, kvn ! src/cpu/x86/vm/c1_LIRAssembler_x86.cpp Changeset: 847da049d62f Author: never Date: 2012-04-17 11:04 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/847da049d62f 7162094: LateInlineCallGenerator::do_late_inline crashed on uninitialized _call_node Reviewed-by: never, twisti Contributed-by: nils.eliasson at oracle.com ! src/share/vm/opto/callGenerator.cpp Changeset: df3d4a91f7f6 Author: never Date: 2012-04-18 16:08 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/df3d4a91f7f6 7161796: PhaseStringOpts::fetch_static_field tries to fetch field from the Klass instead of the mirror Reviewed-by: twisti ! src/share/vm/opto/stringopts.cpp Changeset: ec15e8f6e4f1 Author: twisti Date: 2012-04-24 12:15 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/ec15e8f6e4f1 7157695: Add windows implementation of socket interface Reviewed-by: kvn, dholmes, twisti Contributed-by: Nils Eliasson ! src/os/windows/vm/jvm_windows.h ! src/os/windows/vm/os_windows.cpp Changeset: dc682d9431f3 Author: kvn Date: 2012-05-07 12:37 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/dc682d9431f3 7160610: Unknown Native Code compilation issue Summary: When constructing input vector use type of vector's operation which use it since element's sizes should match. Reviewed-by: never, twisti ! src/share/vm/opto/superword.cpp + test/compiler/7160610/Test7160610.java Changeset: 3a97daec1b34 Author: kvn Date: 2012-05-08 15:47 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/3a97daec1b34 7167266: missing copyright notes in 3rd party code Summary: add missing copyright notes to the regression test file. Reviewed-by: twisti, johnc ! test/compiler/7070134/Stemmer.java Changeset: 2766551175a0 Author: kvn Date: 2012-05-09 10:54 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/2766551175a0 Merge ! src/share/vm/oops/instanceKlass.hpp From david.holmes at oracle.com Wed May 9 15:17:56 2012 From: david.holmes at oracle.com (david.holmes at oracle.com) Date: Wed, 09 May 2012 22:17:56 +0000 Subject: hg: hsx/hsx23.2/hotspot: 7167406: (Zero) Fix for InvokeDynamic needed Message-ID: <20120509221802.8405847205@hg.openjdk.java.net> Changeset: 1a9c601a5395 Author: dholmes Date: 2012-05-09 00:28 -0400 URL: http://hg.openjdk.java.net/hsx/hsx23.2/hotspot/rev/1a9c601a5395 7167406: (Zero) Fix for InvokeDynamic needed Reviewed-by: chrisphi, dholmes Contributed-by: Andrew Dinn ! src/cpu/zero/vm/cppInterpreter_zero.cpp From david.holmes at oracle.com Wed May 9 15:39:46 2012 From: david.holmes at oracle.com (David Holmes) Date: Thu, 10 May 2012 08:39:46 +1000 Subject: Hotspot Zero patch for invokedynamic In-Reply-To: <4FAA4472.6060608@LGonQn.Org> References: <4FA936E4.6020809@redhat.com> <4FA9C1AB.6010201@oracle.com> <4FA9E4E1.1040309@LGonQn.Org> <4FA9F3FB.3010804@oracle.com> <4FAA4472.6060608@LGonQn.Org> Message-ID: <4FAAF232.4080403@oracle.com> This has now been pushed to hs24 (for JDK8) and hs23.2 (for 7u). David On 9/05/2012 8:18 PM, Chris Phillips @ T O wrote: > Hi David, > Looks OK to me... > I think it should go into 7u also. > > Cheers! > Chris > > On 09/05/12 12:35 AM, David Holmes wrote: >> Andrew, Chris, >> >> Can you please check: >> >> http://cr.openjdk.java.net/~dholmes/7167406/webrev/ >> >> and confirm the attribution is correct. If so I will submit this to JPRT. >> >> Does this need to go into the 7u train as well? >> >> David >> >> On 9/05/2012 1:30 PM, Chris Phillips @ T O wrote: >>> Hi David, >>> >>> Yes, I have reviewed and applied it. Its OK for Zero, it fixes problems >>> encountered in JSR 292 testing. >>> >>> Cheers! >>> Chris >>> >>> >>> On 08/05/12 09:00 PM, David Holmes wrote: >>>> Hi Andrew, >>>> >>>> Is there some other Zero developer who can act as reviewer for this? >>>> Preferably someone with an OpenJDK username so it can be recorded in >>>> the changeset. >>>> >>>> Thanks, >>>> David >>>> >>>> On 9/05/2012 1:08 AM, Andrew Dinn wrote: >>>>> Enclosed below are details of a patch to the hsx/hotspot-main tree. >>>>> The >>>>> patch fixes some errors which manifested in the Zero ARM code when >>>>> running the TCK tests which exercise method handles. This patch has >>>>> already been applied to the iced tea 7-2.1 hotspot hg repository and >>>>> found to correct the errors when retested on ARM. However, since the >>>>> changes actually apply to Zero code (none of which is not >>>>> ARM-specific) >>>>> I think it really ought to be included in the hotspot tree. >>>>> >>>>> I would be grateful if someone would agree to sponsor this patch for >>>>> inclusion into the relevant hotspot repo(s). >>>>> >>>>> n.b. I originally posted this last week with a full webrev attached >>>>> but >>>>> the note was held (for all I know still may be held) awaiting >>>>> moderation >>>>> because of the size of the attachment. I will happily forward the >>>>> webrev >>>>> to whoever is willing to sponsor this patch. >>>>> >>>>> regards, >>>>> >>>>> >>>>> Andrew Dinn >>>>> ----------- >>>>> Principal Software Engineer >>>>> Red Hat UK Ltd >>>>> Registered in UK and Wales under Company Registration No. 3798903 >>>>> Directors: Michael Cunningham (USA), Mark Hegarty (Ireland), Matt >>>>> Parson >>>>> (USA), Charlie Peters (USA) >>>>> >>>>> index.html >>>>> ----- 8< -------- 8< -------- 8< -------- 8< -------- 8< -------- >>>>> 8< --- >>>>> Code Review for hotspot >>>>> Prepared by: "Andrew Dinn " on Fri May 4 17:40:58 BST 2012 >>>>> Workspace: /ssd/home/adinn/redhat/openjdk/hsx/hotspot-main/hotspot >>>>> Compare against: http://hg.openjdk.java.net/hsx/hotspot-main//hotspot >>>>> Compare against version: 3292 >>>>> Summary of changes: 19 lines changed: 19 ins; 0 del; 0 mod; 1565 unchg >>>>> Patch of changes: hotspot.patch >>>>> ----- 8< -------- 8< -------- 8< -------- 8< -------- 8< -------- >>>>> 8< --- >>>>> hotspot.patch: >>>>> ----- 8< -------- 8< -------- 8< -------- 8< -------- 8< -------- >>>>> 8< --- >>>>> --- old/src/cpu/zero/vm/cppInterpreter_zero.cpp 2012-05-04 >>>>> 17:40:57.837805644 +0100 >>>>> +++ new/src/cpu/zero/vm/cppInterpreter_zero.cpp 2012-05-04 >>>>> 17:40:57.756806657 +0100 >>>>> @@ -1026,6 +1026,16 @@ >>>>> java_lang_invoke_AdapterMethodHandle::vmargslot(method_handle); >>>>> oop arg = VMSLOTS_OBJECT(arg_slot); >>>>> jvalue arg_value; >>>>> + if (arg == NULL) { >>>>> + // queue a nullpointer exception for the caller >>>>> + stack->set_sp(calculate_unwind_sp(stack, method_handle)); >>>>> + CALL_VM_NOCHECK_NOFIX( >>>>> + throw_exception( >>>>> + thread, vmSymbols::java_lang_NullPointerException())); >>>>> + // NB all oops trashed! >>>>> + assert(HAS_PENDING_EXCEPTION, "should do"); >>>>> + return; >>>>> + } >>>>> BasicType arg_type = java_lang_boxing_object::get_value(arg, >>>>> &arg_value); >>>>> if (arg_type == T_LONG || arg_type == T_DOUBLE) { >>>>> intptr_t *unwind_sp = calculate_unwind_sp(stack, method_handle); >>>>> @@ -1112,6 +1122,15 @@ >>>>> case T_SHORT: >>>>> return; >>>>> } >>>>> + // INT results sometimes need narrowing >>>>> + case T_BOOLEAN: >>>>> + case T_CHAR: >>>>> + case T_BYTE: >>>>> + case T_SHORT: >>>>> + switch (src_rtype) { >>>>> + case T_INT: >>>>> + return; >>>>> + } >>>>> } >>>>> >>>>> tty->print_cr("unhandled conversion:"); >>>>> ----- 8< -------- 8< -------- 8< -------- 8< -------- 8< -------- >>>>> 8< --- >>>> >>>> >>> >> >> > From rednaxelafx at gmail.com Wed May 9 20:29:03 2012 From: rednaxelafx at gmail.com (Krystal Mok) Date: Thu, 10 May 2012 11:29:03 +0800 Subject: Crash when using a built JVM In-Reply-To: <1D418776-5125-4D71-82CD-178EBD564346@oracle.com> References: <4FA8235B.9020706@oracle.com> <1D418776-5125-4D71-82CD-178EBD564346@oracle.com> Message-ID: On Thu, May 10, 2012 at 1:49 AM, Christian Thalinger < christian.thalinger at oracle.com> wrote: > > I think it would be nice if we would also print the HOTSPOT_VM_DISTRO > equivalent (it seems to be PRODUCT_NAME and PRODUCT_SUFFIX) for JDK: > > Yep, +1 on this > # JRE version: 7.0_04-b20 > # Java VM: OpenJDK 64-Bit Server VM (23.0-b21-internal mixed mode > solaris-amd64 compressed oops) > > More like this: > > # JRE version: Java(TM) SE Runtime Environment 7.0_04-b20 > # Java VM: OpenJDK 64-Bit Server VM (23.0-b21-internal mixed mode > solaris-amd64 compressed oops) > > or in the OpenJDK case: > > # JRE version: OpenJDK Runtime Environment 7.0_04-b20 > # Java VM: OpenJDK 64-Bit Server VM (23.0-b21-internal mixed mode > solaris-amd64 compressed oops) > > This would give us an idea what JDK was used. > > -- Chris > > - Kris -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20120510/ff8b6a0f/attachment.html From adinn at redhat.com Thu May 10 00:15:54 2012 From: adinn at redhat.com (Andrew Dinn) Date: Thu, 10 May 2012 08:15:54 +0100 Subject: Hotspot Zero patch for invokedynamic In-Reply-To: <4FAAF232.4080403@oracle.com> References: <4FA936E4.6020809@redhat.com> <4FA9C1AB.6010201@oracle.com> <4FA9E4E1.1040309@LGonQn.Org> <4FA9F3FB.3010804@oracle.com> <4FAA4472.6060608@LGonQn.Org> <4FAAF232.4080403@oracle.com> Message-ID: <4FAB6B2A.4020505@redhat.com> On 09/05/12 23:39, David Holmes wrote: > This has now been pushed to hs24 (for JDK8) and hs23.2 (for 7u). Thank you, David regards, Andrew Dinn ----------- Principal Software Engineer Red Hat UK Ltd Registered in UK and Wales under Company Registration No. 3798903 Directors: Michael Cunningham (USA), Mark Hegarty (Ireland), Matt Parson (USA), Charlie Peters (USA) From neil.richards at ngmr.net Thu May 10 04:08:54 2012 From: neil.richards at ngmr.net (Neil Richards) Date: Thu, 10 May 2012 12:08:54 +0100 Subject: Documenting the interfaces to the VM Message-ID: <1336648134.23106.99.camel@chalkhill> Hi all, As previously trailed [1], I'm looking to work on improving the (sometimes scarce) documentation of the interfaces to the VM. In doing this, I hope to produce a clear definition that any alternative (or subsequent) VM implementation can follow. Also, it will hopefully expose any "rough edges" - places where the user or application developer is unnecessarily exposed to VM implementation details - and suitable resolutions considered. I'm looking to do this work primarily in the CVMI project, and on the 'cvmi-dev' mailing list. As the documentation gets fleshed out, I expect that other potentially-interested parties (Hotspot, Zero, porting projects, Jigsaw?) will consider consuming the resulting changes. In particular, I expect there will be a healthy interchange between this work and that of the newly-proposed PPC/AIX porting project [2], given their stated interest in this area. Obviously, any assistance (particularly in review, to make sure I'm not writing complete fiction!) will be warmly welcomed :) For native interfaces, I'm proposing the use of 'doxygen' [3] as a means to produce the formatted documentation. This allows the documentation source to be held in a Javadoc-like style alongside the code in the header files themselves - a familiar and, I hope, fairly uncontroversial approach. Please let me know any suggestions or questions you have about this. Thanks, Neil [1] http://mail.openjdk.java.net/pipermail/discuss/2012-May/002622.html [2] http://mail.openjdk.java.net/pipermail/discuss/2012-May/002618.html [3] http://www.doxygen.org -- Unless stated above: IBM email: neil_richards at uk.ibm.com IBM United Kingdom Limited - Registered in England and Wales with number 741598. Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU From staffan.larsen at oracle.com Thu May 10 06:34:05 2012 From: staffan.larsen at oracle.com (staffan.larsen at oracle.com) Date: Thu, 10 May 2012 13:34:05 +0000 Subject: hg: hsx/hsx23.2/hotspot: 7163117: Agent can't connect to process on Mac OSX Message-ID: <20120510133409.0127147227@hg.openjdk.java.net> Changeset: 1fcba869fe4a Author: nloodin Date: 2012-05-09 16:24 +0200 URL: http://hg.openjdk.java.net/hsx/hsx23.2/hotspot/rev/1fcba869fe4a 7163117: Agent can't connect to process on Mac OSX Reviewed-by: dholmes, coleenp, sla, minqi, kvn ! agent/src/share/classes/sun/jvm/hotspot/HotSpotAgent.java ! agent/src/share/classes/sun/jvm/hotspot/bugspot/BugSpotAgent.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/BsdCDebugger.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/BsdThreadContextFactory.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/proc/ProcDebuggerLocal.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/remote/RemoteDebuggerClient.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/Threads.java ! agent/src/share/classes/sun/jvm/hotspot/ui/classbrowser/HTMLGenerator.java From volker.simonis at gmail.com Thu May 10 06:56:35 2012 From: volker.simonis at gmail.com (Volker Simonis) Date: Thu, 10 May 2012 15:56:35 +0200 Subject: Documenting the interfaces to the VM In-Reply-To: <1336648134.23106.99.camel@chalkhill> References: <1336648134.23106.99.camel@chalkhill> Message-ID: Hi Neil, this project sounds very interesting and promising! What do you exactly mean by documenting the native interfaces with Doxygen? Do you propose to put Doxygen comments around the "JVM_*" functions in "jvm.h" for example? As this file is duplicated under "hotspot/src/share/vm/prims/jvm.h" and "jdk/src/share/javavm/export/jvm.h" where do you would suggest to place the documentation? Or asking the other way around: would you propose to start this project from the JDKs point of view (i.e. what does the JDK require to run) or from the VM's perspective (i.e. what does the VM want to provide)? Regards, Volker On Thu, May 10, 2012 at 1:08 PM, Neil Richards wrote: > Hi all, > As previously trailed [1], I'm looking to work on improving the > (sometimes scarce) documentation of the interfaces to the VM. > > In doing this, I hope to produce a clear definition that any alternative > (or subsequent) VM implementation can follow. > > Also, it will hopefully expose any "rough edges" - places where the user > or application developer is unnecessarily exposed to VM implementation > details - and suitable resolutions considered. > > I'm looking to do this work primarily in the CVMI project, and on the > 'cvmi-dev' mailing list. As the documentation gets fleshed out, I expect > that other potentially-interested parties (Hotspot, Zero, porting > projects, Jigsaw?) will consider consuming the resulting changes. > > In particular, I expect there will be a healthy interchange between this > work and that of the newly-proposed PPC/AIX porting project [2], given > their stated interest in this area. > > Obviously, any assistance (particularly in review, to make sure I'm not > writing complete fiction!) will be warmly welcomed :) > > For native interfaces, I'm proposing the use of 'doxygen' [3] as a means > to produce the formatted documentation. This allows the documentation > source to be held in a Javadoc-like style alongside the code in the > header files themselves - a familiar and, I hope, fairly uncontroversial > approach. > > Please let me know any suggestions or questions you have about this. > Thanks, > Neil > > [1] http://mail.openjdk.java.net/pipermail/discuss/2012-May/002622.html > [2] http://mail.openjdk.java.net/pipermail/discuss/2012-May/002618.html > [3] http://www.doxygen.org > > -- > Unless stated above: > IBM email: neil_richards at uk.ibm.com > IBM United Kingdom Limited - Registered in England and Wales with number 741598. > Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU > From mjw at redhat.com Thu May 10 06:49:08 2012 From: mjw at redhat.com (Mark Wielaard) Date: Thu, 10 May 2012 15:49:08 +0200 Subject: [PATCH 3 of 3] XXXXXX: Enable dtrace compatible sdt probes on GNU/Linux builds In-Reply-To: References: Message-ID: <6a35858b331dca2ce76b.1336657748@springer.wildebeest.org> make/linux/makefiles/dtrace.make | 24 ++++++++++++++++++++++++ make/linux/makefiles/vm.make | 2 +- 2 files changed, 25 insertions(+), 1 deletions(-) # HG changeset patch # User Mark Wielaard # Date 1336657292 -7200 # Node ID 6a35858b331dca2ce76b6328ff57f893349303a0 # Parent ec675cf936d8eeefb11b7624c8f292fdd7e1f847 XXXXXX: Enable dtrace compatible sdt probes on GNU/Linux builds. Summary: If sys/sdt.h is found, then enable dtrace compatible sdt probes. Contributed-by: Mark Wielaard diff -r ec675cf936d8 -r 6a35858b331d make/linux/makefiles/dtrace.make --- a/make/linux/makefiles/dtrace.make Thu May 10 15:38:24 2012 +0200 +++ b/make/linux/makefiles/dtrace.make Thu May 10 15:41:32 2012 +0200 @@ -1,5 +1,6 @@ # # Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2012 Red Hat, Inc. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -25,3 +26,26 @@ # Linux does not build jvm_db LIBJVM_DB = +# But it does have a SystemTap dtrace compatible sys/sdt.h +ifneq ($(ALT_SDT_H),) + SDT_H_FILE = $(ALT_SDT_H) +else + SDT_H_FILE = /usr/include/sys/sdt.h +endif +DTRACE_ENABLED = $(shell test -f $(SDT_H_FILE) && echo $(SDT_H_FILE)) + +ifneq ($(DTRACE_ENABLED),) + CFLAGS += -DDTRACE_ENABLED +endif + +# Phone target used in vm.make build target to check whether enabled. +.PHONY: dtraceCheck +ifeq ($(DTRACE_ENABLED),) +dtraceCheck: + $(QUIETLY) echo "**NOTICE** Dtrace support disabled $(SDT_H_FILE) not found" +else +dtraceCheck: +endif + +# It doesn't support HAVE_DTRACE_H though. + diff -r ec675cf936d8 -r 6a35858b331d make/linux/makefiles/vm.make --- a/make/linux/makefiles/vm.make Thu May 10 15:38:24 2012 +0200 +++ b/make/linux/makefiles/vm.make Thu May 10 15:41:32 2012 +0200 @@ -383,7 +383,7 @@ #---------------------------------------------------------------------- -build: $(LIBJVM) $(LAUNCHER) $(LIBJSIG) $(LIBJVM_DB) $(BUILDLIBSAPROC) $(WB_JAR) +build: $(LIBJVM) $(LAUNCHER) $(LIBJSIG) $(LIBJVM_DB) $(BUILDLIBSAPROC) dtraceCheck $(WB_JAR) install: install_jvm install_jsig install_saproc From mjw at redhat.com Thu May 10 06:49:07 2012 From: mjw at redhat.com (Mark Wielaard) Date: Thu, 10 May 2012 15:49:07 +0200 Subject: [PATCH 2 of 3] XXXXXX: Define DTRACE macros for use with GNU/Linux SystemTap sys/sdt.h In-Reply-To: References: Message-ID: src/share/vm/utilities/dtrace.hpp | 50 ++++++++++++++++++++++++++++++++++++++- 1 files changed, 49 insertions(+), 1 deletions(-) # HG changeset patch # User Mark Wielaard # Date 1336657104 -7200 # Node ID ec675cf936d8eeefb11b7624c8f292fdd7e1f847 # Parent ed003325d9977d3bd8b38afd5db5a97200b310af XXXXXX: Define DTRACE macros for use with GNU/Linux SystemTap sys/sdt.h. Summary: LINUX also uses USDT1, but with macros instead of function decls. Contributed-by: Mark Wielaard diff -r ed003325d997 -r ec675cf936d8 src/share/vm/utilities/dtrace.hpp --- a/src/share/vm/utilities/dtrace.hpp Thu May 10 15:31:20 2012 +0200 +++ b/src/share/vm/utilities/dtrace.hpp Thu May 10 15:38:24 2012 +0200 @@ -1,5 +1,6 @@ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2009, 2012 Red Hat, Inc. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -32,12 +33,15 @@ #define DTRACE_ONLY(x) x #define NOT_DTRACE(x) +#if defined(SOLARIS) // Work around dtrace tail call bug 6672627 until it is fixed in solaris 10. #define HS_DTRACE_WORKAROUND_TAIL_CALL_BUG() \ do { volatile size_t dtrace_workaround_tail_call_bug = 1; } while (0) -#if defined(SOLARIS) #define USDT1 1 +#elif defined(LINUX) +#define USDT1 1 +#define HS_DTRACE_WORKAROUND_TAIL_CALL_BUG() #elif defined(__APPLE__) #define USDT2 1 #include @@ -63,6 +67,11 @@ #define DTRACE_PROBE3(a,b,c,d,e) {;} #define DTRACE_PROBE4(a,b,c,d,e,f) {;} #define DTRACE_PROBE5(a,b,c,d,e,f,g) {;} +#define DTRACE_PROBE6(a,b,c,d,e,f,g,h) {;} +#define DTRACE_PROBE7(a,b,c,d,e,f,g,h,i) {;} +#define DTRACE_PROBE8(a,b,c,d,e,f,g,h,i,j) {;} +#define DTRACE_PROBE9(a,b,c,d,e,f,g,h,i,j,k) {;} +#define DTRACE_PROBE10(a,b,c,d,e,f,g,h,i,j,k,l) {;} #else /* USDT2 */ @@ -76,10 +85,19 @@ #define HS_DTRACE_PROBE_FN(provider,name)\ __dtrace_##provider##___##name +#ifdef SOLARIS +// Solaris dtrace needs actual extern function decls. #define HS_DTRACE_PROBE_DECL_N(provider,name,args) \ DTRACE_ONLY(extern "C" void HS_DTRACE_PROBE_FN(provider,name) args) #define HS_DTRACE_PROBE_CDECL_N(provider,name,args) \ DTRACE_ONLY(extern void HS_DTRACE_PROBE_FN(provider,name) args) +#elif defined(LINUX) +// Systemtap dtrace compatible probes on GNU/Linux don't. +#define HS_DTRACE_PROBE_DECL_N(provider,name,args) +#define HS_DTRACE_PROBE_CDECL_N(provider,name,args) +#else +#error "USDT1 enabled for unknown os" +#endif /* Dtrace probe declarations */ #define HS_DTRACE_PROBE_DECL(provider,name) \ @@ -118,6 +136,8 @@ uintptr_t,uintptr_t,uintptr_t)) /* Dtrace probe definitions */ +#if defined(SOLARIS) +// Solaris dtrace uses actual function calls. #define HS_DTRACE_PROBE_N(provider,name, args) \ DTRACE_ONLY(HS_DTRACE_PROBE_FN(provider,name) args) @@ -153,6 +173,34 @@ HS_DTRACE_PROBE_N(provider,name,((uintptr_t)a0,(uintptr_t)a1,(uintptr_t)a2,\ (uintptr_t)a3,(uintptr_t)a4,(uintptr_t)a5,(uintptr_t)a6,(uintptr_t)a7,\ (uintptr_t)a8,(uintptr_t)a9)) +#elif defined(LINUX) +// Systemtap dtrace compatible probes on GNU/Linux use direct macros. +#define HS_DTRACE_PROBE(provider,name) HS_DTRACE_PROBE0(provider,name) +#define HS_DTRACE_PROBE0(provider,name)\ + DTRACE_PROBE(provider,name) +#define HS_DTRACE_PROBE1(provider,name,a0)\ + DTRACE_PROBE1(provider,name,a0) +#define HS_DTRACE_PROBE2(provider,name,a0,a1)\ + DTRACE_PROBE2(provider,name,a0,a1) +#define HS_DTRACE_PROBE3(provider,name,a0,a1,a2)\ + DTRACE_PROBE3(provider,name,a0,a1,a2) +#define HS_DTRACE_PROBE4(provider,name,a0,a1,a2,a3)\ + DTRACE_PROBE4(provider,name,a0,a1,a2,a3) +#define HS_DTRACE_PROBE5(provider,name,a0,a1,a2,a3,a4)\ + DTRACE_PROBE5(provider,name,a0,a1,a2,a3,a4) +#define HS_DTRACE_PROBE6(provider,name,a0,a1,a2,a3,a4,a5)\ + DTRACE_PROBE6(provider,name,a0,a1,a2,a3,a4,a5) +#define HS_DTRACE_PROBE7(provider,name,a0,a1,a2,a3,a4,a5,a6)\ + DTRACE_PROBE7(provider,name,a0,a1,a2,a3,a4,a5,a6) +#define HS_DTRACE_PROBE8(provider,name,a0,a1,a2,a3,a4,a5,a6,a7)\ + DTRACE_PROBE8(provider,name,a0,a1,a2,a3,a4,a5,a6,a7) +#define HS_DTRACE_PROBE9(provider,name,a0,a1,a2,a3,a4,a5,a6,a7,a8)\ + DTRACE_PROBE9(provider,name,a0,a1,a2,a3,a4,a5,a6,a7,a8) +#define HS_DTRACE_PROBE10(provider,name,a0,a1,a2,a3,a4,a5,a6,a7,a8)\ + DTRACE_PROBE10(provider,name,a0,a1,a2,a3,a4,a5,a6,a7,a8) +#else +#error "USDT1 enabled for unknown os" +#endif #endif /* !USDT2 */ From mjw at redhat.com Thu May 10 06:49:06 2012 From: mjw at redhat.com (Mark Wielaard) Date: Thu, 10 May 2012 15:49:06 +0200 Subject: [PATCH 1 of 3] XXXXXX: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field In-Reply-To: References: Message-ID: src/share/vm/prims/jni.cpp | 11 +++-------- 1 files changed, 3 insertions(+), 8 deletions(-) # HG changeset patch # User Mark Wielaard # Date 1336656680 -7200 # Node ID ed003325d9977d3bd8b38afd5db5a97200b310af # Parent 2766551175a024338344350b9c279797b4a7d8ac XXXXXX: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field. Summary: Don't use HS_DTRACE_PROBE_CDECL_N and HS_DTRACE_PROBE_N directly. Contributed-by: Mark Wielaard diff -r 2766551175a0 -r ed003325d997 src/share/vm/prims/jni.cpp --- a/src/share/vm/prims/jni.cpp Wed May 09 10:54:29 2012 -0700 +++ b/src/share/vm/prims/jni.cpp Thu May 10 15:31:20 2012 +0200 @@ -1,5 +1,6 @@ /* * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012 Red Hat, Inc. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -2818,10 +2819,7 @@ JNI_QUICK_ENTRY(void, jni_Set##Result##Field(JNIEnv *env, jobject obj, jfieldID fieldID, Argument value)) \ JNIWrapper("Set" XSTR(Result) "Field"); \ \ - HS_DTRACE_PROBE_CDECL_N(hotspot_jni, Set##Result##Field__entry, \ - ( JNIEnv*, jobject, jfieldID FP_SELECT_##Result(COMMA Argument,/*empty*/) ) ); \ - HS_DTRACE_PROBE_N(hotspot_jni, Set##Result##Field__entry, \ - ( env, obj, fieldID FP_SELECT_##Result(COMMA value,/*empty*/) ) ); \ + FP_SELECT_##Result(DTRACE_PROBE4(hotspot_jni, Set##Result##Field__entry, env, obj, fieldID, value),DTRACE_PROBE3(hotspot_jni, Set##Result##Field__entry, env, obj, fieldID)); \ \ oop o = JNIHandles::resolve_non_null(obj); \ klassOop k = o->klass(); \ @@ -3128,10 +3126,7 @@ \ JNI_ENTRY(void, jni_SetStatic##Result##Field(JNIEnv *env, jclass clazz, jfieldID fieldID, Argument value)) \ JNIWrapper("SetStatic" XSTR(Result) "Field"); \ - HS_DTRACE_PROBE_CDECL_N(hotspot_jni, SetStatic##Result##Field__entry,\ - ( JNIEnv*, jclass, jfieldID FP_SELECT_##Result(COMMA Argument,/*empty*/) ) ); \ - HS_DTRACE_PROBE_N(hotspot_jni, SetStatic##Result##Field__entry, \ - ( env, clazz, fieldID FP_SELECT_##Result(COMMA value,/*empty*/) ) ); \ + FP_SELECT_##Result(DTRACE_PROBE4(hotspot_jni, SetStatic##Result##Field__entry, env, clazz, fieldID, value),DTRACE_PROBE3(hotspot_jni, SetStatic##Result##Field__entry, env, clazz, fieldID)); \ \ JNIid* id = jfieldIDWorkaround::from_static_jfieldID(fieldID); \ assert(id->is_static_field_id(), "invalid static field id"); \ From mjw at redhat.com Thu May 10 06:49:05 2012 From: mjw at redhat.com (Mark Wielaard) Date: Thu, 10 May 2012 15:49:05 +0200 Subject: [PATCH 0 of 3] Add support for dtrace compatible sdt probes on GNU/Linux Message-ID: Hi, The following three patches enable support for dtrace compatible sdt probes on GNU/Linux. Most of the support was already submitted earlier. These are just the last three things left in IcedTea that actually enable it in hotspot. It has been in production use for some time already. The patches could be applied all as one, or individually if you want to be able to test them independently. The first patch is just a consistency cleanup patch. The JNI Set and SetStatic Field methods used HS_DTRACE_PROBE_CDECL_N and HS_DTRACE_PROBE_N directly instead of just using DTRACE_PROBE[N] like all other JNI methods. This doesn't matter for the Solaris macros, but on GNU/Linux the macros don't use direct function declarations (which is introduced in the second patch). The second patch introduces the DTRACE macros for use with the GNU/Linux SystemTap provided sys/sdt.h. Like Solaris this uses USDT1, but using macros instead of function declaractions. So it just adds a check for whether USDT1 is used with SOLARIS (HS_DTRACE_WORKAROUND_TAIL_CALL_BUG is only needed there) and defines HS_DTRACE_PROBE[N] for the LINUX case. The last patch enables the support in the build. I took the approach used in the make/solaris/dtrace.make and vm.make file with a test to see whether sys/sdt.h is available or not and printing a notice when they are not found. In IcedTea there is a more elaborate configure check to see if a small C++ program can be build with DTRACE probes in it, but that looked like overkill here. Patches in separate emails. Cheers, Mark The second patch adds the actual src/share/vm/prims/jni.cpp | 11 ++------ src/share/vm/utilities/dtrace.hpp | 50 ++++++++++++++++++++++++++++++++++++++- make/linux/makefiles/dtrace.make | 24 ++++++++++++++++++ make/linux/makefiles/vm.make | 2 +- 4 files changed, 77 insertions(+), 10 deletions(-) From daniel.daugherty at oracle.com Thu May 10 08:52:21 2012 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Thu, 10 May 2012 09:52:21 -0600 Subject: [PATCH 0 of 3] Add support for dtrace compatible sdt probes on GNU/Linux In-Reply-To: References: Message-ID: <4FABE435.3070101@oracle.com> Adding serviceability-dev at openjdk.java.net to this e-mail thread. On 5/10/12 7:49 AM, Mark Wielaard wrote: > Hi, > > The following three patches enable support for dtrace compatible sdt probes > on GNU/Linux. Most of the support was already submitted earlier. These are > just the last three things left in IcedTea that actually enable it in > hotspot. It has been in production use for some time already. > > The patches could be applied all as one, or individually if you want to be > able to test them independently. > > The first patch is just a consistency cleanup patch. The JNI Set and > SetStatic Field methods used HS_DTRACE_PROBE_CDECL_N and HS_DTRACE_PROBE_N > directly instead of just using DTRACE_PROBE[N] like all other JNI methods. > This doesn't matter for the Solaris macros, but on GNU/Linux the macros > don't use direct function declarations (which is introduced in the second > patch). > > The second patch introduces the DTRACE macros for use with the GNU/Linux > SystemTap provided sys/sdt.h. Like Solaris this uses USDT1, but using > macros instead of function declaractions. So it just adds a check for > whether USDT1 is used with SOLARIS (HS_DTRACE_WORKAROUND_TAIL_CALL_BUG > is only needed there) and defines HS_DTRACE_PROBE[N] for the LINUX case. > > The last patch enables the support in the build. I took the approach > used in the make/solaris/dtrace.make and vm.make file with a test to > see whether sys/sdt.h is available or not and printing a notice when > they are not found. In IcedTea there is a more elaborate configure > check to see if a small C++ program can be build with DTRACE probes > in it, but that looked like overkill here. > > Patches in separate emails. > > Cheers, > > Mark > > The second patch adds the actual > src/share/vm/prims/jni.cpp | 11 ++------ > src/share/vm/utilities/dtrace.hpp | 50 ++++++++++++++++++++++++++++++++++++++- > make/linux/makefiles/dtrace.make | 24 ++++++++++++++++++ > make/linux/makefiles/vm.make | 2 +- > 4 files changed, 77 insertions(+), 10 deletions(-) From daniel.daugherty at oracle.com Thu May 10 08:52:30 2012 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Thu, 10 May 2012 09:52:30 -0600 Subject: [PATCH 1 of 3] XXXXXX: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field In-Reply-To: References: Message-ID: <4FABE43E.1020900@oracle.com> Adding serviceability-dev at openjdk.java.net to this e-mail thread. On 5/10/12 7:49 AM, Mark Wielaard wrote: > src/share/vm/prims/jni.cpp | 11 +++-------- > 1 files changed, 3 insertions(+), 8 deletions(-) > > > # HG changeset patch > # User Mark Wielaard > # Date 1336656680 -7200 > # Node ID ed003325d9977d3bd8b38afd5db5a97200b310af > # Parent 2766551175a024338344350b9c279797b4a7d8ac > XXXXXX: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field. > Summary: Don't use HS_DTRACE_PROBE_CDECL_N and HS_DTRACE_PROBE_N directly. > Contributed-by: Mark Wielaard > > diff -r 2766551175a0 -r ed003325d997 src/share/vm/prims/jni.cpp > --- a/src/share/vm/prims/jni.cpp Wed May 09 10:54:29 2012 -0700 > +++ b/src/share/vm/prims/jni.cpp Thu May 10 15:31:20 2012 +0200 > @@ -1,5 +1,6 @@ > /* > * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. > + * Copyright (c) 2012 Red Hat, Inc. > * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. > * > * This code is free software; you can redistribute it and/or modify it > @@ -2818,10 +2819,7 @@ > JNI_QUICK_ENTRY(void, jni_Set##Result##Field(JNIEnv *env, jobject obj, jfieldID fieldID, Argument value)) \ > JNIWrapper("Set" XSTR(Result) "Field"); \ > \ > - HS_DTRACE_PROBE_CDECL_N(hotspot_jni, Set##Result##Field__entry, \ > - ( JNIEnv*, jobject, jfieldID FP_SELECT_##Result(COMMA Argument,/*empty*/) ) ); \ > - HS_DTRACE_PROBE_N(hotspot_jni, Set##Result##Field__entry, \ > - ( env, obj, fieldID FP_SELECT_##Result(COMMA value,/*empty*/) ) ); \ > + FP_SELECT_##Result(DTRACE_PROBE4(hotspot_jni, Set##Result##Field__entry, env, obj, fieldID, value),DTRACE_PROBE3(hotspot_jni, Set##Result##Field__entry, env, obj, fieldID)); \ > \ > oop o = JNIHandles::resolve_non_null(obj); \ > klassOop k = o->klass(); \ > @@ -3128,10 +3126,7 @@ > \ > JNI_ENTRY(void, jni_SetStatic##Result##Field(JNIEnv *env, jclass clazz, jfieldID fieldID, Argument value)) \ > JNIWrapper("SetStatic" XSTR(Result) "Field"); \ > - HS_DTRACE_PROBE_CDECL_N(hotspot_jni, SetStatic##Result##Field__entry,\ > - ( JNIEnv*, jclass, jfieldID FP_SELECT_##Result(COMMA Argument,/*empty*/) ) ); \ > - HS_DTRACE_PROBE_N(hotspot_jni, SetStatic##Result##Field__entry, \ > - ( env, clazz, fieldID FP_SELECT_##Result(COMMA value,/*empty*/) ) ); \ > + FP_SELECT_##Result(DTRACE_PROBE4(hotspot_jni, SetStatic##Result##Field__entry, env, clazz, fieldID, value),DTRACE_PROBE3(hotspot_jni, SetStatic##Result##Field__entry, env, clazz, fieldID)); \ > \ > JNIid* id = jfieldIDWorkaround::from_static_jfieldID(fieldID); \ > assert(id->is_static_field_id(), "invalid static field id"); \ From daniel.daugherty at oracle.com Thu May 10 08:52:36 2012 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Thu, 10 May 2012 09:52:36 -0600 Subject: [PATCH 2 of 3] XXXXXX: Define DTRACE macros for use with GNU/Linux SystemTap sys/sdt.h In-Reply-To: References: Message-ID: <4FABE444.2040504@oracle.com> Adding serviceability-dev at openjdk.java.net to this e-mail thread. On 5/10/12 7:49 AM, Mark Wielaard wrote: > src/share/vm/utilities/dtrace.hpp | 50 ++++++++++++++++++++++++++++++++++++++- > 1 files changed, 49 insertions(+), 1 deletions(-) > > > # HG changeset patch > # User Mark Wielaard > # Date 1336657104 -7200 > # Node ID ec675cf936d8eeefb11b7624c8f292fdd7e1f847 > # Parent ed003325d9977d3bd8b38afd5db5a97200b310af > XXXXXX: Define DTRACE macros for use with GNU/Linux SystemTap sys/sdt.h. > Summary: LINUX also uses USDT1, but with macros instead of function decls. > Contributed-by: Mark Wielaard > > diff -r ed003325d997 -r ec675cf936d8 src/share/vm/utilities/dtrace.hpp > --- a/src/share/vm/utilities/dtrace.hpp Thu May 10 15:31:20 2012 +0200 > +++ b/src/share/vm/utilities/dtrace.hpp Thu May 10 15:38:24 2012 +0200 > @@ -1,5 +1,6 @@ > /* > * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. > + * Copyright (c) 2009, 2012 Red Hat, Inc. > * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. > * > * This code is free software; you can redistribute it and/or modify it > @@ -32,12 +33,15 @@ > #define DTRACE_ONLY(x) x > #define NOT_DTRACE(x) > > +#if defined(SOLARIS) > // Work around dtrace tail call bug 6672627 until it is fixed in solaris 10. > #define HS_DTRACE_WORKAROUND_TAIL_CALL_BUG() \ > do { volatile size_t dtrace_workaround_tail_call_bug = 1; } while (0) > > -#if defined(SOLARIS) > #define USDT1 1 > +#elif defined(LINUX) > +#define USDT1 1 > +#define HS_DTRACE_WORKAROUND_TAIL_CALL_BUG() > #elif defined(__APPLE__) > #define USDT2 1 > #include > @@ -63,6 +67,11 @@ > #define DTRACE_PROBE3(a,b,c,d,e) {;} > #define DTRACE_PROBE4(a,b,c,d,e,f) {;} > #define DTRACE_PROBE5(a,b,c,d,e,f,g) {;} > +#define DTRACE_PROBE6(a,b,c,d,e,f,g,h) {;} > +#define DTRACE_PROBE7(a,b,c,d,e,f,g,h,i) {;} > +#define DTRACE_PROBE8(a,b,c,d,e,f,g,h,i,j) {;} > +#define DTRACE_PROBE9(a,b,c,d,e,f,g,h,i,j,k) {;} > +#define DTRACE_PROBE10(a,b,c,d,e,f,g,h,i,j,k,l) {;} > > #else /* USDT2 */ > > @@ -76,10 +85,19 @@ > #define HS_DTRACE_PROBE_FN(provider,name)\ > __dtrace_##provider##___##name > > +#ifdef SOLARIS > +// Solaris dtrace needs actual extern function decls. > #define HS_DTRACE_PROBE_DECL_N(provider,name,args) \ > DTRACE_ONLY(extern "C" void HS_DTRACE_PROBE_FN(provider,name) args) > #define HS_DTRACE_PROBE_CDECL_N(provider,name,args) \ > DTRACE_ONLY(extern void HS_DTRACE_PROBE_FN(provider,name) args) > +#elif defined(LINUX) > +// Systemtap dtrace compatible probes on GNU/Linux don't. > +#define HS_DTRACE_PROBE_DECL_N(provider,name,args) > +#define HS_DTRACE_PROBE_CDECL_N(provider,name,args) > +#else > +#error "USDT1 enabled for unknown os" > +#endif > > /* Dtrace probe declarations */ > #define HS_DTRACE_PROBE_DECL(provider,name) \ > @@ -118,6 +136,8 @@ > uintptr_t,uintptr_t,uintptr_t)) > > /* Dtrace probe definitions */ > +#if defined(SOLARIS) > +// Solaris dtrace uses actual function calls. > #define HS_DTRACE_PROBE_N(provider,name, args) \ > DTRACE_ONLY(HS_DTRACE_PROBE_FN(provider,name) args) > > @@ -153,6 +173,34 @@ > HS_DTRACE_PROBE_N(provider,name,((uintptr_t)a0,(uintptr_t)a1,(uintptr_t)a2,\ > (uintptr_t)a3,(uintptr_t)a4,(uintptr_t)a5,(uintptr_t)a6,(uintptr_t)a7,\ > (uintptr_t)a8,(uintptr_t)a9)) > +#elif defined(LINUX) > +// Systemtap dtrace compatible probes on GNU/Linux use direct macros. > +#define HS_DTRACE_PROBE(provider,name) HS_DTRACE_PROBE0(provider,name) > +#define HS_DTRACE_PROBE0(provider,name)\ > + DTRACE_PROBE(provider,name) > +#define HS_DTRACE_PROBE1(provider,name,a0)\ > + DTRACE_PROBE1(provider,name,a0) > +#define HS_DTRACE_PROBE2(provider,name,a0,a1)\ > + DTRACE_PROBE2(provider,name,a0,a1) > +#define HS_DTRACE_PROBE3(provider,name,a0,a1,a2)\ > + DTRACE_PROBE3(provider,name,a0,a1,a2) > +#define HS_DTRACE_PROBE4(provider,name,a0,a1,a2,a3)\ > + DTRACE_PROBE4(provider,name,a0,a1,a2,a3) > +#define HS_DTRACE_PROBE5(provider,name,a0,a1,a2,a3,a4)\ > + DTRACE_PROBE5(provider,name,a0,a1,a2,a3,a4) > +#define HS_DTRACE_PROBE6(provider,name,a0,a1,a2,a3,a4,a5)\ > + DTRACE_PROBE6(provider,name,a0,a1,a2,a3,a4,a5) > +#define HS_DTRACE_PROBE7(provider,name,a0,a1,a2,a3,a4,a5,a6)\ > + DTRACE_PROBE7(provider,name,a0,a1,a2,a3,a4,a5,a6) > +#define HS_DTRACE_PROBE8(provider,name,a0,a1,a2,a3,a4,a5,a6,a7)\ > + DTRACE_PROBE8(provider,name,a0,a1,a2,a3,a4,a5,a6,a7) > +#define HS_DTRACE_PROBE9(provider,name,a0,a1,a2,a3,a4,a5,a6,a7,a8)\ > + DTRACE_PROBE9(provider,name,a0,a1,a2,a3,a4,a5,a6,a7,a8) > +#define HS_DTRACE_PROBE10(provider,name,a0,a1,a2,a3,a4,a5,a6,a7,a8)\ > + DTRACE_PROBE10(provider,name,a0,a1,a2,a3,a4,a5,a6,a7,a8) > +#else > +#error "USDT1 enabled for unknown os" > +#endif > > #endif /* !USDT2 */ > From daniel.daugherty at oracle.com Thu May 10 08:52:40 2012 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Thu, 10 May 2012 09:52:40 -0600 Subject: [PATCH 3 of 3] XXXXXX: Enable dtrace compatible sdt probes on GNU/Linux builds In-Reply-To: <6a35858b331dca2ce76b.1336657748@springer.wildebeest.org> References: <6a35858b331dca2ce76b.1336657748@springer.wildebeest.org> Message-ID: <4FABE448.2050700@oracle.com> Adding serviceability-dev at openjdk.java.net to this e-mail thread. On 5/10/12 7:49 AM, Mark Wielaard wrote: > make/linux/makefiles/dtrace.make | 24 ++++++++++++++++++++++++ > make/linux/makefiles/vm.make | 2 +- > 2 files changed, 25 insertions(+), 1 deletions(-) > > > # HG changeset patch > # User Mark Wielaard > # Date 1336657292 -7200 > # Node ID 6a35858b331dca2ce76b6328ff57f893349303a0 > # Parent ec675cf936d8eeefb11b7624c8f292fdd7e1f847 > XXXXXX: Enable dtrace compatible sdt probes on GNU/Linux builds. > Summary: If sys/sdt.h is found, then enable dtrace compatible sdt probes. > Contributed-by: Mark Wielaard > > diff -r ec675cf936d8 -r 6a35858b331d make/linux/makefiles/dtrace.make > --- a/make/linux/makefiles/dtrace.make Thu May 10 15:38:24 2012 +0200 > +++ b/make/linux/makefiles/dtrace.make Thu May 10 15:41:32 2012 +0200 > @@ -1,5 +1,6 @@ > # > # Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved. > +# Copyright (c) 2012 Red Hat, Inc. > # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. > # > # This code is free software; you can redistribute it and/or modify it > @@ -25,3 +26,26 @@ > # Linux does not build jvm_db > LIBJVM_DB = > > +# But it does have a SystemTap dtrace compatible sys/sdt.h > +ifneq ($(ALT_SDT_H),) > + SDT_H_FILE = $(ALT_SDT_H) > +else > + SDT_H_FILE = /usr/include/sys/sdt.h > +endif > +DTRACE_ENABLED = $(shell test -f $(SDT_H_FILE)&& echo $(SDT_H_FILE)) > + > +ifneq ($(DTRACE_ENABLED),) > + CFLAGS += -DDTRACE_ENABLED > +endif > + > +# Phone target used in vm.make build target to check whether enabled. > +.PHONY: dtraceCheck > +ifeq ($(DTRACE_ENABLED),) > +dtraceCheck: > + $(QUIETLY) echo "**NOTICE** Dtrace support disabled $(SDT_H_FILE) not found" > +else > +dtraceCheck: > +endif > + > +# It doesn't support HAVE_DTRACE_H though. > + > diff -r ec675cf936d8 -r 6a35858b331d make/linux/makefiles/vm.make > --- a/make/linux/makefiles/vm.make Thu May 10 15:38:24 2012 +0200 > +++ b/make/linux/makefiles/vm.make Thu May 10 15:41:32 2012 +0200 > @@ -383,7 +383,7 @@ > > #---------------------------------------------------------------------- > > -build: $(LIBJVM) $(LAUNCHER) $(LIBJSIG) $(LIBJVM_DB) $(BUILDLIBSAPROC) $(WB_JAR) > +build: $(LIBJVM) $(LAUNCHER) $(LIBJSIG) $(LIBJVM_DB) $(BUILDLIBSAPROC) dtraceCheck $(WB_JAR) > > install: install_jvm install_jsig install_saproc > From neil.richards at ngmr.net Thu May 10 10:04:21 2012 From: neil.richards at ngmr.net (Neil Richards) Date: Thu, 10 May 2012 18:04:21 +0100 Subject: Documenting the interfaces to the VM In-Reply-To: References: <1336648134.23106.99.camel@chalkhill> Message-ID: <1336669461.14918.58.camel@chalkhill> On Thu, 2012-05-10 at 15:56 +0200, Volker Simonis wrote: > Hi Neil, > > this project sounds very interesting and promising! > Hi Volker, Thanks for the encouragement :) > What do you exactly mean by documenting the native interfaces with Doxygen? > Do you propose to put Doxygen comments around the "JVM_*" functions in > "jvm.h" for example? Yes, that is a good example of what I'm thinking about. > As this file is duplicated under "hotspot/src/share/vm/prims/jvm.h" > and "jdk/src/share/javavm/export/jvm.h" where do you would suggest to > place the documentation? Aww, you've anticipated my first concrete question! It seems unfortunate that declarations are duplicated in these two files, especially given that the two files are not quite duplicates of each other (despite comments suggesting that they are). I can see that having a version in each repo is useful (enabling developers to build each repo in isolation), but I think that working towards them being strict duplicates of each other would be a sensible move (so one can easily work out if they're "in-step" by diff'ing / cmp'ing them). Whilst not quite fully conforming to the "Don't Repeat Yourself" principle [1], it would at least adhere to the associated "If You Must Repeat Yourself, Only Do So Trivially" principle that I've just made up. (Yeah, I know, it needs a more catchy acronym that's less like someone sneezing). Extra functions provided by the VM, but not required by the JDK, would then better be captured in separate header file. Doing this would also make it clearer when apparently VM-agnostic code reaches across to use implementation-specific functionality. > Or asking the other way around: would you propose to start this > project from the JDKs point of view (i.e. what does the JDK require to > run) or from the VM's perspective (i.e. what does the VM want to > provide)? As my aim is to document the things a VM needs to provide to support the function of the JDK, it suggests that currently the jvm.h in the /jdk repo is the more appropriate to use for this purpose. However, I recognise a tension here, as the information recorded is potentially of most interest to VM developers (including those for Hotspot), who are less likely to be paying attention to documentation changes in a separate repo (that they may not even be cloning!). This tension would be ameliorated once the two files become strict duplicates. Any thoughts or suggestions on better approaches to take on this would be welcome. Regards, Neil [1] http://en.wikipedia.org/wiki/Don%27t_repeat_yourself -- Unless stated above: IBM email: neil_richards at uk.ibm.com IBM United Kingdom Limited - Registered in England and Wales with number 741598. Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU From vladimir.kozlov at oracle.com Thu May 10 11:11:18 2012 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Thu, 10 May 2012 11:11:18 -0700 Subject: Request for reviews (M): 6924259: Remove String.count,String.offset fields Message-ID: <4FAC04C6.2060309@oracle.com> http://cr.openjdk.java.net/~kvn/6924259/webrev 6924259: Remove String.count/String.offset Allows a version of the String class that doesn't have count,offset fields. These VM changes works with both versions of String class by checking the presence of fields. Initial changes were done by Brian and Tom years ago. I addapted it for current sources and tested it. Tested with NSK, regression tests, CTW, refworkload, CDS (class sharing). Thanks, Vladimir From mlists at juma.me.uk Thu May 10 13:41:37 2012 From: mlists at juma.me.uk (Ismael Juma) Date: Thu, 10 May 2012 20:41:37 +0000 (UTC) Subject: Request for reviews (M): 6924259: Remove =?utf-8?b?U3RyaW5nLmNvdW50LFN0cmluZy5vZmZzZXQJZmllbGRz?= References: <4FAC04C6.2060309@oracle.com> Message-ID: Hi Vladimir, Vladimir Kozlov writes: > http://cr.openjdk.java.net/~kvn/6924259/webrev > > 6924259: Remove String.count/String.offset > > Allows a version of the String class that doesn't have count,offset fields. > These VM changes works with both versions of String class by checking the > presence of fields. Interesting. Is there a plan for the standard JDK to use a String class without count and offset fields or is it just for the embedded one? (the bug number is not accessible yet in case it's already described there). Best, Ismael From vladimir.kozlov at oracle.com Thu May 10 14:01:57 2012 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Thu, 10 May 2012 14:01:57 -0700 Subject: Request for reviews (M): 6924259: Remove String.count, String.offset fields In-Reply-To: References: <4FAC04C6.2060309@oracle.com> Message-ID: <4FAC2CC5.3050109@oracle.com> Ismael Juma wrote: > Hi Vladimir, > > Vladimir Kozlov writes: >> http://cr.openjdk.java.net/~kvn/6924259/webrev >> >> 6924259: Remove String.count/String.offset >> >> Allows a version of the String class that doesn't have count,offset fields. >> These VM changes works with both versions of String class by checking the >> presence of fields. > > Interesting. Is there a plan for the standard JDK to use a String class without > count and offset fields or is it just for the embedded one? (the bug number is > not accessible yet in case it's already described there). Yes, it is preparation for standard JDK changes. Vladimir > > Best, > Ismael > From mlists at juma.me.uk Thu May 10 14:07:17 2012 From: mlists at juma.me.uk (Ismael Juma) Date: Thu, 10 May 2012 21:07:17 +0000 (UTC) Subject: Request for reviews (M): 6924259: Remove =?utf-8?b?U3RyaW5nLmNvdW50LAlTdHJpbmcub2Zmc2V0?= fields References: <4FAC04C6.2060309@oracle.com> <4FAC2CC5.3050109@oracle.com> Message-ID: Vladimir Kozlov writes: > Yes, it is preparation for standard JDK changes. Great, thanks. Best, Ismael From vitalyd at gmail.com Thu May 10 14:22:30 2012 From: vitalyd at gmail.com (Vitaly Davidovich) Date: Thu, 10 May 2012 17:22:30 -0400 Subject: Request for reviews (M): 6924259: Remove String.count, String.offset fields In-Reply-To: <4FAC04C6.2060309@oracle.com> References: <4FAC04C6.2060309@oracle.com> Message-ID: Hi Vladimir, In graphKit.cpp, should the code in load_String_length() check has_count_field() instead of has_offset_field()? I guess this works because they're all removed together but javaClasses.hpp does define has_count_field() and load_String_length proceeds to read the count offset. Regards, Vitaly Sent from my phone On May 10, 2012 2:15 PM, "Vladimir Kozlov" wrote: > http://cr.openjdk.java.net/~**kvn/6924259/webrev > > 6924259: Remove String.count/String.offset > > Allows a version of the String class that doesn't have count,offset fields. > These VM changes works with both versions of String class by checking the > presence of fields. > > Initial changes were done by Brian and Tom years ago. I addapted it for > current sources and tested it. > > Tested with NSK, regression tests, CTW, refworkload, CDS (class sharing). > > Thanks, > Vladimir > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20120510/12d15716/attachment.html From vladimir.kozlov at oracle.com Thu May 10 14:38:32 2012 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Thu, 10 May 2012 14:38:32 -0700 Subject: Request for reviews (M): 6924259: Remove String.count, String.offset fields In-Reply-To: References: <4FAC04C6.2060309@oracle.com> Message-ID: <4FAC3558.1030300@oracle.com> Vitaly Davidovich wrote: > Hi Vladimir, > > In graphKit.cpp, should the code in load_String_length() check > has_count_field() instead of has_offset_field()? I guess this works > because they're all removed together but javaClasses.hpp does define > has_count_field() and load_String_length proceeds to read the count offset. Thank you, Vitaly. I changed it as you suggest. Vladimir > > Regards, > Vitaly > > Sent from my phone > > On May 10, 2012 2:15 PM, "Vladimir Kozlov" > wrote: > > http://cr.openjdk.java.net/~__kvn/6924259/webrev > > > 6924259: Remove String.count/String.offset > > Allows a version of the String class that doesn't have count,offset > fields. > These VM changes works with both versions of String class by > checking the presence of fields. > > Initial changes were done by Brian and Tom years ago. I addapted it > for current sources and tested it. > > Tested with NSK, regression tests, CTW, refworkload, CDS (class > sharing). > > Thanks, > Vladimir > From john.coomes at oracle.com Thu May 10 20:32:09 2012 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 11 May 2012 03:32:09 +0000 Subject: hg: hsx/hotspot-main: 6 new changesets Message-ID: <20120511033209.B720447259@hg.openjdk.java.net> Changeset: afeeed8e5f8c Author: ihse Date: 2012-04-30 12:13 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/rev/afeeed8e5f8c 7165277: Fix missing execute permission issue running logger.sh Reviewed-by: ohair ! common/autoconf/configure ! common/autoconf/configure.ac Changeset: b2972095a4b1 Author: katleman Date: 2012-05-02 15:46 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/rev/b2972095a4b1 Merge Changeset: 2eeb9fac7dfc Author: katleman Date: 2012-05-09 13:07 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/rev/2eeb9fac7dfc Added tag jdk8-b37 for changeset b2972095a4b1 ! .hgtags Changeset: 2f06b15e2439 Author: ewendeli Date: 2012-05-03 14:17 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-main/rev/2f06b15e2439 7154130: Add Mac OS X Instructions to README-builds.html Reviewed-by: ohair Contributed-by: edvard.wendelin at oracle.com ! README-builds.html Changeset: d939bd0ab13c Author: katleman Date: 2012-05-09 16:12 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/rev/d939bd0ab13c Merge Changeset: b67bdaca36c2 Author: katleman Date: 2012-05-10 10:24 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/rev/b67bdaca36c2 Added tag jdk8-b38 for changeset d939bd0ab13c ! .hgtags From john.coomes at oracle.com Thu May 10 20:32:14 2012 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 11 May 2012 03:32:14 +0000 Subject: hg: hsx/hotspot-main/corba: 7 new changesets Message-ID: <20120511033220.E19F34725A@hg.openjdk.java.net> Changeset: c6c0b1047985 Author: jmelvin Date: 2012-04-16 17:10 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/corba/rev/c6c0b1047985 7130404: [macosx] "os.arch" value should be "x86_64" for compatibility with Apple JDK6 Summary: On Mac OS X, align system property "os.arch" with Apple legacy JDKs. Also, improve os.name string matching by using .contains() method instead of .startsWith(). This fix spans multiple repositories. Reviewed-by: dcubed, phh, ohair, katleman ! make/common/shared/Platform.gmk Changeset: 9cdcc0152526 Author: coffeys Date: 2012-04-20 17:34 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/corba/rev/9cdcc0152526 7161925: sjava files in corba don't have copyright string and legal notice Reviewed-by: chegar Contributed-by: misha.bykov at oracle.com ! src/share/classes/com/sun/corba/se/impl/orbutil/DefineWrapper.sjava ! src/share/classes/com/sun/corba/se/impl/presentation/rmi/IDLTypesUtil_save.sjava Changeset: df0c7369a86b Author: lana Date: 2012-04-26 14:14 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/corba/rev/df0c7369a86b Merge Changeset: 4a653e435441 Author: lana Date: 2012-05-01 11:29 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/corba/rev/4a653e435441 Merge Changeset: 2d2f6b0f855b Author: katleman Date: 2012-05-09 13:07 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/corba/rev/2d2f6b0f855b Added tag jdk8-b37 for changeset 83fac66442cf ! .hgtags Changeset: b8cbfb31139f Author: katleman Date: 2012-05-09 13:11 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/corba/rev/b8cbfb31139f Merge Changeset: 785af00e2827 Author: katleman Date: 2012-05-10 10:24 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/corba/rev/785af00e2827 Added tag jdk8-b38 for changeset b8cbfb31139f ! .hgtags From john.coomes at oracle.com Thu May 10 20:32:25 2012 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 11 May 2012 03:32:25 +0000 Subject: hg: hsx/hotspot-main/jaxp: 4 new changesets Message-ID: <20120511033241.D50D04725B@hg.openjdk.java.net> Changeset: aabc08ea546f Author: ohair Date: 2012-04-30 16:03 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jaxp/rev/aabc08ea546f 7165312: Fix jaxp source movement for new build-infra Reviewed-by: ohrstrom ! makefiles/Makefile Changeset: 90204bfab4e2 Author: katleman Date: 2012-05-02 15:47 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jaxp/rev/90204bfab4e2 Merge Changeset: 5bbe0cb6f2f2 Author: katleman Date: 2012-05-09 13:07 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jaxp/rev/5bbe0cb6f2f2 Added tag jdk8-b37 for changeset 90204bfab4e2 ! .hgtags Changeset: f95fdbe525c8 Author: katleman Date: 2012-05-10 10:25 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jaxp/rev/f95fdbe525c8 Added tag jdk8-b38 for changeset 5bbe0cb6f2f2 ! .hgtags From john.coomes at oracle.com Thu May 10 20:32:46 2012 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 11 May 2012 03:32:46 +0000 Subject: hg: hsx/hotspot-main/jaxws: 2 new changesets Message-ID: <20120511033253.4BF444725C@hg.openjdk.java.net> Changeset: ac1ba3b56775 Author: katleman Date: 2012-05-09 13:07 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jaxws/rev/ac1ba3b56775 Added tag jdk8-b37 for changeset b05a948db1b6 ! .hgtags Changeset: 7f6b44fd3034 Author: katleman Date: 2012-05-10 10:25 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jaxws/rev/7f6b44fd3034 Added tag jdk8-b38 for changeset ac1ba3b56775 ! .hgtags From john.coomes at oracle.com Thu May 10 20:34:56 2012 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 11 May 2012 03:34:56 +0000 Subject: hg: hsx/hotspot-main/jdk: 49 new changesets Message-ID: <20120511034345.D4A8147262@hg.openjdk.java.net> Changeset: 8e3fb7dd21cd Author: skovatch Date: 2012-04-25 12:18 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/8e3fb7dd21cd 7128699: Fix bundle name so it contains the bugfix number in the name. Reviewed-by: robilad ! make/common/Release-macosx.gmk Changeset: 919be2f7fd6e Author: cgruszka Date: 2012-04-27 14:37 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/919be2f7fd6e Merge Changeset: 762661efef30 Author: jgodinez Date: 2012-04-24 13:29 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/762661efef30 7157659: [macosx] Landscape Printing orientation doesn't work Reviewed-by: bae, prr ! src/macosx/native/sun/awt/PrinterView.m Changeset: cdaadcc2c6a4 Author: jgodinez Date: 2012-04-26 13:16 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/cdaadcc2c6a4 7013850: Please change the mnemonic assignment system to avoid translation issue Reviewed-by: prr, mfang ! src/share/classes/sun/print/ServiceDialog.java ! src/share/classes/sun/print/resources/serviceui.properties ! src/share/classes/sun/print/resources/serviceui_de.properties ! src/share/classes/sun/print/resources/serviceui_es.properties ! src/share/classes/sun/print/resources/serviceui_fr.properties ! src/share/classes/sun/print/resources/serviceui_it.properties ! src/share/classes/sun/print/resources/serviceui_ja.properties ! src/share/classes/sun/print/resources/serviceui_ko.properties ! src/share/classes/sun/print/resources/serviceui_pt_BR.properties ! src/share/classes/sun/print/resources/serviceui_sv.properties ! src/share/classes/sun/print/resources/serviceui_zh_CN.properties ! src/share/classes/sun/print/resources/serviceui_zh_TW.properties Changeset: c2d29a375871 Author: lana Date: 2012-04-26 18:25 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/c2d29a375871 Merge Changeset: 4a19075bb989 Author: lana Date: 2012-05-02 09:53 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/4a19075bb989 Merge Changeset: 44beb8a52aec Author: zhouyx Date: 2012-04-20 10:34 +0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/44beb8a52aec 7129742: Unable to view focus in Non-Editable TextArea Summary: Make sure the cursor is visible by setVisible(true) Reviewed-by: rupashka, alexp ! src/solaris/classes/sun/awt/X11/XTextAreaPeer.java ! src/solaris/classes/sun/awt/X11/XTextFieldPeer.java + test/java/awt/TextArea/TextAreaCaretVisibilityTest/bug7129742.java Changeset: dfa2ea47257d Author: luchsh Date: 2012-04-20 13:13 +0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/dfa2ea47257d 7055065: NullPointerException when sorting JTable with empty cell Reviewed-by: rupashka ! src/share/classes/javax/swing/JTable.java + test/javax/swing/JTable/7055065/bug7055065.java Changeset: 738b32fc3ef1 Author: anthony Date: 2012-04-24 17:47 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/738b32fc3ef1 7150109: [macosx] the Frame showed incomplete. Summary: Open-source the tests Reviewed-by: art + test/java/awt/Frame/FrameStateTest/FrameStateTest.html + test/java/awt/Frame/FrameStateTest/FrameStateTest.java Changeset: 9ed029a0326d Author: anthony Date: 2012-04-24 19:12 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/9ed029a0326d 7163898: add isLoggable() check to doLog() Summary: Add the check and return immediately if it's false Reviewed-by: anthony, mchung, sla Contributed-by: Nicolas Carranza ! src/share/classes/sun/util/logging/PlatformLogger.java Changeset: 4a0f6ef43a09 Author: anthony Date: 2012-04-24 20:39 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/4a0f6ef43a09 7131021: [macosx] Consider using system properties to pass arguments from the launcher to AWT/SplashScreen Summary: Document the environment variables and add tests Reviewed-by: ksrini ! src/macosx/bin/java_md_macosx.c + test/tools/launcher/EnvironmentVariables.java ! test/tools/launcher/TestHelper.java + test/tools/launcher/TestSpecialArgs.java Changeset: 36fd5078198b Author: alexsch Date: 2012-04-25 16:48 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/36fd5078198b 7163482: [macosx] Regtest closed/javax/swing/JTree/4908142/bug4908142.java intermittent failure Reviewed-by: rupashka + test/javax/swing/JTree/4908142/bug4908142.java Changeset: f1d1dab11a06 Author: leonidr Date: 2012-04-25 18:15 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/f1d1dab11a06 7154480: [macosx] Not all popup menu items are visible Reviewed-by: art ! src/macosx/classes/sun/lwawt/macosx/LWCToolkit.java ! src/share/classes/javax/swing/JPopupMenu.java ! src/share/classes/sun/awt/SunToolkit.java Changeset: 340cda7e1430 Author: luchsh Date: 2012-04-26 12:39 +0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/340cda7e1430 7154030: java.awt.Component.hide() does not repaint parent component Reviewed-by: rupashka ! src/share/classes/javax/swing/JComponent.java + test/javax/swing/JComponent/7154030/bug7154030.java Changeset: 6314933aeaa9 Author: alexp Date: 2012-04-26 21:16 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/6314933aeaa9 7124210: [macosx] Replacing text in a TextField does generate an extra TextEvent Reviewed-by: serb ! src/macosx/classes/sun/lwawt/LWTextAreaPeer.java ! src/macosx/classes/sun/lwawt/LWTextComponentPeer.java ! src/macosx/classes/sun/lwawt/LWTextFieldPeer.java Changeset: 4184e5cbf46e Author: alexp Date: 2012-04-26 21:25 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/4184e5cbf46e 7124328: [macosx] javax.swing.JDesktopPane.getAllFramesInLayer returns unexpected value Reviewed-by: anthony ! src/share/classes/javax/swing/JDesktopPane.java Changeset: d148d3d194af Author: lana Date: 2012-04-26 18:15 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/d148d3d194af Merge Changeset: bbbf4e63562b Author: dcherepanov Date: 2012-05-02 13:53 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/bbbf4e63562b 7154062: [macosx] Mouse cursor isn't updated in applets Reviewed-by: anthony, art ! src/macosx/classes/sun/lwawt/macosx/CCursorManager.java ! src/macosx/classes/sun/lwawt/macosx/CEmbeddedFrame.java ! src/macosx/native/sun/awt/CCursorManager.m Changeset: 0fad89bd606b Author: alexsch Date: 2012-05-02 17:54 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/0fad89bd606b 7154048: [macosx] At least drag twice, the toolbar can be dragged to the left side Reviewed-by: anthony, leonidr ! src/macosx/classes/sun/lwawt/LWWindowPeer.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java ! src/macosx/native/sun/awt/AWTView.h ! src/macosx/native/sun/awt/AWTView.m ! src/macosx/native/sun/awt/AWTWindow.h ! src/macosx/native/sun/awt/AWTWindow.m + test/java/awt/Mouse/EnterExitEvents/DragWindowOutOfFrameTest.java + test/java/awt/Mouse/EnterExitEvents/DragWindowTest.java + test/java/awt/Mouse/EnterExitEvents/ResizingFrameTest.java ! test/java/awt/regtesthelpers/Util.java Changeset: f906d6068b43 Author: lana Date: 2012-05-02 09:54 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/f906d6068b43 Merge Changeset: 7b023213681c Author: psandoz Date: 2012-04-19 14:05 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/7b023213681c 7162262: (fs) Typo in java.nio.file.Path class description Reviewed-by: alanb ! src/share/classes/java/nio/file/Path.java Changeset: 77b35c5c4b95 Author: jmelvin Date: 2012-04-16 18:09 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/77b35c5c4b95 7130404: [macosx] "os.arch" value should be "x86_64" for compatibility with Apple JDK6 Summary: On Mac OS X, align system property "os.arch" with Apple legacy JDKs. Also, improve os.name string matching by using .contains() method instead of .startsWith(). This fix spans multiple repositories. Reviewed-by: dcubed, phh, ohair, katleman ! make/common/Defs-macosx.gmk ! make/common/shared/Platform.gmk ! src/share/classes/java/net/AbstractPlainDatagramSocketImpl.java ! src/share/classes/java/nio/Bits.java ! src/share/classes/java/util/prefs/Preferences.java ! src/share/classes/sun/awt/OSInfo.java ! src/share/classes/sun/font/FontUtilities.java ! src/share/classes/sun/launcher/LauncherHelper.java ! src/share/classes/sun/nio/cs/ext/ExtendedCharsets.java ! src/share/classes/sun/print/PSPrinterJob.java ! src/share/classes/sun/security/jgss/wrapper/SunNativeProvider.java ! src/share/classes/sun/security/krb5/Config.java ! src/share/classes/sun/security/krb5/Credentials.java ! src/share/classes/sun/security/provider/ByteArrayAccess.java ! src/solaris/classes/sun/nio/ch/DefaultAsynchronousChannelProvider.java ! src/solaris/classes/sun/nio/fs/DefaultFileSystemProvider.java ! src/solaris/classes/sun/print/UnixPrintServiceLookup.java ! test/demo/jvmti/DemoRun.java ! test/java/io/File/GetXSpace.java ! test/java/lang/ProcessBuilder/Basic.java ! test/java/lang/ProcessBuilder/Zombies.java ! test/java/lang/invoke/InvokeGenericTest.java ! test/java/lang/management/OperatingSystemMXBean/GetSystemLoadAverage.java ! test/java/nio/channels/FileChannel/Size.java ! test/java/nio/channels/FileChannel/Transfer.java ! test/java/nio/file/FileSystem/Basic.java ! test/sun/nio/ch/SelProvider.java ! test/tools/launcher/TestHelper.java Changeset: 079bb040b2ee Author: coleenp Date: 2012-04-19 10:53 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/079bb040b2ee Merge Changeset: 404c8e097ae9 Author: vinnie Date: 2012-04-19 16:58 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/404c8e097ae9 7162823: Modify the list of excluded tests (ProblemList Reviewed-by: alanb ! test/ProblemList.txt Changeset: bc51d0569ccd Author: khazra Date: 2012-04-19 13:26 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/bc51d0569ccd 7162385: TEST_BUG: sun/net/www/protocol/jar/B4957695.java failing again Summary: Enable finding "foo1.jar" Reviewed-by: chegar ! test/sun/net/www/protocol/jar/B4957695.java Changeset: 715f50872ae7 Author: khazra Date: 2012-04-19 18:11 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/715f50872ae7 7158636: InterfaceAddress.getBroadcast() returns invalid broadcast address on WLAN Summary: Update Windows native code to infer WLAN interface type in Windows Vista and later Reviewed-by: chegar, alanb ! src/windows/native/java/net/NetworkInterface.c ! src/windows/native/java/net/NetworkInterface.h Changeset: c3905c1f5da7 Author: zhouyx Date: 2012-04-20 16:11 +0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/c3905c1f5da7 7159982: ZipFile uses static for error message when malformed zip file encountered Reviewed-by: alanb, dholmes ! src/share/native/java/util/zip/ZipFile.c ! src/share/native/java/util/zip/zip_util.c Changeset: ec9876082b4e Author: ksrini Date: 2012-04-22 06:54 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/ec9876082b4e 6981776: Pack200 must support -target 7 bytecodes Summary: pack200 implementation of JSR-200 updated for JSR-292 changes Reviewed-by: jrose, ksrini Contributed-by: john.r.rose at oracle.com, kumar.x.srinivasan at oracle.com ! src/share/classes/com/sun/java/util/jar/pack/Attribute.java ! src/share/classes/com/sun/java/util/jar/pack/BandStructure.java ! src/share/classes/com/sun/java/util/jar/pack/ClassReader.java ! src/share/classes/com/sun/java/util/jar/pack/ClassWriter.java ! src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java ! src/share/classes/com/sun/java/util/jar/pack/Constants.java ! src/share/classes/com/sun/java/util/jar/pack/Instruction.java ! src/share/classes/com/sun/java/util/jar/pack/Package.java ! src/share/classes/com/sun/java/util/jar/pack/PackageReader.java ! src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java ! src/share/classes/com/sun/java/util/jar/pack/TLGlobals.java ! src/share/classes/com/sun/java/util/jar/pack/Utils.java ! src/share/native/com/sun/java/util/jar/pack/bands.cpp ! src/share/native/com/sun/java/util/jar/pack/bands.h ! src/share/native/com/sun/java/util/jar/pack/constants.h ! src/share/native/com/sun/java/util/jar/pack/defines.h ! src/share/native/com/sun/java/util/jar/pack/unpack.cpp ! src/share/native/com/sun/java/util/jar/pack/unpack.h ! test/tools/pack200/AttributeTests.java ! test/tools/pack200/PackageVersionTest.java ! test/tools/pack200/Utils.java - test/tools/pack200/dyn.jar ! test/tools/pack200/pack200-verifier/data/README ! test/tools/pack200/pack200-verifier/data/golden.jar ! test/tools/pack200/pack200-verifier/make/build.xml ! test/tools/pack200/pack200-verifier/src/xmlkit/ClassReader.java - test/tools/pack200/pack200-verifier/src/xmlkit/ClassSyntax.java - test/tools/pack200/pack200-verifier/src/xmlkit/ClassWriter.java - test/tools/pack200/pack200-verifier/src/xmlkit/InstructionAssembler.java - test/tools/pack200/pack200-verifier/src/xmlkit/InstructionSyntax.java Changeset: c2da01f0bdc1 Author: alanb Date: 2012-04-22 19:09 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/c2da01f0bdc1 7163395: jdk8/tl no longer builds on Mac Reviewed-by: chegar, ohair, ksrini - src/macosx/bin/amd64/jvm.cfg + src/macosx/bin/x86_64/jvm.cfg Changeset: 07dab8d9e34a Author: alanb Date: 2012-04-22 19:12 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/07dab8d9e34a Merge - test/tools/pack200/dyn.jar - test/tools/pack200/pack200-verifier/src/xmlkit/ClassSyntax.java - test/tools/pack200/pack200-verifier/src/xmlkit/ClassWriter.java - test/tools/pack200/pack200-verifier/src/xmlkit/InstructionAssembler.java - test/tools/pack200/pack200-verifier/src/xmlkit/InstructionSyntax.java Changeset: 1980be18d0f8 Author: alanb Date: 2012-04-22 21:22 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/1980be18d0f8 7132924: (dc) DatagramChannel.disconnect throws SocketException with IPv4 socket and IPv6 enabled [macosx] Reviewed-by: chegar ! src/share/classes/sun/nio/ch/DatagramChannelImpl.java ! src/solaris/native/sun/nio/ch/DatagramChannelImpl.c ! src/windows/native/sun/nio/ch/DatagramChannelImpl.c + test/java/nio/channels/DatagramChannel/Disconnect.java Changeset: fd22345bf1bf Author: sla Date: 2012-04-23 16:34 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/fd22345bf1bf 7163524: Add SecTaskAccess attribute to jstack [macosx] Reviewed-by: dholmes ! make/launchers/Makefile.launcher Changeset: 2c35304e885a Author: youdwei Date: 2012-04-24 21:06 +0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/2c35304e885a 7163865: Performance improvement for DateFormatSymbols.getZoneIndex(String) Reviewed-by: okutsu ! src/share/classes/java/text/DateFormatSymbols.java Changeset: f68c854fa584 Author: ksrini Date: 2012-04-24 10:37 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/f68c854fa584 7151434: java -jar -XX crashes java launcher Reviewed-by: mchung, darcy ! src/share/bin/java.c ! test/tools/launcher/Arrrghs.java ! test/tools/launcher/TestHelper.java Changeset: fcdbd1f34309 Author: khazra Date: 2012-04-24 14:59 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/fcdbd1f34309 7144274: [macosx] Default IPv6 multicast interface is not being set when calling MulticastSocket.joinGroup() Summary: Get default interface for Mac OS X when interface is not set Reviewed-by: chegar ! src/solaris/native/java/net/PlainDatagramSocketImpl.c ! src/solaris/native/java/net/net_util_md.c Changeset: 3e398b549cea Author: khazra Date: 2012-04-25 12:31 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/3e398b549cea 7160242: (prefs) Preferences.remove(null) does not throw NPE [macosx] Summary: Insert null check of argument in remove()'s implementation Reviewed-by: forax, chegar, alanb ! src/macosx/classes/java/util/prefs/MacOSXPreferences.java + test/java/util/prefs/RemoveNullKeyCheck.java Changeset: 108a02a57b75 Author: khazra Date: 2012-04-26 12:04 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/108a02a57b75 7118100: (prefs) Inconsistency when using system and user preference on OSX Lion Summary: Enable user to read/write preferences to persistent storage Reviewed-by: alanb ! src/macosx/classes/java/util/prefs/MacOSXPreferences.java ! src/macosx/classes/java/util/prefs/MacOSXPreferencesFile.java Changeset: 1cdcca9f3530 Author: lana Date: 2012-04-26 14:21 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/1cdcca9f3530 Merge Changeset: f0842ed897c3 Author: xuelei Date: 2012-04-27 04:25 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/f0842ed897c3 6996372: synchronizing handshaking hash Summary: remove the unnecessary synchronization. Also reviewed by David Schlosnagle (schlosna at gmail.com) Reviewed-by: weijun ! src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java Changeset: c22b2f9066dd Author: alanb Date: 2012-05-01 11:17 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/c22b2f9066dd 7164570: (fs) WatchService queues CREATE event but not DELETE event for very short lived files [sol11] Reviewed-by: chegar ! src/solaris/classes/sun/nio/fs/SolarisWatchService.java + test/java/nio/file/WatchService/MayFlies.java Changeset: 71fdf32fdc65 Author: xuelei Date: 2012-05-01 03:48 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/71fdf32fdc65 7158688: Typo in SSLContext Spec Reviewed-by: weijun, wetmore ! src/share/classes/javax/net/ssl/SSLContext.java Changeset: 6c9c3d7ce9e2 Author: lana Date: 2012-05-01 11:30 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/6c9c3d7ce9e2 Merge Changeset: 46e0bd218fcc Author: mchung Date: 2012-05-01 19:45 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/46e0bd218fcc 7164376: Replace use of sun.security.action.LoadLibraryAction with System.loadLibrary Reviewed-by: alanb, mullan, prr ! src/macosx/classes/apple/launcher/JavaAppLauncher.java ! src/macosx/classes/apple/security/KeychainStore.java ! src/macosx/classes/com/apple/concurrent/LibDispatchNative.java ! src/macosx/classes/com/apple/eawt/Application.java ! src/macosx/classes/com/apple/eio/FileManager.java ! src/macosx/classes/com/apple/laf/AquaFileView.java ! src/macosx/classes/com/apple/laf/AquaLookAndFeel.java ! src/macosx/classes/com/apple/laf/AquaNativeResources.java ! src/macosx/classes/com/apple/laf/ScreenMenu.java ! src/macosx/classes/com/apple/laf/ScreenPopupFactory.java ! src/macosx/classes/java/util/prefs/MacOSXPreferencesFile.java ! src/macosx/classes/sun/awt/CGraphicsEnvironment.java ! src/macosx/classes/sun/lwawt/macosx/CAccessibility.java ! src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java ! src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageWriter.java ! src/share/classes/com/sun/java/util/jar/pack/NativeUnpack.java ! src/share/classes/java/awt/SplashScreen.java ! src/share/classes/java/awt/Toolkit.java ! src/share/classes/java/awt/event/NativeLibLoader.java ! src/share/classes/java/awt/image/ColorModel.java ! src/share/classes/java/net/AbstractPlainDatagramSocketImpl.java ! src/share/classes/java/net/AbstractPlainSocketImpl.java ! src/share/classes/java/net/DatagramPacket.java ! src/share/classes/java/net/InetAddress.java ! src/share/classes/java/net/NetworkInterface.java ! src/share/classes/sun/awt/NativeLibLoader.java ! src/share/classes/sun/awt/image/JPEGImageDecoder.java ! src/share/classes/sun/awt/image/NativeLibLoader.java ! src/share/classes/sun/java2d/Disposer.java ! src/share/classes/sun/management/ManagementFactoryHelper.java ! src/share/classes/sun/net/sdp/SdpSupport.java ! src/share/classes/sun/net/spi/DefaultProxySelector.java ! src/share/classes/sun/nio/ch/Util.java - src/share/classes/sun/security/action/LoadLibraryAction.java ! src/share/classes/sun/security/krb5/SCDynamicStoreConfig.java ! src/share/classes/sun/security/smartcardio/PCSC.java ! src/share/classes/sun/tracing/dtrace/JVM.java ! src/solaris/classes/sun/management/FileSystemImpl.java ! src/solaris/classes/sun/net/dns/ResolverConfigurationImpl.java ! src/solaris/classes/sun/nio/ch/sctp/SctpChannelImpl.java ! src/solaris/classes/sun/nio/ch/sctp/SctpMultiChannelImpl.java ! src/solaris/classes/sun/nio/ch/sctp/SctpServerChannelImpl.java ! src/solaris/classes/sun/print/CUPSPrinter.java ! src/windows/classes/sun/awt/shell/Win32ShellFolderManager2.java ! src/windows/classes/sun/awt/windows/WToolkit.java ! src/windows/classes/sun/management/FileSystemImpl.java ! src/windows/classes/sun/net/dns/ResolverConfigurationImpl.java ! src/windows/classes/sun/print/Win32PrintServiceLookup.java ! src/windows/classes/sun/security/smartcardio/PlatformPCSC.java Changeset: d78c6095dc98 Author: vinnie Date: 2012-05-02 14:50 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/d78c6095dc98 7087021: TEST: com/sun/crypto/provider/Mac/MacClone.java failed on Solaris sparc 5.10 Reviewed-by: mullan ! test/com/sun/crypto/provider/Mac/MacClone.java Changeset: 717582c056f3 Author: lana Date: 2012-05-02 10:17 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/717582c056f3 Merge - src/macosx/bin/amd64/jvm.cfg - src/share/classes/sun/security/action/LoadLibraryAction.java ! test/tools/launcher/TestHelper.java - test/tools/pack200/dyn.jar - test/tools/pack200/pack200-verifier/src/xmlkit/ClassSyntax.java - test/tools/pack200/pack200-verifier/src/xmlkit/ClassWriter.java - test/tools/pack200/pack200-verifier/src/xmlkit/InstructionAssembler.java - test/tools/pack200/pack200-verifier/src/xmlkit/InstructionSyntax.java Changeset: bc0f9e693620 Author: lana Date: 2012-05-08 13:08 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/bc0f9e693620 Merge - src/macosx/bin/amd64/jvm.cfg - src/share/classes/sun/security/action/LoadLibraryAction.java - test/tools/pack200/dyn.jar - test/tools/pack200/pack200-verifier/src/xmlkit/ClassSyntax.java - test/tools/pack200/pack200-verifier/src/xmlkit/ClassWriter.java - test/tools/pack200/pack200-verifier/src/xmlkit/InstructionAssembler.java - test/tools/pack200/pack200-verifier/src/xmlkit/InstructionSyntax.java Changeset: 185821106403 Author: katleman Date: 2012-05-09 13:07 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/185821106403 Added tag jdk8-b37 for changeset 9e82ac15ab80 ! .hgtags Changeset: c45f3509a707 Author: katleman Date: 2012-05-09 13:13 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/c45f3509a707 Merge - src/macosx/bin/amd64/jvm.cfg - src/share/classes/sun/security/action/LoadLibraryAction.java - test/tools/pack200/dyn.jar - test/tools/pack200/pack200-verifier/src/xmlkit/ClassSyntax.java - test/tools/pack200/pack200-verifier/src/xmlkit/ClassWriter.java - test/tools/pack200/pack200-verifier/src/xmlkit/InstructionAssembler.java - test/tools/pack200/pack200-verifier/src/xmlkit/InstructionSyntax.java Changeset: b5726775b0d8 Author: katleman Date: 2012-05-10 10:25 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/b5726775b0d8 Added tag jdk8-b38 for changeset c45f3509a707 ! .hgtags From gary.collins at oracle.com Thu May 10 22:15:24 2012 From: gary.collins at oracle.com (Gary Collins) Date: Thu, 10 May 2012 22:15:24 -0700 Subject: Request for Review: 7167625 Adjustments for SE-Embedded build process Message-ID: <0DD6861F-9719-4A4D-8FE7-3DBBF21C134A@oracle.com> Simple change to the SE-Embedded build rules that should not affect any other OpenJDK users. Webrev http://cr.openjdk.java.net/~collins/7167625/webrev/ 7167625 Adjustments for SE-Embedded build process Thanks Gary -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20120510/ca997a12/attachment.html From john.coomes at oracle.com Fri May 11 06:50:57 2012 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 11 May 2012 13:50:57 +0000 Subject: hg: hsx/hotspot-main/langtools: 9 new changesets Message-ID: <20120511135120.CA45A47280@hg.openjdk.java.net> Changeset: 55ae94116e89 Author: jjg Date: 2012-04-06 10:10 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/langtools/rev/55ae94116e89 7157626: Create a new test to check major version for a class file Reviewed-by: jjg Contributed-by: sonali.goel at oracle.com + test/tools/javac/classfiles/ClassVersionChecker.java Changeset: 9c429f38ca7e Author: ksrini Date: 2012-04-09 14:31 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/langtools/rev/9c429f38ca7e 7156633: (javac) incorrect errors when parsing variable declaration in block statements. Reviewed-by: jjg Contributed-by: jan.lahoda at oracle.com ! src/share/classes/com/sun/tools/javac/parser/JavacParser.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties + test/tools/javac/diags/examples/IllegalStartOfStmt.java + test/tools/javac/diags/examples/NotAllowedClass.java + test/tools/javac/diags/examples/NotAllowedVariable.java ! test/tools/javac/parser/JavacParserTest.java Changeset: c35b158e2290 Author: lana Date: 2012-04-10 23:19 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/langtools/rev/c35b158e2290 Merge Changeset: 6f0ed5a89c25 Author: mcimadamore Date: 2012-04-11 10:50 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/langtools/rev/6f0ed5a89c25 7154127: Inference cleanup: remove bound check analysis from visitors in Types.java Summary: Remove bound checking rules from recursive subtype visitors in Types.java and replace with centralized bound-checking logic Reviewed-by: jjg, dlsmith ! src/share/classes/com/sun/tools/javac/code/Type.java ! src/share/classes/com/sun/tools/javac/code/Types.java ! src/share/classes/com/sun/tools/javac/comp/Infer.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/share/classes/com/sun/tools/javac/util/RichDiagnosticFormatter.java ! test/tools/javac/Diagnostics/6722234/T6722234b_1.out ! test/tools/javac/Diagnostics/6722234/T6722234b_2.out ! test/tools/javac/Diagnostics/6799605/T6799605.out ! test/tools/javac/cast/7123100/T7123100a.out ! test/tools/javac/diags/examples.not-yet.txt ! test/tools/javac/diags/examples/CantApplyDiamond1.java ! test/tools/javac/diags/examples/IncompatibleTypes1.java + test/tools/javac/diags/examples/InferNoConformingAssignment.java - test/tools/javac/diags/examples/InferredDoNotConformToBounds.java + test/tools/javac/diags/examples/InferredDoNotConformToEq.java + test/tools/javac/diags/examples/InferredDoNotConformToLower.java + test/tools/javac/diags/examples/InferredDoNotConformToUpper.java ! test/tools/javac/diags/examples/InvalidInferredTypes.java ! test/tools/javac/diags/examples/WhereCaptured.java ! test/tools/javac/diags/examples/WhereCaptured1.java + test/tools/javac/diags/examples/WhereFreshTvar.java ! test/tools/javac/generics/diamond/neg/Neg06.out ! test/tools/javac/generics/diamond/neg/Neg07.out ! test/tools/javac/generics/inference/6315770/T6315770.out ! test/tools/javac/generics/inference/6611449/T6611449.out ! test/tools/javac/generics/inference/6638712/T6638712b.out ! test/tools/javac/generics/inference/6638712/T6638712d.out ! test/tools/javac/generics/inference/6638712/T6638712e.out ! test/tools/javac/generics/inference/6650759/T6650759m.out ! test/tools/javac/generics/inference/7086601/T7086601a.out + test/tools/javac/generics/inference/7154127/T7154127.java + test/tools/javac/generics/inference/7154127/T7154127.out Changeset: d023d5c3fbd2 Author: lana Date: 2012-04-18 10:22 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/langtools/rev/d023d5c3fbd2 Merge - test/tools/javac/diags/examples/InferredDoNotConformToBounds.java Changeset: 94bbaa67686f Author: lana Date: 2012-04-23 16:59 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/langtools/rev/94bbaa67686f Merge - test/tools/javac/diags/examples/InferredDoNotConformToBounds.java Changeset: 5891b38985e8 Author: katleman Date: 2012-04-26 14:07 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/langtools/rev/5891b38985e8 Added tag jdk8-b36 for changeset 94bbaa67686f ! .hgtags Changeset: 1f224f160aa8 Author: katleman Date: 2012-05-09 13:08 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/langtools/rev/1f224f160aa8 Added tag jdk8-b37 for changeset 5891b38985e8 ! .hgtags Changeset: a9f547c218d9 Author: katleman Date: 2012-05-10 10:25 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/langtools/rev/a9f547c218d9 Added tag jdk8-b38 for changeset 1f224f160aa8 ! .hgtags From roland.westrelin at oracle.com Fri May 11 08:08:59 2012 From: roland.westrelin at oracle.com (Roland Westrelin) Date: Fri, 11 May 2012 17:08:59 +0200 Subject: Request for reviews (M): 6924259: Remove String.count,String.offset fields In-Reply-To: <4FAC04C6.2060309@oracle.com> References: <4FAC04C6.2060309@oracle.com> Message-ID: > http://cr.openjdk.java.net/~kvn/6924259/webrev > > 6924259: Remove String.count/String.offset > > Allows a version of the String class that doesn't have count,offset fields. > These VM changes works with both versions of String class by checking the > presence of fields. > > Initial changes were done by Brian and Tom years ago. I addapted it for current > sources and tested it. > > Tested with NSK, regression tests, CTW, refworkload, CDS (class sharing). Looks good to me (but I'm not a reviewer). Maybe an assert(!java_lang_String::has_offset_field()) in GraphKit::store_String_offset() and GraphKit::store_String_length()? Interestingly, it doesn't look like the c1 code is used anymore. I'm not sure what the history is here. Roland. From vladimir.kozlov at oracle.com Fri May 11 08:58:10 2012 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Fri, 11 May 2012 08:58:10 -0700 Subject: Request for Review: 7167625 Adjustments for SE-Embedded build process In-Reply-To: <0DD6861F-9719-4A4D-8FE7-3DBBF21C134A@oracle.com> References: <0DD6861F-9719-4A4D-8FE7-3DBBF21C134A@oracle.com> Message-ID: <4FAD3712.6040600@oracle.com> Looks good. Vladimir Gary Collins wrote: > Simple change to the SE-Embedded build rules that should not affect any > other OpenJDK users. > Webrev > http://cr.openjdk.java.net/~collins/7167625/webrev/ > > 7167625 Adjustments for SE-Embedded build process > > Thanks > Gary From vladimir.kozlov at oracle.com Fri May 11 09:34:21 2012 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Fri, 11 May 2012 09:34:21 -0700 Subject: Request for reviews (M): 6924259: Remove String.count, String.offset fields In-Reply-To: References: <4FAC04C6.2060309@oracle.com> Message-ID: <4FAD3F8D.4070609@oracle.com> Roland Westrelin wrote: >> http://cr.openjdk.java.net/~kvn/6924259/webrev >> >> 6924259: Remove String.count/String.offset >> >> Allows a version of the String class that doesn't have count,offset >> fields. >> These VM changes works with both versions of String class by checking the >> presence of fields. >> >> Initial changes were done by Brian and Tom years ago. I addapted it >> for current >> sources and tested it. >> >> Tested with NSK, regression tests, CTW, refworkload, CDS (class sharing). > > Looks good to me (but I'm not a reviewer). Why not? Even small comments and suggestions are considered as review. Tom reviewed these changes before but I look for other opinions also. > > Maybe an assert(!java_lang_String::has_offset_field()) in > GraphKit::store_String_offset() and GraphKit::store_String_length()? Accessors java_lang_String::count_offset_in_bytes() and java_lang_String::offset_offset_in_bytes() have that assert already. > > Interestingly, it doesn't look like the c1 code is used anymore. I'm not > sure what the history is here. I looked on history and the usage was removed when C1 switched to new linear RA. Anyway even if it is not used it should be correct. Thanks, Vladimir > > Roland. From roland.westrelin at oracle.com Fri May 11 09:43:57 2012 From: roland.westrelin at oracle.com (Roland Westrelin) Date: Fri, 11 May 2012 18:43:57 +0200 Subject: Request for reviews (M): 6924259: Remove String.count,String.offset fields In-Reply-To: <4FAD3F8D.4070609@oracle.com> References: <4FAC04C6.2060309@oracle.com> <4FAD3F8D.4070609@oracle.com> Message-ID: >> Looks good to me (but I'm not a reviewer). > > Why not? Even small comments and suggestions are considered as review. Tom > reviewed these changes before but I look for other opinions also. I meant: I'm not an official reviewer. http://openjdk.java.net/census#hsx Roland. From vladimir.kozlov at oracle.com Fri May 11 09:59:07 2012 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Fri, 11 May 2012 09:59:07 -0700 Subject: Request for reviews (M): 6924259: Remove String.count, String.offset fields In-Reply-To: References: <4FAC04C6.2060309@oracle.com> <4FAD3F8D.4070609@oracle.com> Message-ID: <4FAD455B.4020100@oracle.com> Roland Westrelin wrote: >>> Looks good to me (but I'm not a reviewer). >> >> Why not? Even small comments and suggestions are considered as review. >> Tom >> reviewed these changes before but I look for other opinions also. > > I meant: I'm not an official reviewer. > http://openjdk.java.net/census#hsx > > Roland. No, you ARE Reviewer. You have 34 changesets which is more then required 32 for Reviewer. So congratulation! I will add you as reviewer and will see what will happened. % hg log | grep roland | wc 34 68 680 "Some Projects require formal change review (hsx, jdk6, jdk7, jdk7u, and jdk8). If you pushed at least 32 changegroups into such a Project's Mercurial repositories, or if you were otherwise well-known to be a serious and regular Committer, then you were considered a Reviewer." Thanks, Vladimir From mikael.vidstedt at oracle.com Fri May 11 10:50:48 2012 From: mikael.vidstedt at oracle.com (Mikael Vidstedt) Date: Fri, 11 May 2012 13:50:48 -0400 Subject: Request for reviews (M): 6924259: Remove String.count, String.offset fields In-Reply-To: <4FAD455B.4020100@oracle.com> References: <4FAC04C6.2060309@oracle.com> <4FAD3F8D.4070609@oracle.com> <4FAD455B.4020100@oracle.com> Message-ID: <4FAD5178.1060204@oracle.com> On 2012-05-11 12:59, Vladimir Kozlov wrote: > Roland Westrelin wrote: >>>> Looks good to me (but I'm not a reviewer). >>> >>> Why not? Even small comments and suggestions are considered as >>> review. Tom >>> reviewed these changes before but I look for other opinions also. >> >> I meant: I'm not an official reviewer. >> http://openjdk.java.net/census#hsx >> >> Roland. > > No, you ARE Reviewer. You have 34 changesets which is more then > required 32 for Reviewer. So congratulation! I will add you as > reviewer and will see what will happened. > > % hg log | grep roland | wc > 34 68 680 > > "Some Projects require formal change review (hsx, jdk6, jdk7, jdk7u, > and jdk8). If you pushed at least 32 changegroups into such a > Project's Mercurial repositories, or if you were otherwise well-known > to be a serious and regular Committer, then you were considered a > Reviewer." You are quoting text from the section describing how the initial census was formed. The above does not describe how the Bylaws that are in effect now work. The process for nominating a Reviewer can be found in the Bylaws [1]. Cheers, Mikael [1] http://openjdk.java.net/bylaws#reviewer > > Thanks, > Vladimir From vladimir.kozlov at oracle.com Fri May 11 11:28:14 2012 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Fri, 11 May 2012 11:28:14 -0700 Subject: CFV: New HSX Reviewer: Roland Westrelin Message-ID: <4FAD5A3E.8080001@oracle.com> I hereby nominate Roland Westrelin to be an OpenJDK HSX [0] Reviewer [1]. Roland is long-time Java SE Hotspot VM engineer. He has been a Committer on the HSX project for some time and is also a Committer on the JDK 7, 7u and 8 projects. He is a key contributor in Hotspot's Compiler group, working on both C1 and C2 compilers. He has contributed 34 significant changesets as an Committer and thus well-qualified to be a Reviewer on the HSX project. Votes are due by Tuesday, May 25, 2012 at 00:00:00 UTC (two week voting period). Only current HSX project Reviewers [2] are eligible to vote on this nomination. For Three-Vote Consensus voting instructions, see [3]. Regards, Vladimir Kozlov [0] http://openjdk.java.net/census/#hsx [1] http://openjdk.java.net/bylaws#reviewer [2] http://openjdk.java.net/projects/#reviewer-vote [3] http://openjdk.java.net/bylaws#three-vote-consensus From vladimir.kozlov at oracle.com Fri May 11 11:54:03 2012 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Fri, 11 May 2012 11:54:03 -0700 Subject: CFV: New HSX Reviewer: Roland Westrelin In-Reply-To: <4FAD5A3E.8080001@oracle.com> References: <4FAD5A3E.8080001@oracle.com> Message-ID: <4FAD604B.2030906@oracle.com> Vote: yes Vladimir Vladimir Kozlov wrote: > I hereby nominate Roland Westrelin to be an OpenJDK HSX [0] Reviewer [1]. > > Roland is long-time Java SE Hotspot VM engineer. He has been a Committer > on the HSX project for some time and is also a Committer on the JDK 7, > 7u and 8 projects. He is a key contributor in Hotspot's Compiler group, > working on both C1 and C2 compilers. He has contributed 34 significant > changesets as an Committer and thus well-qualified to be a Reviewer on > the HSX project. > > Votes are due by Tuesday, May 25, 2012 at 00:00:00 UTC (two week voting > period). > > Only current HSX project Reviewers [2] are eligible to vote on this > nomination. > > For Three-Vote Consensus voting instructions, see [3]. > > Regards, > Vladimir Kozlov > > [0] http://openjdk.java.net/census/#hsx > [1] http://openjdk.java.net/bylaws#reviewer > [2] http://openjdk.java.net/projects/#reviewer-vote > [3] http://openjdk.java.net/bylaws#three-vote-consensus From john.coomes at oracle.com Fri May 11 12:01:52 2012 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 11 May 2012 19:01:52 +0000 Subject: hg: hsx/hotspot-main/hotspot: 3 new changesets Message-ID: <20120511190202.5D8944729E@hg.openjdk.java.net> Changeset: a05a695ea044 Author: stefank Date: 2012-05-10 11:27 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/a05a695ea044 7167437: Can't build on linux without precompiled headers Reviewed-by: brutisso, mgerdin ! src/share/vm/memory/space.hpp ! src/share/vm/memory/space.inline.hpp Changeset: f47478089efc Author: brutisso Date: 2012-05-10 14:16 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/f47478089efc 7167069: 6 VM flags crash the VM when queried via jinfo Summary: Added missing double format to Flag::print_as_flag() Reviewed-by: dholmes, stefank, coleenp ! src/share/vm/runtime/globals.cpp + test/runtime/7167069/PrintAsFlag.java Changeset: 5799726c54d7 Author: jcoomes Date: 2012-05-11 06:37 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/5799726c54d7 Merge From daniel.daugherty at oracle.com Fri May 11 12:15:47 2012 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Fri, 11 May 2012 13:15:47 -0600 Subject: CFV: New HSX Reviewer: Roland Westrelin In-Reply-To: <4FAD5A3E.8080001@oracle.com> References: <4FAD5A3E.8080001@oracle.com> Message-ID: <4FAD6563.4030307@oracle.com> Vote: yes Dan On 5/11/12 12:28 PM, Vladimir Kozlov wrote: > I hereby nominate Roland Westrelin to be an OpenJDK HSX [0] Reviewer [1]. > > Roland is long-time Java SE Hotspot VM engineer. He has been a > Committer on the HSX project for some time and is also a Committer on > the JDK 7, 7u and 8 projects. He is a key contributor in Hotspot's > Compiler group, working on both C1 and C2 compilers. He has > contributed 34 significant changesets as an Committer and thus > well-qualified to be a Reviewer on the HSX project. > > Votes are due by Tuesday, May 25, 2012 at 00:00:00 UTC (two week > voting period). > > Only current HSX project Reviewers [2] are eligible to vote on this > nomination. > > For Three-Vote Consensus voting instructions, see [3]. > > Regards, > Vladimir Kozlov > > [0] http://openjdk.java.net/census/#hsx > [1] http://openjdk.java.net/bylaws#reviewer > [2] http://openjdk.java.net/projects/#reviewer-vote > [3] http://openjdk.java.net/bylaws#three-vote-consensus From keith.mcguigan at oracle.com Fri May 11 12:16:49 2012 From: keith.mcguigan at oracle.com (Keith McGuigan) Date: Fri, 11 May 2012 15:16:49 -0400 Subject: CFV: New HSX Reviewer: Roland Westrelin In-Reply-To: <4FAD5A3E.8080001@oracle.com> References: <4FAD5A3E.8080001@oracle.com> Message-ID: <4FAD65A1.0@oracle.com> Vote: yes On 5/11/2012 2:28 PM, Vladimir Kozlov wrote: > I hereby nominate Roland Westrelin to be an OpenJDK HSX [0] Reviewer [1]. > > Roland is long-time Java SE Hotspot VM engineer. He has been a Committer > on the HSX project for some time and is also a Committer on the JDK 7, > 7u and 8 projects. He is a key contributor in Hotspot's Compiler group, > working on both C1 and C2 compilers. He has contributed 34 significant > changesets as an Committer and thus well-qualified to be a Reviewer on > the HSX project. > > Votes are due by Tuesday, May 25, 2012 at 00:00:00 UTC (two week voting > period). > > Only current HSX project Reviewers [2] are eligible to vote on this > nomination. > > For Three-Vote Consensus voting instructions, see [3]. > > Regards, > Vladimir Kozlov > > [0] http://openjdk.java.net/census/#hsx > [1] http://openjdk.java.net/bylaws#reviewer > [2] http://openjdk.java.net/projects/#reviewer-vote > [3] http://openjdk.java.net/bylaws#three-vote-consensus From coleen.phillimore at oracle.com Fri May 11 12:25:20 2012 From: coleen.phillimore at oracle.com (Coleen Phillimore) Date: Fri, 11 May 2012 15:25:20 -0400 Subject: CFV: New HSX Reviewer: Roland Westrelin In-Reply-To: <4FAD5A3E.8080001@oracle.com> References: <4FAD5A3E.8080001@oracle.com> Message-ID: <4FAD67A0.6070000@oracle.com> Vote: yes On 5/11/2012 2:28 PM, Vladimir Kozlov wrote: > I hereby nominate Roland Westrelin to be an OpenJDK HSX [0] Reviewer [1]. > > Roland is long-time Java SE Hotspot VM engineer. He has been a > Committer on the HSX project for some time and is also a Committer on > the JDK 7, 7u and 8 projects. He is a key contributor in Hotspot's > Compiler group, working on both C1 and C2 compilers. He has > contributed 34 significant changesets as an Committer and thus > well-qualified to be a Reviewer on the HSX project. > > Votes are due by Tuesday, May 25, 2012 at 00:00:00 UTC (two week > voting period). > > Only current HSX project Reviewers [2] are eligible to vote on this > nomination. > > For Three-Vote Consensus voting instructions, see [3]. > > Regards, > Vladimir Kozlov > > [0] http://openjdk.java.net/census/#hsx > [1] http://openjdk.java.net/bylaws#reviewer > [2] http://openjdk.java.net/projects/#reviewer-vote > [3] http://openjdk.java.net/bylaws#three-vote-consensus From john.r.rose at oracle.com Fri May 11 12:25:32 2012 From: john.r.rose at oracle.com (John Rose) Date: Fri, 11 May 2012 12:25:32 -0700 Subject: CFV: New HSX Reviewer: Roland Westrelin In-Reply-To: <4FAD5A3E.8080001@oracle.com> References: <4FAD5A3E.8080001@oracle.com> Message-ID: <8797375D-11BF-44A6-8204-91D6AB71DFD9@oracle.com> Vote: yes From karen.kinnear at oracle.com Fri May 11 13:03:41 2012 From: karen.kinnear at oracle.com (Karen Kinnear) Date: Fri, 11 May 2012 16:03:41 -0400 Subject: CFV: New HSX Reviewer: Roland Westrelin In-Reply-To: <4FAD5A3E.8080001@oracle.com> References: <4FAD5A3E.8080001@oracle.com> Message-ID: <80B8B2AB-A5FF-4D2F-BC5C-61C89CEA0B68@oracle.com> Vote: yes Karen On May 11, 2012, at 2:28 PM, Vladimir Kozlov wrote: > I hereby nominate Roland Westrelin to be an OpenJDK HSX [0] Reviewer [1]. > > Roland is long-time Java SE Hotspot VM engineer. He has been a Committer on the HSX project for some time and is also a Committer on the JDK 7, 7u and 8 projects. He is a key contributor in Hotspot's Compiler group, working on both C1 and C2 compilers. He has contributed 34 significant changesets as an Committer and thus well-qualified to be a Reviewer on the HSX project. > > Votes are due by Tuesday, May 25, 2012 at 00:00:00 UTC (two week voting period). > > Only current HSX project Reviewers [2] are eligible to vote on this > nomination. > > For Three-Vote Consensus voting instructions, see [3]. > > Regards, > Vladimir Kozlov > > [0] http://openjdk.java.net/census/#hsx > [1] http://openjdk.java.net/bylaws#reviewer > [2] http://openjdk.java.net/projects/#reviewer-vote > [3] http://openjdk.java.net/bylaws#three-vote-consensus From iris.clark at oracle.com Fri May 11 13:13:04 2012 From: iris.clark at oracle.com (Iris Clark) Date: Fri, 11 May 2012 13:13:04 -0700 (PDT) Subject: Request for reviews (M): 6924259: Remove String.count, String.offset fields In-Reply-To: <4FAD5178.1060204@oracle.com> References: <4FAC04C6.2060309@oracle.com> <4FAD3F8D.4070609@oracle.com> <4FAD455B.4020100@oracle.com> <4FAD5178.1060204@oracle.com> Message-ID: > On 2012-05-11 10:51, Mikael Vidstedt wrote: > > On 2012-05-11 12:59, Vladimir Kozlov wrote: [ ... ] >> "Some Projects require formal change review (hsx, jdk6, jdk7, jdk7u, >> and jdk8). If you pushed at least 32 changegroups into such a >> Project's Mercurial repositories, or if you were otherwise well-known >> to be a serious and regular Committer, then you were considered a >> Reviewer." [ ... ] > You are quoting text from the section describing how the initial census was > formed. The above does not describe how the Bylaws that are in effect now > work. The process for nominating a Reviewer can be found in the Bylaws [1]. > > Cheers, > Mikael > > [1] http://openjdk.java.net/bylaws#reviewer And the step-by-step guide to interpreting the Bylaws to nominate a Reviewer (e-mail templates, etc.) may be found here: http://openjdk.java.net/projects/#project-reviewer Thanks, iris From alejandro.murillo at oracle.com Fri May 11 13:57:27 2012 From: alejandro.murillo at oracle.com (alejandro.murillo at oracle.com) Date: Fri, 11 May 2012 20:57:27 +0000 Subject: hg: hsx/hsx23.2/hotspot: Added tag hs23.2-b01 for changeset 1fcba869fe4a Message-ID: <20120511205730.F3F64472A9@hg.openjdk.java.net> Changeset: b65719ad597b Author: amurillo Date: 2012-05-11 11:19 -0700 URL: http://hg.openjdk.java.net/hsx/hsx23.2/hotspot/rev/b65719ad597b Added tag hs23.2-b01 for changeset 1fcba869fe4a ! .hgtags From vladimir.kozlov at oracle.com Fri May 11 14:02:40 2012 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Fri, 11 May 2012 14:02:40 -0700 Subject: Request for reviews (M): 6924259: Remove String.count, String.offset fields In-Reply-To: References: <4FAC04C6.2060309@oracle.com> <4FAD3F8D.4070609@oracle.com> <4FAD455B.4020100@oracle.com> <4FAD5178.1060204@oracle.com> Message-ID: <4FAD7E70.1090206@oracle.com> Thank you, Iris I submitted CFV and have some votes already. But I have question. Bylaws says that Reviewer are approved by a Three-Vote Consensus. Does it means that I can announce result when we get 3 'Yes' votes? Thanks, Vladimir Iris Clark wrote: >> On 2012-05-11 10:51, Mikael Vidstedt wrote: >> >> On 2012-05-11 12:59, Vladimir Kozlov wrote: > > [ ... ] > >>> "Some Projects require formal change review (hsx, jdk6, jdk7, jdk7u, >>> and jdk8). If you pushed at least 32 changegroups into such a >>> Project's Mercurial repositories, or if you were otherwise well-known >>> to be a serious and regular Committer, then you were considered a >>> Reviewer." > > [ ... ] > >> You are quoting text from the section describing how the initial census was >> formed. The above does not describe how the Bylaws that are in effect now >> work. The process for nominating a Reviewer can be found in the Bylaws [1]. >> >> Cheers, >> Mikael >> >> [1] http://openjdk.java.net/bylaws#reviewer > > And the step-by-step guide to interpreting the Bylaws to nominate a Reviewer (e-mail templates, etc.) may be found here: > > http://openjdk.java.net/projects/#project-reviewer > > Thanks, > iris From iris.clark at oracle.com Fri May 11 14:25:26 2012 From: iris.clark at oracle.com (Iris Clark) Date: Fri, 11 May 2012 14:25:26 -0700 (PDT) Subject: Request for reviews (M): 6924259: Remove String.count, String.offset fields In-Reply-To: <4FAD7E70.1090206@oracle.com> References: <4FAC04C6.2060309@oracle.com> <4FAD3F8D.4070609@oracle.com> <4FAD455B.4020100@oracle.com> <4FAD5178.1060204@oracle.com> <4FAD7E70.1090206@oracle.com> Message-ID: Hi, Valdimir. No. The only way you can close the voting period early is if all eligible voters have voted. Thanks, iris -----Original Message----- From: Vladimir Kozlov Sent: Friday, May 11, 2012 2:03 PM To: Iris Clark Cc: Mikael Vidstedt; hotspot-dev Subject: Re: Request for reviews (M): 6924259: Remove String.count, String.offset fields Thank you, Iris I submitted CFV and have some votes already. But I have question. Bylaws says that Reviewer are approved by a Three-Vote Consensus. Does it means that I can announce result when we get 3 'Yes' votes? Thanks, Vladimir Iris Clark wrote: >> On 2012-05-11 10:51, Mikael Vidstedt wrote: >> >> On 2012-05-11 12:59, Vladimir Kozlov wrote: > > [ ... ] > >>> "Some Projects require formal change review (hsx, jdk6, jdk7, jdk7u, >>> and jdk8). If you pushed at least 32 changegroups into such a >>> Project's Mercurial repositories, or if you were otherwise >>> well-known to be a serious and regular Committer, then you were >>> considered a Reviewer." > > [ ... ] > >> You are quoting text from the section describing how the initial >> census was formed. The above does not describe how the Bylaws that >> are in effect now work. The process for nominating a Reviewer can be found in the Bylaws [1]. >> >> Cheers, >> Mikael >> >> [1] http://openjdk.java.net/bylaws#reviewer > > And the step-by-step guide to interpreting the Bylaws to nominate a Reviewer (e-mail templates, etc.) may be found here: > > http://openjdk.java.net/projects/#project-reviewer > > Thanks, > iris From John.Coomes at oracle.com Fri May 11 15:04:21 2012 From: John.Coomes at oracle.com (John Coomes) Date: Fri, 11 May 2012 15:04:21 -0700 Subject: CFV: New HSX Reviewer: Roland Westrelin In-Reply-To: <4FAD5A3E.8080001@oracle.com> References: <4FAD5A3E.8080001@oracle.com> Message-ID: <20397.36069.249800.263221@oracle.com> Vote: yes -John From john.cuthbertson at oracle.com Fri May 11 15:30:27 2012 From: john.cuthbertson at oracle.com (John Cuthbertson) Date: Fri, 11 May 2012 15:30:27 -0700 Subject: CFV: New HSX Reviewer: Roland Westrelin In-Reply-To: <4FAD5A3E.8080001@oracle.com> References: <4FAD5A3E.8080001@oracle.com> Message-ID: <4FAD9303.1060703@oracle.com> Vote: yes JohnC On 05/11/12 11:28, Vladimir Kozlov wrote: > I hereby nominate Roland Westrelin to be an OpenJDK HSX [0] Reviewer [1]. > > Roland is long-time Java SE Hotspot VM engineer. He has been a > Committer on the HSX project for some time and is also a Committer on > the JDK 7, 7u and 8 projects. He is a key contributor in Hotspot's > Compiler group, working on both C1 and C2 compilers. He has > contributed 34 significant changesets as an Committer and thus > well-qualified to be a Reviewer on the HSX project. > > Votes are due by Tuesday, May 25, 2012 at 00:00:00 UTC (two week > voting period). > > Only current HSX project Reviewers [2] are eligible to vote on this > nomination. > > For Three-Vote Consensus voting instructions, see [3]. > > Regards, > Vladimir Kozlov > > [0] http://openjdk.java.net/census/#hsx > [1] http://openjdk.java.net/bylaws#reviewer > [2] http://openjdk.java.net/projects/#reviewer-vote > [3] http://openjdk.java.net/bylaws#three-vote-consensus From alejandro.murillo at oracle.com Fri May 11 18:03:33 2012 From: alejandro.murillo at oracle.com (alejandro.murillo at oracle.com) Date: Sat, 12 May 2012 01:03:33 +0000 Subject: hg: hsx/hsx24/hotspot: 19 new changesets Message-ID: <20120512010411.048F1472B0@hg.openjdk.java.net> Changeset: 4ee58fcab520 Author: katleman Date: 2012-05-09 13:07 -0700 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/4ee58fcab520 Added tag jdk8-b37 for changeset bfcf92bfefb8 ! .hgtags Changeset: 637c3f5f068f Author: amurillo Date: 2012-05-09 14:06 -0700 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/637c3f5f068f Merge ! .hgtags Changeset: 3c394919ca69 Author: katleman Date: 2012-05-10 10:25 -0700 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/3c394919ca69 Added tag jdk8-b38 for changeset 637c3f5f068f ! .hgtags Changeset: 36538fd1225e Author: amurillo Date: 2012-05-04 15:26 -0700 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/36538fd1225e 7166615: new hotspot build - hs24-b10 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 8bafad97cd26 Author: jiangli Date: 2012-05-02 13:21 -0400 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/8bafad97cd26 7158552: The instanceKlsss::_host_klass is only needed for anonymous class for JSR 292 support. Summary: Change the _host_klass to be conditionally created embedded instanceKlass field. Reviewed-by: jrose, coleenp, dholmes ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/memory/oopFactory.cpp ! src/share/vm/memory/oopFactory.hpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/instanceKlassKlass.cpp ! src/share/vm/oops/instanceKlassKlass.hpp Changeset: 38b4116b6766 Author: jprovino Date: 2012-05-05 10:24 -0400 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/38b4116b6766 Merge Changeset: c7ed11779ce8 Author: jiangli Date: 2012-04-10 09:31 -0700 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/c7ed11779ce8 7159772: instanceKlass::all_fields_count() returns incorrect total field count Summary: Fix instanceKlass::all_fields_count() bug. Reviewed-by: kvn, never Contributed-by: Jiangli Zhou ! src/share/vm/oops/instanceKlass.hpp Changeset: 3576af4cb939 Author: iveresov Date: 2012-04-11 19:15 -0700 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/3576af4cb939 7160539: JDeveloper crashes on 64-bit Windows Summary: x64 C1 needs to zero upper 32bits when doing l2i conversion Reviewed-by: never, kvn ! src/cpu/x86/vm/c1_LIRAssembler_x86.cpp Changeset: 847da049d62f Author: never Date: 2012-04-17 11:04 -0700 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/847da049d62f 7162094: LateInlineCallGenerator::do_late_inline crashed on uninitialized _call_node Reviewed-by: never, twisti Contributed-by: nils.eliasson at oracle.com ! src/share/vm/opto/callGenerator.cpp Changeset: df3d4a91f7f6 Author: never Date: 2012-04-18 16:08 -0700 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/df3d4a91f7f6 7161796: PhaseStringOpts::fetch_static_field tries to fetch field from the Klass instead of the mirror Reviewed-by: twisti ! src/share/vm/opto/stringopts.cpp Changeset: ec15e8f6e4f1 Author: twisti Date: 2012-04-24 12:15 -0700 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/ec15e8f6e4f1 7157695: Add windows implementation of socket interface Reviewed-by: kvn, dholmes, twisti Contributed-by: Nils Eliasson ! src/os/windows/vm/jvm_windows.h ! src/os/windows/vm/os_windows.cpp Changeset: dc682d9431f3 Author: kvn Date: 2012-05-07 12:37 -0700 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/dc682d9431f3 7160610: Unknown Native Code compilation issue Summary: When constructing input vector use type of vector's operation which use it since element's sizes should match. Reviewed-by: never, twisti ! src/share/vm/opto/superword.cpp + test/compiler/7160610/Test7160610.java Changeset: 3a97daec1b34 Author: kvn Date: 2012-05-08 15:47 -0700 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/3a97daec1b34 7167266: missing copyright notes in 3rd party code Summary: add missing copyright notes to the regression test file. Reviewed-by: twisti, johnc ! test/compiler/7070134/Stemmer.java Changeset: 2766551175a0 Author: kvn Date: 2012-05-09 10:54 -0700 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/2766551175a0 Merge ! src/share/vm/oops/instanceKlass.hpp Changeset: a05a695ea044 Author: stefank Date: 2012-05-10 11:27 +0200 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/a05a695ea044 7167437: Can't build on linux without precompiled headers Reviewed-by: brutisso, mgerdin ! src/share/vm/memory/space.hpp ! src/share/vm/memory/space.inline.hpp Changeset: f47478089efc Author: brutisso Date: 2012-05-10 14:16 +0200 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/f47478089efc 7167069: 6 VM flags crash the VM when queried via jinfo Summary: Added missing double format to Flag::print_as_flag() Reviewed-by: dholmes, stefank, coleenp ! src/share/vm/runtime/globals.cpp + test/runtime/7167069/PrintAsFlag.java Changeset: 5799726c54d7 Author: jcoomes Date: 2012-05-11 06:37 -0700 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/5799726c54d7 Merge Changeset: 73147e6c4881 Author: amurillo Date: 2012-05-11 14:47 -0700 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/73147e6c4881 Merge Changeset: 96a403721094 Author: amurillo Date: 2012-05-11 14:47 -0700 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/96a403721094 Added tag hs24-b10 for changeset 73147e6c4881 ! .hgtags From alejandro.murillo at oracle.com Fri May 11 19:59:09 2012 From: alejandro.murillo at oracle.com (alejandro.murillo at oracle.com) Date: Sat, 12 May 2012 02:59:09 +0000 Subject: hg: hsx/hsx23.2/hotspot: 7168249: new hotspot build - hs23.2-b02 Message-ID: <20120512025915.1BE98472B4@hg.openjdk.java.net> Changeset: e0b69099f2cf Author: amurillo Date: 2012-05-11 11:53 -0700 URL: http://hg.openjdk.java.net/hsx/hsx23.2/hotspot/rev/e0b69099f2cf 7168249: new hotspot build - hs23.2-b02 Reviewed-by: jcoomes ! make/hotspot_version From david.holmes at oracle.com Sat May 12 01:51:22 2012 From: david.holmes at oracle.com (David Holmes) Date: Sat, 12 May 2012 18:51:22 +1000 Subject: CFV: New HSX Reviewer: Roland Westrelin In-Reply-To: <4FAD5A3E.8080001@oracle.com> References: <4FAD5A3E.8080001@oracle.com> Message-ID: <4FAE248A.2010002@oracle.com> Vote: YES David On 12/05/2012 4:28 AM, Vladimir Kozlov wrote: > I hereby nominate Roland Westrelin to be an OpenJDK HSX [0] Reviewer [1]. > > Roland is long-time Java SE Hotspot VM engineer. He has been a Committer > on the HSX project for some time and is also a Committer on the JDK 7, > 7u and 8 projects. He is a key contributor in Hotspot's Compiler group, > working on both C1 and C2 compilers. He has contributed 34 significant > changesets as an Committer and thus well-qualified to be a Reviewer on > the HSX project. > > Votes are due by Tuesday, May 25, 2012 at 00:00:00 UTC (two week voting > period). > > Only current HSX project Reviewers [2] are eligible to vote on this > nomination. > > For Three-Vote Consensus voting instructions, see [3]. > > Regards, > Vladimir Kozlov > > [0] http://openjdk.java.net/census/#hsx > [1] http://openjdk.java.net/bylaws#reviewer > [2] http://openjdk.java.net/projects/#reviewer-vote > [3] http://openjdk.java.net/bylaws#three-vote-consensus From david.holmes at oracle.com Sat May 12 01:54:06 2012 From: david.holmes at oracle.com (David Holmes) Date: Sat, 12 May 2012 18:54:06 +1000 Subject: Request for Review: 7167625 Adjustments for SE-Embedded build process In-Reply-To: <0DD6861F-9719-4A4D-8FE7-3DBBF21C134A@oracle.com> References: <0DD6861F-9719-4A4D-8FE7-3DBBF21C134A@oracle.com> Message-ID: <4FAE252E.40703@oracle.com> For the public record: looks good. David On 11/05/2012 3:15 PM, Gary Collins wrote: > Simple change to the SE-Embedded build rules that should not affect any > other OpenJDK users. > Webrev > http://cr.openjdk.java.net/~collins/7167625/webrev/ > > 7167625 Adjustments for SE-Embedded build process > > Thanks > Gary From alejandro.murillo at oracle.com Sat May 12 11:42:22 2012 From: alejandro.murillo at oracle.com (alejandro.murillo at oracle.com) Date: Sat, 12 May 2012 18:42:22 +0000 Subject: hg: hsx/hotspot-main/hotspot: 6 new changesets Message-ID: <20120512184237.7F74B472C2@hg.openjdk.java.net> Changeset: 4ee58fcab520 Author: katleman Date: 2012-05-09 13:07 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/4ee58fcab520 Added tag jdk8-b37 for changeset bfcf92bfefb8 ! .hgtags Changeset: 637c3f5f068f Author: amurillo Date: 2012-05-09 14:06 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/637c3f5f068f Merge ! .hgtags Changeset: 3c394919ca69 Author: katleman Date: 2012-05-10 10:25 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/3c394919ca69 Added tag jdk8-b38 for changeset 637c3f5f068f ! .hgtags Changeset: 73147e6c4881 Author: amurillo Date: 2012-05-11 14:47 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/73147e6c4881 Merge Changeset: 96a403721094 Author: amurillo Date: 2012-05-11 14:47 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/96a403721094 Added tag hs24-b10 for changeset 73147e6c4881 ! .hgtags Changeset: 56d1af561395 Author: amurillo Date: 2012-05-11 14:54 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/56d1af561395 7168247: new hotspot build - hs24-b11 Reviewed-by: jcoomes ! make/hotspot_version From bengt.rutisson at oracle.com Sun May 13 23:18:22 2012 From: bengt.rutisson at oracle.com (Bengt Rutisson) Date: Mon, 14 May 2012 08:18:22 +0200 Subject: CFV: New HSX Reviewer: Roland Westrelin In-Reply-To: <4FAD5A3E.8080001@oracle.com> References: <4FAD5A3E.8080001@oracle.com> Message-ID: <4FB0A3AE.8020301@oracle.com> Vote: yes Bengt On 2012-05-11 20:28, Vladimir Kozlov wrote: > I hereby nominate Roland Westrelin to be an OpenJDK HSX [0] Reviewer [1]. > > Roland is long-time Java SE Hotspot VM engineer. He has been a > Committer on the HSX project for some time and is also a Committer on > the JDK 7, 7u and 8 projects. He is a key contributor in Hotspot's > Compiler group, working on both C1 and C2 compilers. He has > contributed 34 significant changesets as an Committer and thus > well-qualified to be a Reviewer on the HSX project. > > Votes are due by Tuesday, May 25, 2012 at 00:00:00 UTC (two week > voting period). > > Only current HSX project Reviewers [2] are eligible to vote on this > nomination. > > For Three-Vote Consensus voting instructions, see [3]. > > Regards, > Vladimir Kozlov > > [0] http://openjdk.java.net/census/#hsx > [1] http://openjdk.java.net/bylaws#reviewer > [2] http://openjdk.java.net/projects/#reviewer-vote > [3] http://openjdk.java.net/bylaws#three-vote-consensus From mjw at redhat.com Mon May 14 01:06:51 2012 From: mjw at redhat.com (Mark Wielaard) Date: Mon, 14 May 2012 10:06:51 +0200 Subject: [PATCH 0 of 3] Add support for dtrace compatible sdt probes on GNU/Linux In-Reply-To: <4FABE435.3070101@oracle.com> References: <4FABE435.3070101@oracle.com> Message-ID: <1336982811.3015.1.camel@springer.wildebeest.org> On Thu, 2012-05-10 at 09:52 -0600, Daniel D. Daugherty wrote: > Adding serviceability-dev at openjdk.java.net to this e-mail thread. Thanks. Please let me know if there is anything I can do to help integration of these patches, or if there are other places/people I need to add to the CC for review. > On 5/10/12 7:49 AM, Mark Wielaard wrote: > > Hi, > > > > The following three patches enable support for dtrace compatible sdt probes > > on GNU/Linux. Most of the support was already submitted earlier. These are > > just the last three things left in IcedTea that actually enable it in > > hotspot. It has been in production use for some time already. > > > > The patches could be applied all as one, or individually if you want to be > > able to test them independently. > > > > The first patch is just a consistency cleanup patch. The JNI Set and > > SetStatic Field methods used HS_DTRACE_PROBE_CDECL_N and HS_DTRACE_PROBE_N > > directly instead of just using DTRACE_PROBE[N] like all other JNI methods. > > This doesn't matter for the Solaris macros, but on GNU/Linux the macros > > don't use direct function declarations (which is introduced in the second > > patch). > > > > The second patch introduces the DTRACE macros for use with the GNU/Linux > > SystemTap provided sys/sdt.h. Like Solaris this uses USDT1, but using > > macros instead of function declaractions. So it just adds a check for > > whether USDT1 is used with SOLARIS (HS_DTRACE_WORKAROUND_TAIL_CALL_BUG > > is only needed there) and defines HS_DTRACE_PROBE[N] for the LINUX case. > > > > The last patch enables the support in the build. I took the approach > > used in the make/solaris/dtrace.make and vm.make file with a test to > > see whether sys/sdt.h is available or not and printing a notice when > > they are not found. In IcedTea there is a more elaborate configure > > check to see if a small C++ program can be build with DTRACE probes > > in it, but that looked like overkill here. > > > > Patches in separate emails. > > > > Cheers, > > > > Mark > > > > The second patch adds the actual > > src/share/vm/prims/jni.cpp | 11 ++------ > > src/share/vm/utilities/dtrace.hpp | 50 ++++++++++++++++++++++++++++++++++++++- > > make/linux/makefiles/dtrace.make | 24 ++++++++++++++++++ > > make/linux/makefiles/vm.make | 2 +- > > 4 files changed, 77 insertions(+), 10 deletions(-) From magnus.ihse.bursie at oracle.com Mon May 14 06:05:10 2012 From: magnus.ihse.bursie at oracle.com (Magnus Ihse Bursie) Date: Mon, 14 May 2012 15:05:10 +0200 Subject: Request for Review: Make the Queens test ("test in build") an option that can be disabled Message-ID: <4FB10306.3090206@oracle.com> As part of the new build system created in the build-infra project, we want to make it a configurable option wether or not to run the Queens test as part of the build. Here is a patch that introduces a new make variable, TEST_IN_BUILD, which controls wether to run the Queens test (test_gamma.sh) or not. If the variable is not explicitely set, it will default to true, mening that the default behaviour will be as before, that is, to run the Queens test. However, if you (or configure) explicitely set it to false, the Queens test will be skipped. http://cr.openjdk.java.net/~ihse/make-test-in-build-an-option/webrev.00 /Magnus From daniel.daugherty at oracle.com Mon May 14 06:41:50 2012 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Mon, 14 May 2012 07:41:50 -0600 Subject: [PATCH 0 of 3] Add support for dtrace compatible sdt probes on GNU/Linux In-Reply-To: <1336982811.3015.1.camel@springer.wildebeest.org> References: <4FABE435.3070101@oracle.com> <1336982811.3015.1.camel@springer.wildebeest.org> Message-ID: <4FB10B9E.8060500@oracle.com> On 5/14/12 2:06 AM, Mark Wielaard wrote: > On Thu, 2012-05-10 at 09:52 -0600, Daniel D. Daugherty wrote: >> Adding serviceability-dev at openjdk.java.net to this e-mail thread. > Thanks. Please let me know if there is anything I can do to help > integration of these patches, or if there are other places/people I need > to add to the CC for review. No problem. I was just making sure your e-mails got to the right aliases. As I no longer work on the Serviceability team, I'll leave it to them to address your e-mails. Dan >> On 5/10/12 7:49 AM, Mark Wielaard wrote: >>> Hi, >>> >>> The following three patches enable support for dtrace compatible sdt probes >>> on GNU/Linux. Most of the support was already submitted earlier. These are >>> just the last three things left in IcedTea that actually enable it in >>> hotspot. It has been in production use for some time already. >>> >>> The patches could be applied all as one, or individually if you want to be >>> able to test them independently. >>> >>> The first patch is just a consistency cleanup patch. The JNI Set and >>> SetStatic Field methods used HS_DTRACE_PROBE_CDECL_N and HS_DTRACE_PROBE_N >>> directly instead of just using DTRACE_PROBE[N] like all other JNI methods. >>> This doesn't matter for the Solaris macros, but on GNU/Linux the macros >>> don't use direct function declarations (which is introduced in the second >>> patch). >>> >>> The second patch introduces the DTRACE macros for use with the GNU/Linux >>> SystemTap provided sys/sdt.h. Like Solaris this uses USDT1, but using >>> macros instead of function declaractions. So it just adds a check for >>> whether USDT1 is used with SOLARIS (HS_DTRACE_WORKAROUND_TAIL_CALL_BUG >>> is only needed there) and defines HS_DTRACE_PROBE[N] for the LINUX case. >>> >>> The last patch enables the support in the build. I took the approach >>> used in the make/solaris/dtrace.make and vm.make file with a test to >>> see whether sys/sdt.h is available or not and printing a notice when >>> they are not found. In IcedTea there is a more elaborate configure >>> check to see if a small C++ program can be build with DTRACE probes >>> in it, but that looked like overkill here. >>> >>> Patches in separate emails. >>> >>> Cheers, >>> >>> Mark >>> >>> The second patch adds the actual >>> src/share/vm/prims/jni.cpp | 11 ++------ >>> src/share/vm/utilities/dtrace.hpp | 50 ++++++++++++++++++++++++++++++++++++++- >>> make/linux/makefiles/dtrace.make | 24 ++++++++++++++++++ >>> make/linux/makefiles/vm.make | 2 +- >>> 4 files changed, 77 insertions(+), 10 deletions(-) > From keith.mcguigan at oracle.com Mon May 14 07:30:53 2012 From: keith.mcguigan at oracle.com (Keith McGuigan) Date: Mon, 14 May 2012 10:30:53 -0400 Subject: Request for Review: Make the Queens test ("test in build") an option that can be disabled In-Reply-To: <4FB10306.3090206@oracle.com> References: <4FB10306.3090206@oracle.com> Message-ID: <4FB1171D.6050703@oracle.com> Looks good to me. -- - Keith On 5/14/2012 9:05 AM, Magnus Ihse Bursie wrote: > As part of the new build system created in the build-infra project, we > want to make it a configurable option wether or not to run the Queens > test as part of the build. > > Here is a patch that introduces a new make variable, TEST_IN_BUILD, > which controls wether to run the Queens test (test_gamma.sh) or not. If > the variable is not explicitely set, it will default to true, mening > that the default behaviour will be as before, that is, to run the Queens > test. However, if you (or configure) explicitely set it to false, the > Queens test will be skipped. > > http://cr.openjdk.java.net/~ihse/make-test-in-build-an-option/webrev.00 > > /Magnus > From coleen.phillimore at oracle.com Mon May 14 08:45:00 2012 From: coleen.phillimore at oracle.com (Coleen Phillimore) Date: Mon, 14 May 2012 11:45:00 -0400 Subject: Request for reviews (M): 6924259: Remove String.count, String.offset fields In-Reply-To: <4FAC04C6.2060309@oracle.com> References: <4FAC04C6.2060309@oracle.com> Message-ID: <4FB1287C.6050005@oracle.com> Does java_lang_String::compute_offsets() have to be in systemDictionary? Can it not be in JavaClasses::compute_offsets() function? Can you add a comment why, like java_lang_Class has. This looks fine. Didn't review the c2 code. Thanks, Coleen On 5/10/2012 2:11 PM, Vladimir Kozlov wrote: > http://cr.openjdk.java.net/~kvn/6924259/webrev > > 6924259: Remove String.count/String.offset > > Allows a version of the String class that doesn't have count,offset > fields. > These VM changes works with both versions of String class by checking > the presence of fields. > > Initial changes were done by Brian and Tom years ago. I addapted it > for current sources and tested it. > > Tested with NSK, regression tests, CTW, refworkload, CDS (class sharing). > > Thanks, > Vladimir From vladimir.kozlov at oracle.com Mon May 14 09:03:38 2012 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Mon, 14 May 2012 09:03:38 -0700 Subject: Request for reviews (M): 6924259: Remove String.count, String.offset fields In-Reply-To: <4FB1287C.6050005@oracle.com> References: <4FAC04C6.2060309@oracle.com> <4FB1287C.6050005@oracle.com> Message-ID: <4FB12CDA.2060305@oracle.com> Coleen Phillimore wrote: > > > Does java_lang_String::compute_offsets() have to be in > systemDictionary? Can it not be in JavaClasses::compute_offsets() > function? Can you add a comment why, like java_lang_Class has. This is main change. I need it there because it is place when String class is loaded and after that point it can be used so it needs offsets value. The same for Class. I will add this comment. Vladimir > > This looks fine. Didn't review the c2 code. > > Thanks, > Coleen > > On 5/10/2012 2:11 PM, Vladimir Kozlov wrote: >> http://cr.openjdk.java.net/~kvn/6924259/webrev >> >> 6924259: Remove String.count/String.offset >> >> Allows a version of the String class that doesn't have count,offset >> fields. >> These VM changes works with both versions of String class by checking >> the presence of fields. >> >> Initial changes were done by Brian and Tom years ago. I addapted it >> for current sources and tested it. >> >> Tested with NSK, regression tests, CTW, refworkload, CDS (class sharing). >> >> Thanks, >> Vladimir From gary.collins at oracle.com Mon May 14 13:40:22 2012 From: gary.collins at oracle.com (gary.collins at oracle.com) Date: Mon, 14 May 2012 20:40:22 +0000 Subject: hg: hsx/hsx23.2/hotspot: 7167625: Adjustments for SE-Embedded build process Message-ID: <20120514204027.BCD15472FA@hg.openjdk.java.net> Changeset: b7ae1ee1d2e4 Author: collins Date: 2012-05-11 11:30 -0700 URL: http://hg.openjdk.java.net/hsx/hsx23.2/hotspot/rev/b7ae1ee1d2e4 7167625: Adjustments for SE-Embedded build process Summary: Simple change to the SE-Embedded build rules that should not affect any other OpenJDK users. Reviewed-by: kvn, dholmes ! make/linux/makefiles/vm.make ! src/share/vm/runtime/arguments.cpp From christian.thalinger at oracle.com Mon May 14 14:00:28 2012 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Mon, 14 May 2012 14:00:28 -0700 Subject: CFV: New HSX Reviewer: Roland Westrelin In-Reply-To: <4FAD5A3E.8080001@oracle.com> References: <4FAD5A3E.8080001@oracle.com> Message-ID: <344A2832-061E-4ADE-89B7-D4393CAB65E8@oracle.com> Vote: yes On May 11, 2012, at 11:28 AM, Vladimir Kozlov wrote: > I hereby nominate Roland Westrelin to be an OpenJDK HSX [0] Reviewer [1]. > > Roland is long-time Java SE Hotspot VM engineer. He has been a Committer on the HSX project for some time and is also a Committer on the JDK 7, 7u and 8 projects. He is a key contributor in Hotspot's Compiler group, working on both C1 and C2 compilers. He has contributed 34 significant changesets as an Committer and thus well-qualified to be a Reviewer on the HSX project. > > Votes are due by Tuesday, May 25, 2012 at 00:00:00 UTC (two week voting period). > > Only current HSX project Reviewers [2] are eligible to vote on this > nomination. > > For Three-Vote Consensus voting instructions, see [3]. > > Regards, > Vladimir Kozlov > > [0] http://openjdk.java.net/census/#hsx > [1] http://openjdk.java.net/bylaws#reviewer > [2] http://openjdk.java.net/projects/#reviewer-vote > [3] http://openjdk.java.net/bylaws#three-vote-consensus From david.holmes at oracle.com Mon May 14 19:00:43 2012 From: david.holmes at oracle.com (David Holmes) Date: Tue, 15 May 2012 12:00:43 +1000 Subject: Request for Review: Make the Queens test ("test in build") an option that can be disabled In-Reply-To: <4FB10306.3090206@oracle.com> References: <4FB10306.3090206@oracle.com> Message-ID: <4FB1B8CB.2010609@oracle.com> Hi Magnus, Two queries: 1. Shouldn't you skip building test_gamma as well as running it ? 2. Cross-compilation builds have to skip this too. Presently this is done by adding a cross-compilation check inside the test_gamma script that gets generated by buildtree.make - but it seems to me cross-compilation builds should simply set TEST_IN_BUILD=false David ----- On 14/05/2012 11:05 PM, Magnus Ihse Bursie wrote: > As part of the new build system created in the build-infra project, we > want to make it a configurable option wether or not to run the Queens > test as part of the build. > > Here is a patch that introduces a new make variable, TEST_IN_BUILD, > which controls wether to run the Queens test (test_gamma.sh) or not. If > the variable is not explicitely set, it will default to true, mening > that the default behaviour will be as before, that is, to run the Queens > test. However, if you (or configure) explicitely set it to false, the > Queens test will be skipped. > > http://cr.openjdk.java.net/~ihse/make-test-in-build-an-option/webrev.00 > > /Magnus > From magnus.ihse.bursie at oracle.com Tue May 15 02:31:16 2012 From: magnus.ihse.bursie at oracle.com (Magnus Ihse Bursie) Date: Tue, 15 May 2012 11:31:16 +0200 Subject: Request for Review: Make the Queens test ("test in build") an option that can be disabled In-Reply-To: <4FB1B8CB.2010609@oracle.com> References: <4FB10306.3090206@oracle.com> <4FB1B8CB.2010609@oracle.com> Message-ID: <4FB22264.7010308@oracle.com> On 2012-05-15 04:00, David Holmes wrote: > Hi Magnus, > > Two queries: > > 1. Shouldn't you skip building test_gamma as well as running it ? Sure, I can fix that. > > 2. Cross-compilation builds have to skip this too. Presently this is > done by adding a cross-compilation check inside the test_gamma script > that gets generated by buildtree.make - but it seems to me > cross-compilation builds should simply set TEST_IN_BUILD=false Yeah, that sounds like a good idea. I modified the check in defs.make to one that sets TEST_IN_BUILD to false if it is not already set, and CROSS_COMPILE_ARCH is set, but true otherwise. That way you won't have to modify your scripts. New webrev: http://cr.openjdk.java.net/~ihse/make-test-in-build-an-option/webrev.01/ /Magnus From david.holmes at oracle.com Tue May 15 03:52:59 2012 From: david.holmes at oracle.com (David Holmes) Date: Tue, 15 May 2012 20:52:59 +1000 Subject: Request for Review: Make the Queens test ("test in build") an option that can be disabled In-Reply-To: <4FB22264.7010308@oracle.com> References: <4FB10306.3090206@oracle.com> <4FB1B8CB.2010609@oracle.com> <4FB22264.7010308@oracle.com> Message-ID: <4FB2358B.1050709@oracle.com> On 15/05/2012 7:31 PM, Magnus Ihse Bursie wrote: > On 2012-05-15 04:00, David Holmes wrote: >> Two queries: >> >> 1. Shouldn't you skip building test_gamma as well as running it ? > Sure, I can fix that. >> >> 2. Cross-compilation builds have to skip this too. Presently this is >> done by adding a cross-compilation check inside the test_gamma script >> that gets generated by buildtree.make - but it seems to me >> cross-compilation builds should simply set TEST_IN_BUILD=false > Yeah, that sounds like a good idea. I modified the check in defs.make to > one that sets TEST_IN_BUILD to false if it is not already set, and > CROSS_COMPILE_ARCH is set, but true otherwise. That way you won't have > to modify your scripts. > > New webrev: > > http://cr.openjdk.java.net/~ihse/make-test-in-build-an-option/webrev.01/ Okay this seems a lot simpler now as everything is handled through buildtree.make. Consider it Reviewed. But best to get a second and third opinion. I do hate seeing all this repetition though - both across the per-platform files, and across the different rule-sets. But that's a change for another day. Thanks, David > /Magnus > From Dmitry.Samersoff at oracle.com Tue May 15 04:19:02 2012 From: Dmitry.Samersoff at oracle.com (Dmitry Samersoff) Date: Tue, 15 May 2012 15:19:02 +0400 Subject: Request for Review: Make the Queens test ("test in build") an option that can be disabled In-Reply-To: <4FB22264.7010308@oracle.com> References: <4FB10306.3090206@oracle.com> <4FB1B8CB.2010609@oracle.com> <4FB22264.7010308@oracle.com> Message-ID: <4FB23BA6.4060204@oracle.com> Looks good for me. -Dmitry On 2012-05-15 13:31, Magnus Ihse Bursie wrote: > On 2012-05-15 04:00, David Holmes wrote: >> Hi Magnus, >> >> Two queries: >> >> 1. Shouldn't you skip building test_gamma as well as running it ? > Sure, I can fix that. >> >> 2. Cross-compilation builds have to skip this too. Presently this is >> done by adding a cross-compilation check inside the test_gamma script >> that gets generated by buildtree.make - but it seems to me >> cross-compilation builds should simply set TEST_IN_BUILD=false > Yeah, that sounds like a good idea. I modified the check in defs.make to > one that sets TEST_IN_BUILD to false if it is not already set, and > CROSS_COMPILE_ARCH is set, but true otherwise. That way you won't have > to modify your scripts. > > New webrev: > > http://cr.openjdk.java.net/~ihse/make-test-in-build-an-option/webrev.01/ > > /Magnus > -- Dmitry Samersoff Java Hotspot development team, SPB04 * There will come soft rains ... From magnus.ihse.bursie at oracle.com Tue May 15 05:42:24 2012 From: magnus.ihse.bursie at oracle.com (Magnus Ihse Bursie) Date: Tue, 15 May 2012 14:42:24 +0200 Subject: Request for Review: Make the Queens test ("test in build") an option that can be disabled In-Reply-To: <4FB23BA6.4060204@oracle.com> References: <4FB10306.3090206@oracle.com> <4FB1B8CB.2010609@oracle.com> <4FB22264.7010308@oracle.com> <4FB23BA6.4060204@oracle.com> Message-ID: <4FB24F30.6070207@oracle.com> Thank you Dmitry and David. Together with Keith's OK on the first version, I think this is enough of reviewers. /Magnus On 2012-05-15 13:19, Dmitry Samersoff wrote: > Looks good for me. > > -Dmitry > > On 2012-05-15 13:31, Magnus Ihse Bursie wrote: >> On 2012-05-15 04:00, David Holmes wrote: >>> Hi Magnus, >>> >>> Two queries: >>> >>> 1. Shouldn't you skip building test_gamma as well as running it ? >> Sure, I can fix that. >>> 2. Cross-compilation builds have to skip this too. Presently this is >>> done by adding a cross-compilation check inside the test_gamma script >>> that gets generated by buildtree.make - but it seems to me >>> cross-compilation builds should simply set TEST_IN_BUILD=false >> Yeah, that sounds like a good idea. I modified the check in defs.make to >> one that sets TEST_IN_BUILD to false if it is not already set, and >> CROSS_COMPILE_ARCH is set, but true otherwise. That way you won't have >> to modify your scripts. >> >> New webrev: >> >> http://cr.openjdk.java.net/~ihse/make-test-in-build-an-option/webrev.01/ >> >> /Magnus >> > From coleen.phillimore at oracle.com Tue May 15 07:50:38 2012 From: coleen.phillimore at oracle.com (Coleen Phillimore) Date: Tue, 15 May 2012 10:50:38 -0400 Subject: Request for Review: Make the Queens test ("test in build") an option that can be disabled In-Reply-To: <4FB2358B.1050709@oracle.com> References: <4FB10306.3090206@oracle.com> <4FB1B8CB.2010609@oracle.com> <4FB22264.7010308@oracle.com> <4FB2358B.1050709@oracle.com> Message-ID: <4FB26D3E.4090701@oracle.com> This looks good to me also. Thank you for letting us do this test in build by option instead of removing it completely. Coleen On 5/15/2012 6:52 AM, David Holmes wrote: > On 15/05/2012 7:31 PM, Magnus Ihse Bursie wrote: >> On 2012-05-15 04:00, David Holmes wrote: >>> Two queries: >>> >>> 1. Shouldn't you skip building test_gamma as well as running it ? >> Sure, I can fix that. >>> >>> 2. Cross-compilation builds have to skip this too. Presently this is >>> done by adding a cross-compilation check inside the test_gamma script >>> that gets generated by buildtree.make - but it seems to me >>> cross-compilation builds should simply set TEST_IN_BUILD=false >> Yeah, that sounds like a good idea. I modified the check in defs.make to >> one that sets TEST_IN_BUILD to false if it is not already set, and >> CROSS_COMPILE_ARCH is set, but true otherwise. That way you won't have >> to modify your scripts. >> >> New webrev: >> >> http://cr.openjdk.java.net/~ihse/make-test-in-build-an-option/webrev.01/ > > Okay this seems a lot simpler now as everything is handled through > buildtree.make. Consider it Reviewed. But best to get a second and > third opinion. > > I do hate seeing all this repetition though - both across the > per-platform files, and across the different rule-sets. But that's a > change for another day. > > Thanks, > David > >> /Magnus >> From vladimir.kozlov at oracle.com Tue May 15 08:40:30 2012 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 15 May 2012 08:40:30 -0700 Subject: Request for Review: Make the Queens test ("test in build") an option that can be disabled In-Reply-To: <4FB22264.7010308@oracle.com> References: <4FB10306.3090206@oracle.com> <4FB1B8CB.2010609@oracle.com> <4FB22264.7010308@oracle.com> Message-ID: <4FB278EE.7070008@oracle.com> Magnus, I hope I'm not late for review. Your changes looks good. But could you add an other change? Some time ago I add -Xmx32m flag to Queens TESTFLAGS in make/solaris/makefiles/buildtree.make to reduce startup time and memory usage. I also thought about adding flags -XX:CICompilerCount=1 -XX:ParallelGCThreads=1 for the same purpose. Could look on this and do this for BSD and linux test_gamma? I am fine if you don't want to do it now. Thanks, Vladimir On 5/15/12 2:31 AM, Magnus Ihse Bursie wrote: > On 2012-05-15 04:00, David Holmes wrote: >> Hi Magnus, >> >> Two queries: >> >> 1. Shouldn't you skip building test_gamma as well as running it ? > Sure, I can fix that. >> >> 2. Cross-compilation builds have to skip this too. Presently this is done by adding a cross-compilation check inside >> the test_gamma script that gets generated by buildtree.make - but it seems to me cross-compilation builds should >> simply set TEST_IN_BUILD=false > Yeah, that sounds like a good idea. I modified the check in defs.make to one that sets TEST_IN_BUILD to false if it is > not already set, and CROSS_COMPILE_ARCH is set, but true otherwise. That way you won't have to modify your scripts. > > New webrev: > > http://cr.openjdk.java.net/~ihse/make-test-in-build-an-option/webrev.01/ > > /Magnus > From yumin.qi at oracle.com Fri May 11 14:48:18 2012 From: yumin.qi at oracle.com (Yumin Qi) Date: Fri, 11 May 2012 14:48:18 -0700 Subject: request for codereview, bug 7149528: easy usage of serviceability agent Message-ID: <4FAD8922.9010902@oracle.com> Hi, all Can I have your codereview for bug 7149528: easy usage of serviceability agent. Problems 1) for launching Serviceability Agent(SA) is that it needs setting several environmental variables for class path, library path options. It is not easy for user to become familiar with those settings. 2) SA launched from java and attached to java process (or the binary which loaded JVM). On MacOS, attaching to process needs permission. If we grant access for SA, we have to grant all java processes have the same access permission so brings security concern on the platform since java is too generic for doing so. With a separate SA launcher, giving it permission attaching to java process solves the concern. the change for both hotspot and jdk: http://cr.openjdk.java.net/~minqi/7149528 Thanks Yumin From bengt.rutisson at oracle.com Tue May 15 13:36:20 2012 From: bengt.rutisson at oracle.com (Bengt Rutisson) Date: Tue, 15 May 2012 22:36:20 +0200 Subject: Request for review (XS): 7169056: Add gigabyte unit to proper_unit_for_byte_size() and byte_size_in_proper_unit() Message-ID: <4FB2BE44.5020402@oracle.com> Hi all, I would like to push this simple change to allow for gigabyte units in some GC logging: http://cr.openjdk.java.net/~brutisso/7169056/webrev.01/ Jesper and John Cuthbertson have already looked at it, so in theory I am all set to push this. But I would like to give other people a chance to have a look at the change before I push it. Background I attempted this change in a changeset that I pushed recently. It was not strictly related to those changes, so when I realized that I needed special treatment of 32 bit platforms I decided to push it as a separate change. Thanks, Bengt From david.holmes at oracle.com Tue May 15 20:30:04 2012 From: david.holmes at oracle.com (David Holmes) Date: Wed, 16 May 2012 13:30:04 +1000 Subject: Request for review (XS): 7169056: Add gigabyte unit to proper_unit_for_byte_size() and byte_size_in_proper_unit() In-Reply-To: <4FB2BE44.5020402@oracle.com> References: <4FB2BE44.5020402@oracle.com> Message-ID: <4FB31F3C.4020303@oracle.com> Looks okay to me too. David On 16/05/2012 6:36 AM, Bengt Rutisson wrote: > > Hi all, > > I would like to push this simple change to allow for gigabyte units in > some GC logging: > http://cr.openjdk.java.net/~brutisso/7169056/webrev.01/ > > Jesper and John Cuthbertson have already looked at it, so in theory I am > all set to push this. But I would like to give other people a chance to > have a look at the change before I push it. > > Background > I attempted this change in a changeset that I pushed recently. It was > not strictly related to those changes, so when I realized that I needed > special treatment of 32 bit platforms I decided to push it as a separate > change. > > Thanks, > Bengt From bengt.rutisson at oracle.com Tue May 15 22:36:34 2012 From: bengt.rutisson at oracle.com (Bengt Rutisson) Date: Wed, 16 May 2012 07:36:34 +0200 Subject: Request for review (XS): 7169056: Add gigabyte unit to proper_unit_for_byte_size() and byte_size_in_proper_unit() In-Reply-To: <4FB31F3C.4020303@oracle.com> References: <4FB2BE44.5020402@oracle.com> <4FB31F3C.4020303@oracle.com> Message-ID: <4FB33CE2.6030205@oracle.com> Thanks for the review, David! I'll go ahead and push this now. Bengt On 2012-05-16 05:30, David Holmes wrote: > Looks okay to me too. > > David > > On 16/05/2012 6:36 AM, Bengt Rutisson wrote: >> >> Hi all, >> >> I would like to push this simple change to allow for gigabyte units in >> some GC logging: >> http://cr.openjdk.java.net/~brutisso/7169056/webrev.01/ >> >> Jesper and John Cuthbertson have already looked at it, so in theory I am >> all set to push this. But I would like to give other people a chance to >> have a look at the change before I push it. >> >> Background >> I attempted this change in a changeset that I pushed recently. It was >> not strictly related to those changes, so when I realized that I needed >> special treatment of 32 bit platforms I decided to push it as a separate >> change. >> >> Thanks, >> Bengt From Ulf.Zibis at gmx.de Wed May 16 03:04:26 2012 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Wed, 16 May 2012 12:04:26 +0200 Subject: Request for review (XS): 7169056: Add gigabyte unit to proper_unit_for_byte_size() and byte_size_in_proper_unit() In-Reply-To: <4FB2BE44.5020402@oracle.com> References: <4FB2BE44.5020402@oracle.com> Message-ID: <4FB37BAA.5090008@gmx.de> See: 164 const size_t LOG_K = 10; 165 const size_t LOG_M = 2 * LOG_K; 166 const size_t LOG_G = 2 * LOG_M; Shouldn't it be 166 const size_t LOG_G = 3 * LOG_K; ? -Ulf Am 15.05.2012 22:36, schrieb Bengt Rutisson: > > Hi all, > > I would like to push this simple change to allow for gigabyte units in some GC logging: > http://cr.openjdk.java.net/~brutisso/7169056/webrev.01/ > > Jesper and John Cuthbertson have already looked at it, so in theory I am all set to push this. But > I would like to give other people a chance to have a look at the change before I push it. > > Background > I attempted this change in a changeset that I pushed recently. It was not strictly related to > those changes, so when I realized that I needed special treatment of 32 bit platforms I decided to > push it as a separate change. > > Thanks, > Bengt > From david.holmes at oracle.com Wed May 16 03:11:18 2012 From: david.holmes at oracle.com (David Holmes) Date: Wed, 16 May 2012 20:11:18 +1000 Subject: Obtaining methods executed at least once? In-Reply-To: <4FB36BCB.8020701@st.informatik.tu-darmstadt.de> References: <4FB36BCB.8020701@st.informatik.tu-darmstadt.de> Message-ID: <4FB37D46.8090305@oracle.com> Andreas, I've cc'd this to hotspot-dev which is the right place to ask. Please drop the discuss list from further replies. David On 16/05/2012 6:56 PM, Andreas Sewe wrote: > Hi all, > > I hope this is the right mailing list to ask such questions (if not, > please point me to the right one), as I couldn't find an obvious > analogue to lists like jikesrvm-researchers. > > Is the a way (preferably using "diagnostic" rather than "develop" > options) to obtain a list of all methods executed at least once? > Currently I am considering "-XX:-UseInterpreter -XX:+LogCompilation", > but this seems to be an awfully indirect way to achieve my goal -- and > it may not even give correct results if the only call of m() is inlined > during compilation. > > Any help is greatly appreciated. > > Best wishes, > > Andreas From keith.mcguigan at oracle.com Wed May 16 04:52:01 2012 From: keith.mcguigan at oracle.com (Keith McGuigan) Date: Wed, 16 May 2012 07:52:01 -0400 Subject: Obtaining methods executed at least once? In-Reply-To: <4FB37D46.8090305@oracle.com> References: <4FB36BCB.8020701@st.informatik.tu-darmstadt.de> <4FB37D46.8090305@oracle.com> Message-ID: <4FB394E1.80301@oracle.com> Have you considered using a JVMTI agent and catching the method entry/return events? You'd have to do some work in the agent to ignore duplicates though. -- - Keith On 5/16/2012 6:11 AM, David Holmes wrote: > Andreas, > > I've cc'd this to hotspot-dev which is the right place to ask. > > Please drop the discuss list from further replies. > > David > > On 16/05/2012 6:56 PM, Andreas Sewe wrote: >> Hi all, >> >> I hope this is the right mailing list to ask such questions (if not, >> please point me to the right one), as I couldn't find an obvious >> analogue to lists like jikesrvm-researchers. >> >> Is the a way (preferably using "diagnostic" rather than "develop" >> options) to obtain a list of all methods executed at least once? >> Currently I am considering "-XX:-UseInterpreter -XX:+LogCompilation", >> but this seems to be an awfully indirect way to achieve my goal -- and >> it may not even give correct results if the only call of m() is inlined >> during compilation. >> >> Any help is greatly appreciated. >> >> Best wishes, >> >> Andreas From magnus.ihse.bursie at oracle.com Wed May 16 05:11:17 2012 From: magnus.ihse.bursie at oracle.com (Magnus Ihse Bursie) Date: Wed, 16 May 2012 14:11:17 +0200 Subject: Request for Review: Make the Queens test ("test in build") an option that can be disabled In-Reply-To: <4FB278EE.7070008@oracle.com> References: <4FB10306.3090206@oracle.com> <4FB1B8CB.2010609@oracle.com> <4FB22264.7010308@oracle.com> <4FB278EE.7070008@oracle.com> Message-ID: <4FB39965.9030407@oracle.com> On 2012-05-15 17:40, Vladimir Kozlov wrote: > Magnus, > > I hope I'm not late for review. Your changes looks good. But could you > add an other change? Some time ago I add -Xmx32m flag to Queens > TESTFLAGS in make/solaris/makefiles/buildtree.make to reduce startup > time and memory usage. I also thought about adding flags > -XX:CICompilerCount=1 -XX:ParallelGCThreads=1 for the same purpose. > Could look on this and do this for BSD and linux test_gamma? I am fine > if you don't want to do it now. No, I don't want to do that in this change. This change is rather a step away from running the test, which I (personally) don't really believe should be a step of the build process. If you want to keep the test, fine, but you'll have to bug fix it yourself. ;-) /Magnus From sewe at st.informatik.tu-darmstadt.de Wed May 16 05:15:33 2012 From: sewe at st.informatik.tu-darmstadt.de (Andreas Sewe) Date: Wed, 16 May 2012 14:15:33 +0200 Subject: Obtaining methods executed at least once? In-Reply-To: References: <4FB36BCB.8020701@st.informatik.tu-darmstadt.de> <4FB37D46.8090305@oracle.com> Message-ID: <4FB39A65.50609@st.informatik.tu-darmstadt.de> Hi Ben, > OK, I'll bite with a couple of questions: Fair enough. > 1) Why do you want this information? Is it purely informative, or are > you planning to make use of it in some way? If you're planning to use > it - what uses do you have in mind? I am gathering some statistics on a few benchmarks. In particular, I am interested in the *fraction* of methods compiled (at the various levels, if tiered compilation is used). Thus, I also need to know the overall number of methods executed (whether they have been compiled or not). > 2) What do you mean by "inlined at compilation". When dealing with > HotSpot, always remember that there are two separate things which > could be thought of as 'compilation' - there's the process which > creates classfiles (e.g. javac) and there's the process which creates > machine code from hot methods - JIT compilation. It isn't clear to me > which of these two processes you mean. I meant the JIT. The problem is that you want to count a method as compiled even if is only compiled in a "nested" context due to inlining. (Of course, you don't want to count the method multiple times if it is inlined at multiple places either.) But as far as I can see, the -XX:+LogCompilation log contains enough information to determine all methods that have been compiled, be it as a root method or deeper into the inline tree. Hope this clarifies things for you. Best wishes, Andreas From sewe at st.informatik.tu-darmstadt.de Wed May 16 06:03:30 2012 From: sewe at st.informatik.tu-darmstadt.de (Andreas Sewe) Date: Wed, 16 May 2012 15:03:30 +0200 Subject: Obtaining methods executed at least once? In-Reply-To: <4FB394E1.80301@oracle.com> References: <4FB36BCB.8020701@st.informatik.tu-darmstadt.de> <4FB37D46.8090305@oracle.com> <4FB394E1.80301@oracle.com> Message-ID: <4FB3A5A2.8070801@st.informatik.tu-darmstadt.de> Hi Keith, > Have you considered using a JVMTI agent and catching the method > entry/return events? You'd have to do some work in the agent to ignore > duplicates though. yes, I did consider using JVMTI. Unfortunately, there's no proper event for this, and handling all JVMTI_EVENT_METHOD_ENTRYs is very expensive, even if it is "just" looking up jmethodID's in a map most of the time. Thus I was thinking about forcing compilation (-XX:-UseInterpreter) and then using the compilation log. I am unsure, however, if this really gives me all methods, i.e., if -XX:-UseInterpreter is respected all the time. Best wishes, Andreas From rednaxelafx at gmail.com Wed May 16 07:25:31 2012 From: rednaxelafx at gmail.com (Krystal Mok) Date: Wed, 16 May 2012 22:25:31 +0800 Subject: Obtaining methods executed at least once? In-Reply-To: <4FB37D46.8090305@oracle.com> References: <4FB36BCB.8020701@st.informatik.tu-darmstadt.de> <4FB37D46.8090305@oracle.com> Message-ID: Hi Andreas, There are a couple of ways off the top of my head. Their viability depends on the original purpose of getting the list of executed methods. HotSpot keeps the invocation count (at least in the interpreter) for all Java methods. It may not be precise, because it'll decay periodically, or it may be set to certain values for triggering standard compilation, etc. But if you only care about zero and non-zero, this counter would be sufficient. The problem is: how to get the list of invoked methods? There's no flag within the VM that I'm aware of that would print the list of invoked methods, unfortunately. You could try the Serviceability Agent. See this example that I just made: https://gist.github.com/2710667#file_print_invoked_methods.java It can attach to your target Java process, and extract all invoked methods. Caveat: 1. If you're on JDK6, you may need to include these two VM flags in your target Java application: -XX:-UseFastEmptyMethods -XX:-UseFastAccessorMethods Otherwise empty methods and accessor methods will not show up in the list, because the "fast" version doesn't increment the invocation counter for these methods. In JDK7 these two flags default to false, so you don't have to bother setting them to false explicitly. 2. If any of your classes are unloaded when you use this tool, then their methods won't show up in the output. 3. If you'd like the list to be printed before process exit, then an easy way to do this is to set up a shutdown hook with a Java agent, and make this hook run the tool above (in a new process). You may miss some methods that are only run in the shutdown hook, but I guess that's an acceptable tradeoff. - Kris On Wed, May 16, 2012 at 6:11 PM, David Holmes wrote: > Andreas, > > I've cc'd this to hotspot-dev which is the right place to ask. > > Please drop the discuss list from further replies. > > David > > On 16/05/2012 6:56 PM, Andreas Sewe wrote: > >> Hi all, >> >> I hope this is the right mailing list to ask such questions (if not, >> please point me to the right one), as I couldn't find an obvious >> analogue to lists like jikesrvm-researchers. >> >> Is the a way (preferably using "diagnostic" rather than "develop" >> options) to obtain a list of all methods executed at least once? >> Currently I am considering "-XX:-UseInterpreter -XX:+LogCompilation", >> but this seems to be an awfully indirect way to achieve my goal -- and >> it may not even give correct results if the only call of m() is inlined >> during compilation. >> >> Any help is greatly appreciated. >> >> Best wishes, >> >> Andreas >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20120516/021875ff/attachment.html From sewe at st.informatik.tu-darmstadt.de Wed May 16 07:39:10 2012 From: sewe at st.informatik.tu-darmstadt.de (Andreas Sewe) Date: Wed, 16 May 2012 16:39:10 +0200 Subject: Obtaining methods executed at least once? In-Reply-To: References: <4FB36BCB.8020701@st.informatik.tu-darmstadt.de> <4FB37D46.8090305@oracle.com> Message-ID: <4FB3BC0E.8010207@st.informatik.tu-darmstadt.de> Hi, > There are a couple of ways off the top of my head. Their viability > depends on the original purpose of getting the list of executed methods. > > HotSpot keeps the invocation count (at least in the interpreter) for all > Java methods. It may not be precise, because it'll decay periodically, > or it may be set to certain values for triggering standard compilation, > etc. But if you only care about zero and non-zero, this counter would be > sufficient. Yes, I only care about that. The question is whether I can force interpretation for all methods (so that the counts are incremented) by doing -XX:-UseCompiler? > The problem is: how to get the list of invoked methods? > There's no flag within the VM that I'm aware of that would print the > list of invoked methods, unfortunately. > > You could try the Serviceability Agent. See this example that I just > made: https://gist.github.com/2710667#file_print_invoked_methods.java > > It can attach to your target Java process, and extract all invoked methods. Neat. :-) > Caveat: > > 3. If you'd like the list to be printed before process exit, then an > easy way to do this is to set up a shutdown hook with a Java agent, and > make this hook run the tool above (in a new process). You may miss some > methods that are only run in the shutdown hook, but I guess that's an > acceptable tradeoff. Yes, that's fine. Thanks. Best wishes, Andreas From rednaxelafx at gmail.com Wed May 16 07:48:30 2012 From: rednaxelafx at gmail.com (Krystal Mok) Date: Wed, 16 May 2012 22:48:30 +0800 Subject: Obtaining methods executed at least once? In-Reply-To: <4FB3BC0E.8010207@st.informatik.tu-darmstadt.de> References: <4FB36BCB.8020701@st.informatik.tu-darmstadt.de> <4FB37D46.8090305@oracle.com> <4FB3BC0E.8010207@st.informatik.tu-darmstadt.de> Message-ID: On Wed, May 16, 2012 at 10:39 PM, Andreas Sewe < sewe at st.informatik.tu-darmstadt.de> wrote: > The question is whether I can force interpretation for all methods (so > that the counts are incremented) by doing -XX:-UseCompiler? > I don't think you have to anything to "force" a Java method to be interpreted first, because that's the default behavior already. Since you only care about "non-zero" invocation counts, running a method in the interpreter for even just once is enough, and it doesn't matter if the method got compiled later. So long as you don't do -Xcomp sort of stuff, you should get the correct list of invoked methods this way. And with the -XX:-UseFastEmptyMethods -XX:-UseFastAccessorMethods caveat. Hopefully I'm not missing anything... :-) - Kris > Best wishes, > > Andreas > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20120516/21df5342/attachment.html From bengt.rutisson at oracle.com Wed May 16 07:35:42 2012 From: bengt.rutisson at oracle.com (Bengt Rutisson) Date: Wed, 16 May 2012 16:35:42 +0200 Subject: Request for review (XS): 7169056: Add gigabyte unit to proper_unit_for_byte_size() and byte_size_in_proper_unit() In-Reply-To: <4FB37BAA.5090008@gmx.de> References: <4FB2BE44.5020402@oracle.com> <4FB37BAA.5090008@gmx.de> Message-ID: <4FB3BB3E.9030201@oracle.com> Ulf, You are correct. The LOG_G constant is wrong. If it should be based on the previous log constants it should be 3*LOG_K as you point out (it is not clear to me that this is more readable than just "30"). However, the LOG_G constant is not being used anywhere in the Hotspot code. I would prefer to remove it rather than fix it. The LOG_K constant is never used directly. Just implicitly through LOG_M. And LOG_M is only used in one place: HeapRegionRemSet::setup_remset_size(). It seems strange to me to have this stuff in globalDefinitions.hpp. Unless anybody objects I'll file a CR to remove LOG_K and LOG_G and move LOG_M to heapRegionRemSet.cpp. Thanks for catching this! Bengt On 2012-05-16 12:04, Ulf Zibis wrote: > See: > 164 const size_t LOG_K = 10; > 165 const size_t LOG_M = 2 * LOG_K; > 166 const size_t LOG_G = 2 * LOG_M; > > Shouldn't it be > 166 const size_t LOG_G = 3 * LOG_K; > ? > > -Ulf > > > Am 15.05.2012 22:36, schrieb Bengt Rutisson: >> >> Hi all, >> >> I would like to push this simple change to allow for gigabyte units >> in some GC logging: >> http://cr.openjdk.java.net/~brutisso/7169056/webrev.01/ >> >> Jesper and John Cuthbertson have already looked at it, so in theory I >> am all set to push this. But I would like to give other people a >> chance to have a look at the change before I push it. >> >> Background >> I attempted this change in a changeset that I pushed recently. It was >> not strictly related to those changes, so when I realized that I >> needed special treatment of 32 bit platforms I decided to push it as >> a separate change. >> >> Thanks, >> Bengt >> From benjamin.john.evans at gmail.com Wed May 16 05:04:51 2012 From: benjamin.john.evans at gmail.com (Ben Evans) Date: Wed, 16 May 2012 09:04:51 -0300 Subject: Obtaining methods executed at least once? In-Reply-To: <4FB37D46.8090305@oracle.com> References: <4FB36BCB.8020701@st.informatik.tu-darmstadt.de> <4FB37D46.8090305@oracle.com> Message-ID: Hi Andreas, OK, I'll bite with a couple of questions: 1) Why do you want this information? Is it purely informative, or are you planning to make use of it in some way? If you're planning to use it - what uses do you have in mind? 2) What do you mean by "inlined at compilation". When dealing with HotSpot, always remember that there are two separate things which could be thought of as 'compilation' - there's the process which creates classfiles (e.g. javac) and there's the process which creates machine code from hot methods - JIT compilation. It isn't clear to me which of these two processes you mean. Thanks, Ben On Wed, May 16, 2012 at 7:11 AM, David Holmes wrote: > Andreas, > > I've cc'd this to hotspot-dev which is the right place to ask. > > Please drop the discuss list from further replies. > > David > > > On 16/05/2012 6:56 PM, Andreas Sewe wrote: >> >> Hi all, >> >> I hope this is the right mailing list to ask such questions (if not, >> please point me to the right one), as I couldn't find an obvious >> analogue to lists like jikesrvm-researchers. >> >> Is the a way (preferably using "diagnostic" rather than "develop" >> options) to obtain a list of all methods executed at least once? >> Currently I am considering "-XX:-UseInterpreter -XX:+LogCompilation", >> but this seems to be an awfully indirect way to achieve my goal -- and >> it may not even give correct results if the only call of m() is inlined >> during compilation. >> >> Any help is greatly appreciated. >> >> Best wishes, >> >> Andreas From david.holmes at oracle.com Wed May 16 21:30:29 2012 From: david.holmes at oracle.com (david.holmes at oracle.com) Date: Thu, 17 May 2012 04:30:29 +0000 Subject: hg: hsx/hotspot-main/hotspot: 2 new changesets Message-ID: <20120517043044.2F29A4736E@hg.openjdk.java.net> Changeset: 35e504cb49a6 Author: collins Date: 2012-05-11 11:30 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/35e504cb49a6 7167625: Adjustments for SE-Embedded build process Summary: Simple change to the SE-Embedded build rules that should not affect any other OpenJDK users. Reviewed-by: kvn, dholmes ! make/linux/makefiles/vm.make ! src/share/vm/runtime/arguments.cpp Changeset: fada85d11d92 Author: jprovino Date: 2012-05-16 13:33 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/fada85d11d92 Merge From mjw at redhat.com Thu May 17 12:25:55 2012 From: mjw at redhat.com (Mark Wielaard) Date: Thu, 17 May 2012 21:25:55 +0200 Subject: [PATCH 0 of 3] Add support for dtrace compatible sdt probes on GNU/Linux In-Reply-To: <4FB10B9E.8060500@oracle.com> References: <4FABE435.3070101@oracle.com> <1336982811.3015.1.camel@springer.wildebeest.org> <4FB10B9E.8060500@oracle.com> Message-ID: <20120517192555.GB2423@toonder.wildebeest.org> On Mon, May 14, 2012 at 07:41:50AM -0600, Daniel D. Daugherty wrote: > On 5/14/12 2:06 AM, Mark Wielaard wrote: > >On Thu, 2012-05-10 at 09:52 -0600, Daniel D. Daugherty wrote: > >>Adding serviceability-dev at openjdk.java.net to this e-mail thread. > >Thanks. Please let me know if there is anything I can do to help > >integration of these patches, or if there are other places/people I need > >to add to the CC for review. > > No problem. I was just making sure your e-mails got to the right aliases. > As I no longer work on the Serviceability team, I'll leave it to them to > address your e-mails. Feedback from the Serviceability team is highly appreciated. Please let me know how I can help getting these patches in as soon as possible. Thanks, Mark > >>On 5/10/12 7:49 AM, Mark Wielaard wrote: > >>>Hi, > >>> > >>>The following three patches enable support for dtrace compatible sdt probes > >>>on GNU/Linux. Most of the support was already submitted earlier. These are > >>>just the last three things left in IcedTea that actually enable it in > >>>hotspot. It has been in production use for some time already. > >>> > >>>The patches could be applied all as one, or individually if you want to be > >>>able to test them independently. > >>> > >>>The first patch is just a consistency cleanup patch. The JNI Set and > >>>SetStatic Field methods used HS_DTRACE_PROBE_CDECL_N and HS_DTRACE_PROBE_N > >>>directly instead of just using DTRACE_PROBE[N] like all other JNI methods. > >>>This doesn't matter for the Solaris macros, but on GNU/Linux the macros > >>>don't use direct function declarations (which is introduced in the second > >>>patch). > >>> > >>>The second patch introduces the DTRACE macros for use with the GNU/Linux > >>>SystemTap provided sys/sdt.h. Like Solaris this uses USDT1, but using > >>>macros instead of function declaractions. So it just adds a check for > >>>whether USDT1 is used with SOLARIS (HS_DTRACE_WORKAROUND_TAIL_CALL_BUG > >>>is only needed there) and defines HS_DTRACE_PROBE[N] for the LINUX case. > >>> > >>>The last patch enables the support in the build. I took the approach > >>>used in the make/solaris/dtrace.make and vm.make file with a test to > >>>see whether sys/sdt.h is available or not and printing a notice when > >>>they are not found. In IcedTea there is a more elaborate configure > >>>check to see if a small C++ program can be build with DTRACE probes > >>>in it, but that looked like overkill here. > >>> > >>>Patches in separate emails. > >>> > >>>Cheers, > >>> > >>>Mark > >>> > >>>The second patch adds the actual > >>> src/share/vm/prims/jni.cpp | 11 ++------ > >>> src/share/vm/utilities/dtrace.hpp | 50 ++++++++++++++++++++++++++++++++++++++- > >>> make/linux/makefiles/dtrace.make | 24 ++++++++++++++++++ > >>> make/linux/makefiles/vm.make | 2 +- > >>> 4 files changed, 77 insertions(+), 10 deletions(-) > > From vladimir.kozlov at oracle.com Thu May 17 14:58:31 2012 From: vladimir.kozlov at oracle.com (vladimir.kozlov at oracle.com) Date: Thu, 17 May 2012 21:58:31 +0000 Subject: hg: hsx/hotspot-main/hotspot: 2 new changesets Message-ID: <20120517215846.49A6A473A0@hg.openjdk.java.net> Changeset: 8f972594effc Author: kvn Date: 2012-05-14 09:36 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/8f972594effc 6924259: Remove String.count/String.offset Summary: Allow a version of String class that doesn't have count and offset fields. Reviewed-by: never, coleenp ! src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp ! src/cpu/x86/vm/c1_LIRAssembler_x86.cpp ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/memory/dump.cpp ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/graphKit.hpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/opto/stringopts.cpp ! src/share/vm/opto/stringopts.hpp Changeset: de0cc3dd9f10 Author: kvn Date: 2012-05-17 09:50 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/de0cc3dd9f10 Merge From serguei.spitsyn at oracle.com Thu May 17 16:47:37 2012 From: serguei.spitsyn at oracle.com (serguei.spitsyn at oracle.com) Date: Thu, 17 May 2012 16:47:37 -0700 Subject: [PATCH 0 of 3] Add support for dtrace compatible sdt probes on GNU/Linux In-Reply-To: <20120517192555.GB2423@toonder.wildebeest.org> References: <4FABE435.3070101@oracle.com> <1336982811.3015.1.camel@springer.wildebeest.org> <4FB10B9E.8060500@oracle.com> <20120517192555.GB2423@toonder.wildebeest.org> Message-ID: <4FB58E19.8070002@oracle.com> Hi Mark, Where are the patches? I do not see them in your emails. Thanks, Serguei On 5/17/12 12:25 PM, Mark Wielaard wrote: > On Mon, May 14, 2012 at 07:41:50AM -0600, Daniel D. Daugherty wrote: >> On 5/14/12 2:06 AM, Mark Wielaard wrote: >>> On Thu, 2012-05-10 at 09:52 -0600, Daniel D. Daugherty wrote: >>>> Adding serviceability-dev at openjdk.java.net to this e-mail thread. >>> Thanks. Please let me know if there is anything I can do to help >>> integration of these patches, or if there are other places/people I need >>> to add to the CC for review. >> No problem. I was just making sure your e-mails got to the right aliases. >> As I no longer work on the Serviceability team, I'll leave it to them to >> address your e-mails. > Feedback from the Serviceability team is highly appreciated. Please let > me know how I can help getting these patches in as soon as possible. > > Thanks, > > Mark > >>>> On 5/10/12 7:49 AM, Mark Wielaard wrote: >>>>> Hi, >>>>> >>>>> The following three patches enable support for dtrace compatible sdt probes >>>>> on GNU/Linux. Most of the support was already submitted earlier. These are >>>>> just the last three things left in IcedTea that actually enable it in >>>>> hotspot. It has been in production use for some time already. >>>>> >>>>> The patches could be applied all as one, or individually if you want to be >>>>> able to test them independently. >>>>> >>>>> The first patch is just a consistency cleanup patch. The JNI Set and >>>>> SetStatic Field methods used HS_DTRACE_PROBE_CDECL_N and HS_DTRACE_PROBE_N >>>>> directly instead of just using DTRACE_PROBE[N] like all other JNI methods. >>>>> This doesn't matter for the Solaris macros, but on GNU/Linux the macros >>>>> don't use direct function declarations (which is introduced in the second >>>>> patch). >>>>> >>>>> The second patch introduces the DTRACE macros for use with the GNU/Linux >>>>> SystemTap provided sys/sdt.h. Like Solaris this uses USDT1, but using >>>>> macros instead of function declaractions. So it just adds a check for >>>>> whether USDT1 is used with SOLARIS (HS_DTRACE_WORKAROUND_TAIL_CALL_BUG >>>>> is only needed there) and defines HS_DTRACE_PROBE[N] for the LINUX case. >>>>> >>>>> The last patch enables the support in the build. I took the approach >>>>> used in the make/solaris/dtrace.make and vm.make file with a test to >>>>> see whether sys/sdt.h is available or not and printing a notice when >>>>> they are not found. In IcedTea there is a more elaborate configure >>>>> check to see if a small C++ program can be build with DTRACE probes >>>>> in it, but that looked like overkill here. >>>>> >>>>> Patches in separate emails. >>>>> >>>>> Cheers, >>>>> >>>>> Mark >>>>> >>>>> The second patch adds the actual >>>>> src/share/vm/prims/jni.cpp | 11 ++------ >>>>> src/share/vm/utilities/dtrace.hpp | 50 ++++++++++++++++++++++++++++++++++++++- >>>>> make/linux/makefiles/dtrace.make | 24 ++++++++++++++++++ >>>>> make/linux/makefiles/vm.make | 2 +- >>>>> 4 files changed, 77 insertions(+), 10 deletions(-) -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20120517/70792138/attachment.html From john.coomes at oracle.com Thu May 17 20:31:26 2012 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 18 May 2012 03:31:26 +0000 Subject: hg: hsx/hotspot-main: 4 new changesets Message-ID: <20120518033126.651D1473AF@hg.openjdk.java.net> Changeset: 955a3e8ed4f0 Author: ohair Date: 2012-05-10 08:26 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/rev/955a3e8ed4f0 7167593: Changed get_source.sh to allow for getting full oracle jdk repo forest Reviewed-by: erikj, asaha, chegar, sla, dholmes, mbykov, coleenp ! get_source.sh ! make/scripts/hgforest.sh Changeset: 8a4e92c10a9a Author: ohair Date: 2012-05-11 17:52 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/rev/8a4e92c10a9a 7167976: Fix broken get_source.sh script Reviewed-by: tbell ! make/scripts/hgforest.sh Changeset: 8927dd68aee3 Author: katleman Date: 2012-05-16 22:06 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/rev/8927dd68aee3 Merge Changeset: a2b2d435f1d2 Author: katleman Date: 2012-05-17 06:20 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/rev/a2b2d435f1d2 Added tag jdk8-b39 for changeset 8927dd68aee3 ! .hgtags From john.coomes at oracle.com Thu May 17 20:31:31 2012 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 18 May 2012 03:31:31 +0000 Subject: hg: hsx/hotspot-main/corba: Added tag jdk8-b39 for changeset 785af00e2827 Message-ID: <20120518033134.1C519473B0@hg.openjdk.java.net> Changeset: 56d030e5035f Author: katleman Date: 2012-05-17 06:20 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/corba/rev/56d030e5035f Added tag jdk8-b39 for changeset 785af00e2827 ! .hgtags From john.coomes at oracle.com Thu May 17 20:31:39 2012 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 18 May 2012 03:31:39 +0000 Subject: hg: hsx/hotspot-main/jaxp: Added tag jdk8-b39 for changeset f95fdbe525c8 Message-ID: <20120518033147.87886473B1@hg.openjdk.java.net> Changeset: 9ecfdbd6aed4 Author: katleman Date: 2012-05-17 06:20 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jaxp/rev/9ecfdbd6aed4 Added tag jdk8-b39 for changeset f95fdbe525c8 ! .hgtags From john.coomes at oracle.com Thu May 17 20:31:53 2012 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 18 May 2012 03:31:53 +0000 Subject: hg: hsx/hotspot-main/jaxws: Added tag jdk8-b39 for changeset 7f6b44fd3034 Message-ID: <20120518033157.8CDC5473B2@hg.openjdk.java.net> Changeset: 09a0ddda03cb Author: katleman Date: 2012-05-17 06:20 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jaxws/rev/09a0ddda03cb Added tag jdk8-b39 for changeset 7f6b44fd3034 ! .hgtags From john.coomes at oracle.com Thu May 17 20:32:07 2012 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 18 May 2012 03:32:07 +0000 Subject: hg: hsx/hotspot-main/jdk: 4 new changesets Message-ID: <20120518033319.07B78473B3@hg.openjdk.java.net> Changeset: c2d9166f3284 Author: ihse Date: 2012-05-11 08:21 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/c2d9166f3284 7168208: Change use of @ in one sed command involving paths to different character Reviewed-by: ohair ! make/common/Release.gmk Changeset: 8d665b69ebf1 Author: mfang Date: 2012-05-15 11:46 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/8d665b69ebf1 7157855: jvisualvm.1 not included in binaries Reviewed-by: katleman, thurka ! make/common/Release.gmk Changeset: b6f529117521 Author: katleman Date: 2012-05-16 22:07 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/b6f529117521 Merge Changeset: 47cd90bf0f66 Author: katleman Date: 2012-05-17 06:20 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/47cd90bf0f66 Added tag jdk8-b39 for changeset b6f529117521 ! .hgtags From john.coomes at oracle.com Thu May 17 20:34:46 2012 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 18 May 2012 03:34:46 +0000 Subject: hg: hsx/hotspot-main/langtools: Added tag jdk8-b39 for changeset a9f547c218d9 Message-ID: <20120518033452.99A96473B4@hg.openjdk.java.net> Changeset: 8b869afd2eb4 Author: katleman Date: 2012-05-17 06:20 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/langtools/rev/8b869afd2eb4 Added tag jdk8-b39 for changeset a9f547c218d9 ! .hgtags From david.holmes at oracle.com Thu May 17 21:48:01 2012 From: david.holmes at oracle.com (David Holmes) Date: Fri, 18 May 2012 14:48:01 +1000 Subject: [PATCH 0 of 3] Add support for dtrace compatible sdt probes on GNU/Linux In-Reply-To: <4FB58E19.8070002@oracle.com> References: <4FABE435.3070101@oracle.com> <1336982811.3015.1.camel@springer.wildebeest.org> <4FB10B9E.8060500@oracle.com> <20120517192555.GB2423@toonder.wildebeest.org> <4FB58E19.8070002@oracle.com> Message-ID: <4FB5D481.2060307@oracle.com> Serguei, The patches themselves are the emails with the subjects: [PATCH 1 of 3] ... [PATCH 2 of 3] ... [PATCH 3 of 3] ... David On 18/05/2012 9:47 AM, serguei.spitsyn at oracle.com wrote: > Hi Mark, > > Where are the patches? > I do not see them in your emails. > > Thanks, > Serguei > > On 5/17/12 12:25 PM, Mark Wielaard wrote: >> On Mon, May 14, 2012 at 07:41:50AM -0600, Daniel D. Daugherty wrote: >>> On 5/14/12 2:06 AM, Mark Wielaard wrote: >>>> On Thu, 2012-05-10 at 09:52 -0600, Daniel D. Daugherty wrote: >>>>> Addingserviceability-dev at openjdk.java.net to this e-mail thread. >>>> Thanks. Please let me know if there is anything I can do to help >>>> integration of these patches, or if there are other places/people I need >>>> to add to the CC for review. >>> No problem. I was just making sure your e-mails got to the right aliases. >>> As I no longer work on the Serviceability team, I'll leave it to them to >>> address your e-mails. >> Feedback from the Serviceability team is highly appreciated. Please let >> me know how I can help getting these patches in as soon as possible. >> >> Thanks, >> >> Mark >> >>>>> On 5/10/12 7:49 AM, Mark Wielaard wrote: >>>>>> Hi, >>>>>> >>>>>> The following three patches enable support for dtrace compatible sdt probes >>>>>> on GNU/Linux. Most of the support was already submitted earlier. These are >>>>>> just the last three things left in IcedTea that actually enable it in >>>>>> hotspot. It has been in production use for some time already. >>>>>> >>>>>> The patches could be applied all as one, or individually if you want to be >>>>>> able to test them independently. >>>>>> >>>>>> The first patch is just a consistency cleanup patch. The JNI Set and >>>>>> SetStatic Field methods used HS_DTRACE_PROBE_CDECL_N and HS_DTRACE_PROBE_N >>>>>> directly instead of just using DTRACE_PROBE[N] like all other JNI methods. >>>>>> This doesn't matter for the Solaris macros, but on GNU/Linux the macros >>>>>> don't use direct function declarations (which is introduced in the second >>>>>> patch). >>>>>> >>>>>> The second patch introduces the DTRACE macros for use with the GNU/Linux >>>>>> SystemTap provided sys/sdt.h. Like Solaris this uses USDT1, but using >>>>>> macros instead of function declaractions. So it just adds a check for >>>>>> whether USDT1 is used with SOLARIS (HS_DTRACE_WORKAROUND_TAIL_CALL_BUG >>>>>> is only needed there) and defines HS_DTRACE_PROBE[N] for the LINUX case. >>>>>> >>>>>> The last patch enables the support in the build. I took the approach >>>>>> used in the make/solaris/dtrace.make and vm.make file with a test to >>>>>> see whether sys/sdt.h is available or not and printing a notice when >>>>>> they are not found. In IcedTea there is a more elaborate configure >>>>>> check to see if a small C++ program can be build with DTRACE probes >>>>>> in it, but that looked like overkill here. >>>>>> >>>>>> Patches in separate emails. >>>>>> >>>>>> Cheers, >>>>>> >>>>>> Mark >>>>>> >>>>>> The second patch adds the actual >>>>>> src/share/vm/prims/jni.cpp | 11 ++------ >>>>>> src/share/vm/utilities/dtrace.hpp | 50 ++++++++++++++++++++++++++++++++++++++- >>>>>> make/linux/makefiles/dtrace.make | 24 ++++++++++++++++++ >>>>>> make/linux/makefiles/vm.make | 2 +- >>>>>> 4 files changed, 77 insertions(+), 10 deletions(-) > From serguei.spitsyn at oracle.com Thu May 17 23:30:53 2012 From: serguei.spitsyn at oracle.com (serguei.spitsyn at oracle.com) Date: Thu, 17 May 2012 23:30:53 -0700 Subject: [PATCH 0 of 3] Add support for dtrace compatible sdt probes on GNU/Linux In-Reply-To: <4FB5D481.2060307@oracle.com> References: <4FABE435.3070101@oracle.com> <1336982811.3015.1.camel@springer.wildebeest.org> <4FB10B9E.8060500@oracle.com> <20120517192555.GB2423@toonder.wildebeest.org> <4FB58E19.8070002@oracle.com> <4FB5D481.2060307@oracle.com> Message-ID: <4FB5EC9D.10302@oracle.com> David, I've found these emails, they somehow got to the trash folder - very strange. Thanks! Serguei On 5/17/12 9:48 PM, David Holmes wrote: > Serguei, > > The patches themselves are the emails with the subjects: > > [PATCH 1 of 3] ... > [PATCH 2 of 3] ... > [PATCH 3 of 3] ... > > David > > On 18/05/2012 9:47 AM, serguei.spitsyn at oracle.com wrote: >> Hi Mark, >> >> Where are the patches? >> I do not see them in your emails. >> >> Thanks, >> Serguei >> >> On 5/17/12 12:25 PM, Mark Wielaard wrote: >>> On Mon, May 14, 2012 at 07:41:50AM -0600, Daniel D. Daugherty wrote: >>>> On 5/14/12 2:06 AM, Mark Wielaard wrote: >>>>> On Thu, 2012-05-10 at 09:52 -0600, Daniel D. Daugherty wrote: >>>>>> Addingserviceability-dev at openjdk.java.net to this e-mail thread. >>>>> Thanks. Please let me know if there is anything I can do to help >>>>> integration of these patches, or if there are other places/people >>>>> I need >>>>> to add to the CC for review. >>>> No problem. I was just making sure your e-mails got to the right >>>> aliases. >>>> As I no longer work on the Serviceability team, I'll leave it to >>>> them to >>>> address your e-mails. >>> Feedback from the Serviceability team is highly appreciated. Please let >>> me know how I can help getting these patches in as soon as possible. >>> >>> Thanks, >>> >>> Mark >>> >>>>>> On 5/10/12 7:49 AM, Mark Wielaard wrote: >>>>>>> Hi, >>>>>>> >>>>>>> The following three patches enable support for dtrace compatible >>>>>>> sdt probes >>>>>>> on GNU/Linux. Most of the support was already submitted earlier. >>>>>>> These are >>>>>>> just the last three things left in IcedTea that actually enable >>>>>>> it in >>>>>>> hotspot. It has been in production use for some time already. >>>>>>> >>>>>>> The patches could be applied all as one, or individually if you >>>>>>> want to be >>>>>>> able to test them independently. >>>>>>> >>>>>>> The first patch is just a consistency cleanup patch. The JNI Set >>>>>>> and >>>>>>> SetStatic Field methods used HS_DTRACE_PROBE_CDECL_N and >>>>>>> HS_DTRACE_PROBE_N >>>>>>> directly instead of just using DTRACE_PROBE[N] like all other >>>>>>> JNI methods. >>>>>>> This doesn't matter for the Solaris macros, but on GNU/Linux the >>>>>>> macros >>>>>>> don't use direct function declarations (which is introduced in >>>>>>> the second >>>>>>> patch). >>>>>>> >>>>>>> The second patch introduces the DTRACE macros for use with the >>>>>>> GNU/Linux >>>>>>> SystemTap provided sys/sdt.h. Like Solaris this uses USDT1, but >>>>>>> using >>>>>>> macros instead of function declaractions. So it just adds a >>>>>>> check for >>>>>>> whether USDT1 is used with SOLARIS >>>>>>> (HS_DTRACE_WORKAROUND_TAIL_CALL_BUG >>>>>>> is only needed there) and defines HS_DTRACE_PROBE[N] for the >>>>>>> LINUX case. >>>>>>> >>>>>>> The last patch enables the support in the build. I took the >>>>>>> approach >>>>>>> used in the make/solaris/dtrace.make and vm.make file with a >>>>>>> test to >>>>>>> see whether sys/sdt.h is available or not and printing a notice >>>>>>> when >>>>>>> they are not found. In IcedTea there is a more elaborate configure >>>>>>> check to see if a small C++ program can be build with DTRACE probes >>>>>>> in it, but that looked like overkill here. >>>>>>> >>>>>>> Patches in separate emails. >>>>>>> >>>>>>> Cheers, >>>>>>> >>>>>>> Mark >>>>>>> >>>>>>> The second patch adds the actual >>>>>>> src/share/vm/prims/jni.cpp | 11 ++------ >>>>>>> src/share/vm/utilities/dtrace.hpp | 50 >>>>>>> ++++++++++++++++++++++++++++++++++++++- >>>>>>> make/linux/makefiles/dtrace.make | 24 ++++++++++++++++++ >>>>>>> make/linux/makefiles/vm.make | 2 +- >>>>>>> 4 files changed, 77 insertions(+), 10 deletions(-) >> -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20120517/ce46a902/attachment.html From fweimer at redhat.com Fri May 18 00:49:14 2012 From: fweimer at redhat.com (Florian Weimer) Date: Fri, 18 May 2012 09:49:14 +0200 Subject: Always enforce ACC_SUPER Message-ID: <4FB5FEFA.5010509@redhat.com> It has been observed that the easy way of creating non-cloneable classes does not work because classes can opt out of the ACC_SUPER handling: I don't think this is desirable, so I propose a patch to treat all classes as if they have ACC_SUPER set. A new product flag is introduced, ForceAccSuper, which defaults to true. Disabling it preserves the old behavior. I think that assuming the presence of ACC_SUPER rather than rejecting classes without it completely is safer because non-javac bytecode generators might forget to set ACC_SUPER. The patch is against the Hotspot in OpenJDK 7u4, but it should apply to other versions as well. It has been tested only lightly (on 7u4 and 8). I have got a test case, but it uses ASM because to my knowledge, no released javac version has produced classes without ACC_SUPER (and I need to replace a type name, too). Should I include the class file contents as a string constant? Then the ASM dependency can go away. Florian -- Florian Weimer / Red Hat Product Security Team -------------- next part -------------- A non-text attachment was scrubbed... Name: jdk7u4.diff Type: text/x-patch Size: 1612 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20120518/88009eca/jdk7u4.diff From keith.mcguigan at oracle.com Fri May 18 05:44:10 2012 From: keith.mcguigan at oracle.com (Keith McGuigan) Date: Fri, 18 May 2012 08:44:10 -0400 Subject: Always enforce ACC_SUPER In-Reply-To: <4FB5FEFA.5010509@redhat.com> References: <4FB5FEFA.5010509@redhat.com> Message-ID: <4FB6441A.60709@oracle.com> Hi Florian - I haven't investigated (maybe you have), but does the JVMS allow this sort of behavior? If it does (and if it doesn't, then that's the place to start), might it make sense to limit setting this flag implicitly to newer versions of classfiles (say >=51), or only to classes which have an ACC_SUPER set in their set of non-Object superclasses, or something like that? Seems like we should have something in place to mitigate any backward-compatibility concerns in order to go forward with this. (But pretty ACC_SUPER ignorant -- maybe there is no concern at all?) -- - Keith On 5/18/2012 3:49 AM, Florian Weimer wrote: > It has been observed that the easy way of creating non-cloneable classes > does not work because classes can opt out of the ACC_SUPER handling: > > > > > I don't think this is desirable, so I propose a patch to treat all > classes as if they have ACC_SUPER set. A new product flag is introduced, > ForceAccSuper, which defaults to true. Disabling it preserves the old > behavior. I think that assuming the presence of ACC_SUPER rather than > rejecting classes without it completely is safer because non-javac > bytecode generators might forget to set ACC_SUPER. > > The patch is against the Hotspot in OpenJDK 7u4, but it should apply to > other versions as well. It has been tested only lightly (on 7u4 and 8). > > I have got a test case, but it uses ASM because to my knowledge, no > released javac version has produced classes without ACC_SUPER (and I > need to replace a type name, too). Should I include the class file > contents as a string constant? Then the ASM dependency can go away. > > Florian From fweimer at redhat.com Fri May 18 06:32:03 2012 From: fweimer at redhat.com (Florian Weimer) Date: Fri, 18 May 2012 15:32:03 +0200 Subject: Always enforce ACC_SUPER In-Reply-To: <4FB6441A.60709@oracle.com> References: <4FB5FEFA.5010509@redhat.com> <4FB6441A.60709@oracle.com> Message-ID: <4FB64F53.7030303@redhat.com> On 05/18/2012 02:44 PM, Keith McGuigan wrote: > I haven't investigated (maybe you have), but does the JVMS allow this > sort of behavior? I'm not sure. It probably doesn't. This part of the JVMS is for compatibility with pre-1.0.2 implementations, and 1.0.2 was the first publicly released version. So I hope that this deviation is acceptable. > If it does (and if it doesn't, then that's the place > to start), might it make sense to limit setting this flag implicitly to > newer versions of classfiles (say >=51), or only to classes which have > an ACC_SUPER set in their set of non-Object superclasses, or something > like that? Seems like we should have something in place to mitigate any > backward-compatibility concerns in order to go forward with this. Unfortunately, we have to make this change in a way such that classes can't opt out of it. Otherwise, it will not have any affect. -- Florian Weimer / Red Hat Product Security Team From forax at univ-mlv.fr Fri May 18 06:51:20 2012 From: forax at univ-mlv.fr (=?ISO-8859-1?Q?R=E9mi_Forax?=) Date: Fri, 18 May 2012 15:51:20 +0200 Subject: Always enforce ACC_SUPER In-Reply-To: <4FB64F53.7030303@redhat.com> References: <4FB5FEFA.5010509@redhat.com> <4FB6441A.60709@oracle.com> <4FB64F53.7030303@redhat.com> Message-ID: <4FB653D8.60704@univ-mlv.fr> I don't think you can change this without changing the JVM spec, because the behavior of a class without ACC_SUPER is clearly defined. R?mi On 05/18/2012 03:32 PM, Florian Weimer wrote: > On 05/18/2012 02:44 PM, Keith McGuigan wrote: >> I haven't investigated (maybe you have), but does the JVMS allow this >> sort of behavior? > > I'm not sure. It probably doesn't. This part of the JVMS is for > compatibility with pre-1.0.2 implementations, and 1.0.2 was the first > publicly released version. So I hope that this deviation is acceptable. > >> If it does (and if it doesn't, then that's the place >> to start), might it make sense to limit setting this flag implicitly to >> newer versions of classfiles (say >=51), or only to classes which have >> an ACC_SUPER set in their set of non-Object superclasses, or something >> like that? Seems like we should have something in place to mitigate any >> backward-compatibility concerns in order to go forward with this. > > Unfortunately, we have to make this change in a way such that classes > can't opt out of it. Otherwise, it will not have any affect. > From miguelalfredo.garcia at epfl.ch Fri May 18 08:47:44 2012 From: miguelalfredo.garcia at epfl.ch (Garcia Gutierrez Miguel Alfredo) Date: Fri, 18 May 2012 15:47:44 +0000 Subject: deeply nested MethodHandles, performance? Message-ID: <7E4228B446372948BBB2916FC53FA49E235E94D5@REXMB.intranet.epfl.ch> Hi, I've been experimenting with MethodHandles for runtime code generation [1] by combining MHs as one would build an AST, e.g. using the "application" combinator : public static MethodHandle application(MethodHandle target, MethodHandle[] args) { MethodHandle[] invokers = new MethodHandle[args.length]; for(int idx = 0; idx < args.length; idx++) { invokers[idx] = exactInvoker(args[idx].type()); } MethodHandle applied = filterArguments(target, 0, invokers); for(int idx = 0; idx < args.length; idx++) { applied = applied.bindTo(args[idx]); } return applied; } Similarly for "assignment", "block expression", and the rest of control flow. With those building blocks, one can generate, say, a loop to add all numbers in an array [2] (which might not be the most efficient way to compute a sum-total) but which begs the question: How much of simplification can HotSpot perform on those MH trees ? Miguel http://lampwww.epfl.ch/~magarcia/ScalaCompilerCornerReloaded References ---------- [1] http://lamp.epfl.ch/~magarcia/ScalaCompilerCornerReloaded/2012Q2/RuntimeMP.pdf [2] https://github.com/magarciaEPFL/MethodHandleUtils/blob/master/src/bt4/SummingUp.java -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20120518/619259c6/attachment.html From john.coomes at oracle.com Fri May 18 12:32:55 2012 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 18 May 2012 19:32:55 +0000 Subject: hg: hsx/hotspot-main/hotspot: 7 new changesets Message-ID: <20120518193313.8137E473EC@hg.openjdk.java.net> Changeset: 3a22b77e755a Author: brutisso Date: 2012-05-14 17:32 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/3a22b77e755a 7161545: G1: Minor cleanups to the G1 logging Summary: Rename "to-space-overflow" to "to-space-exhausted", Introduce one decimal point in the size format, Add Sum to the aggregate and re-order the entries, Add number of GC workers to the log output Reviewed-by: johnc, jwilhelm ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp ! src/share/vm/utilities/globalDefinitions.hpp Changeset: 78a1b285cda8 Author: mikael Date: 2012-05-15 00:56 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/78a1b285cda8 7158457: division by zero in adaptiveweightedaverage Summary: Add ceiling to AdaptiveWeightedAverage Reviewed-by: ysr, iveresov ! src/share/vm/gc_implementation/shared/gcUtil.cpp ! src/share/vm/gc_implementation/shared/gcUtil.hpp Changeset: 33e366609904 Author: johnc Date: 2012-05-14 21:07 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/33e366609904 Merge Changeset: 1096fc5a52eb Author: johnc Date: 2012-05-15 09:49 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/1096fc5a52eb 7168294: G1: Some Full GCs incorrectly report GC cause as "No GC" Summary: GC cause was not being set by the VM_G1CollectForAllocation VM operation. Reviewed-by: jmasa, ysr, brutisso ! src/share/vm/gc_implementation/g1/vm_operations_g1.cpp Changeset: cdfa5139bd58 Author: brutisso Date: 2012-05-15 22:26 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/cdfa5139bd58 7169056: Add gigabyte unit to proper_unit_for_byte_size() and byte_size_in_proper_unit() Reviewed-by: jwilhelm, johnc, dholmes ! src/share/vm/utilities/globalDefinitions.hpp Changeset: 9d679effd28c Author: brutisso Date: 2012-05-15 10:25 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/9d679effd28c 7166894: Add gc cause to GC logging for all collectors Reviewed-by: mgerdin, johnc ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/vmCMSOperations.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp ! src/share/vm/gc_implementation/parNew/parNewGeneration.cpp ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp ! src/share/vm/gc_interface/gcCause.hpp ! src/share/vm/memory/defNewGeneration.cpp ! src/share/vm/memory/genCollectedHeap.cpp ! src/share/vm/memory/genMarkSweep.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/java.hpp Changeset: cdeda3fd141e Author: jcoomes Date: 2012-05-18 10:27 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/cdeda3fd141e Merge ! src/share/vm/runtime/arguments.cpp From alejandro.murillo at oracle.com Fri May 18 14:32:45 2012 From: alejandro.murillo at oracle.com (alejandro.murillo at oracle.com) Date: Fri, 18 May 2012 21:32:45 +0000 Subject: hg: hsx/hsx23.2/hotspot: Added tag hs23.2-b02 for changeset b7ae1ee1d2e4 Message-ID: <20120518213247.D7006473F1@hg.openjdk.java.net> Changeset: 7eeb0ec83cd7 Author: amurillo Date: 2012-05-18 11:17 -0700 URL: http://hg.openjdk.java.net/hsx/hsx23.2/hotspot/rev/7eeb0ec83cd7 Added tag hs23.2-b02 for changeset b7ae1ee1d2e4 ! .hgtags From alejandro.murillo at oracle.com Fri May 18 18:35:01 2012 From: alejandro.murillo at oracle.com (alejandro.murillo at oracle.com) Date: Sat, 19 May 2012 01:35:01 +0000 Subject: hg: hsx/hsx24/hotspot: 15 new changesets Message-ID: <20120519013534.AE53F473FE@hg.openjdk.java.net> Changeset: 26423ef693ac Author: katleman Date: 2012-05-17 06:20 -0700 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/26423ef693ac Added tag jdk8-b39 for changeset 96a403721094 ! .hgtags Changeset: 56d1af561395 Author: amurillo Date: 2012-05-11 14:54 -0700 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/56d1af561395 7168247: new hotspot build - hs24-b11 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 35e504cb49a6 Author: collins Date: 2012-05-11 11:30 -0700 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/35e504cb49a6 7167625: Adjustments for SE-Embedded build process Summary: Simple change to the SE-Embedded build rules that should not affect any other OpenJDK users. Reviewed-by: kvn, dholmes ! make/linux/makefiles/vm.make ! src/share/vm/runtime/arguments.cpp Changeset: fada85d11d92 Author: jprovino Date: 2012-05-16 13:33 -0400 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/fada85d11d92 Merge Changeset: 8f972594effc Author: kvn Date: 2012-05-14 09:36 -0700 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/8f972594effc 6924259: Remove String.count/String.offset Summary: Allow a version of String class that doesn't have count and offset fields. Reviewed-by: never, coleenp ! src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp ! src/cpu/x86/vm/c1_LIRAssembler_x86.cpp ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/memory/dump.cpp ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/graphKit.hpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/opto/stringopts.cpp ! src/share/vm/opto/stringopts.hpp Changeset: de0cc3dd9f10 Author: kvn Date: 2012-05-17 09:50 -0700 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/de0cc3dd9f10 Merge Changeset: 3a22b77e755a Author: brutisso Date: 2012-05-14 17:32 +0200 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/3a22b77e755a 7161545: G1: Minor cleanups to the G1 logging Summary: Rename "to-space-overflow" to "to-space-exhausted", Introduce one decimal point in the size format, Add Sum to the aggregate and re-order the entries, Add number of GC workers to the log output Reviewed-by: johnc, jwilhelm ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp ! src/share/vm/utilities/globalDefinitions.hpp Changeset: 78a1b285cda8 Author: mikael Date: 2012-05-15 00:56 +0200 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/78a1b285cda8 7158457: division by zero in adaptiveweightedaverage Summary: Add ceiling to AdaptiveWeightedAverage Reviewed-by: ysr, iveresov ! src/share/vm/gc_implementation/shared/gcUtil.cpp ! src/share/vm/gc_implementation/shared/gcUtil.hpp Changeset: 33e366609904 Author: johnc Date: 2012-05-14 21:07 -0700 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/33e366609904 Merge Changeset: 1096fc5a52eb Author: johnc Date: 2012-05-15 09:49 -0700 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/1096fc5a52eb 7168294: G1: Some Full GCs incorrectly report GC cause as "No GC" Summary: GC cause was not being set by the VM_G1CollectForAllocation VM operation. Reviewed-by: jmasa, ysr, brutisso ! src/share/vm/gc_implementation/g1/vm_operations_g1.cpp Changeset: cdfa5139bd58 Author: brutisso Date: 2012-05-15 22:26 +0200 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/cdfa5139bd58 7169056: Add gigabyte unit to proper_unit_for_byte_size() and byte_size_in_proper_unit() Reviewed-by: jwilhelm, johnc, dholmes ! src/share/vm/utilities/globalDefinitions.hpp Changeset: 9d679effd28c Author: brutisso Date: 2012-05-15 10:25 +0200 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/9d679effd28c 7166894: Add gc cause to GC logging for all collectors Reviewed-by: mgerdin, johnc ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/vmCMSOperations.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp ! src/share/vm/gc_implementation/parNew/parNewGeneration.cpp ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp ! src/share/vm/gc_interface/gcCause.hpp ! src/share/vm/memory/defNewGeneration.cpp ! src/share/vm/memory/genCollectedHeap.cpp ! src/share/vm/memory/genMarkSweep.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/java.hpp Changeset: cdeda3fd141e Author: jcoomes Date: 2012-05-18 10:27 -0700 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/cdeda3fd141e Merge ! src/share/vm/runtime/arguments.cpp Changeset: 14b0e07ab9a6 Author: amurillo Date: 2012-05-18 14:50 -0700 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/14b0e07ab9a6 Merge Changeset: ff9decc8235d Author: amurillo Date: 2012-05-18 14:50 -0700 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/ff9decc8235d Added tag hs24-b11 for changeset 14b0e07ab9a6 ! .hgtags From alejandro.murillo at oracle.com Fri May 18 21:05:05 2012 From: alejandro.murillo at oracle.com (alejandro.murillo at oracle.com) Date: Sat, 19 May 2012 04:05:05 +0000 Subject: hg: hsx/hsx23.2/hotspot: 7170009: new hotspot build - hs23.2-b03 Message-ID: <20120519040507.7A08A473FF@hg.openjdk.java.net> Changeset: c7a2af36ee59 Author: amurillo Date: 2012-05-18 12:23 -0700 URL: http://hg.openjdk.java.net/hsx/hsx23.2/hotspot/rev/c7a2af36ee59 7170009: new hotspot build - hs23.2-b03 Reviewed-by: jcoomes ! make/hotspot_version From alejandro.murillo at oracle.com Fri May 18 23:18:36 2012 From: alejandro.murillo at oracle.com (alejandro.murillo at oracle.com) Date: Sat, 19 May 2012 06:18:36 +0000 Subject: hg: hsx/hotspot-main/hotspot: 4 new changesets Message-ID: <20120519061845.0AEE747402@hg.openjdk.java.net> Changeset: 26423ef693ac Author: katleman Date: 2012-05-17 06:20 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/26423ef693ac Added tag jdk8-b39 for changeset 96a403721094 ! .hgtags Changeset: 14b0e07ab9a6 Author: amurillo Date: 2012-05-18 14:50 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/14b0e07ab9a6 Merge Changeset: ff9decc8235d Author: amurillo Date: 2012-05-18 14:50 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/ff9decc8235d Added tag hs24-b11 for changeset 14b0e07ab9a6 ! .hgtags Changeset: 03d61caacd1e Author: amurillo Date: 2012-05-18 14:57 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/03d61caacd1e 7170006: new hotspot build - hs24-b12 Reviewed-by: jcoomes ! make/hotspot_version From mjw at redhat.com Mon May 21 02:28:42 2012 From: mjw at redhat.com (Mark Wielaard) Date: Mon, 21 May 2012 11:28:42 +0200 Subject: [PATCH 0 of 3] Add support for dtrace compatible sdt probes on GNU/Linux In-Reply-To: <4FB5EC9D.10302@oracle.com> References: <4FABE435.3070101@oracle.com> <1336982811.3015.1.camel@springer.wildebeest.org> <4FB10B9E.8060500@oracle.com> <20120517192555.GB2423@toonder.wildebeest.org> <4FB58E19.8070002@oracle.com> <4FB5D481.2060307@oracle.com> <4FB5EC9D.10302@oracle.com> Message-ID: <1337592522.3408.16.camel@springer.wildebeest.org> On Thu, 2012-05-17 at 23:30 -0700, serguei.spitsyn at oracle.com wrote: > On 18/05/2012 9:47 AM, serguei.spitsyn at oracle.com wrote: > On 5/17/12 9:48 PM, David Holmes wrote: > > > Where are the patches? > > > I do not see them in your emails. > > > > > The patches themselves are the emails with the subjects: > > > > [PATCH 1 of 3] ... > > [PATCH 2 of 3] ... > > [PATCH 3 of 3] ... > > > I've found these emails, they somehow got to the trash folder - very > strange. Apologies. That is how hg email sends them. I have a local mercurial repository that contain the patches. Maybe your spam filter caught it because all subjects start with XXXXXX as placeholder because I don't have official bug numbers for them. If you could create the bugs and/or let me know if you rather see these patches split up differently (or not split up at all), please let me know and I rebase my patches and resend them. > > > On 5/17/12 12:25 PM, Mark Wielaard wrote: > > > > On Mon, May 14, 2012 at 07:41:50AM -0600, Daniel D. Daugherty > > > > wrote: > > > > > On 5/14/12 2:06 AM, Mark Wielaard wrote: > > > > > > On Thu, 2012-05-10 at 09:52 -0600, Daniel D. Daugherty > > > > > > wrote: > > > > > > > Addingserviceability-dev at openjdk.java.net to this e-mail > > > > > > > thread. > > > > > > Thanks. Please let me know if there is anything I can do to > > > > > > help > > > > > > integration of these patches, or if there are other > > > > > > places/people I need > > > > > > to add to the CC for review. > > > > > No problem. I was just making sure your e-mails got to the > > > > > right aliases. > > > > > As I no longer work on the Serviceability team, I'll leave it > > > > > to them to > > > > > address your e-mails. > > > > Feedback from the Serviceability team is highly appreciated. > > > > Please let > > > > me know how I can help getting these patches in as soon as > > > > possible. > > > > > > > On 5/10/12 7:49 AM, Mark Wielaard wrote: > > > > > > > > The following three patches enable support for dtrace > > > > > > > > compatible sdt probes > > > > > > > > on GNU/Linux. Most of the support was already submitted > > > > > > > > earlier. These are > > > > > > > > just the last three things left in IcedTea that actually > > > > > > > > enable it in > > > > > > > > hotspot. It has been in production use for some time > > > > > > > > already. > > > > > > > > > > > > > > > > The patches could be applied all as one, or individually > > > > > > > > if you want to be > > > > > > > > able to test them independently. > > > > > > [... explanation of separate patches removed ...] > > > > > > > > Patches in separate emails. From staffan.larsen at oracle.com Mon May 21 09:54:57 2012 From: staffan.larsen at oracle.com (staffan.larsen at oracle.com) Date: Mon, 21 May 2012 16:54:57 +0000 Subject: hg: hsx/hsx23.2/hotspot: 7165755: OS Information much longer on linux than other platforms Message-ID: <20120521165501.D7C6547445@hg.openjdk.java.net> Changeset: 8a074526ffca Author: nloodin Date: 2012-05-10 15:44 +0200 URL: http://hg.openjdk.java.net/hsx/hsx23.2/hotspot/rev/8a074526ffca 7165755: OS Information much longer on linux than other platforms Reviewed-by: sla, dholmes ! src/os/bsd/vm/os_bsd.cpp ! src/os/linux/vm/os_linux.cpp ! src/os/linux/vm/os_linux.hpp ! src/os/posix/vm/os_posix.cpp + src/os/posix/vm/os_posix.hpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/solaris/vm/os_solaris.hpp ! src/os/windows/vm/os_windows.cpp ! src/os/windows/vm/os_windows.hpp ! src/share/vm/runtime/os.hpp From staffan.larsen at oracle.com Mon May 21 10:07:03 2012 From: staffan.larsen at oracle.com (Staffan Larsen) Date: Mon, 21 May 2012 19:07:03 +0200 Subject: RFR (L): Adding core file parsing on Mac OS X to SA In-Reply-To: <6D712B96-F212-4337-BD61-AFB22ECDB0CB@oracle.com> References: <06CFCD3A-A8F4-4FDE-B8CD-D201C892AA30@oracle.com> <4FA90D25.8010000@oracle.com> <6D712B96-F212-4337-BD61-AFB22ECDB0CB@oracle.com> Message-ID: <2451199D-2FA1-432D-A37B-F007293FD724@oracle.com> I'm looking for a Reviewer for the change detailed below. I've added the hotspot-dev alias to the request. For the discussion so far see: http://mail.openjdk.java.net/pipermail/serviceability-dev/2012-May/005979.html Short version: Add core file parsing to SA on Mac OS X by incorporating the KJDB tool developed by Kevin Walls. Please let me know if you can review the code. It's quite a bit of code. Both myself and Kevin can answer questions on the code. Thanks, /Staffan On 8 maj 2012, at 19:20, Staffan Larsen wrote: > Here are some late breaking additions that Kevin sent me. These are only changes to the kjdb core. > > Full webrev: http://cr.openjdk.java.net/~sla/kjdb/webrev.02/ > Difference from the last webrev: http://cr.openjdk.java.net/~sla/kjdb/webrev.02-delta/ > > And I should add credit where credit is due. The kjdb implementation is all Kevin Walls' great work. Integration in SA and tests are my work. Any errors are of course my fault as well. > > Thanks, > /Staffan > > On 8 maj 2012, at 14:10, Kevin Walls wrote: > >> >> Hi - >> >> Just a note that I'd like to contribute a cleaner way for the Debugger and Process classes here to load a core file, which I hadn't yet handed over. I'll have that ready shortly... >> >> Thanks >> Kevin >> >> On 08/05/12 12:11, Staffan Larsen wrote: >>> The Serviceability Agent currently has an outage on Mac OS X compared to other platforms in that we cannot read core files. We plan to address this for 7u6 by incorporating code from a separate tool called "kjdb" developed at Oracle. Kjdb is a cross-platform core-file debugger written completely in Java that currently works on ELF (solaris, linux) and Mach-O (mac) core files. Since it is written in Java it can read core files from a different system than the system you are running kjdb on, which is very useful. >>> >>> The alternative to incorporating the kjdb technology would have been to implement this in C as is done for the other platforms, but reusing existing code saves us some trouble. The kjdb debugger backend will automatically be enabled when you are opening a Mach-O core file (or if you explicitly set the -Duse.kjdb property when starting SA). >>> >>> The risks with this is that this is a large addition of relatively new code to SA (around 100 files). It also means that debugging a live process or a core file on OS X will use different debugger backends which may have different behavior and bugs. >>> >>> This change also adds a basic test that creates a core file and uses SA to print the thread dumps in the core. This test runs on all platforms, not just Mac OS X. Other than that test, some level of manual testing has been done with various core files. >>> >>> Please see the webrev at: http://cr.openjdk.java.net/~sla/kjdb/webrev.01/ >>> >>> There are quite a number of added files in this webrev, so it's probably best to concentrate on the changes in the existing files. >>> >>> Thanks, >>> /Staffan >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20120521/73dc7fcf/attachment.html From vladimir.kozlov at oracle.com Mon May 21 19:39:50 2012 From: vladimir.kozlov at oracle.com (vladimir.kozlov at oracle.com) Date: Tue, 22 May 2012 02:39:50 +0000 Subject: hg: hsx/hsx23.2/hotspot: 7157141: crash in 64 bit with corrupted oops Message-ID: <20120522023953.2ABFB47450@hg.openjdk.java.net> Changeset: 3b1b50b3ad62 Author: never Date: 2012-04-02 16:05 -0700 URL: http://hg.openjdk.java.net/hsx/hsx23.2/hotspot/rev/3b1b50b3ad62 7157141: crash in 64 bit with corrupted oops Reviewed-by: kvn, iveresov ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/x86_64.ad ! src/share/vm/memory/barrierSet.hpp ! src/share/vm/memory/cardTableModRefBS.cpp ! src/share/vm/memory/cardTableModRefBS.hpp ! src/share/vm/utilities/vmError.cpp From serguei.spitsyn at oracle.com Mon May 21 20:28:01 2012 From: serguei.spitsyn at oracle.com (serguei.spitsyn at oracle.com) Date: Mon, 21 May 2012 20:28:01 -0700 Subject: [PATCH 0 of 3] Add support for dtrace compatible sdt probes on GNU/Linux In-Reply-To: <1337592522.3408.16.camel@springer.wildebeest.org> References: <4FABE435.3070101@oracle.com> <1336982811.3015.1.camel@springer.wildebeest.org> <4FB10B9E.8060500@oracle.com> <20120517192555.GB2423@toonder.wildebeest.org> <4FB58E19.8070002@oracle.com> <4FB5D481.2060307@oracle.com> <4FB5EC9D.10302@oracle.com> <1337592522.3408.16.camel@springer.wildebeest.org> Message-ID: <4FBB07C1.8000302@oracle.com> Mark, I've created new RFE: 7170638: enable support for dtrace compatible sdt probes on GNU/Linux The patches look good. But I think, it is better to be reviewed by Keith McGuigan, who originally added DTrace probes to HotSpot. Also, let's check if we have to submit a CCC request for this. Keith, do you have cycles to review the patches from Mark? I've included them into the bug report. Thanks, Serguei On 5/21/12 2:28 AM, Mark Wielaard wrote: > On Thu, 2012-05-17 at 23:30 -0700, serguei.spitsyn at oracle.com wrote: >> On 18/05/2012 9:47 AM, serguei.spitsyn at oracle.com wrote: >> On 5/17/12 9:48 PM, David Holmes wrote: >>>> Where are the patches? >>>> I do not see them in your emails. >>>> >>> The patches themselves are the emails with the subjects: >>> >>> [PATCH 1 of 3] ... >>> [PATCH 2 of 3] ... >>> [PATCH 3 of 3] ... >>> >> I've found these emails, they somehow got to the trash folder - very >> strange. > Apologies. That is how hg email sends them. I have a local mercurial > repository that contain the patches. Maybe your spam filter caught it > because all subjects start with XXXXXX as placeholder because I don't > have official bug numbers for them. If you could create the bugs and/or > let me know if you rather see these patches split up differently (or not > split up at all), please let me know and I rebase my patches and resend > them. > >>>> On 5/17/12 12:25 PM, Mark Wielaard wrote: >>>>> On Mon, May 14, 2012 at 07:41:50AM -0600, Daniel D. Daugherty >>>>> wrote: >>>>>> On 5/14/12 2:06 AM, Mark Wielaard wrote: >>>>>>> On Thu, 2012-05-10 at 09:52 -0600, Daniel D. Daugherty >>>>>>> wrote: >>>>>>>> Addingserviceability-dev at openjdk.java.net to this e-mail >>>>>>>> thread. >>>>>>> Thanks. Please let me know if there is anything I can do to >>>>>>> help >>>>>>> integration of these patches, or if there are other >>>>>>> places/people I need >>>>>>> to add to the CC for review. >>>>>> No problem. I was just making sure your e-mails got to the >>>>>> right aliases. >>>>>> As I no longer work on the Serviceability team, I'll leave it >>>>>> to them to >>>>>> address your e-mails. >>>>> Feedback from the Serviceability team is highly appreciated. >>>>> Please let >>>>> me know how I can help getting these patches in as soon as >>>>> possible. >>>>>>>> On 5/10/12 7:49 AM, Mark Wielaard wrote: >>>>>>>>> The following three patches enable support for dtrace >>>>>>>>> compatible sdt probes >>>>>>>>> on GNU/Linux. Most of the support was already submitted >>>>>>>>> earlier. These are >>>>>>>>> just the last three things left in IcedTea that actually >>>>>>>>> enable it in >>>>>>>>> hotspot. It has been in production use for some time >>>>>>>>> already. >>>>>>>>> >>>>>>>>> The patches could be applied all as one, or individually >>>>>>>>> if you want to be >>>>>>>>> able to test them independently. >>>>>>> [... explanation of separate patches removed ...] >>>>>>>>> Patches in separate emails. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20120521/e75ebb44/attachment.html From david.holmes at oracle.com Mon May 21 21:27:14 2012 From: david.holmes at oracle.com (David Holmes) Date: Tue, 22 May 2012 14:27:14 +1000 Subject: [PATCH 0 of 3] Add support for dtrace compatible sdt probes on GNU/Linux In-Reply-To: <4FBB07C1.8000302@oracle.com> References: <4FABE435.3070101@oracle.com> <1336982811.3015.1.camel@springer.wildebeest.org> <4FB10B9E.8060500@oracle.com> <20120517192555.GB2423@toonder.wildebeest.org> <4FB58E19.8070002@oracle.com> <4FB5D481.2060307@oracle.com> <4FB5EC9D.10302@oracle.com> <1337592522.3408.16.camel@springer.wildebeest.org> <4FBB07C1.8000302@oracle.com> Message-ID: <4FBB15A2.7090808@oracle.com> Is systemTap part of regular distros these days - in particular in our build environment? I'm just wondering who is going to ensure that these probe entries compile and run correctly? Can we see a complete webrev of the proposed changes? Thanks, David On 22/05/2012 1:28 PM, serguei.spitsyn at oracle.com wrote: > Mark, > > I've created new RFE: > 7170638: enable support for dtrace compatible sdt probes on GNU/Linux > > The patches look good. > But I think, it is better to be reviewed by Keith McGuigan, who > originally added DTrace probes to HotSpot. > Also, let's check if we have to submit a CCC request for this. > > Keith, do you have cycles to review the patches from Mark? > I've included them into the bug report. > > Thanks, > Serguei > > > On 5/21/12 2:28 AM, Mark Wielaard wrote: >> On Thu, 2012-05-17 at 23:30 -0700,serguei.spitsyn at oracle.com wrote: >>> On 18/05/2012 9:47 AM,serguei.spitsyn at oracle.com wrote: >>> On 5/17/12 9:48 PM, David Holmes wrote: >>>>> Where are the patches? >>>>> I do not see them in your emails. >>>>> >>>> The patches themselves are the emails with the subjects: >>>> >>>> [PATCH 1 of 3] ... >>>> [PATCH 2 of 3] ... >>>> [PATCH 3 of 3] ... >>>> >>> I've found these emails, they somehow got to the trash folder - very >>> strange. >> Apologies. That is how hg email sends them. I have a local mercurial >> repository that contain the patches. Maybe your spam filter caught it >> because all subjects start with XXXXXX as placeholder because I don't >> have official bug numbers for them. If you could create the bugs and/or >> let me know if you rather see these patches split up differently (or not >> split up at all), please let me know and I rebase my patches and resend >> them. >> >>>>> On 5/17/12 12:25 PM, Mark Wielaard wrote: >>>>>> On Mon, May 14, 2012 at 07:41:50AM -0600, Daniel D. Daugherty >>>>>> wrote: >>>>>>> On 5/14/12 2:06 AM, Mark Wielaard wrote: >>>>>>>> On Thu, 2012-05-10 at 09:52 -0600, Daniel D. Daugherty >>>>>>>> wrote: >>>>>>>>> Addingserviceability-dev at openjdk.java.net to this e-mail >>>>>>>>> thread. >>>>>>>> Thanks. Please let me know if there is anything I can do to >>>>>>>> help >>>>>>>> integration of these patches, or if there are other >>>>>>>> places/people I need >>>>>>>> to add to the CC for review. >>>>>>> No problem. I was just making sure your e-mails got to the >>>>>>> right aliases. >>>>>>> As I no longer work on the Serviceability team, I'll leave it >>>>>>> to them to >>>>>>> address your e-mails. >>>>>> Feedback from the Serviceability team is highly appreciated. >>>>>> Please let >>>>>> me know how I can help getting these patches in as soon as >>>>>> possible. >>>>>>>>> On 5/10/12 7:49 AM, Mark Wielaard wrote: >>>>>>>>>> The following three patches enable support for dtrace >>>>>>>>>> compatible sdt probes >>>>>>>>>> on GNU/Linux. Most of the support was already submitted >>>>>>>>>> earlier. These are >>>>>>>>>> just the last three things left in IcedTea that actually >>>>>>>>>> enable it in >>>>>>>>>> hotspot. It has been in production use for some time >>>>>>>>>> already. >>>>>>>>>> >>>>>>>>>> The patches could be applied all as one, or individually >>>>>>>>>> if you want to be >>>>>>>>>> able to test them independently. >>>>>>>> [... explanation of separate patches removed ...] >>>>>>>>>> Patches in separate emails. > From serguei.spitsyn at oracle.com Mon May 21 23:42:29 2012 From: serguei.spitsyn at oracle.com (serguei.spitsyn at oracle.com) Date: Mon, 21 May 2012 23:42:29 -0700 Subject: [PATCH 0 of 3] Add support for dtrace compatible sdt probes on GNU/Linux In-Reply-To: <4FBB15A2.7090808@oracle.com> References: <4FABE435.3070101@oracle.com> <1336982811.3015.1.camel@springer.wildebeest.org> <4FB10B9E.8060500@oracle.com> <20120517192555.GB2423@toonder.wildebeest.org> <4FB58E19.8070002@oracle.com> <4FB5D481.2060307@oracle.com> <4FB5EC9D.10302@oracle.com> <1337592522.3408.16.camel@springer.wildebeest.org> <4FBB07C1.8000302@oracle.com> <4FBB15A2.7090808@oracle.com> Message-ID: <4FBB3555.2080607@oracle.com> On 5/21/12 9:27 PM, David Holmes wrote: > Is systemTap part of regular distros these days - in particular in our > build environment? > I don't know yet, we have to figure it out. It'd be nice to have a Keith's opinion first. > I'm just wondering who is going to ensure that these probe entries > compile and run correctly? It depends on the availability or possible setup of linux machines with the systemTap. Some test is needed as well. > > Can we see a complete webrev of the proposed changes? I'll prepare a complete webrev. Thanks, Serguei > > Thanks, > David > > On 22/05/2012 1:28 PM, serguei.spitsyn at oracle.com wrote: >> Mark, >> >> I've created new RFE: >> 7170638: enable support for dtrace compatible sdt probes on GNU/Linux >> >> The patches look good. >> But I think, it is better to be reviewed by Keith McGuigan, who >> originally added DTrace probes to HotSpot. >> Also, let's check if we have to submit a CCC request for this. >> >> Keith, do you have cycles to review the patches from Mark? >> I've included them into the bug report. >> >> Thanks, >> Serguei >> >> >> On 5/21/12 2:28 AM, Mark Wielaard wrote: >>> On Thu, 2012-05-17 at 23:30 -0700,serguei.spitsyn at oracle.com wrote: >>>> On 18/05/2012 9:47 AM,serguei.spitsyn at oracle.com wrote: >>>> On 5/17/12 9:48 PM, David Holmes wrote: >>>>>> Where are the patches? >>>>>> I do not see them in your emails. >>>>>> >>>>> The patches themselves are the emails with the subjects: >>>>> >>>>> [PATCH 1 of 3] ... >>>>> [PATCH 2 of 3] ... >>>>> [PATCH 3 of 3] ... >>>>> >>>> I've found these emails, they somehow got to the trash folder - very >>>> strange. >>> Apologies. That is how hg email sends them. I have a local mercurial >>> repository that contain the patches. Maybe your spam filter caught it >>> because all subjects start with XXXXXX as placeholder because I don't >>> have official bug numbers for them. If you could create the bugs and/or >>> let me know if you rather see these patches split up differently (or >>> not >>> split up at all), please let me know and I rebase my patches and resend >>> them. >>> >>>>>> On 5/17/12 12:25 PM, Mark Wielaard wrote: >>>>>>> On Mon, May 14, 2012 at 07:41:50AM -0600, Daniel D. Daugherty >>>>>>> wrote: >>>>>>>> On 5/14/12 2:06 AM, Mark Wielaard wrote: >>>>>>>>> On Thu, 2012-05-10 at 09:52 -0600, Daniel D. Daugherty >>>>>>>>> wrote: >>>>>>>>>> Addingserviceability-dev at openjdk.java.net to this e-mail >>>>>>>>>> thread. >>>>>>>>> Thanks. Please let me know if there is anything I can do to >>>>>>>>> help >>>>>>>>> integration of these patches, or if there are other >>>>>>>>> places/people I need >>>>>>>>> to add to the CC for review. >>>>>>>> No problem. I was just making sure your e-mails got to the >>>>>>>> right aliases. >>>>>>>> As I no longer work on the Serviceability team, I'll leave it >>>>>>>> to them to >>>>>>>> address your e-mails. >>>>>>> Feedback from the Serviceability team is highly appreciated. >>>>>>> Please let >>>>>>> me know how I can help getting these patches in as soon as >>>>>>> possible. >>>>>>>>>> On 5/10/12 7:49 AM, Mark Wielaard wrote: >>>>>>>>>>> The following three patches enable support for dtrace >>>>>>>>>>> compatible sdt probes >>>>>>>>>>> on GNU/Linux. Most of the support was already submitted >>>>>>>>>>> earlier. These are >>>>>>>>>>> just the last three things left in IcedTea that actually >>>>>>>>>>> enable it in >>>>>>>>>>> hotspot. It has been in production use for some time >>>>>>>>>>> already. >>>>>>>>>>> >>>>>>>>>>> The patches could be applied all as one, or individually >>>>>>>>>>> if you want to be >>>>>>>>>>> able to test them independently. >>>>>>>>> [... explanation of separate patches removed ...] >>>>>>>>>>> Patches in separate emails. >> -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20120521/0acf4638/attachment-0001.html From mjw at redhat.com Tue May 22 03:45:46 2012 From: mjw at redhat.com (Mark Wielaard) Date: Tue, 22 May 2012 12:45:46 +0200 Subject: [PATCH 0 of 3] Add support for dtrace compatible sdt probes on GNU/Linux In-Reply-To: <4FBB07C1.8000302@oracle.com> References: <4FABE435.3070101@oracle.com> <1336982811.3015.1.camel@springer.wildebeest.org> <4FB10B9E.8060500@oracle.com> <20120517192555.GB2423@toonder.wildebeest.org> <4FB58E19.8070002@oracle.com> <4FB5D481.2060307@oracle.com> <4FB5EC9D.10302@oracle.com> <1337592522.3408.16.camel@springer.wildebeest.org> <4FBB07C1.8000302@oracle.com> Message-ID: <1337683546.30205.40.camel@springer.wildebeest.org> On Mon, 2012-05-21 at 20:28 -0700, serguei.spitsyn at oracle.com wrote: > Mark, > > I've created new RFE: > 7170638: enable support for dtrace compatible sdt probes on GNU/Linux > > The patches look good. Thanks. > But I think, it is better to be reviewed by Keith McGuigan, who > originally added DTrace probes to HotSpot. That would be nice. Keith also integrated earlier patches from me in this area. > Also, let's check if we have to submit a CCC request for this. I cannot find how that works. Do you have a pointer to the CCC process? Thanks, Mark From mjw at redhat.com Tue May 22 04:02:44 2012 From: mjw at redhat.com (Mark Wielaard) Date: Tue, 22 May 2012 13:02:44 +0200 Subject: [PATCH 0 of 3] Add support for dtrace compatible sdt probes on GNU/Linux In-Reply-To: <4FBB15A2.7090808@oracle.com> References: <4FABE435.3070101@oracle.com> <1336982811.3015.1.camel@springer.wildebeest.org> <4FB10B9E.8060500@oracle.com> <20120517192555.GB2423@toonder.wildebeest.org> <4FB58E19.8070002@oracle.com> <4FB5D481.2060307@oracle.com> <4FB5EC9D.10302@oracle.com> <1337592522.3408.16.camel@springer.wildebeest.org> <4FBB07C1.8000302@oracle.com> <4FBB15A2.7090808@oracle.com> Message-ID: <1337684564.30205.55.camel@springer.wildebeest.org> On Tue, 2012-05-22 at 14:27 +1000, David Holmes wrote: > Is systemTap part of regular distros these days - in particular in our > build environment? > > I'm just wondering who is going to ensure that these probe entries > compile and run correctly? Note that SDT markers are just that, markers. There is not really something that "runs" them. But systemtap and recent GDB can find them and use them for introspection. There are several icedtea autobuilders that can do that: http://builder.classpath.org/icedtea/buildbot/waterfall This has been included through IcedTea at least on Fedora based systems for some years now and on RHEL6 since release (2010 I believe). In theory SDT markers on GNU/Linux should be source compatible with those on Solaris. That was how it was designed. The make patch checks there is a sys/sdt.h include file available, which is really all there is to it [*] (the only difference between dtrace sdt and gnu/linux sdt markers is how/where they are stored in the ELF file). But in practice there have of course been bugs in compilers (but I believe any modern g++ 4.4+ compiler should do, 4.4.6 is the oldest I can find on my RHEL6 install, current GCC version is 4.7). Cheers, Mark [*] http://sourceware.org/systemtap/wiki/UserSpaceProbeImplementation From mjw at redhat.com Tue May 22 04:11:12 2012 From: mjw at redhat.com (Mark Wielaard) Date: Tue, 22 May 2012 13:11:12 +0200 Subject: [PATCH 0 of 3] Add support for dtrace compatible sdt probes on GNU/Linux In-Reply-To: <4FBB3555.2080607@oracle.com> References: <4FABE435.3070101@oracle.com> <1336982811.3015.1.camel@springer.wildebeest.org> <4FB10B9E.8060500@oracle.com> <20120517192555.GB2423@toonder.wildebeest.org> <4FB58E19.8070002@oracle.com> <4FB5D481.2060307@oracle.com> <4FB5EC9D.10302@oracle.com> <1337592522.3408.16.camel@springer.wildebeest.org> <4FBB07C1.8000302@oracle.com> <4FBB15A2.7090808@oracle.com> <4FBB3555.2080607@oracle.com> Message-ID: <1337685072.30205.62.camel@springer.wildebeest.org> On Mon, 2012-05-21 at 23:42 -0700, serguei.spitsyn at oracle.com wrote: > On 5/21/12 9:27 PM, David Holmes wrote: > It depends on the availability or possible setup of linux machines > with the systemTap. > Some test is needed as well. IcedTea contains a tapset to use them with systemtap and a testsuite written in Perl by Jon VanAlten. But really the SDT markers themselves are independent from any program that consumes them (on Solaris you would use dtrace, on GNU/Linux you can also use GDB or just list them with readelf -n). > > Can we see a complete webrev of the proposed changes? > > I'll prepare a complete webrev. Thanks. If that is a lot of work then feel free to ask me to set that up. Just tell me how you want them split up. Since the patches are mostly independent. Cheers, Mark From david.holmes at oracle.com Tue May 22 04:25:22 2012 From: david.holmes at oracle.com (David Holmes) Date: Tue, 22 May 2012 21:25:22 +1000 Subject: [PATCH 0 of 3] Add support for dtrace compatible sdt probes on GNU/Linux In-Reply-To: <1337685072.30205.62.camel@springer.wildebeest.org> References: <4FABE435.3070101@oracle.com> <1336982811.3015.1.camel@springer.wildebeest.org> <4FB10B9E.8060500@oracle.com> <20120517192555.GB2423@toonder.wildebeest.org> <4FB58E19.8070002@oracle.com> <4FB5D481.2060307@oracle.com> <4FB5EC9D.10302@oracle.com> <1337592522.3408.16.camel@springer.wildebeest.org> <4FBB07C1.8000302@oracle.com> <4FBB15A2.7090808@oracle.com> <4FBB3555.2080607@oracle.com> <1337685072.30205.62.camel@springer.wildebeest.org> Message-ID: <4FBB77A2.2060300@oracle.com> On 22/05/2012 9:11 PM, Mark Wielaard wrote: > On Mon, 2012-05-21 at 23:42 -0700, serguei.spitsyn at oracle.com wrote: >> On 5/21/12 9:27 PM, David Holmes wrote: >> It depends on the availability or possible setup of linux machines >> with the systemTap. >> Some test is needed as well. > > IcedTea contains a tapset to use them with systemtap and a testsuite > written in Perl by Jon VanAlten. But really the SDT markers themselves > are independent from any program that consumes them (on Solaris you > would use dtrace, on GNU/Linux you can also use GDB or just list them > with readelf -n). I need to understand this aspect a bit better. >>> Can we see a complete webrev of the proposed changes? >> >> I'll prepare a complete webrev. > > Thanks. If that is a lot of work then feel free to ask me to set that > up. Just tell me how you want them split up. Since the patches are > mostly independent. No need to split anything up. These patches work together to achieve one goal - which is why a single CR was created to cover them. It won't be much effort for Serguei to create a webrev. Thanks, David > Cheers, > > Mark From staffan.larsen at oracle.com Tue May 22 04:39:39 2012 From: staffan.larsen at oracle.com (Staffan Larsen) Date: Tue, 22 May 2012 13:39:39 +0200 Subject: request for codereview, bug 7149528: easy usage of serviceability agent In-Reply-To: <4FAD8922.9010902@oracle.com> References: <4FAD8922.9010902@oracle.com> Message-ID: <2DC2B513-1692-487E-82C7-ED0CE00332FD@oracle.com> Yumin, Thanks for doing this! I still wonder if we should support -startsvr in the new launcher, given that we already have a jsadebugd launcher that does exactly that. I don't like having two ways of doing the same thing that we have to support. Either we have jsadebugd or we have "jsa -startsvr", but I think it will be a lot of work to remove jsadebugd so it's simpler to leave it and remove the -startsvr flag. I think the usage instructions could be made easier to read by splitting them on multiple lines for the "live process" case and the "core" case. See the output from jsadebugd for an example. It would also be good if these two tools used the same terminology. A couple of nits for SAMain: * the case statements do not need parentheses around the value: "case (0):" should be "case 0:" * line 35: missing space before { * line 37: missing space after the if * line 37: always use {} and newlines after if * line 42 & 43: I prefer having the method implementation on a new line after the declaration Thanks, /Staffan On 11 maj 2012, at 23:48, Yumin Qi wrote: > Hi, all > > Can I have your codereview for bug 7149528: easy usage of serviceability agent. > Problems 1) for launching Serviceability Agent(SA) is that it needs setting several environmental variables for class path, library path options. It is not easy for user to become familiar with those settings. 2) SA launched from java and attached to java process (or the binary which loaded JVM). On MacOS, attaching to process needs permission. If we grant access for SA, we have to grant all java processes have the same access permission so brings security concern on the platform since java is too generic for doing so. With a separate SA launcher, giving it permission attaching to java process solves the concern. > > the change for both hotspot and jdk: > http://cr.openjdk.java.net/~minqi/7149528 > > Thanks > Yumin From mjw at redhat.com Tue May 22 04:45:37 2012 From: mjw at redhat.com (Mark Wielaard) Date: Tue, 22 May 2012 13:45:37 +0200 Subject: [PATCH 0 of 3] Add support for dtrace compatible sdt probes on GNU/Linux In-Reply-To: <4FBB77A2.2060300@oracle.com> References: <4FABE435.3070101@oracle.com> <1336982811.3015.1.camel@springer.wildebeest.org> <4FB10B9E.8060500@oracle.com> <20120517192555.GB2423@toonder.wildebeest.org> <4FB58E19.8070002@oracle.com> <4FB5D481.2060307@oracle.com> <4FB5EC9D.10302@oracle.com> <1337592522.3408.16.camel@springer.wildebeest.org> <4FBB07C1.8000302@oracle.com> <4FBB15A2.7090808@oracle.com> <4FBB3555.2080607@oracle.com> <1337685072.30205.62.camel@springer.wildebeest.org> <4FBB77A2.2060300@oracle.com> Message-ID: <1337687137.30205.79.camel@springer.wildebeest.org> On Tue, 2012-05-22 at 21:25 +1000, David Holmes wrote: > On 22/05/2012 9:11 PM, Mark Wielaard wrote: > >But really the SDT markers themselves > > are independent from any program that consumes them (on Solaris you > > would use dtrace, on GNU/Linux you can also use GDB or just list them > > with readelf -n). > > I need to understand this aspect a bit better. SDT markers are defined by simple macros. e.g: DTRACE_PROBE5(provider,probe,parm1,parm2,parm3,parm4,parm5) Which is a marker for a named provider with a probe name and 5 arguments. Of course in the hotspot source code there are macros around these macros, and some convenience functions. All the patches really do is make sure that if a sys/sdt.h file is found on a GNU/Linux system it is included and the macros are used. These macros expand to a little bit of code that just puts those names and where the arguments can be found in a little ELF notes section. So with the patch applied and compiled on a system that has sys/sdt.h you will get a libjvm.so that contains: $ eu-readelf -n libjvm.so Note section [29] '.note.stapsdt' of 53916 bytes at offset 0x99fac8: Owner Data size Type stapsdt 77 Version: 3 PC: 0x35612f, Base: 0x7f2378, Semaphore: 0 Provider: hotspot, Name: class__loaded, Args: '8@%r13 -4@%r14d 8@%rax 1@%r12b' stapsdt 76 Version: 3 PC: 0x3561e5, Base: 0x7f2378, Semaphore: 0 Provider: hotspot, Name: class__unloaded, Args: '8@%rbx -4@%r12d 8@%rax 1@$0' [etc.] That ELF notes section can then be used by programs like stap or gdb to put breakpoints/probes on those locations and retrieve the arguments found. A more technical explanation with some more details I left out can be found at: http://sourceware.org/systemtap/wiki/UserSpaceProbeImplementation Another high level overview from one of the GDB maintainers is here: http://tromey.com/blog/?p=687 It works similar for SDT probes on Solaris and dtrace, though they use different conventions for storing the addresses/names/arguments. The main difference is that on solaris a different ELF section is used and the arguments are assumed to follow function calling conventions, while on gnu/linux they can just be "anywhere". Hope that helps, Mark From david.holmes at oracle.com Tue May 22 05:25:25 2012 From: david.holmes at oracle.com (David Holmes) Date: Tue, 22 May 2012 22:25:25 +1000 Subject: [PATCH 0 of 3] Add support for dtrace compatible sdt probes on GNU/Linux In-Reply-To: <1337687137.30205.79.camel@springer.wildebeest.org> References: <4FABE435.3070101@oracle.com> <1336982811.3015.1.camel@springer.wildebeest.org> <4FB10B9E.8060500@oracle.com> <20120517192555.GB2423@toonder.wildebeest.org> <4FB58E19.8070002@oracle.com> <4FB5D481.2060307@oracle.com> <4FB5EC9D.10302@oracle.com> <1337592522.3408.16.camel@springer.wildebeest.org> <4FBB07C1.8000302@oracle.com> <4FBB15A2.7090808@oracle.com> <4FBB3555.2080607@oracle.com> <1337685072.30205.62.camel@springer.wildebeest.org> <4FBB77A2.2060300@oracle.com> <1337687137.30205.79.camel@springer.wildebeest.org> Message-ID: <4FBB85B5.6040000@oracle.com> On 22/05/2012 9:45 PM, Mark Wielaard wrote: > On Tue, 2012-05-22 at 21:25 +1000, David Holmes wrote: >> On 22/05/2012 9:11 PM, Mark Wielaard wrote: >>> But really the SDT markers themselves >>> are independent from any program that consumes them (on Solaris you >>> would use dtrace, on GNU/Linux you can also use GDB or just list them >>> with readelf -n). >> >> I need to understand this aspect a bit better. > > SDT markers are defined by simple macros. e.g: > DTRACE_PROBE5(provider,probe,parm1,parm2,parm3,parm4,parm5) > Which is a marker for a named provider with a probe name and 5 > arguments. Of course in the hotspot source code there are macros around > these macros, and some convenience functions. All the patches really do > is make sure that if a sys/sdt.h file is found on a GNU/Linux system it > is included and the macros are used. These macros expand to a little bit > of code that just puts those names and where the arguments can be found > in a little ELF notes section. Many thanks for the explanation Mark. Do you know what the effect of this is on the static size of libjvm.so? I think we would need a way to disable this even if sys/sdt.h is present - just as dtrace support can be disabled. David ----- > So with the patch applied and compiled on a system that has sys/sdt.h > you will get a libjvm.so that contains: > > $ eu-readelf -n libjvm.so > > Note section [29] '.note.stapsdt' of 53916 bytes at offset 0x99fac8: > Owner Data size Type > stapsdt 77 Version: 3 > PC: 0x35612f, Base: 0x7f2378, Semaphore: 0 > Provider: hotspot, Name: class__loaded, Args: '8@%r13 -4@%r14d 8@%rax 1@%r12b' > stapsdt 76 Version: 3 > PC: 0x3561e5, Base: 0x7f2378, Semaphore: 0 > Provider: hotspot, Name: class__unloaded, Args: '8@%rbx -4@%r12d 8@%rax 1@$0' > > [etc.] > > That ELF notes section can then be used by programs like stap or gdb to > put breakpoints/probes on those locations and retrieve the arguments > found. > > A more technical explanation with some more details I left out can be > found at: > http://sourceware.org/systemtap/wiki/UserSpaceProbeImplementation > Another high level overview from one of the GDB maintainers is here: > http://tromey.com/blog/?p=687 > > It works similar for SDT probes on Solaris and dtrace, though they use > different conventions for storing the addresses/names/arguments. The > main difference is that on solaris a different ELF section is used and > the arguments are assumed to follow function calling conventions, while > on gnu/linux they can just be "anywhere". > > Hope that helps, > > Mark From mjw at redhat.com Tue May 22 05:55:38 2012 From: mjw at redhat.com (Mark Wielaard) Date: Tue, 22 May 2012 14:55:38 +0200 Subject: [PATCH 0 of 3] Add support for dtrace compatible sdt probes on GNU/Linux In-Reply-To: <4FBB85B5.6040000@oracle.com> References: <4FABE435.3070101@oracle.com> <1336982811.3015.1.camel@springer.wildebeest.org> <4FB10B9E.8060500@oracle.com> <20120517192555.GB2423@toonder.wildebeest.org> <4FB58E19.8070002@oracle.com> <4FB5D481.2060307@oracle.com> <4FB5EC9D.10302@oracle.com> <1337592522.3408.16.camel@springer.wildebeest.org> <4FBB07C1.8000302@oracle.com> <4FBB15A2.7090808@oracle.com> <4FBB3555.2080607@oracle.com> <1337685072.30205.62.camel@springer.wildebeest.org> <4FBB77A2.2060300@oracle.com> <1337687137.30205.79.camel@springer.wildebeest.org> <4FBB85B5.6040000@oracle.com> Message-ID: <1337691338.30205.93.camel@springer.wildebeest.org> On Tue, 2012-05-22 at 22:25 +1000, David Holmes wrote: > Do you know what the effect of this is on the static size of libjvm.so? On my system the .note.stapsdt section is d29c bytes. So ~50K. That is for 522 probes (yes, hotspot does define that many) expanded to 547 unique locations. > I think we would need a way to disable this even if sys/sdt.h is present > - just as dtrace support can be disabled. Just don't install /usr/include/sys/sdt.h on the build system. Or define ALT_SDT_H to something like /no/sdt.h and it will be disabled. See the last patch for make/linux/makefiles/dtrace.make and vm.make. I took the same approach as was used in make/solaris. Cheers, Mark From vladimir.kozlov at oracle.com Tue May 22 10:33:46 2012 From: vladimir.kozlov at oracle.com (vladimir.kozlov at oracle.com) Date: Tue, 22 May 2012 17:33:46 +0000 Subject: hg: hsx/hsx23.2/hotspot: 7160539: JDeveloper crashes on 64-bit Windows Message-ID: <20120522173349.3FAA347470@hg.openjdk.java.net> Changeset: acd6a3802609 Author: iveresov Date: 2012-04-11 19:15 -0700 URL: http://hg.openjdk.java.net/hsx/hsx23.2/hotspot/rev/acd6a3802609 7160539: JDeveloper crashes on 64-bit Windows Summary: x64 C1 needs to zero upper 32bits when doing l2i conversion Reviewed-by: never, kvn ! src/cpu/x86/vm/c1_LIRAssembler_x86.cpp From yumin.qi at oracle.com Tue May 22 10:42:35 2012 From: yumin.qi at oracle.com (Yumin Qi) Date: Tue, 22 May 2012 10:42:35 -0700 Subject: request for codereview, bug 7149528: easy usage of serviceability agent In-Reply-To: <2DC2B513-1692-487E-82C7-ED0CE00332FD@oracle.com> References: <4FAD8922.9010902@oracle.com> <2DC2B513-1692-487E-82C7-ED0CE00332FD@oracle.com> Message-ID: <4FBBD00B.8080609@oracle.com> Staffan, Thanks. Will change per your concern. Will remove -startsvr option. CCC not approved yet, it may take long time waiting. Thanks Yumin On 2012/5/22 4:39, Staffan Larsen wrote: > Yumin, > > Thanks for doing this! > > I still wonder if we should support -startsvr in the new launcher, given that we already have a jsadebugd launcher that does exactly that. I don't like having two ways of doing the same thing that we have to support. Either we have jsadebugd or we have "jsa -startsvr", but I think it will be a lot of work to remove jsadebugd so it's simpler to leave it and remove the -startsvr flag. > > I think the usage instructions could be made easier to read by splitting them on multiple lines for the "live process" case and the "core" case. See the output from jsadebugd for an example. It would also be good if these two tools used the same terminology. > > A couple of nits for SAMain: > * the case statements do not need parentheses around the value: "case (0):" should be "case 0:" > * line 35: missing space before { > * line 37: missing space after the if > * line 37: always use {} and newlines after if > * line 42& 43: I prefer having the method implementation on a new line after the declaration > > Thanks, > /Staffan > > > > On 11 maj 2012, at 23:48, Yumin Qi wrote: > >> Hi, all >> >> Can I have your codereview for bug 7149528: easy usage of serviceability agent. >> Problems 1) for launching Serviceability Agent(SA) is that it needs setting several environmental variables for class path, library path options. It is not easy for user to become familiar with those settings. 2) SA launched from java and attached to java process (or the binary which loaded JVM). On MacOS, attaching to process needs permission. If we grant access for SA, we have to grant all java processes have the same access permission so brings security concern on the platform since java is too generic for doing so. With a separate SA launcher, giving it permission attaching to java process solves the concern. >> >> the change for both hotspot and jdk: >> http://cr.openjdk.java.net/~minqi/7149528 >> >> Thanks >> Yumin From joe.darcy at oracle.com Tue May 22 11:22:09 2012 From: joe.darcy at oracle.com (Joe Darcy) Date: Tue, 22 May 2012 11:22:09 -0700 Subject: request for codereview, bug 7149528: easy usage of serviceability agent In-Reply-To: <4FBBD00B.8080609@oracle.com> References: <4FAD8922.9010902@oracle.com> <2DC2B513-1692-487E-82C7-ED0CE00332FD@oracle.com> <4FBBD00B.8080609@oracle.com> Message-ID: <4FBBD951.1040302@oracle.com> Yumin, For the last two years, the average latency to get a finalized ccc request approved has been less than three days. Over 10% of request are approved the same day they come in. The ccc request for 7149528 is in "draft" state. In other words, it has not yet been submitted to the ccc for consideration. This state model is explained in the "process" link at the top of every ccc page and was additionally explained in a tech talk I gave earlier this year: http://j2se.us.oracle.com/web/pub/PrgMgmt/TechTalks/ccc-and-you.pdf Please do not blame excessive wait times on the ccc process when the ccc is not being used as documented, especially when the explanatory talk tech was largely given in response to the experiences the serviceability team had with JFR. Regards, -Joe On 5/22/2012 10:42 AM, Yumin Qi wrote: > Staffan, > > Thanks. Will change per your concern. Will remove -startsvr option. > CCC not approved yet, it may take long time waiting. > > Thanks > Yumin > > On 2012/5/22 4:39, Staffan Larsen wrote: >> Yumin, >> >> Thanks for doing this! >> >> I still wonder if we should support -startsvr in the new launcher, >> given that we already have a jsadebugd launcher that does exactly >> that. I don't like having two ways of doing the same thing that we >> have to support. Either we have jsadebugd or we have "jsa -startsvr", >> but I think it will be a lot of work to remove jsadebugd so it's >> simpler to leave it and remove the -startsvr flag. >> >> I think the usage instructions could be made easier to read by >> splitting them on multiple lines for the "live process" case and the >> "core" case. See the output from jsadebugd for an example. It would >> also be good if these two tools used the same terminology. >> >> A couple of nits for SAMain: >> * the case statements do not need parentheses around the value: "case >> (0):" should be "case 0:" >> * line 35: missing space before { >> * line 37: missing space after the if >> * line 37: always use {} and newlines after if >> * line 42& 43: I prefer having the method implementation on a new >> line after the declaration >> >> Thanks, >> /Staffan >> >> >> >> On 11 maj 2012, at 23:48, Yumin Qi wrote: >> >>> Hi, all >>> >>> Can I have your codereview for bug 7149528: easy usage of >>> serviceability agent. >>> Problems 1) for launching Serviceability Agent(SA) is that it >>> needs setting several environmental variables for class path, >>> library path options. It is not easy for user to become familiar >>> with those settings. 2) SA launched from java and attached to java >>> process (or the binary which loaded JVM). On MacOS, attaching to >>> process needs permission. If we grant access for SA, we have to >>> grant all java processes have the same access permission so brings >>> security concern on the platform since java is too generic for doing >>> so. With a separate SA launcher, giving it permission attaching to >>> java process solves the concern. >>> >>> the change for both hotspot and jdk: >>> http://cr.openjdk.java.net/~minqi/7149528 >>> >>> Thanks >>> Yumin From joao.lourenco at fct.unl.pt Tue May 22 12:51:54 2012 From: joao.lourenco at fct.unl.pt (Joao Lourenco) Date: Tue, 22 May 2012 20:51:54 +0100 Subject: Object inlining is Java Message-ID: Hi all, I hope this is the right place to ask... :) We are doing some experiments with object inlining and Java. We know the Hotspot JIT already does some inlining, but we could not understand when / in what conditions, and found no documentation about this! Can anyone give some hints on in which conditions does the Hotspot JIT inline the contents of an object into another object? Or point us to the right docs? Thanks. Joao Lourenco -- joao.lourenco at fct.unl.pt http://docentes.fct.unl.pt/joao-lourenco From david.holmes at oracle.com Tue May 22 14:42:49 2012 From: david.holmes at oracle.com (David Holmes) Date: Wed, 23 May 2012 07:42:49 +1000 Subject: RFR: 7170197 Update JPRT default build targets to support embedded builds Message-ID: <4FBC0859.7000104@oracle.com> A tweak to our JPRT settings: http://cr.openjdk.java.net/~dholmes/7170197/webrev/ Thanks, David From rednaxelafx at gmail.com Tue May 22 16:43:36 2012 From: rednaxelafx at gmail.com (Krystal Mok) Date: Wed, 23 May 2012 07:43:36 +0800 Subject: Object inlining is Java In-Reply-To: References: Message-ID: <76965B38-B8C8-42FF-B923-2A9F76D0252C@gmail.com> Hi Joao, The stock HotSpot VM (the one you get with OpenJDK) doesn't do object inlining at all, at least for now. There's been research on this topic by people at SSW, JKU. You can find papers on it here: http://ssw.jku.at/Research/Projects/JVM/#AOI Hope this helps, Kris On 2012-5-23, at 3:51, Joao Lourenco wrote: > Hi all, > > I hope this is the right place to ask... :) > > We are doing some experiments with object inlining and Java. We know the Hotspot JIT already does some inlining, but we could not understand when / in what conditions, and found no documentation about this! Can anyone give some hints on in which conditions does the Hotspot JIT inline the contents of an object into another object? Or point us to the right docs? > > Thanks. > > Joao Lourenco > -- > joao.lourenco at fct.unl.pt > http://docentes.fct.unl.pt/joao-lourenco > From vladimir.kozlov at oracle.com Tue May 22 17:19:00 2012 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 22 May 2012 17:19:00 -0700 Subject: RFR: 7170197 Update JPRT default build targets to support embedded builds In-Reply-To: <4FBC0859.7000104@oracle.com> References: <4FBC0859.7000104@oracle.com> Message-ID: <4FBC2CF4.5090908@oracle.com> Looks good. Vladimir David Holmes wrote: > A tweak to our JPRT settings: > > http://cr.openjdk.java.net/~dholmes/7170197/webrev/ > > Thanks, > David > From joao.lourenco at fct.unl.pt Tue May 22 17:24:40 2012 From: joao.lourenco at fct.unl.pt (Joao Lourenco) Date: Wed, 23 May 2012 01:24:40 +0100 Subject: Object inlining is Java In-Reply-To: <76965B38-B8C8-42FF-B923-2A9F76D0252C@gmail.com> References: <76965B38-B8C8-42FF-B923-2A9F76D0252C@gmail.com> Message-ID: Hi Krystal, Thanks for the quick reply and for the hints. And what about Sun/Oracle JVM. Do you know if they are doing object inlining? Thanks Regards, Joao Lourenco -- joao.lourenco at fct.unl.pt http://docentes.fct.unl.pt/joao-lourenco On 23/05/2012, at 00:43, Krystal Mok wrote: > Hi Joao, > > The stock HotSpot VM (the one you get with OpenJDK) doesn't do object inlining at all, at least for now. > > There's been research on this topic by people at SSW, JKU. You can find papers on it here: http://ssw.jku.at/Research/Projects/JVM/#AOI > > Hope this helps, > Kris > > On 2012-5-23, at 3:51, Joao Lourenco wrote: > >> Hi all, >> >> I hope this is the right place to ask... :) >> >> We are doing some experiments with object inlining and Java. We know the Hotspot JIT already does some inlining, but we could not understand when / in what conditions, and found no documentation about this! Can anyone give some hints on in which conditions does the Hotspot JIT inline the contents of an object into another object? Or point us to the right docs? >> >> Thanks. >> >> Joao Lourenco >> -- >> joao.lourenco at fct.unl.pt >> http://docentes.fct.unl.pt/joao-lourenco >> From yumin.qi at oracle.com Tue May 22 17:50:38 2012 From: yumin.qi at oracle.com (Yumin Qi) Date: Tue, 22 May 2012 17:50:38 -0700 Subject: request for codereview, bug 7149528: easy usage of serviceability agent In-Reply-To: <2DC2B513-1692-487E-82C7-ED0CE00332FD@oracle.com> References: <4FAD8922.9010902@oracle.com> <2DC2B513-1692-487E-82C7-ED0CE00332FD@oracle.com> Message-ID: <4FBC345E.4030200@oracle.com> HI, Second version based on suggestion by Staffan L. http://cr.openjdk.java.net/~minqi/7149528/webrev.1 Thanks Yumin On 2012/5/22 4:39, Staffan Larsen wrote: > Yumin, > > Thanks for doing this! > > I still wonder if we should support -startsvr in the new launcher, given that we already have a jsadebugd launcher that does exactly that. I don't like having two ways of doing the same thing that we have to support. Either we have jsadebugd or we have "jsa -startsvr", but I think it will be a lot of work to remove jsadebugd so it's simpler to leave it and remove the -startsvr flag. > > I think the usage instructions could be made easier to read by splitting them on multiple lines for the "live process" case and the "core" case. See the output from jsadebugd for an example. It would also be good if these two tools used the same terminology. > > A couple of nits for SAMain: > * the case statements do not need parentheses around the value: "case (0):" should be "case 0:" > * line 35: missing space before { > * line 37: missing space after the if > * line 37: always use {} and newlines after if > * line 42& 43: I prefer having the method implementation on a new line after the declaration > > Thanks, > /Staffan > > > > On 11 maj 2012, at 23:48, Yumin Qi wrote: > >> Hi, all >> >> Can I have your codereview for bug 7149528: easy usage of serviceability agent. >> Problems 1) for launching Serviceability Agent(SA) is that it needs setting several environmental variables for class path, library path options. It is not easy for user to become familiar with those settings. 2) SA launched from java and attached to java process (or the binary which loaded JVM). On MacOS, attaching to process needs permission. If we grant access for SA, we have to grant all java processes have the same access permission so brings security concern on the platform since java is too generic for doing so. With a separate SA launcher, giving it permission attaching to java process solves the concern. >> >> the change for both hotspot and jdk: >> http://cr.openjdk.java.net/~minqi/7149528 >> >> Thanks >> Yumin From John.Coomes at oracle.com Tue May 22 20:11:39 2012 From: John.Coomes at oracle.com (John Coomes) Date: Tue, 22 May 2012 20:11:39 -0700 Subject: RFR: 7170197 Update JPRT default build targets to support embedded builds In-Reply-To: <4FBC0859.7000104@oracle.com> References: <4FBC0859.7000104@oracle.com> Message-ID: <20412.21867.140975.283979@oracle.com> David Holmes (david.holmes at oracle.com) wrote: > A tweak to our JPRT settings: > > http://cr.openjdk.java.net/~dholmes/7170197/webrev/ Looks good to me. -John From rednaxelafx at gmail.com Tue May 22 22:44:42 2012 From: rednaxelafx at gmail.com (Krystal Mok) Date: Wed, 23 May 2012 13:44:42 +0800 Subject: Object inlining is Java In-Reply-To: References: <76965B38-B8C8-42FF-B923-2A9F76D0252C@gmail.com> Message-ID: The HotSpot VM in Oracle/Sun JDK and in OpenJDK are basically the same thing, except for some proprietary features that exist in the commercial build only; "stock HotSpot VM" refers to both of them. Neither implements object inlining. HTH, Kris On Wed, May 23, 2012 at 8:24 AM, Joao Lourenco wrote: > Hi Krystal, > > Thanks for the quick reply and for the hints. > > And what about Sun/Oracle JVM. Do you know if they are doing object > inlining? Thanks > > Regards, > Joao Lourenco > -- > joao.lourenco at fct.unl.pt > http://docentes.fct.unl.pt/joao-lourenco > > On 23/05/2012, at 00:43, Krystal Mok wrote: > > > Hi Joao, > > > > The stock HotSpot VM (the one you get with OpenJDK) doesn't do object > inlining at all, at least for now. > > > > There's been research on this topic by people at SSW, JKU. You can find > papers on it here: http://ssw.jku.at/Research/Projects/JVM/#AOI > > > > Hope this helps, > > Kris > > > > On 2012-5-23, at 3:51, Joao Lourenco wrote: > > > >> Hi all, > >> > >> I hope this is the right place to ask... :) > >> > >> We are doing some experiments with object inlining and Java. We know > the Hotspot JIT already does some inlining, but we could not understand > when / in what conditions, and found no documentation about this! Can > anyone give some hints on in which conditions does the Hotspot JIT inline > the contents of an object into another object? Or point us to the right > docs? > >> > >> Thanks. > >> > >> Joao Lourenco > >> -- > >> joao.lourenco at fct.unl.pt > >> http://docentes.fct.unl.pt/joao-lourenco > >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20120523/a39e0bed/attachment.html From mark at klomp.org Wed May 23 00:20:08 2012 From: mark at klomp.org (Mark Wielaard) Date: Wed, 23 May 2012 09:20:08 +0200 Subject: CCC (Was: request for codereview, bug 7149528: easy usage of serviceability agent) In-Reply-To: <4FBBD951.1040302@oracle.com> References: <4FAD8922.9010902@oracle.com> <2DC2B513-1692-487E-82C7-ED0CE00332FD@oracle.com> <4FBBD00B.8080609@oracle.com> <4FBBD951.1040302@oracle.com> Message-ID: <20120523072008.GA4569@toonder.wildebeest.org> Hi Joe, On Tue, May 22, 2012 at 11:22:09AM -0700, Joe Darcy wrote: > This state > model is explained in the "process" link at the top of every ccc > page and was additionally explained in a tech talk I gave earlier > this year: > > http://j2se.us.oracle.com/web/pub/PrgMgmt/TechTalks/ccc-and-you.pdf > > Please do not blame excessive wait times on the ccc process when the > ccc is not being used as documented It looks like that site isn't publicly reachable. Could you put the document somewhere on openjdk.java.net or another more public place? I recently got a question about submitting a CCC request in response to one of my patches, but found very little documentation. Thanks, Mark From serguei.spitsyn at oracle.com Wed May 23 02:52:43 2012 From: serguei.spitsyn at oracle.com (serguei.spitsyn at oracle.com) Date: Wed, 23 May 2012 02:52:43 -0700 Subject: CCC (Was: request for codereview, bug 7149528: easy usage of serviceability agent) In-Reply-To: <20120523072008.GA4569@toonder.wildebeest.org> References: <4FAD8922.9010902@oracle.com> <2DC2B513-1692-487E-82C7-ED0CE00332FD@oracle.com> <4FBBD00B.8080609@oracle.com> <4FBBD951.1040302@oracle.com> <20120523072008.GA4569@toonder.wildebeest.org> Message-ID: <4FBCB36B.8040209@oracle.com> Hi Joe, In fact, we have the following question: Q1: Do we have to submit a CCC request to enable the HotSpot DTrace probes on Linux? The following is not completely clear to me: Q2: Do we go through the CCC process when some interfaces are already enabled on one platform and we want to enable on another? My guess is that the answers must be positive but wanted to double-check. Thanks, Serguei On 5/23/12 12:20 AM, Mark Wielaard wrote: > Hi Joe, > > On Tue, May 22, 2012 at 11:22:09AM -0700, Joe Darcy wrote: >> This state >> model is explained in the "process" link at the top of every ccc >> page and was additionally explained in a tech talk I gave earlier >> this year: >> >> http://j2se.us.oracle.com/web/pub/PrgMgmt/TechTalks/ccc-and-you.pdf >> >> Please do not blame excessive wait times on the ccc process when the >> ccc is not being used as documented > It looks like that site isn't publicly reachable. Could you put the > document somewhere on openjdk.java.net or another more public place? > I recently got a question about submitting a CCC request in response > to one of my patches, but found very little documentation. > > Thanks, > > Mark -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20120523/4e62f73a/attachment.html From serguei.spitsyn at oracle.com Wed May 23 03:19:51 2012 From: serguei.spitsyn at oracle.com (serguei.spitsyn at oracle.com) Date: Wed, 23 May 2012 03:19:51 -0700 Subject: [PATCH 0 of 3] Add support for dtrace compatible sdt probes on GNU/Linux In-Reply-To: <4FBB3555.2080607@oracle.com> References: <4FABE435.3070101@oracle.com> <1336982811.3015.1.camel@springer.wildebeest.org> <4FB10B9E.8060500@oracle.com> <20120517192555.GB2423@toonder.wildebeest.org> <4FB58E19.8070002@oracle.com> <4FB5D481.2060307@oracle.com> <4FB5EC9D.10302@oracle.com> <1337592522.3408.16.camel@springer.wildebeest.org> <4FBB07C1.8000302@oracle.com> <4FBB15A2.7090808@oracle.com> <4FBB3555.2080607@oracle.com> Message-ID: <4FBCB9C7.3000304@oracle.com> I've generated the webrev (sorry it is not on the public domain yet): http://javaweb.sfbay.sun.com/java/svc/ss45998/webrevs/DTrace-Probes-Linux-HS.0/ Below is the patch related to the webrev above. Thanks, Serguei diff -r 4b37c0dafe3a make/linux/makefiles/dtrace.make --- a/make/linux/makefiles/dtrace.make Fri May 18 09:15:15 2012 -0700 +++ b/make/linux/makefiles/dtrace.make Wed May 23 03:03:58 2012 -0700 @@ -1,5 +1,6 @@ # # Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2012 Red Hat, Inc. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -25,3 +26,26 @@ # Linux does not build jvm_db LIBJVM_DB = +# But it does have a SystemTap dtrace compatible sys/sdt.h +ifneq ($(ALT_SDT_H),) + SDT_H_FILE = $(ALT_SDT_H) +else + SDT_H_FILE = /usr/include/sys/sdt.h +endif +DTRACE_ENABLED = $(shell test -f $(SDT_H_FILE)&& echo $(SDT_H_FILE)) + +ifneq ($(DTRACE_ENABLED),) + CFLAGS += -DDTRACE_ENABLED +endif + +# Phone target used in vm.make build target to check whether enabled. +.PHONY: dtraceCheck +ifeq ($(DTRACE_ENABLED),) +dtraceCheck: + $(QUIETLY) echo "**NOTICE** Dtrace support disabled $(SDT_H_FILE) not found" +else +dtraceCheck: +endif + +# It doesn't support HAVE_DTRACE_H though. + diff -r 4b37c0dafe3a make/linux/makefiles/vm.make --- a/make/linux/makefiles/vm.make Fri May 18 09:15:15 2012 -0700 +++ b/make/linux/makefiles/vm.make Wed May 23 03:03:58 2012 -0700 @@ -383,7 +383,7 @@ #---------------------------------------------------------------------- -build: $(LIBJVM) $(LAUNCHER) $(LIBJSIG) $(LIBJVM_DB) $(BUILDLIBSAPROC) $(WB_JAR) +build: $(LIBJVM) $(LAUNCHER) $(LIBJSIG) $(LIBJVM_DB) $(BUILDLIBSAPROC) dtraceCheck $(WB_JAR) install: install_jvm install_jsig install_saproc diff -r 4b37c0dafe3a src/share/vm/prims/jni.cpp --- a/src/share/vm/prims/jni.cpp Fri May 18 09:15:15 2012 -0700 +++ b/src/share/vm/prims/jni.cpp Wed May 23 03:03:58 2012 -0700 @@ -1,5 +1,6 @@ /* * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012 Red Hat, Inc. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -2818,10 +2819,8 @@ JNI_QUICK_ENTRY(void, jni_Set##Result##Field(JNIEnv *env, jobject obj, jfieldID fieldID, Argument value)) \ JNIWrapper("Set" XSTR(Result) "Field"); \ \ - HS_DTRACE_PROBE_CDECL_N(hotspot_jni, Set##Result##Field__entry, \ - ( JNIEnv*, jobject, jfieldID FP_SELECT_##Result(COMMA Argument,/*empty*/) ) ); \ - HS_DTRACE_PROBE_N(hotspot_jni, Set##Result##Field__entry, \ - ( env, obj, fieldID FP_SELECT_##Result(COMMA value,/*empty*/) ) ); \ + FP_SELECT_##Result(DTRACE_PROBE4(hotspot_jni, Set##Result##Field__entry, env, obj, fieldID, value), \ + DTRACE_PROBE3(hotspot_jni, Set##Result##Field__entry, env, obj, fieldID)); \ \ oop o = JNIHandles::resolve_non_null(obj); \ klassOop k = o->klass(); \ @@ -3128,10 +3127,8 @@ \ JNI_ENTRY(void, jni_SetStatic##Result##Field(JNIEnv *env, jclass clazz, jfieldID fieldID, Argument value)) \ JNIWrapper("SetStatic" XSTR(Result) "Field"); \ - HS_DTRACE_PROBE_CDECL_N(hotspot_jni, SetStatic##Result##Field__entry,\ - ( JNIEnv*, jclass, jfieldID FP_SELECT_##Result(COMMA Argument,/*empty*/) ) ); \ - HS_DTRACE_PROBE_N(hotspot_jni, SetStatic##Result##Field__entry, \ - ( env, clazz, fieldID FP_SELECT_##Result(COMMA value,/*empty*/) ) ); \ + FP_SELECT_##Result(DTRACE_PROBE4(hotspot_jni, SetStatic##Result##Field__entry, env, clazz, fieldID, value), \ + DTRACE_PROBE3(hotspot_jni, SetStatic##Result##Field__entry, env, clazz, fieldID)); \ \ JNIid* id = jfieldIDWorkaround::from_static_jfieldID(fieldID); \ assert(id->is_static_field_id(), "invalid static field id"); \ diff -r 4b37c0dafe3a src/share/vm/utilities/dtrace.hpp --- a/src/share/vm/utilities/dtrace.hpp Fri May 18 09:15:15 2012 -0700 +++ b/src/share/vm/utilities/dtrace.hpp Wed May 23 03:03:58 2012 -0700 @@ -1,5 +1,6 @@ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2009, 2012 Red Hat, Inc. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -32,12 +33,15 @@ #define DTRACE_ONLY(x) x #define NOT_DTRACE(x) +#if defined(SOLARIS) // Work around dtrace tail call bug 6672627 until it is fixed in solaris 10. #define HS_DTRACE_WORKAROUND_TAIL_CALL_BUG() \ do { volatile size_t dtrace_workaround_tail_call_bug = 1; } while (0) -#if defined(SOLARIS) #define USDT1 1 +#elif defined(LINUX) +#define USDT1 1 +#define HS_DTRACE_WORKAROUND_TAIL_CALL_BUG() #elif defined(__APPLE__) #define USDT2 1 #include @@ -63,6 +67,11 @@ #define DTRACE_PROBE3(a,b,c,d,e) {;} #define DTRACE_PROBE4(a,b,c,d,e,f) {;} #define DTRACE_PROBE5(a,b,c,d,e,f,g) {;} +#define DTRACE_PROBE6(a,b,c,d,e,f,g,h) {;} +#define DTRACE_PROBE7(a,b,c,d,e,f,g,h,i) {;} +#define DTRACE_PROBE8(a,b,c,d,e,f,g,h,i,j) {;} +#define DTRACE_PROBE9(a,b,c,d,e,f,g,h,i,j,k) {;} +#define DTRACE_PROBE10(a,b,c,d,e,f,g,h,i,j,k,l) {;} #else /* USDT2 */ @@ -76,10 +85,19 @@ #define HS_DTRACE_PROBE_FN(provider,name)\ __dtrace_##provider##___##name +#ifdef SOLARIS +// Solaris dtrace needs actual extern function decls. #define HS_DTRACE_PROBE_DECL_N(provider,name,args) \ DTRACE_ONLY(extern "C" void HS_DTRACE_PROBE_FN(provider,name) args) #define HS_DTRACE_PROBE_CDECL_N(provider,name,args) \ DTRACE_ONLY(extern void HS_DTRACE_PROBE_FN(provider,name) args) +#elif defined(LINUX) +// Systemtap dtrace compatible probes on GNU/Linux don't. +#define HS_DTRACE_PROBE_DECL_N(provider,name,args) +#define HS_DTRACE_PROBE_CDECL_N(provider,name,args) +#else +#error "USDT1 enabled for unknown os" +#endif /* Dtrace probe declarations */ #define HS_DTRACE_PROBE_DECL(provider,name) \ @@ -118,6 +136,8 @@ uintptr_t,uintptr_t,uintptr_t)) /* Dtrace probe definitions */ +#if defined(SOLARIS) +// Solaris dtrace uses actual function calls. #define HS_DTRACE_PROBE_N(provider,name, args) \ DTRACE_ONLY(HS_DTRACE_PROBE_FN(provider,name) args) @@ -153,6 +173,34 @@ HS_DTRACE_PROBE_N(provider,name,((uintptr_t)a0,(uintptr_t)a1,(uintptr_t)a2,\ (uintptr_t)a3,(uintptr_t)a4,(uintptr_t)a5,(uintptr_t)a6,(uintptr_t)a7,\ (uintptr_t)a8,(uintptr_t)a9)) +#elif defined(LINUX) +// Systemtap dtrace compatible probes on GNU/Linux use direct macros. +#define HS_DTRACE_PROBE(provider,name) HS_DTRACE_PROBE0(provider,name) +#define HS_DTRACE_PROBE0(provider,name)\ + DTRACE_PROBE(provider,name) +#define HS_DTRACE_PROBE1(provider,name,a0)\ + DTRACE_PROBE1(provider,name,a0) +#define HS_DTRACE_PROBE2(provider,name,a0,a1)\ + DTRACE_PROBE2(provider,name,a0,a1) +#define HS_DTRACE_PROBE3(provider,name,a0,a1,a2)\ + DTRACE_PROBE3(provider,name,a0,a1,a2) +#define HS_DTRACE_PROBE4(provider,name,a0,a1,a2,a3)\ + DTRACE_PROBE4(provider,name,a0,a1,a2,a3) +#define HS_DTRACE_PROBE5(provider,name,a0,a1,a2,a3,a4)\ + DTRACE_PROBE5(provider,name,a0,a1,a2,a3,a4) +#define HS_DTRACE_PROBE6(provider,name,a0,a1,a2,a3,a4,a5)\ + DTRACE_PROBE6(provider,name,a0,a1,a2,a3,a4,a5) +#define HS_DTRACE_PROBE7(provider,name,a0,a1,a2,a3,a4,a5,a6)\ + DTRACE_PROBE7(provider,name,a0,a1,a2,a3,a4,a5,a6) +#define HS_DTRACE_PROBE8(provider,name,a0,a1,a2,a3,a4,a5,a6,a7)\ + DTRACE_PROBE8(provider,name,a0,a1,a2,a3,a4,a5,a6,a7) +#define HS_DTRACE_PROBE9(provider,name,a0,a1,a2,a3,a4,a5,a6,a7,a8)\ + DTRACE_PROBE9(provider,name,a0,a1,a2,a3,a4,a5,a6,a7,a8) +#define HS_DTRACE_PROBE10(provider,name,a0,a1,a2,a3,a4,a5,a6,a7,a8)\ + DTRACE_PROBE10(provider,name,a0,a1,a2,a3,a4,a5,a6,a7,a8) +#else +#error "USDT1 enabled for unknown os" +#endif #endif /* !USDT2 */ On 5/21/12 11:42 PM, serguei.spitsyn at oracle.com wrote: > > > > On 5/21/12 9:27 PM, David Holmes wrote: >> Is systemTap part of regular distros these days - in particular in >> our build environment? >> > I don't know yet, we have to figure it out. > It'd be nice to have a Keith's opinion first. > >> I'm just wondering who is going to ensure that these probe entries >> compile and run correctly? > > It depends on the availability or possible setup of linux machines > with the systemTap. > Some test is needed as well. > >> >> Can we see a complete webrev of the proposed changes? > > I'll prepare a complete webrev. > > Thanks, > Serguei > >> >> Thanks, >> David >> >> On 22/05/2012 1:28 PM, serguei.spitsyn at oracle.com wrote: >>> Mark, >>> >>> I've created new RFE: >>> 7170638: enable support for dtrace compatible sdt probes on GNU/Linux >>> >>> The patches look good. >>> But I think, it is better to be reviewed by Keith McGuigan, who >>> originally added DTrace probes to HotSpot. >>> Also, let's check if we have to submit a CCC request for this. >>> >>> Keith, do you have cycles to review the patches from Mark? >>> I've included them into the bug report. >>> >>> Thanks, >>> Serguei >>> >>> >>> On 5/21/12 2:28 AM, Mark Wielaard wrote: >>>> On Thu, 2012-05-17 at 23:30 -0700,serguei.spitsyn at oracle.com wrote: >>>>> On 18/05/2012 9:47 AM,serguei.spitsyn at oracle.com wrote: >>>>> On 5/17/12 9:48 PM, David Holmes wrote: >>>>>>> Where are the patches? >>>>>>> I do not see them in your emails. >>>>>>> >>>>>> The patches themselves are the emails with the subjects: >>>>>> >>>>>> [PATCH 1 of 3] ... >>>>>> [PATCH 2 of 3] ... >>>>>> [PATCH 3 of 3] ... >>>>>> >>>>> I've found these emails, they somehow got to the trash folder - very >>>>> strange. >>>> Apologies. That is how hg email sends them. I have a local mercurial >>>> repository that contain the patches. Maybe your spam filter caught it >>>> because all subjects start with XXXXXX as placeholder because I don't >>>> have official bug numbers for them. If you could create the bugs >>>> and/or >>>> let me know if you rather see these patches split up differently >>>> (or not >>>> split up at all), please let me know and I rebase my patches and >>>> resend >>>> them. >>>> >>>>>>> On 5/17/12 12:25 PM, Mark Wielaard wrote: >>>>>>>> On Mon, May 14, 2012 at 07:41:50AM -0600, Daniel D. Daugherty >>>>>>>> wrote: >>>>>>>>> On 5/14/12 2:06 AM, Mark Wielaard wrote: >>>>>>>>>> On Thu, 2012-05-10 at 09:52 -0600, Daniel D. Daugherty >>>>>>>>>> wrote: >>>>>>>>>>> Addingserviceability-dev at openjdk.java.net to this e-mail >>>>>>>>>>> thread. >>>>>>>>>> Thanks. Please let me know if there is anything I can do to >>>>>>>>>> help >>>>>>>>>> integration of these patches, or if there are other >>>>>>>>>> places/people I need >>>>>>>>>> to add to the CC for review. >>>>>>>>> No problem. I was just making sure your e-mails got to the >>>>>>>>> right aliases. >>>>>>>>> As I no longer work on the Serviceability team, I'll leave it >>>>>>>>> to them to >>>>>>>>> address your e-mails. >>>>>>>> Feedback from the Serviceability team is highly appreciated. >>>>>>>> Please let >>>>>>>> me know how I can help getting these patches in as soon as >>>>>>>> possible. >>>>>>>>>>> On 5/10/12 7:49 AM, Mark Wielaard wrote: >>>>>>>>>>>> The following three patches enable support for dtrace >>>>>>>>>>>> compatible sdt probes >>>>>>>>>>>> on GNU/Linux. Most of the support was already submitted >>>>>>>>>>>> earlier. These are >>>>>>>>>>>> just the last three things left in IcedTea that actually >>>>>>>>>>>> enable it in >>>>>>>>>>>> hotspot. It has been in production use for some time >>>>>>>>>>>> already. >>>>>>>>>>>> >>>>>>>>>>>> The patches could be applied all as one, or individually >>>>>>>>>>>> if you want to be >>>>>>>>>>>> able to test them independently. >>>>>>>>>> [... explanation of separate patches removed ...] >>>>>>>>>>>> Patches in separate emails. >>> > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20120523/b24173ca/attachment-0001.html From keith.mcguigan at oracle.com Wed May 23 06:14:24 2012 From: keith.mcguigan at oracle.com (Keith McGuigan) Date: Wed, 23 May 2012 09:14:24 -0400 Subject: [PATCH 0 of 3] Add support for dtrace compatible sdt probes on GNU/Linux In-Reply-To: <4FBCB9C7.3000304@oracle.com> References: <4FABE435.3070101@oracle.com> <1336982811.3015.1.camel@springer.wildebeest.org> <4FB10B9E.8060500@oracle.com> <20120517192555.GB2423@toonder.wildebeest.org> <4FB58E19.8070002@oracle.com> <4FB5D481.2060307@oracle.com> <4FB5EC9D.10302@oracle.com> <1337592522.3408.16.camel@springer.wildebeest.org> <4FBB07C1.8000302@oracle.com> <4FBB15A2.7090808@oracle.com> <4FBB3555.2080607@oracle.com> <4FBCB9C7.3000304@oracle.com> Message-ID: <4FBCE2B0.3050201@oracle.com> Just a couple of quick comments/questions on the code: Why did we get rid of a couple of the declarations in jni.cpp? Why aren't they needed? dtrace.hpp should be refactored (if possible) into the os-specific subdirectories, instead of using #ifdef macros in the header. I.e., you might have to make a src/solaris/vm/dtrace_solaris.hpp and src/linux/vm/dtrace_linux.hpp file and include it from here. Has this been built on solaris, and is the dtrace functionality unchanged? -- - Keith On 5/23/2012 6:19 AM, serguei.spitsyn at oracle.com wrote: > > I've generated the webrev (sorry it is not on the public domain yet): > http://javaweb.sfbay.sun.com/java/svc/ss45998/webrevs/DTrace-Probes-Linux-HS.0/ > > Below is the patch related to the webrev above. > > Thanks, > Serguei > > > diff -r 4b37c0dafe3a make/linux/makefiles/dtrace.make > --- a/make/linux/makefiles/dtrace.make Fri May 18 09:15:15 2012 -0700 > +++ b/make/linux/makefiles/dtrace.make Wed May 23 03:03:58 2012 -0700 > @@ -1,5 +1,6 @@ > # > # Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights > reserved. > +# Copyright (c) 2012 Red Hat, Inc. > # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. > # > # This code is free software; you can redistribute it and/or modify it > @@ -25,3 +26,26 @@ > # Linux does not build jvm_db > LIBJVM_DB = > > +# But it does have a SystemTap dtrace compatible sys/sdt.h > +ifneq ($(ALT_SDT_H),) > + SDT_H_FILE = $(ALT_SDT_H) > +else > + SDT_H_FILE = /usr/include/sys/sdt.h > +endif > +DTRACE_ENABLED = $(shell test -f $(SDT_H_FILE)&& echo $(SDT_H_FILE)) > + > +ifneq ($(DTRACE_ENABLED),) > + CFLAGS += -DDTRACE_ENABLED > +endif > + > +# Phone target used in vm.make build target to check whether enabled. > +.PHONY: dtraceCheck > +ifeq ($(DTRACE_ENABLED),) > +dtraceCheck: > + $(QUIETLY) echo "**NOTICE** Dtrace support disabled $(SDT_H_FILE) > not found" > +else > +dtraceCheck: > +endif > + > +# It doesn't support HAVE_DTRACE_H though. > + > diff -r 4b37c0dafe3a make/linux/makefiles/vm.make > --- a/make/linux/makefiles/vm.make Fri May 18 09:15:15 2012 -0700 > +++ b/make/linux/makefiles/vm.make Wed May 23 03:03:58 2012 -0700 > @@ -383,7 +383,7 @@ > > #---------------------------------------------------------------------- > > -build: $(LIBJVM) $(LAUNCHER) $(LIBJSIG) $(LIBJVM_DB) $(BUILDLIBSAPROC) > $(WB_JAR) > +build: $(LIBJVM) $(LAUNCHER) $(LIBJSIG) $(LIBJVM_DB) $(BUILDLIBSAPROC) > dtraceCheck $(WB_JAR) > > install: install_jvm install_jsig install_saproc > > diff -r 4b37c0dafe3a src/share/vm/prims/jni.cpp > --- a/src/share/vm/prims/jni.cpp Fri May 18 09:15:15 2012 -0700 > +++ b/src/share/vm/prims/jni.cpp Wed May 23 03:03:58 2012 -0700 > @@ -1,5 +1,6 @@ > /* > * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights > reserved. > + * Copyright (c) 2012 Red Hat, Inc. > * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. > * > * This code is free software; you can redistribute it and/or modify it > @@ -2818,10 +2819,8 @@ > JNI_QUICK_ENTRY(void, jni_Set##Result##Field(JNIEnv *env, jobject obj, > jfieldID fieldID, Argument value)) \ > JNIWrapper("Set" XSTR(Result) "Field"); \ > \ > - HS_DTRACE_PROBE_CDECL_N(hotspot_jni, Set##Result##Field__entry, \ > - ( JNIEnv*, jobject, jfieldID FP_SELECT_##Result(COMMA > Argument,/*empty*/) ) ); \ > - HS_DTRACE_PROBE_N(hotspot_jni, Set##Result##Field__entry, \ > - ( env, obj, fieldID FP_SELECT_##Result(COMMA value,/*empty*/) ) ); \ > + FP_SELECT_##Result(DTRACE_PROBE4(hotspot_jni, > Set##Result##Field__entry, env, obj, fieldID, value), \ > + DTRACE_PROBE3(hotspot_jni, > Set##Result##Field__entry, env, obj, fieldID)); \ > \ > oop o = JNIHandles::resolve_non_null(obj); \ > klassOop k = o->klass(); \ > @@ -3128,10 +3127,8 @@ > \ > JNI_ENTRY(void, jni_SetStatic##Result##Field(JNIEnv *env, jclass > clazz, jfieldID fieldID, Argument value)) \ > JNIWrapper("SetStatic" XSTR(Result) "Field"); \ > - HS_DTRACE_PROBE_CDECL_N(hotspot_jni, SetStatic##Result##Field__entry,\ > - ( JNIEnv*, jclass, jfieldID FP_SELECT_##Result(COMMA > Argument,/*empty*/) ) ); \ > - HS_DTRACE_PROBE_N(hotspot_jni, SetStatic##Result##Field__entry, \ > - ( env, clazz, fieldID FP_SELECT_##Result(COMMA value,/*empty*/) ) ); \ > + FP_SELECT_##Result(DTRACE_PROBE4(hotspot_jni, > SetStatic##Result##Field__entry, env, clazz, fieldID, value), \ > + DTRACE_PROBE3(hotspot_jni, > SetStatic##Result##Field__entry, env, clazz, fieldID)); \ > \ > JNIid* id = jfieldIDWorkaround::from_static_jfieldID(fieldID); \ > assert(id->is_static_field_id(), "invalid static field id"); \ > diff -r 4b37c0dafe3a src/share/vm/utilities/dtrace.hpp > --- a/src/share/vm/utilities/dtrace.hpp Fri May 18 09:15:15 2012 -0700 > +++ b/src/share/vm/utilities/dtrace.hpp Wed May 23 03:03:58 2012 -0700 > @@ -1,5 +1,6 @@ > /* > * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights > reserved. > + * Copyright (c) 2009, 2012 Red Hat, Inc. > * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. > * > * This code is free software; you can redistribute it and/or modify it > @@ -32,12 +33,15 @@ > #define DTRACE_ONLY(x) x > #define NOT_DTRACE(x) > > +#if defined(SOLARIS) > // Work around dtrace tail call bug 6672627 until it is fixed in > solaris 10. > #define HS_DTRACE_WORKAROUND_TAIL_CALL_BUG() \ > do { volatile size_t dtrace_workaround_tail_call_bug = 1; } while (0) > > -#if defined(SOLARIS) > #define USDT1 1 > +#elif defined(LINUX) > +#define USDT1 1 > +#define HS_DTRACE_WORKAROUND_TAIL_CALL_BUG() > #elif defined(__APPLE__) > #define USDT2 1 > #include > @@ -63,6 +67,11 @@ > #define DTRACE_PROBE3(a,b,c,d,e) {;} > #define DTRACE_PROBE4(a,b,c,d,e,f) {;} > #define DTRACE_PROBE5(a,b,c,d,e,f,g) {;} > +#define DTRACE_PROBE6(a,b,c,d,e,f,g,h) {;} > +#define DTRACE_PROBE7(a,b,c,d,e,f,g,h,i) {;} > +#define DTRACE_PROBE8(a,b,c,d,e,f,g,h,i,j) {;} > +#define DTRACE_PROBE9(a,b,c,d,e,f,g,h,i,j,k) {;} > +#define DTRACE_PROBE10(a,b,c,d,e,f,g,h,i,j,k,l) {;} > > #else /* USDT2 */ > > @@ -76,10 +85,19 @@ > #define HS_DTRACE_PROBE_FN(provider,name)\ > __dtrace_##provider##___##name > > +#ifdef SOLARIS > +// Solaris dtrace needs actual extern function decls. > #define HS_DTRACE_PROBE_DECL_N(provider,name,args) \ > DTRACE_ONLY(extern "C" void HS_DTRACE_PROBE_FN(provider,name) args) > #define HS_DTRACE_PROBE_CDECL_N(provider,name,args) \ > DTRACE_ONLY(extern void HS_DTRACE_PROBE_FN(provider,name) args) > +#elif defined(LINUX) > +// Systemtap dtrace compatible probes on GNU/Linux don't. > +#define HS_DTRACE_PROBE_DECL_N(provider,name,args) > +#define HS_DTRACE_PROBE_CDECL_N(provider,name,args) > +#else > +#error "USDT1 enabled for unknown os" > +#endif > > /* Dtrace probe declarations */ > #define HS_DTRACE_PROBE_DECL(provider,name) \ > @@ -118,6 +136,8 @@ > uintptr_t,uintptr_t,uintptr_t)) > > /* Dtrace probe definitions */ > +#if defined(SOLARIS) > +// Solaris dtrace uses actual function calls. > #define HS_DTRACE_PROBE_N(provider,name, args) \ > DTRACE_ONLY(HS_DTRACE_PROBE_FN(provider,name) args) > > @@ -153,6 +173,34 @@ > > HS_DTRACE_PROBE_N(provider,name,((uintptr_t)a0,(uintptr_t)a1,(uintptr_t)a2,\ > > (uintptr_t)a3,(uintptr_t)a4,(uintptr_t)a5,(uintptr_t)a6,(uintptr_t)a7,\ > (uintptr_t)a8,(uintptr_t)a9)) > +#elif defined(LINUX) > +// Systemtap dtrace compatible probes on GNU/Linux use direct macros. > +#define HS_DTRACE_PROBE(provider,name) HS_DTRACE_PROBE0(provider,name) > +#define HS_DTRACE_PROBE0(provider,name)\ > + DTRACE_PROBE(provider,name) > +#define HS_DTRACE_PROBE1(provider,name,a0)\ > + DTRACE_PROBE1(provider,name,a0) > +#define HS_DTRACE_PROBE2(provider,name,a0,a1)\ > + DTRACE_PROBE2(provider,name,a0,a1) > +#define HS_DTRACE_PROBE3(provider,name,a0,a1,a2)\ > + DTRACE_PROBE3(provider,name,a0,a1,a2) > +#define HS_DTRACE_PROBE4(provider,name,a0,a1,a2,a3)\ > + DTRACE_PROBE4(provider,name,a0,a1,a2,a3) > +#define HS_DTRACE_PROBE5(provider,name,a0,a1,a2,a3,a4)\ > + DTRACE_PROBE5(provider,name,a0,a1,a2,a3,a4) > +#define HS_DTRACE_PROBE6(provider,name,a0,a1,a2,a3,a4,a5)\ > + DTRACE_PROBE6(provider,name,a0,a1,a2,a3,a4,a5) > +#define HS_DTRACE_PROBE7(provider,name,a0,a1,a2,a3,a4,a5,a6)\ > + DTRACE_PROBE7(provider,name,a0,a1,a2,a3,a4,a5,a6) > +#define HS_DTRACE_PROBE8(provider,name,a0,a1,a2,a3,a4,a5,a6,a7)\ > + DTRACE_PROBE8(provider,name,a0,a1,a2,a3,a4,a5,a6,a7) > +#define HS_DTRACE_PROBE9(provider,name,a0,a1,a2,a3,a4,a5,a6,a7,a8)\ > + DTRACE_PROBE9(provider,name,a0,a1,a2,a3,a4,a5,a6,a7,a8) > +#define HS_DTRACE_PROBE10(provider,name,a0,a1,a2,a3,a4,a5,a6,a7,a8)\ > + DTRACE_PROBE10(provider,name,a0,a1,a2,a3,a4,a5,a6,a7,a8) > +#else > +#error "USDT1 enabled for unknown os" > +#endif > > #endif /* !USDT2 */ > > > > > > On 5/21/12 11:42 PM, serguei.spitsyn at oracle.com wrote: >> >> >> >> On 5/21/12 9:27 PM, David Holmes wrote: >>> Is systemTap part of regular distros these days - in particular in >>> our build environment? >>> >> I don't know yet, we have to figure it out. >> It'd be nice to have a Keith's opinion first. >> >>> I'm just wondering who is going to ensure that these probe entries >>> compile and run correctly? >> >> It depends on the availability or possible setup of linux machines >> with the systemTap. >> Some test is needed as well. >> >>> >>> Can we see a complete webrev of the proposed changes? >> >> I'll prepare a complete webrev. >> >> Thanks, >> Serguei >> >>> >>> Thanks, >>> David >>> >>> On 22/05/2012 1:28 PM, serguei.spitsyn at oracle.com wrote: >>>> Mark, >>>> >>>> I've created new RFE: >>>> 7170638: enable support for dtrace compatible sdt probes on GNU/Linux >>>> >>>> The patches look good. >>>> But I think, it is better to be reviewed by Keith McGuigan, who >>>> originally added DTrace probes to HotSpot. >>>> Also, let's check if we have to submit a CCC request for this. >>>> >>>> Keith, do you have cycles to review the patches from Mark? >>>> I've included them into the bug report. >>>> >>>> Thanks, >>>> Serguei >>>> >>>> >>>> On 5/21/12 2:28 AM, Mark Wielaard wrote: >>>>> On Thu, 2012-05-17 at 23:30 -0700,serguei.spitsyn at oracle.com wrote: >>>>>> On 18/05/2012 9:47 AM,serguei.spitsyn at oracle.com wrote: >>>>>> On 5/17/12 9:48 PM, David Holmes wrote: >>>>>>>> Where are the patches? >>>>>>>> I do not see them in your emails. >>>>>>>> >>>>>>> The patches themselves are the emails with the subjects: >>>>>>> >>>>>>> [PATCH 1 of 3] ... >>>>>>> [PATCH 2 of 3] ... >>>>>>> [PATCH 3 of 3] ... >>>>>>> >>>>>> I've found these emails, they somehow got to the trash folder - very >>>>>> strange. >>>>> Apologies. That is how hg email sends them. I have a local mercurial >>>>> repository that contain the patches. Maybe your spam filter caught it >>>>> because all subjects start with XXXXXX as placeholder because I don't >>>>> have official bug numbers for them. If you could create the bugs >>>>> and/or >>>>> let me know if you rather see these patches split up differently >>>>> (or not >>>>> split up at all), please let me know and I rebase my patches and >>>>> resend >>>>> them. >>>>> >>>>>>>> On 5/17/12 12:25 PM, Mark Wielaard wrote: >>>>>>>>> On Mon, May 14, 2012 at 07:41:50AM -0600, Daniel D. Daugherty >>>>>>>>> wrote: >>>>>>>>>> On 5/14/12 2:06 AM, Mark Wielaard wrote: >>>>>>>>>>> On Thu, 2012-05-10 at 09:52 -0600, Daniel D. Daugherty >>>>>>>>>>> wrote: >>>>>>>>>>>> Addingserviceability-dev at openjdk.java.net to this e-mail >>>>>>>>>>>> thread. >>>>>>>>>>> Thanks. Please let me know if there is anything I can do to >>>>>>>>>>> help >>>>>>>>>>> integration of these patches, or if there are other >>>>>>>>>>> places/people I need >>>>>>>>>>> to add to the CC for review. >>>>>>>>>> No problem. I was just making sure your e-mails got to the >>>>>>>>>> right aliases. >>>>>>>>>> As I no longer work on the Serviceability team, I'll leave it >>>>>>>>>> to them to >>>>>>>>>> address your e-mails. >>>>>>>>> Feedback from the Serviceability team is highly appreciated. >>>>>>>>> Please let >>>>>>>>> me know how I can help getting these patches in as soon as >>>>>>>>> possible. >>>>>>>>>>>> On 5/10/12 7:49 AM, Mark Wielaard wrote: >>>>>>>>>>>>> The following three patches enable support for dtrace >>>>>>>>>>>>> compatible sdt probes >>>>>>>>>>>>> on GNU/Linux. Most of the support was already submitted >>>>>>>>>>>>> earlier. These are >>>>>>>>>>>>> just the last three things left in IcedTea that actually >>>>>>>>>>>>> enable it in >>>>>>>>>>>>> hotspot. It has been in production use for some time >>>>>>>>>>>>> already. >>>>>>>>>>>>> >>>>>>>>>>>>> The patches could be applied all as one, or individually >>>>>>>>>>>>> if you want to be >>>>>>>>>>>>> able to test them independently. >>>>>>>>>>> [... explanation of separate patches removed ...] >>>>>>>>>>>>> Patches in separate emails. >>>> >> > From mjw at redhat.com Wed May 23 06:26:15 2012 From: mjw at redhat.com (Mark Wielaard) Date: Wed, 23 May 2012 15:26:15 +0200 Subject: [PATCH 0 of 3] Add support for dtrace compatible sdt probes on GNU/Linux In-Reply-To: <4FBCE2B0.3050201@oracle.com> References: <4FABE435.3070101@oracle.com> <1336982811.3015.1.camel@springer.wildebeest.org> <4FB10B9E.8060500@oracle.com> <20120517192555.GB2423@toonder.wildebeest.org> <4FB58E19.8070002@oracle.com> <4FB5D481.2060307@oracle.com> <4FB5EC9D.10302@oracle.com> <1337592522.3408.16.camel@springer.wildebeest.org> <4FBB07C1.8000302@oracle.com> <4FBB15A2.7090808@oracle.com> <4FBB3555.2080607@oracle.com> <4FBCB9C7.3000304@oracle.com> <4FBCE2B0.3050201@oracle.com> Message-ID: <1337779575.3002.6.camel@springer.wildebeest.org> On Wed, 2012-05-23 at 09:14 -0400, Keith McGuigan wrote: > Just a couple of quick comments/questions on the code: > > Why did we get rid of a couple of the declarations in jni.cpp? Why > aren't they needed? Could you say which ones you think we got rid of? It was not my intention to get rid of anything. Maybe you are referring to the first patch? That came with the following description: > The first patch is just a consistency cleanup patch. The JNI Set and > SetStatic Field methods used HS_DTRACE_PROBE_CDECL_N and HS_DTRACE_PROBE_N > directly instead of just using DTRACE_PROBE[N] like all other JNI methods. > This doesn't matter for the Solaris macros, but on GNU/Linux the macros > don't use direct function declarations (which is introduced in the second > patch). > dtrace.hpp should be refactored (if possible) into the os-specific > subdirectories, instead of using #ifdef macros in the header. > I.e., you might have to make a src/solaris/vm/dtrace_solaris.hpp and > src/linux/vm/dtrace_linux.hpp file and include it from here. I rather not, the code should be identical except for two small details between solaris and gnu/linux as the patch shows (and one is just a hack for a solaris tailcall bug). The apple/macos part looks very different and could be split out, but that was already there. > Has this been built on solaris, and is the dtrace functionality unchanged? I don't have access to solaris, the dtrace functionality should of course be unchanged. Thanks, Mark From keith.mcguigan at oracle.com Wed May 23 06:42:04 2012 From: keith.mcguigan at oracle.com (Keith McGuigan) Date: Wed, 23 May 2012 09:42:04 -0400 Subject: [PATCH 0 of 3] Add support for dtrace compatible sdt probes on GNU/Linux In-Reply-To: <1337779575.3002.6.camel@springer.wildebeest.org> References: <4FABE435.3070101@oracle.com> <1336982811.3015.1.camel@springer.wildebeest.org> <4FB10B9E.8060500@oracle.com> <20120517192555.GB2423@toonder.wildebeest.org> <4FB58E19.8070002@oracle.com> <4FB5D481.2060307@oracle.com> <4FB5EC9D.10302@oracle.com> <1337592522.3408.16.camel@springer.wildebeest.org> <4FBB07C1.8000302@oracle.com> <4FBB15A2.7090808@oracle.com> <4FBB3555.2080607@oracle.com> <4FBCB9C7.3000304@oracle.com> <4FBCE2B0.3050201@oracle.com> <1337779575.3002.6.camel@springer.wildebeest.org> Message-ID: <4FBCE92C.8010708@oracle.com> On 5/23/2012 9:26 AM, Mark Wielaard wrote: > On Wed, 2012-05-23 at 09:14 -0400, Keith McGuigan wrote: >> Just a couple of quick comments/questions on the code: >> >> Why did we get rid of a couple of the declarations in jni.cpp? Why >> aren't they needed? > > Could you say which ones you think we got rid of? It was not my > intention to get rid of anything. Maybe you are referring to the first > patch? That came with the following description: > >> The first patch is just a consistency cleanup patch. The JNI Set and >> SetStatic Field methods used HS_DTRACE_PROBE_CDECL_N and HS_DTRACE_PROBE_N >> directly instead of just using DTRACE_PROBE[N] like all other JNI methods. >> This doesn't matter for the Solaris macros, but on GNU/Linux the macros >> don't use direct function declarations (which is introduced in the second >> patch). Ok, might be that it's fine. I don't remember if there was a reason that SetStatic was different from the other JNI calls, but it certainly could just have been an omission in refactoring or something. We just need to make sure that it still works (solaris-dtrace-wise). It's certainly better this way! >> dtrace.hpp should be refactored (if possible) into the os-specific >> subdirectories, instead of using #ifdef macros in the header. >> I.e., you might have to make a src/solaris/vm/dtrace_solaris.hpp and >> src/linux/vm/dtrace_linux.hpp file and include it from here. > > I rather not, the code should be identical except for two small details > between solaris and gnu/linux as the patch shows (and one is just a hack > for a solaris tailcall bug). The apple/macos part looks very different > and could be split out, but that was already there. I refer to the redefinition blocks of HS_DTRACE_PROBEx, which I don't consider a small detail (though the solaris tailcall thing certainly is). It's (of course) just a style thing, but traditionally in hotspot we've wanted the os or arch specific code in os or arch specific directories, instead of littering the code with #ifdefs. I know the OSX stuff started violated this some, but I hope we're going to resolve that rather than continue down that path. >> Has this been built on solaris, and is the dtrace functionality unchanged? > > I don't have access to solaris, the dtrace functionality should of > course be unchanged. Understood. We'll just have to make sure that gets done somehow. -- - Keith From mjw at redhat.com Wed May 23 06:56:40 2012 From: mjw at redhat.com (Mark Wielaard) Date: Wed, 23 May 2012 15:56:40 +0200 Subject: [PATCH 0 of 3] Add support for dtrace compatible sdt probes on GNU/Linux In-Reply-To: <4FBCE92C.8010708@oracle.com> References: <4FABE435.3070101@oracle.com> <1336982811.3015.1.camel@springer.wildebeest.org> <4FB10B9E.8060500@oracle.com> <20120517192555.GB2423@toonder.wildebeest.org> <4FB58E19.8070002@oracle.com> <4FB5D481.2060307@oracle.com> <4FB5EC9D.10302@oracle.com> <1337592522.3408.16.camel@springer.wildebeest.org> <4FBB07C1.8000302@oracle.com> <4FBB15A2.7090808@oracle.com> <4FBB3555.2080607@oracle.com> <4FBCB9C7.3000304@oracle.com> <4FBCE2B0.3050201@oracle.com> <1337779575.3002.6.camel@springer.wildebeest.org> <4FBCE92C.8010708@oracle.com> Message-ID: <1337781400.3002.17.camel@springer.wildebeest.org> On Wed, 2012-05-23 at 09:42 -0400, Keith McGuigan wrote: > >> The first patch is just a consistency cleanup patch. The JNI Set and > >> SetStatic Field methods used HS_DTRACE_PROBE_CDECL_N and HS_DTRACE_PROBE_N > >> directly instead of just using DTRACE_PROBE[N] like all other JNI methods. > >> This doesn't matter for the Solaris macros, but on GNU/Linux the macros > >> don't use direct function declarations (which is introduced in the second > >> patch). > > Ok, might be that it's fine. I don't remember if there was a reason > that SetStatic was different from the other JNI calls, but it certainly > could just have been an omission in refactoring or something. We just > need to make sure that it still works (solaris-dtrace-wise). It's > certainly better this way! Yeah, that is why I originally split out the patches, so that anything that might potentially impact other architectures could be applied and tested separately. Especially since I don't have access to solaris. > >> dtrace.hpp should be refactored (if possible) into the os-specific > >> subdirectories, instead of using #ifdef macros in the header. > >> I.e., you might have to make a src/solaris/vm/dtrace_solaris.hpp and > >> src/linux/vm/dtrace_linux.hpp file and include it from here. > > > > I rather not, the code should be identical except for two small details > > between solaris and gnu/linux as the patch shows (and one is just a hack > > for a solaris tailcall bug). The apple/macos part looks very different > > and could be split out, but that was already there. > > I refer to the redefinition blocks of HS_DTRACE_PROBEx, which I don't > consider a small detail (though the solaris tailcall thing certainly > is). > > It's (of course) just a style thing, but traditionally in hotspot > we've wanted the os or arch specific code in os or arch specific > directories, instead of littering the code with #ifdefs. I know the OSX > stuff started violated this some, but I hope we're going to resolve that > rather than continue down that path. I wouldn't have mind if the OSX stuff was split out this way, but now I don't have any example to follow here. What/How do you suggest it is done? Thanks, Mark From roland.westrelin at oracle.com Wed May 23 07:14:00 2012 From: roland.westrelin at oracle.com (roland.westrelin at oracle.com) Date: Wed, 23 May 2012 14:14:00 +0000 Subject: hg: hsx/hsx23.2/hotspot: 7167254: Crash on OSX in Enumerator.nextElement() with compressed oops Message-ID: <20120523141405.E061347499@hg.openjdk.java.net> Changeset: ea3152ff2a49 Author: roland Date: 2012-05-18 15:50 +0200 URL: http://hg.openjdk.java.net/hsx/hsx23.2/hotspot/rev/ea3152ff2a49 7167254: Crash on OSX in Enumerator.nextElement() with compressed oops Summary: null checks in "compressed oops with base" mode may trigger a SIGBUS rather than a SIGSEGV. Reviewed-by: dsamersoff, dcubed, rbackman, kvn ! src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp From keith.mcguigan at oracle.com Wed May 23 07:23:11 2012 From: keith.mcguigan at oracle.com (Keith McGuigan) Date: Wed, 23 May 2012 10:23:11 -0400 Subject: [PATCH 0 of 3] Add support for dtrace compatible sdt probes on GNU/Linux In-Reply-To: <1337781400.3002.17.camel@springer.wildebeest.org> References: <4FABE435.3070101@oracle.com> <1336982811.3015.1.camel@springer.wildebeest.org> <4FB10B9E.8060500@oracle.com> <20120517192555.GB2423@toonder.wildebeest.org> <4FB58E19.8070002@oracle.com> <4FB5D481.2060307@oracle.com> <4FB5EC9D.10302@oracle.com> <1337592522.3408.16.camel@springer.wildebeest.org> <4FBB07C1.8000302@oracle.com> <4FBB15A2.7090808@oracle.com> <4FBB3555.2080607@oracle.com> <4FBCB9C7.3000304@oracle.com> <4FBCE2B0.3050201@oracle.com> <1337779575.3002.6.camel@springer.wildebeest.org> <4FBCE92C.8010708@oracle.com> <1337781400.3002.17.camel@springer.wildebeest.org> Message-ID: <4FBCF2CF.9000301@oracle.com> On 5/23/2012 9:56 AM, Mark Wielaard wrote: >> It's (of course) just a style thing, but traditionally in hotspot >> we've wanted the os or arch specific code in os or arch specific >> directories, instead of littering the code with #ifdefs. I know the OSX >> stuff started violated this some, but I hope we're going to resolve that >> rather than continue down that path. > > I wouldn't have mind if the OSX stuff was split out this way, but now I > don't have any example to follow here. What/How do you suggest it is > done? My first thought would be to create a dtrace_solaris.hpp file in src/os/solaris/vm and a dtrace_linux.hpp file in src/os/linux/vm (and maybe the same for bsd and windows?) for any OS-specific stuff, like the macro definitions and maybe even that solaris workaround. Leave anything common in the original file (like the default empty definitions and such). Then you include the specific-file based on the target OS, similar to what's done here: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/file/03d61caacd1e/src/share/vm/runtime/interfaceSupport.hpp Yeah... it's a bit of a pain, and maybe in this case it's a little overkill. But it's definitely nice to have a location for the OS-specific stuff and it keeps the code rather neat. I think the only reason it wasn't done like this in the first place is that originally the DTrace code was either on or off based upon a 'make' variable so there wasn't many OS-based decisions (except in the Makefile of course). Probably it should have been done this way (split out) originally. My bad. -- - Keith From joe.darcy at oracle.com Wed May 23 08:32:58 2012 From: joe.darcy at oracle.com (Joe Darcy) Date: Wed, 23 May 2012 08:32:58 -0700 Subject: CCC (Was: request for codereview, bug 7149528: easy usage of serviceability agent) In-Reply-To: <20120523072008.GA4569@toonder.wildebeest.org> References: <4FAD8922.9010902@oracle.com> <2DC2B513-1692-487E-82C7-ED0CE00332FD@oracle.com> <4FBBD00B.8080609@oracle.com> <4FBBD951.1040302@oracle.com> <20120523072008.GA4569@toonder.wildebeest.org> Message-ID: <4FBD032A.9010302@oracle.com> Hi Mark, On 5/23/2012 12:20 AM, Mark Wielaard wrote: > Hi Joe, > > On Tue, May 22, 2012 at 11:22:09AM -0700, Joe Darcy wrote: >> This state >> model is explained in the "process" link at the top of every ccc >> page and was additionally explained in a tech talk I gave earlier >> this year: >> >> http://j2se.us.oracle.com/web/pub/PrgMgmt/TechTalks/ccc-and-you.pdf >> >> Please do not blame excessive wait times on the ccc process when the >> ccc is not being used as documented Oops; thought I was sending to an internal alias. In any case, the ccc is currently an Oracle-internal process for reviewing and tracking interface changes to the JDK. I've been chairing the process for about the past two years. > It looks like that site isn't publicly reachable. Could you put the > document somewhere on openjdk.java.net or another more public place? > I recently got a question about submitting a CCC request in response > to one of my patches, but found very little documentation. The long-standing intention is to externalize the ccc process as part of the overall effort to open up the JDK-related infrastructure, like the bug system. When that occurs, I'll provide appropriate documentation about the intention of the process, how it process works, and so on. Cheers, -Joe > Thanks, > > Mark From mjw at redhat.com Wed May 23 09:19:29 2012 From: mjw at redhat.com (Mark Wielaard) Date: Wed, 23 May 2012 18:19:29 +0200 Subject: [PATCH 0 of 3] Add support for dtrace compatible sdt probes on GNU/Linux In-Reply-To: <4FBCF2CF.9000301@oracle.com> References: <4FABE435.3070101@oracle.com> <1336982811.3015.1.camel@springer.wildebeest.org> <4FB10B9E.8060500@oracle.com> <20120517192555.GB2423@toonder.wildebeest.org> <4FB58E19.8070002@oracle.com> <4FB5D481.2060307@oracle.com> <4FB5EC9D.10302@oracle.com> <1337592522.3408.16.camel@springer.wildebeest.org> <4FBB07C1.8000302@oracle.com> <4FBB15A2.7090808@oracle.com> <4FBB3555.2080607@oracle.com> <4FBCB9C7.3000304@oracle.com> <4FBCE2B0.3050201@oracle.com> <1337779575.3002.6.camel@springer.wildebeest.org> <4FBCE92C.8010708@oracle.com> <1337781400.3002.17.camel@springer.wildebeest.org> <4FBCF2CF.9000301@oracle.com> Message-ID: <1337789969.3002.25.camel@springer.wildebeest.org> On Wed, 2012-05-23 at 10:23 -0400, Keith McGuigan wrote: > On 5/23/2012 9:56 AM, Mark Wielaard wrote: > >> It's (of course) just a style thing, but traditionally in hotspot > >> we've wanted the os or arch specific code in os or arch specific > >> directories, instead of littering the code with #ifdefs. I know the OSX > >> stuff started violated this some, but I hope we're going to resolve that > >> rather than continue down that path. > > > > I wouldn't have mind if the OSX stuff was split out this way, but now I > > don't have any example to follow here. What/How do you suggest it is > > done? > > My first thought would be to create a dtrace_solaris.hpp file in > src/os/solaris/vm and a dtrace_linux.hpp file in src/os/linux/vm (and > maybe the same for bsd and windows?) for any OS-specific stuff, like the > macro definitions and maybe even that solaris workaround. Leave > anything common in the original file (like the default empty definitions > and such). Then you include the specific-file based on the target OS, > similar to what's done here: > http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/file/03d61caacd1e/src/share/vm/runtime/interfaceSupport.hpp > > Yeah... it's a bit of a pain, and maybe in this case it's a little > overkill. But it's definitely nice to have a location for the > OS-specific stuff and it keeps the code rather neat. So, do you require this change or not? I don't particularly like that style (you loose the overview/a central place where all the magic macros are defined), but I can certainly do it if you require it now. But then I want to do it as additional patches on top of the current patches to make sure they are separate. Since I will then have to touch code for at least two architectures to which I don't have access (I also don't have access to windows nor bsd, but I hope I don't have to touch those too). So I want such changes to be testable separately by the architecture maintainers. Thanks, Mark From keith.mcguigan at oracle.com Wed May 23 09:27:42 2012 From: keith.mcguigan at oracle.com (Keith McGuigan) Date: Wed, 23 May 2012 12:27:42 -0400 Subject: [PATCH 0 of 3] Add support for dtrace compatible sdt probes on GNU/Linux In-Reply-To: <1337789969.3002.25.camel@springer.wildebeest.org> References: <4FABE435.3070101@oracle.com> <1336982811.3015.1.camel@springer.wildebeest.org> <4FB10B9E.8060500@oracle.com> <20120517192555.GB2423@toonder.wildebeest.org> <4FB58E19.8070002@oracle.com> <4FB5D481.2060307@oracle.com> <4FB5EC9D.10302@oracle.com> <1337592522.3408.16.camel@springer.wildebeest.org> <4FBB07C1.8000302@oracle.com> <4FBB15A2.7090808@oracle.com> <4FBB3555.2080607@oracle.com> <4FBCB9C7.3000304@oracle.com> <4FBCE2B0.3050201@oracle.com> <1337779575.3002.6.camel@springer.wildebeest.org> <4FBCE92C.8010708@oracle.com> <1337781400.3002.17.camel@springer.wildebeest.org> <4FBCF2CF.9000301@oracle.com> <1337789969.3002.25.camel@springer.wildebeest.org> Message-ID: <4FBD0FFE.6060402@oracle.com> Hi Mark - I'd prefer that it's done the "right" way (based on *my* definition of "right", of course :) ), but I won't put up a fuss if whomever shepherds this through agrees with you and wants to keep it in it's current form. I expect that will be Serguei, or someone else from the serviceability team? (Serguei?) -- - Keith On 5/23/2012 12:19 PM, Mark Wielaard wrote: > On Wed, 2012-05-23 at 10:23 -0400, Keith McGuigan wrote: >> On 5/23/2012 9:56 AM, Mark Wielaard wrote: >>>> It's (of course) just a style thing, but traditionally in hotspot >>>> we've wanted the os or arch specific code in os or arch specific >>>> directories, instead of littering the code with #ifdefs. I know the OSX >>>> stuff started violated this some, but I hope we're going to resolve that >>>> rather than continue down that path. >>> >>> I wouldn't have mind if the OSX stuff was split out this way, but now I >>> don't have any example to follow here. What/How do you suggest it is >>> done? >> >> My first thought would be to create a dtrace_solaris.hpp file in >> src/os/solaris/vm and a dtrace_linux.hpp file in src/os/linux/vm (and >> maybe the same for bsd and windows?) for any OS-specific stuff, like the >> macro definitions and maybe even that solaris workaround. Leave >> anything common in the original file (like the default empty definitions >> and such). Then you include the specific-file based on the target OS, >> similar to what's done here: >> http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/file/03d61caacd1e/src/share/vm/runtime/interfaceSupport.hpp >> >> Yeah... it's a bit of a pain, and maybe in this case it's a little >> overkill. But it's definitely nice to have a location for the >> OS-specific stuff and it keeps the code rather neat. > > So, do you require this change or not? I don't particularly like that > style (you loose the overview/a central place where all the magic macros > are defined), but I can certainly do it if you require it now. But then > I want to do it as additional patches on top of the current patches to > make sure they are separate. Since I will then have to touch code for at > least two architectures to which I don't have access (I also don't have > access to windows nor bsd, but I hope I don't have to touch those too). > So I want such changes to be testable separately by the architecture > maintainers. > > Thanks, > > Mark From joe.darcy at oracle.com Wed May 23 09:32:54 2012 From: joe.darcy at oracle.com (Joe Darcy) Date: Wed, 23 May 2012 09:32:54 -0700 Subject: CCC (Was: request for codereview, bug 7149528: easy usage of serviceability agent) In-Reply-To: <4FBCB36B.8040209@oracle.com> References: <4FAD8922.9010902@oracle.com> <2DC2B513-1692-487E-82C7-ED0CE00332FD@oracle.com> <4FBBD00B.8080609@oracle.com> <4FBBD951.1040302@oracle.com> <20120523072008.GA4569@toonder.wildebeest.org> <4FBCB36B.8040209@oracle.com> Message-ID: <4FBD1136.1020307@oracle.com> Hi Serguei, On 5/23/2012 2:52 AM, serguei.spitsyn at oracle.com wrote: > Hi Joe, > > In fact, we have the following question: > Q1: Do we have to submit a CCC request to enable the HotSpot DTrace > probes on Linux? There isn't a lot of information in the 7149528 bug report to give a final answer, but I would lean on saying "yes" this requires a ccc. > > The following is not completely clear to me: > Q2: Do we go through the CCC process when some interfaces are already > enabled on one platform and we want to enable on another? Yes, a ccc would often be required in those circumstances. Cheers, -Joe > > My guess is that the answers must be positive but wanted to double-check. > > Thanks, > Serguei > > > On 5/23/12 12:20 AM, Mark Wielaard wrote: >> Hi Joe, >> >> On Tue, May 22, 2012 at 11:22:09AM -0700, Joe Darcy wrote: >>> This state >>> model is explained in the "process" link at the top of every ccc >>> page and was additionally explained in a tech talk I gave earlier >>> this year: >>> >>> http://j2se.us.oracle.com/web/pub/PrgMgmt/TechTalks/ccc-and-you.pdf >>> >>> Please do not blame excessive wait times on the ccc process when the >>> ccc is not being used as documented >> It looks like that site isn't publicly reachable. Could you put the >> document somewhere on openjdk.java.net or another more public place? >> I recently got a question about submitting a CCC request in response >> to one of my patches, but found very little documentation. >> >> Thanks, >> >> Mark > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20120523/adb4724a/attachment.html From serguei.spitsyn at oracle.com Wed May 23 09:35:12 2012 From: serguei.spitsyn at oracle.com (serguei.spitsyn at oracle.com) Date: Wed, 23 May 2012 09:35:12 -0700 Subject: CCC (Was: request for codereview, bug 7149528: easy usage of serviceability agent) In-Reply-To: <4FBD1136.1020307@oracle.com> References: <4FAD8922.9010902@oracle.com> <2DC2B513-1692-487E-82C7-ED0CE00332FD@oracle.com> <4FBBD00B.8080609@oracle.com> <4FBBD951.1040302@oracle.com> <20120523072008.GA4569@toonder.wildebeest.org> <4FBCB36B.8040209@oracle.com> <4FBD1136.1020307@oracle.com> Message-ID: <4FBD11C0.9000807@oracle.com> Thanks! Serguei On 5/23/12 9:32 AM, Joe Darcy wrote: > Hi Serguei, > > On 5/23/2012 2:52 AM, serguei.spitsyn at oracle.com wrote: >> Hi Joe, >> >> In fact, we have the following question: >> Q1: Do we have to submit a CCC request to enable the HotSpot DTrace >> probes on Linux? > > There isn't a lot of information in the 7149528 bug report to give a > final answer, but I would lean on saying "yes" this requires a ccc. > >> >> The following is not completely clear to me: >> Q2: Do we go through the CCC process when some interfaces are >> already enabled on one platform and we want to enable on another? > > Yes, a ccc would often be required in those circumstances. > > Cheers, > > -Joe > >> >> My guess is that the answers must be positive but wanted to double-check. >> >> Thanks, >> Serguei >> >> >> On 5/23/12 12:20 AM, Mark Wielaard wrote: >>> Hi Joe, >>> >>> On Tue, May 22, 2012 at 11:22:09AM -0700, Joe Darcy wrote: >>>> This state >>>> model is explained in the "process" link at the top of every ccc >>>> page and was additionally explained in a tech talk I gave earlier >>>> this year: >>>> >>>> http://j2se.us.oracle.com/web/pub/PrgMgmt/TechTalks/ccc-and-you.pdf >>>> >>>> Please do not blame excessive wait times on the ccc process when the >>>> ccc is not being used as documented >>> It looks like that site isn't publicly reachable. Could you put the >>> document somewhere on openjdk.java.net or another more public place? >>> I recently got a question about submitting a CCC request in response >>> to one of my patches, but found very little documentation. >>> >>> Thanks, >>> >>> Mark >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20120523/838ea75e/attachment-0001.html From mark at klomp.org Wed May 23 09:39:01 2012 From: mark at klomp.org (Mark Wielaard) Date: Wed, 23 May 2012 18:39:01 +0200 Subject: CCC (Was: request for codereview, bug 7149528: easy usage of serviceability agent) In-Reply-To: <4FBD1136.1020307@oracle.com> References: <4FAD8922.9010902@oracle.com> <2DC2B513-1692-487E-82C7-ED0CE00332FD@oracle.com> <4FBBD00B.8080609@oracle.com> <4FBBD951.1040302@oracle.com> <20120523072008.GA4569@toonder.wildebeest.org> <4FBCB36B.8040209@oracle.com> <4FBD1136.1020307@oracle.com> Message-ID: <1337791141.3002.26.camel@springer.wildebeest.org> On Wed, 2012-05-23 at 09:32 -0700, Joe Darcy wrote: > On 5/23/2012 2:52 AM, serguei.spitsyn at oracle.com wrote: > > In fact, we have the following question: > > Q1: Do we have to submit a CCC request to enable the HotSpot DTrace > > probes on Linux? > > There isn't a lot of information in the 7149528 bug report to give a > final answer, but I would lean on saying "yes" this requires a ccc. Are you talking about the same bug report? Serguei created: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7170638 From serguei.spitsyn at oracle.com Wed May 23 09:47:55 2012 From: serguei.spitsyn at oracle.com (serguei.spitsyn at oracle.com) Date: Wed, 23 May 2012 09:47:55 -0700 Subject: CCC (Was: request for codereview, bug 7149528: easy usage of serviceability agent) In-Reply-To: <1337791141.3002.26.camel@springer.wildebeest.org> References: <4FAD8922.9010902@oracle.com> <2DC2B513-1692-487E-82C7-ED0CE00332FD@oracle.com> <4FBBD00B.8080609@oracle.com> <4FBBD951.1040302@oracle.com> <20120523072008.GA4569@toonder.wildebeest.org> <4FBCB36B.8040209@oracle.com> <4FBD1136.1020307@oracle.com> <1337791141.3002.26.camel@springer.wildebeest.org> Message-ID: <4FBD14BB.4040806@oracle.com> On 5/23/12 9:39 AM, Mark Wielaard wrote: > On Wed, 2012-05-23 at 09:32 -0700, Joe Darcy wrote: >> On 5/23/2012 2:52 AM, serguei.spitsyn at oracle.com wrote: >>> In fact, we have the following question: >>> Q1: Do we have to submit a CCC request to enable the HotSpot DTrace >>> probes on Linux? >> There isn't a lot of information in the 7149528 bug report to give a >> final answer, but I would lean on saying "yes" this requires a ccc. > Are you talking about the same bug report? Serguei created: > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7170638 Mark, Thank you for catching this! Joe, Just to avoid confusions... This is the bug report I was talking about (monaco-based link for your convenience): http://monaco.us.oracle.com/detail.jsf?cr=7170638 Thanks, Serguei -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20120523/81ec25ca/attachment.html From serguei.spitsyn at oracle.com Wed May 23 10:06:08 2012 From: serguei.spitsyn at oracle.com (serguei.spitsyn at oracle.com) Date: Wed, 23 May 2012 10:06:08 -0700 Subject: CCC (Was: request for codereview, bug 7149528: easy usage of serviceability agent) In-Reply-To: <4FBD14BB.4040806@oracle.com> References: <4FAD8922.9010902@oracle.com> <2DC2B513-1692-487E-82C7-ED0CE00332FD@oracle.com> <4FBBD00B.8080609@oracle.com> <4FBBD951.1040302@oracle.com> <20120523072008.GA4569@toonder.wildebeest.org> <4FBCB36B.8040209@oracle.com> <4FBD1136.1020307@oracle.com> <1337791141.3002.26.camel@springer.wildebeest.org> <4FBD14BB.4040806@oracle.com> Message-ID: <4FBD1900.4090401@oracle.com> On 5/23/12 9:47 AM, serguei.spitsyn at oracle.com wrote: > On 5/23/12 9:39 AM, Mark Wielaard wrote: >> On Wed, 2012-05-23 at 09:32 -0700, Joe Darcy wrote: >>> On 5/23/2012 2:52 AM,serguei.spitsyn at oracle.com wrote: >>>> In fact, we have the following question: >>>> Q1: Do we have to submit a CCC request to enable the HotSpot DTrace >>>> probes on Linux? >>> There isn't a lot of information in the 7149528 bug report to give a >>> final answer, but I would lean on saying "yes" this requires a ccc. >> Are you talking about the same bug report? Serguei created: >> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7170638 > Mark, > > Thank you for catching this! > Joe, > > Just to avoid confusions... > > This is the bug report I was talking about (monaco-based link for your > convenience): > http://monaco.us.oracle.com/detail.jsf?cr=7170638 Need to explain it better. Last questions from Mark and me are unrelated to the original discussion about SA (7149528). I had to send my questions with a different subject. But your answers must be still correct, right? Thanks, Serguei > > Thanks, > Serguei > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20120523/db21f24b/attachment.html From serguei.spitsyn at oracle.com Wed May 23 10:25:10 2012 From: serguei.spitsyn at oracle.com (serguei.spitsyn at oracle.com) Date: Wed, 23 May 2012 10:25:10 -0700 Subject: [PATCH 0 of 3] Add support for dtrace compatible sdt probes on GNU/Linux In-Reply-To: <4FBD0FFE.6060402@oracle.com> References: <4FABE435.3070101@oracle.com> <1336982811.3015.1.camel@springer.wildebeest.org> <4FB10B9E.8060500@oracle.com> <20120517192555.GB2423@toonder.wildebeest.org> <4FB58E19.8070002@oracle.com> <4FB5D481.2060307@oracle.com> <4FB5EC9D.10302@oracle.com> <1337592522.3408.16.camel@springer.wildebeest.org> <4FBB07C1.8000302@oracle.com> <4FBB15A2.7090808@oracle.com> <4FBB3555.2080607@oracle.com> <4FBCB9C7.3000304@oracle.com> <4FBCE2B0.3050201@oracle.com> <1337779575.3002.6.camel@springer.wildebeest.org> <4FBCE92C.8010708@oracle.com> <1337781400.3002.17.camel@springer.wildebeest.org> <4FBCF2CF.9000301@oracle.com> <1337789969.3002.25.camel@springer.wildebeest.org> <4FBD0FFE.6060402@oracle.com> Message-ID: <4FBD1D76.90206@oracle.com> Keith, I agree that it'd be nice to follow the rules. But we also can do it in two stages: - first integration to keep close to the original fix that was already tested on Linux platform (as Mark tells) - separate refactoring to follow the platform separation rules (will need to file another CR) Not sure I'll be able to work on this in the near future (a month) as I have to switch to the urgent security issue. But it is still can be possible to do in a background with a low priority. Other action items for this integration: 1. Test that the HS DTrace are not broken on Solaris 2. Find or setup a Linux machine with the systemTap 3. Check that the fix is built Ok 4. Test that the fix works on Linux Need a unit test for the fix (Mark, do you have any?) Thanks, Serguei On 5/23/12 9:27 AM, Keith McGuigan wrote: > > Hi Mark - > > I'd prefer that it's done the "right" way (based on *my* definition of > "right", of course :) ), but I won't put up a fuss if whomever > shepherds this through agrees with you and wants to keep it in it's > current form. I expect that will be Serguei, or someone else from the > serviceability team? (Serguei?) > > -- > - Keith > > On 5/23/2012 12:19 PM, Mark Wielaard wrote: >> On Wed, 2012-05-23 at 10:23 -0400, Keith McGuigan wrote: >>> On 5/23/2012 9:56 AM, Mark Wielaard wrote: >>>>> It's (of course) just a style thing, but traditionally in hotspot >>>>> we've wanted the os or arch specific code in os or arch specific >>>>> directories, instead of littering the code with #ifdefs. I know >>>>> the OSX >>>>> stuff started violated this some, but I hope we're going to >>>>> resolve that >>>>> rather than continue down that path. >>>> >>>> I wouldn't have mind if the OSX stuff was split out this way, but >>>> now I >>>> don't have any example to follow here. What/How do you suggest it is >>>> done? >>> >>> My first thought would be to create a dtrace_solaris.hpp file in >>> src/os/solaris/vm and a dtrace_linux.hpp file in src/os/linux/vm (and >>> maybe the same for bsd and windows?) for any OS-specific stuff, like >>> the >>> macro definitions and maybe even that solaris workaround. Leave >>> anything common in the original file (like the default empty >>> definitions >>> and such). Then you include the specific-file based on the target OS, >>> similar to what's done here: >>> http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/file/03d61caacd1e/src/share/vm/runtime/interfaceSupport.hpp >>> >>> >>> Yeah... it's a bit of a pain, and maybe in this case it's a little >>> overkill. But it's definitely nice to have a location for the >>> OS-specific stuff and it keeps the code rather neat. >> >> So, do you require this change or not? I don't particularly like that >> style (you loose the overview/a central place where all the magic macros >> are defined), but I can certainly do it if you require it now. But then >> I want to do it as additional patches on top of the current patches to >> make sure they are separate. Since I will then have to touch code for at >> least two architectures to which I don't have access (I also don't have >> access to windows nor bsd, but I hope I don't have to touch those too). >> So I want such changes to be testable separately by the architecture >> maintainers. >> >> Thanks, >> >> Mark -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20120523/0f51fba2/attachment.html From keith.mcguigan at oracle.com Wed May 23 10:49:28 2012 From: keith.mcguigan at oracle.com (Keith McGuigan) Date: Wed, 23 May 2012 13:49:28 -0400 Subject: [PATCH 0 of 3] Add support for dtrace compatible sdt probes on GNU/Linux In-Reply-To: <4FBD1D76.90206@oracle.com> References: <4FABE435.3070101@oracle.com> <1336982811.3015.1.camel@springer.wildebeest.org> <4FB10B9E.8060500@oracle.com> <20120517192555.GB2423@toonder.wildebeest.org> <4FB58E19.8070002@oracle.com> <4FB5D481.2060307@oracle.com> <4FB5EC9D.10302@oracle.com> <1337592522.3408.16.camel@springer.wildebeest.org> <4FBB07C1.8000302@oracle.com> <4FBB15A2.7090808@oracle.com> <4FBB3555.2080607@oracle.com> <4FBCB9C7.3000304@oracle.com> <4FBCE2B0.3050201@oracle.com> <1337779575.3002.6.camel@springer.wildebeest.org> <4FBCE92C.8010708@oracle.com> <1337781400.3002.17.camel@springer.wildebeest.org> <4FBCF2CF.9000301@oracle.com> <1337789969.3002.25.camel@springer.wildebeest.org> <4FBD0FFE.6060402@oracle.com> <4FBD1D76.90206@oracle.com> Message-ID: <4FBD2328.2040901@oracle.com> Serguei - I think that all sounds fine. -- - Keith On 5/23/2012 1:25 PM, serguei.spitsyn at oracle.com wrote: > Keith, > > I agree that it'd be nice to follow the rules. > But we also can do it in two stages: > - first integration to keep close to the original fix that was already > tested on Linux platform (as Mark tells) > - separate refactoring to follow the platform separation rules (will > need to file another CR) > > Not sure I'll be able to work on this in the near future (a month) as I > have to switch to the urgent security issue. > But it is still can be possible to do in a background with a low priority. > > Other action items for this integration: > 1. Test that the HS DTrace are not broken on Solaris > 2. Find or setup a Linux machine with the systemTap > 3. Check that the fix is built Ok > 4. Test that the fix works on Linux > Need a unit test for the fix (Mark, do you have any?) > > Thanks, > Serguei > > > On 5/23/12 9:27 AM, Keith McGuigan wrote: >> >> Hi Mark - >> >> I'd prefer that it's done the "right" way (based on *my* definition of >> "right", of course :) ), but I won't put up a fuss if whomever >> shepherds this through agrees with you and wants to keep it in it's >> current form. I expect that will be Serguei, or someone else from the >> serviceability team? (Serguei?) >> >> -- >> - Keith >> >> On 5/23/2012 12:19 PM, Mark Wielaard wrote: >>> On Wed, 2012-05-23 at 10:23 -0400, Keith McGuigan wrote: >>>> On 5/23/2012 9:56 AM, Mark Wielaard wrote: >>>>>> It's (of course) just a style thing, but traditionally in hotspot >>>>>> we've wanted the os or arch specific code in os or arch specific >>>>>> directories, instead of littering the code with #ifdefs. I know >>>>>> the OSX >>>>>> stuff started violated this some, but I hope we're going to >>>>>> resolve that >>>>>> rather than continue down that path. >>>>> >>>>> I wouldn't have mind if the OSX stuff was split out this way, but >>>>> now I >>>>> don't have any example to follow here. What/How do you suggest it is >>>>> done? >>>> >>>> My first thought would be to create a dtrace_solaris.hpp file in >>>> src/os/solaris/vm and a dtrace_linux.hpp file in src/os/linux/vm (and >>>> maybe the same for bsd and windows?) for any OS-specific stuff, like >>>> the >>>> macro definitions and maybe even that solaris workaround. Leave >>>> anything common in the original file (like the default empty >>>> definitions >>>> and such). Then you include the specific-file based on the target OS, >>>> similar to what's done here: >>>> http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/file/03d61caacd1e/src/share/vm/runtime/interfaceSupport.hpp >>>> >>>> >>>> Yeah... it's a bit of a pain, and maybe in this case it's a little >>>> overkill. But it's definitely nice to have a location for the >>>> OS-specific stuff and it keeps the code rather neat. >>> >>> So, do you require this change or not? I don't particularly like that >>> style (you loose the overview/a central place where all the magic macros >>> are defined), but I can certainly do it if you require it now. But then >>> I want to do it as additional patches on top of the current patches to >>> make sure they are separate. Since I will then have to touch code for at >>> least two architectures to which I don't have access (I also don't have >>> access to windows nor bsd, but I hope I don't have to touch those too). >>> So I want such changes to be testable separately by the architecture >>> maintainers. >>> >>> Thanks, >>> >>> Mark > From serguei.spitsyn at oracle.com Wed May 23 11:16:18 2012 From: serguei.spitsyn at oracle.com (serguei.spitsyn at oracle.com) Date: Wed, 23 May 2012 11:16:18 -0700 Subject: [PATCH 0 of 3] Add support for dtrace compatible sdt probes on GNU/Linux In-Reply-To: <4FBD2328.2040901@oracle.com> References: <4FABE435.3070101@oracle.com> <1336982811.3015.1.camel@springer.wildebeest.org> <4FB10B9E.8060500@oracle.com> <20120517192555.GB2423@toonder.wildebeest.org> <4FB58E19.8070002@oracle.com> <4FB5D481.2060307@oracle.com> <4FB5EC9D.10302@oracle.com> <1337592522.3408.16.camel@springer.wildebeest.org> <4FBB07C1.8000302@oracle.com> <4FBB15A2.7090808@oracle.com> <4FBB3555.2080607@oracle.com> <4FBCB9C7.3000304@oracle.com> <4FBCE2B0.3050201@oracle.com> <1337779575.3002.6.camel@springer.wildebeest.org> <4FBCE92C.8010708@oracle.com> <1337781400.3002.17.camel@springer.wildebeest.org> <4FBCF2CF.9000301@oracle.com> <1337789969.3002.25.camel@springer.wildebeest.org> <4FBD0FFE.6060402@oracle.com> <4FBD1D76.90206@oracle.com> <4FBD2328.2040901@oracle.com> Message-ID: <4FBD2972.5090208@oracle.com> Keith, Thank you for reviewing at the fix! I forgot to mention another AI: 5. Submit a CCC request and get an approval I'll do this as a background work. Mark, are you Ok with that? Thanks, Serguei On 5/23/12 10:49 AM, Keith McGuigan wrote: > > Serguei - > > I think that all sounds fine. > > -- > - Keith > > On 5/23/2012 1:25 PM, serguei.spitsyn at oracle.com wrote: >> Keith, >> >> I agree that it'd be nice to follow the rules. >> But we also can do it in two stages: >> - first integration to keep close to the original fix that was already >> tested on Linux platform (as Mark tells) >> - separate refactoring to follow the platform separation rules (will >> need to file another CR) >> >> Not sure I'll be able to work on this in the near future (a month) as I >> have to switch to the urgent security issue. >> But it is still can be possible to do in a background with a low >> priority. >> >> Other action items for this integration: >> 1. Test that the HS DTrace are not broken on Solaris >> 2. Find or setup a Linux machine with the systemTap >> 3. Check that the fix is built Ok >> 4. Test that the fix works on Linux >> Need a unit test for the fix (Mark, do you have any?) >> >> Thanks, >> Serguei >> >> >> On 5/23/12 9:27 AM, Keith McGuigan wrote: >>> >>> Hi Mark - >>> >>> I'd prefer that it's done the "right" way (based on *my* definition of >>> "right", of course :) ), but I won't put up a fuss if whomever >>> shepherds this through agrees with you and wants to keep it in it's >>> current form. I expect that will be Serguei, or someone else from the >>> serviceability team? (Serguei?) >>> >>> -- >>> - Keith >>> >>> On 5/23/2012 12:19 PM, Mark Wielaard wrote: >>>> On Wed, 2012-05-23 at 10:23 -0400, Keith McGuigan wrote: >>>>> On 5/23/2012 9:56 AM, Mark Wielaard wrote: >>>>>>> It's (of course) just a style thing, but traditionally in >>>>>>> hotspot >>>>>>> we've wanted the os or arch specific code in os or arch specific >>>>>>> directories, instead of littering the code with #ifdefs. I know >>>>>>> the OSX >>>>>>> stuff started violated this some, but I hope we're going to >>>>>>> resolve that >>>>>>> rather than continue down that path. >>>>>> >>>>>> I wouldn't have mind if the OSX stuff was split out this way, but >>>>>> now I >>>>>> don't have any example to follow here. What/How do you suggest it is >>>>>> done? >>>>> >>>>> My first thought would be to create a dtrace_solaris.hpp file in >>>>> src/os/solaris/vm and a dtrace_linux.hpp file in src/os/linux/vm (and >>>>> maybe the same for bsd and windows?) for any OS-specific stuff, like >>>>> the >>>>> macro definitions and maybe even that solaris workaround. Leave >>>>> anything common in the original file (like the default empty >>>>> definitions >>>>> and such). Then you include the specific-file based on the target >>>>> OS, >>>>> similar to what's done here: >>>>> http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/file/03d61caacd1e/src/share/vm/runtime/interfaceSupport.hpp >>>>> >>>>> >>>>> >>>>> Yeah... it's a bit of a pain, and maybe in this case it's a little >>>>> overkill. But it's definitely nice to have a location for the >>>>> OS-specific stuff and it keeps the code rather neat. >>>> >>>> So, do you require this change or not? I don't particularly like that >>>> style (you loose the overview/a central place where all the magic >>>> macros >>>> are defined), but I can certainly do it if you require it now. But >>>> then >>>> I want to do it as additional patches on top of the current patches to >>>> make sure they are separate. Since I will then have to touch code >>>> for at >>>> least two architectures to which I don't have access (I also don't >>>> have >>>> access to windows nor bsd, but I hope I don't have to touch those >>>> too). >>>> So I want such changes to be testable separately by the architecture >>>> maintainers. >>>> >>>> Thanks, >>>> >>>> Mark >> -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20120523/d48540d8/attachment.html From zhengyu.gu at oracle.com Wed May 23 12:43:58 2012 From: zhengyu.gu at oracle.com (zhengyu.gu at oracle.com) Date: Wed, 23 May 2012 19:43:58 +0000 Subject: hg: hsx/hotspot-main/hotspot: 14 new changesets Message-ID: <20120523194428.BD5A4474A5@hg.openjdk.java.net> Changeset: 0251d217257f Author: sla Date: 2012-05-08 20:28 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/0251d217257f 7162726: Wrong filter predicate of visible locals in SA JSJavaFrame Reviewed-by: sla, dcubed Contributed-by: Krystal Mok ! agent/src/share/classes/sun/jvm/hotspot/utilities/soql/JSJavaFrame.java Changeset: 7f410b6ea66c Author: dholmes Date: 2012-05-09 00:28 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/7f410b6ea66c 7167406: (Zero) Fix for InvokeDynamic needed Reviewed-by: chrisphi, dholmes Contributed-by: Andrew Dinn ! src/cpu/zero/vm/cppInterpreter_zero.cpp Changeset: d506b2cf2ad0 Author: dholmes Date: 2012-05-09 04:32 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/d506b2cf2ad0 Merge Changeset: 78d2ae5ab35b Author: nloodin Date: 2012-05-09 16:24 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/78d2ae5ab35b 7163117: Agent can't connect to process on Mac OSX Reviewed-by: dholmes, coleenp, sla, minqi, kvn ! agent/src/share/classes/sun/jvm/hotspot/HotSpotAgent.java ! agent/src/share/classes/sun/jvm/hotspot/bugspot/BugSpotAgent.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/BsdCDebugger.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/BsdThreadContextFactory.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/proc/ProcDebuggerLocal.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/remote/RemoteDebuggerClient.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/Threads.java ! agent/src/share/classes/sun/jvm/hotspot/ui/classbrowser/HTMLGenerator.java Changeset: 037973617842 Author: kevinw Date: 2012-05-11 17:24 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/037973617842 7157734: hotspot test scripts not testing 64-bit JVM under JPRT/JTREG. Reviewed-by: kvn ! test/compiler/6894807/Test6894807.sh ! test/gc/6941923/test6941923.sh ! test/runtime/6626217/Test6626217.sh ! test/runtime/6878713/Test6878713.sh ! test/runtime/6929067/Test6929067.sh ! test/runtime/7020373/Test7020373.sh ! test/runtime/7051189/Xchecksig.sh ! test/runtime/7158988/TestFieldMonitor.sh Changeset: 2f4819f92dc7 Author: zgu Date: 2012-05-10 18:19 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/2f4819f92dc7 Merge - src/share/vm/gc_implementation/concurrentMarkSweep/binaryTreeDictionary.cpp - src/share/vm/gc_implementation/concurrentMarkSweep/binaryTreeDictionary.hpp - src/share/vm/gc_implementation/concurrentMarkSweep/freeBlockDictionary.cpp - src/share/vm/gc_implementation/concurrentMarkSweep/freeBlockDictionary.hpp - src/share/vm/gc_implementation/concurrentMarkSweep/freeList.cpp - src/share/vm/gc_implementation/concurrentMarkSweep/freeList.hpp Changeset: b4f7c4315c36 Author: zgu Date: 2012-05-12 06:50 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/b4f7c4315c36 Merge Changeset: 7d4e6dabc6bf Author: dcubed Date: 2012-05-15 10:52 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/7d4e6dabc6bf 7165060: dtrace tests fail with FDS debug info files Summary: Work around 'gobjcopy --add-gnu-debuglink' failure by adding a temporary tool that adds the '.gnu_debuglink' section and nothing more. Reviewed-by: sspitsyn, acorn + make/solaris/makefiles/add_gnu_debuglink.make ! make/solaris/makefiles/vm.make + src/os/solaris/add_gnu_debuglink/add_gnu_debuglink.c Changeset: 80b9cc90b643 Author: dcubed Date: 2012-05-15 11:27 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/80b9cc90b643 Merge ! make/solaris/makefiles/defs.make ! make/solaris/makefiles/vm.make Changeset: 9793f47cdebc Author: dcubed Date: 2012-05-15 15:16 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/9793f47cdebc 7169102: 7165060 merge lost changes to make/windows/makefiles/defs.make Reviewed-by: sspitsyn, acorn ! make/windows/makefiles/defs.make Changeset: 7432b9db36ff Author: nloodin Date: 2012-05-10 15:44 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/7432b9db36ff 7165755: OS Information much longer on linux than other platforms Reviewed-by: sla, dholmes ! src/os/bsd/vm/os_bsd.cpp ! src/os/linux/vm/os_linux.cpp ! src/os/linux/vm/os_linux.hpp ! src/os/posix/vm/os_posix.cpp + src/os/posix/vm/os_posix.hpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/solaris/vm/os_solaris.hpp ! src/os/windows/vm/os_windows.cpp ! src/os/windows/vm/os_windows.hpp ! src/share/vm/runtime/os.hpp Changeset: 198dcc84088c Author: dcubed Date: 2012-05-16 12:47 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/198dcc84088c 7169409: enabling ZIP_DEBUGINFO_FILES causes unexpected test failures on Windows X86 Summary: Disable ZIP_DEBUGINFO_FILES by default on Windows. Reviewed-by: acorn ! make/windows/makefiles/defs.make Changeset: 4b37c0dafe3a Author: dcubed Date: 2012-05-18 09:15 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/4b37c0dafe3a 7170010: conditional "ZIP_DEBUGINFO_FILES ?= 0" setting is not reliable on Windows Summary: Always disable ZIP_DEBUGINFO_FILES on Windows. Reviewed-by: acorn ! make/windows/makefiles/defs.make Changeset: cee14a6fc5ac Author: zgu Date: 2012-05-22 20:29 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/cee14a6fc5ac Merge From bob.vandette at oracle.com Wed May 23 13:47:22 2012 From: bob.vandette at oracle.com (Bob Vandette) Date: Wed, 23 May 2012 16:47:22 -0400 Subject: CFV: New hsx Committer: Jiangli Zhou Message-ID: I hereby nominate Jiangli Zhou to hsx Committer. Prior to joining hotspot embedded development, Jiangli had more than 10 years of experience in CVM/CDC. She worked on various areas of CVM, including classloading/runtime system, JIT porting, AOT, multi-processor support for ARM and MIPS, buildtime/runtime class ROMization. Jiangli has contributed 8 complex technical changes to hotspot, which includes adding storestore memory barriers for constructors with final field write in C1 and interpreter. In addition, she has contributed following changes that reduce memory usage for class metadata: http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/52b5d32fbfaf http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/cd5d8cafcc84 http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/a79cb7c55012 http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/f7c4174b33ba http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/49036505ab5f http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/8bafad97cd26 Votes, by Lazy Consensus, are due by Noon on Tuesday, June 6th, 2012 US Eastern Time. Only current hsx Committers are eligible to vote on this nomination. Bob Vandette Java SE Embedded Lead -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20120523/1e851bee/attachment.html From daniel.daugherty at oracle.com Wed May 23 13:50:31 2012 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Wed, 23 May 2012 14:50:31 -0600 Subject: CFV: New hsx Committer: Jiangli Zhou In-Reply-To: References: Message-ID: <4FBD4D97.6030406@oracle.com> Vote: yes Dan On 5/23/12 2:47 PM, Bob Vandette wrote: > I hereby nominate Jiangli Zhou to hsx Committer. > > Prior to joining hotspot embedded development, Jiangli had more than > 10 years of experience in CVM/CDC. > She worked on various areas of CVM, including classloading/runtime > system, JIT porting, AOT, multi-processor > support for ARM and MIPS, buildtime/runtime class ROMization. Jiangli > has contributed 8 complex technical > changes to hotspot, which includes adding storestore memory barriers > for constructors with final field write in > C1 and interpreter. > > In addition, she has contributed following changes that reduce memory > usage for class metadata: > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/52b5d32fbfaf > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/cd5d8cafcc84 > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/a79cb7c55012 > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/f7c4174b33ba > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/49036505ab5f > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/8bafad97cd26 > > > Votes, by Lazy Consensus, are due by Noon on Tuesday, June 6th, 2012 > US Eastern Time. > > Only current hsx Committers are eligible to vote on this nomination. > > Bob Vandette > Java SE Embedded Lead > > > From karen.kinnear at oracle.com Wed May 23 14:02:50 2012 From: karen.kinnear at oracle.com (Karen Kinnear) Date: Wed, 23 May 2012 17:02:50 -0400 Subject: CFV: New hsx Committer: Jiangli Zhou In-Reply-To: References: Message-ID: <5B511FD1-6D84-436C-83FA-2D268CEC6E47@oracle.com> Vote : yes Karen On May 23, 2012, at 4:47 PM, Bob Vandette wrote: > I hereby nominate Jiangli Zhou to hsx Committer. > > Prior to joining hotspot embedded development, Jiangli had more than 10 years of experience in CVM/CDC. > She worked on various areas of CVM, including classloading/runtime system, JIT porting, AOT, multi-processor > support for ARM and MIPS, buildtime/runtime class ROMization. Jiangli has contributed 8 complex technical > changes to hotspot, which includes adding storestore memory barriers for constructors with final field write in > C1 and interpreter. > > In addition, she has contributed following changes that reduce memory usage for class metadata: > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/52b5d32fbfaf > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/cd5d8cafcc84 > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/a79cb7c55012 > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/f7c4174b33ba > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/49036505ab5f > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/8bafad97cd26 > > > Votes, by Lazy Consensus, are due by Noon on Tuesday, June 6th, 2012 US Eastern Time. > > Only current hsx Committers are eligible to vote on this nomination. > > Bob Vandette > Java SE Embedded Lead > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20120523/6c5a32ac/attachment.html From John.Coomes at oracle.com Wed May 23 14:24:08 2012 From: John.Coomes at oracle.com (John Coomes) Date: Wed, 23 May 2012 14:24:08 -0700 Subject: CFV: New hsx Committer: Jiangli Zhou In-Reply-To: References: Message-ID: <20413.21880.785605.822187@oracle.com> Vote: yes -John From zhengyu.gu at oracle.com Wed May 23 14:36:14 2012 From: zhengyu.gu at oracle.com (Zhengyu Gu) Date: Wed, 23 May 2012 17:36:14 -0400 Subject: CFV: New hsx Committer: Jiangli Zhou In-Reply-To: References: Message-ID: <4FBD584E.9050705@oracle.com> Vote: yes -Zhengyu On 5/23/2012 4:47 PM, Bob Vandette wrote: > I hereby nominate Jiangli Zhou to hsx Committer. > > Prior to joining hotspot embedded development, Jiangli had more than > 10 years of experience in CVM/CDC. > She worked on various areas of CVM, including classloading/runtime > system, JIT porting, AOT, multi-processor > support for ARM and MIPS, buildtime/runtime class ROMization. Jiangli > has contributed 8 complex technical > changes to hotspot, which includes adding storestore memory barriers > for constructors with final field write in > C1 and interpreter. > > In addition, she has contributed following changes that reduce memory > usage for class metadata: > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/52b5d32fbfaf > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/cd5d8cafcc84 > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/a79cb7c55012 > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/f7c4174b33ba > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/49036505ab5f > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/8bafad97cd26 > > > Votes, by Lazy Consensus, are due by Noon on Tuesday, June 6th, 2012 > US Eastern Time. > > Only current hsx Committers are eligible to vote on this nomination. > > Bob Vandette > Java SE Embedded Lead > > > From vladimir.kozlov at oracle.com Wed May 23 14:39:32 2012 From: vladimir.kozlov at oracle.com (vladimir.kozlov at oracle.com) Date: Wed, 23 May 2012 21:39:32 +0000 Subject: hg: hsx/hsx23.2/hotspot: 6924259: Remove String.count/String.offset Message-ID: <20120523213937.B0176474A8@hg.openjdk.java.net> Changeset: 3facbb14e873 Author: kvn Date: 2012-05-14 09:36 -0700 URL: http://hg.openjdk.java.net/hsx/hsx23.2/hotspot/rev/3facbb14e873 6924259: Remove String.count/String.offset Summary: Allow a version of String class that doesn't have count and offset fields. Reviewed-by: never, coleenp ! src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp ! src/cpu/x86/vm/c1_LIRAssembler_x86.cpp ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/memory/dump.cpp ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/graphKit.hpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/opto/stringopts.cpp ! src/share/vm/opto/stringopts.hpp From david.holmes at oracle.com Wed May 23 17:01:42 2012 From: david.holmes at oracle.com (David Holmes) Date: Thu, 24 May 2012 10:01:42 +1000 Subject: CFV: New hsx Committer: Jiangli Zhou In-Reply-To: References: Message-ID: <4FBD7A66.6020205@oracle.com> Vote: Yes David On 24/05/2012 6:47 AM, Bob Vandette wrote: > I hereby nominate Jiangli Zhou to hsx Committer. > > Prior to joining hotspot embedded development, Jiangli had more than 10 > years of experience in CVM/CDC. > She worked on various areas of CVM, including classloading/runtime > system, JIT porting, AOT, multi-processor > support for ARM and MIPS, buildtime/runtime class ROMization. Jiangli > has contributed 8 complex technical > changes to hotspot, which includes adding storestore memory barriers for > constructors with final field write in > C1 and interpreter. > > In addition, she has contributed following changes that reduce memory > usage for class metadata: > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/52b5d32fbfaf > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/cd5d8cafcc84 > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/a79cb7c55012 > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/f7c4174b33ba > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/49036505ab5f > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/8bafad97cd26 > > > Votes, by Lazy Consensus, are due by Noon on Tuesday, June 6th, 2012 US > Eastern Time. > > Only current hsx Committers are eligible to vote on this nomination. > > Bob Vandette > Java SE Embedded Lead > > > From christian.thalinger at oracle.com Wed May 23 17:05:22 2012 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Wed, 23 May 2012 17:05:22 -0700 Subject: CFV: New hsx Committer: Jiangli Zhou In-Reply-To: References: Message-ID: <305A8594-7578-4CCA-9559-1D34DA38EE90@oracle.com> Vote: yes On May 23, 2012, at 1:47 PM, Bob Vandette wrote: > I hereby nominate Jiangli Zhou to hsx Committer. > > Prior to joining hotspot embedded development, Jiangli had more than 10 years of experience in CVM/CDC. > She worked on various areas of CVM, including classloading/runtime system, JIT porting, AOT, multi-processor > support for ARM and MIPS, buildtime/runtime class ROMization. Jiangli has contributed 8 complex technical > changes to hotspot, which includes adding storestore memory barriers for constructors with final field write in > C1 and interpreter. > > In addition, she has contributed following changes that reduce memory usage for class metadata: > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/52b5d32fbfaf > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/cd5d8cafcc84 > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/a79cb7c55012 > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/f7c4174b33ba > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/49036505ab5f > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/8bafad97cd26 > > > Votes, by Lazy Consensus, are due by Noon on Tuesday, June 6th, 2012 US Eastern Time. > > Only current hsx Committers are eligible to vote on this nomination. > > Bob Vandette > Java SE Embedded Lead > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20120523/fe2e03c3/attachment.html From bengt.rutisson at oracle.com Wed May 23 23:03:11 2012 From: bengt.rutisson at oracle.com (Bengt Rutisson) Date: Thu, 24 May 2012 08:03:11 +0200 Subject: CFV: New hsx Committer: Jiangli Zhou In-Reply-To: References: Message-ID: <4FBDCF1F.3020807@oracle.com> Vote: yes Bengt On 2012-05-23 22:47, Bob Vandette wrote: > I hereby nominate Jiangli Zhou to hsx Committer. > > Prior to joining hotspot embedded development, Jiangli had more than > 10 years of experience in CVM/CDC. > She worked on various areas of CVM, including classloading/runtime > system, JIT porting, AOT, multi-processor > support for ARM and MIPS, buildtime/runtime class ROMization. Jiangli > has contributed 8 complex technical > changes to hotspot, which includes adding storestore memory barriers > for constructors with final field write in > C1 and interpreter. > > In addition, she has contributed following changes that reduce memory > usage for class metadata: > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/52b5d32fbfaf > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/cd5d8cafcc84 > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/a79cb7c55012 > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/f7c4174b33ba > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/49036505ab5f > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/8bafad97cd26 > > > Votes, by Lazy Consensus, are due by Noon on Tuesday, June 6th, 2012 > US Eastern Time. > > Only current hsx Committers are eligible to vote on this nomination. > > Bob Vandette > Java SE Embedded Lead > > > From mjw at redhat.com Wed May 23 23:39:19 2012 From: mjw at redhat.com (Mark Wielaard) Date: Thu, 24 May 2012 08:39:19 +0200 Subject: [PATCH 0 of 3] Add support for dtrace compatible sdt probes on GNU/Linux In-Reply-To: <4FBD1D76.90206@oracle.com> References: <4FBB3555.2080607@oracle.com> <4FBCB9C7.3000304@oracle.com> <4FBCE2B0.3050201@oracle.com> <1337779575.3002.6.camel@springer.wildebeest.org> <4FBCE92C.8010708@oracle.com> <1337781400.3002.17.camel@springer.wildebeest.org> <4FBCF2CF.9000301@oracle.com> <1337789969.3002.25.camel@springer.wildebeest.org> <4FBD0FFE.6060402@oracle.com> <4FBD1D76.90206@oracle.com> Message-ID: <20120524063918.GB2002@toonder.wildebeest.org> On Wed, May 23, 2012 at 10:25:10AM -0700, serguei.spitsyn at oracle.com wrote: > Other action items for this integration: > 1. Test that the HS DTrace are not broken on Solaris If someone who has access to a solaris setup could do that, that would be appreciated. > 2. Find or setup a Linux machine with the systemTap > 3. Check that the fix is built Ok Any recent Fedora release, or RHEL6 release should do, just make sure that the systemtap-sdt-devel package is installed (which contains little more than the /usr/include/sys/sdt.h include file). There are some icedtea autobuilders that should have the build requirements. I'll make sure they are setup correctly. http://builder.classpath.org/icedtea/buildbot/buildslaves > 4. Test that the fix works on Linux > Need a unit test for the fix (Mark, do you have any?) Are there any tests for the solaris functionality? I can probably adapt one to work on gnu/linux. Otherwise I can write something gnu/linux specific. Thanks, Mark From mjw at redhat.com Wed May 23 23:42:01 2012 From: mjw at redhat.com (Mark Wielaard) Date: Thu, 24 May 2012 08:42:01 +0200 Subject: [PATCH 0 of 3] Add support for dtrace compatible sdt probes on GNU/Linux In-Reply-To: <4FBD2972.5090208@oracle.com> References: <4FBCE2B0.3050201@oracle.com> <1337779575.3002.6.camel@springer.wildebeest.org> <4FBCE92C.8010708@oracle.com> <1337781400.3002.17.camel@springer.wildebeest.org> <4FBCF2CF.9000301@oracle.com> <1337789969.3002.25.camel@springer.wildebeest.org> <4FBD0FFE.6060402@oracle.com> <4FBD1D76.90206@oracle.com> <4FBD2328.2040901@oracle.com> <4FBD2972.5090208@oracle.com> Message-ID: <20120524064201.GC2002@toonder.wildebeest.org> On Wed, May 23, 2012 at 11:16:18AM -0700, serguei.spitsyn at oracle.com wrote: > I forgot to mention another AI: > 5. Submit a CCC request and get an approval > > I'll do this as a background work. > Mark, are you Ok with that? Sure, please do. As far as I understood it, this CCC is just an internal bureaucratic procedure for Oracle employees that I cannot help with because it isn't public. Thanks, Mark From serguei.spitsyn at oracle.com Thu May 24 00:55:51 2012 From: serguei.spitsyn at oracle.com (serguei.spitsyn at oracle.com) Date: Thu, 24 May 2012 00:55:51 -0700 Subject: [PATCH 0 of 3] Add support for dtrace compatible sdt probes on GNU/Linux In-Reply-To: <20120524064201.GC2002@toonder.wildebeest.org> References: <4FBCE2B0.3050201@oracle.com> <1337779575.3002.6.camel@springer.wildebeest.org> <4FBCE92C.8010708@oracle.com> <1337781400.3002.17.camel@springer.wildebeest.org> <4FBCF2CF.9000301@oracle.com> <1337789969.3002.25.camel@springer.wildebeest.org> <4FBD0FFE.6060402@oracle.com> <4FBD1D76.90206@oracle.com> <4FBD2328.2040901@oracle.com> <4FBD2972.5090208@oracle.com> <20120524064201.GC2002@toonder.wildebeest.org> Message-ID: <4FBDE987.9030105@oracle.com> I wanted to say that I'll work on all 5 item actions in a background when get cycles. I'll ask you for help when needed. Thanks, Serguei On 5/23/12 11:42 PM, Mark Wielaard wrote: > On Wed, May 23, 2012 at 11:16:18AM -0700, serguei.spitsyn at oracle.com wrote: >> I forgot to mention another AI: >> 5. Submit a CCC request and get an approval >> >> I'll do this as a background work. >> Mark, are you Ok with that? > Sure, please do. As far as I understood it, this CCC is just an internal > bureaucratic procedure for Oracle employees that I cannot help with > because it isn't public. > > Thanks, > > Mark -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20120524/848a7685/attachment.html From mjw at redhat.com Thu May 24 02:54:47 2012 From: mjw at redhat.com (Mark Wielaard) Date: Thu, 24 May 2012 11:54:47 +0200 Subject: [PATCH 0 of 3] Add support for dtrace compatible sdt probes on GNU/Linux In-Reply-To: <4FBDE987.9030105@oracle.com> References: <4FBCE2B0.3050201@oracle.com> <1337779575.3002.6.camel@springer.wildebeest.org> <4FBCE92C.8010708@oracle.com> <1337781400.3002.17.camel@springer.wildebeest.org> <4FBCF2CF.9000301@oracle.com> <1337789969.3002.25.camel@springer.wildebeest.org> <4FBD0FFE.6060402@oracle.com> <4FBD1D76.90206@oracle.com> <4FBD2328.2040901@oracle.com> <4FBD2972.5090208@oracle.com> <20120524064201.GC2002@toonder.wildebeest.org> <4FBDE987.9030105@oracle.com> Message-ID: <1337853287.2954.2.camel@springer.wildebeest.org> On Thu, 2012-05-24 at 00:55 -0700, serguei.spitsyn at oracle.com wrote: > I wanted to say that I'll work on all 5 item actions in a background > when get cycles. > I'll ask you for help when needed. Sure. Could you indicate if that means days or weeks? I am more than willing to help polish the code and help with the process so that it finally gets committed sooner rather than later. Thanks, Mark From staffan.larsen at oracle.com Thu May 24 04:45:06 2012 From: staffan.larsen at oracle.com (Staffan Larsen) Date: Thu, 24 May 2012 13:45:06 +0200 Subject: CFV: New hsx Committer: Jiangli Zhou In-Reply-To: References: Message-ID: Vote: yes /Staffan On 23 maj 2012, at 22:47, Bob Vandette wrote: > I hereby nominate Jiangli Zhou to hsx Committer. > > Prior to joining hotspot embedded development, Jiangli had more than 10 years of experience in CVM/CDC. > She worked on various areas of CVM, including classloading/runtime system, JIT porting, AOT, multi-processor > support for ARM and MIPS, buildtime/runtime class ROMization. Jiangli has contributed 8 complex technical > changes to hotspot, which includes adding storestore memory barriers for constructors with final field write in > C1 and interpreter. > > In addition, she has contributed following changes that reduce memory usage for class metadata: > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/52b5d32fbfaf > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/cd5d8cafcc84 > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/a79cb7c55012 > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/f7c4174b33ba > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/49036505ab5f > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/8bafad97cd26 > > > Votes, by Lazy Consensus, are due by Noon on Tuesday, June 6th, 2012 US Eastern Time. > > Only current hsx Committers are eligible to vote on this nomination. > > Bob Vandette > Java SE Embedded Lead > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20120524/40863e60/attachment.html From roland.westrelin at oracle.com Thu May 24 05:04:49 2012 From: roland.westrelin at oracle.com (Roland Westrelin) Date: Thu, 24 May 2012 14:04:49 +0200 Subject: CFV: New hsx Committer: Jiangli Zhou In-Reply-To: References: Message-ID: <9660F6FD-754E-4EA8-95EB-2D18937D3FB1@oracle.com> Vote: yes Roland. On May 23, 2012, at 10:47 PM, Bob Vandette wrote: > I hereby nominate Jiangli Zhou to hsx Committer. > > Prior to joining hotspot embedded development, Jiangli had more than 10 years of experience in CVM/CDC. > She worked on various areas of CVM, including classloading/runtime system, JIT porting, AOT, multi-processor > support for ARM and MIPS, buildtime/runtime class ROMization. Jiangli has contributed 8 complex technical > changes to hotspot, which includes adding storestore memory barriers for constructors with final field write in > C1 and interpreter. > > In addition, she has contributed following changes that reduce memory usage for class metadata: > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/52b5d32fbfaf > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/cd5d8cafcc84 > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/a79cb7c55012 > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/f7c4174b33ba > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/49036505ab5f > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/8bafad97cd26 > > > Votes, by Lazy Consensus, are due by Noon on Tuesday, June 6th, 2012 US Eastern Time. > > Only current hsx Committers are eligible to vote on this nomination. > > Bob Vandette > Java SE Embedded Lead > > > From vladimir.danushevsky at oracle.com Thu May 24 05:53:42 2012 From: vladimir.danushevsky at oracle.com (Vladimir Danushevsky) Date: Thu, 24 May 2012 08:53:42 -0400 Subject: CFV: New hsx Committer: Jiangli Zhou In-Reply-To: References: Message-ID: <0E58AA40-7FA0-4E08-A730-DD5587C8130C@oracle.com> Vote: Yes Vlad On May 23, 2012, at 4:47 PM, Bob Vandette wrote: > I hereby nominate Jiangli Zhou to hsx Committer. > > Prior to joining hotspot embedded development, Jiangli had more than > 10 years of experience in CVM/CDC. > She worked on various areas of CVM, including classloading/runtime > system, JIT porting, AOT, multi-processor > support for ARM and MIPS, buildtime/runtime class ROMization. > Jiangli has contributed 8 complex technical > changes to hotspot, which includes adding storestore memory barriers > for constructors with final field write in > C1 and interpreter. > > In addition, she has contributed following changes that reduce > memory usage for class metadata: > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/52b5d32fbfaf > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/cd5d8cafcc84 > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/a79cb7c55012 > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/f7c4174b33ba > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/49036505ab5f > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/8bafad97cd26 > > > Votes, by Lazy Consensus, are due by Noon on Tuesday, June 6th, 2012 > US Eastern Time. > > Only current hsx Committers are eligible to vote on this nomination. > > Bob Vandette > Java SE Embedded Lead > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20120524/439af2e6/attachment.html From alejandro.murillo at oracle.com Thu May 24 08:17:47 2012 From: alejandro.murillo at oracle.com (Alejandro E Murillo) Date: Thu, 24 May 2012 09:17:47 -0600 Subject: CFV: New hsx Committer: Jiangli Zhou In-Reply-To: References: Message-ID: <4FBE511B.4070609@oracle.com> Vote: yes -- Alejandro From john.coomes at oracle.com Thu May 24 20:31:45 2012 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 25 May 2012 03:31:45 +0000 Subject: hg: hsx/hotspot-main: Added tag jdk8-b40 for changeset a2b2d435f1d2 Message-ID: <20120525033146.0BFFA474E5@hg.openjdk.java.net> Changeset: 1a8c7c530f8a Author: katleman Date: 2012-05-24 16:15 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/rev/1a8c7c530f8a Added tag jdk8-b40 for changeset a2b2d435f1d2 ! .hgtags From john.coomes at oracle.com Thu May 24 20:31:52 2012 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 25 May 2012 03:31:52 +0000 Subject: hg: hsx/hotspot-main/corba: Added tag jdk8-b40 for changeset 56d030e5035f Message-ID: <20120525033154.E1948474E6@hg.openjdk.java.net> Changeset: 113f0d5f0a08 Author: katleman Date: 2012-05-24 16:15 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/corba/rev/113f0d5f0a08 Added tag jdk8-b40 for changeset 56d030e5035f ! .hgtags From john.coomes at oracle.com Thu May 24 20:32:01 2012 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 25 May 2012 03:32:01 +0000 Subject: hg: hsx/hotspot-main/jaxp: Added tag jdk8-b40 for changeset 9ecfdbd6aed4 Message-ID: <20120525033210.A79E3474E7@hg.openjdk.java.net> Changeset: 6f5c0e17415d Author: katleman Date: 2012-05-24 16:15 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jaxp/rev/6f5c0e17415d Added tag jdk8-b40 for changeset 9ecfdbd6aed4 ! .hgtags From john.coomes at oracle.com Thu May 24 20:32:17 2012 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 25 May 2012 03:32:17 +0000 Subject: hg: hsx/hotspot-main/jaxws: Added tag jdk8-b40 for changeset 09a0ddda03cb Message-ID: <20120525033222.C30A5474E8@hg.openjdk.java.net> Changeset: f2072b164b05 Author: katleman Date: 2012-05-24 16:15 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jaxws/rev/f2072b164b05 Added tag jdk8-b40 for changeset 09a0ddda03cb ! .hgtags From john.coomes at oracle.com Thu May 24 20:33:29 2012 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 25 May 2012 03:33:29 +0000 Subject: hg: hsx/hotspot-main/jdk: 71 new changesets Message-ID: <20120525034639.B6439474F2@hg.openjdk.java.net> Changeset: 7c4eed4b6c19 Author: bae Date: 2012-05-21 14:04 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/7c4eed4b6c19 7124400: [macosx] CGraphicsDevice.getConfigurations() returns reference to member (does not copy configs) Reviewed-by: anthony, kizune ! src/macosx/classes/sun/awt/CGraphicsDevice.java ! test/java/awt/GraphicsDevice/CloneConfigsTest.java Changeset: 416b3a498e71 Author: bae Date: 2012-05-21 14:53 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/416b3a498e71 7154088: [macosx] Regression: Component.createImage do not inherits component attributes Reviewed-by: art, kizune ! src/macosx/classes/sun/lwawt/LWComponentPeer.java Changeset: 1b90a0113359 Author: lana Date: 2012-05-21 11:20 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/1b90a0113359 Merge Changeset: c31eeeda3ed1 Author: serb Date: 2012-05-03 18:29 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/c31eeeda3ed1 7160623: [macosx] Editable TextArea/TextField are blocking GUI applications from exit Reviewed-by: anthony, art ! src/macosx/classes/sun/lwawt/LWComponentPeer.java ! src/macosx/classes/sun/lwawt/LWTextComponentPeer.java Changeset: a420895ee2c3 Author: leonidr Date: 2012-05-03 19:22 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/a420895ee2c3 7124376: [macosx] Modal dialog lost focus Reviewed-by: anthony ! src/macosx/classes/sun/lwawt/LWWindowPeer.java ! src/macosx/classes/sun/lwawt/PlatformWindow.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformEmbeddedFrame.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java ! src/macosx/native/sun/awt/AWTView.m ! src/macosx/native/sun/awt/AWTWindow.h ! src/macosx/native/sun/awt/AWTWindow.m Changeset: 95c8b63a3c47 Author: kizune Date: 2012-05-03 21:54 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/95c8b63a3c47 7148289: [macosx] Deadlock in sun.lwawt.macosx.CWrapper$NSScreen.visibleFrame Reviewed-by: leonidr ! src/macosx/classes/sun/lwawt/macosx/CToolkitThreadBlockedHandler.java ! src/macosx/classes/sun/lwawt/macosx/LWCToolkit.java ! src/macosx/native/sun/awt/LWCToolkit.m Changeset: a714e2e2b257 Author: alexsch Date: 2012-05-04 13:15 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/a714e2e2b257 7024963: Notepad demo: remove non-translatable resources from Notepad.properties file Reviewed-by: rupashka ! src/share/demo/jfc/Notepad/Notepad.java ! src/share/demo/jfc/Notepad/resources/Notepad.properties + src/share/demo/jfc/Notepad/resources/system.properties Changeset: 4cc873e28c78 Author: bagiras Date: 2012-05-04 18:42 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/4cc873e28c78 7146237: closed/java/awt/Focus/SetFocusTraversalKeysTest/SetFocusTraversalTest.html failed since 1.8.0b19 Reviewed-by: art, anthony ! src/share/classes/java/awt/Component.java ! src/share/classes/java/awt/Container.java ! src/share/classes/java/awt/KeyboardFocusManager.java ! src/share/classes/javax/swing/JComponent.java Changeset: 0feee4541f67 Author: serb Date: 2012-05-04 21:25 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/0feee4541f67 7147055: [macosx] Cursors are changing over a blocked window; also blinking Reviewed-by: art, kizune ! src/macosx/classes/sun/lwawt/LWCursorManager.java Changeset: 912e666b4e1d Author: serb Date: 2012-05-10 20:05 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/912e666b4e1d 7080109: Dialog.show() lacks doPrivileged() to access system event queue Reviewed-by: art, anthony ! src/share/classes/java/awt/Dialog.java + test/java/awt/Dialog/ModalDialogPermission/ModalDialogPermission.java + test/java/awt/Dialog/ModalDialogPermission/java.policy Changeset: 18842bb6676a Author: lana Date: 2012-05-10 11:47 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/18842bb6676a Merge - src/macosx/bin/amd64/jvm.cfg - src/share/classes/sun/security/action/LoadLibraryAction.java - test/tools/pack200/dyn.jar - test/tools/pack200/pack200-verifier/src/xmlkit/ClassSyntax.java - test/tools/pack200/pack200-verifier/src/xmlkit/ClassWriter.java - test/tools/pack200/pack200-verifier/src/xmlkit/InstructionAssembler.java - test/tools/pack200/pack200-verifier/src/xmlkit/InstructionSyntax.java Changeset: 4f39a13e74c6 Author: anthony Date: 2012-05-11 16:11 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/4f39a13e74c6 7166437: [macosx] Support for Window.Type.UTILITY on the Mac Summary: Apply the native UTILITY style for UTILITY Java windows Reviewed-by: art ! src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java Changeset: 689c0cd214e8 Author: anthony Date: 2012-05-11 20:37 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/689c0cd214e8 7149062: [macosx] dock menu don't show available frames Summary: Inherit from either NSWindow for normal windows or NSPanel for utility windows Reviewed-by: skovatch, swingler ! src/macosx/native/sun/awt/AWTView.m ! src/macosx/native/sun/awt/AWTWindow.h ! src/macosx/native/sun/awt/AWTWindow.m Changeset: 3b8635e357e9 Author: alexsch Date: 2012-05-12 12:01 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/3b8635e357e9 7024965: Stylepad demo: remove non-translatable resources from Stylepad.properties file Reviewed-by: alexp ! src/share/demo/jfc/Notepad/Notepad.java + src/share/demo/jfc/Notepad/resources/NotepadSystem.properties - src/share/demo/jfc/Notepad/resources/system.properties Changeset: cc8d1cc533bf Author: alexp Date: 2012-05-12 17:46 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/cc8d1cc533bf 7149005: [macosx] Java Control Panel's UI controls are distorted when draging scroll bar. Reviewed-by: serb ! src/macosx/classes/com/apple/laf/AquaButtonLabeledUI.java Changeset: 69301efaac91 Author: ant Date: 2012-05-12 18:50 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/69301efaac91 7110683: Issues with some KeyboardFocusManager method Reviewed-by: ahgross ! src/share/classes/java/awt/Component.java ! src/share/classes/java/awt/DefaultKeyboardFocusManager.java ! src/share/classes/java/awt/KeyboardFocusManager.java ! src/share/classes/java/awt/Window.java Changeset: 28ec5b811aa2 Author: dcherepanov Date: 2012-05-15 15:04 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/28ec5b811aa2 7168550: [macosx] duplicate OGL context state changes related to vertex cache Reviewed-by: bae, swingler ! src/macosx/native/sun/java2d/opengl/CGLSurfaceData.m ! src/share/native/sun/java2d/opengl/OGLContext.h ! src/share/native/sun/java2d/opengl/OGLTextRenderer.c ! src/share/native/sun/java2d/opengl/OGLVertexCache.c ! src/share/native/sun/java2d/opengl/OGLVertexCache.h Changeset: cad0bb1a9bdb Author: dcherepanov Date: 2012-05-16 13:15 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/cad0bb1a9bdb 7124337: [macosx] FileDialog fails to select multiple files Reviewed-by: anthony, swingler ! src/macosx/classes/sun/lwawt/macosx/CFileDialog.java ! src/macosx/native/sun/awt/CFileDialog.h ! src/macosx/native/sun/awt/CFileDialog.m ! src/share/classes/java/awt/FileDialog.java ! src/share/classes/sun/awt/AWTAccessor.java ! src/solaris/classes/sun/awt/X11/GtkFileDialogPeer.java ! src/solaris/classes/sun/awt/X11/XFileDialogPeer.java ! src/windows/classes/sun/awt/windows/WFileDialogPeer.java Changeset: 7c0b390ab5f9 Author: anthony Date: 2012-05-16 14:28 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/7c0b390ab5f9 7168851: [macosx] Netbeans crashes in CImage.nativeCreateNSImageFromArray Summary: Eliminate unnecessary -release call Reviewed-by: dcherepanov ! src/macosx/native/sun/awt/CImage.m Changeset: 3c819d638e36 Author: alexsch Date: 2012-05-16 16:27 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/3c819d638e36 7169226: NLS: Please change the mnemonic assignment system for windows and motif properties Reviewed-by: rupashka ! src/share/classes/com/sun/java/swing/plaf/motif/resources/motif.properties ! src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_de.properties ! src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_es.properties ! src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_fr.properties ! src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_it.properties ! src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_ja.properties ! src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_ko.properties ! src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_pt_BR.properties ! src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_sv.properties ! src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_zh_CN.properties ! src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_zh_TW.properties ! src/share/classes/com/sun/java/swing/plaf/windows/resources/windows.properties ! src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_de.properties ! src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_es.properties ! src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_fr.properties ! src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_it.properties ! src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_ja.properties ! src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_ko.properties ! src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_pt_BR.properties ! src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_sv.properties ! src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_zh_CN.properties ! src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_zh_TW.properties Changeset: 19edcc438203 Author: alexsch Date: 2012-05-16 18:11 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/19edcc438203 7158928: [macosx] NLS: Please change the mnemonic assignment system Reviewed-by: rupashka, serb ! make/com/apple/osxui/Makefile ! make/common/internal/Resources.gmk ! src/macosx/classes/com/apple/laf/AquaLookAndFeel.java ! src/macosx/classes/com/apple/laf/resources/aqua.properties Changeset: 731ee59c6ba2 Author: alexsch Date: 2012-05-17 14:27 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/731ee59c6ba2 7148281: [macosx] JTabbedPane tabs with HTML text do not render correctly Reviewed-by: kizune ! src/macosx/classes/com/apple/laf/AquaTabbedPaneUI.java Changeset: f9217bd87199 Author: rupashka Date: 2012-05-17 15:41 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/f9217bd87199 7166322: closed/javax/swing/text/html/HTMLEditorKit/4242228/bug4242228.java failed since 1.8.0b36 Reviewed-by: alexsch + test/javax/swing/text/html/HTMLEditorKit/4242228/bug4242228.java Changeset: c00d6508afce Author: ant Date: 2012-05-17 21:27 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/c00d6508afce 7142565: [macosx] Many special keys processed twice in text fields Summary: forward port from 7u4 Reviewed-by: anthony ! src/macosx/native/sun/awt/AWTView.m Changeset: 17c5e1a12965 Author: ant Date: 2012-05-17 21:31 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/17c5e1a12965 7154072: [macosx] swallowing key events Summary: forward posrt from 7u4 Reviewed-by: anthony ! src/macosx/native/sun/awt/AWTView.m Changeset: ef77fa799b34 Author: ant Date: 2012-05-17 21:48 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/ef77fa799b34 7125044: [macosx] Test failure because Component.transferFocus() works differently in applet and application. Summary: forward port from 7u4 Reviewed-by: art ! src/share/classes/java/awt/Dialog.java ! src/share/classes/java/awt/Frame.java ! src/share/classes/java/awt/Window.java ! src/share/classes/javax/swing/JApplet.java ! src/share/classes/javax/swing/JDialog.java ! src/share/classes/javax/swing/JFrame.java ! src/share/classes/javax/swing/JInternalFrame.java ! src/share/classes/javax/swing/JWindow.java ! src/share/classes/javax/swing/UIManager.java ! src/share/classes/sun/awt/SunToolkit.java + test/java/awt/Focus/FocusTraversalPolicy/InitialFTP.java + test/java/awt/Focus/FocusTraversalPolicy/InitialFTP_AWT.java + test/java/awt/Focus/FocusTraversalPolicy/InitialFTP_Swing.java + test/java/awt/event/KeyEvent/SwallowKeyEvents/SwallowKeyEvents.java Changeset: 5976b5848554 Author: ant Date: 2012-05-17 22:10 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/5976b5848554 7145768: [macosx] Regression: failure in b11 of ModalDialogInFocusEventTest Summary: forward port from 7u4 Reviewed-by: art ! src/macosx/classes/sun/lwawt/LWComponentPeer.java ! src/macosx/classes/sun/lwawt/LWWindowPeer.java Changeset: 1d75ff45586e Author: ant Date: 2012-05-17 22:21 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/1d75ff45586e 7145827: [macosx] JCK failure in b11: FocusableWindow3 Summary: forward posrt from 7u4 Reviewed-by: art ! src/macosx/classes/sun/lwawt/LWWindowPeer.java Changeset: 2eca75e0a063 Author: dcherepanov Date: 2012-05-18 19:39 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/2eca75e0a063 7156191: [macosx] Can't type into applet demos in Pivot Reviewed-by: art ! src/macosx/classes/sun/lwawt/macosx/CEmbeddedFrame.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformResponder.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformView.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java Changeset: 1ee12bca4823 Author: rupashka Date: 2012-05-21 18:55 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/1ee12bca4823 7168144: No appropriate CCC request for changes introduced by 7154030 Reviewed-by: alexsch ! src/share/classes/javax/swing/JComponent.java Changeset: 967b38bfd5c1 Author: ant Date: 2012-05-22 01:12 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/967b38bfd5c1 7170427: setGlobalCurrentFocusCycleRoot unexpectedly throws SecurityException Reviewed-by: art ! src/share/classes/java/awt/Component.java ! src/share/classes/java/awt/Container.java ! src/share/classes/java/awt/KeyboardFocusManager.java Changeset: 5b2095d7a60b Author: lana Date: 2012-05-21 11:41 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/5b2095d7a60b Merge ! src/macosx/classes/sun/lwawt/LWComponentPeer.java Changeset: bb2cefc89bc0 Author: forax Date: 2012-05-02 20:01 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/bb2cefc89bc0 7165102: Only run assertion on Integer autoboxing cache size once Reviewed-by: darcy, alanb ! src/share/classes/java/lang/Integer.java Changeset: 531ebfd8eb65 Author: jgish Date: 2012-05-02 21:46 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/531ebfd8eb65 7160714: Strange or obsolete @see tags in some exception java.util javadoc Reviewed-by: mduigou, dholmes, alanb ! src/share/classes/java/util/NoSuchElementException.java Changeset: 4580652d9828 Author: lancea Date: 2012-05-04 16:00 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/4580652d9828 7166598: FilteredRowSetImpl can result in Invalid Cursor Position Reviewed-by: lancea Contributed-by: Knut Anders Hatlen ! src/share/classes/com/sun/rowset/FilteredRowSetImpl.java Changeset: 41d3f7509e00 Author: xuelei Date: 2012-05-04 17:28 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/41d3f7509e00 7153184: NullPointerException when calling SSLEngineImpl.getSupportedCipherSuites Reviewed-by: weijun ! src/share/classes/sun/security/ssl/SSLContextImpl.java Changeset: 62557a1336c0 Author: zhouyx Date: 2012-05-07 16:43 +0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/62557a1336c0 7166048: Remove the embeded epoll data structure. Reviewed-by: alanb ! src/solaris/native/sun/nio/ch/EPollArrayWrapper.c Changeset: b26c04717735 Author: robm Date: 2012-05-07 13:34 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/b26c04717735 7166687: InetAddress.getLocalHost().getHostName() returns FQDN Reviewed-by: chegar ! src/solaris/native/java/net/Inet6AddressImpl.c Changeset: 48513d156965 Author: dholmes Date: 2012-05-08 02:59 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/48513d156965 7103570: AtomicIntegerFieldUpdater does not work when SecurityManager is installed Summary: Perform class.getField inside a doPrivileged block Reviewed-by: chegar, psandoz ! src/share/classes/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.java ! src/share/classes/java/util/concurrent/atomic/AtomicLongFieldUpdater.java ! src/share/classes/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.java + test/java/util/concurrent/atomic/AtomicUpdaters.java Changeset: af209a223b6b Author: sherman Date: 2012-05-08 10:57 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/af209a223b6b 7014640: To add a metachar \R for line ending and character classes for vertical/horizontal ws \v \V \h \H Summary: added propsoed constructs Reviewed-by: alanb ! src/share/classes/java/util/regex/Pattern.java ! test/java/util/regex/RegExTest.java Changeset: 1ece20885be4 Author: sherman Date: 2012-05-08 11:16 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/1ece20885be4 7157656: (zipfs) SeekableByteChannel to entry in zip file always reports its position as 0 Summary: updated SeekableByteChannel.read() to count the bytes read correctly Reviewed-by: sherman Contributed-by: paul.sandoz at oracle.com ! src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystem.java ! test/demo/zipfs/ZipFSTester.java ! test/demo/zipfs/basic.sh Changeset: fbf98cbd2e6b Author: xuelei Date: 2012-05-08 17:56 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/fbf98cbd2e6b 7167092: Need to put the return clause in the synchronized block Summary: a regression fix for bug 7153184 Reviewed-by: wetmore ! src/share/classes/sun/security/ssl/SSLContextImpl.java Changeset: 0f63f3390ac9 Author: xuelei Date: 2012-05-08 18:08 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/0f63f3390ac9 7166570: JSSE certificate validation has started to fail for certificate chains Reviewed-by: wetmore ! src/share/classes/sun/security/validator/SimpleValidator.java + test/sun/security/ssl/com/sun/net/ssl/internal/ssl/X509TrustManagerImpl/BasicConstraints.java Changeset: abb63b7357a1 Author: luchsh Date: 2012-05-09 11:19 +0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/abb63b7357a1 7165722: Invalid path in MemoryMonitor demo's README.txt Reviewed-by: alanb, sla ! src/share/demo/management/MemoryMonitor/README.txt Changeset: 5e8caf6984f5 Author: ksrini Date: 2012-05-09 07:28 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/5e8caf6984f5 7166955: (pack200) JNI_GetCreatedJavaVMs needs additional checking Reviewed-by: alanb, dholmes, ksrini Contributed-by: youdwei at linux.vnet.ibm.com ! src/share/native/com/sun/java/util/jar/pack/jni.cpp Changeset: 59121a4c71c6 Author: khazra Date: 2012-05-09 11:14 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/59121a4c71c6 7165118: (prefs) AbstractPreferences.remove(null) does not throw NPE Summary: Insert null argument check in AbstractPreferences.remove() Reviewed-by: dholmes, chegar, alanb ! src/share/classes/java/util/prefs/AbstractPreferences.java ! test/java/util/prefs/RemoveNullKeyCheck.java Changeset: 6438f1277df6 Author: wetmore Date: 2012-05-09 16:33 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/6438f1277df6 7167362: SecureRandom.init should be converted, amendment to 7084245 Reviewed-by: sherman ! src/share/classes/sun/security/provider/SecureRandom.java Changeset: 5152c832745a Author: khazra Date: 2012-05-09 16:55 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/5152c832745a 7096436: (sc) SocketChannel.connect fails on Windows 8 when channel configured non-blocking Summary: Set localAddress only when connection is established Reviewed-by: alanb ! src/share/classes/sun/nio/ch/SocketChannelImpl.java Changeset: fdf5e15293e6 Author: coffeys Date: 2012-05-10 10:45 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/fdf5e15293e6 7163470: Build fails if javax.crypto src files not present Reviewed-by: valeriep ! make/com/oracle/security/ucrypto/Makefile ! make/common/shared/Defs-java.gmk ! make/sun/security/ec/Makefile ! make/sun/security/mscapi/Makefile ! make/sun/security/pkcs11/Makefile ! makefiles/com/oracle/security/ucrypto/Makefile ! makefiles/common/shared/Defs-java.gmk ! makefiles/sun/security/ec/Makefile ! makefiles/sun/security/mscapi/Makefile ! makefiles/sun/security/pkcs11/Makefile Changeset: 3e3017eba8ac Author: valeriep Date: 2012-05-08 17:57 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/3e3017eba8ac 4963723: Implement SHA-224 Summary: Add support for SHA-224, SHA224withRSA, SHA224withECDSA, HmacSHA224 and OAEPwithSHA-224AndMGF1Padding. Reviewed-by: vinnie ! src/share/classes/com/sun/crypto/provider/HmacCore.java ! src/share/classes/com/sun/crypto/provider/HmacMD5.java ! src/share/classes/com/sun/crypto/provider/HmacPKCS12PBESHA1.java ! src/share/classes/com/sun/crypto/provider/HmacSHA1.java ! src/share/classes/com/sun/crypto/provider/KeyGeneratorCore.java ! src/share/classes/com/sun/crypto/provider/OAEPParameters.java ! src/share/classes/com/sun/crypto/provider/SunJCE.java ! src/share/classes/java/security/spec/MGF1ParameterSpec.java ! src/share/classes/java/security/spec/PSSParameterSpec.java ! src/share/classes/sun/security/ec/ECDSASignature.java ! src/share/classes/sun/security/ec/SunECEntries.java ! src/share/classes/sun/security/pkcs11/P11Digest.java ! src/share/classes/sun/security/pkcs11/P11Mac.java ! src/share/classes/sun/security/pkcs11/P11Signature.java ! src/share/classes/sun/security/pkcs11/SunPKCS11.java ! src/share/classes/sun/security/pkcs11/wrapper/Functions.java ! src/share/classes/sun/security/provider/DigestBase.java ! src/share/classes/sun/security/provider/MD2.java ! src/share/classes/sun/security/provider/MD4.java ! src/share/classes/sun/security/provider/MD5.java ! src/share/classes/sun/security/provider/SHA.java ! src/share/classes/sun/security/provider/SHA2.java ! src/share/classes/sun/security/provider/SHA5.java ! src/share/classes/sun/security/provider/SunEntries.java ! src/share/classes/sun/security/rsa/RSASignature.java ! src/share/classes/sun/security/rsa/SunRsaSignEntries.java ! src/share/classes/sun/security/x509/AlgorithmId.java ! src/windows/classes/sun/security/mscapi/RSASignature.java ! src/windows/classes/sun/security/mscapi/SunMSCAPI.java ! test/com/sun/crypto/provider/Cipher/RSA/TestOAEP.java ! test/com/sun/crypto/provider/Cipher/RSA/TestOAEPParameterSpec.java ! test/com/sun/crypto/provider/Cipher/RSA/TestOAEPWithParams.java ! test/com/sun/crypto/provider/KeyGenerator/Test4628062.java ! test/com/sun/crypto/provider/Mac/MacClone.java ! test/com/sun/crypto/provider/Mac/MacKAT.java ! test/sun/security/mscapi/SignUsingNONEwithRSA.java ! test/sun/security/mscapi/SignUsingSHA2withRSA.java ! test/sun/security/pkcs11/MessageDigest/DigestKAT.java ! test/sun/security/pkcs11/MessageDigest/TestCloning.java ! test/sun/security/pkcs11/Signature/TestRSAKeyLength.java ! test/sun/security/pkcs11/ec/TestCurves.java ! test/sun/security/pkcs11/rsa/TestKeyPairGenerator.java ! test/sun/security/pkcs11/rsa/TestSignatures.java ! test/sun/security/provider/MessageDigest/DigestKAT.java ! test/sun/security/provider/MessageDigest/Offsets.java ! test/sun/security/provider/MessageDigest/TestSHAClone.java ! test/sun/security/rsa/TestKeyPairGenerator.java ! test/sun/security/rsa/TestSignatures.java Changeset: dfce31760a2f Author: valeriep Date: 2012-05-08 18:57 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/dfce31760a2f Merge Changeset: 9f8210f23773 Author: valeriep Date: 2012-05-10 11:19 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/9f8210f23773 Merge Changeset: c5a07e3dca63 Author: youdwei Date: 2012-05-11 16:20 +0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/c5a07e3dca63 7163874: InetAddress.isReachable should support pinging 0.0.0.0 Reviewed-by: alanb, chegar ! src/share/native/java/net/net_util.h ! src/solaris/native/java/net/Inet4AddressImpl.c ! src/solaris/native/java/net/Inet6AddressImpl.c ! src/solaris/native/java/net/net_util_md.c + test/java/net/Inet4Address/PingThis.java Changeset: 3e83229a3779 Author: coffeys Date: 2012-05-11 10:09 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/3e83229a3779 7167359: (tz) SEGV on solaris if TZ variable not set Reviewed-by: okutsu ! src/solaris/native/java/util/TimeZone_md.c Changeset: 944676ef3c58 Author: mduigou Date: 2012-05-11 11:31 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/944676ef3c58 7071826: Avoid benign race condition in initialization of UUID Summary: Avoids mostly benign but sometimes expensive race condition on initialization of UUID.numberGenerator which is used by UUID.randomUUID() Reviewed-by: alanb, chegar ! src/share/classes/java/util/UUID.java ! test/java/util/UUID/UUIDTest.java Changeset: 85d7677a75bf Author: lana Date: 2012-05-11 12:53 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/85d7677a75bf Merge Changeset: f131d4361faf Author: olagneau Date: 2012-05-11 14:13 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/f131d4361faf 7144861: speed up RMI activation tests Reviewed-by: alanb, smarks, dholmes, dmocek ! test/java/rmi/activation/checkusage/CheckUsage.java ! test/java/rmi/testlibrary/ActivationLibrary.java ! test/java/rmi/testlibrary/JavaVM.java ! test/java/rmi/testlibrary/RMID.java ! test/java/rmi/testlibrary/StreamPipe.java ! test/sun/rmi/runtime/Log/6409194/NoConsoleOutput.java Changeset: df3152beef2f Author: xuelei Date: 2012-05-14 07:26 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/df3152beef2f 7167988: PKIX CertPathBuilder in reverse mode doesn't work if more than one trust anchor is specified Reviewed-by: mullan ! src/share/classes/sun/security/provider/certpath/SunCertPathBuilder.java + test/sun/security/provider/certpath/ReverseBuilder/ReverseBuild.java Changeset: df33f5f750ec Author: dsamersoff Date: 2012-05-15 16:46 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/df33f5f750ec 7164191: properties.putAll API may fail with ConcurrentModifcationException on multi-thread scenario Reviewed-by: dholmes, sla Contributed-by: Deven You ! src/share/classes/sun/management/Agent.java + test/sun/management/AgentCMETest.java Changeset: 9a18e318f95a Author: khazra Date: 2012-05-15 11:51 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/9a18e318f95a 7164636: (prefs) Cleanup src/macosx/classes/java/util/prefs Summary: Remove rawtype usages and other code cleanup Reviewed-by: chegar, briangoetz ! src/macosx/classes/java/util/prefs/MacOSXPreferences.java ! src/macosx/classes/java/util/prefs/MacOSXPreferencesFactory.java ! src/macosx/classes/java/util/prefs/MacOSXPreferencesFile.java Changeset: 332bebb463d1 Author: alanb Date: 2012-05-16 12:43 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/332bebb463d1 7168505: (bf) MappedByteBuffer.load does not load buffer's content into memory Reviewed-by: mduigou, forax ! src/share/classes/java/nio/MappedByteBuffer.java Changeset: ce165aa48dcb Author: dcubed Date: 2012-05-17 06:26 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/ce165aa48dcb 7168520: No jdk8 TL Nightly linux builds due to broken link in b39-2012-05-13_231 Summary: ZIP libjsig.debuginfo links into libjsig.diz files since aurora doesn't like dangling symlinks Reviewed-by: katleman ! make/java/redist/Makefile Changeset: 178c480998b1 Author: robm Date: 2012-05-17 22:42 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/178c480998b1 7168110: Misleading jstack error message Reviewed-by: alanb, dsamersoff ! src/windows/native/sun/tools/attach/WindowsVirtualMachine.c Changeset: 9fe6ebbe5895 Author: xuelei Date: 2012-05-17 21:59 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/9fe6ebbe5895 7145960: sun/security/mscapi/ShortRSAKey1024.sh failing on windows Reviewed-by: vinnie, wetmore ! test/sun/security/mscapi/ShortRSAKey1024.sh ! test/sun/security/mscapi/ShortRSAKey512.sh ! test/sun/security/mscapi/ShortRSAKey768.sh Changeset: af1030be726a Author: valeriep Date: 2012-05-18 12:29 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/af1030be726a 7169496: Problem with the SHA-224 support for SunMSCAPI provider Summary: Remove SHA224withRSA signature from SunMSCAPI provider due to lack of windows support. Reviewed-by: vinnie ! src/windows/classes/sun/security/mscapi/RSASignature.java ! src/windows/classes/sun/security/mscapi/SunMSCAPI.java ! test/sun/security/mscapi/SignUsingNONEwithRSA.java ! test/sun/security/mscapi/SignUsingSHA2withRSA.java Changeset: 72af24348b2b Author: weijun Date: 2012-05-21 15:40 +0800 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/72af24348b2b 7170308: timing error in the krb5 test SSL.java Reviewed-by: xuelei ! test/sun/security/krb5/auto/SSL.java Changeset: 9cb304dd71d4 Author: alanb Date: 2012-05-21 10:41 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/9cb304dd71d4 7170203: TEST_BUG: test/java/nio/MappedByteBuffer/Truncate.java failing intermittently Reviewed-by: chegar ! test/java/nio/MappedByteBuffer/Truncate.java Changeset: f109feb13698 Author: ksrini Date: 2012-05-21 09:40 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/f109feb13698 7170087: tools/launcher/Arrghs.java test has wrong bugID for 7151434 Reviewed-by: ohair ! test/tools/launcher/Arrrghs.java Changeset: 0a1ef7e07e01 Author: sla Date: 2012-05-21 19:28 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/0a1ef7e07e01 7167157: jcmd command file parsing does not respect the "stop" command Reviewed-by: alanb, dsamersoff, nloodin ! src/share/classes/sun/tools/jcmd/JCmd.java Changeset: b88fc3359dc7 Author: lana Date: 2012-05-21 11:44 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/b88fc3359dc7 Merge Changeset: 7def50698e78 Author: katleman Date: 2012-05-24 16:15 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/7def50698e78 Added tag jdk8-b40 for changeset b88fc3359dc7 ! .hgtags From vladimir.kozlov at oracle.com Thu May 24 21:40:07 2012 From: vladimir.kozlov at oracle.com (vladimir.kozlov at oracle.com) Date: Fri, 25 May 2012 04:40:07 +0000 Subject: hg: hsx/hotspot-main/hotspot: 5 new changesets Message-ID: <20120525044019.D3F7447503@hg.openjdk.java.net> Changeset: 6759698e3140 Author: roland Date: 2012-05-15 10:10 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/6759698e3140 7133857: exp() and pow() should use the x87 ISA on x86 Summary: use x87 instructions to implement exp() and pow() in interpreter/c1/c2. Reviewed-by: kvn, never, twisti ! src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp ! src/cpu/sparc/vm/interpreter_sparc.cpp ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/assembler_x86.hpp ! src/cpu/x86/vm/c1_LIRAssembler_x86.cpp ! src/cpu/x86/vm/c1_LIRGenerator_x86.cpp ! src/cpu/x86/vm/c1_LinearScan_x86.cpp ! src/cpu/x86/vm/interpreter_x86_32.cpp ! src/cpu/x86/vm/interpreter_x86_64.cpp ! src/cpu/x86/vm/stubGenerator_x86_32.cpp ! src/cpu/x86/vm/stubGenerator_x86_64.cpp ! src/cpu/x86/vm/templateInterpreter_x86_32.cpp ! src/cpu/x86/vm/templateInterpreter_x86_64.cpp ! src/cpu/x86/vm/x86_32.ad ! src/cpu/x86/vm/x86_64.ad ! src/share/vm/c1/c1_GraphBuilder.cpp ! src/share/vm/c1/c1_LIR.cpp ! src/share/vm/c1/c1_LIR.hpp ! src/share/vm/c1/c1_LIRAssembler.cpp ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/c1/c1_LinearScan.cpp ! src/share/vm/interpreter/abstractInterpreter.hpp ! src/share/vm/interpreter/interpreter.cpp ! src/share/vm/interpreter/templateInterpreter.cpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/opto/subnode.cpp Changeset: 4073d9478a90 Author: roland Date: 2012-05-18 15:50 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/4073d9478a90 7167254: Crash on OSX in Enumerator.nextElement() with compressed oops Summary: null checks in "compressed oops with base" mode may trigger a SIGBUS rather than a SIGSEGV. Reviewed-by: dsamersoff, dcubed, rbackman, kvn ! src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp Changeset: cdd249497b34 Author: twisti Date: 2012-05-18 12:20 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/cdd249497b34 7170053: crash in C2 when using -XX:+CountCompiledCalls Reviewed-by: kvn, twisti Contributed-by: Krystal Mok ! src/share/vm/opto/doCall.cpp Changeset: e2961d14584b Author: roland Date: 2012-05-21 09:46 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/e2961d14584b 7169934: pow(x,y) or x64 computes incorrect result when x<0 and y is an odd integer Summary: bad test for parity of y in pow(x,y) (c1, interpreter) Reviewed-by: kvn, twisti ! src/cpu/x86/vm/assembler_x86.cpp Changeset: 7089278210e2 Author: kvn Date: 2012-05-24 18:39 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/7089278210e2 Merge From bertrand.delsart at oracle.com Fri May 25 00:50:59 2012 From: bertrand.delsart at oracle.com (Bertrand Delsart) Date: Fri, 25 May 2012 09:50:59 +0200 Subject: CFV: New hsx Committer: Jiangli Zhou In-Reply-To: References: Message-ID: <4FBF39E3.8040900@oracle.com> Vote: Yes Bertrand. On 5/23/12 10:47 PM, Bob Vandette wrote: > I hereby nominate Jiangli Zhou to hsx Committer. > > Prior to joining hotspot embedded development, Jiangli had more than 10 > years of experience in CVM/CDC. > She worked on various areas of CVM, including classloading/runtime > system, JIT porting, AOT, multi-processor > support for ARM and MIPS, buildtime/runtime class ROMization. Jiangli > has contributed 8 complex technical > changes to hotspot, which includes adding storestore memory barriers for > constructors with final field write in > C1 and interpreter. > > In addition, she has contributed following changes that reduce memory > usage for class metadata: > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/52b5d32fbfaf > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/cd5d8cafcc84 > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/a79cb7c55012 > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/f7c4174b33ba > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/49036505ab5f > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/8bafad97cd26 > > > Votes, by Lazy Consensus, are due by Noon on Tuesday, June 6th, 2012 US > Eastern Time. > > Only current hsx Committers are eligible to vote on this nomination. > > Bob Vandette > Java SE Embedded Lead > > > From stefan.karlsson at oracle.com Fri May 25 01:42:48 2012 From: stefan.karlsson at oracle.com (Stefan Karlsson) Date: Fri, 25 May 2012 10:42:48 +0200 Subject: CFV: New hsx Committer: Jiangli Zhou In-Reply-To: References: Message-ID: <4FBF4608.8000807@oracle.com> Vote: yes On 05/23/2012 10:47 PM, Bob Vandette wrote: > I hereby nominate Jiangli Zhou to hsx Committer. > > Prior to joining hotspot embedded development, Jiangli had more than > 10 years of experience in CVM/CDC. > She worked on various areas of CVM, including classloading/runtime > system, JIT porting, AOT, multi-processor > support for ARM and MIPS, buildtime/runtime class ROMization. Jiangli > has contributed 8 complex technical > changes to hotspot, which includes adding storestore memory barriers > for constructors with final field write in > C1 and interpreter. > > In addition, she has contributed following changes that reduce memory > usage for class metadata: > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/52b5d32fbfaf > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/cd5d8cafcc84 > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/a79cb7c55012 > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/f7c4174b33ba > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/49036505ab5f > > http://hg.openjdk.java.net/hsx/hotspot-emb-gate/hotspot/rev/8bafad97cd26 > > > Votes, by Lazy Consensus, are due by Noon on Tuesday, June 6th, 2012 > US Eastern Time. > > Only current hsx Committers are eligible to vote on this nomination. > > Bob Vandette > Java SE Embedded Lead > > > From bengt.rutisson at oracle.com Fri May 25 02:09:59 2012 From: bengt.rutisson at oracle.com (bengt.rutisson at oracle.com) Date: Fri, 25 May 2012 09:09:59 +0000 Subject: hg: hsx/hsx23.2/hotspot: 7158457: division by zero in adaptiveweightedaverage Message-ID: <20120525091008.97D304750C@hg.openjdk.java.net> Changeset: c4b58f8eeeaf Author: mikael Date: 2012-05-15 00:56 +0200 URL: http://hg.openjdk.java.net/hsx/hsx23.2/hotspot/rev/c4b58f8eeeaf 7158457: division by zero in adaptiveweightedaverage Summary: Add ceiling to AdaptiveWeightedAverage Reviewed-by: ysr, iveresov ! src/share/vm/gc_implementation/shared/gcUtil.cpp ! src/share/vm/gc_implementation/shared/gcUtil.hpp From david.holmes at oracle.com Fri May 25 04:23:18 2012 From: david.holmes at oracle.com (david.holmes at oracle.com) Date: Fri, 25 May 2012 11:23:18 +0000 Subject: hg: hsx/hsx23.2/hotspot: 2 new changesets Message-ID: <20120525112330.AAB5A4750D@hg.openjdk.java.net> Changeset: 3f1e457eda51 Author: dholmes Date: 2012-05-23 20:09 -0400 URL: http://hg.openjdk.java.net/hsx/hsx23.2/hotspot/rev/3f1e457eda51 7170197: Update JPRT default build targets to support embedded builds Reviewed-by: jcoomes, kvn ! make/jprt.properties Changeset: e974e1594565 Author: dholmes Date: 2012-05-25 05:12 -0400 URL: http://hg.openjdk.java.net/hsx/hsx23.2/hotspot/rev/e974e1594565 Merge From john.coomes at oracle.com Fri May 25 06:42:47 2012 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 25 May 2012 13:42:47 +0000 Subject: hg: hsx/hotspot-main/langtools: 6 new changesets Message-ID: <20120525134303.0317747516@hg.openjdk.java.net> Changeset: d10db3576c08 Author: ksrini Date: 2012-05-04 07:55 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/langtools/rev/d10db3576c08 7166010: (javac) JavacMessager incorrectly restores log source file Reviewed-by: jjg Contributed-by: jan.lahoda at oracle.com ! src/share/classes/com/sun/tools/javac/processing/JavacMessager.java + test/tools/javac/processing/messager/MessagerDiags.java Changeset: 833bab705918 Author: ksrini Date: 2012-05-10 12:32 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/langtools/rev/833bab705918 7159445: (javac) emits inaccurate diagnostics for enhanced for-loops Reviewed-by: jjg Contributed-by: jan.lahoda at oracle.com ! src/share/classes/com/sun/tools/javac/parser/JavacParser.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties + test/tools/javac/diags/examples/ForeachBadInitialization.java ! test/tools/javac/parser/JavacParserTest.java Changeset: 96a8278e323c Author: sundar Date: 2012-05-11 20:06 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-main/langtools/rev/96a8278e323c 7166990: java/compiler Inherited interfaces using generics sometimes looses the generic type Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/comp/Lower.java + test/tools/javac/TryWithResources/T7164542.java Changeset: 885806e74240 Author: lana Date: 2012-05-11 12:53 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/langtools/rev/885806e74240 Merge Changeset: 86e0dad6aadf Author: lana Date: 2012-05-21 11:44 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/langtools/rev/86e0dad6aadf Merge Changeset: 179fa85aeefa Author: katleman Date: 2012-05-24 16:16 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/langtools/rev/179fa85aeefa Added tag jdk8-b40 for changeset 86e0dad6aadf ! .hgtags From vladimir.kozlov at oracle.com Fri May 25 08:34:56 2012 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Fri, 25 May 2012 08:34:56 -0700 Subject: Result: New HSX Reviewer: Roland Westrelin Message-ID: <4FBFA6A0.9070704@oracle.com> Voting for Roland Westrelin [1] is now closed. Yes: 11 Veto: 0 Abstain: 0 According to the Bylaws definition of Lazy Consensus, this is sufficient to approve the nomination. Regards, Vladimir Kozlov [1] http://mail.openjdk.java.net/pipermail/hotspot-dev/2012-May/005764.html From ysr1729 at gmail.com Fri May 25 11:53:03 2012 From: ysr1729 at gmail.com (Srinivas Ramakrishna) Date: Fri, 25 May 2012 11:53:03 -0700 Subject: memory leaks? Message-ID: Just a quick question in case any one might remember off the top of their head... Are there any native memory leaks that may have been fixed in JDK 7 and 8 that haven't yet been backported to JDK 6uXX? No need for any research... just a quick check to see if anyone recalls anything recently that fixed native leaks... i'll go check the hg logs momentarily to see if anything jumps out. I am suspecting some 64 M segments that I see in pmap, and am yet to figure out when and where these are coming from... The leak is abrupt and likely the result of a rather rare/infrequent event. I'll see if I can find a DTrace that works on Linux and log mmap/munmap calls to get more info. thanks for any (even very vague) pointers. -- ramki -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20120525/4ffe9e21/attachment.html From daniel.daugherty at oracle.com Fri May 25 12:07:13 2012 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Fri, 25 May 2012 13:07:13 -0600 Subject: memory leaks? In-Reply-To: References: Message-ID: <4FBFD861.9070903@oracle.com> Hey Ramki! Do you happen to know if java.lang.instrument, JVM/TI RedefineClasses() or JVM/TI RetransformClasses() is being used by the system? Dan On 5/25/12 12:53 PM, Srinivas Ramakrishna wrote: > > Just a quick question in case any one might remember off the top of > their head... > > Are there any native memory leaks that may have been fixed in JDK 7 > and 8 that haven't yet > been backported to JDK 6uXX? > > No need for any research... just a quick check to see if anyone > recalls anything recently that > fixed native leaks... i'll go check the hg logs momentarily to see if > anything jumps out. > > I am suspecting some 64 M segments that I see in pmap, and am yet to > figure out when and where > these are coming from... The leak is abrupt and likely the result of a > rather rare/infrequent event. > I'll see if I can find a DTrace that works on Linux and log > mmap/munmap calls to get more info. > > thanks for any (even very vague) pointers. > -- ramki From ysr1729 at gmail.com Fri May 25 13:09:23 2012 From: ysr1729 at gmail.com (Srinivas Ramakrishna) Date: Fri, 25 May 2012 13:09:23 -0700 Subject: memory leaks? In-Reply-To: <4FBFD861.9070903@oracle.com> References: <4FBFD861.9070903@oracle.com> Message-ID: Hi Dan -- I don't believe either is being used in this case. -- ramki On Fri, May 25, 2012 at 12:07 PM, Daniel D. Daugherty < daniel.daugherty at oracle.com> wrote: > Hey Ramki! > > Do you happen to know if java.lang.instrument, JVM/TI RedefineClasses() > or JVM/TI RetransformClasses() is being used by the system? > > Dan > > > > On 5/25/12 12:53 PM, Srinivas Ramakrishna wrote: > >> >> Just a quick question in case any one might remember off the top of their >> head... >> >> Are there any native memory leaks that may have been fixed in JDK 7 and 8 >> that haven't yet >> been backported to JDK 6uXX? >> >> No need for any research... just a quick check to see if anyone recalls >> anything recently that >> fixed native leaks... i'll go check the hg logs momentarily to see if >> anything jumps out. >> >> I am suspecting some 64 M segments that I see in pmap, and am yet to >> figure out when and where >> these are coming from... The leak is abrupt and likely the result of a >> rather rare/infrequent event. >> I'll see if I can find a DTrace that works on Linux and log mmap/munmap >> calls to get more info. >> >> thanks for any (even very vague) pointers. >> -- ramki >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20120525/ebf08c39/attachment.html From daniel.daugherty at oracle.com Fri May 25 13:10:48 2012 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Fri, 25 May 2012 14:10:48 -0600 Subject: memory leaks? In-Reply-To: References: <4FBFD861.9070903@oracle.com> Message-ID: <4FBFE748.5050005@oracle.com> OK, that rules out the two native memory leaks that I fixed earlier this year. Dan On 5/25/12 2:09 PM, Srinivas Ramakrishna wrote: > Hi Dan -- I don't believe either is being used in this case. > > -- ramki > > On Fri, May 25, 2012 at 12:07 PM, Daniel D. Daugherty > > wrote: > > Hey Ramki! > > Do you happen to know if java.lang.instrument, JVM/TI > RedefineClasses() > or JVM/TI RetransformClasses() is being used by the system? > > Dan > > > > On 5/25/12 12:53 PM, Srinivas Ramakrishna wrote: > > > Just a quick question in case any one might remember off the > top of their head... > > Are there any native memory leaks that may have been fixed in > JDK 7 and 8 that haven't yet > been backported to JDK 6uXX? > > No need for any research... just a quick check to see if > anyone recalls anything recently that > fixed native leaks... i'll go check the hg logs momentarily to > see if anything jumps out. > > I am suspecting some 64 M segments that I see in pmap, and am > yet to figure out when and where > these are coming from... The leak is abrupt and likely the > result of a rather rare/infrequent event. > I'll see if I can find a DTrace that works on Linux and log > mmap/munmap calls to get more info. > > thanks for any (even very vague) pointers. > -- ramki > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20120525/3b524ff1/attachment.html From Dmitry.Samersoff at oracle.com Fri May 25 13:23:02 2012 From: Dmitry.Samersoff at oracle.com (Dmitry Samersoff) Date: Sat, 26 May 2012 00:23:02 +0400 Subject: memory leaks? In-Reply-To: References: <4FBFD861.9070903@oracle.com> Message-ID: <4FBFEA26.6050802@oracle.com> Ramki, 1. What version of 6u?? you tried. 2. We fixed couple of leaks related to JMX e.g. 7066129 - GarbageCollectorMXBean#getLastGcInfo leaks native memory -Dmitry On 2012-05-26 00:09, Srinivas Ramakrishna wrote: > Hi Dan -- I don't believe either is being used in this case. > > -- ramki > > On Fri, May 25, 2012 at 12:07 PM, Daniel D. Daugherty > > wrote: > > Hey Ramki! > > Do you happen to know if java.lang.instrument, JVM/TI RedefineClasses() > or JVM/TI RetransformClasses() is being used by the system? > > Dan > > > > On 5/25/12 12:53 PM, Srinivas Ramakrishna wrote: > > > Just a quick question in case any one might remember off the top > of their head... > > Are there any native memory leaks that may have been fixed in > JDK 7 and 8 that haven't yet > been backported to JDK 6uXX? > > No need for any research... just a quick check to see if anyone > recalls anything recently that > fixed native leaks... i'll go check the hg logs momentarily to > see if anything jumps out. > > I am suspecting some 64 M segments that I see in pmap, and am > yet to figure out when and where > these are coming from... The leak is abrupt and likely the > result of a rather rare/infrequent event. > I'll see if I can find a DTrace that works on Linux and log > mmap/munmap calls to get more info. > > thanks for any (even very vague) pointers. > -- ramki > > -- Dmitry Samersoff Java Hotspot development team, SPB04 * There will come soft rains ... From vladimir.kozlov at oracle.com Fri May 25 14:38:24 2012 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Fri, 25 May 2012 14:38:24 -0700 Subject: CFV: New HotSpot Group Member: Christian Thalinger Message-ID: <4FBFFBD0.5090008@oracle.com> I hereby nominate Christian Thalinger to Membership in the HotSpot Group. Christian is a long-time HotSpot engineer. He started working on HotSpot back in 2009 when he joined the Hotspot Compiler group. His work is concentrated on JSR 292 implementation in Hotspot. He is currently a Reviewer for several OpenJDK projects and Committer to MLVM project [1]. He is also official HotSpot group blogger [2]. Votes are due by June 8, 2012 at 00:00:00 UTC (two week voting period). Only current Members of the HotSpot Group [3] are eligible to vote on this nomination. Votes must be cast in the open by replying to this mailing list For Lazy Consensus voting instructions, see [4]. Regards, Vladimir Kozlov [1] http://openjdk.java.net/census#twisti [2] http://openjdk.java.net/groups/hotspot/ [3] http://openjdk.java.net/census#hotspot [4] http://openjdk.java.net/groups/#member-vote From daniel.daugherty at oracle.com Fri May 25 15:02:28 2012 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Fri, 25 May 2012 16:02:28 -0600 Subject: CFV: New HotSpot Group Member: Christian Thalinger In-Reply-To: <4FBFFBD0.5090008@oracle.com> References: <4FBFFBD0.5090008@oracle.com> Message-ID: <4FC00174.5020807@oracle.com> Vote: yes Dan On 5/25/12 3:38 PM, Vladimir Kozlov wrote: > I hereby nominate Christian Thalinger to Membership in the HotSpot Group. > > Christian is a long-time HotSpot engineer. He started working on HotSpot > back in 2009 when he joined the Hotspot Compiler group. His work is > concentrated on JSR 292 implementation in Hotspot. He is currently a > Reviewer for several OpenJDK projects and Committer to MLVM project [1]. > He is also official HotSpot group blogger [2]. > > Votes are due by June 8, 2012 at 00:00:00 UTC (two week voting period). > > Only current Members of the HotSpot Group [3] are eligible > to vote on this nomination. Votes must be cast in the open by > replying to this mailing list > > For Lazy Consensus voting instructions, see [4]. > > Regards, > Vladimir Kozlov > [1] http://openjdk.java.net/census#twisti > [2] http://openjdk.java.net/groups/hotspot/ > [3] http://openjdk.java.net/census#hotspot > [4] http://openjdk.java.net/groups/#member-vote > From vladimir.kozlov at oracle.com Fri May 25 15:01:28 2012 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Fri, 25 May 2012 15:01:28 -0700 Subject: CFV: New HotSpot Group Member: Roland Westrelin Message-ID: <4FC00138.2000803@oracle.com> I hereby nominate Roland Westrelin to Membership in the HotSpot Group. Roland is a long-time HotSpot engineer. He contributed to HotSpot for more then 2 years. Recently he joined the Hotspot Compiler group. He is currently a Committer for several OpenJDK projects [1] and recently was nominated to a Reviewer in the HotSpot Express Project [2]. Votes are due by June 8, 2012 at 00:00:00 UTC (two week voting period). Only current Members of the HotSpot Group [3] are eligible to vote on this nomination. Votes must be cast in the open by replying to this mailing list. For Lazy Consensus voting instructions, see [4]. Regards, Vladimir Kozlov [1] http://openjdk.java.net/census#roland [2] http://mail.openjdk.java.net/pipermail/hotspot-dev/2012-May/005911.html [3] http://openjdk.java.net/census#hotspot [4] http://openjdk.java.net/groups/#member-vote From vladimir.kozlov at oracle.com Fri May 25 15:02:23 2012 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Fri, 25 May 2012 15:02:23 -0700 Subject: CFV: New HotSpot Group Member: Christian Thalinger In-Reply-To: <4FBFFBD0.5090008@oracle.com> References: <4FBFFBD0.5090008@oracle.com> Message-ID: <4FC0016F.8050409@oracle.com> Vote: yes Vladimir Vladimir Kozlov wrote: > I hereby nominate Christian Thalinger to Membership in the HotSpot Group. > > Christian is a long-time HotSpot engineer. He started working on HotSpot > back in 2009 when he joined the Hotspot Compiler group. His work is > concentrated on JSR 292 implementation in Hotspot. He is currently a > Reviewer for several OpenJDK projects and Committer to MLVM project [1]. > He is also official HotSpot group blogger [2]. > > Votes are due by June 8, 2012 at 00:00:00 UTC (two week voting period). > > Only current Members of the HotSpot Group [3] are eligible > to vote on this nomination. Votes must be cast in the open by > replying to this mailing list > > For Lazy Consensus voting instructions, see [4]. > > Regards, > Vladimir Kozlov > [1] http://openjdk.java.net/census#twisti > [2] http://openjdk.java.net/groups/hotspot/ > [3] http://openjdk.java.net/census#hotspot > [4] http://openjdk.java.net/groups/#member-vote > From daniel.daugherty at oracle.com Fri May 25 15:07:42 2012 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Fri, 25 May 2012 16:07:42 -0600 Subject: CFV: New HotSpot Group Member: Roland Westrelin In-Reply-To: <4FC00138.2000803@oracle.com> References: <4FC00138.2000803@oracle.com> Message-ID: <4FC002AE.9030403@oracle.com> Vote: yes Dan On 5/25/12 4:01 PM, Vladimir Kozlov wrote: > I hereby nominate Roland Westrelin to Membership in the HotSpot Group. > > Roland is a long-time HotSpot engineer. He contributed to HotSpot for > more then 2 years. Recently he joined the Hotspot Compiler group. > He is currently a Committer for several OpenJDK projects [1] and > recently was nominated to a Reviewer in the HotSpot Express Project [2]. > > Votes are due by June 8, 2012 at 00:00:00 UTC (two week voting period). > > Only current Members of the HotSpot Group [3] are eligible > to vote on this nomination. Votes must be cast in the open by > replying to this mailing list. > > For Lazy Consensus voting instructions, see [4]. > > Regards, > Vladimir Kozlov > > [1] http://openjdk.java.net/census#roland > [2] > http://mail.openjdk.java.net/pipermail/hotspot-dev/2012-May/005911.html > [3] http://openjdk.java.net/census#hotspot > [4] http://openjdk.java.net/groups/#member-vote > > From vladimir.kozlov at oracle.com Fri May 25 15:04:18 2012 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Fri, 25 May 2012 15:04:18 -0700 Subject: CFV: New HotSpot Group Member: Roland Westrelin In-Reply-To: <4FC00138.2000803@oracle.com> References: <4FC00138.2000803@oracle.com> Message-ID: <4FC001E2.2000804@oracle.com> Vote: yes Vladimir Vladimir Kozlov wrote: > I hereby nominate Roland Westrelin to Membership in the HotSpot Group. > > Roland is a long-time HotSpot engineer. He contributed to HotSpot for > more then 2 years. Recently he joined the Hotspot Compiler group. > He is currently a Committer for several OpenJDK projects [1] and > recently was nominated to a Reviewer in the HotSpot Express Project [2]. > > Votes are due by June 8, 2012 at 00:00:00 UTC (two week voting period). > > Only current Members of the HotSpot Group [3] are eligible > to vote on this nomination. Votes must be cast in the open by > replying to this mailing list. > > For Lazy Consensus voting instructions, see [4]. > > Regards, > Vladimir Kozlov > > [1] http://openjdk.java.net/census#roland > [2] http://mail.openjdk.java.net/pipermail/hotspot-dev/2012-May/005911.html > [3] http://openjdk.java.net/census#hotspot > [4] http://openjdk.java.net/groups/#member-vote > > From ysr1729 at gmail.com Fri May 25 15:35:45 2012 From: ysr1729 at gmail.com (Srinivas Ramakrishna) Date: Fri, 25 May 2012 15:35:45 -0700 Subject: memory leaks? In-Reply-To: <4FBFEA26.6050802@oracle.com> References: <4FBFD861.9070903@oracle.com> <4FBFEA26.6050802@oracle.com> Message-ID: On Fri, May 25, 2012 at 1:23 PM, Dmitry Samersoff < Dmitry.Samersoff at oracle.com> wrote: > Ramki, > > 1. What version of 6u?? you tried. > 6u29. > > 2. We fixed couple of leaks related to JMX > > e.g. 7066129 - > GarbageCollectorMXBean#getLastGcInfo leaks native memory > thanks for the info, Dmitry! -- ramki > > -Dmitry > > > On 2012-05-26 00:09, Srinivas Ramakrishna wrote: > > Hi Dan -- I don't believe either is being used in this case. > > > > -- ramki > > > > On Fri, May 25, 2012 at 12:07 PM, Daniel D. Daugherty > > > > wrote: > > > > Hey Ramki! > > > > Do you happen to know if java.lang.instrument, JVM/TI > RedefineClasses() > > or JVM/TI RetransformClasses() is being used by the system? > > > > Dan > > > > > > > > On 5/25/12 12:53 PM, Srinivas Ramakrishna wrote: > > > > > > Just a quick question in case any one might remember off the top > > of their head... > > > > Are there any native memory leaks that may have been fixed in > > JDK 7 and 8 that haven't yet > > been backported to JDK 6uXX? > > > > No need for any research... just a quick check to see if anyone > > recalls anything recently that > > fixed native leaks... i'll go check the hg logs momentarily to > > see if anything jumps out. > > > > I am suspecting some 64 M segments that I see in pmap, and am > > yet to figure out when and where > > these are coming from... The leak is abrupt and likely the > > result of a rather rare/infrequent event. > > I'll see if I can find a DTrace that works on Linux and log > > mmap/munmap calls to get more info. > > > > thanks for any (even very vague) pointers. > > -- ramki > > > > > > > -- > Dmitry Samersoff > Java Hotspot development team, SPB04 > * There will come soft rains ... > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20120525/04908b38/attachment.html From ysr1729 at gmail.com Fri May 25 15:36:03 2012 From: ysr1729 at gmail.com (Srinivas Ramakrishna) Date: Fri, 25 May 2012 15:36:03 -0700 Subject: memory leaks? In-Reply-To: <4FBFE748.5050005@oracle.com> References: <4FBFD861.9070903@oracle.com> <4FBFE748.5050005@oracle.com> Message-ID: Thanks Dan! On Fri, May 25, 2012 at 1:10 PM, Daniel D. Daugherty < daniel.daugherty at oracle.com> wrote: > ** > OK, that rules out the two native memory leaks that I fixed > earlier this year. > > Dan > > > On 5/25/12 2:09 PM, Srinivas Ramakrishna wrote: > > Hi Dan -- I don't believe either is being used in this case. > > -- ramki > > On Fri, May 25, 2012 at 12:07 PM, Daniel D. Daugherty < > daniel.daugherty at oracle.com> wrote: > >> Hey Ramki! >> >> Do you happen to know if java.lang.instrument, JVM/TI RedefineClasses() >> or JVM/TI RetransformClasses() is being used by the system? >> >> Dan >> >> >> >> On 5/25/12 12:53 PM, Srinivas Ramakrishna wrote: >> >>> >>> Just a quick question in case any one might remember off the top of >>> their head... >>> >>> Are there any native memory leaks that may have been fixed in JDK 7 and >>> 8 that haven't yet >>> been backported to JDK 6uXX? >>> >>> No need for any research... just a quick check to see if anyone recalls >>> anything recently that >>> fixed native leaks... i'll go check the hg logs momentarily to see if >>> anything jumps out. >>> >>> I am suspecting some 64 M segments that I see in pmap, and am yet to >>> figure out when and where >>> these are coming from... The leak is abrupt and likely the result of a >>> rather rare/infrequent event. >>> I'll see if I can find a DTrace that works on Linux and log mmap/munmap >>> calls to get more info. >>> >>> thanks for any (even very vague) pointers. >>> -- ramki >>> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20120525/d8e065ac/attachment.html From rasbold at google.com Fri May 25 15:36:07 2012 From: rasbold at google.com (Chuck Rasbold) Date: Fri, 25 May 2012 15:36:07 -0700 Subject: CFV: New HotSpot Group Member: Christian Thalinger In-Reply-To: <4FBFFBD0.5090008@oracle.com> References: <4FBFFBD0.5090008@oracle.com> Message-ID: Vote: yes On Fri, May 25, 2012 at 2:38 PM, Vladimir Kozlov wrote: > I hereby nominate Christian Thalinger to Membership in the HotSpot Group. > > Christian is a long-time HotSpot engineer. He started working on HotSpot > back in 2009 when he joined the Hotspot Compiler group. His work is > concentrated on JSR 292 implementation in Hotspot. He is currently a > Reviewer for several OpenJDK projects and Committer to MLVM project [1]. > He is also official HotSpot group blogger [2]. > > Votes are due by June 8, 2012 at 00:00:00 UTC (two week voting period). > > Only current Members of the HotSpot Group [3] are eligible > to vote on this nomination. Votes must be cast in the open by > replying to this mailing list > > For Lazy Consensus voting instructions, see [4]. > > Regards, > Vladimir Kozlov > [1] http://openjdk.java.net/**census#twisti > [2] http://openjdk.java.net/**groups/hotspot/ > [3] http://openjdk.java.net/**census#hotspot > [4] http://openjdk.java.net/**groups/#member-vote > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20120525/b30b12e3/attachment-0001.html From Peter.B.Kessler at Oracle.COM Fri May 25 16:21:45 2012 From: Peter.B.Kessler at Oracle.COM (Peter B. Kessler) Date: Fri, 25 May 2012 16:21:45 -0700 Subject: CFV: New HotSpot Group Member: Christian Thalinger In-Reply-To: <4FBFFBD0.5090008@oracle.com> References: <4FBFFBD0.5090008@oracle.com> Message-ID: <4FC01409.1090706@Oracle.COM> Vote: yes ... peter Vladimir Kozlov wrote: > I hereby nominate Christian Thalinger to Membership in the HotSpot Group. > > Christian is a long-time HotSpot engineer. He started working on HotSpot > back in 2009 when he joined the Hotspot Compiler group. His work is > concentrated on JSR 292 implementation in Hotspot. He is currently a > Reviewer for several OpenJDK projects and Committer to MLVM project [1]. > He is also official HotSpot group blogger [2]. > > Votes are due by June 8, 2012 at 00:00:00 UTC (two week voting period). > > Only current Members of the HotSpot Group [3] are eligible > to vote on this nomination. Votes must be cast in the open by > replying to this mailing list > > For Lazy Consensus voting instructions, see [4]. > > Regards, > Vladimir Kozlov > [1] http://openjdk.java.net/census#twisti > [2] http://openjdk.java.net/groups/hotspot/ > [3] http://openjdk.java.net/census#hotspot > [4] http://openjdk.java.net/groups/#member-vote > > From alejandro.murillo at oracle.com Fri May 25 16:49:45 2012 From: alejandro.murillo at oracle.com (alejandro.murillo at oracle.com) Date: Fri, 25 May 2012 23:49:45 +0000 Subject: hg: hsx/hsx23.2/hotspot: Added tag hs23.2-b03 for changeset e974e1594565 Message-ID: <20120525234947.E9BC547531@hg.openjdk.java.net> Changeset: 365d216f0666 Author: amurillo Date: 2012-05-25 13:40 -0700 URL: http://hg.openjdk.java.net/hsx/hsx23.2/hotspot/rev/365d216f0666 Added tag hs23.2-b03 for changeset e974e1594565 ! .hgtags From ChrisPhi at LGonQn.Org Fri May 25 18:17:37 2012 From: ChrisPhi at LGonQn.Org (Chris Phillips @ T O) Date: Fri, 25 May 2012 21:17:37 -0400 Subject: CFV: New HotSpot Group Member: Christian Thalinger In-Reply-To: <4FBFFBD0.5090008@oracle.com> References: <4FBFFBD0.5090008@oracle.com> Message-ID: <4FC02F31.6000005@LGonQn.Org> Vote: yes Chris On 25/05/12 05:38 PM, Vladimir Kozlov wrote: > I hereby nominate Christian Thalinger to Membership in the HotSpot Group. > > Christian is a long-time HotSpot engineer. He started working on HotSpot > back in 2009 when he joined the Hotspot Compiler group. His work is > concentrated on JSR 292 implementation in Hotspot. He is currently a > Reviewer for several OpenJDK projects and Committer to MLVM project [1]. > He is also official HotSpot group blogger [2]. > > Votes are due by June 8, 2012 at 00:00:00 UTC (two week voting period). > > Only current Members of the HotSpot Group [3] are eligible > to vote on this nomination. Votes must be cast in the open by > replying to this mailing list > > For Lazy Consensus voting instructions, see [4]. > > Regards, > Vladimir Kozlov > [1] http://openjdk.java.net/census#twisti > [2] http://openjdk.java.net/groups/hotspot/ > [3] http://openjdk.java.net/census#hotspot > [4] http://openjdk.java.net/groups/#member-vote > > > From ChrisPhi at LGonQn.Org Fri May 25 18:18:11 2012 From: ChrisPhi at LGonQn.Org (Chris Phillips @ T O) Date: Fri, 25 May 2012 21:18:11 -0400 Subject: CFV: New HotSpot Group Member: Roland Westrelin In-Reply-To: <4FC00138.2000803@oracle.com> References: <4FC00138.2000803@oracle.com> Message-ID: <4FC02F53.8040306@LGonQn.Org> Vote: yes Chris On 25/05/12 06:01 PM, Vladimir Kozlov wrote: > I hereby nominate Roland Westrelin to Membership in the HotSpot Group. > > Roland is a long-time HotSpot engineer. He contributed to HotSpot for > more then 2 years. Recently he joined the Hotspot Compiler group. > He is currently a Committer for several OpenJDK projects [1] and > recently was nominated to a Reviewer in the HotSpot Express Project [2]. > > Votes are due by June 8, 2012 at 00:00:00 UTC (two week voting period). > > Only current Members of the HotSpot Group [3] are eligible > to vote on this nomination. Votes must be cast in the open by > replying to this mailing list. > > For Lazy Consensus voting instructions, see [4]. > > Regards, > Vladimir Kozlov > > [1] http://openjdk.java.net/census#roland > [2] > http://mail.openjdk.java.net/pipermail/hotspot-dev/2012-May/005911.html > [3] http://openjdk.java.net/census#hotspot > [4] http://openjdk.java.net/groups/#member-vote > > > > From alejandro.murillo at oracle.com Fri May 25 18:45:32 2012 From: alejandro.murillo at oracle.com (alejandro.murillo at oracle.com) Date: Sat, 26 May 2012 01:45:32 +0000 Subject: hg: hsx/hsx24/hotspot: 23 new changesets Message-ID: <20120526014621.2CAED47535@hg.openjdk.java.net> Changeset: 48064e53e997 Author: katleman Date: 2012-05-24 16:15 -0700 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/48064e53e997 Added tag jdk8-b40 for changeset ff9decc8235d ! .hgtags Changeset: 03d61caacd1e Author: amurillo Date: 2012-05-18 14:57 -0700 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/03d61caacd1e 7170006: new hotspot build - hs24-b12 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 0251d217257f Author: sla Date: 2012-05-08 20:28 +0200 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/0251d217257f 7162726: Wrong filter predicate of visible locals in SA JSJavaFrame Reviewed-by: sla, dcubed Contributed-by: Krystal Mok ! agent/src/share/classes/sun/jvm/hotspot/utilities/soql/JSJavaFrame.java Changeset: 7f410b6ea66c Author: dholmes Date: 2012-05-09 00:28 -0400 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/7f410b6ea66c 7167406: (Zero) Fix for InvokeDynamic needed Reviewed-by: chrisphi, dholmes Contributed-by: Andrew Dinn ! src/cpu/zero/vm/cppInterpreter_zero.cpp Changeset: d506b2cf2ad0 Author: dholmes Date: 2012-05-09 04:32 -0400 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/d506b2cf2ad0 Merge Changeset: 78d2ae5ab35b Author: nloodin Date: 2012-05-09 16:24 +0200 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/78d2ae5ab35b 7163117: Agent can't connect to process on Mac OSX Reviewed-by: dholmes, coleenp, sla, minqi, kvn ! agent/src/share/classes/sun/jvm/hotspot/HotSpotAgent.java ! agent/src/share/classes/sun/jvm/hotspot/bugspot/BugSpotAgent.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/BsdCDebugger.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/BsdThreadContextFactory.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/proc/ProcDebuggerLocal.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/remote/RemoteDebuggerClient.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/Threads.java ! agent/src/share/classes/sun/jvm/hotspot/ui/classbrowser/HTMLGenerator.java Changeset: 037973617842 Author: kevinw Date: 2012-05-11 17:24 +0100 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/037973617842 7157734: hotspot test scripts not testing 64-bit JVM under JPRT/JTREG. Reviewed-by: kvn ! test/compiler/6894807/Test6894807.sh ! test/gc/6941923/test6941923.sh ! test/runtime/6626217/Test6626217.sh ! test/runtime/6878713/Test6878713.sh ! test/runtime/6929067/Test6929067.sh ! test/runtime/7020373/Test7020373.sh ! test/runtime/7051189/Xchecksig.sh ! test/runtime/7158988/TestFieldMonitor.sh Changeset: 2f4819f92dc7 Author: zgu Date: 2012-05-10 18:19 -0400 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/2f4819f92dc7 Merge - src/share/vm/gc_implementation/concurrentMarkSweep/binaryTreeDictionary.cpp - src/share/vm/gc_implementation/concurrentMarkSweep/binaryTreeDictionary.hpp - src/share/vm/gc_implementation/concurrentMarkSweep/freeBlockDictionary.cpp - src/share/vm/gc_implementation/concurrentMarkSweep/freeBlockDictionary.hpp - src/share/vm/gc_implementation/concurrentMarkSweep/freeList.cpp - src/share/vm/gc_implementation/concurrentMarkSweep/freeList.hpp Changeset: b4f7c4315c36 Author: zgu Date: 2012-05-12 06:50 -0400 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/b4f7c4315c36 Merge Changeset: 7d4e6dabc6bf Author: dcubed Date: 2012-05-15 10:52 -0700 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/7d4e6dabc6bf 7165060: dtrace tests fail with FDS debug info files Summary: Work around 'gobjcopy --add-gnu-debuglink' failure by adding a temporary tool that adds the '.gnu_debuglink' section and nothing more. Reviewed-by: sspitsyn, acorn + make/solaris/makefiles/add_gnu_debuglink.make ! make/solaris/makefiles/vm.make + src/os/solaris/add_gnu_debuglink/add_gnu_debuglink.c Changeset: 80b9cc90b643 Author: dcubed Date: 2012-05-15 11:27 -0700 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/80b9cc90b643 Merge ! make/solaris/makefiles/defs.make ! make/solaris/makefiles/vm.make Changeset: 9793f47cdebc Author: dcubed Date: 2012-05-15 15:16 -0700 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/9793f47cdebc 7169102: 7165060 merge lost changes to make/windows/makefiles/defs.make Reviewed-by: sspitsyn, acorn ! make/windows/makefiles/defs.make Changeset: 7432b9db36ff Author: nloodin Date: 2012-05-10 15:44 +0200 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/7432b9db36ff 7165755: OS Information much longer on linux than other platforms Reviewed-by: sla, dholmes ! src/os/bsd/vm/os_bsd.cpp ! src/os/linux/vm/os_linux.cpp ! src/os/linux/vm/os_linux.hpp ! src/os/posix/vm/os_posix.cpp + src/os/posix/vm/os_posix.hpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/solaris/vm/os_solaris.hpp ! src/os/windows/vm/os_windows.cpp ! src/os/windows/vm/os_windows.hpp ! src/share/vm/runtime/os.hpp Changeset: 198dcc84088c Author: dcubed Date: 2012-05-16 12:47 -0700 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/198dcc84088c 7169409: enabling ZIP_DEBUGINFO_FILES causes unexpected test failures on Windows X86 Summary: Disable ZIP_DEBUGINFO_FILES by default on Windows. Reviewed-by: acorn ! make/windows/makefiles/defs.make Changeset: 4b37c0dafe3a Author: dcubed Date: 2012-05-18 09:15 -0700 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/4b37c0dafe3a 7170010: conditional "ZIP_DEBUGINFO_FILES ?= 0" setting is not reliable on Windows Summary: Always disable ZIP_DEBUGINFO_FILES on Windows. Reviewed-by: acorn ! make/windows/makefiles/defs.make Changeset: cee14a6fc5ac Author: zgu Date: 2012-05-22 20:29 -0400 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/cee14a6fc5ac Merge Changeset: 6759698e3140 Author: roland Date: 2012-05-15 10:10 +0200 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/6759698e3140 7133857: exp() and pow() should use the x87 ISA on x86 Summary: use x87 instructions to implement exp() and pow() in interpreter/c1/c2. Reviewed-by: kvn, never, twisti ! src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp ! src/cpu/sparc/vm/interpreter_sparc.cpp ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/assembler_x86.hpp ! src/cpu/x86/vm/c1_LIRAssembler_x86.cpp ! src/cpu/x86/vm/c1_LIRGenerator_x86.cpp ! src/cpu/x86/vm/c1_LinearScan_x86.cpp ! src/cpu/x86/vm/interpreter_x86_32.cpp ! src/cpu/x86/vm/interpreter_x86_64.cpp ! src/cpu/x86/vm/stubGenerator_x86_32.cpp ! src/cpu/x86/vm/stubGenerator_x86_64.cpp ! src/cpu/x86/vm/templateInterpreter_x86_32.cpp ! src/cpu/x86/vm/templateInterpreter_x86_64.cpp ! src/cpu/x86/vm/x86_32.ad ! src/cpu/x86/vm/x86_64.ad ! src/share/vm/c1/c1_GraphBuilder.cpp ! src/share/vm/c1/c1_LIR.cpp ! src/share/vm/c1/c1_LIR.hpp ! src/share/vm/c1/c1_LIRAssembler.cpp ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/c1/c1_LinearScan.cpp ! src/share/vm/interpreter/abstractInterpreter.hpp ! src/share/vm/interpreter/interpreter.cpp ! src/share/vm/interpreter/templateInterpreter.cpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/opto/subnode.cpp Changeset: 4073d9478a90 Author: roland Date: 2012-05-18 15:50 +0200 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/4073d9478a90 7167254: Crash on OSX in Enumerator.nextElement() with compressed oops Summary: null checks in "compressed oops with base" mode may trigger a SIGBUS rather than a SIGSEGV. Reviewed-by: dsamersoff, dcubed, rbackman, kvn ! src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp Changeset: cdd249497b34 Author: twisti Date: 2012-05-18 12:20 -0700 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/cdd249497b34 7170053: crash in C2 when using -XX:+CountCompiledCalls Reviewed-by: kvn, twisti Contributed-by: Krystal Mok ! src/share/vm/opto/doCall.cpp Changeset: e2961d14584b Author: roland Date: 2012-05-21 09:46 +0200 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/e2961d14584b 7169934: pow(x,y) or x64 computes incorrect result when x<0 and y is an odd integer Summary: bad test for parity of y in pow(x,y) (c1, interpreter) Reviewed-by: kvn, twisti ! src/cpu/x86/vm/assembler_x86.cpp Changeset: 7089278210e2 Author: kvn Date: 2012-05-24 18:39 -0700 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/7089278210e2 Merge Changeset: 785573170238 Author: amurillo Date: 2012-05-25 14:45 -0700 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/785573170238 Merge Changeset: 37add4fa0296 Author: amurillo Date: 2012-05-25 14:45 -0700 URL: http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/37add4fa0296 Added tag hs24-b12 for changeset 785573170238 ! .hgtags From john.r.rose at oracle.com Fri May 25 19:09:45 2012 From: john.r.rose at oracle.com (John Rose) Date: Fri, 25 May 2012 19:09:45 -0700 (PDT) Subject: CFV: New HotSpot Group Member: Christian Thalinger In-Reply-To: <4FBFFBD0.5090008@oracle.com> References: <4FBFFBD0.5090008@oracle.com> Message-ID: Vote: yes From john.r.rose at oracle.com Fri May 25 19:08:41 2012 From: john.r.rose at oracle.com (John Rose) Date: Fri, 25 May 2012 19:08:41 -0700 (PDT) Subject: CFV: New HotSpot Group Member: Roland Westrelin In-Reply-To: <4FC00138.2000803@oracle.com> References: <4FC00138.2000803@oracle.com> Message-ID: <8D541CD0-B516-47DC-B526-7E641EA6FDA5@oracle.com> Vote: yes From alejandro.murillo at oracle.com Fri May 25 21:26:31 2012 From: alejandro.murillo at oracle.com (alejandro.murillo at oracle.com) Date: Sat, 26 May 2012 04:26:31 +0000 Subject: hg: hsx/hsx23.2/hotspot: 7171852: new hotspot build - hs23.2-b04 Message-ID: <20120526042635.6A11047547@hg.openjdk.java.net> Changeset: d8fb2e80e074 Author: amurillo Date: 2012-05-25 13:53 -0700 URL: http://hg.openjdk.java.net/hsx/hsx23.2/hotspot/rev/d8fb2e80e074 7171852: new hotspot build - hs23.2-b04 Reviewed-by: jcoomes ! make/hotspot_version From ysr1729 at gmail.com Fri May 25 22:46:11 2012 From: ysr1729 at gmail.com (Srinivas Ramakrishna) Date: Fri, 25 May 2012 22:46:11 -0700 Subject: CFV: New HotSpot Group Member: Christian Thalinger In-Reply-To: <4FBFFBD0.5090008@oracle.com> References: <4FBFFBD0.5090008@oracle.com> Message-ID: Vote: yes -- ramki (openjdk: ysr) On Fri, May 25, 2012 at 2:38 PM, Vladimir Kozlov wrote: > I hereby nominate Christian Thalinger to Membership in the HotSpot Group. > > Christian is a long-time HotSpot engineer. He started working on HotSpot > back in 2009 when he joined the Hotspot Compiler group. His work is > concentrated on JSR 292 implementation in Hotspot. He is currently a > Reviewer for several OpenJDK projects and Committer to MLVM project [1]. > He is also official HotSpot group blogger [2]. > > Votes are due by June 8, 2012 at 00:00:00 UTC (two week voting period). > > Only current Members of the HotSpot Group [3] are eligible > to vote on this nomination. Votes must be cast in the open by > replying to this mailing list > > For Lazy Consensus voting instructions, see [4]. > > Regards, > Vladimir Kozlov > [1] http://openjdk.java.net/**census#twisti > [2] http://openjdk.java.net/**groups/hotspot/ > [3] http://openjdk.java.net/**census#hotspot > [4] http://openjdk.java.net/**groups/#member-vote > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20120525/972594d0/attachment-0001.html From iggy.veresov at gmail.com Fri May 25 23:16:40 2012 From: iggy.veresov at gmail.com (Igor Veresov) Date: Fri, 25 May 2012 23:16:40 -0700 Subject: CFV: New HotSpot Group Member: Christian Thalinger In-Reply-To: <4FBFFBD0.5090008@oracle.com> References: <4FBFFBD0.5090008@oracle.com> Message-ID: Vote: yes igor On May 25, 2012, at 2:38 PM, Vladimir Kozlov wrote: > I hereby nominate Christian Thalinger to Membership in the HotSpot Group. > > Christian is a long-time HotSpot engineer. He started working on HotSpot > back in 2009 when he joined the Hotspot Compiler group. His work is > concentrated on JSR 292 implementation in Hotspot. He is currently a > Reviewer for several OpenJDK projects and Committer to MLVM project [1]. > He is also official HotSpot group blogger [2]. > > Votes are due by June 8, 2012 at 00:00:00 UTC (two week voting period). > > Only current Members of the HotSpot Group [3] are eligible > to vote on this nomination. Votes must be cast in the open by > replying to this mailing list > > For Lazy Consensus voting instructions, see [4]. > > Regards, > Vladimir Kozlov > [1] http://openjdk.java.net/census#twisti > [2] http://openjdk.java.net/groups/hotspot/ > [3] http://openjdk.java.net/census#hotspot > [4] http://openjdk.java.net/groups/#member-vote > From iggy.veresov at gmail.com Fri May 25 23:17:11 2012 From: iggy.veresov at gmail.com (Igor Veresov) Date: Fri, 25 May 2012 23:17:11 -0700 Subject: CFV: New HotSpot Group Member: Roland Westrelin In-Reply-To: <4FC00138.2000803@oracle.com> References: <4FC00138.2000803@oracle.com> Message-ID: Vote: yes igor On May 25, 2012, at 3:01 PM, Vladimir Kozlov wrote: > I hereby nominate Roland Westrelin to Membership in the HotSpot Group. > > Roland is a long-time HotSpot engineer. He contributed to HotSpot for > more then 2 years. Recently he joined the Hotspot Compiler group. > He is currently a Committer for several OpenJDK projects [1] and > recently was nominated to a Reviewer in the HotSpot Express Project [2]. > > Votes are due by June 8, 2012 at 00:00:00 UTC (two week voting period). > > Only current Members of the HotSpot Group [3] are eligible > to vote on this nomination. Votes must be cast in the open by > replying to this mailing list. > > For Lazy Consensus voting instructions, see [4]. > > Regards, > Vladimir Kozlov > > [1] http://openjdk.java.net/census#roland > [2] http://mail.openjdk.java.net/pipermail/hotspot-dev/2012-May/005911.html > [3] http://openjdk.java.net/census#hotspot > [4] http://openjdk.java.net/groups/#member-vote > > From alejandro.murillo at oracle.com Fri May 25 23:18:48 2012 From: alejandro.murillo at oracle.com (alejandro.murillo at oracle.com) Date: Sat, 26 May 2012 06:18:48 +0000 Subject: hg: hsx/hotspot-main/hotspot: 4 new changesets Message-ID: <20120526061856.3D6264754B@hg.openjdk.java.net> Changeset: 48064e53e997 Author: katleman Date: 2012-05-24 16:15 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/48064e53e997 Added tag jdk8-b40 for changeset ff9decc8235d ! .hgtags Changeset: 785573170238 Author: amurillo Date: 2012-05-25 14:45 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/785573170238 Merge Changeset: 37add4fa0296 Author: amurillo Date: 2012-05-25 14:45 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/37add4fa0296 Added tag hs24-b12 for changeset 785573170238 ! .hgtags Changeset: c80d42d78a01 Author: amurillo Date: 2012-05-25 14:56 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/c80d42d78a01 7171853: new hotspot build - hs24-b13 Reviewed-by: jcoomes ! make/hotspot_version From david.holmes at oracle.com Sun May 27 17:45:55 2012 From: david.holmes at oracle.com (David Holmes) Date: Mon, 28 May 2012 10:45:55 +1000 Subject: CFV: New Hotspot Group Lead: John Coomes In-Reply-To: <3fcca443-9951-4905-a9ab-13b2b6840784@default> References: <3fcca443-9951-4905-a9ab-13b2b6840784@default> Message-ID: <4FC2CAC3.2070805@oracle.com> Hi Iris, Did this vote complete? The census page [1] still shows Paul Hohensee as group lead. David ----- [1] http://openjdk.java.net/census#hotspot On 24/03/2012 3:00 AM, Iris Clark wrote: > I hereby nominate John Coomes to Hotspot Group Lead [1]. > > John has been working on the HotSpot JVM for almost 10 years mainly on > garbage collection where he was one of the primary developers of the > parallel compacting garbage collector. Recently he has been spending a > lot of time looking after the hsx Project repositories and organizing > regular deliveries of HotSpot into JDK 8 and JDK 7 updates. > > Votes are due by 7:00PM UTC, Friday 6 April [2]. > > Only current members of the Hotspot Group [3] are eligible to vote on > this nomination. Votes must be cast in the open by replying to this > mailing list. > > For Simple Majority voting instructions, see [4]. > > Iris Clark > > [1]: http://openjdk.java.net/bylaws#group-lead > [2]: http://www.timeanddate.com/worldclock/fixedtime.html?msg=CFV%3A+New+Hotspot+Group+Lead+John+Coomes&iso=20120406T12&p1=283 > [3]: http://openjdk.java.net/census#hotspot > [3]: http://openjdk.java.net/bylaws#simple-majority From david.holmes at oracle.com Sun May 27 17:46:28 2012 From: david.holmes at oracle.com (David Holmes) Date: Mon, 28 May 2012 10:46:28 +1000 Subject: CFV: New HotSpot Group Member: Christian Thalinger In-Reply-To: <4FBFFBD0.5090008@oracle.com> References: <4FBFFBD0.5090008@oracle.com> Message-ID: <4FC2CAE4.1080906@oracle.com> Vote: Yes David On 26/05/2012 7:38 AM, Vladimir Kozlov wrote: > I hereby nominate Christian Thalinger to Membership in the HotSpot Group. > > Christian is a long-time HotSpot engineer. He started working on HotSpot > back in 2009 when he joined the Hotspot Compiler group. His work is > concentrated on JSR 292 implementation in Hotspot. He is currently a > Reviewer for several OpenJDK projects and Committer to MLVM project [1]. > He is also official HotSpot group blogger [2]. > > Votes are due by June 8, 2012 at 00:00:00 UTC (two week voting period). > > Only current Members of the HotSpot Group [3] are eligible > to vote on this nomination. Votes must be cast in the open by > replying to this mailing list > > For Lazy Consensus voting instructions, see [4]. > > Regards, > Vladimir Kozlov > [1] http://openjdk.java.net/census#twisti > [2] http://openjdk.java.net/groups/hotspot/ > [3] http://openjdk.java.net/census#hotspot > [4] http://openjdk.java.net/groups/#member-vote > From david.holmes at oracle.com Sun May 27 17:47:13 2012 From: david.holmes at oracle.com (David Holmes) Date: Mon, 28 May 2012 10:47:13 +1000 Subject: CFV: New HotSpot Group Member: Roland Westrelin In-Reply-To: <4FC00138.2000803@oracle.com> References: <4FC00138.2000803@oracle.com> Message-ID: <4FC2CB11.80501@oracle.com> Vote: yes David ----- On 26/05/2012 8:01 AM, Vladimir Kozlov wrote: > I hereby nominate Roland Westrelin to Membership in the HotSpot Group. > > Roland is a long-time HotSpot engineer. He contributed to HotSpot for > more then 2 years. Recently he joined the Hotspot Compiler group. > He is currently a Committer for several OpenJDK projects [1] and > recently was nominated to a Reviewer in the HotSpot Express Project [2]. > > Votes are due by June 8, 2012 at 00:00:00 UTC (two week voting period). > > Only current Members of the HotSpot Group [3] are eligible > to vote on this nomination. Votes must be cast in the open by > replying to this mailing list. > > For Lazy Consensus voting instructions, see [4]. > > Regards, > Vladimir Kozlov > > [1] http://openjdk.java.net/census#roland > [2] http://mail.openjdk.java.net/pipermail/hotspot-dev/2012-May/005911.html > [3] http://openjdk.java.net/census#hotspot > [4] http://openjdk.java.net/groups/#member-vote > > From openjdk at sunnychan.hk Sun May 27 22:14:16 2012 From: openjdk at sunnychan.hk (Sunny Chan) Date: Mon, 28 May 2012 05:14:16 +0000 (UTC) Subject: memory leaks? References: Message-ID: Srinivas Ramakrishna writes: > > > Just a quick question in case any one might remember off the top of their head...Are there any native memory leaks that may have been fixed in JDK 7 and 8 that haven't yetbeen backported to JDK 6uXX?No need for any research... just a quick check to see if anyone recalls anything recently thatfixed native leaks... i'll go check the hg logs momentarily to see if anything jumps out.I am suspecting some 64 M segments that I see in pmap, and am yet to figure out when and where > these are coming from... The leak is abrupt and likely the result of a rather rare/infrequent event.I'll see if I can find a DTrace that works on Linux and log mmap/munmap calls to get more info.thanks for any (even very vague) pointers. Are you using RHEL 6 or equivalent? RHEL 6's GLIBC has a new malloc implementation that create specific malloc arena to improve threaded malloc (similar to TLAB in Hotspot). These appears as lumps of 64M blocks with a couple of page in front, like this: 7f99c0021000-7f99c4000000 ---p 00000000 00:00 0 (132k) 7f99c4000000-7f99c4021000 rw-p 00000000 00:00 0 (64M) 7f99c4021000-7f99c8000000 ---p 00000000 00:00 0 (132k) 7f99c8000000-7f99c8021000 rw-p 00000000 00:00 0 (64M) 7f99c8021000-7f99cc000000 ---p 00000000 00:00 0 (132k) 7f99cc000000-7f99cc021000 rw-p 00000000 00:00 0 (64M) You can switch off the malloc Arena by setting MALLOC_ARENA_MAX to 1 or 4 - there are a couple of team tested this and seems to have no negative performance in general Java workload - but there will be impact if you do multithreaded native malloc. see https://www.ibm.com/developerworks/mydeveloperworks/blogs/kevgrig/entry/linux_gl ibc_2_10_rhel_6_malloc_may_show_excessive_virtual_memory_usage?lang=en From aph at redhat.com Mon May 28 05:07:15 2012 From: aph at redhat.com (Andrew Haley) Date: Mon, 28 May 2012 13:07:15 +0100 Subject: A small utility Message-ID: <4FC36A73.7090203@redhat.com> We were having a lot of difficulty with our ARM port: there was a very rare crash in the garbage collector. This little patch helped a lot. It's a thread that forces a full GC at some fixed interval, here 500ms. I don't know if anything similar exists in the HotSpot developer sources, but I couldn't find it. Offered here not as a request for a commit, but in the hope that someone might find it useful. Andrew. diff -r f293db049783 src/share/vm/runtime/vmThread.cpp --- a/src/share/vm/runtime/vmThread.cpp Mon May 28 08:01:18 2012 -0400 +++ b/src/share/vm/runtime/vmThread.cpp Mon May 28 08:01:38 2012 -0400 @@ -245,6 +245,39 @@ } } +class BangerThread : NamedThread +{ +public: + + static BangerThread *the_thread; + + static void create() { + the_thread = new BangerThread(); + os::create_thread (the_thread, os::watcher_thread); + Thread::start(the_thread); + } + + BangerThread() : NamedThread() { + set_name("banger"); + } + + void run() { + struct timespec req; + req.tv_nsec = 0.5e9; + req.tv_sec = 0; + + for (;;) + { + nanosleep(&req, NULL); + // VM_ForceSafepoint op; + // VMThread::execute(&op); + Universe::heap()->collect(GCCause::_java_lang_system_gc); + } + } +}; + +BangerThread *BangerThread::the_thread; + void VMThread::run() { assert(this == vm_thread(), "check"); @@ -269,6 +302,8 @@ // possible to set the VM thread priority higher than any Java thread. os::set_native_priority( this, prio ); + BangerThread::create(); + // Wait for VM_Operations until termination this->loop(); From david.holmes at oracle.com Mon May 28 05:40:18 2012 From: david.holmes at oracle.com (David Holmes) Date: Mon, 28 May 2012 22:40:18 +1000 Subject: A small utility In-Reply-To: <4FC36A73.7090203@redhat.com> References: <4FC36A73.7090203@redhat.com> Message-ID: <4FC37232.9000103@oracle.com> Hi Andrew, In non-product builds there is FullGCALot with associated FullGCALotInterval, and a start delay FullGCALotStart. I don't know the exact details. David On 28/05/2012 10:07 PM, Andrew Haley wrote: > We were having a lot of difficulty with our ARM port: there was a > very rare crash in the garbage collector. This little patch helped > a lot. It's a thread that forces a full GC at some fixed interval, > here 500ms. I don't know if anything similar exists in the HotSpot > developer sources, but I couldn't find it. Offered here not as a > request for a commit, but in the hope that someone might find it > useful. > > Andrew. > > > > diff -r f293db049783 src/share/vm/runtime/vmThread.cpp > --- a/src/share/vm/runtime/vmThread.cpp Mon May 28 08:01:18 2012 -0400 > +++ b/src/share/vm/runtime/vmThread.cpp Mon May 28 08:01:38 2012 -0400 > @@ -245,6 +245,39 @@ > } > } > > +class BangerThread : NamedThread > +{ > +public: > + > + static BangerThread *the_thread; > + > + static void create() { > + the_thread = new BangerThread(); > + os::create_thread (the_thread, os::watcher_thread); > + Thread::start(the_thread); > + } > + > + BangerThread() : NamedThread() { > + set_name("banger"); > + } > + > + void run() { > + struct timespec req; > + req.tv_nsec = 0.5e9; > + req.tv_sec = 0; > + > + for (;;) > + { > + nanosleep(&req, NULL); > + // VM_ForceSafepoint op; > + // VMThread::execute(&op); > + Universe::heap()->collect(GCCause::_java_lang_system_gc); > + } > + } > +}; > + > +BangerThread *BangerThread::the_thread; > + > void VMThread::run() { > assert(this == vm_thread(), "check"); > > @@ -269,6 +302,8 @@ > // possible to set the VM thread priority higher than any Java thread. > os::set_native_priority( this, prio ); > > + BangerThread::create(); > + > // Wait for VM_Operations until termination > this->loop(); > From aph at redhat.com Mon May 28 05:42:20 2012 From: aph at redhat.com (Andrew Haley) Date: Mon, 28 May 2012 13:42:20 +0100 Subject: A small utility In-Reply-To: <4FC37232.9000103@oracle.com> References: <4FC36A73.7090203@redhat.com> <4FC37232.9000103@oracle.com> Message-ID: <4FC372AC.3080105@redhat.com> On 05/28/2012 01:40 PM, David Holmes wrote: > In non-product builds there is FullGCALot with associated > FullGCALotInterval, and a start delay FullGCALotStart. I don't know the > exact details. Ah, I thought there must be something like that. Thanks, Andrew. From ahughes at redhat.com Mon May 28 05:57:58 2012 From: ahughes at redhat.com (Andrew Hughes) Date: Mon, 28 May 2012 08:57:58 -0400 (EDT) Subject: Build breakage In-Reply-To: <417c89c1-42a1-4e14-a832-3b9ed7fd70e9@zmail17.collab.prod.int.phx2.redhat.com> Message-ID: <16aa8db7-f78c-4aee-82c3-5cb9a4f7ac5e@zmail17.collab.prod.int.phx2.redhat.com> I'm trying to build a patch against the build forest (http://hg.openjdk.java.net/jdk8/build/) and the HotSpot build is broken in the current checkout: /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp: In instantiation of 'TreeList* TreeList::remove_chunk_replace_if_needed(TreeChunk*) [with Chunk = FreeChunk]': /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:1342:16: required from here /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:173:7: error: 'link_tail' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:173:7: note: declarations in dependent base 'FreeList' are not found by unqualified lookup /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:173:7: note: use 'this->link_tail' instead /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp: In instantiation of 'void TreeList::return_chunk_at_head(TreeChunk*) [with Chunk = FreeChunk]': /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:1342:16: required from here /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:257:5: error: 'link_tail' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:257:5: note: declarations in dependent base 'FreeList' are not found by unqualified lookup /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:257:5: note: use 'this->link_tail' instead /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp: In instantiation of 'void TreeList::return_chunk_at_tail(TreeChunk*) [with Chunk = FreeChunk]': /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:1342:16: required from here /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:230:3: error: 'link_tail' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:230:3: note: declarations in dependent base 'FreeList' are not found by unqualified lookup /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:230:3: note: use 'this->link_tail' instead /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp: In instantiation of 'bool DescendTreeSearchClosure::do_tree(TreeList*) [with Chunk = FreeChunk]': /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:1027:42: required from 'Chunk* BinaryTreeDictionary::find_chunk_ends_at(HeapWord*) const [with Chunk = FreeChunk]' /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:1340:16: required from here /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:994:7: error: 'do_list' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:994:7: note: declarations in dependent base 'TreeSearchClosure' are not found by unqualified lookup /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:994:7: note: use 'this->do_list' instead /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp: In instantiation of 'void AscendTreeCensusClosure::do_tree(TreeList*) [with Chunk = FreeChunk]': /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:1039:3: required from 'void BinaryTreeDictionary::begin_sweep_dict_census(double, float, float, float) [with Chunk = FreeChunk]' /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:1340:16: required from here /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:916:7: error: 'do_list' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:916:7: note: declarations in dependent base 'TreeCensusClosure' are not found by unqualified lookup /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:916:7: note: use 'this->do_list' instead /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp: In instantiation of 'void DescendTreeCensusClosure::do_tree(TreeList*) [with Chunk = FreeChunk]': /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:1135:3: required from 'void BinaryTreeDictionary::set_tree_hints() [with Chunk = FreeChunk]' /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:1340:16: required from here /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:928:7: error: 'do_list' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:928:7: note: declarations in dependent base 'TreeCensusClosure' are not found by unqualified lookup /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:928:7: note: use 'this->do_list' instead This is with GCC 4.7, exact same build as I do for 7u which works fine. ALT_BOOTDIR points to: java version "1.7.0_03-icedtea" OpenJDK Runtime Environment (IcedTea7 2.1) (Gentoo build 1.7.0_03-icedtea-b147) OpenJDK 64-Bit Server VM (build 22.0-b10, mixed mode) Settings: ANT_RESPECT_JAVA_HOME=true LANG=C make ALT_BOOTDIR=${SYSTEM_ICEDTEA7} \ ALT_OUTPUTDIR=${WORKING_DIR}/${BUILD_DIR} \ ALT_PARALLEL_COMPILE_JOBS=$PARALLEL_JOBS \ ALT_DROPS_DIR=${DROPS_DIR} \ HOTSPOT_BUILD_JOBS=$PARALLEL_JOBS \ ANT=/usr/bin/ant \ QUIETLY="" \ DEBUG_BINARIES="true" \ DEBUG_CLASSFILES="true" \ NO_DOCS="true" \ OTHER_JAVACFLAGS="-Xmaxwarns 10000" \ ${WARNINGS} STATIC_CXX=false \ STRIP_POLICY=no_strip I think this may be related to: $ hg log -R hotspot -k 7164144 changeset: 3297:f69a5d43dc19 parent: 3295:9f059abe8cf2 user: jmasa date: Wed Apr 25 09:55:55 2012 -0700 summary: 7164144: Fix variable naming style in freeBlockDictionary.* and binaryTreeDictionary* which is in hotspot-comp, hotspot-rt & build, but not 7u. Any ideas? -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From mikael.gerdin at oracle.com Mon May 28 06:30:39 2012 From: mikael.gerdin at oracle.com (Mikael Gerdin) Date: Mon, 28 May 2012 15:30:39 +0200 Subject: Build breakage In-Reply-To: <16aa8db7-f78c-4aee-82c3-5cb9a4f7ac5e@zmail17.collab.prod.int.phx2.redhat.com> References: <16aa8db7-f78c-4aee-82c3-5cb9a4f7ac5e@zmail17.collab.prod.int.phx2.redhat.com> Message-ID: <4FC37DFF.8080804@oracle.com> Hi Andrew, On 2012-05-28 14:57, Andrew Hughes wrote: > I'm trying to build a patch against the build forest (http://hg.openjdk.java.net/jdk8/build/) and the HotSpot build > is broken in the current checkout: > > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp: In instantiation of 'TreeList* TreeList::remove_chunk_replace_if_needed(TreeChunk*) [with Chunk = FreeChunk]': > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:1342:16: required from here > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:173:7: error: 'link_tail' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:173:7: note: declarations in dependent base 'FreeList' are not found by unqualified lookup > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:173:7: note: use 'this->link_tail' instead > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp: In instantiation of 'void TreeList::return_chunk_at_head(TreeChunk*) [with Chunk = FreeChunk]': > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:1342:16: required from here > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:257:5: error: 'link_tail' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:257:5: note: declarations in dependent base 'FreeList' are not found by unqualified lookup > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:257:5: note: use 'this->link_tail' instead > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp: In instantiation of 'void TreeList::return_chunk_at_tail(TreeChunk*) [with Chunk = FreeChunk]': > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:1342:16: required from here > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:230:3: error: 'link_tail' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:230:3: note: declarations in dependent base 'FreeList' are not found by unqualified lookup > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:230:3: note: use 'this->link_tail' instead > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp: In instantiation of 'bool DescendTreeSearchClosure::do_tree(TreeList*) [with Chunk = FreeChunk]': > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:1027:42: required from 'Chunk* BinaryTreeDictionary::find_chunk_ends_at(HeapWord*) const [with Chunk = FreeChunk]' > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:1340:16: required from here > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:994:7: error: 'do_list' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:994:7: note: declarations in dependent base 'TreeSearchClosure' are not found by unqualified lookup > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:994:7: note: use 'this->do_list' instead > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp: In instantiation of 'void AscendTreeCensusClosure::do_tree(TreeList*) [with Chunk = FreeChunk]': > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:1039:3: required from 'void BinaryTreeDictionary::begin_sweep_dict_census(double, float, float, float) [with Chunk = FreeChunk]' > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:1340:16: required from here > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:916:7: error: 'do_list' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:916:7: note: declarations in dependent base 'TreeCensusClosure' are not found by unqualified lookup > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:916:7: note: use 'this->do_list' instead > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp: In instantiation of 'void DescendTreeCensusClosure::do_tree(TreeList*) [with Chunk = FreeChunk]': > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:1135:3: required from 'void BinaryTreeDictionary::set_tree_hints() [with Chunk = FreeChunk]' > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:1340:16: required from here > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:928:7: error: 'do_list' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:928:7: note: declarations in dependent base 'TreeCensusClosure' are not found by unqualified lookup > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:928:7: note: use 'this->do_list' instead > > This is with GCC 4.7, exact same build as I do for 7u which works fine. > > ALT_BOOTDIR points to: > > java version "1.7.0_03-icedtea" > OpenJDK Runtime Environment (IcedTea7 2.1) (Gentoo build 1.7.0_03-icedtea-b147) > OpenJDK 64-Bit Server VM (build 22.0-b10, mixed mode) > > Settings: > > ANT_RESPECT_JAVA_HOME=true LANG=C make ALT_BOOTDIR=${SYSTEM_ICEDTEA7} \ > ALT_OUTPUTDIR=${WORKING_DIR}/${BUILD_DIR} \ > ALT_PARALLEL_COMPILE_JOBS=$PARALLEL_JOBS \ > ALT_DROPS_DIR=${DROPS_DIR} \ > HOTSPOT_BUILD_JOBS=$PARALLEL_JOBS \ > ANT=/usr/bin/ant \ > QUIETLY="" \ > DEBUG_BINARIES="true" \ > DEBUG_CLASSFILES="true" \ > NO_DOCS="true" \ > OTHER_JAVACFLAGS="-Xmaxwarns 10000" \ > ${WARNINGS} STATIC_CXX=false \ > STRIP_POLICY=no_strip > > I think this may be related to: > > $ hg log -R hotspot -k 7164144 > changeset: 3297:f69a5d43dc19 > parent: 3295:9f059abe8cf2 > user: jmasa > date: Wed Apr 25 09:55:55 2012 -0700 > summary: 7164144: Fix variable naming style in freeBlockDictionary.* and binaryTreeDictionary* > > which is in hotspot-comp, hotspot-rt& build, but not 7u. > > Any ideas? I've seen this when I tried building with GCC 4.7 as well. This problem comes from 9f059abe8cf2, "Generalize the CMS free list code" which introduced some templates. It appears that GCC 4.7 is more strict when doing argument dependent lookup than 4.6. The fix is to do just what gcc suggests and use this->* or use the qualified name of the function, for example TreeList::link_tail in the first failure. As you can see there are already some places in that code which use the fully qualified name. I just discovered that I had a patch that fixes most of these issues in binaryTreeDictionary so I'll go ahead and file a CR for this. Regards /mg -- Mikael Gerdin Java SE VM SQE Stockholm From ahughes at redhat.com Mon May 28 06:34:47 2012 From: ahughes at redhat.com (Andrew Hughes) Date: Mon, 28 May 2012 09:34:47 -0400 (EDT) Subject: Build breakage In-Reply-To: <4FC37DFF.8080804@oracle.com> Message-ID: <97931118-52df-45ec-961e-70d230e34815@zmail17.collab.prod.int.phx2.redhat.com> ----- Original Message ----- > Hi Andrew, > > On 2012-05-28 14:57, Andrew Hughes wrote: > > I'm trying to build a patch against the build forest > > (http://hg.openjdk.java.net/jdk8/build/) and the HotSpot build > > is broken in the current checkout: > > > > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp: > > In instantiation of 'TreeList* > > TreeList::remove_chunk_replace_if_needed(TreeChunk*) > > [with Chunk = FreeChunk]': > > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:1342:16: > > required from here > > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:173:7: > > error: 'link_tail' was not declared in this scope, and no > > declarations were found by argument-dependent lookup at the point > > of instantiation [-fpermissive] > > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:173:7: > > note: declarations in dependent base 'FreeList' are not > > found by unqualified lookup > > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:173:7: > > note: use 'this->link_tail' instead > > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp: > > In instantiation of 'void > > TreeList::return_chunk_at_head(TreeChunk*) [with > > Chunk = FreeChunk]': > > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:1342:16: > > required from here > > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:257:5: > > error: 'link_tail' was not declared in this scope, and no > > declarations were found by argument-dependent lookup at the point > > of instantiation [-fpermissive] > > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:257:5: > > note: declarations in dependent base 'FreeList' are not > > found by unqualified lookup > > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:257:5: > > note: use 'this->link_tail' instead > > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp: > > In instantiation of 'void > > TreeList::return_chunk_at_tail(TreeChunk*) [with > > Chunk = FreeChunk]': > > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:1342:16: > > required from here > > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:230:3: > > error: 'link_tail' was not declared in this scope, and no > > declarations were found by argument-dependent lookup at the point > > of instantiation [-fpermissive] > > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:230:3: > > note: declarations in dependent base 'FreeList' are not > > found by unqualified lookup > > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:230:3: > > note: use 'this->link_tail' instead > > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp: > > In instantiation of 'bool > > DescendTreeSearchClosure::do_tree(TreeList*) [with > > Chunk = FreeChunk]': > > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:1027:42: > > required from 'Chunk* > > BinaryTreeDictionary::find_chunk_ends_at(HeapWord*) const > > [with Chunk = FreeChunk]' > > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:1340:16: > > required from here > > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:994:7: > > error: 'do_list' was not declared in this scope, and no > > declarations were found by argument-dependent lookup at the point > > of instantiation [-fpermissive] > > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:994:7: > > note: declarations in dependent base > > 'TreeSearchClosure' are not found by unqualified lookup > > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:994:7: > > note: use 'this->do_list' instead > > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp: > > In instantiation of 'void > > AscendTreeCensusClosure::do_tree(TreeList*) [with > > Chunk = FreeChunk]': > > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:1039:3: > > required from 'void > > BinaryTreeDictionary::begin_sweep_dict_census(double, > > float, float, float) [with Chunk = FreeChunk]' > > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:1340:16: > > required from here > > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:916:7: > > error: 'do_list' was not declared in this scope, and no > > declarations were found by argument-dependent lookup at the point > > of instantiation [-fpermissive] > > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:916:7: > > note: declarations in dependent base > > 'TreeCensusClosure' are not found by unqualified lookup > > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:916:7: > > note: use 'this->do_list' instead > > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp: > > In instantiation of 'void > > DescendTreeCensusClosure::do_tree(TreeList*) [with > > Chunk = FreeChunk]': > > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:1135:3: > > required from 'void > > BinaryTreeDictionary::set_tree_hints() [with Chunk = > > FreeChunk]' > > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:1340:16: > > required from here > > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:928:7: > > error: 'do_list' was not declared in this scope, and no > > declarations were found by argument-dependent lookup at the point > > of instantiation [-fpermissive] > > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:928:7: > > note: declarations in dependent base > > 'TreeCensusClosure' are not found by unqualified lookup > > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:928:7: > > note: use 'this->do_list' instead > > > > This is with GCC 4.7, exact same build as I do for 7u which works > > fine. > > > > ALT_BOOTDIR points to: > > > > java version "1.7.0_03-icedtea" > > OpenJDK Runtime Environment (IcedTea7 2.1) (Gentoo build > > 1.7.0_03-icedtea-b147) > > OpenJDK 64-Bit Server VM (build 22.0-b10, mixed mode) > > > > Settings: > > > > ANT_RESPECT_JAVA_HOME=true LANG=C make > > ALT_BOOTDIR=${SYSTEM_ICEDTEA7} \ > > ALT_OUTPUTDIR=${WORKING_DIR}/${BUILD_DIR} \ > > ALT_PARALLEL_COMPILE_JOBS=$PARALLEL_JOBS \ > > ALT_DROPS_DIR=${DROPS_DIR} \ > > HOTSPOT_BUILD_JOBS=$PARALLEL_JOBS \ > > ANT=/usr/bin/ant \ > > QUIETLY="" \ > > DEBUG_BINARIES="true" \ > > DEBUG_CLASSFILES="true" \ > > NO_DOCS="true" \ > > OTHER_JAVACFLAGS="-Xmaxwarns 10000" \ > > ${WARNINGS} STATIC_CXX=false \ > > STRIP_POLICY=no_strip > > > > I think this may be related to: > > > > $ hg log -R hotspot -k 7164144 > > changeset: 3297:f69a5d43dc19 > > parent: 3295:9f059abe8cf2 > > user: jmasa > > date: Wed Apr 25 09:55:55 2012 -0700 > > summary: 7164144: Fix variable naming style in > > freeBlockDictionary.* and binaryTreeDictionary* > > > > which is in hotspot-comp, hotspot-rt& build, but not 7u. > > > > Any ideas? > > I've seen this when I tried building with GCC 4.7 as well. > This problem comes from 9f059abe8cf2, "Generalize the CMS free list > code" which introduced some templates. > It appears that GCC 4.7 is more strict when doing argument dependent > lookup than 4.6. > The fix is to do just what gcc suggests and use this->* or use the > qualified name of the function, for example > TreeList::link_tail > in the first failure. As you can see there are already some places in > that code which use the fully qualified name. > > I just discovered that I had a patch that fixes most of these issues > in > binaryTreeDictionary so I'll go ahead and file a CR for this. > > Regards > /mg > Thanks Mikael. If you could post the patch, it would be much appreciated. I can't build OpenJDK8 at present. > -- > Mikael Gerdin > Java SE VM SQE Stockholm > -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From mikael.gerdin at oracle.com Mon May 28 08:31:38 2012 From: mikael.gerdin at oracle.com (Mikael Gerdin) Date: Mon, 28 May 2012 17:31:38 +0200 Subject: Build breakage In-Reply-To: <97931118-52df-45ec-961e-70d230e34815@zmail17.collab.prod.int.phx2.redhat.com> References: <97931118-52df-45ec-961e-70d230e34815@zmail17.collab.prod.int.phx2.redhat.com> Message-ID: <4FC39A5A.6050300@oracle.com> Andrew, I filed 7172226 http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7172226 (not available yet) See below for the patch. On 2012-05-28 15:34, Andrew Hughes wrote: > > > ----- Original Message ----- >> Hi Andrew, >> >> On 2012-05-28 14:57, Andrew Hughes wrote: >>> I'm trying to build a patch against the build forest >>> (http://hg.openjdk.java.net/jdk8/build/) and the HotSpot build >>> is broken in the current checkout: >>> >>> /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp: >>> In instantiation of 'TreeList* >>> TreeList::remove_chunk_replace_if_needed(TreeChunk*) >>> [with Chunk = FreeChunk]': >>> /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:1342:16: >>> required from here >>> /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:173:7: >>> error: 'link_tail' was not declared in this scope, and no >>> declarations were found by argument-dependent lookup at the point >>> of instantiation [-fpermissive] (...) >>> /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:928:7: >>> note: declarations in dependent base >>> 'TreeCensusClosure' are not found by unqualified lookup >>> /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:928:7: >>> note: use 'this->do_list' instead >>> >>> This is with GCC 4.7, exact same build as I do for 7u which works >>> fine. >>> >>> ALT_BOOTDIR points to: >>> >>> java version "1.7.0_03-icedtea" >>> OpenJDK Runtime Environment (IcedTea7 2.1) (Gentoo build >>> 1.7.0_03-icedtea-b147) >>> OpenJDK 64-Bit Server VM (build 22.0-b10, mixed mode) >>> >>> Settings: >>> >>> ANT_RESPECT_JAVA_HOME=true LANG=C make >>> ALT_BOOTDIR=${SYSTEM_ICEDTEA7} \ >>> ALT_OUTPUTDIR=${WORKING_DIR}/${BUILD_DIR} \ >>> ALT_PARALLEL_COMPILE_JOBS=$PARALLEL_JOBS \ >>> ALT_DROPS_DIR=${DROPS_DIR} \ >>> HOTSPOT_BUILD_JOBS=$PARALLEL_JOBS \ >>> ANT=/usr/bin/ant \ >>> QUIETLY="" \ >>> DEBUG_BINARIES="true" \ >>> DEBUG_CLASSFILES="true" \ >>> NO_DOCS="true" \ >>> OTHER_JAVACFLAGS="-Xmaxwarns 10000" \ >>> ${WARNINGS} STATIC_CXX=false \ >>> STRIP_POLICY=no_strip >>> >>> I think this may be related to: >>> >>> $ hg log -R hotspot -k 7164144 >>> changeset: 3297:f69a5d43dc19 >>> parent: 3295:9f059abe8cf2 >>> user: jmasa >>> date: Wed Apr 25 09:55:55 2012 -0700 >>> summary: 7164144: Fix variable naming style in >>> freeBlockDictionary.* and binaryTreeDictionary* >>> >>> which is in hotspot-comp, hotspot-rt& build, but not 7u. >>> >>> Any ideas? >> >> I've seen this when I tried building with GCC 4.7 as well. >> This problem comes from 9f059abe8cf2, "Generalize the CMS free list >> code" which introduced some templates. >> It appears that GCC 4.7 is more strict when doing argument dependent >> lookup than 4.6. >> The fix is to do just what gcc suggests and use this->* or use the >> qualified name of the function, for example >> TreeList::link_tail >> in the first failure. As you can see there are already some places in >> that code which use the fully qualified name. >> >> I just discovered that I had a patch that fixes most of these issues >> in >> binaryTreeDictionary so I'll go ahead and file a CR for this. >> >> Regards >> /mg >> > > Thanks Mikael. If you could post the patch, it would be much appreciated. > I can't build OpenJDK8 at present. I've uploaded my fix (only build tested) to http://cr.openjdk.java.net/~mgerdin/7172226/webrev.0/ /mg > >> -- >> Mikael Gerdin >> Java SE VM SQE Stockholm >> > -- Mikael Gerdin Java SE VM SQE Stockholm From ysr1729 at gmail.com Mon May 28 19:39:49 2012 From: ysr1729 at gmail.com (Srinivas Ramakrishna) Date: Mon, 28 May 2012 19:39:49 -0700 Subject: memory leaks? In-Reply-To: References: Message-ID: Hi Sunny -- good to know. I had suspected these might be from libc's malloc; thanks for confirming. We still need to see if it's a real native memory leak or just an artifact of the malloc implementation. thanks for the very useful pointers! -- ramki On Sun, May 27, 2012 at 10:14 PM, Sunny Chan wrote: > Srinivas Ramakrishna writes: > > > > > > > Just a quick question in case any one might remember off the top of their > head...Are there any native memory leaks that may have been fixed in JDK 7 > and 8 > that haven't yetbeen backported to JDK 6uXX?No need for any research... > just a > quick check to see if anyone recalls anything recently thatfixed native > leaks... > i'll go check the hg logs momentarily to see if anything jumps out.I am > suspecting some 64 M segments that I see in pmap, and am yet to figure out > when > and where > > these are coming from... The leak is abrupt and likely the result of a > rather > rare/infrequent event.I'll see if I can find a DTrace that works on Linux > and > log mmap/munmap calls to get more info.thanks for any (even very vague) > pointers. > > > Are you using RHEL 6 or equivalent? RHEL 6's GLIBC has a new malloc > implementation that create specific malloc arena to improve threaded malloc > (similar to TLAB in Hotspot). These appears as lumps of 64M blocks with a > couple > of page in front, like this: > > > 7f99c0021000-7f99c4000000 ---p 00000000 00:00 0 (132k) > 7f99c4000000-7f99c4021000 rw-p 00000000 00:00 0 (64M) > 7f99c4021000-7f99c8000000 ---p 00000000 00:00 0 (132k) > 7f99c8000000-7f99c8021000 rw-p 00000000 00:00 0 (64M) > 7f99c8021000-7f99cc000000 ---p 00000000 00:00 0 (132k) > 7f99cc000000-7f99cc021000 rw-p 00000000 00:00 0 (64M) > > You can switch off the malloc Arena by setting MALLOC_ARENA_MAX to 1 or 4 - > there are a couple of team tested this and seems to have no negative > performance > in general Java workload - but there will be impact if you do multithreaded > native malloc. > > see > > https://www.ibm.com/developerworks/mydeveloperworks/blogs/kevgrig/entry/linux_gl > ibc_2_10_rhel_6_malloc_may_show_excessive_virtual_memory_usage?lang=en > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20120528/89411c6d/attachment.html From ahughes at redhat.com Tue May 29 06:11:03 2012 From: ahughes at redhat.com (Andrew Hughes) Date: Tue, 29 May 2012 09:11:03 -0400 (EDT) Subject: Build breakage In-Reply-To: <4FC39A5A.6050300@oracle.com> Message-ID: <4ab27509-1980-4a98-b07d-a8325d137036@zmail17.collab.prod.int.phx2.redhat.com> ----- Original Message ----- > Andrew, > > I filed 7172226 > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7172226 (not > available yet) > See below for the patch. > > On 2012-05-28 15:34, Andrew Hughes wrote: > > > > > > ----- Original Message ----- > >> Hi Andrew, > >> > >> On 2012-05-28 14:57, Andrew Hughes wrote: > >>> I'm trying to build a patch against the build forest > >>> (http://hg.openjdk.java.net/jdk8/build/) and the HotSpot build > >>> is broken in the current checkout: > >>> > >>> /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp: > >>> In instantiation of 'TreeList* > >>> TreeList::remove_chunk_replace_if_needed(TreeChunk*) > >>> [with Chunk = FreeChunk]': > >>> /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:1342:16: > >>> required from here > >>> /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:173:7: > >>> error: 'link_tail' was not declared in this scope, and no > >>> declarations were found by argument-dependent lookup at the point > >>> of instantiation [-fpermissive] > (...) > >>> /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:928:7: > >>> note: declarations in dependent base > >>> 'TreeCensusClosure' are not found by unqualified > >>> lookup > >>> /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:928:7: > >>> note: use 'this->do_list' instead > >>> > >>> This is with GCC 4.7, exact same build as I do for 7u which works > >>> fine. > >>> > >>> ALT_BOOTDIR points to: > >>> > >>> java version "1.7.0_03-icedtea" > >>> OpenJDK Runtime Environment (IcedTea7 2.1) (Gentoo build > >>> 1.7.0_03-icedtea-b147) > >>> OpenJDK 64-Bit Server VM (build 22.0-b10, mixed mode) > >>> > >>> Settings: > >>> > >>> ANT_RESPECT_JAVA_HOME=true LANG=C make > >>> ALT_BOOTDIR=${SYSTEM_ICEDTEA7} \ > >>> ALT_OUTPUTDIR=${WORKING_DIR}/${BUILD_DIR} \ > >>> ALT_PARALLEL_COMPILE_JOBS=$PARALLEL_JOBS \ > >>> ALT_DROPS_DIR=${DROPS_DIR} \ > >>> HOTSPOT_BUILD_JOBS=$PARALLEL_JOBS \ > >>> ANT=/usr/bin/ant \ > >>> QUIETLY="" \ > >>> DEBUG_BINARIES="true" \ > >>> DEBUG_CLASSFILES="true" \ > >>> NO_DOCS="true" \ > >>> OTHER_JAVACFLAGS="-Xmaxwarns 10000" \ > >>> ${WARNINGS} STATIC_CXX=false \ > >>> STRIP_POLICY=no_strip > >>> > >>> I think this may be related to: > >>> > >>> $ hg log -R hotspot -k 7164144 > >>> changeset: 3297:f69a5d43dc19 > >>> parent: 3295:9f059abe8cf2 > >>> user: jmasa > >>> date: Wed Apr 25 09:55:55 2012 -0700 > >>> summary: 7164144: Fix variable naming style in > >>> freeBlockDictionary.* and binaryTreeDictionary* > >>> > >>> which is in hotspot-comp, hotspot-rt& build, but not 7u. > >>> > >>> Any ideas? > >> > >> I've seen this when I tried building with GCC 4.7 as well. > >> This problem comes from 9f059abe8cf2, "Generalize the CMS free > >> list > >> code" which introduced some templates. > >> It appears that GCC 4.7 is more strict when doing argument > >> dependent > >> lookup than 4.6. > >> The fix is to do just what gcc suggests and use this->* or use the > >> qualified name of the function, for example > >> TreeList::link_tail > >> in the first failure. As you can see there are already some places > >> in > >> that code which use the fully qualified name. > >> > >> I just discovered that I had a patch that fixes most of these > >> issues > >> in > >> binaryTreeDictionary so I'll go ahead and file a CR for this. > >> > >> Regards > >> /mg > >> > > > > Thanks Mikael. If you could post the patch, it would be much > > appreciated. > > I can't build OpenJDK8 at present. > > I've uploaded my fix (only build tested) to > http://cr.openjdk.java.net/~mgerdin/7172226/webrev.0/ > > /mg > > > > >> -- > >> Mikael Gerdin > >> Java SE VM SQE Stockholm > >> > > > > -- > Mikael Gerdin > Java SE VM SQE Stockholm > Thanks. This patch worked and I've committed it to the IcedTea OpenJDK8 tree: http://hg.openjdk.java.net/icedtea/jdk8/hotspot/rev/f1947ffdccd9 Can someone with JPRT access please push this through? -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From mikael.gerdin at oracle.com Tue May 29 08:07:44 2012 From: mikael.gerdin at oracle.com (Mikael Gerdin) Date: Tue, 29 May 2012 17:07:44 +0200 Subject: RFR(S) 7172226: HotSpot fails to build with GCC 4.7 because of stricter c++ argument dependent lookup (was: Re: Build breakage) In-Reply-To: <4ab27509-1980-4a98-b07d-a8325d137036@zmail17.collab.prod.int.phx2.redhat.com> References: <4ab27509-1980-4a98-b07d-a8325d137036@zmail17.collab.prod.int.phx2.redhat.com> Message-ID: <4FC4E640.80204@oracle.com> (changed the subject to clarify that there's a code review hidden in here) As stated earlier in this thread GCC 4.7 has become more strict when doing name lookup in template classes. I have a patch that will fix the build http://cr.openjdk.java.net/~mgerdin/7172226/webrev.0/ but I'm not sure about the style, the code already contains some wrapper functions which look like they tried to solve the same problem. Does anyone have any suggestions on how to handle this more cleanly? Thanks /Mikael On 2012-05-29 15:11, Andrew Hughes wrote: > > > ----- Original Message ----- >> Andrew, >> >> I filed 7172226 >> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7172226 (not >> available yet) >> See below for the patch. >> >> On 2012-05-28 15:34, Andrew Hughes wrote: >>> >>> >>> ----- Original Message ----- >>>> Hi Andrew, >>>> >>>> On 2012-05-28 14:57, Andrew Hughes wrote: (...) >>>> >>>> I've seen this when I tried building with GCC 4.7 as well. >>>> This problem comes from 9f059abe8cf2, "Generalize the CMS free >>>> list >>>> code" which introduced some templates. >>>> It appears that GCC 4.7 is more strict when doing argument >>>> dependent >>>> lookup than 4.6. >>>> The fix is to do just what gcc suggests and use this->* or use the >>>> qualified name of the function, for example >>>> TreeList::link_tail >>>> in the first failure. As you can see there are already some places >>>> in >>>> that code which use the fully qualified name. >>>> >>>> I just discovered that I had a patch that fixes most of these >>>> issues >>>> in >>>> binaryTreeDictionary so I'll go ahead and file a CR for this. >>>> >>>> Regards >>>> /mg >>>> >>> >>> Thanks Mikael. If you could post the patch, it would be much >>> appreciated. >>> I can't build OpenJDK8 at present. >> >> I've uploaded my fix (only build tested) to >> http://cr.openjdk.java.net/~mgerdin/7172226/webrev.0/ >> >> /mg >> >>> >>>> -- >>>> Mikael Gerdin >>>> Java SE VM SQE Stockholm >>>> >>> >> >> -- >> Mikael Gerdin >> Java SE VM SQE Stockholm >> > > Thanks. This patch worked and I've committed it to the IcedTea OpenJDK8 tree: > > http://hg.openjdk.java.net/icedtea/jdk8/hotspot/rev/f1947ffdccd9 > > Can someone with JPRT access please push this through? -- Mikael Gerdin Java SE VM SQE Stockholm From Peter.B.Kessler at Oracle.COM Tue May 29 10:35:31 2012 From: Peter.B.Kessler at Oracle.COM (Peter B. Kessler) Date: Tue, 29 May 2012 10:35:31 -0700 Subject: A small utility In-Reply-To: <4FC37232.9000103@oracle.com> References: <4FC36A73.7090203@redhat.com> <4FC37232.9000103@oracle.com> Message-ID: <4FC508E3.9060607@Oracle.COM> Somewhere at that level there's also a collection of objects that get allocated close to the bottom of the old generation that get dropped one at a time so that all of the heap above them is forced to be relocated. That's good for finding objects that you forget to move or to forget to update references to them. ... peter David Holmes wrote: > Hi Andrew, > > In non-product builds there is FullGCALot with associated > FullGCALotInterval, and a start delay FullGCALotStart. I don't know the > exact details. > > David > > On 28/05/2012 10:07 PM, Andrew Haley wrote: >> We were having a lot of difficulty with our ARM port: there was a >> very rare crash in the garbage collector. This little patch helped >> a lot. It's a thread that forces a full GC at some fixed interval, >> here 500ms. I don't know if anything similar exists in the HotSpot >> developer sources, but I couldn't find it. Offered here not as a >> request for a commit, but in the hope that someone might find it >> useful. >> >> Andrew. >> >> >> >> diff -r f293db049783 src/share/vm/runtime/vmThread.cpp >> --- a/src/share/vm/runtime/vmThread.cpp Mon May 28 08:01:18 2012 -0400 >> +++ b/src/share/vm/runtime/vmThread.cpp Mon May 28 08:01:38 2012 -0400 >> @@ -245,6 +245,39 @@ >> } >> } >> >> +class BangerThread : NamedThread >> +{ >> +public: >> + >> + static BangerThread *the_thread; >> + >> + static void create() { >> + the_thread = new BangerThread(); >> + os::create_thread (the_thread, os::watcher_thread); >> + Thread::start(the_thread); >> + } >> + >> + BangerThread() : NamedThread() { >> + set_name("banger"); >> + } >> + >> + void run() { >> + struct timespec req; >> + req.tv_nsec = 0.5e9; >> + req.tv_sec = 0; >> + >> + for (;;) >> + { >> + nanosleep(&req, NULL); >> + // VM_ForceSafepoint op; >> + // VMThread::execute(&op); >> + Universe::heap()->collect(GCCause::_java_lang_system_gc); >> + } >> + } >> +}; >> + >> +BangerThread *BangerThread::the_thread; >> + >> void VMThread::run() { >> assert(this == vm_thread(), "check"); >> >> @@ -269,6 +302,8 @@ >> // possible to set the VM thread priority higher than any Java >> thread. >> os::set_native_priority( this, prio ); >> >> + BangerThread::create(); >> + >> // Wait for VM_Operations until termination >> this->loop(); >> From iris.clark at oracle.com Tue May 29 21:16:11 2012 From: iris.clark at oracle.com (Iris Clark) Date: Tue, 29 May 2012 21:16:11 -0700 (PDT) Subject: CFV: New Hotspot Group Lead: John Coomes In-Reply-To: <4FC2CAC3.2070805@oracle.com> References: <3fcca443-9951-4905-a9ab-13b2b6840784@default> <4FC2CAC3.2070805@oracle.com> Message-ID: <085a2016-00e7-4d5a-8cc2-45ae3ab3a07b@default> Hi, David. Voting did complete and approval announced [0]. As indicated in my message, John's nomination needs to be ratified by the GB as described in Step 4 [1]. At this point, the vote has been called [2,3] and we're waiting for the ratification announcement. Thanks, iris [0]: http://mail.openjdk.java.net/pipermail/hotspot-dev/2012-April/005610.html [1]: http://openjdk.java.net/groups/#lead-ratify [2]: http://mail.openjdk.java.net/pipermail/gb-discuss/2012-April/000243.html [3]: http://mail.openjdk.java.net/pipermail/gb-discuss/2012-April/000246.html -----Original Message----- From: David Holmes Sent: Sunday, May 27, 2012 5:46 PM To: Iris Clark Cc: hotspot-dev at openjdk.java.net Subject: Re: CFV: New Hotspot Group Lead: John Coomes Hi Iris, Did this vote complete? The census page [1] still shows Paul Hohensee as group lead. David ----- [1] http://openjdk.java.net/census#hotspot On 24/03/2012 3:00 AM, Iris Clark wrote: > I hereby nominate John Coomes to Hotspot Group Lead [1]. > > John has been working on the HotSpot JVM for almost 10 years mainly on > garbage collection where he was one of the primary developers of the > parallel compacting garbage collector. Recently he has been spending > a lot of time looking after the hsx Project repositories and > organizing regular deliveries of HotSpot into JDK 8 and JDK 7 updates. > > Votes are due by 7:00PM UTC, Friday 6 April [2]. > > Only current members of the Hotspot Group [3] are eligible to vote on > this nomination. Votes must be cast in the open by replying to this > mailing list. > > For Simple Majority voting instructions, see [4]. > > Iris Clark > > [1]: http://openjdk.java.net/bylaws#group-lead > [2]: > http://www.timeanddate.com/worldclock/fixedtime.html?msg=CFV%3A+New+Ho > tspot+Group+Lead+John+Coomes&iso=20120406T12&p1=283 > [3]: http://openjdk.java.net/census#hotspot > [3]: http://openjdk.java.net/bylaws#simple-majority From bengt.rutisson at oracle.com Wed May 30 01:29:29 2012 From: bengt.rutisson at oracle.com (Bengt Rutisson) Date: Wed, 30 May 2012 10:29:29 +0200 Subject: RFR(S) 7172226: HotSpot fails to build with GCC 4.7 because of stricter c++ argument dependent lookup In-Reply-To: <4FC4E640.80204@oracle.com> References: <4ab27509-1980-4a98-b07d-a8325d137036@zmail17.collab.prod.int.phx2.redhat.com> <4FC4E640.80204@oracle.com> Message-ID: <4FC5DA69.80206@oracle.com> Hi Mikael, On 2012-05-29 17:07, Mikael Gerdin wrote: > (changed the subject to clarify that there's a code review hidden in > here) > > As stated earlier in this thread GCC 4.7 has become more strict when > doing name lookup in template classes. > I have a patch that will fix the build > http://cr.openjdk.java.net/~mgerdin/7172226/webrev.0/ Thanks for fixing this. I think it looks good! > but I'm not sure about the style, the code already contains some > wrapper functions which look like they tried to solve the same problem. > > Does anyone have any suggestions on how to handle this more cleanly? There seem to be three styles of handling this: (1) add "this->" (2) add "BaseType::" (3) create shadowing methods that just use (1) or (2) to access the correct method Right now we use all three and I think it would be nice if we can reduce it to one or maybe two styles. On the other hand this does not seem to be a very large issue in the Hotspot source in general, so I am not sure the guidelines need to be too strict. If we find an easy way of being more consistent it would be good. Otherwise I am fine with the patch as it is. I kind of like (1) as it always works and it is not that intrusive. But when you read the code it gives you no clue why it was necessary to add "this->". (2) would give more information when you read the code, but it doesn't work for pure virtual methods. So, maybe using (3) and implement it using (1) is a good compromise if we make sure to add comments to the shadowing methods documenting why we need them. Just my thoughts after discussing this with Mikael and Stefan a bit... Bengt > > Thanks > /Mikael > > On 2012-05-29 15:11, Andrew Hughes wrote: >> >> >> ----- Original Message ----- >>> Andrew, >>> >>> I filed 7172226 >>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7172226 (not >>> available yet) >>> See below for the patch. >>> >>> On 2012-05-28 15:34, Andrew Hughes wrote: >>>> >>>> >>>> ----- Original Message ----- >>>>> Hi Andrew, >>>>> >>>>> On 2012-05-28 14:57, Andrew Hughes wrote: > (...) >>>>> >>>>> I've seen this when I tried building with GCC 4.7 as well. >>>>> This problem comes from 9f059abe8cf2, "Generalize the CMS free >>>>> list >>>>> code" which introduced some templates. >>>>> It appears that GCC 4.7 is more strict when doing argument >>>>> dependent >>>>> lookup than 4.6. >>>>> The fix is to do just what gcc suggests and use this->* or use the >>>>> qualified name of the function, for example >>>>> TreeList::link_tail >>>>> in the first failure. As you can see there are already some places >>>>> in >>>>> that code which use the fully qualified name. >>>>> >>>>> I just discovered that I had a patch that fixes most of these >>>>> issues >>>>> in >>>>> binaryTreeDictionary so I'll go ahead and file a CR for this. >>>>> >>>>> Regards >>>>> /mg >>>>> >>>> >>>> Thanks Mikael. If you could post the patch, it would be much >>>> appreciated. >>>> I can't build OpenJDK8 at present. >>> >>> I've uploaded my fix (only build tested) to >>> http://cr.openjdk.java.net/~mgerdin/7172226/webrev.0/ >>> >>> /mg >>> >>>> >>>>> -- >>>>> Mikael Gerdin >>>>> Java SE VM SQE Stockholm >>>>> >>>> >>> >>> -- >>> Mikael Gerdin >>> Java SE VM SQE Stockholm >>> >> >> Thanks. This patch worked and I've committed it to the IcedTea >> OpenJDK8 tree: >> >> http://hg.openjdk.java.net/icedtea/jdk8/hotspot/rev/f1947ffdccd9 >> >> Can someone with JPRT access please push this through? > From jon.masamitsu at oracle.com Wed May 30 08:28:21 2012 From: jon.masamitsu at oracle.com (Jon Masamitsu) Date: Wed, 30 May 2012 08:28:21 -0700 Subject: RFR(S) 7172226: HotSpot fails to build with GCC 4.7 because of stricter c++ argument dependent lookup In-Reply-To: <4FC4E640.80204@oracle.com> References: <4ab27509-1980-4a98-b07d-a8325d137036@zmail17.collab.prod.int.phx2.redhat.com> <4FC4E640.80204@oracle.com> Message-ID: <4FC63C95.7020704@oracle.com> Mikael, Thanks for doing these changes. It's fine as it is but did you consider the "using" directive? I'm asking because I'm trying to decide in a similar situation if I should use "using". Asking for advice more than making a suggestion. Jon On 5/29/2012 8:07 AM, Mikael Gerdin wrote: > (changed the subject to clarify that there's a code review hidden in > here) > > As stated earlier in this thread GCC 4.7 has become more strict when > doing name lookup in template classes. > I have a patch that will fix the build > http://cr.openjdk.java.net/~mgerdin/7172226/webrev.0/ > > but I'm not sure about the style, the code already contains some > wrapper functions which look like they tried to solve the same problem. > > Does anyone have any suggestions on how to handle this more cleanly? > > Thanks > /Mikael > > On 2012-05-29 15:11, Andrew Hughes wrote: >> >> >> ----- Original Message ----- >>> Andrew, >>> >>> I filed 7172226 >>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7172226 (not >>> available yet) >>> See below for the patch. >>> >>> On 2012-05-28 15:34, Andrew Hughes wrote: >>>> >>>> >>>> ----- Original Message ----- >>>>> Hi Andrew, >>>>> >>>>> On 2012-05-28 14:57, Andrew Hughes wrote: > (...) >>>>> >>>>> I've seen this when I tried building with GCC 4.7 as well. >>>>> This problem comes from 9f059abe8cf2, "Generalize the CMS free >>>>> list >>>>> code" which introduced some templates. >>>>> It appears that GCC 4.7 is more strict when doing argument >>>>> dependent >>>>> lookup than 4.6. >>>>> The fix is to do just what gcc suggests and use this->* or use the >>>>> qualified name of the function, for example >>>>> TreeList::link_tail >>>>> in the first failure. As you can see there are already some places >>>>> in >>>>> that code which use the fully qualified name. >>>>> >>>>> I just discovered that I had a patch that fixes most of these >>>>> issues >>>>> in >>>>> binaryTreeDictionary so I'll go ahead and file a CR for this. >>>>> >>>>> Regards >>>>> /mg >>>>> >>>> >>>> Thanks Mikael. If you could post the patch, it would be much >>>> appreciated. >>>> I can't build OpenJDK8 at present. >>> >>> I've uploaded my fix (only build tested) to >>> http://cr.openjdk.java.net/~mgerdin/7172226/webrev.0/ >>> >>> /mg >>> >>>> >>>>> -- >>>>> Mikael Gerdin >>>>> Java SE VM SQE Stockholm >>>>> >>>> >>> >>> -- >>> Mikael Gerdin >>> Java SE VM SQE Stockholm >>> >> >> Thanks. This patch worked and I've committed it to the IcedTea >> OpenJDK8 tree: >> >> http://hg.openjdk.java.net/icedtea/jdk8/hotspot/rev/f1947ffdccd9 >> >> Can someone with JPRT access please push this through? > From zhengyu.gu at oracle.com Wed May 30 09:52:18 2012 From: zhengyu.gu at oracle.com (zhengyu.gu at oracle.com) Date: Wed, 30 May 2012 16:52:18 +0000 Subject: hg: hsx/hotspot-main/hotspot: 7 new changesets Message-ID: <20120530165232.2D7C9475C6@hg.openjdk.java.net> Changeset: 960a442eae91 Author: rbackman Date: 2012-05-22 10:11 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/960a442eae91 7161732: Improve handling of thread_id in OSThread Reviewed-by: dholmes, kamg ! src/os/bsd/vm/osThread_bsd.hpp ! src/os/linux/vm/osThread_linux.hpp ! src/os/solaris/vm/osThread_solaris.hpp ! src/os/windows/vm/osThread_windows.hpp ! src/os_cpu/bsd_x86/vm/vmStructs_bsd_x86.hpp ! src/os_cpu/linux_sparc/vm/vmStructs_linux_sparc.hpp ! src/os_cpu/linux_x86/vm/vmStructs_linux_x86.hpp ! src/os_cpu/solaris_sparc/vm/vmStructs_solaris_sparc.hpp ! src/os_cpu/solaris_x86/vm/vmStructs_solaris_x86.hpp ! src/os_cpu/windows_x86/vm/vmStructs_windows_x86.hpp ! src/share/vm/runtime/osThread.hpp Changeset: df84b4a3ebcb Author: rbackman Date: 2012-05-24 13:37 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/df84b4a3ebcb 7171422: Change 7161732 breaks SA on Windows Reviewed-by: dholmes, sla ! src/os_cpu/windows_x86/vm/vmStructs_windows_x86.hpp Changeset: 9c1709c4c80c Author: dcubed Date: 2012-05-24 12:03 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/9c1709c4c80c 7165598: enable FDS on Solaris X64 when 7165593 is fixed Summary: Work around 'gobjcopy' failure on Solaris X64 by adding a temporary tool that removes the SHF_ALLOC flag from "empty" section headers. Reviewed-by: sspitsyn, acorn ! make/solaris/makefiles/defs.make ! make/solaris/makefiles/dtrace.make + make/solaris/makefiles/fix_empty_sec_hdr_flags.make ! make/solaris/makefiles/jsig.make ! make/solaris/makefiles/saproc.make ! make/solaris/makefiles/vm.make + src/os/solaris/fix_empty_sec_hdr_flags/fix_empty_sec_hdr_flags.c Changeset: fb8f9ab27c14 Author: dcubed Date: 2012-05-24 12:57 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/fb8f9ab27c14 Merge ! make/solaris/makefiles/defs.make ! make/solaris/makefiles/vm.make ! make/windows/makefiles/defs.make Changeset: cd3a8ab0352b Author: zgu Date: 2012-05-24 20:04 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/cd3a8ab0352b Merge Changeset: 17be2328b50b Author: zgu Date: 2012-05-26 06:07 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/17be2328b50b Merge Changeset: 5be76dc5304d Author: zgu Date: 2012-05-29 20:06 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/5be76dc5304d Merge From iggy.veresov at gmail.com Wed May 30 11:39:30 2012 From: iggy.veresov at gmail.com (Igor Veresov) Date: Wed, 30 May 2012 11:39:30 -0700 Subject: RFR(S) 7172226: HotSpot fails to build with GCC 4.7 because of stricter c++ argument dependent lookup In-Reply-To: <4FC63C95.7020704@oracle.com> References: <4ab27509-1980-4a98-b07d-a8325d137036@zmail17.collab.prod.int.phx2.redhat.com> <4FC4E640.80204@oracle.com> <4FC63C95.7020704@oracle.com> Message-ID: <5B29C60E-4CED-41DF-A677-D278D330DA6C@gmail.com> I think "using" in nicer, since you have to write it only once. igor On May 30, 2012, at 8:28 AM, Jon Masamitsu wrote: > Mikael, > > Thanks for doing these changes. It's fine as it is but did you consider > the "using" directive? I'm asking because I'm trying to decide in > a similar situation if I should use "using". Asking for advice more > than making a suggestion. > > Jon > > On 5/29/2012 8:07 AM, Mikael Gerdin wrote: >> (changed the subject to clarify that there's a code review hidden in here) >> >> As stated earlier in this thread GCC 4.7 has become more strict when doing name lookup in template classes. >> I have a patch that will fix the build >> http://cr.openjdk.java.net/~mgerdin/7172226/webrev.0/ >> >> but I'm not sure about the style, the code already contains some wrapper functions which look like they tried to solve the same problem. >> >> Does anyone have any suggestions on how to handle this more cleanly? >> >> Thanks >> /Mikael >> >> On 2012-05-29 15:11, Andrew Hughes wrote: >>> >>> >>> ----- Original Message ----- >>>> Andrew, >>>> >>>> I filed 7172226 >>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7172226 (not >>>> available yet) >>>> See below for the patch. >>>> >>>> On 2012-05-28 15:34, Andrew Hughes wrote: >>>>> >>>>> >>>>> ----- Original Message ----- >>>>>> Hi Andrew, >>>>>> >>>>>> On 2012-05-28 14:57, Andrew Hughes wrote: >> (...) >>>>>> >>>>>> I've seen this when I tried building with GCC 4.7 as well. >>>>>> This problem comes from 9f059abe8cf2, "Generalize the CMS free >>>>>> list >>>>>> code" which introduced some templates. >>>>>> It appears that GCC 4.7 is more strict when doing argument >>>>>> dependent >>>>>> lookup than 4.6. >>>>>> The fix is to do just what gcc suggests and use this->* or use the >>>>>> qualified name of the function, for example >>>>>> TreeList::link_tail >>>>>> in the first failure. As you can see there are already some places >>>>>> in >>>>>> that code which use the fully qualified name. >>>>>> >>>>>> I just discovered that I had a patch that fixes most of these >>>>>> issues >>>>>> in >>>>>> binaryTreeDictionary so I'll go ahead and file a CR for this. >>>>>> >>>>>> Regards >>>>>> /mg >>>>>> >>>>> >>>>> Thanks Mikael. If you could post the patch, it would be much >>>>> appreciated. >>>>> I can't build OpenJDK8 at present. >>>> >>>> I've uploaded my fix (only build tested) to >>>> http://cr.openjdk.java.net/~mgerdin/7172226/webrev.0/ >>>> >>>> /mg >>>> >>>>> >>>>>> -- >>>>>> Mikael Gerdin >>>>>> Java SE VM SQE Stockholm >>>>>> >>>>> >>>> >>>> -- >>>> Mikael Gerdin >>>> Java SE VM SQE Stockholm >>>> >>> >>> Thanks. This patch worked and I've committed it to the IcedTea OpenJDK8 tree: >>> >>> http://hg.openjdk.java.net/icedtea/jdk8/hotspot/rev/f1947ffdccd9 >>> >>> Can someone with JPRT access please push this through? >> From daniel.daugherty at oracle.com Wed May 30 11:49:54 2012 From: daniel.daugherty at oracle.com (daniel.daugherty at oracle.com) Date: Wed, 30 May 2012 18:49:54 +0000 Subject: hg: hsx/hsx23.2/hotspot: 4 new changesets Message-ID: <20120530185004.30CA4475C9@hg.openjdk.java.net> Changeset: 7d4e6dabc6bf Author: dcubed Date: 2012-05-15 10:52 -0700 URL: http://hg.openjdk.java.net/hsx/hsx23.2/hotspot/rev/7d4e6dabc6bf 7165060: dtrace tests fail with FDS debug info files Summary: Work around 'gobjcopy --add-gnu-debuglink' failure by adding a temporary tool that adds the '.gnu_debuglink' section and nothing more. Reviewed-by: sspitsyn, acorn + make/solaris/makefiles/add_gnu_debuglink.make ! make/solaris/makefiles/vm.make + src/os/solaris/add_gnu_debuglink/add_gnu_debuglink.c Changeset: 9c1709c4c80c Author: dcubed Date: 2012-05-24 12:03 -0700 URL: http://hg.openjdk.java.net/hsx/hsx23.2/hotspot/rev/9c1709c4c80c 7165598: enable FDS on Solaris X64 when 7165593 is fixed Summary: Work around 'gobjcopy' failure on Solaris X64 by adding a temporary tool that removes the SHF_ALLOC flag from "empty" section headers. Reviewed-by: sspitsyn, acorn ! make/solaris/makefiles/defs.make ! make/solaris/makefiles/dtrace.make + make/solaris/makefiles/fix_empty_sec_hdr_flags.make ! make/solaris/makefiles/jsig.make ! make/solaris/makefiles/saproc.make ! make/solaris/makefiles/vm.make + src/os/solaris/fix_empty_sec_hdr_flags/fix_empty_sec_hdr_flags.c Changeset: e61e3c378ed4 Author: dcubed Date: 2012-05-24 13:48 -0700 URL: http://hg.openjdk.java.net/hsx/hsx23.2/hotspot/rev/e61e3c378ed4 Merge ! make/solaris/makefiles/defs.make ! make/windows/makefiles/defs.make Changeset: b22382ddcb66 Author: dcubed Date: 2012-05-30 06:56 -0700 URL: http://hg.openjdk.java.net/hsx/hsx23.2/hotspot/rev/b22382ddcb66 Merge From david.holmes at oracle.com Wed May 30 18:46:50 2012 From: david.holmes at oracle.com (david.holmes at oracle.com) Date: Thu, 31 May 2012 01:46:50 +0000 Subject: hg: hsx/hotspot-main/hotspot: 4 new changesets Message-ID: <20120531014700.9AC0B47638@hg.openjdk.java.net> Changeset: 71afdabfd05b Author: jiangli Date: 2012-05-21 14:10 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/71afdabfd05b 7168280: Eliminate the generic signature index slot from field array for field without generic signature. Summary: Only allocate the generic signature index slot in the field array for field with generic signature attribute. Reviewed-by: coleenp, dlong ! agent/src/share/classes/sun/jvm/hotspot/oops/AccessFlags.java ! agent/src/share/classes/sun/jvm/hotspot/oops/InstanceKlass.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/ClassConstants.java ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/oops/fieldInfo.hpp ! src/share/vm/oops/fieldStreams.hpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/runtime/fieldDescriptor.cpp ! src/share/vm/runtime/fieldDescriptor.hpp ! src/share/vm/runtime/vmStructs.cpp ! src/share/vm/utilities/accessFlags.hpp Changeset: 48df98e03639 Author: dholmes Date: 2012-05-23 20:09 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/48df98e03639 7170197: Update JPRT default build targets to support embedded builds Reviewed-by: jcoomes, kvn ! make/jprt.properties Changeset: 4e64a590066e Author: jprovino Date: 2012-05-26 08:49 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/4e64a590066e Merge Changeset: dd45f26b4282 Author: dholmes Date: 2012-05-30 17:45 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/dd45f26b4282 Merge From bengt.rutisson at oracle.com Thu May 31 00:08:24 2012 From: bengt.rutisson at oracle.com (Bengt Rutisson) Date: Thu, 31 May 2012 09:08:24 +0200 Subject: Project proposal: Remove the Permanent Generation In-Reply-To: <4FAABB65.4010700@oracle.com> References: <4ED3C2DB.7050703@oracle.com> <4F6896C9.1020102@oracle.com> <4F88ADA7.8000503@oracle.com> <4FAABB65.4010700@oracle.com> Message-ID: <4FC718E8.5020801@oracle.com> Coleen, Sorry for the late reply on this. I have been going through the perm gen removal changes with Stefan over the past few weeks. Overall I think it looks great! You are all doing an excellent job! Stefan has made several changes based on our code walk through we did. Below are a few minor things that he did not have time to fix. I am not sure any of them are particularly important. Bengt CardTableModRefBS::write_ref_needs_barrier() This does not seem to be used anymore and is now implemented as ShouldNotReachHere(). Is there a plan to start using it again or should it be removed? ConcurrentMarkSweepGeneration::update_counters(size_t used) It looks like this method lost its implementation. Was this intentional? GCCause::_permanent_generation_full Should maybe be renamed to "metadata"-something when we trigger a GC due to too much memory being allocated for metadata. PermGen flags. What are the plans for the existing PermGen flags? Will they be replaced, ignored or reused? I've seen: PermSize, MaxPermSize, CMSPermGenPrecleaningEnabled, CMSTriggerPermRatio, CMSInitiatingPermOccupancyFraction, CMSIsTooFullPercentage, AdaptivePermSizeWeight, PermGenPadding, MinPermHeapExpansion, MaxPermHeapExpansion and PermMarkSweepDeadRatio. The comments for these class data sharing flags mention perm gen and should probably be updated: UseSharedSpaces, RequireSharedSpaces, SharedReadWriteSize, SharedReadOnlySize On 2012-05-09 20:45, Coleen Phillimore wrote: > > Please find below the webrev of the Permgen elimination changes from > our latest merge with the hotspot-gc baseline. We have completed the > major functional changes and are now working on cleanups, testing and > bug fixes. There are a few items left to do that we will file as > RFE's when this is integrated. We'll have a couple of other webrevs > before integration which we will again solicit code review comments. > But don't wait! This is huge so your comments in advance regarding > areas within your expertise. > > You can also get a patch file and patch against > http://hg.openjdk.java.net/hsx/hotspot-gc/hotspot changeset > 9f059abe8cf2 . > > http://cr.openjdk.java.net/~coleenp/metadata4 > > Changes since last webrev include serviceability agent support, > compiledICHolders are allocated in C Heap and class data sharing > support (CDS). Left to do is the big rename of the metadata from a > lower case name to upper case name without the OopDesc. We're taking > suggestions for what to rename constantPoolCacheOopDesc since it's > never been a cache and it's now not an oop either. > > Thanks! > Coleen > > > On 4/13/2012 6:50 PM, Coleen Phillimore wrote: >> >> We want to keep the openjdk community aware of the changes to remove >> the permanent generation. We are nearing completion of the >> functional changes. The webrev below has been generated as side >> effect of syncing to the latest hotspot-gc repository. >> >> http://cr.openjdk.java.net/~coleenp/metadata3 >> >> Since the last webrev that we sent out, these areas have been completed: >> >> 1. G1 and CMS (concurrent mark sweep) garbage collectors are now >> supported. >> 2. Metadata is now allocated from chunks in mmap space(s). The >> chunks are still freed when the class loader that owns the metadata >> is unloaded. >> 3. Many cleanups, including removing is_parseable is_conc_safe and >> is_partially_loaded, and others. >> 4. Bug fixes from internal test runs. >> >> There are a few large changes coming to this repository very soon: >> >> 1. Allocate CompiledICHolders (once oops) out of CHeap memory. >> 2. Serviceability Agent changes to reflect the new metadata types. >> 3. Class data sharing. >> >> The last change we'll make is to rename the metadata types to remove >> the Oop suffixes and capitalize type names. >> >> Please feel free to comment, ask questions and/or make suggestions. >> >> Thanks, >> Coleen >> >> On 3/20/2012 10:40 AM, Jon Masamitsu wrote: >>> You may have noticed that this project proposal never got >>> any farther then this mail. Somewhat due to indecision on >>> our part, this work is not going to become its own project >>> but will be integrated through the hsx/hotspot-gc/hotspot >>> repository. We wanted to provide a preview of the work >>> so prepared this webrev from an recent merge of the perm gen >>> removal work with hotspot-gc. We're still working on it >>> but thought this intermediate webrev would be of interest. >>> >>> http://cr.openjdk.java.net/~coleenp/metadata2 >>> >>> In this webrev >>> >>> Allocations for the class metadata are made from the C heap. >>> More work is coming here. The infrastructure for the perm >>> gen has not yet been removed but nothing is allocated in >>> the perm gen. >>> >>> The klasses that were used to described class metadata have >>> been removed (klassKlass and it's derivatives). >>> >>> Class metadata type (instanceKlass) has been changed and is >>> being separated from oops. It still derives from Klass but >>> Klass now derives from metadataOop and not Klass_vtbl. Please >>> note that metadataOop does not derive from oop. In an attempt >>> to stay sane we're not changing everything at once. The >>> separation of instanceKlass from oop is being done in a staged >>> way and we're not done. You'll see klassOop, constantPoolOop, >>> and constantPoolCacheOop but they are not oops. For example >>> klassOop is typedef'ed to Klass and these types will be renamed >>> to remove the Oop extension and capitalize the first letter >>> to be consistent with other Hotspot type names. >>> >>> instanceKlass, constantPoolOop, and constantPoolCacheOop >>> have been restructured to reduce the number of oops they contain. >>> constantPoolKlass and cpCacheKlass are gone. >>> >>> Data structures have been added to represent class loaders and >>> dependencies between class loaders (ClassLoaderData and >>> ClassLoaderDataGraph, respectively). Class unloading is directly >>> tied >>> to the liveness of the class loaders. >>> >>> All the garbage collectors have been modified to find and follow >>> oops in class metadata. The work for the CMS collector is not >>> complete. >>> >>> Changed interpreter to support the move of oops out of the constant >>> pool. >>> >>> Within the compilers and associated code most of the changes >>> involved separating the oop and metadata types, which required >>> changes throughout the compiler interface, relocations, >>> dependencies, >>> nmethods, debug info and the type systems of the compilers >>> themselves. >>> Code generation is for the most part unchanged. >>> >>> >>> On 11/28/11 09:20, Jon Masamitsu wrote: >>>> I am going to be proposing the permanent generation >>>> removal as a OpenJDK project shortly. The project is >>>> described in the JEP 122 >>>> >>>> http://openjdk.java.net/jeps/122 >>>> >>>> This is not the formal proposal of the project but rather >>>> a chance to ask questions ahead of that proposal. From mikael.gerdin at oracle.com Thu May 31 00:35:58 2012 From: mikael.gerdin at oracle.com (Mikael Gerdin) Date: Thu, 31 May 2012 09:35:58 +0200 Subject: RFR(S) 7172226: HotSpot fails to build with GCC 4.7 because of stricter c++ argument dependent lookup In-Reply-To: <5B29C60E-4CED-41DF-A677-D278D330DA6C@gmail.com> References: <4ab27509-1980-4a98-b07d-a8325d137036@zmail17.collab.prod.int.phx2.redhat.com> <4FC4E640.80204@oracle.com> <4FC63C95.7020704@oracle.com> <5B29C60E-4CED-41DF-A677-D278D330DA6C@gmail.com> Message-ID: <4FC71F5E.4010004@oracle.com> Jon, Igor "using" is an excellent suggestion. I'll try it right away. /mg On 2012-05-30 20:39, Igor Veresov wrote: > I think "using" in nicer, since you have to write it only once. > > igor > > On May 30, 2012, at 8:28 AM, Jon Masamitsu wrote: > >> Mikael, >> >> Thanks for doing these changes. It's fine as it is but did you consider >> the "using" directive? I'm asking because I'm trying to decide in >> a similar situation if I should use "using". Asking for advice more >> than making a suggestion. >> >> Jon >> >> On 5/29/2012 8:07 AM, Mikael Gerdin wrote: >>> (changed the subject to clarify that there's a code review hidden in here) >>> >>> As stated earlier in this thread GCC 4.7 has become more strict when doing name lookup in template classes. >>> I have a patch that will fix the build >>> http://cr.openjdk.java.net/~mgerdin/7172226/webrev.0/ >>> >>> but I'm not sure about the style, the code already contains some wrapper functions which look like they tried to solve the same problem. >>> >>> Does anyone have any suggestions on how to handle this more cleanly? >>> >>> Thanks >>> /Mikael >>> >>> On 2012-05-29 15:11, Andrew Hughes wrote: >>>> >>>> >>>> ----- Original Message ----- >>>>> Andrew, >>>>> >>>>> I filed 7172226 >>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7172226 (not >>>>> available yet) >>>>> See below for the patch. >>>>> >>>>> On 2012-05-28 15:34, Andrew Hughes wrote: >>>>>> >>>>>> >>>>>> ----- Original Message ----- >>>>>>> Hi Andrew, >>>>>>> >>>>>>> On 2012-05-28 14:57, Andrew Hughes wrote: >>> (...) >>>>>>> >>>>>>> I've seen this when I tried building with GCC 4.7 as well. >>>>>>> This problem comes from 9f059abe8cf2, "Generalize the CMS free >>>>>>> list >>>>>>> code" which introduced some templates. >>>>>>> It appears that GCC 4.7 is more strict when doing argument >>>>>>> dependent >>>>>>> lookup than 4.6. >>>>>>> The fix is to do just what gcc suggests and use this->* or use the >>>>>>> qualified name of the function, for example >>>>>>> TreeList::link_tail >>>>>>> in the first failure. As you can see there are already some places >>>>>>> in >>>>>>> that code which use the fully qualified name. >>>>>>> >>>>>>> I just discovered that I had a patch that fixes most of these >>>>>>> issues >>>>>>> in >>>>>>> binaryTreeDictionary so I'll go ahead and file a CR for this. >>>>>>> >>>>>>> Regards >>>>>>> /mg >>>>>>> >>>>>> >>>>>> Thanks Mikael. If you could post the patch, it would be much >>>>>> appreciated. >>>>>> I can't build OpenJDK8 at present. >>>>> >>>>> I've uploaded my fix (only build tested) to >>>>> http://cr.openjdk.java.net/~mgerdin/7172226/webrev.0/ >>>>> >>>>> /mg >>>>> >>>>>> >>>>>>> -- >>>>>>> Mikael Gerdin >>>>>>> Java SE VM SQE Stockholm >>>>>>> >>>>>> >>>>> >>>>> -- >>>>> Mikael Gerdin >>>>> Java SE VM SQE Stockholm >>>>> >>>> >>>> Thanks. This patch worked and I've committed it to the IcedTea OpenJDK8 tree: >>>> >>>> http://hg.openjdk.java.net/icedtea/jdk8/hotspot/rev/f1947ffdccd9 >>>> >>>> Can someone with JPRT access please push this through? >>> > -- Mikael Gerdin Java SE VM SQE Stockholm From mikael.gerdin at oracle.com Thu May 31 06:15:22 2012 From: mikael.gerdin at oracle.com (Mikael Gerdin) Date: Thu, 31 May 2012 15:15:22 +0200 Subject: RFR(S) 7172226: HotSpot fails to build with GCC 4.7 because of stricter c++ argument dependent lookup In-Reply-To: <5B29C60E-4CED-41DF-A677-D278D330DA6C@gmail.com> References: <4ab27509-1980-4a98-b07d-a8325d137036@zmail17.collab.prod.int.phx2.redhat.com> <4FC4E640.80204@oracle.com> <4FC63C95.7020704@oracle.com> <5B29C60E-4CED-41DF-A677-D278D330DA6C@gmail.com> Message-ID: <4FC76EEA.1010608@oracle.com> Hi all, New version of the webrev, I changed the wrapper functions existing in binaryTreeDictionary.hpp to use "using" as well and changed the comment. I also removed some calls that already used fully qualified function names to call to the parent class to also use "using". http://cr.openjdk.java.net/~mgerdin/7172226/webrev.1/ /Mikael On 2012-05-30 20:39, Igor Veresov wrote: > I think "using" in nicer, since you have to write it only once. > > igor > > On May 30, 2012, at 8:28 AM, Jon Masamitsu wrote: > >> Mikael, >> >> Thanks for doing these changes. It's fine as it is but did you consider >> the "using" directive? I'm asking because I'm trying to decide in >> a similar situation if I should use "using". Asking for advice more >> than making a suggestion. >> >> Jon >> >> On 5/29/2012 8:07 AM, Mikael Gerdin wrote: >>> (changed the subject to clarify that there's a code review hidden in here) >>> >>> As stated earlier in this thread GCC 4.7 has become more strict when doing name lookup in template classes. >>> I have a patch that will fix the build >>> http://cr.openjdk.java.net/~mgerdin/7172226/webrev.0/ >>> >>> but I'm not sure about the style, the code already contains some wrapper functions which look like they tried to solve the same problem. >>> >>> Does anyone have any suggestions on how to handle this more cleanly? >>> >>> Thanks >>> /Mikael >>> >>> On 2012-05-29 15:11, Andrew Hughes wrote: >>>> >>>> >>>> ----- Original Message ----- >>>>> Andrew, >>>>> >>>>> I filed 7172226 >>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7172226 (not >>>>> available yet) >>>>> See below for the patch. >>>>> >>>>> On 2012-05-28 15:34, Andrew Hughes wrote: >>>>>> >>>>>> >>>>>> ----- Original Message ----- >>>>>>> Hi Andrew, >>>>>>> >>>>>>> On 2012-05-28 14:57, Andrew Hughes wrote: >>> (...) >>>>>>> >>>>>>> I've seen this when I tried building with GCC 4.7 as well. >>>>>>> This problem comes from 9f059abe8cf2, "Generalize the CMS free >>>>>>> list >>>>>>> code" which introduced some templates. >>>>>>> It appears that GCC 4.7 is more strict when doing argument >>>>>>> dependent >>>>>>> lookup than 4.6. >>>>>>> The fix is to do just what gcc suggests and use this->* or use the >>>>>>> qualified name of the function, for example >>>>>>> TreeList::link_tail >>>>>>> in the first failure. As you can see there are already some places >>>>>>> in >>>>>>> that code which use the fully qualified name. >>>>>>> >>>>>>> I just discovered that I had a patch that fixes most of these >>>>>>> issues >>>>>>> in >>>>>>> binaryTreeDictionary so I'll go ahead and file a CR for this. >>>>>>> >>>>>>> Regards >>>>>>> /mg >>>>>>> >>>>>> >>>>>> Thanks Mikael. If you could post the patch, it would be much >>>>>> appreciated. >>>>>> I can't build OpenJDK8 at present. >>>>> >>>>> I've uploaded my fix (only build tested) to >>>>> http://cr.openjdk.java.net/~mgerdin/7172226/webrev.0/ >>>>> >>>>> /mg >>>>> >>>>>> >>>>>>> -- >>>>>>> Mikael Gerdin >>>>>>> Java SE VM SQE Stockholm >>>>>>> >>>>>> >>>>> >>>>> -- >>>>> Mikael Gerdin >>>>> Java SE VM SQE Stockholm >>>>> >>>> >>>> Thanks. This patch worked and I've committed it to the IcedTea OpenJDK8 tree: >>>> >>>> http://hg.openjdk.java.net/icedtea/jdk8/hotspot/rev/f1947ffdccd9 >>>> >>>> Can someone with JPRT access please push this through? >>> > -- Mikael Gerdin Java SE VM SQE Stockholm From jon.masamitsu at oracle.com Thu May 31 09:08:17 2012 From: jon.masamitsu at oracle.com (Jon Masamitsu) Date: Thu, 31 May 2012 09:08:17 -0700 Subject: Project proposal: Remove the Permanent Generation In-Reply-To: <4FC718E8.5020801@oracle.com> References: <4ED3C2DB.7050703@oracle.com> <4F6896C9.1020102@oracle.com> <4F88ADA7.8000503@oracle.com> <4FAABB65.4010700@oracle.com> <4FC718E8.5020801@oracle.com> Message-ID: <4FC79771.7000807@oracle.com> On 05/31/12 00:08, Bengt Rutisson wrote: > > Coleen, > > Sorry for the late reply on this. I have been going through the perm > gen removal changes with Stefan over the past few weeks. Overall I > think it looks great! You are all doing an excellent job! > > Stefan has made several changes based on our code walk through we did. > Below are a few minor things that he did not have time to fix. I am > not sure any of them are particularly important. > > Bengt > > CardTableModRefBS::write_ref_needs_barrier() > This does not seem to be used anymore and is now implemented as > ShouldNotReachHere(). Is there a plan to start using it again or > should it be removed? I've removed it. It's easy enough to add back if needed. > > > ConcurrentMarkSweepGeneration::update_counters(size_t used) > It looks like this method lost its implementation. Was this intentional? That looks like a mistake. I'll add it back. > > > GCCause::_permanent_generation_full > Should maybe be renamed to "metadata"-something when we trigger a GC > due to too much memory being allocated for metadata. I have a repository where this is replaced by _metadata_GC_threshold > > > PermGen flags. What are the plans for the existing PermGen flags? Will > they be replaced, ignored or reused? > I've seen: PermSize, MaxPermSize, CMSPermGenPrecleaningEnabled, > CMSTriggerPermRatio, CMSInitiatingPermOccupancyFraction, > CMSIsTooFullPercentage, AdaptivePermSizeWeight, PermGenPadding, > MinPermHeapExpansion, MaxPermHeapExpansion and PermMarkSweepDeadRatio. PermSize, MaxPermSize, MinPermHeapExpansion, MaxPermHeapExpansion will be replaced. I think we keep CMSIsTooFullPercentage. I think this is used to decide to unload classes even if CMSClassUnloadingEnabled is false. The others are obsolete and will be added to the ObsoleteFlag in arguments.cpp Jon > > > The comments for these class data sharing flags mention perm gen and > should probably be updated: > UseSharedSpaces, RequireSharedSpaces, SharedReadWriteSize, > SharedReadOnlySize > > > > > > > On 2012-05-09 20:45, Coleen Phillimore wrote: >> >> Please find below the webrev of the Permgen elimination changes from >> our latest merge with the hotspot-gc baseline. We have completed >> the major functional changes and are now working on cleanups, testing >> and bug fixes. There are a few items left to do that we will file as >> RFE's when this is integrated. We'll have a couple of other webrevs >> before integration which we will again solicit code review >> comments. But don't wait! This is huge so your comments in >> advance regarding areas within your expertise. >> >> You can also get a patch file and patch against >> http://hg.openjdk.java.net/hsx/hotspot-gc/hotspot changeset >> 9f059abe8cf2 . >> >> http://cr.openjdk.java.net/~coleenp/metadata4 >> >> Changes since last webrev include serviceability agent support, >> compiledICHolders are allocated in C Heap and class data sharing >> support (CDS). Left to do is the big rename of the metadata from a >> lower case name to upper case name without the OopDesc. We're >> taking suggestions for what to rename constantPoolCacheOopDesc since >> it's never been a cache and it's now not an oop either. >> >> Thanks! >> Coleen >> >> >> On 4/13/2012 6:50 PM, Coleen Phillimore wrote: >>> >>> We want to keep the openjdk community aware of the changes to remove >>> the permanent generation. We are nearing completion of the >>> functional changes. The webrev below has been generated as side >>> effect of syncing to the latest hotspot-gc repository. >>> >>> http://cr.openjdk.java.net/~coleenp/metadata3 >>> >>> Since the last webrev that we sent out, these areas have been >>> completed: >>> >>> 1. G1 and CMS (concurrent mark sweep) garbage collectors are now >>> supported. >>> 2. Metadata is now allocated from chunks in mmap space(s). The >>> chunks are still freed when the class loader that owns the metadata >>> is unloaded. >>> 3. Many cleanups, including removing is_parseable is_conc_safe and >>> is_partially_loaded, and others. >>> 4. Bug fixes from internal test runs. >>> >>> There are a few large changes coming to this repository very soon: >>> >>> 1. Allocate CompiledICHolders (once oops) out of CHeap memory. >>> 2. Serviceability Agent changes to reflect the new metadata types. >>> 3. Class data sharing. >>> >>> The last change we'll make is to rename the metadata types to remove >>> the Oop suffixes and capitalize type names. >>> >>> Please feel free to comment, ask questions and/or make suggestions. >>> >>> Thanks, >>> Coleen >>> >>> On 3/20/2012 10:40 AM, Jon Masamitsu wrote: >>>> You may have noticed that this project proposal never got >>>> any farther then this mail. Somewhat due to indecision on >>>> our part, this work is not going to become its own project >>>> but will be integrated through the hsx/hotspot-gc/hotspot >>>> repository. We wanted to provide a preview of the work >>>> so prepared this webrev from an recent merge of the perm gen >>>> removal work with hotspot-gc. We're still working on it >>>> but thought this intermediate webrev would be of interest. >>>> >>>> http://cr.openjdk.java.net/~coleenp/metadata2 >>>> >>>> In this webrev >>>> >>>> Allocations for the class metadata are made from the C heap. >>>> More work is coming here. The infrastructure for the perm >>>> gen has not yet been removed but nothing is allocated in >>>> the perm gen. >>>> >>>> The klasses that were used to described class metadata have >>>> been removed (klassKlass and it's derivatives). >>>> >>>> Class metadata type (instanceKlass) has been changed and is >>>> being separated from oops. It still derives from Klass but >>>> Klass now derives from metadataOop and not Klass_vtbl. Please >>>> note that metadataOop does not derive from oop. In an attempt >>>> to stay sane we're not changing everything at once. The >>>> separation of instanceKlass from oop is being done in a staged >>>> way and we're not done. You'll see klassOop, constantPoolOop, >>>> and constantPoolCacheOop but they are not oops. For example >>>> klassOop is typedef'ed to Klass and these types will be renamed >>>> to remove the Oop extension and capitalize the first letter >>>> to be consistent with other Hotspot type names. >>>> >>>> instanceKlass, constantPoolOop, and constantPoolCacheOop >>>> have been restructured to reduce the number of oops they contain. >>>> constantPoolKlass and cpCacheKlass are gone. >>>> >>>> Data structures have been added to represent class loaders and >>>> dependencies between class loaders (ClassLoaderData and >>>> ClassLoaderDataGraph, respectively). Class unloading is >>>> directly tied >>>> to the liveness of the class loaders. >>>> >>>> All the garbage collectors have been modified to find and follow >>>> oops in class metadata. The work for the CMS collector is not >>>> complete. >>>> >>>> Changed interpreter to support the move of oops out of the >>>> constant >>>> pool. >>>> >>>> Within the compilers and associated code most of the changes >>>> involved separating the oop and metadata types, which required >>>> changes throughout the compiler interface, relocations, >>>> dependencies, >>>> nmethods, debug info and the type systems of the compilers >>>> themselves. >>>> Code generation is for the most part unchanged. >>>> >>>> >>>> On 11/28/11 09:20, Jon Masamitsu wrote: >>>>> I am going to be proposing the permanent generation >>>>> removal as a OpenJDK project shortly. The project is >>>>> described in the JEP 122 >>>>> >>>>> http://openjdk.java.net/jeps/122 >>>>> >>>>> This is not the formal proposal of the project but rather >>>>> a chance to ask questions ahead of that proposal. > > From bengt.rutisson at oracle.com Thu May 31 22:46:18 2012 From: bengt.rutisson at oracle.com (Bengt Rutisson) Date: Fri, 01 Jun 2012 07:46:18 +0200 Subject: Project proposal: Remove the Permanent Generation In-Reply-To: <4FC79771.7000807@oracle.com> References: <4ED3C2DB.7050703@oracle.com> <4F6896C9.1020102@oracle.com> <4F88ADA7.8000503@oracle.com> <4FAABB65.4010700@oracle.com> <4FC718E8.5020801@oracle.com> <4FC79771.7000807@oracle.com> Message-ID: <4FC8572A.1060402@oracle.com> Jon, Thanks for the feedback. Sounds good to me. Bengt On 2012-05-31 18:08, Jon Masamitsu wrote: > > > On 05/31/12 00:08, Bengt Rutisson wrote: >> >> Coleen, >> >> Sorry for the late reply on this. I have been going through the perm >> gen removal changes with Stefan over the past few weeks. Overall I >> think it looks great! You are all doing an excellent job! >> >> Stefan has made several changes based on our code walk through we >> did. Below are a few minor things that he did not have time to fix. I >> am not sure any of them are particularly important. >> >> Bengt >> >> CardTableModRefBS::write_ref_needs_barrier() >> This does not seem to be used anymore and is now implemented as >> ShouldNotReachHere(). Is there a plan to start using it again or >> should it be removed? > > I've removed it. It's easy enough to add back if needed. > >> >> >> ConcurrentMarkSweepGeneration::update_counters(size_t used) >> It looks like this method lost its implementation. Was this intentional? > > That looks like a mistake. I'll add it back. > >> >> >> GCCause::_permanent_generation_full >> Should maybe be renamed to "metadata"-something when we trigger a GC >> due to too much memory being allocated for metadata. > > I have a repository where this is replaced by _metadata_GC_threshold >> >> >> PermGen flags. What are the plans for the existing PermGen flags? >> Will they be replaced, ignored or reused? >> I've seen: PermSize, MaxPermSize, CMSPermGenPrecleaningEnabled, >> CMSTriggerPermRatio, CMSInitiatingPermOccupancyFraction, >> CMSIsTooFullPercentage, AdaptivePermSizeWeight, PermGenPadding, >> MinPermHeapExpansion, MaxPermHeapExpansion and PermMarkSweepDeadRatio. > > PermSize, MaxPermSize, MinPermHeapExpansion, MaxPermHeapExpansion will > be replaced. > > I think we keep CMSIsTooFullPercentage. I think this is used to > decide to unload classes > even if CMSClassUnloadingEnabled is false. > > The others are obsolete and will be added to the ObsoleteFlag in > arguments.cpp > > Jon > >> >> >> The comments for these class data sharing flags mention perm gen and >> should probably be updated: >> UseSharedSpaces, RequireSharedSpaces, SharedReadWriteSize, >> SharedReadOnlySize >> >> >> >> >> >> >> On 2012-05-09 20:45, Coleen Phillimore wrote: >>> >>> Please find below the webrev of the Permgen elimination changes from >>> our latest merge with the hotspot-gc baseline. We have completed >>> the major functional changes and are now working on cleanups, >>> testing and bug fixes. There are a few items left to do that we >>> will file as RFE's when this is integrated. We'll have a couple of >>> other webrevs before integration which we will again solicit code >>> review comments. But don't wait! This is huge so your comments >>> in advance regarding areas within your expertise. >>> >>> You can also get a patch file and patch against >>> http://hg.openjdk.java.net/hsx/hotspot-gc/hotspot changeset >>> 9f059abe8cf2 . >>> >>> http://cr.openjdk.java.net/~coleenp/metadata4 >>> >>> Changes since last webrev include serviceability agent support, >>> compiledICHolders are allocated in C Heap and class data sharing >>> support (CDS). Left to do is the big rename of the metadata from a >>> lower case name to upper case name without the OopDesc. We're >>> taking suggestions for what to rename constantPoolCacheOopDesc since >>> it's never been a cache and it's now not an oop either. >>> >>> Thanks! >>> Coleen >>> >>> >>> On 4/13/2012 6:50 PM, Coleen Phillimore wrote: >>>> >>>> We want to keep the openjdk community aware of the changes to >>>> remove the permanent generation. We are nearing completion of the >>>> functional changes. The webrev below has been generated as side >>>> effect of syncing to the latest hotspot-gc repository. >>>> >>>> http://cr.openjdk.java.net/~coleenp/metadata3 >>>> >>>> Since the last webrev that we sent out, these areas have been >>>> completed: >>>> >>>> 1. G1 and CMS (concurrent mark sweep) garbage collectors are now >>>> supported. >>>> 2. Metadata is now allocated from chunks in mmap space(s). The >>>> chunks are still freed when the class loader that owns the metadata >>>> is unloaded. >>>> 3. Many cleanups, including removing is_parseable is_conc_safe and >>>> is_partially_loaded, and others. >>>> 4. Bug fixes from internal test runs. >>>> >>>> There are a few large changes coming to this repository very soon: >>>> >>>> 1. Allocate CompiledICHolders (once oops) out of CHeap memory. >>>> 2. Serviceability Agent changes to reflect the new metadata types. >>>> 3. Class data sharing. >>>> >>>> The last change we'll make is to rename the metadata types to >>>> remove the Oop suffixes and capitalize type names. >>>> >>>> Please feel free to comment, ask questions and/or make suggestions. >>>> >>>> Thanks, >>>> Coleen >>>> >>>> On 3/20/2012 10:40 AM, Jon Masamitsu wrote: >>>>> You may have noticed that this project proposal never got >>>>> any farther then this mail. Somewhat due to indecision on >>>>> our part, this work is not going to become its own project >>>>> but will be integrated through the hsx/hotspot-gc/hotspot >>>>> repository. We wanted to provide a preview of the work >>>>> so prepared this webrev from an recent merge of the perm gen >>>>> removal work with hotspot-gc. We're still working on it >>>>> but thought this intermediate webrev would be of interest. >>>>> >>>>> http://cr.openjdk.java.net/~coleenp/metadata2 >>>>> >>>>> In this webrev >>>>> >>>>> Allocations for the class metadata are made from the C heap. >>>>> More work is coming here. The infrastructure for the perm >>>>> gen has not yet been removed but nothing is allocated in >>>>> the perm gen. >>>>> >>>>> The klasses that were used to described class metadata have >>>>> been removed (klassKlass and it's derivatives). >>>>> >>>>> Class metadata type (instanceKlass) has been changed and is >>>>> being separated from oops. It still derives from Klass but >>>>> Klass now derives from metadataOop and not Klass_vtbl. Please >>>>> note that metadataOop does not derive from oop. In an attempt >>>>> to stay sane we're not changing everything at once. The >>>>> separation of instanceKlass from oop is being done in a staged >>>>> way and we're not done. You'll see klassOop, constantPoolOop, >>>>> and constantPoolCacheOop but they are not oops. For example >>>>> klassOop is typedef'ed to Klass and these types will be renamed >>>>> to remove the Oop extension and capitalize the first letter >>>>> to be consistent with other Hotspot type names. >>>>> >>>>> instanceKlass, constantPoolOop, and constantPoolCacheOop >>>>> have been restructured to reduce the number of oops they contain. >>>>> constantPoolKlass and cpCacheKlass are gone. >>>>> >>>>> Data structures have been added to represent class loaders and >>>>> dependencies between class loaders (ClassLoaderData and >>>>> ClassLoaderDataGraph, respectively). Class unloading is >>>>> directly tied >>>>> to the liveness of the class loaders. >>>>> >>>>> All the garbage collectors have been modified to find and follow >>>>> oops in class metadata. The work for the CMS collector is not >>>>> complete. >>>>> >>>>> Changed interpreter to support the move of oops out of the >>>>> constant >>>>> pool. >>>>> >>>>> Within the compilers and associated code most of the changes >>>>> involved separating the oop and metadata types, which required >>>>> changes throughout the compiler interface, relocations, >>>>> dependencies, >>>>> nmethods, debug info and the type systems of the compilers >>>>> themselves. >>>>> Code generation is for the most part unchanged. >>>>> >>>>> >>>>> On 11/28/11 09:20, Jon Masamitsu wrote: >>>>>> I am going to be proposing the permanent generation >>>>>> removal as a OpenJDK project shortly. The project is >>>>>> described in the JEP 122 >>>>>> >>>>>> http://openjdk.java.net/jeps/122 >>>>>> >>>>>> This is not the formal proposal of the project but rather >>>>>> a chance to ask questions ahead of that proposal. >> >> From bengt.rutisson at oracle.com Thu May 31 23:18:29 2012 From: bengt.rutisson at oracle.com (Bengt Rutisson) Date: Fri, 01 Jun 2012 08:18:29 +0200 Subject: RFR(S) 7172226: HotSpot fails to build with GCC 4.7 because of stricter c++ argument dependent lookup In-Reply-To: <4FC76EEA.1010608@oracle.com> References: <4ab27509-1980-4a98-b07d-a8325d137036@zmail17.collab.prod.int.phx2.redhat.com> <4FC4E640.80204@oracle.com> <4FC63C95.7020704@oracle.com> <5B29C60E-4CED-41DF-A677-D278D330DA6C@gmail.com> <4FC76EEA.1010608@oracle.com> Message-ID: <4FC85EB5.1060203@oracle.com> Mikael, I like this! Looks much better. One question. Line 248 in binaryTreeDictionary.cpp looks like this: 248 assert(!FreeList::verify_chunk_in_free_list(chunk), "Double entry"); Would it be possible to fix this with a "using" fix as well? Bengt On 2012-05-31 15:15, Mikael Gerdin wrote: > Hi all, > New version of the webrev, I changed the wrapper functions existing in > binaryTreeDictionary.hpp to use "using" as well and changed the comment. > I also removed some calls that already used fully qualified function > names to call to the parent class to also use "using". > > http://cr.openjdk.java.net/~mgerdin/7172226/webrev.1/ > > /Mikael > > On 2012-05-30 20:39, Igor Veresov wrote: >> I think "using" in nicer, since you have to write it only once. >> >> igor >> >> On May 30, 2012, at 8:28 AM, Jon Masamitsu wrote: >> >>> Mikael, >>> >>> Thanks for doing these changes. It's fine as it is but did you >>> consider >>> the "using" directive? I'm asking because I'm trying to decide in >>> a similar situation if I should use "using". Asking for advice more >>> than making a suggestion. >>> >>> Jon >>> >>> On 5/29/2012 8:07 AM, Mikael Gerdin wrote: >>>> (changed the subject to clarify that there's a code review hidden >>>> in here) >>>> >>>> As stated earlier in this thread GCC 4.7 has become more strict >>>> when doing name lookup in template classes. >>>> I have a patch that will fix the build >>>> http://cr.openjdk.java.net/~mgerdin/7172226/webrev.0/ >>>> >>>> but I'm not sure about the style, the code already contains some >>>> wrapper functions which look like they tried to solve the same >>>> problem. >>>> >>>> Does anyone have any suggestions on how to handle this more cleanly? >>>> >>>> Thanks >>>> /Mikael >>>> >>>> On 2012-05-29 15:11, Andrew Hughes wrote: >>>>> >>>>> >>>>> ----- Original Message ----- >>>>>> Andrew, >>>>>> >>>>>> I filed 7172226 >>>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7172226 (not >>>>>> available yet) >>>>>> See below for the patch. >>>>>> >>>>>> On 2012-05-28 15:34, Andrew Hughes wrote: >>>>>>> >>>>>>> >>>>>>> ----- Original Message ----- >>>>>>>> Hi Andrew, >>>>>>>> >>>>>>>> On 2012-05-28 14:57, Andrew Hughes wrote: >>>> (...) >>>>>>>> >>>>>>>> I've seen this when I tried building with GCC 4.7 as well. >>>>>>>> This problem comes from 9f059abe8cf2, "Generalize the CMS free >>>>>>>> list >>>>>>>> code" which introduced some templates. >>>>>>>> It appears that GCC 4.7 is more strict when doing argument >>>>>>>> dependent >>>>>>>> lookup than 4.6. >>>>>>>> The fix is to do just what gcc suggests and use this->* or use the >>>>>>>> qualified name of the function, for example >>>>>>>> TreeList::link_tail >>>>>>>> in the first failure. As you can see there are already some places >>>>>>>> in >>>>>>>> that code which use the fully qualified name. >>>>>>>> >>>>>>>> I just discovered that I had a patch that fixes most of these >>>>>>>> issues >>>>>>>> in >>>>>>>> binaryTreeDictionary so I'll go ahead and file a CR for this. >>>>>>>> >>>>>>>> Regards >>>>>>>> /mg >>>>>>>> >>>>>>> >>>>>>> Thanks Mikael. If you could post the patch, it would be much >>>>>>> appreciated. >>>>>>> I can't build OpenJDK8 at present. >>>>>> >>>>>> I've uploaded my fix (only build tested) to >>>>>> http://cr.openjdk.java.net/~mgerdin/7172226/webrev.0/ >>>>>> >>>>>> /mg >>>>>> >>>>>>> >>>>>>>> -- >>>>>>>> Mikael Gerdin >>>>>>>> Java SE VM SQE Stockholm >>>>>>>> >>>>>>> >>>>>> >>>>>> -- >>>>>> Mikael Gerdin >>>>>> Java SE VM SQE Stockholm >>>>>> >>>>> >>>>> Thanks. This patch worked and I've committed it to the IcedTea >>>>> OpenJDK8 tree: >>>>> >>>>> http://hg.openjdk.java.net/icedtea/jdk8/hotspot/rev/f1947ffdccd9 >>>>> >>>>> Can someone with JPRT access please push this through? >>>> >> >