diff --git a/src/horus.erl b/src/horus.erl index b074466..541bd02 100644 --- a/src/horus.erl +++ b/src/horus.erl @@ -1218,8 +1218,16 @@ pass1_process_instructions( Instructions, #state{mfa_in_progress = MFA, asm_in_progress_from = cover} = State) -> - Instructions1 = horus_cover:isolate_cover_instructions(MFA, Instructions), - pass1_process_instructions(Instructions1, State, []); + NativeCoverageSupport = erlang:function_exported( + code, coverage_support, 0) andalso + apply(code, coverage_support, []), + case NativeCoverageSupport of + true -> + pass1_process_instructions(Instructions, State, []); + false -> + Instructions1 = horus_cover:isolate_cover_instructions(MFA, Instructions), + pass1_process_instructions(Instructions1, State, []) + end; pass1_process_instructions(Instructions, State) -> pass1_process_instructions(Instructions, State, []).