[erlang-questions] Internal compiler atoms
Erdem Aksu
erdemaksu@REDACTED
Thu Jan 17 21:25:19 CET 2019
Hello Håkan,
If you compile your module from core erlang (cerl) forms and pass
'from_core' option to compile:forms/2 call, compiler will skip many passes
including core pass, which calls v3_call:module/2 and will only parse the
core forms and run core_passes.
Thus you can leap list_to_atom/1 calls that are invoked by v3_call:module/2
call.
You can see the link below for the compile call and how cerl is used:
https://github.com/pundunlabs/gb_reg/blob/36f3c32ef18386a10e7a3007e2b25d380e9c2e74/src/gb_reg_worker.erl#L236
Br,
Erdem Aksu
On Thu, Jul 27, 2017 at 4:19 PM Håkan Mattsson <hawk.mattsson@REDACTED>
wrote:
>
> I am trying to compile a
> (
> big
> )
> module from a list of forms
>
> , but it seems
> like the compiler internally generates lots of new atoms:
>
>
> no more index entries in atom_tab (max=1048576)
>
> Crash dump is being written to: erl_crash.dump...
>
> In this case the compiler itself generated more than 300K atoms while
> compiling my forms.
>
> Why is the atoms generated?
>
> Is this anything that can be disabled?
>
> /Håkan
>
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://erlang.org/mailman/listinfo/erlang-questions
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20190117/7fe8002f/attachment.htm>
More information about the erlang-questions
mailing list