1.1 --- a/rt/emul/mini/src/main/resources/org/apidesign/vm4brwsr/emul/lang/java_lang_String.js Tue Feb 18 22:20:50 2014 +0100
1.2 +++ b/rt/emul/mini/src/main/resources/org/apidesign/vm4brwsr/emul/lang/java_lang_String.js Tue Feb 18 22:29:25 2014 +0100
1.3 @@ -13,6 +13,8 @@
1.4 }
1.5 return arr[indx];
1.6 };
1.7 +Array.alloc = Array.prototype.newArray__Ljava_lang_Object_2ZLjava_lang_String_2I;
1.8 +Array.malloc = Array.prototype.multiNewArray__Ljava_lang_Object_2Ljava_lang_String_2_3II;
1.9 Array.prototype.getClass__Ljava_lang_Class_2 = function() {
1.10 return vm.java_lang_Class(false).defineArray__Ljava_lang_Class_2Ljava_lang_String_2(this.jvmName);
1.11 };
2.1 --- a/rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Tue Feb 18 22:20:50 2014 +0100
2.2 +++ b/rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Tue Feb 18 22:29:25 2014 +0100
2.3 @@ -2056,7 +2056,7 @@
2.4 case 11: jvmType = "[J"; break;
2.5 default: throw new IllegalStateException("Array type: " + atype);
2.6 }
2.7 - emit(smapper, out, "var @2 = Array.prototype.newArray__Ljava_lang_Object_2ZLjava_lang_String_2I(true, '@3', @1);",
2.8 + emit(smapper, out, "var @2 = Array.alloc(true, '@3', @1);",
2.9 smapper.popI(), smapper.pushA(), jvmType);
2.10 }
2.11
2.12 @@ -2067,7 +2067,7 @@
2.13 } else {
2.14 typeName = "[L" + typeName + ";";
2.15 }
2.16 - emit(smapper, out, "var @2 = Array.prototype.newArray__Ljava_lang_Object_2ZLjava_lang_String_2I(false, '@3', @1);",
2.17 + emit(smapper, out, "var @2 = Array.alloc(false, '@3', @1);",
2.18 smapper.popI(), smapper.pushA(), typeName);
2.19 }
2.20
2.21 @@ -2083,7 +2083,7 @@
2.22 dims.insert(1, smapper.popI());
2.23 }
2.24 dims.append(']');
2.25 - emit(smapper, out, "var @2 = Array.prototype.multiNewArray__Ljava_lang_Object_2Ljava_lang_String_2_3II('@3', @1, 0);",
2.26 + emit(smapper, out, "var @2 = Array.malloc('@3', @1, 0);",
2.27 dims.toString(), smapper.pushA(), typeName);
2.28 return i;
2.29 }