src/compiler/BytecodeEmitter.h
changeset 234 26e3035cdffc
parent 230 fb3cd08bc7fb
child 245 9371f058625a
     1.1 --- a/src/compiler/BytecodeEmitter.h	Sat Dec 22 23:18:57 2012 -0800
     1.2 +++ b/src/compiler/BytecodeEmitter.h	Mon Dec 24 02:49:20 2012 -0800
     1.3 @@ -188,9 +188,10 @@
     1.4              maxStackDepth_ = oopMap_.length();
     1.5      }
     1.6      void writeObject(Object *obj) {
     1.7 +        assert(obj);
     1.8 +
     1.9          writeUint32(objects_.length());
    1.10 -        ScopedRoot<Object> root(obj);
    1.11 -        if (!objects_.append(root))
    1.12 +        if (!objects_.append(obj))
    1.13              oom_ = true;
    1.14      }
    1.15  
    1.16 @@ -528,11 +529,17 @@
    1.17          }
    1.18      }
    1.19      void object(Handle<Object> obj) {
    1.20 +        assert(obj);
    1.21 +
    1.22          ensure(OP_OBJECT_LENGTH);
    1.23          writeOp(OP_OBJECT);
    1.24          writeObject(obj);
    1.25          markOop(1);
    1.26      }
    1.27 +    void duparray() {
    1.28 +        singleByteOp(OP_DUPARRAY);
    1.29 +        markOop(1);
    1.30 +    }
    1.31      void copyarray() {
    1.32          singleByteOp(OP_COPYARRAY);
    1.33          markOop(1);