<AWT Dev> debugging a regression
Pete Brunet
peter.brunet at oracle.com
Wed Jul 1 13:25:18 UTC 2015
Thanks Semyon! I'll give it a try. -Pete
On 7/1/15 2:29 AM, Semyon Sadetsky wrote:
> 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
>>>
>>
>
More information about the awt-dev
mailing list