aboutsummaryrefslogtreecommitdiffstats
path: root/shape.h
diff options
context:
space:
mode:
authorAaron Patterson <tenderlove@ruby-lang.org>2023-10-24 12:43:22 -0700
committerAaron Patterson <aaron.patterson@gmail.com>2023-10-24 14:23:17 -0700
commitd8cb827f39d4c72d2a79e40371ba2a4fb3e95b28 (patch)
tree9e3caf7e4963712f2aca069e276bc44845a3cebf /shape.h
parent33bebee13aedb9f8a0d43cc6921910a690e6f73e (diff)
downloadruby-d8cb827f39d4c72d2a79e40371ba2a4fb3e95b28.tar.gz
Remove SHAPE_MAX_NUM_IVS
There is no longer a limit on the number of IVs you can store. SHAPE_MAX_NUM_IVS was used to work around the IV10K problem (the well known problem where setting 10k instance variables in a row would be too slow). The redblack tree works well at any shape depth, even depths greater than 80, and solves the IV10K problem.
Diffstat (limited to 'shape.h')
-rw-r--r--shape.h1
1 files changed, 0 insertions, 1 deletions
diff --git a/shape.h b/shape.h
index 3f78551c54..0529dc45b6 100644
--- a/shape.h
+++ b/shape.h
@@ -33,7 +33,6 @@ typedef uint16_t redblack_id_t;
# define SHAPE_FLAG_SHIFT ((SIZEOF_VALUE * 8) - SHAPE_ID_NUM_BITS)
# define SHAPE_MAX_VARIATIONS 8
-# define SHAPE_MAX_NUM_IVS 80
# define MAX_SHAPE_ID (SHAPE_BUFFER_SIZE - 1)
# define INVALID_SHAPE_ID SHAPE_MASK