# HG changeset patch # User Doug Simon # Date 1385150976 -3600 # Node ID 124860fac4701f983e1d55c455145ad9ee493332 # Parent d511d688b7823a31eeaf26210718c4dc0fcb1e41# Parent 0267afb6816ba2978f3acece4f037092bd6ada9c Merge. diff -r 0267afb6816b -r 124860fac470 graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningUtil.java --- 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); diff -r 0267afb6816b -r 124860fac470 make/bsd/makefiles/jsig.make --- 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" diff -r 0267afb6816b -r 124860fac470 make/bsd/makefiles/saproc.make --- 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" diff -r 0267afb6816b -r 124860fac470 make/bsd/makefiles/vm.make --- 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" diff -r 0267afb6816b -r 124860fac470 make/linux/makefiles/jsig.make --- 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" diff -r 0267afb6816b -r 124860fac470 make/linux/makefiles/vm.make --- 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" diff -r 0267afb6816b -r 124860fac470 make/solaris/makefiles/jsig.make --- 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" diff -r 0267afb6816b -r 124860fac470 make/solaris/makefiles/vm.make --- 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" diff -r 0267afb6816b -r 124860fac470 src/cpu/sparc/vm/c2_globals_sparc.hpp --- 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); diff -r 0267afb6816b -r 124860fac470 src/cpu/x86/vm/c2_globals_x86.hpp --- 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);