[9] RFR(L): 8037816 : Fix for 8036122 breaks build with Xcode5/clang

Vladimir Kozlov vladimir.kozlov at oracle.com
Wed Apr 30 06:14:10 UTC 2014


Thank you for fixing vm_version files.

In c1_LIR.cpp, c1_Runtime1.cpp, ciInstanceKlass.cpp, ciMetadata.cpp, ciObject.cpp not all 0x%" PRIxPTR were replaced by 

I see you kept a lot of '0x" PRIxPTR' instead of using INTPTR_FORMAT (or PTR_FORMAT) when printing (p2i) pointers. Why?
Files c1_LIR.cpp, c1_Runtime1.cpp, ciInstanceKlass.cpp, ciMetadata.cpp, ciObject.cpp, markOop.cpp.

memnode.cpp - for printing intptr_t values we should use INTX_FORMAT.

arguments.cpp - not all (unsigned int) were replaced.

I see that you enable by default ATTRIBUTE_PRINTF for print() and print_cr(). Does it mean they are checked by clang and 
gcc? I am for that if it is true otherwise they will degrade. I remember in first review you commented it. So I missed 
when it was enabled.

General question for not these changes. Do we still need PTR_FORMAT since you used p2i() for all pointer values which 
use INTPTR_FORMAT? Their definition are the same. Why keep both?


On 4/29/14 7:18 PM, David Chase wrote:
> All recommended changes made except the one that was not possible:
>> and INTPTR_FORMAT for:
>> out->print("%3d:0x" UINT64_FORMAT_X, type(), (uint64_t)as_jlong());
> (INTPTR_FORMAT is not guaranteed to be 64 bits)
> Patch brought up to date with independent partial cleanups in gc code.
> Diffs scanned for spacing glitches, those found and repaired.
> Retested, passed.
> New webrev: http://cr.openjdk.java.net/~drchase/8037816/webrev.03/
> One question -- src/share/vm/prims/jvmtiEnter.xsl contains both leading
> tabs and trailing spaces, and I think the trailing spaces may matter to the
> (appearance of the) generated code.  Will this pass jcheck?
> David

More information about the hotspot-dev mailing list