I3IZ5Z: 8181872-overflow when strength reducing interger multiply
This commit is contained in:
parent
32fff003bb
commit
d30e871bf0
22
818172_overflow_when_strength_reducing_interger_multiply.patch
Executable file
22
818172_overflow_when_strength_reducing_interger_multiply.patch
Executable file
@ -0,0 +1,22 @@
|
||||
diff --git a/hotspot/src/cpu/aarch64/vm/c1_LIRGenerator_aarch64.cpp b/hotspot/src/cpu/aarch64/vm/c1_LIRGenerator_aarch64.cpp
|
||||
index 6d0b4acbd..ecd4bd4a6 100644
|
||||
--- a/hotspot/src/cpu/aarch64/vm/c1_LIRGenerator_aarch64.cpp
|
||||
+++ b/hotspot/src/cpu/aarch64/vm/c1_LIRGenerator_aarch64.cpp
|
||||
@@ -607,12 +607,12 @@ void LIRGenerator::do_ArithmeticOp_Int(ArithmeticOp* x) {
|
||||
} else {
|
||||
assert (x->op() == Bytecodes::_imul, "expect imul");
|
||||
if (right.is_constant()) {
|
||||
- int c = right.get_jint_constant();
|
||||
- if (! is_power_of_2(c) && ! is_power_of_2(c + 1) && ! is_power_of_2(c - 1)) {
|
||||
- // Cannot use constant op.
|
||||
- right.load_item();
|
||||
+ jint c = right.get_jint_constant();
|
||||
+ if (c > 0 && c < max_jint && (is_power_of_2(c) || is_power_of_2(c - 1) || is_power_of_2(c + 1))) {
|
||||
+ right.dont_load_item();
|
||||
} else {
|
||||
- right.dont_load_item();
|
||||
+ // Cannot use constant op.
|
||||
+ right_arg->load_item();
|
||||
}
|
||||
} else {
|
||||
right.load_item();
|
||||
@ -921,7 +921,7 @@ Provides: java-%{javaver}-%{origin}-accessibility%{?1} = %{epoch}:%{version}-%{r
|
||||
|
||||
Name: java-%{javaver}-%{origin}
|
||||
Version: %{javaver}.%{updatever}.%{buildver}
|
||||
Release: 11
|
||||
Release: 12
|
||||
# java-1.5.0-ibm from jpackage.org set Epoch to 1 for unknown reasons
|
||||
# and this change was brought into RHEL-4. java-1.5.0-ibm packages
|
||||
# also included the epoch in their virtual provides. This created a
|
||||
@ -1091,6 +1091,7 @@ Patch161: 8259886-Improve-SSL-session-cache-performance-and-sc.patch
|
||||
Patch162: 8214535-support-Jmap-parallel.patch
|
||||
Patch163: fix_VerifyCerts.java_testcase_bug.patch
|
||||
Patch164: src-openeuler-openjdk-1.8.0-resolve-code-inconsistencies.patch
|
||||
Patch165: 818172_overflow_when_strength_reducing_interger_multiply.patch
|
||||
|
||||
#############################################
|
||||
#
|
||||
@ -1530,6 +1531,7 @@ pushd %{top_level_dir_name}
|
||||
%patch162 -p1
|
||||
%patch163 -p1
|
||||
%patch164 -p1
|
||||
%patch165 -p1
|
||||
|
||||
popd
|
||||
|
||||
@ -2146,6 +2148,9 @@ require "copy_jdk_configs.lua"
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Thu Apr 15 2021 kuenking <wangkun49@huawei.com> - 1:1.8.0.282-b08.12
|
||||
- add 818172_overflow_when_strength_reducing_interger_multiply.patch
|
||||
|
||||
* Tue Apr 13 2021 kuenking <wangkun49@huawei.com> - 1:1.8.0.282-b08.11
|
||||
- add src-openeuler-openjdk-1.8.0-resolve-code-inconsistencies.patch
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user