/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