diff --git a/array.c b/array.c index 9faaa88673..f87060442d 100644 --- a/array.c +++ b/array.c @@ -30,6 +30,7 @@ VALUE rb_cArray; #define ARY_DEFAULT_SIZE 16 #define ARY_MAX_SIZE (LONG_MAX / (int)sizeof(VALUE)) +#define SMALL_ARRAY_LEN 16 # define ARY_SHARED_P(ary) \ (assert(!FL_TEST((ary), ELTS_SHARED) || !FL_TEST((ary), RARRAY_EMBED_FLAG)), \ @@ -3986,6 +3987,22 @@ rb_ary_includes(VALUE ary, VALUE item) } +VALUE +rb_ary_includes_by_eql(VALUE ary, VALUE item) +{ + long i; + VALUE e; + + for (i=0; i