Manually replacing / 2's with >> 1's as this generates more optimal code in web mode because we don't have to coerce the result to integer. However, it's only safe for non-negative numbers because shifting doesn't round correctly. Review by: knorton (desk check) git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@2332 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/user/src/com/google/gwt/user/client/ui/PopupPanel.java b/user/src/com/google/gwt/user/client/ui/PopupPanel.java index 97b1e4c..79361dc 100644 --- a/user/src/com/google/gwt/user/client/ui/PopupPanel.java +++ b/user/src/com/google/gwt/user/client/ui/PopupPanel.java
@@ -150,8 +150,8 @@ int height = (int) (progress * offsetHeight); int width = (int) (progress * offsetWidth); if (curPanel.animType == AnimationType.CENTER) { - top = (offsetHeight - height) / 2; - left = (offsetWidth - width) / 2; + top = (offsetHeight - height) >> 1; + left = (offsetWidth - width) >> 1; } right = left + width; bottom = top + height; @@ -314,8 +314,8 @@ show(); } - int left = (Window.getClientWidth() - getOffsetWidth()) / 2; - int top = (Window.getClientHeight() - getOffsetHeight()) / 2; + int left = (Window.getClientWidth() - getOffsetWidth()) >> 1; + int top = (Window.getClientHeight() - getOffsetHeight()) >> 1; setPopupPosition(Window.getScrollLeft() + left, Window.getScrollTop() + top); if (!initiallyShowing) {
diff --git a/user/src/com/google/gwt/user/client/ui/PrefixTree.java b/user/src/com/google/gwt/user/client/ui/PrefixTree.java index 74177fa..be84f89 100644 --- a/user/src/com/google/gwt/user/client/ui/PrefixTree.java +++ b/user/src/com/google/gwt/user/client/ui/PrefixTree.java
@@ -315,7 +315,7 @@ if (subtrees.hasOwnProperty(prefix)) { theTree = subtrees[prefix]; } else { - theTree = @com.google.gwt.user.client.ui.PrefixTree::createPrefixTree(I)(prefixLength * 2); + theTree = @com.google.gwt.user.client.ui.PrefixTree::createPrefixTree(I)(prefixLength << 1); subtrees[prefix] = theTree; }
diff --git a/user/src/com/google/gwt/user/client/ui/StackPanel.java b/user/src/com/google/gwt/user/client/ui/StackPanel.java index d0bb0b2..a70de0c 100644 --- a/user/src/com/google/gwt/user/client/ui/StackPanel.java +++ b/user/src/com/google/gwt/user/client/ui/StackPanel.java
@@ -400,7 +400,7 @@ protected void onEnsureDebugId(String baseID) { super.onEnsureDebugId(baseID); - int numHeaders = DOM.getChildCount(body) / 2; + int numHeaders = DOM.getChildCount(body) >> 1; for (int i = 0; i < numHeaders; i++) { Element headerElem = DOM.getFirstChild(DOM.getChild(body, 2 * i)); Element bodyElem = DOM.getFirstChild(DOM.getChild(body, 2 * i + 1));
diff --git a/user/super/com/google/gwt/emul/java/util/Arrays.java b/user/super/com/google/gwt/emul/java/util/Arrays.java index 29dd10f..06789b5 100644 --- a/user/super/com/google/gwt/emul/java/util/Arrays.java +++ b/user/super/com/google/gwt/emul/java/util/Arrays.java
@@ -49,7 +49,7 @@ int high = sortedArray.length - 1; while (low <= high) { - final int mid = low + ((high - low) / 2); + final int mid = low + ((high - low) >> 1); final byte midVal = sortedArray[mid]; if (midVal < key) { @@ -80,7 +80,7 @@ int high = a.length - 1; while (low <= high) { - final int mid = low + ((high - low) / 2); + final int mid = low + ((high - low) >> 1); final char midVal = a[mid]; if (midVal < key) { @@ -111,7 +111,7 @@ int high = sortedArray.length - 1; while (low <= high) { - final int mid = low + ((high - low) / 2); + final int mid = low + ((high - low) >> 1); final double midVal = sortedArray[mid]; if (midVal < key) { @@ -147,7 +147,7 @@ int high = sortedArray.length - 1; while (low <= high) { - final int mid = low + ((high - low) / 2); + final int mid = low + ((high - low) >> 1); final float midVal = sortedArray[mid]; if (midVal < key) { @@ -178,7 +178,7 @@ int high = sortedArray.length - 1; while (low <= high) { - final int mid = low + ((high - low) / 2); + final int mid = low + ((high - low) >> 1); final int midVal = sortedArray[mid]; if (midVal < key) { @@ -215,7 +215,7 @@ int high = sortedArray.length - 1; while (low <= high) { - final int mid = low + ((high - low) / 2); + final int mid = low + ((high - low) >> 1); final long midVal = sortedArray[mid]; if (midVal < key) { @@ -262,7 +262,7 @@ int high = sortedArray.length - 1; while (low <= high) { - final int mid = low + ((high - low) / 2); + final int mid = low + ((high - low) >> 1); final short midVal = sortedArray[mid]; if (midVal < key) { @@ -303,7 +303,7 @@ int high = sortedArray.length - 1; while (low <= high) { - final int mid = low + ((high - low) / 2); + final int mid = low + ((high - low) >> 1); final T midVal = sortedArray[mid]; final int compareResult = comparator.compare(midVal, key); @@ -1243,7 +1243,7 @@ // recursively sort both halves, using the array as temp space int tempLow = low + ofs; int tempHigh = high + ofs; - int tempMid = tempLow + ((tempHigh - tempLow) / 2); + int tempMid = tempLow + ((tempHigh - tempLow) >> 1); mergeSort(array, temp, tempLow, tempMid, -ofs, comp); mergeSort(array, temp, tempMid, tempHigh, -ofs, comp);
diff --git a/user/super/com/google/gwt/emul/java/util/Collections.java b/user/super/com/google/gwt/emul/java/util/Collections.java index c9f778d..252236b 100644 --- a/user/super/com/google/gwt/emul/java/util/Collections.java +++ b/user/super/com/google/gwt/emul/java/util/Collections.java
@@ -189,7 +189,7 @@ int high = sortedList.size() - 1; while (low <= high) { - final int mid = low + ((high - low) / 2); + final int mid = low + ((high - low) >> 1); final T midVal = sortedList.get(mid); final int compareResult = comparator.compare(midVal, key);
diff --git a/user/super/com/google/gwt/emul/java/util/PriorityQueue.java b/user/super/com/google/gwt/emul/java/util/PriorityQueue.java index 03079d9..48962e5 100644 --- a/user/super/com/google/gwt/emul/java/util/PriorityQueue.java +++ b/user/super/com/google/gwt/emul/java/util/PriorityQueue.java
@@ -74,7 +74,7 @@ heap.add(e); while (node > 0) { int childNode = node; - node = (node - 1) / 2; // get parent of current node + node = (node - 1) >> 1; // get parent of current node if (cmp.compare(heap.get(node), heap.get(childNode)) <= 0) { // parent is smaller, so we have a valid heap heap.set(childNode, e);