Java HotSpot(TM) Server VM warning: increase O_BUFLEN in ostream.hpp -- output truncated

Ulf Zibis Ulf.Zibis at gmx.de
Thu Jan 14 08:41:21 PST 2010


Am 14.01.2010 17:28, John Rose schrieb:
> On Jan 14, 2010, at 8:22 AM, Ulf Zibis wrote:
>
>   
>> Thanks for looking at 6916395.
>> All 4 "guys" of db(), qb() have been inlined in the 2 encode() methods, but only three of them were printed separately. So I'm confused, why only 1 of them is missing.
>>     
>
> Sometimes but not always a method that is inlined is also separately compiled.  For some reason, which is probably unimportant to application performance, the dynamic compiler has chosen to separately compile some, but not all, of your routines.
>
> There are many actions taken by the JVM which are arbitrary, which for which the explanation would not be interesting.  Heuristics for NP-hard problems (like optimal inlining) are going to produce puzzling outcomes sometimes.
>
>   

Good news, so I guess, you could close bug 6916395 as invalid, best 
adding your explanation above.

>> Can you give me a hint about -XX:PrintAssemblyOptions=hsdis-print-bytes ?
>> What is the purpose of it,
>> and if/why it is mandatory to get a correct PrintCompilation output?
>>     
>
> Wait for the bug fix, and see what happens.  The hsdis-print-bytes bytes is what it sounds like:  A non-mandatory option to dump the raw bytes of the instructions, as well as the symbolic disassembly.
>
>   

Thanks for clarification. But I'm wondering why I can't see any 
difference, using it. The output is still without raw bytes, see:

[snip]
000
00c   B1: #    B72 B2 <- BLOCK HEAD IS JUNK   Freq: 1
00c       # stack bang
    PUSHL  EBP
    SUB    ESP,104    # Create frame
01a       MOV    [ESP + #28],ECX
01e       MOV    EDI,ECX
020       MOV    ESI,[ECX + #40]    # int ! Field 
sun/nio/cs/FastCharset$Decoder.dstOff
023       MOV    ECX,[ECX + #48] ! Field 
sun/nio/cs/FastCharset$Decoder.dstBuf
[snap]

-Ulf





More information about the hotspot-compiler-dev mailing list