diff -r 0419f45c7761 -r 44dfee24cb71 jdk/src/share/classes/java/lang/invoke/BoundMethodHandle.java --- a/jdk/src/share/classes/java/lang/invoke/BoundMethodHandle.java Wed Apr 17 10:15:33 2013 +0800 +++ b/jdk/src/share/classes/java/lang/invoke/BoundMethodHandle.java Tue Apr 16 21:39:52 2013 -0700 @@ -709,7 +709,9 @@ InvokerBytecodeGenerator.maybeDump(className, classFile); Class bmhClass = //UNSAFE.defineAnonymousClass(BoundMethodHandle.class, classFile, null).asSubclass(BoundMethodHandle.class); - UNSAFE.defineClass(className, classFile, 0, classFile.length).asSubclass(BoundMethodHandle.class); + UNSAFE.defineClass(className, classFile, 0, classFile.length, + BoundMethodHandle.class.getClassLoader(), null) + .asSubclass(BoundMethodHandle.class); UNSAFE.ensureClassInitialized(bmhClass); return bmhClass;