Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8045379 | 8u25 | Igor Veresov | P4 | Resolved | Fixed | b01 |
JDK-8039229 | 8u20 | Igor Veresov | P4 | Resolved | Fixed | b09 |
JDK-8053299 | emb-8u26 | Igor Veresov | P4 | Resolved | Fixed | b17 |
[4/2/14, 6:29:26 AM] Tom Rodriguez: The implicit null check is in the wrong place.
[4/2/14, 6:29:29 AM] Tom Rodriguez: diff -r f83404938588 -r 1b96d1a74514 src/cpu/x86/vm/c1_LIRAssembler_x86.cpp
--- a/src/cpu/x86/vm/c1_LIRAssembler_x86.cpp Tue Apr 01 15:49:13 2014 -0700
+++ b/src/cpu/x86/vm/c1_LIRAssembler_x86.cpp Tue Apr 01 19:45:34 2014 -0700
@@ -800,7 +800,13 @@
if (UseCompressedOops && !wide) {
__ movl(as_Address(addr), (int32_t)NULL_WORD);
} else {
+#ifdef _LP64
+ __ xorptr(r10, r10);
+ null_check_here = code_offset();
+ __ movptr(as_Address(addr), r10);
+#else
__ movptr(as_Address(addr), NULL_WORD);
+#endif
}
} else {
if (is_literal_address(addr)) {
[4/2/14, 6:29:29 AM] Tom Rodriguez: diff -r f83404938588 -r 1b96d1a74514 src/cpu/x86/vm/c1_LIRAssembler_x86.cpp
--- a/src/cpu/x86/vm/c1_LIRAssembler_x86.cpp Tue Apr 01 15:49:13 2014 -0700
+++ b/src/cpu/x86/vm/c1_LIRAssembler_x86.cpp Tue Apr 01 19:45:34 2014 -0700
@@ -800,7 +800,13 @@
if (UseCompressedOops && !wide) {
__ movl(as_Address(addr), (int32_t)NULL_WORD);
} else {
+#ifdef _LP64
+ __ xorptr(r10, r10);
+ null_check_here = code_offset();
+ __ movptr(as_Address(addr), r10);
+#else
__ movptr(as_Address(addr), NULL_WORD);
+#endif
}
} else {
if (is_literal_address(addr)) {
- backported by
-
JDK-8039229 Implicit null check is in the wrong place in C1 -UseCompressedOops
-
- Resolved
-
-
JDK-8045379 Implicit null check is in the wrong place in C1 -UseCompressedOops
-
- Resolved
-
-
JDK-8053299 Implicit null check is in the wrong place in C1 -UseCompressedOops
-
- Resolved
-