1.1 --- a/src/BytecodeCompiler.cpp Sun Sep 16 21:59:18 2012 -0700
1.2 +++ b/src/BytecodeCompiler.cpp Sun Sep 16 21:59:26 2012 -0700
1.3 @@ -973,7 +973,18 @@
1.4 } else if (type->isFixedLength()) {
1.5 __ newarray(OP_NEWFIXED, map, tenure);
1.6 } else {
1.7 - __ newarray(OP_NEWEMPTY, map, tenure);
1.8 + if (node->postDimensions()) {
1.9 + for (size_t i = 0; i < node->postDimensions()->length(); i++) {
1.10 + Expression *expr = node->postDimensions()->at(i);
1.11 + if (expr)
1.12 + expr->accept(this);
1.13 + else
1.14 + __ int_(0);
1.15 + }
1.16 + __ newarray(OP_NEWSIZED, map, tenure);
1.17 + } else {
1.18 + __ newarray(OP_NEWEMPTY, map, tenure);
1.19 + }
1.20 }
1.21 } else if (type->isStruct()) {
1.22 Local<Map> map(zone_, type->newMap());