Skip to content

Commit 4c3f2be

Browse files
committed
Avoid repeated _copy_on_write() calls in Array::resize()
Updated Array::resize() to call ptrw() once before looping to initialize typed array elements, instead of accessing each through .write[].
1 parent 2b832e9 commit 4c3f2be

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

core/variant/array.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -305,8 +305,9 @@ Error Array::resize(int p_new_size) {
305305
int old_size = _p->array.size();
306306
Error err = _p->array.resize_initialized(p_new_size);
307307
if (!err && variant_type != Variant::NIL && variant_type != Variant::OBJECT) {
308+
Variant *write = _p->array.ptrw();
308309
for (int i = old_size; i < p_new_size; i++) {
309-
VariantInternal::initialize(&_p->array.write[i], variant_type);
310+
VariantInternal::initialize(&write[i], variant_type);
310311
}
311312
}
312313
return err;

0 commit comments

Comments
 (0)