summaryrefslogtreecommitdiff
path: root/src/runtime/c/gu
diff options
context:
space:
mode:
authorkr.angelov <kr.angelov@gmail.com>2013-09-05 13:34:49 +0000
committerkr.angelov <kr.angelov@gmail.com>2013-09-05 13:34:49 +0000
commit14f8b96b563dda9f7d61f5dc1cde14436ef6ea69 (patch)
tree5c5c8501f90ca74c5e3655301288d1c3d36d55d4 /src/runtime/c/gu
parent46f2460a926a93a5bff360b0bfe7a52a983f2a56 (diff)
remove the string internalization since it slows down grammar loading with little benefit
Diffstat (limited to 'src/runtime/c/gu')
-rw-r--r--src/runtime/c/gu/intern.c59
-rw-r--r--src/runtime/c/gu/intern.h24
2 files changed, 0 insertions, 83 deletions
diff --git a/src/runtime/c/gu/intern.c b/src/runtime/c/gu/intern.c
deleted file mode 100644
index 35eaa1c5f..000000000
--- a/src/runtime/c/gu/intern.c
+++ /dev/null
@@ -1,59 +0,0 @@
-#include "intern.h"
-
-struct GuIntern {
- GuPool* str_pool;
- GuMap* map;
-};
-
-GuIntern*
-gu_new_intern(GuPool* str_pool, GuPool* pool)
-{
- GuIntern* intern = gu_new(GuIntern, pool);
- intern->str_pool = str_pool;
- intern->map = gu_new_set(const char*, gu_str_hasher, pool);
- return intern;
-}
-
-const char*
-gu_intern_str(GuIntern* intern, const char* cstr)
-{
- const char* const* strp = gu_map_find_key(intern->map, &cstr);
- if (strp) {
- return *strp;
- }
- const char* str = gu_strdup(cstr, intern->str_pool);
- gu_map_insert(intern->map, &str);
- return str;
-}
-
-
-
-
-struct GuSymTable {
- GuPool* sym_pool;
- GuMap* map;
-};
-
-GuSymTable*
-gu_new_symtable(GuPool* sym_pool, GuPool* pool)
-{
- GuSymTable* tab = gu_new(GuSymTable, pool);
- tab->sym_pool = sym_pool;
- tab->map = gu_new_set(GuSymbol, gu_string_hasher, pool);
- return tab;
-}
-
-GuSymbol
-gu_symtable_intern(GuSymTable* tab, GuString string)
-{
- if (gu_string_is_stable(string)) {
- return string;
- }
- const GuSymbol* symp = gu_map_find_key(tab->map, &string);
- if (symp) {
- return *symp;
- }
- GuSymbol sym = gu_string_copy(string, tab->sym_pool);
- gu_map_insert(tab->map, &sym);
- return sym;
-}
diff --git a/src/runtime/c/gu/intern.h b/src/runtime/c/gu/intern.h
deleted file mode 100644
index bf9e9b321..000000000
--- a/src/runtime/c/gu/intern.h
+++ /dev/null
@@ -1,24 +0,0 @@
-#ifndef GU_INTERN_H_
-#define GU_INTERN_H_
-
-#include <gu/map.h>
-#include <gu/str.h>
-#include <gu/string.h>
-
-typedef struct GuIntern GuIntern;
-
-GuIntern* gu_new_intern(GuPool* str_pool, GuPool* pool);
-const char* gu_intern_str(GuIntern* intern, const char* cstr);
-
-
-typedef struct GuSymTable GuSymTable;
-
-typedef GuString GuSymbol;
-
-GuSymTable*
-gu_new_symtable(GuPool* sym_pool, GuPool* pool);
-
-GuSymbol
-gu_symtable_intern(GuSymTable* symtab, GuString string);
-
-#endif /* GU_INTERN_H_ */