1.1 --- a/rt/vm/src/main/java/org/apidesign/vm4brwsr/VM.java Tue Apr 26 08:05:09 2016 +0200
1.2 +++ b/rt/vm/src/main/java/org/apidesign/vm4brwsr/VM.java Tue Apr 26 08:35:46 2016 +0200
1.3 @@ -583,6 +583,7 @@
1.4 + " vm['registerResource'] = null;\n"
1.5 + " var knownExtensions = extensions.length;\n"
1.6 + " var loader = {};\n"
1.7 + + " var classPath;\n"
1.8 + " var loadBytes = function(name, skip) {\n"
1.9 + " skip = typeof skip == 'number' ? skip : 0;\n"
1.10 + " var arr = resources[name];\n"
1.11 @@ -602,10 +603,21 @@
1.12 + " args[i] = null;\n"
1.13 + " } else if (typeof at === 'function') ret = at(name, skip);\n"
1.14 + " else {\n"
1.15 - + " var cp = vm['org_apidesign_vm4brwsr_ClassPath'];\n"
1.16 - + " if (!cp) throw 'Core Java library not registered. Cannot load from ' + at;\n"
1.17 - + " ret = cp(false).\n"
1.18 - + " loadBytes___3BLjava_lang_String_2Ljava_lang_Object_2II(name, args, i, skip);\n"
1.19 + + " if (classPath === undefined) {\n"
1.20 + + " classPath = null;\n"
1.21 + + " try {\n"
1.22 + + " classPath = vm.loadClass('org.apidesign.vm4brwsr.ClassPath');\n"
1.23 + + " } catch (err) {\n"
1.24 + + " }\n"
1.25 + + " }\n"
1.26 + + " if (!classPath) {\n"
1.27 + + " if (name !== 'org/apidesign/vm4brwsr/ClassPath.class') {\n"
1.28 + + " throw 'Core Java library not registered. Cannot load from ' + at;\n"
1.29 + + " }\n"
1.30 + + " ret = null;\n"
1.31 + + " } else {\n"
1.32 + + " ret = classPath['loadBytes___3BLjava_lang_String_2Ljava_lang_Object_2II'](name, args, i, skip);\n"
1.33 + + " }\n"
1.34 + " }\n"
1.35 + " if (ret) return ret;\n"
1.36 + " }\n"