* [PATCH] Revert "symbol.h: memoize hashval for RSymbol"
@ 2015-07-28 21:16 Eric Wong
0 siblings, 0 replies; only message in thread
From: Eric Wong @ 2015-07-28 21:16 UTC (permalink / raw)
To: spew
This reverts commit r51410
(442b77e72166c9c993e3c6663568431123510dec in git)
---
common.mk | 1 -
hash.c | 3 +--
symbol.c | 6 ------
symbol.h | 1 -
4 files changed, 1 insertion(+), 10 deletions(-)
diff --git a/common.mk b/common.mk
index 1a3e463..b0a4a96 100644
--- a/common.mk
+++ b/common.mk
@@ -1532,7 +1532,6 @@ hash.$(OBJEXT): {$(VPATH)}oniguruma.h
hash.$(OBJEXT): {$(VPATH)}probes.h
hash.$(OBJEXT): {$(VPATH)}st.h
hash.$(OBJEXT): {$(VPATH)}subst.h
-hash.$(OBJEXT): {$(VPATH)}symbol.h
hash.$(OBJEXT): {$(VPATH)}util.h
hash.$(OBJEXT): {$(VPATH)}vm_opts.h
inits.$(OBJEXT): $(hdrdir)/ruby/ruby.h
diff --git a/hash.c b/hash.c
index f46662a..2a084f7 100644
--- a/hash.c
+++ b/hash.c
@@ -17,7 +17,6 @@
#include <errno.h>
#include "probes.h"
#include "id.h"
-#include "symbol.h"
#ifdef __APPLE__
# ifdef HAVE_CRT_EXTERNS_H
@@ -150,7 +149,7 @@ rb_any_hash(VALUE a)
hnum = rb_str_hash(a);
}
else if (BUILTIN_TYPE(a) == T_SYMBOL) {
- return RSYMBOL(a)->hashval;
+ hnum = rb_objid_hash((st_index_t)a);
}
else if (BUILTIN_TYPE(a) == T_FLOAT) {
return rb_dbl_hash(rb_float_value(a));
diff --git a/symbol.c b/symbol.c
index 9e2fccd..9fbe3dd 100644
--- a/symbol.c
+++ b/symbol.c
@@ -505,18 +505,12 @@ static VALUE
dsymbol_alloc(const VALUE klass, const VALUE str, rb_encoding * const enc, const ID type)
{
const VALUE dsym = rb_newobj_of(klass, T_SYMBOL | FL_WB_PROTECTED);
- st_index_t hashval;
rb_enc_associate(dsym, enc);
OBJ_FREEZE(dsym);
RB_OBJ_WRITE(dsym, &RSYMBOL(dsym)->fstr, str);
RSYMBOL(dsym)->id = type;
- /* we want hashval to be in Fixnum range [ruby-core:15713] r15672 */
- hashval = rb_str_hash(str);
- hashval <<= 1;
- RSYMBOL(dsym)->hashval = (st_index_t)RSHIFT(hashval, 1);
-
register_sym(str, dsym);
rb_hash_aset(global_symbols.dsymbol_fstr_hash, str, Qtrue);
diff --git a/symbol.h b/symbol.h
index 5c52b97..549eabd 100644
--- a/symbol.h
+++ b/symbol.h
@@ -25,7 +25,6 @@
struct RSymbol {
struct RBasic basic;
- st_index_t hashval;
VALUE fstr;
ID id;
};
--
EW
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2015-07-28 21:16 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-07-28 21:16 [PATCH] Revert "symbol.h: memoize hashval for RSymbol" Eric Wong
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).