# HG changeset patch # User never # Date 1311804395 25200 # Node ID 0f34fdee809e9a771977392e409018994fa78774 # Parent 4e761e7e6e1201d0e2ceb2f0bc71fc0cce727889 7071427: AdapterFingerPrint can hold 8 entries per int Reviewed-by: kvn diff -r 4e761e7e6e12 -r 0f34fdee809e src/share/vm/runtime/java.cpp --- a/src/share/vm/runtime/java.cpp Tue Jul 26 19:35:23 2011 -0700 +++ b/src/share/vm/runtime/java.cpp Wed Jul 27 15:06:35 2011 -0700 @@ -243,6 +243,7 @@ FlagSetting fs(DisplayVMOutput, DisplayVMOutput && PrintC1Statistics); Runtime1::print_statistics(); Deoptimization::print_statistics(); + SharedRuntime::print_statistics(); nmethod::print_statistics(); } #endif /* COMPILER1 */ @@ -254,8 +255,8 @@ #ifndef COMPILER1 Deoptimization::print_statistics(); nmethod::print_statistics(); + SharedRuntime::print_statistics(); #endif //COMPILER1 - SharedRuntime::print_statistics(); os::print_statistics(); } diff -r 4e761e7e6e12 -r 0f34fdee809e src/share/vm/runtime/sharedRuntime.cpp --- a/src/share/vm/runtime/sharedRuntime.cpp Tue Jul 26 19:35:23 2011 -0700 +++ b/src/share/vm/runtime/sharedRuntime.cpp Wed Jul 27 15:06:35 2011 -0700 @@ -2130,9 +2130,9 @@ public: AdapterFingerPrint(int total_args_passed, BasicType* sig_bt) { // The fingerprint is based on the BasicType signature encoded - // into an array of ints with four entries per int. + // into an array of ints with eight entries per int. int* ptr; - int len = (total_args_passed + 3) >> 2; + int len = (total_args_passed + 7) >> 3; if (len <= (int)(sizeof(_value._compact) / sizeof(int))) { _value._compact[0] = _value._compact[1] = _value._compact[2] = 0; // Storing the signature encoded as signed chars hits about 98% @@ -2145,11 +2145,11 @@ ptr = _value._fingerprint; } - // Now pack the BasicTypes with 4 per int + // Now pack the BasicTypes with 8 per int int sig_index = 0; for (int index = 0; index < len; index++) { int value = 0; - for (int byte = 0; byte < 4; byte++) { + for (int byte = 0; byte < 8; byte++) { if (sig_index < total_args_passed) { value = (value << 4) | adapter_encoding(sig_bt[sig_index++]); } @@ -2190,8 +2190,9 @@ const char* as_string() { stringStream st; + st.print("0x"); for (int i = 0; i < length(); i++) { - st.print(PTR_FORMAT, value(i)); + st.print("%08x", value(i)); } return st.as_string(); }