Fri, 26 Jun 2015 17:08:14 +0200
8129950: Wrong condition for checking absence of logger in MethodHandleFactory
Reviewed-by: hannesw, lagergren
src/jdk/nashorn/internal/lookup/MethodHandleFactory.java | file | annotate | diff | comparison | revisions |
1.1 --- a/src/jdk/nashorn/internal/lookup/MethodHandleFactory.java Thu Jul 16 14:23:17 2015 -0700 1.2 +++ b/src/jdk/nashorn/internal/lookup/MethodHandleFactory.java Fri Jun 26 17:08:14 2015 +0200 1.3 @@ -131,8 +131,8 @@ 1.4 static Object traceReturn(final DebugLogger logger, final Object value) { 1.5 final String str = " return" + 1.6 (VOID_TAG.equals(value) ? 1.7 - ";" : 1.8 - " " + stripName(value) + "; // [type=" + (value == null ? "null]" : stripName(value.getClass()) + ']')); 1.9 + ";" : 1.10 + " " + stripName(value) + "; // [type=" + (value == null ? "null]" : stripName(value.getClass()) + ']')); 1.11 if (logger == null) { 1.12 err(str); 1.13 } else if (logger.isEnabled()) { 1.14 @@ -164,13 +164,13 @@ 1.15 } 1.16 1.17 sb.append('\''). 1.18 - append(stripName(argString(args[i]))). 1.19 - append('\''). 1.20 - append(' '). 1.21 - append('['). 1.22 - append("type="). 1.23 - append(args[i] == null ? "null" : stripName(args[i].getClass())). 1.24 - append(']'); 1.25 + append(stripName(argString(args[i]))). 1.26 + append('\''). 1.27 + append(' '). 1.28 + append('['). 1.29 + append("type="). 1.30 + append(args[i] == null ? "null" : stripName(args[i].getClass())). 1.31 + append(']'); 1.32 1.33 if (i + 1 < args.length) { 1.34 sb.append(", "); 1.35 @@ -216,8 +216,8 @@ 1.36 1.37 if (arg instanceof ScriptObject) { 1.38 return arg.toString() + 1.39 - " (map=" + Debug.id(((ScriptObject)arg).getMap()) + 1.40 - ')'; 1.41 + " (map=" + Debug.id(((ScriptObject)arg).getMap()) + 1.42 + ')'; 1.43 } 1.44 1.45 return arg.toString(); 1.46 @@ -262,7 +262,7 @@ 1.47 return addDebugPrintout(null, Level.OFF, mh, paramStart, printReturnValue, tag); 1.48 } 1.49 1.50 - /** 1.51 + /** 1.52 * Add a debug printout to a method handle, tracing parameters and return values 1.53 * 1.54 * @param logger a specific logger to which to write the output 1.55 @@ -278,7 +278,7 @@ 1.56 1.57 //if there is no logger, or if it's set to log only coarser events 1.58 //than the trace level, skip and return 1.59 - if (logger != null && logger.levelCoarserThan(level)) { 1.60 + if (logger == null || logger.levelCoarserThan(level)) { 1.61 return mh; 1.62 } 1.63 1.64 @@ -289,9 +289,9 @@ 1.65 trace = MethodHandles.foldArguments( 1.66 mh, 1.67 trace.asCollector( 1.68 - Object[].class, 1.69 - type.parameterCount()). 1.70 - asType(type.changeReturnType(void.class))); 1.71 + Object[].class, 1.72 + type.parameterCount()). 1.73 + asType(type.changeReturnType(void.class))); 1.74 1.75 final Class<?> retType = type.returnType(); 1.76 if (printReturnValue) { 1.77 @@ -299,7 +299,7 @@ 1.78 final MethodHandle traceReturn = MethodHandles.insertArguments(TRACE_RETURN, 0, logger); 1.79 trace = MethodHandles.filterReturnValue(trace, 1.80 traceReturn.asType( 1.81 - traceReturn.type().changeParameterType(0, retType).changeReturnType(retType))); 1.82 + traceReturn.type().changeParameterType(0, retType).changeReturnType(retType))); 1.83 } else { 1.84 trace = MethodHandles.filterReturnValue(trace, MethodHandles.insertArguments(TRACE_RETURN_VOID, 0, logger)); 1.85 } 1.86 @@ -355,9 +355,9 @@ 1.87 sb.append("] "); 1.88 } else { 1.89 sb.append(d) 1.90 - .append('{') 1.91 - .append(Integer.toHexString(System.identityHashCode(d))) 1.92 - .append('}'); 1.93 + .append('{') 1.94 + .append(Integer.toHexString(System.identityHashCode(d))) 1.95 + .append('}'); 1.96 } 1.97 1.98 if (i + 1 < data.length) {