diff options
author | Sverker Eriksson <[email protected]> | 2013-01-28 14:32:54 +0100 |
---|---|---|
committer | Sverker Eriksson <[email protected]> | 2013-01-28 14:32:54 +0100 |
commit | 58482ed3f2b2f90f8be35b85d5d16f3f40f80fa3 (patch) | |
tree | a22f36b6de5d54769d2392b79edf1366964a8a5c /erts/emulator/beam/erl_nif.c | |
parent | d4fd0da2e1fc541bae7ed2de362f8a5f69357e27 (diff) | |
parent | 6c61689ae326587dfc9bcebd0fc6d6fa40dfd1fb (diff) | |
download | otp-58482ed3f2b2f90f8be35b85d5d16f3f40f80fa3.tar.gz otp-58482ed3f2b2f90f8be35b85d5d16f3f40f80fa3.tar.bz2 otp-58482ed3f2b2f90f8be35b85d5d16f3f40f80fa3.zip |
Merge branch 'sverk/enc_atom-opt'
* sverk/enc_atom-opt:
erts: Optimize atom encoding to use memcpy for pure ascii
erts: Refactor erts_atom_get to use ErtsAtomEncoding
Diffstat (limited to 'erts/emulator/beam/erl_nif.c')
-rw-r--r-- | erts/emulator/beam/erl_nif.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/erts/emulator/beam/erl_nif.c b/erts/emulator/beam/erl_nif.c index fb612d8f19..068f904b76 100644 --- a/erts/emulator/beam/erl_nif.c +++ b/erts/emulator/beam/erl_nif.c @@ -984,7 +984,7 @@ int enif_make_existing_atom_len(ErlNifEnv* env, const char* name, size_t len, ERL_NIF_TERM* atom, ErlNifCharEncoding encoding) { ASSERT(encoding == ERL_NIF_LATIN1); - return erts_atom_get(name, len, atom, 1); + return erts_atom_get(name, len, atom, ERTS_ATOM_ENC_LATIN1); } ERL_NIF_TERM enif_make_tuple(ErlNifEnv* env, unsigned cnt, ...) @@ -1653,7 +1653,7 @@ BIF_RETTYPE load_nif_2(BIF_ALIST_2) for (i=0; i < entry->num_of_funcs && ret==am_ok; i++) { BeamInstr** code_pp; ErlNifFunc* f = &entry->funcs[i]; - if (!erts_atom_get(f->name, sys_strlen(f->name), &f_atom, 1) + if (!erts_atom_get(f->name, sys_strlen(f->name), &f_atom, ERTS_ATOM_ENC_LATIN1) || (code_pp = get_func_pp(mod->curr.code, f_atom, f->arity))==NULL) { ret = load_nif_error(BIF_P,bad_lib,"Function not found %T:%s/%u", mod_atom, f->name, f->arity); @@ -1756,7 +1756,7 @@ BIF_RETTYPE load_nif_2(BIF_ALIST_2) for (i=0; i < entry->num_of_funcs; i++) { BeamInstr* code_ptr; - erts_atom_get(entry->funcs[i].name, sys_strlen(entry->funcs[i].name), &f_atom, 1); + erts_atom_get(entry->funcs[i].name, sys_strlen(entry->funcs[i].name), &f_atom, ERTS_ATOM_ENC_LATIN1); code_ptr = *get_func_pp(mod->curr.code, f_atom, entry->funcs[i].arity); if (code_ptr[1] == 0) { |