diff options
author | Björn Gustavsson <bjorn@erlang.org> | 2014-06-17 10:40:17 +0200 |
---|---|---|
committer | Björn Gustavsson <bjorn@erlang.org> | 2014-06-17 10:40:17 +0200 |
commit | 43285542322eccebb8f337610b6a48ddc9c87ca3 (patch) | |
tree | 162450a40d79171d012902fea9b2f4a777bfd29e /erts | |
parent | ae0628f46f634e486ee2b19a1f318a7fbb9130fe (diff) | |
parent | ab8c6675511cb1968c57fab3dd8e47cc48037c06 (diff) | |
download | erlang-43285542322eccebb8f337610b6a48ddc9c87ca3.tar.gz |
Merge branch 'bjorn/erts/fix-prim_eval' into maint
* bjorn/erts/fix-prim_eval:
add_abstract_code: Remove 'from_asm' option
Diffstat (limited to 'erts')
-rw-r--r-- | erts/preloaded/src/add_abstract_code | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/erts/preloaded/src/add_abstract_code b/erts/preloaded/src/add_abstract_code index e670156d21..211a60c930 100644 --- a/erts/preloaded/src/add_abstract_code +++ b/erts/preloaded/src/add_abstract_code @@ -27,8 +27,18 @@ main([BeamFile,AbstrFile]) -> {ok,_,Chunks0} = beam_lib:all_chunks(BeamFile), {ok,Abstr} = file:consult(AbstrFile), - Chunks = lists:keyreplace("Abst", 1, Chunks0, - {"Abst",term_to_binary({raw_abstract_v1,Abstr})}), + Chunks1 = lists:keyreplace("Abst", 1, Chunks0, + {"Abst",term_to_binary({raw_abstract_v1,Abstr})}), + {"CInf",CInf0} = lists:keyfind("CInf", 1, Chunks1), + CInf = fix_options(CInf0), + Chunks = lists:keyreplace("CInf", 1, Chunks1, {"CInf",CInf}), {ok,Module} = beam_lib:build_module(Chunks), ok = file:write_file(BeamFile, Module), init:stop(). + +fix_options(CInf0) -> + CInf1 = binary_to_term(CInf0), + {options,Opts0} = lists:keyfind(options, 1, CInf1), + Opts = Opts0 -- [from_asm], + CInf = lists:keyreplace(options, 1, CInf1, {options,Opts}), + term_to_binary(CInf). |