summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2014-09-15 01:48:08 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2014-09-15 01:48:08 +0900
commit6057b2e378b0f95f0cb6d0c69d8879a23393fe80 (patch)
tree080aafbf2c0d113da35f03d277f41e505264d5b3
parent48c5321dca85025b8b11e43c8db2726fccb45b9d (diff)
downloadmruby-6057b2e378b0f95f0cb6d0c69d8879a23393fe80.tar.gz
mruby-6057b2e378b0f95f0cb6d0c69d8879a23393fe80.zip
change mrb_sym type from uint16_t to uint32_t
-rw-r--r--include/mruby.h1
-rw-r--r--include/mruby/value.h2
-rw-r--r--src/symbol.c21
3 files changed, 1 insertions, 23 deletions
diff --git a/include/mruby.h b/include/mruby.h
index c45925844..480080e8b 100644
--- a/include/mruby.h
+++ b/include/mruby.h
@@ -161,7 +161,6 @@ typedef struct mrb_state {
mrb_bool gc_full:1;
mrb_bool is_generational_gc_mode:1;
mrb_bool out_of_memory:1;
- mrb_bool symbol_table_overflow:1;
size_t majorgc_old_threshold;
struct alloca_header *mems;
diff --git a/include/mruby/value.h b/include/mruby/value.h
index 859687ffc..f85cdd644 100644
--- a/include/mruby/value.h
+++ b/include/mruby/value.h
@@ -7,7 +7,7 @@
#ifndef MRUBY_VALUE_H
#define MRUBY_VALUE_H
-typedef uint16_t mrb_sym;
+typedef uint32_t mrb_sym;
typedef uint8_t mrb_bool;
struct mrb_state;
diff --git a/src/symbol.c b/src/symbol.c
index 7fcef2817..e60fa56f5 100644
--- a/src/symbol.c
+++ b/src/symbol.c
@@ -45,14 +45,6 @@ sym_validate_len(mrb_state *mrb, size_t len)
}
}
-#define MRB_SYM_MAX UINT16_MAX
-
-static mrb_value
-sym_tbl_overflow_new_str(mrb_state *mrb, const char *name, size_t len)
-{
- return mrb_str_inspect(mrb, mrb_str_new(mrb, name, len));
-}
-
static mrb_sym
sym_intern(mrb_state *mrb, const char *name, size_t len, mrb_bool lit)
{
@@ -70,19 +62,6 @@ sym_intern(mrb_state *mrb, const char *name, size_t len, mrb_bool lit)
if (k != kh_end(h))
return kh_value(h, k);
- if (mrb->symbol_table_overflow) {
- if (mrb->symidx == MRB_SYM_MAX) {
- mrb_bug(mrb, "symbol table overflow (symbol %S)", sym_tbl_overflow_new_str(mrb, name, len));
- }
- }
- else {
- if (mrb->symidx >= MRB_SYM_MAX - 8) { /* raising might intern a few new strings */
- mrb->symbol_table_overflow = TRUE;
- mrb_raisef(mrb, E_RUNTIME_ERROR, "symbol table overflow (symbol %S)",
- sym_tbl_overflow_new_str(mrb, name, len));
- }
- }
-
sym = ++mrb->symidx;
if (lit) {
sname.name = name;