/hg/icedtea6: 2 new changesets

andrew at icedtea.classpath.org andrew at icedtea.classpath.org
Sat Feb 16 06:51:21 PST 2013


changeset 3439277534e3 in /hg/icedtea6
details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=3439277534e3
author: Andrew John Hughes <gnu.andrew at redhat.com>
date: Fri Feb 15 01:09:35 2013 +0000

	PR1319: Support GIF lib v5.

	2013-02-14  Andrew John Hughes  <gnu.andrew at redhat.com>

		PR1319: Support GIF lib v5.
		* Makefile.am:
		(ICEDTEA_PATCHES): Add new patch.
		* patches/pr1319-support_giflib_5.patch:
		Support building with giflib 5.x.


changeset 8b08136ed5c1 in /hg/icedtea6
details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=8b08136ed5c1
author: Andrew John Hughes <gnu.andrew at redhat.com>
date: Sat Feb 16 14:49:07 2013 +0000

	Fix build with/without hs23 for CACAO and SystemTap options.

	2013-02-15  Andrew John Hughes  <gnu.andrew at redhat.com>

		* Makefile.am:
		(ICEDTEA_PATCHES): Specialise HotSpot segment of
		CACAO memory patch and some SystemTap patches.
		Split remaining SystemTap patches between hs23
		and original builds.
		* patches/cacao/memory.patch:
		Remove HotSpot fragments.
		* patches/hotspot/hs23/systemtap-alloc-size-workaround.patch:
		hs23 version of existing patch.
		* patches/hotspot/hs23/systemtap.patch:
		Taken from IcedTea7 2.3.
		* patches/hotspot/hs23/systemtap_gc.patch:
		hs23 version of existing patch.
		* patches/hotspot/original/sdt-arguments.patch
		* patches/hotspot/original/sdt-dtrace-hpp.patch
		* patches/hotspot/original/sdt-jni.patch
		* patches/hotspot/original/sdt-make.patch:
		* patches/hotspot/original/systemtap-alloc-size-workaround.patch
		* patches/hotspot/original/systemtap_gc.patch:
		Moved from....
		* patches/sdt-arguments.patch
		* patches/sdt-dtrace-hpp.patch
		* patches/sdt-jni.patch
		* patches/sdt-make.patch
		* patches/systemtap-alloc-size-workaround.patch
		* patches/systemtap_gc.patch:
		...here.


diffstat:

 ChangeLog                                                      |   38 +
 Makefile.am                                                    |   26 +-
 patches/cacao/memory.patch                                     |   36 -
 patches/hotspot/hs23/systemtap-alloc-size-workaround.patch     |   12 +
 patches/hotspot/hs23/systemtap.patch                           |  140 +++
 patches/hotspot/hs23/systemtap_gc.patch                        |  378 ++++++++++
 patches/hotspot/original/sdt-arguments.patch                   |   24 +
 patches/hotspot/original/sdt-dtrace-hpp.patch                  |  103 ++
 patches/hotspot/original/sdt-jni.patch                         |   37 +
 patches/hotspot/original/sdt-make.patch                        |   51 +
 patches/hotspot/original/systemtap-alloc-size-workaround.patch |   17 +
 patches/hotspot/original/systemtap_gc.patch                    |  369 +++++++++
 patches/pr1319-support_giflib_5.patch                          |   29 +
 patches/sdt-arguments.patch                                    |   24 -
 patches/sdt-dtrace-hpp.patch                                   |  103 --
 patches/sdt-jni.patch                                          |   37 -
 patches/sdt-make.patch                                         |   51 -
 patches/systemtap-alloc-size-workaround.patch                  |   17 -
 patches/systemtap_gc.patch                                     |  369 ---------
 19 files changed, 1215 insertions(+), 646 deletions(-)

diffs (truncated from 1970 to 500 lines):

diff -r 06c8caca7d7c -r 8b08136ed5c1 ChangeLog
--- a/ChangeLog	Fri Feb 15 00:02:19 2013 +0000
+++ b/ChangeLog	Sat Feb 16 14:49:07 2013 +0000
@@ -1,3 +1,41 @@
+2013-02-15  Andrew John Hughes  <gnu.andrew at redhat.com>
+
+	* Makefile.am:
+	(ICEDTEA_PATCHES): Specialise HotSpot segment of
+	CACAO memory patch and some SystemTap patches.
+	Split remaining SystemTap patches between hs23
+	and original builds.
+	* patches/cacao/memory.patch:
+	Remove HotSpot fragments.
+	* patches/hotspot/hs23/systemtap-alloc-size-workaround.patch:
+	hs23 version of existing patch.
+	* patches/hotspot/hs23/systemtap.patch:
+	Taken from IcedTea7 2.3.
+	* patches/hotspot/hs23/systemtap_gc.patch:
+	hs23 version of existing patch.
+	* patches/hotspot/original/sdt-arguments.patch
+	* patches/hotspot/original/sdt-dtrace-hpp.patch
+	* patches/hotspot/original/sdt-jni.patch
+	* patches/hotspot/original/sdt-make.patch:
+	* patches/hotspot/original/systemtap-alloc-size-workaround.patch
+	* patches/hotspot/original/systemtap_gc.patch:
+	Moved from....
+	* patches/sdt-arguments.patch
+	* patches/sdt-dtrace-hpp.patch
+	* patches/sdt-jni.patch
+	* patches/sdt-make.patch
+	* patches/systemtap-alloc-size-workaround.patch
+	* patches/systemtap_gc.patch:
+	...here.
+
+2013-02-14  Andrew John Hughes  <gnu.andrew at redhat.com>
+
+	PR1319: Support GIF lib v5.
+	* Makefile.am:
+	(ICEDTEA_PATCHES): Add new patch.
+	* patches/pr1319-support_giflib_5.patch:
+	Support building with giflib 5.x.
+
 2013-02-14  Andrew John Hughes  <gnu.andrew at redhat.com>
 
 	PR1317: Provide an option to build with a more up-to-date HotSpot
diff -r 06c8caca7d7c -r 8b08136ed5c1 Makefile.am
--- a/Makefile.am	Fri Feb 15 00:02:19 2013 +0000
+++ b/Makefile.am	Sat Feb 16 14:49:07 2013 +0000
@@ -469,7 +469,8 @@
 	patches/openjdk/7162902-corba_fixes.patch \
 	patches/traceable.patch \
 	patches/openjdk/8005615-failure_to_load_logger_implementation.patch \
-	patches/openjdk/8004341-jck_dialog_failure.patch
+	patches/openjdk/8004341-jck_dialog_failure.patch \
+	patches/pr1319-support_giflib_5.patch
 
 if WITH_ALT_HSBUILD
 ICEDTEA_PATCHES += \
@@ -527,11 +528,13 @@
 ICEDTEA_PATCHES += \
 	patches/cacao/launcher.patch \
 	patches/cacao/memory.patch \
+	patches/cacao/hotspot/$(HSBUILD)/memory.patch \
 	patches/cacao/armhf.patch
 else
 if USING_CACAO
 ICEDTEA_PATCHES += \
-	patches/cacao/memory.patch
+	patches/cacao/memory.patch \
+	patches/cacao/hotspot/$(HSBUILD)/memory.patch
 endif
 endif
 
@@ -547,13 +550,18 @@
 endif
 
 if ENABLE_SYSTEMTAP
-ICEDTEA_PATCHES += patches/sdt-jni.patch \
-	patches/sdt-dtrace-hpp.patch \
-	patches/sdt-make.patch \
-	patches/sdt-arguments.patch \
-	patches/systemtap_gc.patch
-	patches/systemtap-gcc-4.5.patch \
-	patches/systemtap-alloc-size-workaround.patch
+if WITH_ALT_HSBUILD
+ICEDTEA_PATCHES += patches/hotspot/hs23/systemtap.patch
+else
+ICEDTEA_PATCHES += patches/hotspot/original/sdt-jni.patch \
+	patches/hotspot/original/sdt-dtrace-hpp.patch \
+	patches/hotspot/original/sdt-make.patch \
+	patches/hotspot/original/sdt-arguments.patch \
+	patches/systemtap-gcc-4.5.patch
+endif
+ICEDTEA_PATCHES += \
+	patches/hotspot/$(HSBUILD)/systemtap_gc.patch \
+	patches/hotspot/$(HSBUILD)/systemtap-alloc-size-workaround.patch
 endif
 
 if ENABLE_NSS
diff -r 06c8caca7d7c -r 8b08136ed5c1 patches/cacao/memory.patch
--- a/patches/cacao/memory.patch	Fri Feb 15 00:02:19 2013 +0000
+++ b/patches/cacao/memory.patch	Sat Feb 16 14:49:07 2013 +0000
@@ -16,42 +16,6 @@
                      <compilerarg line="${javac.no.jdk.warnings}"/>
                      <compilerarg line="${javac.version.opt}"/>
                      <compilerarg line="${javac.lint.opts}"/>
-diff -Nru openjdk.orig/hotspot/make/linux/makefiles/rules.make openjdk-ecj/hotspot/make/linux/makefiles/rules.make
---- openjdk.orig/hotspot/make/linux/makefiles/rules.make	2013-01-26 13:32:42.117831617 +0000
-+++ openjdk/hotspot/make/linux/makefiles/rules.make	2013-01-26 13:33:29.934595340 +0000
-@@ -133,7 +133,7 @@
- # Settings for javac
- BOOT_SOURCE_LANGUAGE_VERSION = 5
- BOOT_TARGET_CLASS_VERSION = 5
--JAVAC_FLAGS = -g -encoding ascii
-+JAVAC_FLAGS = -g -encoding ascii -J-Xmx512m
- BOOTSTRAP_JAVAC_FLAGS = $(JAVAC_FLAGS) -source $(BOOT_SOURCE_LANGUAGE_VERSION) -target $(BOOT_TARGET_CLASS_VERSION)
- 
- # With parallel makes, print a message at the end of compilation.
-diff -Nru openjdk.orig/hotspot/make/solaris/makefiles/rules.make openjdk-ecj/hotspot/make/solaris/makefiles/rules.make
---- openjdk.orig/hotspot/make/solaris/makefiles/rules.make	2013-01-26 13:32:42.137831936 +0000
-+++ openjdk/hotspot/make/solaris/makefiles/rules.make	2013-01-26 13:33:41.934787007 +0000
-@@ -133,7 +133,7 @@
- # Settings for javac
- BOOT_SOURCE_LANGUAGE_VERSION = 5
- BOOT_TARGET_CLASS_VERSION = 5
--JAVAC_FLAGS = -g -encoding ascii
-+JAVAC_FLAGS = -g -encoding ascii -J-Xmx512m
- BOOTSTRAP_JAVAC_FLAGS = $(JAVAC_FLAGS) -source $(BOOT_SOURCE_LANGUAGE_VERSION) -target $(BOOT_TARGET_CLASS_VERSION)
- 
- # With parallel makes, print a message at the end of compilation.
-diff -Nru openjdk.orig/hotspot/make/windows/makefiles/rules.make openjdk-ecj/hotspot/make/windows/makefiles/rules.make
---- openjdk.orig/hotspot/make/windows/makefiles/rules.make	2013-01-26 13:32:42.153832191 +0000
-+++ openjdk/hotspot/make/windows/makefiles/rules.make	2013-01-26 13:34:12.419273915 +0000
-@@ -45,7 +45,7 @@
- # Settings for javac
- BOOT_SOURCE_LANGUAGE_VERSION=5
- BOOT_TARGET_CLASS_VERSION=5
--JAVAC_FLAGS=-g -encoding ascii
-+JAVAC_FLAGS=-g -encoding ascii -J-Xmx512m
- BOOTSTRAP_JAVAC_FLAGS=$(JAVAC_FLAGS) -source $(BOOT_SOURCE_LANGUAGE_VERSION) -target $(BOOT_TARGET_CLASS_VERSION)
- 
- ProjectFile=jvm.vcproj
 diff -Nru openjdk.orig/jaxws/build.properties openjdk-ecj/jaxws/build.properties
 --- openjdk.orig/jaxws/build.properties	2013-01-26 06:52:34.544450267 +0000
 +++ openjdk/jaxws/build.properties	2013-01-26 06:52:51.896729971 +0000
diff -r 06c8caca7d7c -r 8b08136ed5c1 patches/hotspot/hs23/systemtap-alloc-size-workaround.patch
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/hotspot/hs23/systemtap-alloc-size-workaround.patch	Sat Feb 16 14:49:07 2013 +0000
@@ -0,0 +1,12 @@
+diff -Nru openjdk.orig/hotspot/src/share/vm/runtime/sharedRuntime.cpp openjdk/hotspot/src/share/vm/runtime/sharedRuntime.cpp
+--- openjdk.orig/hotspot/src/share/vm/runtime/sharedRuntime.cpp	2013-02-11 23:08:47.000000000 +0000
++++ openjdk/hotspot/src/share/vm/runtime/sharedRuntime.cpp	2013-02-15 15:41:31.698499811 +0000
+@@ -966,7 +966,7 @@
+   Symbol* name = klass->name();
+ #ifndef USDT2
+   HS_DTRACE_PROBE4(hotspot, object__alloc, get_java_tid(thread),
+-                   name->bytes(), name->utf8_length(), size * HeapWordSize);
++                   name->bytes(), name->utf8_length(), size);
+ #else /* USDT2 */
+   HOTSPOT_OBJECT_ALLOC(
+                    get_java_tid(thread),
diff -r 06c8caca7d7c -r 8b08136ed5c1 patches/hotspot/hs23/systemtap.patch
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/hotspot/hs23/systemtap.patch	Sat Feb 16 14:49:07 2013 +0000
@@ -0,0 +1,140 @@
+diff -Nru openjdk.orig/hotspot/make/linux/makefiles/dtrace.make openjdk/hotspot/make/linux/makefiles/dtrace.make
+--- openjdk.orig/hotspot/make/linux/makefiles/dtrace.make	2012-02-22 14:54:31.000000000 +0000
++++ openjdk/hotspot/make/linux/makefiles/dtrace.make	2012-03-18 18:54:13.482968139 +0000
+@@ -25,3 +25,7 @@
+ # Linux does not build jvm_db
+ LIBJVM_DB =
+ 
++# But it does have a Systemtap dtrace compatible sys/sdt.h
++CFLAGS += -DDTRACE_ENABLED
++
++# It doesn't support HAVE_DTRACE_H though.
+diff -Nru openjdk.orig/hotspot/src/share/vm/prims/jni.cpp openjdk/hotspot/src/share/vm/prims/jni.cpp
+--- openjdk.orig/hotspot/src/share/vm/prims/jni.cpp	2012-02-22 14:54:31.000000000 +0000
++++ openjdk/hotspot/src/share/vm/prims/jni.cpp	2012-03-18 18:54:13.502968466 +0000
+@@ -2818,10 +2818,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 +3125,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"); \
+--- openjdk.orig/hotspot/src/share/vm/utilities/dtrace.hpp	2012-02-22 15:54:31.000000000 +0100
++++ openjdk/hotspot/src/share/vm/utilities/dtrace.hpp	2012-03-27 13:12:15.857491730 +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 <sys/types.h>
+@@ -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 */
+ 
diff -r 06c8caca7d7c -r 8b08136ed5c1 patches/hotspot/hs23/systemtap_gc.patch
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/hotspot/hs23/systemtap_gc.patch	Sat Feb 16 14:49:07 2013 +0000
@@ -0,0 +1,378 @@
+diff -Nru openjdk.orig/hotspot/src/share/vm/compiler/oopMap.cpp openjdk/hotspot/src/share/vm/compiler/oopMap.cpp
+--- openjdk.orig/hotspot/src/share/vm/compiler/oopMap.cpp	2013-02-11 23:08:47.000000000 +0000
++++ openjdk/hotspot/src/share/vm/compiler/oopMap.cpp	2013-02-15 15:15:19.117174844 +0000
+@@ -33,9 +33,13 @@
+ #include "memory/resourceArea.hpp"
+ #include "runtime/frame.inline.hpp"
+ #include "runtime/signature.hpp"
++#include "utilities/dtrace.hpp"
+ #ifdef COMPILER1
+ #include "c1/c1_Defs.hpp"
+ #endif
++#ifndef USDT2
++  HS_DTRACE_PROBE_DECL1(provider, gc__collection__delete, *uintptr_t);
++#endif /* !USDT2 */
+ 
+ // OopMapStream
+ 
+@@ -677,6 +681,9 @@
+                     " - Derived: " INTPTR_FORMAT "  Base: " INTPTR_FORMAT " (Offset: %d)",
+           derived_loc, (address)*derived_loc, (address)base, offset);
+     }
++#ifndef USDT2
++  HS_DTRACE_PROBE1(hotspot, gc__collection__delete, entry);
++#endif /* !USDT2 */
+ 
+     // Delete entry
+     delete entry;
+diff -Nru openjdk.orig/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp openjdk/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp
+--- openjdk.orig/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp	2013-02-11 23:08:47.000000000 +0000
++++ openjdk/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp	2013-02-15 15:15:19.141175230 +0000
+@@ -55,6 +55,12 @@
+ #include "runtime/vmThread.hpp"
+ #include "services/memoryService.hpp"
+ #include "services/runtimeService.hpp"
++#include "utilities/dtrace.hpp"
++
++#ifndef USDT2
++  HS_DTRACE_PROBE_DECL4(provider, gc__collection__contig__begin, bool, bool, size_t, bool);
++  HS_DTRACE_PROBE_DECL4(provider, gc__collection__contig__end, bool, bool, size_t, bool);
++#endif /* !USDT2 */
+ 
+ // statics
+ CMSCollector* ConcurrentMarkSweepGeneration::_collector = NULL;
+@@ -1647,7 +1653,13 @@
+                                             size_t size,
+                                             bool   tlab)
+ {
++#ifndef USDT2
++  HS_DTRACE_PROBE4(hotspot, gc__collection__contig__begin, full, clear_all_soft_refs, size, tlab);
++#endif /* !USDT2 */
+   collector()->collect(full, clear_all_soft_refs, size, tlab);
++#ifndef USDT2
++  HS_DTRACE_PROBE4(hotspot, gc__collection__contig__end, full, clear_all_soft_refs, size, tlab);
++#endif /* !USDT2 */
+ }
+ 
+ void CMSCollector::collect(bool   full,
+diff -Nru openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/g1MarkSweep.cpp openjdk/hotspot/src/share/vm/gc_implementation/g1/g1MarkSweep.cpp
+--- openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/g1MarkSweep.cpp	2013-02-11 23:08:47.000000000 +0000
++++ openjdk/hotspot/src/share/vm/gc_implementation/g1/g1MarkSweep.cpp	2013-02-15 15:15:19.137175167 +0000
+@@ -45,8 +45,13 @@
+ #include "runtime/thread.hpp"
+ #include "runtime/vmThread.hpp"
+ #include "utilities/copy.hpp"
++#include "utilities/dtrace.hpp"
+ #include "utilities/events.hpp"
+ 
++#ifndef USDT2
++  HS_DTRACE_PROBE_DECL2(provider, gc__collection__G1__begin, *uintptr_t, *uintptr_t);
++  HS_DTRACE_PROBE_DECL2(provider, gc__collection__G1__end, *uintptr_t, *uintptr_t);
++ #endif /* !USDT2 */ 
+ class HeapRegion;
+ 
+ void G1MarkSweep::invoke_at_safepoint(ReferenceProcessor* rp,
+@@ -84,6 +89,9 @@
+   // The marking doesn't preserve the marks of biased objects.
+   BiasedLocking::preserve_marks();
+ 
++#ifndef USDT2
++  HS_DTRACE_PROBE2(hotspot, gc__collection__G1__begin, &sh, sh->gc_cause());
++#endif /* !USDT2 */
+   mark_sweep_phase1(marked_for_unloading, clear_all_softrefs);
+ 
+   mark_sweep_phase2();
+@@ -103,6 +111,9 @@
+   GenRemSet* rs = sh->rem_set();
+   rs->invalidate(sh->perm_gen()->used_region(), true /*whole_heap*/);
+ 
++#ifndef USDT2
++  HS_DTRACE_PROBE2(hotspot, gc__collection__G1__end, &sh, sh->gc_cause());
++#endif /* !USDT2 */
+   // "free at last gc" is calculated from these.
+   // CHF: cheating for now!!!
+   //  Universe::set_heap_capacity_at_last_gc(Universe::heap()->capacity());
+diff -Nru openjdk.orig/hotspot/src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp openjdk/hotspot/src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp
+--- openjdk.orig/hotspot/src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp	2013-02-11 23:08:47.000000000 +0000
++++ openjdk/hotspot/src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp	2013-02-15 15:15:19.157175488 +0000
+@@ -40,8 +40,14 @@
+ #include "runtime/handles.inline.hpp"
+ #include "runtime/java.hpp"
+ #include "runtime/vmThread.hpp"
++#include "utilities/dtrace.hpp"
+ #include "utilities/vmError.hpp"
+ 
++#ifndef USDT2
++  HS_DTRACE_PROBE_DECL2(provider, gc__collection__parscavenge__heap__begin, *uintptr_t, *uintptr_t);
++  HS_DTRACE_PROBE_DECL2(provider, gc__collection__parscavenge__heap__end, *uintptr_t, *uintptr_t);
++#endif /* !USDT2 */
++
+ PSYoungGen*  ParallelScavengeHeap::_young_gen = NULL;
+ PSOldGen*    ParallelScavengeHeap::_old_gen = NULL;
+ PSPermGen*   ParallelScavengeHeap::_perm_gen = NULL;
+@@ -806,7 +812,13 @@
+   }
+ 
+   VM_ParallelGCSystemGC op(gc_count, full_gc_count, cause);
++#ifndef USDT2
++  HS_DTRACE_PROBE2(hotspot, gc__collection__parscavenge__heap__begin, &op, cause);
++#endif /* !USDT2 */
+   VMThread::execute(&op);
++#ifndef USDT2
++  HS_DTRACE_PROBE2(hotspot, gc__collection__parscavenge__heap__end, &op, cause);
++#endif /* !USDT2 */
+ }
+ 
+ // This interface assumes that it's being called by the
+diff -Nru openjdk.orig/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp openjdk/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp
+--- openjdk.orig/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp	2013-02-11 23:08:47.000000000 +0000
++++ openjdk/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp	2013-02-15 15:15:19.137175167 +0000
+@@ -53,11 +53,18 @@
+ #include "runtime/vmThread.hpp"
+ #include "services/management.hpp"
+ #include "services/memoryService.hpp"
++#include "utilities/dtrace.hpp"
+ #include "utilities/events.hpp"
+ #include "utilities/stack.inline.hpp"
+ 
+ #include <math.h>
+ 
++#ifndef USDT2
++  HS_DTRACE_PROBE_DECL2(provider, gc__collection__ParallelCompact__clear, *uintptr_t, *uintptr_t);
++  HS_DTRACE_PROBE_DECL2(provider, gc__collection__parallel__collect, *uintptr_t, *uintptr_t);
++  HS_DTRACE_PROBE_DECL4(provider, gc__collection__move, *uintptr_t, *uintptr_t, *uintptr_t, *uintptr_t);
++#endif /* !USDT2 */
++
+ // All sizes are in HeapWords.
+ const size_t ParallelCompactData::Log2RegionSize  = 9; // 512 words
+ const size_t ParallelCompactData::RegionSize      = (size_t)1 << Log2RegionSize;
+@@ -432,6 +439,9 @@
+ 
+ void ParallelCompactData::clear()
+ {
++#ifndef USDT2
++  HS_DTRACE_PROBE2(hotspot, gc__collection__ParallelCompact__clear, &_region_data, _region_data->data_location());
++#endif /* !USDT2 */
+   memset(_region_data, 0, _region_vspace->committed_size());
+ }
+ 
+@@ -1969,6 +1979,9 @@
+          "should be in vm thread");
+ 
+   ParallelScavengeHeap* heap = gc_heap();
++#ifndef USDT2
++  HS_DTRACE_PROBE2(hotspot, gc__collection__parallel__collect, heap, heap->gc_cause());
++#endif /* !USDT2 */
+   GCCause::Cause gc_cause = heap->gc_cause();
+   assert(!heap->is_gc_active(), "not reentrant");
+ 
+@@ -3375,6 +3388,9 @@
+   // past the end of the partial object entering the region (if any).
+   HeapWord* const dest_addr = sd.partial_obj_end(dp_region);
+   HeapWord* const new_top = _space_info[space_id].new_top();
++#ifndef USDT2
++  HS_DTRACE_PROBE4(hotspot, gc__collection__move, &beg_addr, &end_addr, &dest_addr, &new_top);
++#endif /* !USDT2 */
+   assert(new_top >= dest_addr, "bad new_top value");
+   const size_t words = pointer_delta(new_top, dest_addr);
+ 
+diff -Nru openjdk.orig/hotspot/src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp openjdk/hotspot/src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp
+--- openjdk.orig/hotspot/src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp	2013-02-11 23:08:47.000000000 +0000
++++ openjdk/hotspot/src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp	2013-02-15 15:17:54.795682059 +0000
+@@ -51,8 +51,17 @@
+ #include "runtime/vmThread.hpp"
+ #include "runtime/vm_operations.hpp"
+ #include "services/memoryService.hpp"
++#include "utilities/dtrace.hpp"
+ #include "utilities/stack.inline.hpp"
+ 
++#ifndef USDT2
++  HS_DTRACE_PROBE_DECL2(provider, gc__collection__PSScavenge__begin, *uintptr_t, *uintptr_t);
++  HS_DTRACE_PROBE_DECL2(provider, gc__collection__PSScavenge__end, *uintptr_t, *uintptr_t);



More information about the distro-pkg-dev mailing list