diff options
| author | kr.angelov <kr.angelov@gmail.com> | 2014-10-09 08:38:55 +0000 |
|---|---|---|
| committer | kr.angelov <kr.angelov@gmail.com> | 2014-10-09 08:38:55 +0000 |
| commit | 6c86e7fa91602e4863c95622934d45e383890156 (patch) | |
| tree | 6f8e65171ecf5084e9a9b9c54fbcab60b29b3e2f /src/runtime/c/pgf/jit.c | |
| parent | 84b257e85ca15b36e897df8701f66c57064fde97 (diff) | |
replace the hash maps in the abstract syntax with binary search tables
Diffstat (limited to 'src/runtime/c/pgf/jit.c')
| -rw-r--r-- | src/runtime/c/pgf/jit.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/runtime/c/pgf/jit.c b/src/runtime/c/pgf/jit.c index 570cf3e8e..645cc8378 100644 --- a/src/runtime/c/pgf/jit.c +++ b/src/runtime/c/pgf/jit.c @@ -111,11 +111,11 @@ pgf_jit_read_absfun(PgfReader* rdr, PgfAbstr* abstr) PgfCId name = pgf_read_cid(rdr, rdr->tmp_pool); gu_return_on_exn(rdr->err, NULL); - + PgfAbsFun* absfun = - gu_map_get(abstr->funs, name, PgfAbsFun*); + gu_seq_binsearch(abstr->funs, pgf_absfun_order, PgfAbsFun, name); assert(absfun != NULL); - + return absfun; } @@ -1176,12 +1176,12 @@ pgf_jit_done(PgfReader* rdr, PgfAbstr* abstr) gu_buf_index(rdr->jit_state->call_patches, PgfCallPatch, i); PgfAbsCat* arg = - gu_map_get(abstr->cats, patch->cid, PgfAbsCat*); + gu_seq_binsearch(abstr->cats, pgf_abscat_order, PgfAbsCat, patch->cid); if (arg != NULL) { jit_patch_calli(patch->ref,(jit_insn*) arg->predicate); } else { PgfAbsFun* fun = - gu_map_get(abstr->funs, patch->cid, PgfAbsFun*); + gu_seq_binsearch(abstr->funs, pgf_absfun_order, PgfAbsFun, patch->cid); if (fun == NULL) gu_impossible(); else { |
