# HG changeset patch # User Jaroslav Tulach # Date 1354222991 -3600 # Node ID 7aa36c48c634f02e186b0a259a6c6635015820bc # Parent 7c26f96bba5996a29f34fe52164c0fa0c3937b79 Don't instantiate new object, when only requesting prototype. use CLS(false). diff -r 7c26f96bba59 -r 7aa36c48c634 vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java --- a/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Thu Nov 29 11:07:05 2012 +0100 +++ b/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Thu Nov 29 22:03:11 2012 +0100 @@ -124,7 +124,7 @@ } out.append("\n return this;"); out.append("\n }"); - out.append("\n return new CLS;"); + out.append("\n return arguments[0] ? new CLS() : CLS.prototype;"); out.append("\n}"); StringBuilder sb = new StringBuilder(); for (String init : toInitilize.toArray()) { @@ -140,7 +140,7 @@ final String mn = findMethodName(m, argsCnt); out.append(prefix).append(mn).append(" = function"); if (mn.equals("classV")) { - toInitilize.add(className(jc) + "(true)." + mn); + toInitilize.add(className(jc) + "(false)." + mn); } out.append('('); String space = ""; @@ -886,7 +886,7 @@ } final String in = mi[0]; out.append(in.replace('/', '_')); - out.append("(true)."); + out.append("(false)."); out.append(mn); out.append('('); String sep = "";