summaryrefslogtreecommitdiff
path: root/src/runtime/c/pgf/reader.c
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/pgf/reader.c
parent46f2460a926a93a5bff360b0bfe7a52a983f2a56 (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.c14
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