Re: RFR: JDK-8062849 -- Optimize EnumMap.equals

2015-08-03 Thread Brent Christian

Looks reasonable to me.
-Brent

On 7/28/15 9:14 AM, Steve Drach wrote:

Please review the following simple fix for the issue reported in 
https://bugs.openjdk.java.net/browse/JDK-8062849 
https://bugs.openjdk.java.net/browse/JDK-8062849.

-
# HG changeset patch
# User sdrach
# Date 143193 25200
#  Fri Jul 24 15:33:13 2015 -0700
# Node ID e57b1569a65ec4dc8c749dedd3345abe5d493054
# Parent  4dd09cb5f7c2a2a23a9958ea7a602dd74d5709b2
8062849: Optimize EnumMap.equals
Summary: In the equals method, if the two EnumMaps are a different size return 
false since they can't be equal.
Reviewed-by: brent.christ...@oracle.com, paul.san...@oracle.com
Contributed-by: steve.dr...@oracle.com

diff --git a/src/java.base/share/classes/java/util/EnumMap.java 
b/src/java.base/share/classes/java/util/EnumMap.java
--- a/src/java.base/share/classes/java/util/EnumMap.java
+++ b/src/java.base/share/classes/java/util/EnumMap.java
@@ -681,8 +681,11 @@
  }

  private boolean equals(EnumMap?,? em) {
+if (size != em.size)
+return false;
+
  if (em.keyType != keyType)
-return size == 0  em.size == 0;
+return size == 0;

  // Key types match, compare each value
  for (int i = 0; i  keyUniverse.length; i++) {



Re: RFR: JDK-8062849 -- Optimize EnumMap.equals

2015-07-29 Thread Paul Sandoz

On 28 Jul 2015, at 18:14, Steve Drach steve.dr...@oracle.com wrote:

 Please review the following simple fix for the issue reported in 
 https://bugs.openjdk.java.net/browse/JDK-8062849 
 https://bugs.openjdk.java.net/browse/JDK-8062849.
 

+1

Paul.

 -
 # HG changeset patch
 # User sdrach
 # Date 143193 25200
 #  Fri Jul 24 15:33:13 2015 -0700
 # Node ID e57b1569a65ec4dc8c749dedd3345abe5d493054
 # Parent  4dd09cb5f7c2a2a23a9958ea7a602dd74d5709b2
 8062849: Optimize EnumMap.equals
 Summary: In the equals method, if the two EnumMaps are a different size 
 return false since they can't be equal.
 Reviewed-by: brent.christ...@oracle.com, paul.san...@oracle.com
 Contributed-by: steve.dr...@oracle.com
 
 diff --git a/src/java.base/share/classes/java/util/EnumMap.java 
 b/src/java.base/share/classes/java/util/EnumMap.java
 --- a/src/java.base/share/classes/java/util/EnumMap.java
 +++ b/src/java.base/share/classes/java/util/EnumMap.java
 @@ -681,8 +681,11 @@
 }
 
 private boolean equals(EnumMap?,? em) {
 +if (size != em.size)
 +return false;
 +
 if (em.keyType != keyType)
 -return size == 0  em.size == 0;
 +return size == 0;
 
 // Key types match, compare each value
 for (int i = 0; i  keyUniverse.length; i++) {
 



RFR: JDK-8062849 -- Optimize EnumMap.equals

2015-07-28 Thread Steve Drach
Please review the following simple fix for the issue reported in 
https://bugs.openjdk.java.net/browse/JDK-8062849 
https://bugs.openjdk.java.net/browse/JDK-8062849.

-
# HG changeset patch
# User sdrach
# Date 143193 25200
#  Fri Jul 24 15:33:13 2015 -0700
# Node ID e57b1569a65ec4dc8c749dedd3345abe5d493054
# Parent  4dd09cb5f7c2a2a23a9958ea7a602dd74d5709b2
8062849: Optimize EnumMap.equals
Summary: In the equals method, if the two EnumMaps are a different size return 
false since they can't be equal.
Reviewed-by: brent.christ...@oracle.com, paul.san...@oracle.com
Contributed-by: steve.dr...@oracle.com

diff --git a/src/java.base/share/classes/java/util/EnumMap.java 
b/src/java.base/share/classes/java/util/EnumMap.java
--- a/src/java.base/share/classes/java/util/EnumMap.java
+++ b/src/java.base/share/classes/java/util/EnumMap.java
@@ -681,8 +681,11 @@
 }
 
 private boolean equals(EnumMap?,? em) {
+if (size != em.size)
+return false;
+
 if (em.keyType != keyType)
-return size == 0  em.size == 0;
+return size == 0;
 
 // Key types match, compare each value
 for (int i = 0; i  keyUniverse.length; i++) {