1.1 --- a/rt/vm/src/main/java/org/apidesign/vm4brwsr/VM.java Mon Apr 28 17:31:29 2014 +0200
1.2 +++ b/rt/vm/src/main/java/org/apidesign/vm4brwsr/VM.java Tue Apr 29 15:25:58 2014 +0200
1.3 @@ -86,17 +86,15 @@
1.4 private void doCompile(StringArray names, StringArray asBinary) throws IOException {
1.5 generatePrologue();
1.6 out.append(
1.7 - "\n var invoker = function Invoker() {"
1.8 - + "\n return Invoker.target[Invoker.method]"
1.9 - + ".apply(Invoker.target, arguments);"
1.10 - + "\n };");
1.11 + "\n var invoker = {};");
1.12 generateBody(names);
1.13 for (String invokerMethod: invokerMethods.toArray()) {
1.14 out.append("\n invoker." + invokerMethod + " = function(target) {"
1.15 - + "\n invoker.target = target;"
1.16 - + "\n invoker.method = '" + invokerMethod + "';"
1.17 - + "\n return invoker;"
1.18 - + "\n };");
1.19 + + "\n return function() {"
1.20 + + "\n return target['" + invokerMethod + "'].apply(target, arguments);"
1.21 + + "\n };"
1.22 + + "\n };"
1.23 + );
1.24 }
1.25
1.26 for (String r : asBinary.toArray()) {