[10] RFR: 8182037: wrong ResourceMark in Method::print_short_name()

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

[10] RFR: 8182037: wrong ResourceMark in Method::print_short_name()

Rahul Raghavan
Hi,

Request help reviewing proposed fix for 8182037.

jbs - https://bugs.openjdk.java.net/browse/JDK-8182037

webrev.01 - http://cr.openjdk.java.net/~rraghavan/8182037/webrev.01/


Notes / jbs extract -

-- "void Method::print_short_name(outputStream* st) {
      ResourceMark rm;
breaks if st is not tty and buffer grows under the ResourceMark"

-- "All the printing functions that take an outputStream could
potentially have this problem.
The caller should have the ResourceMark."

-- "All but a couple of the calls to method->print_short_name()
are in compiler code, so reassigning to the compiler."



-- To fix the issue
- Removed ResourceMark from following printing functions -
     Method::print_short_name(outputStream* st)
     Method::print_name(outputStream* st)
     Method::print_on(outputStream* st)
- checked usages of above functions and added ResourceMark to the callers.


(Mach5 testing in progress)
So can this be the correct fix? please tell if I missed some point here.


Thanks,
Rahul
Reply | Threaded
Open this post in threaded view
|

Re: [10] RFR: 8182037: wrong ResourceMark in Method::print_short_name()

Rahul Raghavan
Hi,

Please hold the review of 8182037-webrev.01 submitted earlier.
Got failures in Mach5 testing.
Working to fix the issues and will submit revised webrev.

Thanks,
Rahul

On Monday 13 November 2017 02:29 PM, Rahul Raghavan wrote:

> Hi,
>
> Request help reviewing proposed fix for 8182037.
>
> jbs - https://bugs.openjdk.java.net/browse/JDK-8182037
>
> webrev.01 - http://cr.openjdk.java.net/~rraghavan/8182037/webrev.01/
>
>
> Notes / jbs extract -
>
> -- "void Method::print_short_name(outputStream* st) {
>       ResourceMark rm;
> breaks if st is not tty and buffer grows under the ResourceMark"
>
> -- "All the printing functions that take an outputStream could
> potentially have this problem.
> The caller should have the ResourceMark."
>
> -- "All but a couple of the calls to method->print_short_name()
> are in compiler code, so reassigning to the compiler."
>
>
>
> -- To fix the issue
> - Removed ResourceMark from following printing functions -
>      Method::print_short_name(outputStream* st)
>      Method::print_name(outputStream* st)
>      Method::print_on(outputStream* st)
> - checked usages of above functions and added ResourceMark to the callers.
>
>
> (Mach5 testing in progress)
> So can this be the correct fix? please tell if I missed some point here.
>
>
> Thanks,
> Rahul