changeset 45:e1e5d3b941ad

Debug code out
author Gary Benson <gbenson@redhat.com>
date Fri, 01 Apr 2011 11:01:24 +0100
parents 0ca449acee7d
children 787dca9a8107
files Makefile test/java/dyn/MethodHandlePrinter.java test/java/dyn/MethodHandlesTest.java
diffstat 3 files changed, 9 insertions(+), 102 deletions(-) [+]
line wrap: on
line diff
--- a/Makefile	Mon Mar 28 15:21:39 2011 +0100
+++ b/Makefile	Fri Apr 01 11:01:24 2011 +0100
@@ -26,18 +26,22 @@
 TESTVM = hotspot/build/linux/jdk-linux-zero/debug/bin/java
 
 test/java/dyn/%.class: test/java/dyn/%.java
-	$(JAVADIR)/bin/javac -d . -cp $(JUNITJAR):. $<
+	$(JAVADIR)/bin/javac -d . -cp $(JUNITJAR) $<
 
-UNITTESTCLASSES = test/java/dyn/MethodHandlePrinter.class test/java/dyn/MethodHandlesTest.class
+UNITTESTCLASSES = \
+	test/java/dyn/InvokeGenericTest.class \
+	test/java/dyn/JavaDocExamplesTest.class \
+	test/java/dyn/MethodHandlesTest.class \
+	test/java/dyn/ClassValueTest.class
 
-unittest: $(UNITTESTCLASSES)
+unittest: $(TESTTARGET) $(UNITTESTCLASSES)
 	$(TESTVM) \
 	  -XX:+UnlockExperimentalVMOptions \
 	  -XX:+EnableMethodHandles \
 	  -XX:+EnableInvokeDynamic \
 	  -Dtest.java.dyn.MethodHandlesTest.verbosity=0 \
 	  -cp $(JUNITJAR):. org.junit.runner.JUnitCore \
-	  test.java.dyn.MethodHandlesTest
+	  $(subst .class,,$(subst /,.,$(UNITTESTCLASSES)))
 
 SMOKETESTCLASSES = \
 	test/java/dyn/InvokeDynamicPrintArgs.class \
@@ -53,6 +57,6 @@
           --expand-properties \
           --java InvokeDynamicPrintArgs --check-output
 
-test: unittest
+test: unittest smoketest
 
 .PHONY: default $(TARGETS) build clean patch test
--- a/test/java/dyn/MethodHandlePrinter.java	Mon Mar 28 15:21:39 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,88 +0,0 @@
-package test.java.dyn;
-
-import java.dyn.MethodHandle;
-import java.lang.reflect.Field;
-
-public class MethodHandlePrinter {
-    static void print(MethodHandle mh) {
-        StringBuilder builder = new StringBuilder();
-        formatObject(builder, mh, "");
-        System.out.println(builder.toString());
-    }
-
-    private static void formatObject(StringBuilder builder,
-                                     Object obj,
-                                     String indent) {
-        Class klass = obj.getClass();
-        builder.append(indent);
-        builder.append(klass.getName());
-        builder.append(" {\n");
-        Object vmtarget = formatFields(builder, obj, klass, indent + "  ");
-        builder.append(indent);
-        builder.append("}");
-        if (vmtarget instanceof MethodHandle) {
-            builder.append(", ");
-            formatObject(builder, vmtarget, indent);
-        }
-    }
-
-    private static Object formatFields(StringBuilder builder,
-                                       Object obj,
-                                       Class klass,
-                                       String indent) {
-        Object vmtarget = null;
-
-        Class parent = klass.getSuperclass();
-        if (parent != Object.class) {
-            Object result = formatFields(builder, obj, parent, indent);
-            if (result != null) {
-                if (vmtarget != null)
-                    throw new RuntimeException();
-                vmtarget = result;
-            }
-            builder.append("\n");
-        }
-        
-        builder.append(indent);
-        builder.append(klass.getName());
-        builder.append(":\n");
-
-        for (Field field: klass.getDeclaredFields()) {
-            String name = field.getName();
-            Object value;
-            try {
-                if (!field.isAccessible())
-                    field.setAccessible(true);
-                value = field.get(obj);
-            }
-            catch (Exception e) {
-                throw new RuntimeException(e);
-            }
-
-            if (name.equals("vmtarget")) {
-                if (vmtarget != null)
-                    throw new RuntimeException();
-                vmtarget = value;
-            }
-
-            Class type = field.getType();
-            String typeName = type.getName();
-
-            builder.append(indent);
-            builder.append(typeName);
-            builder.append(' ');
-            builder.append(name);
-            builder.append(" = ");
-            try {
-                builder.append(value);
-            }
-            catch (NullPointerException e) {
-                builder.append("???");
-            }
-
-            builder.append('\n');
-
-        }
-        return vmtarget;
-    }
-}
--- a/test/java/dyn/MethodHandlesTest.java	Mon Mar 28 15:21:39 2011 +0100
+++ b/test/java/dyn/MethodHandlesTest.java	Fri Apr 01 11:01:24 2011 +0100
@@ -1285,11 +1285,6 @@
     }
 
     void testPermuteArguments(Object[] args, Class<?>[] types, int[] reorder) throws Throwable {
-        int verbosity = 0;
-        if (Arrays.toString(reorder).equals("[1, 0, 0]")) {
-            System.out.println();
-            verbosity = 99;
-        }
         countTest();
         if (args == null && types == null) {
             int max = 0;
@@ -1326,10 +1321,6 @@
         MethodType outType = MethodType.methodType(Object.class, permTypes);
         MethodHandle target = MethodHandles.convertArguments(ValueConversions.varargsList(outargs), outType);
         MethodHandle newTarget = MethodHandles.permuteArguments(target, inType, reorder);
-        if (verbosity > 9) {
-            System.out.print("newTarget = ");
-            MethodHandlePrinter.print(newTarget);
-        }
         Object result = newTarget.invokeWithArguments(args);
         Object expected = Arrays.asList(permArgs);
         assertEquals(expected, result);