8162795: RFR: [REDO] MemberNameTable doesn't purge stale entries

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

8162795: RFR: [REDO] MemberNameTable doesn't purge stale entries

KEVIN WALLS
Hi,

This is a review request for:
[REDO] MemberNameTable doesn't purge stale entries
https://bugs.openjdk.java.net/browse/JDK-8162795

For certain apps, such as those with heavy use of the JavaScript engine,
the MemberNameTable and its weak references can introduce considerable
GC overhead.  In some cases GC cannot keep up with the activity and
collection times continually increase.  This is a regression in jdk8 or
later, compared to e.g. jdk7.

The change in 8152271:
https://bugs.openjdk.java.net/browse/JDK-8152271
MemberNameTable doesn't purge stale entries

...fixes this, but that was reverted from 9 due to a regression in a
microbenchmark.  While that benchmark is a concern, more serious is the
regression currently out there for certain apps when moving up to JDK 8
or 9.  Adding back the change in 8152271 fixes this.

Re-applying the original change from 8152271 by Coleen still works, with
one copyright date fixup.  A webrev is:

http://cr.openjdk.java.net/~kevinw/8162795/webrev.00/

Plan is to re-integrate the 8152271 change in 9 (this request), and
backport to 8.  Meanwhile, a better solution for MemberNameTable in
jdk10 is being pursued in https://bugs.openjdk.java.net/browse/JDK-8174749

Thanks
Kevin


Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: 8162795: RFR: [REDO] MemberNameTable doesn't purge stale entries

coleen.phillimore
This looks good.
Thanks for diagnosing this for this internal customer.
Coleen

On 2/20/17 10:24 AM, Kevin Walls wrote:

> Hi,
>
> This is a review request for:
> [REDO] MemberNameTable doesn't purge stale entries
> https://bugs.openjdk.java.net/browse/JDK-8162795
>
> For certain apps, such as those with heavy use of the JavaScript
> engine, the MemberNameTable and its weak references can introduce
> considerable GC overhead.  In some cases GC cannot keep up with the
> activity and collection times continually increase.  This is a
> regression in jdk8 or later, compared to e.g. jdk7.
>
> The change in 8152271:
> https://bugs.openjdk.java.net/browse/JDK-8152271
> MemberNameTable doesn't purge stale entries
>
> ...fixes this, but that was reverted from 9 due to a regression in a
> microbenchmark.  While that benchmark is a concern, more serious is
> the regression currently out there for certain apps when moving up to
> JDK 8 or 9.  Adding back the change in 8152271 fixes this.
>
> Re-applying the original change from 8152271 by Coleen still works,
> with one copyright date fixup.  A webrev is:
>
> http://cr.openjdk.java.net/~kevinw/8162795/webrev.00/
>
> Plan is to re-integrate the 8152271 change in 9 (this request), and
> backport to 8.  Meanwhile, a better solution for MemberNameTable in
> jdk10 is being pursued in
> https://bugs.openjdk.java.net/browse/JDK-8174749
>
> Thanks
> Kevin
>
>

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: 8162795: RFR: [REDO] MemberNameTable doesn't purge stale entries

serguei.spitsyn@oracle.com
In reply to this post by KEVIN WALLS
Hi Kevin,

This looks good but one comment needs to be corrected:

http://cr.openjdk.java.net/~kevinw/8162795/webrev.00/src/share/vm/prims/methodHandles.cpp.udiff.html

+ // This is linear because these because these are short lists. The
"because these" repeated twice.



Thanks,
Serguei


On 2/20/17 07:24, Kevin Walls wrote:

> Hi,
>
> This is a review request for:
> [REDO] MemberNameTable doesn't purge stale entries
> https://bugs.openjdk.java.net/browse/JDK-8162795
>
> For certain apps, such as those with heavy use of the JavaScript
> engine, the MemberNameTable and its weak references can introduce
> considerable GC overhead.  In some cases GC cannot keep up with the
> activity and collection times continually increase.  This is a
> regression in jdk8 or later, compared to e.g. jdk7.
>
> The change in 8152271:
> https://bugs.openjdk.java.net/browse/JDK-8152271
> MemberNameTable doesn't purge stale entries
>
> ...fixes this, but that was reverted from 9 due to a regression in a
> microbenchmark.  While that benchmark is a concern, more serious is
> the regression currently out there for certain apps when moving up to
> JDK 8 or 9.  Adding back the change in 8152271 fixes this.
>
> Re-applying the original change from 8152271 by Coleen still works,
> with one copyright date fixup.  A webrev is:
>
> http://cr.openjdk.java.net/~kevinw/8162795/webrev.00/
>
> Plan is to re-integrate the 8152271 change in 9 (this request), and
> backport to 8.  Meanwhile, a better solution for MemberNameTable in
> jdk10 is being pursued in
> https://bugs.openjdk.java.net/browse/JDK-8174749
>
> Thanks
> Kevin
>
>

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: 8162795: RFR: [REDO] MemberNameTable doesn't purge stale entries

KEVIN WALLS
Hi Serguei - great, I've corrected that in the same location.

Thanks
Kevin


On 21/02/2017 03:13, [hidden email] wrote:

> Hi Kevin,
>
> This looks good but one comment needs to be corrected:
>
> http://cr.openjdk.java.net/~kevinw/8162795/webrev.00/src/share/vm/prims/methodHandles.cpp.udiff.html 
>
>
> + // This is linear because these because these are short lists. The
> "because these" repeated twice.
>
>
>
> Thanks,
> Serguei
>
>
> On 2/20/17 07:24, Kevin Walls wrote:
>> Hi,
>>
>> This is a review request for:
>> [REDO] MemberNameTable doesn't purge stale entries
>> https://bugs.openjdk.java.net/browse/JDK-8162795
>>
>> For certain apps, such as those with heavy use of the JavaScript
>> engine, the MemberNameTable and its weak references can introduce
>> considerable GC overhead.  In some cases GC cannot keep up with the
>> activity and collection times continually increase.  This is a
>> regression in jdk8 or later, compared to e.g. jdk7.
>>
>> The change in 8152271:
>> https://bugs.openjdk.java.net/browse/JDK-8152271
>> MemberNameTable doesn't purge stale entries
>>
>> ...fixes this, but that was reverted from 9 due to a regression in a
>> microbenchmark.  While that benchmark is a concern, more serious is
>> the regression currently out there for certain apps when moving up to
>> JDK 8 or 9.  Adding back the change in 8152271 fixes this.
>>
>> Re-applying the original change from 8152271 by Coleen still works,
>> with one copyright date fixup.  A webrev is:
>>
>> http://cr.openjdk.java.net/~kevinw/8162795/webrev.00/
>>
>> Plan is to re-integrate the 8152271 change in 9 (this request), and
>> backport to 8.  Meanwhile, a better solution for MemberNameTable in
>> jdk10 is being pursued in
>> https://bugs.openjdk.java.net/browse/JDK-8174749
>>
>> Thanks
>> Kevin
>>
>>
>

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: 8162795: RFR: [REDO] MemberNameTable doesn't purge stale entries

KEVIN WALLS
In reply to this post by coleen.phillimore
Thanks Coleen!


On 20/02/2017 22:04, [hidden email] wrote:

> This looks good.
> Thanks for diagnosing this for this internal customer.
> Coleen
>
> On 2/20/17 10:24 AM, Kevin Walls wrote:
>> Hi,
>>
>> This is a review request for:
>> [REDO] MemberNameTable doesn't purge stale entries
>> https://bugs.openjdk.java.net/browse/JDK-8162795
>>
>> For certain apps, such as those with heavy use of the JavaScript
>> engine, the MemberNameTable and its weak references can introduce
>> considerable GC overhead.  In some cases GC cannot keep up with the
>> activity and collection times continually increase.  This is a
>> regression in jdk8 or later, compared to e.g. jdk7.
>>
>> The change in 8152271:
>> https://bugs.openjdk.java.net/browse/JDK-8152271
>> MemberNameTable doesn't purge stale entries
>>
>> ...fixes this, but that was reverted from 9 due to a regression in a
>> microbenchmark.  While that benchmark is a concern, more serious is
>> the regression currently out there for certain apps when moving up to
>> JDK 8 or 9.  Adding back the change in 8152271 fixes this.
>>
>> Re-applying the original change from 8152271 by Coleen still works,
>> with one copyright date fixup.  A webrev is:
>>
>> http://cr.openjdk.java.net/~kevinw/8162795/webrev.00/
>>
>> Plan is to re-integrate the 8152271 change in 9 (this request), and
>> backport to 8.  Meanwhile, a better solution for MemberNameTable in
>> jdk10 is being pursued in
>> https://bugs.openjdk.java.net/browse/JDK-8174749
>>
>> Thanks
>> Kevin
>>
>>
>

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: 8162795: RFR: [REDO] MemberNameTable doesn't purge stale entries

coleen.phillimore

Hi Kevin, you are checking this in under this bug-id right?

https://bugs.openjdk.java.net/browse/JDK-8166852

thanks,
Coleen

On 2/21/17 5:11 AM, Kevin Walls wrote:

> Thanks Coleen!
>
>
> On 20/02/2017 22:04, [hidden email] wrote:
>> This looks good.
>> Thanks for diagnosing this for this internal customer.
>> Coleen
>>
>> On 2/20/17 10:24 AM, Kevin Walls wrote:
>>> Hi,
>>>
>>> This is a review request for:
>>> [REDO] MemberNameTable doesn't purge stale entries
>>> https://bugs.openjdk.java.net/browse/JDK-8162795
>>>
>>> For certain apps, such as those with heavy use of the JavaScript
>>> engine, the MemberNameTable and its weak references can introduce
>>> considerable GC overhead.  In some cases GC cannot keep up with the
>>> activity and collection times continually increase.  This is a
>>> regression in jdk8 or later, compared to e.g. jdk7.
>>>
>>> The change in 8152271:
>>> https://bugs.openjdk.java.net/browse/JDK-8152271
>>> MemberNameTable doesn't purge stale entries
>>>
>>> ...fixes this, but that was reverted from 9 due to a regression in a
>>> microbenchmark.  While that benchmark is a concern, more serious is
>>> the regression currently out there for certain apps when moving up
>>> to JDK 8 or 9.  Adding back the change in 8152271 fixes this.
>>>
>>> Re-applying the original change from 8152271 by Coleen still works,
>>> with one copyright date fixup.  A webrev is:
>>>
>>> http://cr.openjdk.java.net/~kevinw/8162795/webrev.00/
>>>
>>> Plan is to re-integrate the 8152271 change in 9 (this request), and
>>> backport to 8.  Meanwhile, a better solution for MemberNameTable in
>>> jdk10 is being pursued in
>>> https://bugs.openjdk.java.net/browse/JDK-8174749
>>>
>>> Thanks
>>> Kevin
>>>
>>>
>>
>

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: 8162795: RFR: [REDO] MemberNameTable doesn't purge stale entries

coleen.phillimore

Never mind, I was confused.  You checked it in under the [REDO] bug.

So is https://bugs.openjdk.java.net/browse/JDK-8166852 resolved when you
backport 8162795 then?

Thanks,
Coleen

On 2/21/17 10:06 AM, [hidden email] wrote:

>
> Hi Kevin, you are checking this in under this bug-id right?
>
> https://bugs.openjdk.java.net/browse/JDK-8166852
>
> thanks,
> Coleen
>
> On 2/21/17 5:11 AM, Kevin Walls wrote:
>> Thanks Coleen!
>>
>>
>> On 20/02/2017 22:04, [hidden email] wrote:
>>> This looks good.
>>> Thanks for diagnosing this for this internal customer.
>>> Coleen
>>>
>>> On 2/20/17 10:24 AM, Kevin Walls wrote:
>>>> Hi,
>>>>
>>>> This is a review request for:
>>>> [REDO] MemberNameTable doesn't purge stale entries
>>>> https://bugs.openjdk.java.net/browse/JDK-8162795
>>>>
>>>> For certain apps, such as those with heavy use of the JavaScript
>>>> engine, the MemberNameTable and its weak references can introduce
>>>> considerable GC overhead.  In some cases GC cannot keep up with the
>>>> activity and collection times continually increase.  This is a
>>>> regression in jdk8 or later, compared to e.g. jdk7.
>>>>
>>>> The change in 8152271:
>>>> https://bugs.openjdk.java.net/browse/JDK-8152271
>>>> MemberNameTable doesn't purge stale entries
>>>>
>>>> ...fixes this, but that was reverted from 9 due to a regression in
>>>> a microbenchmark.  While that benchmark is a concern, more serious
>>>> is the regression currently out there for certain apps when moving
>>>> up to JDK 8 or 9.  Adding back the change in 8152271 fixes this.
>>>>
>>>> Re-applying the original change from 8152271 by Coleen still works,
>>>> with one copyright date fixup.  A webrev is:
>>>>
>>>> http://cr.openjdk.java.net/~kevinw/8162795/webrev.00/
>>>>
>>>> Plan is to re-integrate the 8152271 change in 9 (this request), and
>>>> backport to 8.  Meanwhile, a better solution for MemberNameTable in
>>>> jdk10 is being pursued in
>>>> https://bugs.openjdk.java.net/browse/JDK-8174749
>>>>
>>>> Thanks
>>>> Kevin
>>>>
>>>>
>>>
>>
>

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: 8162795: RFR: [REDO] MemberNameTable doesn't purge stale entries

KEVIN WALLS
In reply to this post by coleen.phillimore
Hi Coleen,

Actually no, the "REDO" title is from 8162797.

8166852 I was going to close it as a dup of 8162797, hope that's OK.

Thanks
Kevin


On 21/02/2017 15:06, [hidden email] wrote:

>
> Hi Kevin, you are checking this in under this bug-id right?
>
> https://bugs.openjdk.java.net/browse/JDK-8166852
>
> thanks,
> Coleen
>
> On 2/21/17 5:11 AM, Kevin Walls wrote:
>> Thanks Coleen!
>>
>>
>> On 20/02/2017 22:04, [hidden email] wrote:
>>> This looks good.
>>> Thanks for diagnosing this for this internal customer.
>>> Coleen
>>>
>>> On 2/20/17 10:24 AM, Kevin Walls wrote:
>>>> Hi,
>>>>
>>>> This is a review request for:
>>>> [REDO] MemberNameTable doesn't purge stale entries
>>>> https://bugs.openjdk.java.net/browse/JDK-8162795
>>>>
>>>> For certain apps, such as those with heavy use of the JavaScript
>>>> engine, the MemberNameTable and its weak references can introduce
>>>> considerable GC overhead.  In some cases GC cannot keep up with the
>>>> activity and collection times continually increase.  This is a
>>>> regression in jdk8 or later, compared to e.g. jdk7.
>>>>
>>>> The change in 8152271:
>>>> https://bugs.openjdk.java.net/browse/JDK-8152271
>>>> MemberNameTable doesn't purge stale entries
>>>>
>>>> ...fixes this, but that was reverted from 9 due to a regression in
>>>> a microbenchmark.  While that benchmark is a concern, more serious
>>>> is the regression currently out there for certain apps when moving
>>>> up to JDK 8 or 9.  Adding back the change in 8152271 fixes this.
>>>>
>>>> Re-applying the original change from 8152271 by Coleen still works,
>>>> with one copyright date fixup.  A webrev is:
>>>>
>>>> http://cr.openjdk.java.net/~kevinw/8162795/webrev.00/
>>>>
>>>> Plan is to re-integrate the 8152271 change in 9 (this request), and
>>>> backport to 8.  Meanwhile, a better solution for MemberNameTable in
>>>> jdk10 is being pursued in
>>>> https://bugs.openjdk.java.net/browse/JDK-8174749
>>>>
>>>> Thanks
>>>> Kevin
>>>>
>>>>
>>>
>>
>

Loading...