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).)
------------------------------------------------------------------------------