diff -r 7926a7921fa3 -r 0d28dc5af6c7 src/BytecodeCompiler.cpp --- a/src/BytecodeCompiler.cpp Sun Aug 05 00:45:06 2012 -0700 +++ b/src/BytecodeCompiler.cpp Sun Aug 05 00:49:31 2012 -0700 @@ -744,6 +744,13 @@ if (!map) return NULL; + // Ensure the inner type has an array map if needed. + if (type->contained()->isArray()) { + Local contained(zone, type->contained()); + if (!BuildArrayMap(zone, contained)) + return NULL; + } + type->setNewMap(map); return map; }