diff -r 0e230308c26f -r 9d33c9507806 rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java --- a/rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Tue Jun 14 05:20:30 2016 +0200 +++ b/rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Tue Jun 14 05:44:20 2016 +0200 @@ -1945,7 +1945,11 @@ append(vars[0].toString()).append(';'); return i; } - append(vars[0].toString()).append("['").append(mi[1]).append("']("); + if (mi[1].equals("push") && mi[0].equals("net/java/html/lib/Array")) { + append(vars[0].toString()).append("['").append(mi[1]).append("'].apply(").append(vars[0].toString()).append(","); + } else { + append(vars[0].toString()).append("['").append(mi[1]).append("']("); + } } else { append(accessVirtualMethod(vars[0].toString(), mn, mi, numArguments)); }