Dear Robbin,

It would be much nicer if the code was changed to call a new method in a
cpp file (this is clearly a slow path) and the new method could use a
bufferedStream to automatically expand the needed buffer. You would need to
implement vprint on bufferedStream to make is expand when needed, but that
should be doable.

Carsten

On Wed, Mar 16, 2016 at 12:13 PM, Kim Barrett <kim.barr...@oracle.com>
wrote:

> > On Mar 16, 2016, at 8:33 AM, Robbin Ehn <robbin....@oracle.com> wrote:
> >
> > Hi, please review this small change.
> >
> > This also change allocation methods.
> >
> > Bug: https://bugs.openjdk.java.net/browse/JDK-8151993/
> > Webrev: http://cr.openjdk.java.net/~rehn/8151993/webrev/
> >
> > Thanks!
> >
> > /Robbin
>
>
> ------------------------------------------------------------------------------
> src/share/vm/logging/log.hpp
> Changing this:
>  138       char* newbuf = NEW_C_HEAP_ARRAY(char, newbuf_len, mtLogging);
> to this:
>  137       char* newbuf = (char*) os::malloc(sizeof(char) * newbuf_len,
> mtLogging);
>
> New code is missing out of memory handling that was present in the old
> code.  New code will just try to use newbuf, with bad results if the
> allocation failed.
>
> New code is missing ASSERT-conditionalized PrintMallocFree support
> that was present in the old.  I don't know how important this is,
> given that we also have PrintMalloc.  (And I have to wonder why we
> have both PrintMalloc (develop) and PrintMallocFree (notproduct).)
>
>
> ------------------------------------------------------------------------------
>
>

Reply via email to