Since the check for MAX_SHAPE_ID was done before even checking
if the transition we're looking for even exists, as soon as the
max shape is reached, get_next_shape_internal would always return TOO_COMPLEX regardless of whether the transition we're looking
for already exist or not.
In addition to entirely de-optimize all newly created objects, it
also made an assertion fail in vm_setivar:
Make get_next_shape_internal idempotent
Since the check for MAX_SHAPE_ID was done before even checking
if the transition we're looking for even exists, as soon as the
max shape is reached, get_next_shape_internal would always return
TOO_COMPLEXregardless of whether the transition we're lookingfor already exist or not.
In addition to entirely de-optimize all newly created objects, it
also made an assertion fail in
vm_setivar: