6994753: Optional tracking of JRE usage.
authorkevinw
Fri, 15 Apr 2011 14:42:09 +0100
changeset 9286 b960a50a7052
parent 9034 3a5f097d5ae1
child 9287 66d45ea865db
6994753: Optional tracking of JRE usage. Reviewed-by: mchung, ksrini, ohair
jdk/make/sun/Makefile
jdk/make/sun/usagetracker/Makefile
jdk/src/share/javavm/export/jvm.h
jdk/src/share/native/common/jdk_util.c
--- a/jdk/make/sun/Makefile	Tue Apr 12 16:37:16 2011 -0700
+++ b/jdk/make/sun/Makefile	Fri Apr 15 14:42:09 2011 +0100
@@ -83,6 +83,11 @@
 SUBDIRS_management = management
 SUBDIRS_misc       = $(ORG_SUBDIR) rmi $(JDBC_SUBDIR) tracing
 SUBDIRS_tools      = native2ascii serialver tools jconsole
+
+ifndef OPENJDK
+  SUBDIRS += usagetracker
+endif
+
 include $(BUILDDIR)/common/Subdirs.gmk
 
 all build clean clobber::
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/sun/usagetracker/Makefile	Fri Apr 15 14:42:09 2011 +0100
@@ -0,0 +1,40 @@
+#
+# Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# This code is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License version 2 only, as
+# published by the Free Software Foundation.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# This code is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+# or visit www.oracle.com if you need additional information or have any
+# questions.
+#
+
+BUILDDIR = ../..
+PACKAGE = sun.usagetracker
+PRODUCT = sun
+include $(BUILDDIR)/common/Defs.gmk
+
+#
+# Files
+#
+AUTO_FILES_JAVA_DIRS = sun/usagetracker
+
+#
+# Rules
+#
+include $(BUILDDIR)/common/Classes.gmk
+
--- a/jdk/src/share/javavm/export/jvm.h	Tue Apr 12 16:37:16 2011 -0700
+++ b/jdk/src/share/javavm/export/jvm.h	Fri Apr 15 14:42:09 2011 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -1423,7 +1423,8 @@
      * the new bit is also added in the main/baseline.
      */
     unsigned int thread_park_blocker : 1;
-    unsigned int : 31;
+    unsigned int post_vm_init_hook_enabled : 1;
+    unsigned int : 30;
     unsigned int : 32;
     unsigned int : 32;
 } jdk_version_info;
--- a/jdk/src/share/native/common/jdk_util.c	Tue Apr 12 16:37:16 2011 -0700
+++ b/jdk/src/share/native/common/jdk_util.c	Fri Apr 15 14:42:09 2011 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -98,4 +98,8 @@
     info->update_version = jdk_update_version;
     info->special_update_version = (unsigned int) jdk_special_version;
     info->thread_park_blocker = 1;
+    // Advertise presence of sun.misc.PostVMInitHook:
+    // future optimization: detect if this is enabled.
+    info->post_vm_init_hook_enabled = 1;
+
 }