graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningUtil.java
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File GRAAL-213 Cdiff graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningUtil.java

graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningUtil.java

Print this page

        

*** 31,40 **** --- 31,41 ---- import com.oracle.graal.api.meta.*; import com.oracle.graal.api.meta.JavaTypeProfile.ProfiledType; import com.oracle.graal.api.meta.ResolvedJavaType.Representation; import com.oracle.graal.debug.*; import com.oracle.graal.graph.*; + import com.oracle.graal.hotspot.HotSpotGraalRuntime; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.calc.*; import com.oracle.graal.nodes.extended.*; import com.oracle.graal.nodes.java.*; import com.oracle.graal.nodes.java.MethodCallTargetNode.InvokeKind;
*** 71,87 **** void scanInvokes(Iterable<? extends Node> newNodes); boolean isWorthInlining(InlineInfo info); } ! public static boolean logNotInlinedMethod(InlineInfo info, String msg, Object... args) { logInliningDecision(info, false, msg, args); return false; } public static void logInliningDecision(InlineInfo info, boolean success, String msg, final Object... args) { if (shouldLogInliningDecision()) { logInliningDecision(methodName(info), success, msg, args); } } --- 72,130 ---- void scanInvokes(Iterable<? extends Node> newNodes); boolean isWorthInlining(InlineInfo info); } ! /** ! * Print a HotSpot-style inlining message to the console. ! */ ! private static void printInlining(final InlineInfo info, final boolean success, final String msg, final Object... args) { ! printInlining(info.methodAt(0), info.invoke(), success, msg, args); ! } ! ! /** ! * Print a HotSpot-style inlining message to the console. ! */ ! private static void printInlining(final ResolvedJavaMethod method, final Invoke invoke, final boolean success, final String msg, final Object... args) { ! if (GraalOptions.HotSpotPrintInlining) { ! final int mod = method.getModifiers(); ! // 1234567 ! TTY.print(" "); // print timestamp ! // 1234 ! TTY.print(" "); // print compilation number ! // % s ! b n ! TTY.print("%c%c%c%c%c ", ! ' ', ! Modifier.isSynchronized(mod) ? 's' : ' ', ! ' ', ! ' ', ! Modifier.isNative(mod) ? 'n' : ' '); ! TTY.print(" "); // more indent ! TTY.print(" "); // initial inlining indent ! final int level = computeInliningLevel(invoke); ! for (int i = 0; i < level; i++) { ! TTY.print(" "); ! } ! TTY.println(String.format("@ %d %s %s%s", ! invoke.bci(), methodName(method, null), ! success ? "" : "not inlining ", ! String.format(msg, args))); ! } ! } ! ! public static boolean logInlinedMethod(InlineInfo info, String msg, Object... args) { ! logInliningDecision(info, true, msg, args); ! return true; ! } + public static boolean logNotInlinedMethod(InlineInfo info, String msg, Object... args) { logInliningDecision(info, false, msg, args); return false; } public static void logInliningDecision(InlineInfo info, boolean success, String msg, final Object... args) { + printInlining(info, success, msg, args); if (shouldLogInliningDecision()) { logInliningDecision(methodName(info), success, msg, args); } }
*** 92,106 **** Debug.log(msg, args); } }); } - public static boolean logInlinedMethod(InlineInfo info, String string, Object... args) { - logInliningDecision(info, true, string, args); - return true; - } - private static boolean logNotInlinedMethodAndReturnFalse(Invoke invoke, String msg) { if (shouldLogInliningDecision()) { String methodString = invoke.toString() + (invoke.callTarget() == null ? " callTarget=null" : invoke.callTarget().targetName()); logInliningDecision(methodString, false, msg, new Object[0]); } --- 135,144 ----
*** 110,127 **** --- 148,167 ---- private static InlineInfo logNotInlinedMethodAndReturnNull(Invoke invoke, ResolvedJavaMethod method, String msg) { return logNotInlinedMethodAndReturnNull(invoke, method, msg, new Object[0]); } private static InlineInfo logNotInlinedMethodAndReturnNull(Invoke invoke, ResolvedJavaMethod method, String msg, Object... args) { + printInlining(method, invoke, false, msg, args); if (shouldLogInliningDecision()) { String methodString = methodName(method, invoke); logInliningDecision(methodString, false, msg, args); } return null; } private static boolean logNotInlinedMethodAndReturnFalse(Invoke invoke, ResolvedJavaMethod method, String msg) { + printInlining(method, invoke, false, msg, new Object[0]); if (shouldLogInliningDecision()) { String methodString = methodName(method, invoke); logInliningDecision(methodString, false, msg, new Object[0]); } return false;
graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningUtil.java
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File