diff options
author | Björn Gustavsson <[email protected]> | 2018-04-16 12:55:45 +0200 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2018-04-16 13:08:57 +0200 |
commit | 0cdf2e2e276984087f8807a19db0ed4606a3e097 (patch) | |
tree | 2bc5823c0282e1991b71674a9fb73a8e30e44b52 /lib/hipe/main | |
parent | 33f89162d9d0dc4ff2b4ccf9319fbf04889879f7 (diff) | |
download | otp-0cdf2e2e276984087f8807a19db0ed4606a3e097.tar.gz otp-0cdf2e2e276984087f8807a19db0ed4606a3e097.tar.bz2 otp-0cdf2e2e276984087f8807a19db0ed4606a3e097.zip |
hipe: Eliminate use of erlang:get_stacktrace/0
Diffstat (limited to 'lib/hipe/main')
-rw-r--r-- | lib/hipe/main/hipe.erl | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/lib/hipe/main/hipe.erl b/lib/hipe/main/hipe.erl index acb9b7b062..97814fe217 100644 --- a/lib/hipe/main/hipe.erl +++ b/lib/hipe/main/hipe.erl @@ -669,8 +669,8 @@ run_compiler_1(Name, DisasmFun, IcodeFun, Options) -> {Icode, WholeModule} = IcodeFun(Code, Opts), CompRes = compile_finish(Icode, WholeModule, Opts), compiler_return(CompRes, Parent) - catch error:Error -> - print_crash_message(Name, Error), + catch error:Error:StackTrace -> + print_crash_message(Name, Error, StackTrace), exit(Error) end end), @@ -757,8 +757,8 @@ finalize(OrigList, Mod, Exports, WholeModule, Opts) -> TargetArch = get(hipe_target_arch), {ok, {TargetArch,Bin}} catch - error:Error -> - {error,Error,erlang:get_stacktrace()} + error:Error:StackTrace -> + {error,Error,StackTrace} end end. @@ -843,16 +843,16 @@ finalize_fun_sequential({MFA, Icode}, Opts, Servers) -> {llvm_binary, Binary} -> {MFA, Binary} catch - error:Error -> + error:Error:StackTrace -> ?when_option(verbose, Opts, ?debug_untagged_msg("\n", [])), - print_crash_message(MFA, Error), + print_crash_message(MFA, Error, StackTrace), exit(Error) end. -print_crash_message(What, Error) -> +print_crash_message(What, Error, StackTrace) -> StackFun = fun(_,_,_) -> false end, FormatFun = fun (Term, _) -> io_lib:format("~p", [Term]) end, - StackTrace = lib:format_stacktrace(1, erlang:get_stacktrace(), + StackTrace = lib:format_stacktrace(1, StackTrace, StackFun, FormatFun), WhatS = case What of {M,F,A} -> io_lib:format("~w:~w/~w", [M,F,A]); |