summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMichael Klishin <michael@novemberain.com>2016-03-04 03:01:01 +0300
committerMichael Klishin <michael@novemberain.com>2016-03-04 03:01:01 +0300
commit0d65ecaa6437094873e68d12e63907ae98c0f99f (patch)
tree1bccf3c72c5c27a72b2c5ac4b99be2d8af4eaad1 /src
parent9bffa7957ecea99b9d3363a55f12d590c0af8bf9 (diff)
parent3ee51f779ac237d33c9d07a7214a3aa75248c404 (diff)
downloadrabbitmq-server-git-0d65ecaa6437094873e68d12e63907ae98c0f99f.tar.gz
Merge pull request #572 from rabbitmq/rabbitmq-server-346
Avoid hipe compile versioned modules
Diffstat (limited to 'src')
-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 |",