Mercurial > hg > truffle
comparison src/os/solaris/vm/os_solaris.cpp @ 4803:d7e3846464d0
7071311: Decoder enhancement
Summary: Made decoder thread-safe
Reviewed-by: coleenp, kamg
author | zgu |
---|---|
date | Tue, 17 Jan 2012 13:08:52 -0500 |
parents | 20bfb6d15a94 |
children | de268c8a8075 |
comparison
equal
deleted
inserted
replaced
4801:4f3ce9284781 | 4803:d7e3846464d0 |
---|---|
1995 return true; | 1995 return true; |
1996 } | 1996 } |
1997 } | 1997 } |
1998 if (dlinfo.dli_fname != NULL && dlinfo.dli_fbase != 0) { | 1998 if (dlinfo.dli_fname != NULL && dlinfo.dli_fbase != 0) { |
1999 if (Decoder::decode((address)(addr - (address)dlinfo.dli_fbase), | 1999 if (Decoder::decode((address)(addr - (address)dlinfo.dli_fbase), |
2000 dlinfo.dli_fname, buf, buflen, offset) == Decoder::no_error) { | 2000 buf, buflen, offset, dlinfo.dli_fname)) { |
2001 return true; | 2001 return true; |
2002 } | 2002 } |
2003 } | 2003 } |
2004 if (buf != NULL) buf[0] = '\0'; | 2004 if (buf != NULL) buf[0] = '\0'; |
2005 if (offset != NULL) *offset = -1; | 2005 if (offset != NULL) *offset = -1; |
2013 } | 2013 } |
2014 if (offset != NULL) *offset = addr - (address)dlinfo.dli_saddr; | 2014 if (offset != NULL) *offset = addr - (address)dlinfo.dli_saddr; |
2015 return true; | 2015 return true; |
2016 } else if (dlinfo.dli_fname != NULL && dlinfo.dli_fbase != 0) { | 2016 } else if (dlinfo.dli_fname != NULL && dlinfo.dli_fbase != 0) { |
2017 if (Decoder::decode((address)(addr - (address)dlinfo.dli_fbase), | 2017 if (Decoder::decode((address)(addr - (address)dlinfo.dli_fbase), |
2018 dlinfo.dli_fname, buf, buflen, offset) == Decoder::no_error) { | 2018 buf, buflen, offset, dlinfo.dli_fname)) { |
2019 return true; | 2019 return true; |
2020 } | 2020 } |
2021 } | 2021 } |
2022 if (buf != NULL) buf[0] = '\0'; | 2022 if (buf != NULL) buf[0] = '\0'; |
2023 if (offset != NULL) *offset = -1; | 2023 if (offset != NULL) *offset = -1; |