summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/rabbit_hipe.erl7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/rabbit_hipe.erl b/src/rabbit_hipe.erl
index 0302d82839..05b5f3719d 100644
--- a/src/rabbit_hipe.erl
+++ b/src/rabbit_hipe.erl
@@ -44,7 +44,8 @@ hipe_compile() ->
%% happens when RabbitMQ is stopped (just the
%% application, not the entire node) and started
%% again.
- already_hipe_compiled(HM)],
+ already_hipe_compiled(HM)
+ andalso (not compiled_with_version_support(HM))],
case HipeModules of
[] -> {ok, already_compiled};
_ -> do_hipe_compile(HipeModules)
@@ -59,6 +60,10 @@ already_hipe_compiled(Mod) ->
code:is_module_native(Mod) =:= false
end.
+compiled_with_version_support(Mod) ->
+ proplists:get_value(erlang_version_support, Mod:module_info(attributes))
+ =/= undefined.
+
do_hipe_compile(HipeModules) ->
Count = length(HipeModules),
io:format("~nHiPE compiling: |~s|~n |",