File 0253-diameter-increase-appup-file-replace-size-by-xxx_siz.patch of Package erlang
From b911d60d4452d1f39d3309ef680b1e35d78fee0a Mon Sep 17 00:00:00 2001
From: Kiko Fernandez-Reyes <kiko@erlang.org>
Date: Tue, 7 Feb 2023 08:46:51 +0100
Subject: [PATCH] diameter: increase appup file; replace size by xxx_size
The <c>size/1</c> BIF is not optimized by the JIT, and its use can
result in worse types for Dialyzer.
When one knows that the value being tested must be a tuple,
<c>tuple_size/1</c> should always be preferred.
When one knows that the value being tested must be a binary,
<c>byte_size/1</c> should be preferred. However, <c>byte_size/1</c> also
accepts a bitstring (rounding up size to a whole number of bytes), so
one must make sure that the call to <c>byte_size/</c> is preceded by a
call to <c>is_binary/1</c> to ensure that bitstrings are rejected. Note
that the compiler removes redundant calls to <c>is_binary/1</c>, so if
one is not sure whether previous code had made sure that the argument is
a binary, it does not harm to add an <c>is_binary/1</c> test immediately
before the call to <c>byte_size/1</c>.
This commit also updates the appup file forgotten in PR-6702 and PR-6769.
---
lib/diameter/src/diameter.appup.src | 58 +++++++++++------------------
1 file changed, 22 insertions(+), 36 deletions(-)
diff --git a/lib/diameter/src/diameter.appup.src b/lib/diameter/src/diameter.appup.src
index 97e95c94b6..59e24f8151 100644
--- a/lib/diameter/src/diameter.appup.src
+++ b/lib/diameter/src/diameter.appup.src
@@ -63,24 +63,13 @@
{"2.1.5", [{restart_application, diameter}]}, %% 21.0
{"2.1.6", [{restart_application, diameter}]}, %% 21.1
{"2.2", [{restart_application, diameter}]}, %% 21.3
- {"2.2.1", [{load_module, diameter}, %% 21.3.5
- {load_module, diameter_codec},
- {update, diameter_config},
- {update, diameter_dist},
- {update, diameter_peer_fsm},
- {update, diameter_service},
- {load_module, diameter_traffic},
- {load_module, diameter_types},
- {update, diameter_tcp},
- {update, diameter_sctp}]},
- {"2.2.2", [{load_module, diameter}, %% 22.2.8
- {load_module, diameter_types},
- {update, diameter_sctp}]},
- {"2.2.3", [{load_module, diameter_types},
- {update, diameter_sctp}]}, %% 22.3
- {"2.2.4", [{load_module, diameter_types}]}, %% 23.3.4
- {"2.2.5", [{load_module, diameter_types}]}, %% 24.3
- {"2.2.6", [{restart_application, diameter}]}
+ {"2.2.1", [{restart_application, diameter}]},
+ {"2.2.2", [{restart_application, diameter}]}, %% 22.2.8
+ {"2.2.3", [{restart_application, diameter}]}, %% 22.3
+ {"2.2.4", [{restart_application, diameter}]}, %% 23.3.4
+ {"2.2.5", [{restart_application, diameter}]}, %% 24.3
+ {"2.2.6", [{restart_application, diameter}]}, %% 25.0
+ {"2.2.7", [{restart_application, diameter}]} %% 25.1
],
[
{"0.9", [{restart_application, diameter}]},
@@ -125,23 +114,20 @@
{"2.1.5", [{restart_application, diameter}]},
{"2.1.6", [{restart_application, diameter}]},
{"2.2", [{restart_application, diameter}]},
- {"2.2.1", [{load_module, diameter},
- {load_module, diameter_codec},
- {update, diameter_config},
- {update, diameter_dist},
- {update, diameter_peer_fsm},
- {update, diameter_service},
- {load_module, diameter_traffic},
- {load_module, diameter_types},
- {update, diameter_tcp},
- {update, diameter_sctp}]},
- {"2.2.2", [{load_module, diameter},
- {load_module, diameter_types},
- {update, diameter_sctp}]},
- {"2.2.3", [{load_module, diameter_types},
- {update, diameter_sctp}]},
- {"2.2.4", [{load_module, diameter_types}]},
- {"2.2.5", [{load_module, diameter_types}]},
- {"2.2.6", [{restart_application, diameter}]}
+ {"2.1.1", [{restart_application, diameter}]},
+ {"2.1.2", [{restart_application, diameter}]},
+ {"2.1.3", [{restart_application, diameter}]},
+ {"2.1.4", [{restart_application, diameter}]},
+ {"2.1.4.1", [{restart_application, diameter}]},
+ {"2.1.5", [{restart_application, diameter}]},
+ {"2.1.6", [{restart_application, diameter}]},
+ {"2.2", [{restart_application, diameter}]},
+ {"2.2.1", [{restart_application, diameter}]},
+ {"2.2.2", [{restart_application, diameter}]},
+ {"2.2.3", [{restart_application, diameter}]},
+ {"2.2.4", [{restart_application, diameter}]},
+ {"2.2.5", [{restart_application, diameter}]},
+ {"2.2.6", [{restart_application, diameter}]},
+ {"2.2.7", [{restart_application, diameter}]}
]
}.
--
2.35.3