for (int n = 0; n < children.length; n++) {
final Object childObject = children[n].execute(frame);
if (childObject instanceof RubyArray) {
appendArrayProfile.enter();
final RubyArray childArray = (RubyArray) childObject;
store = arrayBuilderNode.ensure(store, length + childArray.getSize());
store = arrayBuilderNode.append(store, length, childArray);
length += childArray.getSize();
} else {
appendObjectProfile.enter();
store = arrayBuilderNode.ensure(store, length + 1);
store = arrayBuilderNode.append(store, length, childObject);
length++;
}
}
return new RubyArray(getContext().getCoreLibrary().getArrayClass(), arrayBuilderNode.finish(store, length), length);
}