diff options
| author | kr.angelov <kr.angelov@gmail.com> | 2013-09-05 13:34:49 +0000 |
|---|---|---|
| committer | kr.angelov <kr.angelov@gmail.com> | 2013-09-05 13:34:49 +0000 |
| commit | 14f8b96b563dda9f7d61f5dc1cde14436ef6ea69 (patch) | |
| tree | 5c5c8501f90ca74c5e3655301288d1c3d36d55d4 /src/runtime/c/pgf/reader.c | |
| parent | 46f2460a926a93a5bff360b0bfe7a52a983f2a56 (diff) | |
remove the string internalization since it slows down grammar loading with little benefit
Diffstat (limited to 'src/runtime/c/pgf/reader.c')
| -rw-r--r-- | src/runtime/c/pgf/reader.c | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/src/runtime/c/pgf/reader.c b/src/runtime/c/pgf/reader.c index 890749b5b..bf7207874 100644 --- a/src/runtime/c/pgf/reader.c +++ b/src/runtime/c/pgf/reader.c @@ -11,7 +11,6 @@ #include <gu/map.h> #include <gu/seq.h> #include <gu/assert.h> -#include <gu/intern.h> #include <gu/in.h> #include <gu/bits.h> #include <gu/exn.h> @@ -28,7 +27,6 @@ struct PgfReader { GuExn* err; GuPool* opool; GuPool* tmp_pool; - GuSymTable* symtab; #ifndef ANDROID PgfJitState* jit_state; #endif @@ -108,11 +106,9 @@ pgf_read_cid(PgfReader* rdr) GuUCS ucs = gu_in_u8(rdr->in, rdr->err); gu_out_utf8(ucs, out, rdr->err); } - GuString str = gu_string_buf_freeze(sbuf, tmp_pool); - - GuSymbol sym = gu_symtable_intern(rdr->symtab, str); + GuString str = gu_string_buf_freeze(sbuf, rdr->opool); gu_pool_free(tmp_pool); - return sym; + return str; } static GuString @@ -128,11 +124,10 @@ pgf_read_string(PgfReader* rdr) GuUCS ucs = gu_in_utf8(rdr->in, rdr->err); gu_out_utf8(ucs, out, rdr->err); } - GuString str = gu_string_buf_freeze(sbuf, tmp_pool); - GuSymbol sym = gu_symtable_intern(rdr->symtab, str); + GuString str = gu_string_buf_freeze(sbuf, rdr->opool); gu_pool_free(tmp_pool); - return sym; + return str; } static void @@ -1215,7 +1210,6 @@ pgf_new_reader(GuIn* in, GuPool* opool, GuPool* tmp_pool, GuExn* err) PgfReader* rdr = gu_new(PgfReader, tmp_pool); rdr->opool = opool; rdr->tmp_pool = tmp_pool; - rdr->symtab = gu_new_symtable(opool, tmp_pool); rdr->err = err; rdr->in = in; #ifndef ANDROID |
