src/BytecodeEmitter.h
changeset 185 10936f3a2ba3
parent 184 387d76b1e981
child 187 9308d52205a0
     1.1 --- a/src/BytecodeEmitter.h	Sat Sep 15 17:39:45 2012 -0700
     1.2 +++ b/src/BytecodeEmitter.h	Sat Sep 15 18:25:54 2012 -0700
     1.3 @@ -436,10 +436,14 @@
     1.4      void cvt_i2f() {
     1.5          singleByteOp(OP_CVT_I2F);
     1.6      }
     1.7 -    void newarray(Handle<Map> map, Heap::Tenure tenure) {
     1.8 +    void newarray(Opcode op, Handle<Map> map, Heap::Tenure tenure) {
     1.9 +        assert(op == OP_NEWFIXED ||
    1.10 +               op == OP_NEWEMPTY ||
    1.11 +               op == OP_NEWSIZED);
    1.12 +
    1.13          recordOops();
    1.14 -        ensure(OP_NEWARRAY_LENGTH);
    1.15 -        writeOp(OP_NEWARRAY);
    1.16 +        ensure(OpcodeInfo[op].length);
    1.17 +        writeOp(op);
    1.18          writeUint8(tenure);
    1.19          writeObject(map);
    1.20          markOop(1);