Hi Carsten, thanks for looking at this.

On 03/16/2016 05:27 PM, Carsten Varming wrote:
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

This is a template class.

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.

After 'fastpath' we know the size, so there should never be any need for 'expand' anything?

Thanks!

/Robbin


Carsten

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

     > On Mar 16, 2016, at 8:33 AM, Robbin Ehn <robbin....@oracle.com
    <mailto: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