Hi Pete,

I heard that you got performance issue in b68 connected to text components.
It can be caused by https://bugs.openjdk.java.net/browse/JDK-8098835.

The next patch can help:

--- old/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicTextUI.java 2015-06-16 20:20:42.678311800 +0300 +++ new/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicTextUI.java 2015-06-16 20:20:42.136257600 +0300
@@ -971,7 +971,7 @@
             ((AbstractDocument)doc).readLock();
         }
         try {
- d.width = (int) rootView.getMinimumSpan(View.X_AXIS) + i.left + i.right; + d.width = (int) rootView.getMinimumSpan(View.X_AXIS) + i.left + i.right + caretMargin; d.height = (int) rootView.getMinimumSpan(View.Y_AXIS) + i.top + i.bottom;
         } finally {
             if (doc instanceof AbstractDocument) {
@@ -996,7 +996,7 @@
         }
         try {
d.width = (int) Math.min((long) rootView.getMaximumSpan(View.X_AXIS) + - (long) i.left + (long) i.right, Integer.MAX_VALUE); + (long) i.left + (long) i.right + caretMargin, Integer.MAX_VALUE); d.height = (int) Math.min((long) rootView.getMaximumSpan(View.Y_AXIS) + (long) i.top + (long) i.bottom, Integer.MAX_VALUE);
         } finally {
@@ -1027,7 +1027,7 @@
             Insets insets = editor.getInsets();
             alloc.x += insets.left;
             alloc.y += insets.top;
-            alloc.width -= insets.left + insets.right;
+            alloc.width -= insets.left + insets.right + caretMargin;
             alloc.height -= insets.top + insets.bottom;
             return alloc;
         }

--Semyon


On 6/29/2015 10:13 AM, Vadim Pakhnushev wrote:
I think './common/bin/hgforest bisect ...' should do the trick then.

On 29.06.2015 7:30, Phil Race wrote:

Just be aware that you will need to apply the same to each repo in the JDK forest. Else it will very likely not build. Eg the jdk repo must be in sync with the top-level repo.

-phil.

On 6/28/15 5:59 PM, Pete Brunet wrote:
Thanks Vadim, I'll give it a try.  -Pete

On 6/28/15 3:24 PM, Vadim Pakhnushev wrote:
Pete,

Actually you should use hg bisect command to do this.
First, you mark 2 revisions you now as bad and good, like this:
hg bisect --good jdk9-b67
hg bisect --bad tip
The last command will bisect the list of changesets and update the
repo to some changeset in between.
Then you build the repo, test it and mark it as either bad or good:
hg bisect --bad
This will advance the current changeset and you test it again until
you arrive at the 'first bad' changeset.
See here for reference: https://www.selenic.com/hg/help/bisect

Hope this helps,
Vadim

On 28.06.2015 18:15, Pete Brunet wrote:
Looks like I can use hg update to accomplish this, i.e. hg update to the rev that is b67 and then hg update to each possibly offending rev of the
jdk repo.  Sound right?

On 6/26/15 4:13 PM, Pete Brunet wrote:
Hi, I found a problem on b68 and there are a half dozen possible
changesets that could be responsible. What is the best way to do the process of elimination. It seems like the right approach would be to start with b67 and then add changesets one at a time until the problem
surfaces.  Is that right or is there a better way?

Starting with a fresh current clone what are the steps to strip back to
b67 and then to add changesets?

This will be in the jdk branch of the forest.

Thanks, Pete



Reply via email to