]> gitweb.factorcode.org Git - factor.git/commitdiff
vm: make reallot_array for same size a no-op
authorJoe Groff <arcata@gmail.com>
Wed, 12 Oct 2011 19:34:30 +0000 (12:34 -0700)
committerJoe Groff <arcata@gmail.com>
Tue, 18 Oct 2011 04:23:01 +0000 (21:23 -0700)
vm/generic_arrays.hpp

index 4c3620277cf22fb9277325d19b582620ace26ecb..de4566bdf62ecf5e0f24bb960f9a48de5b146e10 100755 (executable)
@@ -35,6 +35,9 @@ template<typename Array> Array *factor_vm::reallot_array(Array *array_, cell cap
 {
        data_root<Array> array(array_,this);
 
+       if (array_capacity(array) == capacity)
+               return array.untagged();
+
        if(reallot_array_in_place_p(array.untagged(),capacity))
        {
                array->capacity = tag_fixnum(capacity);