changeset 13119:124860fac470

Merge.
author Doug Simon <doug.simon@oracle.com>
date Fri, 22 Nov 2013 21:09:36 +0100
parents d511d688b782 (diff) 0267afb6816b (current diff)
children 3adfe375b01b
files
diffstat 10 files changed, 20 insertions(+), 21 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningUtil.java	Fri Nov 22 20:14:25 2013 +0100
+++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningUtil.java	Fri Nov 22 21:09:36 2013 +0100
@@ -26,6 +26,7 @@
 import static com.oracle.graal.api.meta.DeoptimizationReason.*;
 import static com.oracle.graal.nodes.type.StampFactory.*;
 import static com.oracle.graal.phases.GraalOptions.*;
+import static java.lang.reflect.Modifier.*;
 
 import java.lang.reflect.*;
 import java.util.*;
@@ -434,6 +435,7 @@
             super(invoke);
             this.concrete = concrete;
             this.type = type;
+            assert !isAbstract(type.getModifiers()) : type;
         }
 
         @Override
@@ -1137,6 +1139,10 @@
             }
 
             ResolvedJavaType type = ptypes[0].getType();
+            if (isAbstract(type.getModifiers())) {
+                // In TieredCompilation mode, C1 can generate profiles containing abstract types
+                return null;
+            }
             ResolvedJavaMethod concrete = type.resolveMethod(targetMethod);
             if (!checkTargetConditions(data, replacements, invoke, concrete, optimisticOpts)) {
                 return null;
@@ -1207,6 +1213,9 @@
                 int index = concreteMethods.indexOf(concrete);
                 if (index == -1) {
                     notRecordedTypeProbability += type.getProbability();
+                } else if (isAbstract(type.getType().getModifiers())) {
+                    // In TieredCompilation mode, C1 can generate profiles containing abstract types
+                    notRecordedTypeProbability += type.getProbability();
                 } else {
                     usedTypes.add(type);
                     typesToConcretes.add(index);
--- a/make/bsd/makefiles/jsig.make	Fri Nov 22 20:14:25 2013 +0100
+++ b/make/bsd/makefiles/jsig.make	Fri Nov 22 21:09:36 2013 +0100
@@ -97,7 +97,7 @@
 	$(QUIETLY) test -f $(LIBJSIG_DEBUGINFO) && \
 	    cp -f $(LIBJSIG_DEBUGINFO) $(DEST_JSIG_DEBUGINFO)
 endif
-	-$(QUIETLY) test -f $(LIBJSIG_DIZ) && \
+	$(QUIETLY) test ! -f $(LIBJSIG_DIZ) || \
 	    cp -f $(LIBJSIG_DIZ) $(DEST_JSIG_DIZ)
 	$(QUIETLY) cp -f $(LIBJSIG) $(DEST_JSIG) && echo "Done"
 
--- a/make/bsd/makefiles/saproc.make	Fri Nov 22 20:14:25 2013 +0100
+++ b/make/bsd/makefiles/saproc.make	Fri Nov 22 21:09:36 2013 +0100
@@ -163,7 +163,7 @@
 	$(QUIETLY) test -f $(LIBSAPROC_DEBUGINFO) && \
 	    cp -f $(LIBSAPROC_DEBUGINFO) $(DEST_SAPROC_DEBUGINFO)
 endif
-	-$(QUIETLY) test -f $(LIBSAPROC_DIZ) && \
+	$(QUIETLY) test ! -f $(LIBSAPROC_DIZ) || \
 	    cp -f $(LIBSAPROC_DIZ) $(DEST_SAPROC_DIZ)
 	$(QUIETLY) cp -f $(LIBSAPROC) $(DEST_SAPROC) && echo "Done"
 
--- a/make/bsd/makefiles/vm.make	Fri Nov 22 20:14:25 2013 +0100
+++ b/make/bsd/makefiles/vm.make	Fri Nov 22 21:09:36 2013 +0100
@@ -393,7 +393,7 @@
 	$(QUIETLY) test -f $(LIBJVM_DEBUGINFO) && \
 	    cp -f $(LIBJVM_DEBUGINFO) $(DEST_JVM_DEBUGINFO)
 endif
-	-$(QUIETLY) test -f $(LIBJVM_DIZ) && \
+	$(QUIETLY) test ! -f $(LIBJVM_DIZ) || \
 	    cp -f $(LIBJVM_DIZ) $(DEST_JVM_DIZ)
 	$(QUIETLY) cp -f $(LIBJVM) $(DEST_JVM) && echo "Done"
 
--- a/make/linux/makefiles/jsig.make	Fri Nov 22 20:14:25 2013 +0100
+++ b/make/linux/makefiles/jsig.make	Fri Nov 22 21:09:36 2013 +0100
@@ -74,9 +74,9 @@
 
 install_jsig: $(LIBJSIG)
 	@echo "Copying $(LIBJSIG) to $(DEST_JSIG)"
-	-$(QUIETLY) test -f $(LIBJSIG_DEBUGINFO) && \
+	$(QUIETLY) test ! -f $(LIBJSIG_DEBUGINFO) || \
 	    cp -f $(LIBJSIG_DEBUGINFO) $(DEST_JSIG_DEBUGINFO)
-	-$(QUIETLY) test -f $(LIBJSIG_DIZ) && \
+	$(QUIETLY) test ! -f $(LIBJSIG_DIZ) || \
 	    cp -f $(LIBJSIG_DIZ) $(DEST_JSIG_DIZ)
 	$(QUIETLY) cp -f $(LIBJSIG) $(DEST_JSIG) && echo "Done"
 
--- a/make/linux/makefiles/vm.make	Fri Nov 22 20:14:25 2013 +0100
+++ b/make/linux/makefiles/vm.make	Fri Nov 22 21:09:36 2013 +0100
@@ -382,9 +382,9 @@
 
 install_jvm: $(LIBJVM)
 	@echo "Copying $(LIBJVM) to $(DEST_JVM)"
-	-$(QUIETLY) test -f $(LIBJVM_DEBUGINFO) && \
+	$(QUIETLY) test ! -f $(LIBJVM_DEBUGINFO) || \
 	    cp -f $(LIBJVM_DEBUGINFO) $(DEST_JVM_DEBUGINFO)
-	-$(QUIETLY) test -f $(LIBJVM_DIZ) && \
+	$(QUIETLY) test ! -f $(LIBJVM_DIZ) || \
 	    cp -f $(LIBJVM_DIZ) $(DEST_JVM_DIZ)
 	$(QUIETLY) cp -f $(LIBJVM) $(DEST_JVM) && echo "Done"
 
--- a/make/solaris/makefiles/jsig.make	Fri Nov 22 20:14:25 2013 +0100
+++ b/make/solaris/makefiles/jsig.make	Fri Nov 22 21:09:36 2013 +0100
@@ -79,9 +79,9 @@
 
 install_jsig: $(LIBJSIG)
 	@echo "Copying $(LIBJSIG) to $(DEST_JSIG)"
-	-$(QUIETLY) test -f $(LIBJSIG_DEBUGINFO) && \
+	$(QUIETLY) test ! -f $(LIBJSIG_DEBUGINFO) || \
 	    cp -f $(LIBJSIG_DEBUGINFO) $(DEST_JSIG_DEBUGINFO)
-	-$(QUIETLY) test -f $(LIBJSIG_DIZ) && \
+	$(QUIETLY) test ! -f $(LIBJSIG_DIZ) || \
 	    cp -f $(LIBJSIG_DIZ) $(DEST_JSIG_DIZ)
 	$(QUIETLY) cp -f $(LIBJSIG) $(DEST_JSIG) && echo "Done"
 
--- a/make/solaris/makefiles/vm.make	Fri Nov 22 20:14:25 2013 +0100
+++ b/make/solaris/makefiles/vm.make	Fri Nov 22 21:09:36 2013 +0100
@@ -343,9 +343,9 @@
 
 install_jvm: $(LIBJVM)
 	@echo "Copying $(LIBJVM) to $(DEST_JVM)"
-	-$(QUIETLY) test -f $(LIBJVM_DEBUGINFO) && \
+	$(QUIETLY) test ! -f $(LIBJVM_DEBUGINFO) || \
 	    cp -f $(LIBJVM_DEBUGINFO) $(DEST_JVM_DEBUGINFO)
-	-$(QUIETLY) test -f $(LIBJVM_DIZ) && \
+	$(QUIETLY) test ! -f $(LIBJVM_DIZ) || \
 	    cp -f $(LIBJVM_DIZ) $(DEST_JVM_DIZ)
 	$(QUIETLY) cp -f $(LIBJVM) $(DEST_JVM) && echo "Done"
 
--- a/src/cpu/sparc/vm/c2_globals_sparc.hpp	Fri Nov 22 20:14:25 2013 +0100
+++ b/src/cpu/sparc/vm/c2_globals_sparc.hpp	Fri Nov 22 21:09:36 2013 +0100
@@ -44,12 +44,7 @@
 #else
 define_pd_global(bool, ProfileInterpreter,           true);
 #endif // CC_INTERP
-// Disable TieredCompilation while profile data problems are not resolved - same thing in c2_globals_x86.hpp
-#ifdef GRAAL
-define_pd_global(bool, TieredCompilation,            false);
-#else
 define_pd_global(bool, TieredCompilation,            trueInTiered);
-#endif
 define_pd_global(intx, CompileThreshold,             10000);
 define_pd_global(intx, BackEdgeThreshold,            140000);
 
--- a/src/cpu/x86/vm/c2_globals_x86.hpp	Fri Nov 22 20:14:25 2013 +0100
+++ b/src/cpu/x86/vm/c2_globals_x86.hpp	Fri Nov 22 21:09:36 2013 +0100
@@ -45,12 +45,7 @@
 #else
 define_pd_global(bool, ProfileInterpreter,           true);
 #endif // CC_INTERP
-// Disable TieredCompilation while profile data problems are not resolved - same thing in c2_globals_sparc.hpp
-#ifdef GRAAL
-define_pd_global(bool, TieredCompilation,            false);
-#else
 define_pd_global(bool, TieredCompilation,            trueInTiered);
-#endif
 define_pd_global(intx, CompileThreshold,             10000);
 define_pd_global(intx, BackEdgeThreshold,            100000);