Java HotSpot(TM) Server VM warning: increase O_BUFLEN in ostream.hpp -- output truncated
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:
00c B1: # B72 B2 <- BLOCK HEAD IS JUNK Freq: 1
00c # stack bang
SUB ESP,104 # Create frame
01a MOV [ESP + #28],ECX
01e MOV EDI,ECX
020 MOV ESI,[ECX + #40] # int ! Field
023 MOV ECX,[ECX + #48] ! Field
More information about the hotspot-compiler-dev