aboutsummaryrefslogtreecommitdiffstats
path: root/string.c
diff options
context:
space:
mode:
Diffstat (limited to 'string.c')
-rw-r--r--string.c29
1 files changed, 2 insertions, 27 deletions
diff --git a/string.c b/string.c
index fac00856b3..313825c504 100644
--- a/string.c
+++ b/string.c
@@ -8960,6 +8960,7 @@ rb_sym_proc_call(VALUE args, VALUE sym, int argc, const VALUE *argv, VALUE passe
return rb_funcall_with_block(obj, (ID)sym, argc - 1, argv + 1, passed_proc);
}
+#if 0
/*
* call-seq:
* sym.to_proc
@@ -8972,34 +8973,8 @@ rb_sym_proc_call(VALUE args, VALUE sym, int argc, const VALUE *argv, VALUE passe
VALUE
rb_sym_to_proc(VALUE sym)
{
- static VALUE sym_proc_cache = Qfalse;
- enum {SYM_PROC_CACHE_SIZE = 67};
- VALUE proc;
- long index;
- ID id;
- VALUE *aryp;
-
- if (!sym_proc_cache) {
- sym_proc_cache = rb_ary_tmp_new(SYM_PROC_CACHE_SIZE * 2);
- rb_gc_register_mark_object(sym_proc_cache);
- rb_ary_store(sym_proc_cache, SYM_PROC_CACHE_SIZE*2 - 1, Qnil);
- }
-
- id = SYM2ID(sym);
- index = (id % SYM_PROC_CACHE_SIZE) << 1;
-
- aryp = RARRAY_PTR(sym_proc_cache);
- if (aryp[index] == sym) {
- return aryp[index + 1];
- }
- else {
- proc = rb_proc_new(rb_sym_proc_call, (VALUE)id);
- rb_block_clear_env_self(proc);
- aryp[index] = sym;
- aryp[index + 1] = proc;
- return proc;
- }
}
+#endif
/*
* call-seq: