/hg/icedtea: Fix Shark build breakages.
andrew at icedtea.classpath.org
andrew at icedtea.classpath.org
Thu Oct 29 07:56:06 PDT 2009
changeset 7100c9f14ffa in /hg/icedtea
details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=7100c9f14ffa
author: Andrew John Hughes <ahughes at redhat.com>
date: Thu Oct 29 15:00:12 2009 +0000
Fix Shark build breakages.
2009-10-28 Andrew John Hughes <ahughes at redhat.com>
Fix build failures with Shark.
* patches/icedtea-shark.patch: Removed, unused.
* patches/hotspot/default/icedtea-shark-build.patch: Derive
Shark IncludeDB from Zero not Core.
* patches/hotspot/default/icedtea-shark.patch: Regenerated.
* patches/icedtea-shark-build.patch: Fix naming of target with
new Zero patch.
diffstat:
5 files changed, 74 insertions(+), 427 deletions(-)
ChangeLog | 11
patches/hotspot/default/icedtea-shark-build.patch | 2
patches/hotspot/default/icedtea-shark.patch | 103 ++---
patches/icedtea-shark-build.patch | 19 -
patches/icedtea-shark.patch | 366 ---------------------
diffs (truncated from 664 to 500 lines):
diff -r 15bb2a9fc989 -r 7100c9f14ffa ChangeLog
--- a/ChangeLog Mon Oct 12 06:54:47 2009 -0400
+++ b/ChangeLog Thu Oct 29 15:00:12 2009 +0000
@@ -1,3 +1,14 @@ 2009-10-12 Gary Benson <gbenson at redhat
+2009-10-28 Andrew John Hughes <ahughes at redhat.com>
+
+ Fix build failures with Shark.
+ * patches/icedtea-shark.patch: Removed, unused.
+ * patches/hotspot/default/icedtea-shark-build.patch:
+ Derive Shark IncludeDB from Zero not Core.
+ * patches/hotspot/default/icedtea-shark.patch:
+ Regenerated.
+ * patches/icedtea-shark-build.patch:
+ Fix naming of target with new Zero patch.
+
2009-10-12 Gary Benson <gbenson at redhat.com>
* ports/hotspot/src/share/vm/shark/shark_globals.hpp:
diff -r 15bb2a9fc989 -r 7100c9f14ffa patches/hotspot/default/icedtea-shark-build.patch
--- a/patches/hotspot/default/icedtea-shark-build.patch Mon Oct 12 06:54:47 2009 -0400
+++ b/patches/hotspot/default/icedtea-shark-build.patch Thu Oct 29 15:00:12 2009 +0000
@@ -121,7 +121,7 @@ diff -Nru openjdk.orig/hotspot/make/linu
Include_DBs/COMPILER2 = $(Include_DBs/CORE) $(VM)/includeDB_compiler2
Include_DBs/TIERED = $(Include_DBs/CORE) $(VM)/includeDB_compiler1 $(VM)/includeDB_compiler2
Include_DBs/ZERO = $(Include_DBs/CORE) $(VM)/includeDB_zero
-+Include_DBs/SHARK = $(Include_DBs/CORE) $(VM)/includeDB_shark
++Include_DBs/SHARK = $(Include_DBs/ZERO) $(VM)/includeDB_shark
Include_DBs = $(Include_DBs/$(TYPE))
Cached_plat = $(GENERATED)/platform.current
diff -r 15bb2a9fc989 -r 7100c9f14ffa patches/hotspot/default/icedtea-shark.patch
--- a/patches/hotspot/default/icedtea-shark.patch Mon Oct 12 06:54:47 2009 -0400
+++ b/patches/hotspot/default/icedtea-shark.patch Thu Oct 29 15:00:12 2009 +0000
@@ -1,14 +1,14 @@ diff -Nru openjdk.orig/hotspot/src/share
diff -Nru openjdk.orig/hotspot/src/share/vm/ci/ciInstanceKlass.cpp openjdk/hotspot/src/share/vm/ci/ciInstanceKlass.cpp
---- openjdk.orig/hotspot/src/share/vm/ci/ciInstanceKlass.cpp 2009-03-30 17:15:27.000000000 +0100
-+++ openjdk/hotspot/src/share/vm/ci/ciInstanceKlass.cpp 2009-09-23 12:40:53.000000000 +0100
+--- openjdk.orig/hotspot/src/share/vm/ci/ciInstanceKlass.cpp 2009-10-21 12:46:24.000000000 +0100
++++ openjdk/hotspot/src/share/vm/ci/ciInstanceKlass.cpp 2009-10-29 13:19:18.000000000 +0000
@@ -548,3 +548,4 @@
}
return impl;
}
+
diff -Nru openjdk.orig/hotspot/src/share/vm/ci/ciInstanceKlass.hpp openjdk/hotspot/src/share/vm/ci/ciInstanceKlass.hpp
---- openjdk.orig/hotspot/src/share/vm/ci/ciInstanceKlass.hpp 2009-03-30 17:15:27.000000000 +0100
-+++ openjdk/hotspot/src/share/vm/ci/ciInstanceKlass.hpp 2009-09-23 12:40:53.000000000 +0100
+--- openjdk.orig/hotspot/src/share/vm/ci/ciInstanceKlass.hpp 2009-10-21 12:46:24.000000000 +0100
++++ openjdk/hotspot/src/share/vm/ci/ciInstanceKlass.hpp 2009-10-29 13:19:18.000000000 +0000
@@ -198,4 +198,5 @@
// What kind of ciObject is this?
bool is_instance_klass() { return true; }
@@ -16,8 +16,8 @@ diff -Nru openjdk.orig/hotspot/src/share
+
};
diff -Nru openjdk.orig/hotspot/src/share/vm/ci/ciMethod.cpp openjdk/hotspot/src/share/vm/ci/ciMethod.cpp
---- openjdk.orig/hotspot/src/share/vm/ci/ciMethod.cpp 2009-06-30 14:25:09.000000000 +0100
-+++ openjdk/hotspot/src/share/vm/ci/ciMethod.cpp 2009-09-23 12:40:53.000000000 +0100
+--- openjdk.orig/hotspot/src/share/vm/ci/ciMethod.cpp 2009-10-21 12:46:24.000000000 +0100
++++ openjdk/hotspot/src/share/vm/ci/ciMethod.cpp 2009-10-29 13:19:18.000000000 +0000
@@ -56,9 +56,9 @@
_liveness = NULL;
_bcea = NULL;
@@ -103,8 +103,8 @@ diff -Nru openjdk.orig/hotspot/src/share
// ------------------------------------------------------------------
diff -Nru openjdk.orig/hotspot/src/share/vm/ci/ciMethod.hpp openjdk/hotspot/src/share/vm/ci/ciMethod.hpp
---- openjdk.orig/hotspot/src/share/vm/ci/ciMethod.hpp 2009-05-08 17:40:25.000000000 +0100
-+++ openjdk/hotspot/src/share/vm/ci/ciMethod.hpp 2009-09-23 12:40:53.000000000 +0100
+--- openjdk.orig/hotspot/src/share/vm/ci/ciMethod.hpp 2009-10-21 12:46:24.000000000 +0100
++++ openjdk/hotspot/src/share/vm/ci/ciMethod.hpp 2009-10-29 13:19:18.000000000 +0000
@@ -69,7 +69,7 @@
// Optional liveness analyzer.
@@ -124,23 +124,9 @@ diff -Nru openjdk.orig/hotspot/src/share
address native_entry();
address interpreter_entry();
-diff -r 0d80af392e67 openjdk/hotspot/src/share/vm/code/nmethod.cpp
---- openjdk/hotspot/src/share/vm/code/nmethod.cpp Thu Jul 30 10:00:04 2009 +0100
-+++ openjdk/hotspot/src/share/vm/code/nmethod.cpp Fri Jul 31 15:39:43 2009 +0100
-@@ -1296,6 +1296,10 @@
- ec = next;
- }
-
-+#ifdef SHARK
-+ ((SharkCompiler *) compiler())->free_compiled_method(instructions_begin());
-+#endif // SHARK
-+
- ((CodeBlob*)(this))->flush();
-
- CodeCache::free(this);
diff -Nru openjdk.orig/hotspot/src/share/vm/code/nmethod.cpp openjdk/hotspot/src/share/vm/code/nmethod.cpp
---- openjdk.orig/hotspot/src/share/vm/code/nmethod.cpp 2009-09-21 17:12:24.000000000 +0100
-+++ openjdk/hotspot/src/share/vm/code/nmethod.cpp 2009-09-23 12:40:53.000000000 +0100
+--- openjdk.orig/hotspot/src/share/vm/code/nmethod.cpp 2009-10-21 12:46:24.000000000 +0100
++++ openjdk/hotspot/src/share/vm/code/nmethod.cpp 2009-10-29 13:19:18.000000000 +0000
@@ -65,6 +65,11 @@
assert(compiler() != NULL, "must be");
return compiler()->is_c2();
@@ -153,7 +139,18 @@ diff -Nru openjdk.orig/hotspot/src/share
-@@ -1588,6 +1593,7 @@
+@@ -1321,6 +1326,10 @@
+ CodeCache::drop_scavenge_root_nmethod(this);
+ }
+
++#ifdef SHARK
++ ((SharkCompiler *) compiler())->free_compiled_method(instructions_begin());
++#endif // SHARK
++
+ ((CodeBlob*)(this))->flush();
+
+ CodeCache::free(this);
+@@ -1712,6 +1721,7 @@
// Method that knows how to preserve outgoing arguments at call. This method must be
// called with a frame corresponding to a Java invoke
void nmethod::preserve_callee_argument_oops(frame fr, const RegisterMap *reg_map, OopClosure* f) {
@@ -161,7 +158,7 @@ diff -Nru openjdk.orig/hotspot/src/share
if (!method()->is_native()) {
SimpleScopeDesc ssd(this, fr.pc());
Bytecode_invoke* call = Bytecode_invoke_at(ssd.method(), ssd.bci());
-@@ -1595,6 +1601,7 @@
+@@ -1719,6 +1729,7 @@
symbolOop signature = call->signature();
fr.oops_compiled_arguments_do(signature, is_static, reg_map, f);
}
@@ -169,7 +166,7 @@ diff -Nru openjdk.orig/hotspot/src/share
}
-@@ -2024,6 +2031,8 @@
+@@ -2186,6 +2197,8 @@
tty->print("(c1) ");
} else if (is_compiled_by_c2()) {
tty->print("(c2) ");
@@ -179,9 +176,9 @@ diff -Nru openjdk.orig/hotspot/src/share
tty->print("(nm) ");
}
diff -Nru openjdk.orig/hotspot/src/share/vm/code/nmethod.hpp openjdk/hotspot/src/share/vm/code/nmethod.hpp
---- openjdk.orig/hotspot/src/share/vm/code/nmethod.hpp 2009-09-21 17:12:24.000000000 +0100
-+++ openjdk/hotspot/src/share/vm/code/nmethod.hpp 2009-09-23 12:40:53.000000000 +0100
-@@ -317,6 +317,7 @@
+--- openjdk.orig/hotspot/src/share/vm/code/nmethod.hpp 2009-10-21 12:46:24.000000000 +0100
++++ openjdk/hotspot/src/share/vm/code/nmethod.hpp 2009-10-29 13:19:18.000000000 +0000
+@@ -324,6 +324,7 @@
bool is_compiled_by_c1() const;
bool is_compiled_by_c2() const;
@@ -190,8 +187,8 @@ diff -Nru openjdk.orig/hotspot/src/share
// boundaries for different parts
address code_begin () const { return _entry_point; }
diff -Nru openjdk.orig/hotspot/src/share/vm/compiler/abstractCompiler.hpp openjdk/hotspot/src/share/vm/compiler/abstractCompiler.hpp
---- openjdk.orig/hotspot/src/share/vm/compiler/abstractCompiler.hpp 2009-03-30 17:15:27.000000000 +0100
-+++ openjdk/hotspot/src/share/vm/compiler/abstractCompiler.hpp 2009-09-23 12:40:53.000000000 +0100
+--- openjdk.orig/hotspot/src/share/vm/compiler/abstractCompiler.hpp 2009-10-21 12:46:24.000000000 +0100
++++ openjdk/hotspot/src/share/vm/compiler/abstractCompiler.hpp 2009-10-29 13:19:18.000000000 +0000
@@ -45,18 +45,26 @@
// Missing feature tests
virtual bool supports_native() { return true; }
@@ -221,8 +218,8 @@ diff -Nru openjdk.orig/hotspot/src/share
// Customization
diff -Nru openjdk.orig/hotspot/src/share/vm/compiler/compileBroker.cpp openjdk/hotspot/src/share/vm/compiler/compileBroker.cpp
---- openjdk.orig/hotspot/src/share/vm/compiler/compileBroker.cpp 2009-08-06 13:19:29.000000000 +0100
-+++ openjdk/hotspot/src/share/vm/compiler/compileBroker.cpp 2009-09-23 12:40:53.000000000 +0100
+--- openjdk.orig/hotspot/src/share/vm/compiler/compileBroker.cpp 2009-10-21 12:46:24.000000000 +0100
++++ openjdk/hotspot/src/share/vm/compiler/compileBroker.cpp 2009-10-29 13:19:18.000000000 +0000
@@ -554,6 +554,14 @@
#endif
#endif // COMPILER2
@@ -239,8 +236,8 @@ diff -Nru openjdk.orig/hotspot/src/share
_task_free_list = NULL;
diff -Nru openjdk.orig/hotspot/src/share/vm/memory/cardTableModRefBS.hpp openjdk/hotspot/src/share/vm/memory/cardTableModRefBS.hpp
---- openjdk.orig/hotspot/src/share/vm/memory/cardTableModRefBS.hpp 2009-09-21 17:12:26.000000000 +0100
-+++ openjdk/hotspot/src/share/vm/memory/cardTableModRefBS.hpp 2009-09-23 12:40:53.000000000 +0100
+--- openjdk.orig/hotspot/src/share/vm/memory/cardTableModRefBS.hpp 2009-10-21 12:46:24.000000000 +0100
++++ openjdk/hotspot/src/share/vm/memory/cardTableModRefBS.hpp 2009-10-29 13:19:18.000000000 +0000
@@ -44,6 +44,7 @@
friend class VMStructs;
friend class CardTableRS;
@@ -250,8 +247,8 @@ diff -Nru openjdk.orig/hotspot/src/share
// For debugging.
friend class GuaranteeNotModClosure;
diff -Nru openjdk.orig/hotspot/src/share/vm/oops/methodOop.cpp openjdk/hotspot/src/share/vm/oops/methodOop.cpp
---- openjdk.orig/hotspot/src/share/vm/oops/methodOop.cpp 2009-08-06 13:19:32.000000000 +0100
-+++ openjdk/hotspot/src/share/vm/oops/methodOop.cpp 2009-09-23 12:40:53.000000000 +0100
+--- openjdk.orig/hotspot/src/share/vm/oops/methodOop.cpp 2009-10-21 12:46:24.000000000 +0100
++++ openjdk/hotspot/src/share/vm/oops/methodOop.cpp 2009-10-29 13:19:18.000000000 +0000
@@ -738,10 +738,14 @@
}
@@ -268,8 +265,8 @@ diff -Nru openjdk.orig/hotspot/src/share
}
diff -Nru openjdk.orig/hotspot/src/share/vm/runtime/deoptimization.cpp openjdk/hotspot/src/share/vm/runtime/deoptimization.cpp
---- openjdk.orig/hotspot/src/share/vm/runtime/deoptimization.cpp 2009-08-06 13:19:34.000000000 +0100
-+++ openjdk/hotspot/src/share/vm/runtime/deoptimization.cpp 2009-09-23 12:40:53.000000000 +0100
+--- openjdk.orig/hotspot/src/share/vm/runtime/deoptimization.cpp 2009-10-21 12:46:24.000000000 +0100
++++ openjdk/hotspot/src/share/vm/runtime/deoptimization.cpp 2009-10-29 13:19:18.000000000 +0000
@@ -229,6 +229,7 @@
}
@@ -345,8 +342,8 @@ diff -Nru openjdk.orig/hotspot/src/share
-#endif // COMPILER2
+#endif // COMPILER2 || SHARK
diff -Nru openjdk.orig/hotspot/src/share/vm/runtime/globals.cpp openjdk/hotspot/src/share/vm/runtime/globals.cpp
---- openjdk.orig/hotspot/src/share/vm/runtime/globals.cpp 2009-03-30 17:15:28.000000000 +0100
-+++ openjdk/hotspot/src/share/vm/runtime/globals.cpp 2009-09-23 12:40:53.000000000 +0100
+--- openjdk.orig/hotspot/src/share/vm/runtime/globals.cpp 2009-10-21 12:46:24.000000000 +0100
++++ openjdk/hotspot/src/share/vm/runtime/globals.cpp 2009-10-29 13:19:18.000000000 +0000
@@ -176,6 +176,18 @@
#define C2_NOTPRODUCT_FLAG_STRUCT(type, name, value, doc) { #type, XSTR(name), &name, "{C2 notproduct}", DEFAULT },
#endif
@@ -377,8 +374,8 @@ diff -Nru openjdk.orig/hotspot/src/share
};
diff -Nru openjdk.orig/hotspot/src/share/vm/runtime/globals.hpp openjdk/hotspot/src/share/vm/runtime/globals.hpp
---- openjdk.orig/hotspot/src/share/vm/runtime/globals.hpp 2009-09-23 12:25:43.000000000 +0100
-+++ openjdk/hotspot/src/share/vm/runtime/globals.hpp 2009-09-23 12:40:53.000000000 +0100
+--- openjdk.orig/hotspot/src/share/vm/runtime/globals.hpp 2009-10-29 13:15:51.000000000 +0000
++++ openjdk/hotspot/src/share/vm/runtime/globals.hpp 2009-10-29 13:19:18.000000000 +0000
@@ -22,7 +22,7 @@
*
*/
@@ -389,18 +386,22 @@ diff -Nru openjdk.orig/hotspot/src/share
define_pd_global(bool, UseTLAB, false);
define_pd_global(bool, CICompileOSR, false);
diff -Nru openjdk.orig/hotspot/src/share/vm/runtime/vm_version.cpp openjdk/hotspot/src/share/vm/runtime/vm_version.cpp
---- openjdk.orig/hotspot/src/share/vm/runtime/vm_version.cpp 2009-09-22 20:05:25.000000000 +0100
-+++ openjdk/hotspot/src/share/vm/runtime/vm_version.cpp 2009-09-23 12:42:19.000000000 +0100
-@@ -97,8 +97,12 @@
+--- openjdk.orig/hotspot/src/share/vm/runtime/vm_version.cpp 2009-10-21 12:46:24.000000000 +0100
++++ openjdk/hotspot/src/share/vm/runtime/vm_version.cpp 2009-10-29 13:20:39.000000000 +0000
+@@ -94,12 +94,16 @@
+ #ifdef TIERED
+ #define VMTYPE "Server"
+ #else // TIERED
++#ifdef SHARK
++ #define VMTYPE "Shark"
++#else
#ifdef ZERO
#define VMTYPE "Zero"
#else // ZERO
-+#ifdef SHARK
-+ #define VMTYPE "Shark"
-+#else // SHARK
#define VMTYPE COMPILER1_PRESENT("Client") \
COMPILER2_PRESENT("Server")
-+#endif // SHARK
#endif // ZERO
++#endif // SHARK
#endif // TIERED
#endif // KERNEL
+
diff -r 15bb2a9fc989 -r 7100c9f14ffa patches/icedtea-shark-build.patch
--- a/patches/icedtea-shark-build.patch Mon Oct 12 06:54:47 2009 -0400
+++ b/patches/icedtea-shark-build.patch Thu Oct 29 15:00:12 2009 +0000
@@ -1,6 +1,6 @@ diff -Nru openjdk.orig/jdk/make/java/red
diff -Nru openjdk.orig/jdk/make/java/redist/Makefile openjdk/jdk/make/java/redist/Makefile
---- openjdk.orig/jdk/make/java/redist/Makefile 2009-09-22 20:24:29.000000000 +0100
-+++ openjdk/jdk/make/java/redist/Makefile 2009-09-23 12:02:13.000000000 +0100
+--- openjdk.orig/jdk/make/java/redist/Makefile 2009-10-26 21:42:20.000000000 +0000
++++ openjdk/jdk/make/java/redist/Makefile 2009-10-29 11:53:21.000000000 +0000
@@ -96,11 +96,13 @@
# Hotspot client is only available on 32-bit non-Zero builds
@@ -33,15 +33,16 @@ diff -Nru openjdk.orig/jdk/make/java/red
# NOT Windows ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ NOT Windows
diff -Nru openjdk.orig/make/hotspot-rules.gmk openjdk/make/hotspot-rules.gmk
---- openjdk.orig/make/hotspot-rules.gmk 2009-09-22 21:17:14.000000000 +0100
-+++ openjdk/make/hotspot-rules.gmk 2009-09-23 12:01:14.000000000 +0100
-@@ -75,6 +75,9 @@
+--- openjdk.orig/make/hotspot-rules.gmk 2009-10-29 11:51:56.000000000 +0000
++++ openjdk/make/hotspot-rules.gmk 2009-10-29 11:52:56.000000000 +0000
+@@ -74,6 +74,10 @@
+
ifeq ($(ZERO_BUILD), true)
HOTSPOT_TARGET := $(HOTSPOT_TARGET)zero
++else
++ifdef ICEDTEA_SHARK_BUILD
++ HOTSPOT_TARGET := $(HOTSPOT_TARGET)shark
++endif
endif
-+ifdef ICEDTEA_SHARK_BUILD
-+ HOTSPOT_TARGET := $(HOTSPOT_TARGET)shark
-+endif
HOTSPOT_BUILD_ARGUMENTS += $(COMMON_BUILD_ARGUMENTS)
- HOTSPOT_BUILD_ARGUMENTS += ALT_OUTPUTDIR=$(HOTSPOT_OUTPUTDIR)
diff -r 15bb2a9fc989 -r 7100c9f14ffa patches/icedtea-shark.patch
--- a/patches/icedtea-shark.patch Mon Oct 12 06:54:47 2009 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,366 +0,0 @@
---- openjdk/hotspot/src/share/vm/oops/methodOop.cpp.orig 2008-11-22 00:11:18.000000000 +0000
-+++ openjdk/hotspot/src/share/vm/oops/methodOop.cpp 2008-12-03 14:33:48.000000000 +0000
-@@ -727,10 +727,14 @@
- }
-
- OrderAccess::storestore();
-+#ifdef SHARK
-+ mh->_from_interpreted_entry = code->instructions_begin();
-+#else
- mh->_from_compiled_entry = code->verified_entry_point();
- OrderAccess::storestore();
- // Instantly compiled code can execute.
- mh->_from_interpreted_entry = mh->get_i2c_entry();
-+#endif // SHARK
-
- }
-
---- openjdk/hotspot/src/share/vm/memory/cardTableModRefBS.hpp.orig 2008-11-22 00:11:18.000000000 +0000
-+++ openjdk/hotspot/src/share/vm/memory/cardTableModRefBS.hpp 2008-12-03 14:33:48.000000000 +0000
-@@ -44,6 +44,7 @@
- friend class VMStructs;
- friend class CardTableRS;
- friend class CheckForUnmarkedOops; // Needs access to raw card bytes.
-+ friend class SharkBuilder;
- #ifndef PRODUCT
- // For debugging.
- friend class GuaranteeNotModClosure;
---- openjdk/hotspot/src/share/vm/runtime/globals.cpp.orig 2008-11-22 00:11:18.000000000 +0000
-+++ openjdk/hotspot/src/share/vm/runtime/globals.cpp 2008-12-03 14:33:48.000000000 +0000
-@@ -176,6 +176,18 @@
- #define C2_NOTPRODUCT_FLAG_STRUCT(type, name, value, doc) { #type, XSTR(name), &name, "{C2 notproduct}", DEFAULT },
- #endif
-
-+#define SHARK_PRODUCT_FLAG_STRUCT(type, name, value, doc) { #type, XSTR(name), &name, "{Shark product}", DEFAULT },
-+#define SHARK_PD_PRODUCT_FLAG_STRUCT(type, name, doc) { #type, XSTR(name), &name, "{Shark pd product}", DEFAULT },
-+#define SHARK_DIAGNOSTIC_FLAG_STRUCT(type, name, value, doc) { #type, XSTR(name), &name, "{Shark diagnostic}", DEFAULT },
-+#ifdef PRODUCT
-+ #define SHARK_DEVELOP_FLAG_STRUCT(type, name, value, doc) /* flag is constant */
-+ #define SHARK_PD_DEVELOP_FLAG_STRUCT(type, name, doc) /* flag is constant */
-+ #define SHARK_NOTPRODUCT_FLAG_STRUCT(type, name, value, doc)
-+#else
-+ #define SHARK_DEVELOP_FLAG_STRUCT(type, name, value, doc) { #type, XSTR(name), &name, "{Shark}", DEFAULT },
-+ #define SHARK_PD_DEVELOP_FLAG_STRUCT(type, name, doc) { #type, XSTR(name), &name, "{Shark pd}", DEFAULT },
-+ #define SHARK_NOTPRODUCT_FLAG_STRUCT(type, name, value, doc) { #type, XSTR(name), &name, "{Shark notproduct}", DEFAULT },
-+#endif
-
- static Flag flagTable[] = {
- RUNTIME_FLAGS(RUNTIME_DEVELOP_FLAG_STRUCT, RUNTIME_PD_DEVELOP_FLAG_STRUCT, RUNTIME_PRODUCT_FLAG_STRUCT, RUNTIME_PD_PRODUCT_FLAG_STRUCT, RUNTIME_DIAGNOSTIC_FLAG_STRUCT, RUNTIME_EXPERIMENTAL_FLAG_STRUCT, RUNTIME_NOTPRODUCT_FLAG_STRUCT, RUNTIME_MANAGEABLE_FLAG_STRUCT, RUNTIME_PRODUCT_RW_FLAG_STRUCT, RUNTIME_LP64_PRODUCT_FLAG_STRUCT)
-@@ -189,6 +201,9 @@
- #ifdef COMPILER2
- C2_FLAGS(C2_DEVELOP_FLAG_STRUCT, C2_PD_DEVELOP_FLAG_STRUCT, C2_PRODUCT_FLAG_STRUCT, C2_PD_PRODUCT_FLAG_STRUCT, C2_DIAGNOSTIC_FLAG_STRUCT, C2_NOTPRODUCT_FLAG_STRUCT)
- #endif
-+#ifdef SHARK
-+ SHARK_FLAGS(SHARK_DEVELOP_FLAG_STRUCT, SHARK_PD_DEVELOP_FLAG_STRUCT, SHARK_PRODUCT_FLAG_STRUCT, SHARK_PD_PRODUCT_FLAG_STRUCT, SHARK_DIAGNOSTIC_FLAG_STRUCT, SHARK_NOTPRODUCT_FLAG_STRUCT)
-+#endif
- {0, NULL, NULL}
- };
-
---- openjdk/hotspot/src/share/vm/runtime/vframeArray.cpp.orig 2008-11-22 00:11:18.000000000 +0000
-+++ openjdk/hotspot/src/share/vm/runtime/vframeArray.cpp 2008-12-03 14:33:49.000000000 +0000
-@@ -64,6 +64,11 @@
- assert(monitor->owner() == NULL || (!monitor->owner()->is_unlocked() && !monitor->owner()->has_bias_pattern()), "object must be null or locked, and unbiased");
- BasicObjectLock* dest = _monitors->at(index);
- dest->set_obj(monitor->owner());
-+#ifdef SHARK
-+ // XXX This can be removed when Shark knows
-+ // which monitors are in use.
-+ if (monitor->owner())
-+#endif // SHARK
- monitor->lock()->move_to(monitor->owner(), dest->lock());
- }
- }
-@@ -262,6 +267,11 @@
- top = iframe()->previous_monitor_in_interpreter_frame(top);
- BasicObjectLock* src = _monitors->at(index);
- top->set_obj(src->obj());
-+#ifdef SHARK
-+ // XXX This can be removed when Shark knows
-+ // which monitors are in use.
-+ if (src->obj())
-+#endif // SHARK
- src->lock()->move_to(src->obj(), top->lock());
- }
- if (ProfileInterpreter) {
---- openjdk/hotspot/src/share/vm/runtime/vm_version.cpp.orig 2008-12-03 14:23:37.000000000 +0000
-+++ openjdk/hotspot/src/share/vm/runtime/vm_version.cpp 2008-12-03 14:33:48.000000000 +0000
-@@ -94,12 +94,16 @@
- #ifdef TIERED
- #define VMTYPE "Server"
- #else
-+#ifdef SHARK
-+ #define VMTYPE "Shark"
-+#else
- #if defined(COMPILER1) || defined(COMPILER2)
-- #define VMTYPE COMPILER1_PRESENT("Client") \
-- COMPILER2_PRESENT("Server")
-+ #define VMTYPE COMPILER1_PRESENT("Client") \
-+ COMPILER2_PRESENT("Server")
- #else
- #define VMTYPE "Core"
- #endif // COMPILER1 || COMPILER2
-+#endif // SHARK
- #endif // TIERED
- #endif // KERNEL
-
---- openjdk/hotspot/src/share/vm/runtime/deoptimization.cpp.orig 2008-11-22 00:11:18.000000000 +0000
-+++ openjdk/hotspot/src/share/vm/runtime/deoptimization.cpp 2008-12-03 14:33:48.000000000 +0000
-@@ -229,6 +229,7 @@
-
- }
-
-+#ifndef SHARK
- // Compute the caller frame based on the sender sp of stub_frame and stored frame sizes info.
- CodeBlob* cb = stub_frame.cb();
- // Verify we have the right vframeArray
-@@ -239,6 +240,10 @@
- assert(cb->is_deoptimization_stub() || cb->is_uncommon_trap_stub(), "just checking");
- Events::log("fetch unroll sp " INTPTR_FORMAT, unpack_sp);
- #endif
-+#else
-+ intptr_t* unpack_sp = stub_frame.sender(&dummy_map).unextended_sp();
-+#endif // !SHARK
-+
- // This is a guarantee instead of an assert because if vframe doesn't match
- // we will unpack the wrong deoptimized frame and wind up in strange places
- // where it will be very difficult to figure out what went wrong. Better
-@@ -349,7 +354,9 @@
-
- frame_pcs[0] = deopt_sender.raw_pc();
-
-+#ifndef SHARK
- assert(CodeCache::find_blob_unsafe(frame_pcs[0]) != NULL, "bad pc");
-+#endif // SHARK
-
- UnrollBlock* info = new UnrollBlock(array->frame_size() * BytesPerWord,
- caller_adjustment * BytesPerWord,
-@@ -890,7 +897,20 @@
- // stuff a C2I adapter we can properly fill in the callee-save
- // register locations.
- frame caller = fr.sender(reg_map);
-+#ifdef ZERO
-+ int frame_size;
-+ {
-+ // In zero, frame::sp() is the *end* of the frame, so
-+ // caller.sp() - fr.sp() is the size of the *caller*.
-+ RegisterMap dummy_map(thread, false);
-+ frame frame_1 = thread->last_frame();
-+ frame frame_2 = frame_1.sender(&dummy_map);
-+ assert(frame_2.sp() == fr.sp(), "should be");
-+ frame_size = frame_2.sp() - frame_1.sp();
-+ }
-+#else
- int frame_size = caller.sp() - fr.sp();
-+#endif // ZERO
-
- frame sender = caller;
-
-@@ -1057,7 +1077,7 @@
- JRT_END
-
-
--#ifdef COMPILER2
-+#if defined(COMPILER2) || defined(SHARK)
- void Deoptimization::load_class_by_index(constantPoolHandle constant_pool, int index, TRAPS) {
- // in case of an unresolved klass entry, load the class.
- if (constant_pool->tag_at(index).is_unresolved_klass()) {
-@@ -1808,7 +1828,7 @@
- if (xtty != NULL) xtty->tail("statistics");
- }
- }
--#else // COMPILER2
-+#else // COMPILER2 || SHARK
-
-
- // Stubs for C1 only system.
-@@ -1844,4 +1864,4 @@
- return buf;
- }
-
--#endif // COMPILER2
-+#endif // COMPILER2 || SHARK
---- openjdk/hotspot/src/share/vm/runtime/globals.hpp.orig 2008-12-03 14:22:17.000000000 +0000
-+++ openjdk/hotspot/src/share/vm/runtime/globals.hpp 2008-12-03 14:33:48.000000000 +0000
-@@ -22,7 +22,7 @@
- *
- */
-
--#if !defined(COMPILER1) && !defined(COMPILER2)
-+#if !defined(COMPILER1) && !defined(COMPILER2) && !defined(SHARK)
- define_pd_global(bool, BackgroundCompilation, false);
- define_pd_global(bool, UseTLAB, false);
- define_pd_global(bool, CICompileOSR, false);
---- openjdk/hotspot/src/share/vm/code/nmethod.hpp.orig 2008-11-22 00:11:18.000000000 +0000
-+++ openjdk/hotspot/src/share/vm/code/nmethod.hpp 2008-12-03 14:33:48.000000000 +0000
-@@ -318,6 +318,7 @@
-
- bool is_compiled_by_c1() const;
- bool is_compiled_by_c2() const;
-+ bool is_compiled_by_shark() const;
-
- // boundaries for different parts
- address code_begin () const { return _entry_point; }
More information about the distro-pkg-dev
mailing list