RFR: 8029630: Print thread id hex representation in error messages. (original) (raw)
David Holmes david.holmes at oracle.com
Mon Apr 13 22:56:56 UTC 2015
- Previous message: RFR: 8029630: Print thread id hex representation in error messages.
- Next message: RFR: 8029630: Print thread id hex representation in error messages.
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Hi Max,
On 14/04/2015 6:25 AM, Max Ockner wrote:
Hello,
Modified this again. I defined TIDFORMAT to make it a better semantic match.
Not sure that actually improves anything. There is no "tid" type. Primarily what we have is a function returning intx and we want to print it as hex. I still think INTPTR_FORMAT suffices. Otherwise INTX_HEX_FORMAT is you really want to introduce something new - but I don't suggest doing that.
I still see vmError.cpp using PTR_FORMAT ??
Sorry.
David
Tested with jprt
Thanks, Max On 4/9/2015 9:48 PM, David Holmes wrote: Hi Max,
On 10/04/2015 5:11 AM, Max Ockner wrote: Hi again, After working past some build issues, I have a new webrev. I've changed %x to PTRFORMAT, and I've removed the modification to thread.cpp
New webrev: http://cr.openjdk.java.net/~mockner/8029630.4/ I think INTPTRFORMAT would be more of a semantic match as the thread id is not a pointer type. David Thanks, Max On 4/6/2015 9:10 PM, David Holmes wrote: Hi Max,
On 3/04/2015 5:38 AM, Max Ockner wrote: Hello, Please review this change:
Bug: https://bugs.openjdk.java.net/browse/JDK-8029630 Webrev: http://cr.openjdk.java.net/~mockner/8029630.2/ Summary: Existing error messages for vm crashes print the decimal representation of the current thread id. The message format has been changed to print the hex value of the thread id. src/share/vm/runtime/thread.cpp The change is incorrect and unnecessary. 'this' is a pointer type so INTPTRFORMAT seems correct (though it may need p2i(this)?) while %x assumes 'this' is always 32-bit. Further INTPTRFORMAT is already hex not decimal. src/share/vm/utilities/vmError.cpp As Thomas pointed out%x assumes 32-bit and so is incorrect for intx type. As intx is a typedef for intptrt then INTPTRFORMAT should be usable here as well. David Tested with jtreg runtime to make sure nothing was broken. I tested the new functionality separately. I crashed the vm and examined the debugger output to make sure the hexadecimal thread id printed in the error message matched one of the threads listed by the debugger. Thanks, Max
- Previous message: RFR: 8029630: Print thread id hex representation in error messages.
- Next message: RFR: 8029630: Print thread id hex representation in error messages.
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]