diff options
author | Björn Gustavsson <[email protected]> | 2011-11-24 14:51:01 +0100 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2011-11-24 15:11:50 +0100 |
commit | 042b9ae568fd4d00f2eeed89ae117e898593070d (patch) | |
tree | a18bdc58c568579371ab096e560092d095928723 /lib/hipe/main/hipe.erl | |
parent | 7292c3d9f5285592aa4de996f6f106cd365d7895 (diff) | |
download | otp-042b9ae568fd4d00f2eeed89ae117e898593070d.tar.gz otp-042b9ae568fd4d00f2eeed89ae117e898593070d.tar.bz2 otp-042b9ae568fd4d00f2eeed89ae117e898593070d.zip |
hipe: Teach hipe to handle slim or stripped BEAM files
Diffstat (limited to 'lib/hipe/main/hipe.erl')
-rw-r--r-- | lib/hipe/main/hipe.erl | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/hipe/main/hipe.erl b/lib/hipe/main/hipe.erl index 570e4d9d17..263d2e61a9 100644 --- a/lib/hipe/main/hipe.erl +++ b/lib/hipe/main/hipe.erl @@ -602,9 +602,13 @@ file(File, Options) when is_atom(File) -> disasm(File) -> case beam_disasm:file(File) of #beam_file{labeled_exports = LabeledExports, - compile_info = CompInfo, + compile_info = CompInfo0, code = BeamCode} -> - {options, CompOpts} = lists:keyfind(options, 1, CompInfo), + CompInfo = case CompInfo0 of + none -> []; + _ -> CompInfo0 + end, + CompOpts = proplists:get_value(options, CompInfo, []), HCompOpts = case lists:keyfind(hipe, 1, CompOpts) of {hipe, L} when is_list(L) -> L; {hipe, X} -> [X]; |