diff -r b157a354003f -r a2871a3fd4c5 vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java --- a/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Tue Jan 15 12:38:49 2013 +0100 +++ b/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Tue Jan 15 12:44:33 2013 +0100 @@ -973,26 +973,26 @@ emit(out, "@2 = @1.length;", smapper.popA(), smapper.pushI()); break; case opc_lastore: - emit(out, "@3[@2] = @1;", + emit(out, "@3.at(@2, @1);", smapper.popL(), smapper.popI(), smapper.popA()); break; case opc_fastore: - emit(out, "@3[@2] = @1;", + emit(out, "@3.at(@2, @1);", smapper.popF(), smapper.popI(), smapper.popA()); break; case opc_dastore: - emit(out, "@3[@2] = @1;", + emit(out, "@3.at(@2, @1);", smapper.popD(), smapper.popI(), smapper.popA()); break; case opc_aastore: - emit(out, "@3[@2] = @1;", + emit(out, "@3.at(@2, @1);", smapper.popA(), smapper.popI(), smapper.popA()); break; case opc_iastore: case opc_bastore: case opc_castore: case opc_sastore: - emit(out, "@3[@2] = @1;", + emit(out, "@3.at(@2, @1);", smapper.popI(), smapper.popI(), smapper.popA()); break; case opc_laload: