changeset 645:eae4e4c1f613

8027020: [regression] java.lang.VerifyError: Bad type on operand stack Reviewed-by: jlaskey, attila
author sundar
date Tue, 22 Oct 2013 22:04:46 +0530
parents 6f19eb443a47
children 734f71f8a2c3 5df55690fd5b
files src/jdk/nashorn/internal/runtime/ScriptLoader.java
diffstat 1 files changed, 3 insertions(+), 17 deletions(-) [+]
line wrap: on
line diff
--- a/src/jdk/nashorn/internal/runtime/ScriptLoader.java	Tue Oct 22 17:52:37 2013 +0200
+++ b/src/jdk/nashorn/internal/runtime/ScriptLoader.java	Tue Oct 22 22:04:46 2013 +0530
@@ -52,24 +52,10 @@
     @Override
     protected Class<?> loadClass(String name, boolean resolve) throws ClassNotFoundException {
         checkPackageAccess(name);
-        try {
-            return super.loadClass(name, resolve);
-        } catch (final ClassNotFoundException | SecurityException e) {
-            // We'll get ClassNotFoundException for Nashorn 'struct' classes.
-            // Also, we'll get SecurityException for jdk.nashorn.internal.*
-            // classes. So, load these using to context's 'shared' loader.
-            // All these classes start with "jdk.nashorn.internal." prefix.
-            try {
-                if (name.startsWith(NASHORN_PKG_PREFIX)) {
-                    return context.getSharedLoader().loadClass(name);
-                }
-            } catch (final ClassNotFoundException ignored) {
-                //ignored
-            }
-
-            // throw the original exception from here
-            throw e;
+        if (name.startsWith(NASHORN_PKG_PREFIX)) {
+            return context.getSharedLoader().loadClass(name);
         }
+        return super.loadClass(name, resolve);
     }
 
     // package-private and private stuff below this point