hp.com!davidm
dd8806c82d
(unw_dyn_info_format_t): Add UNW_INFO_FORMAT_REMOTE_TABLE.
...
(unw_dyn_remote_table_info_t): New type.
(unw_dyn_info): Add "rti" member.
(Logical change 1.126)
2003-11-25 22:33:49 +00:00
hp.com!davidm
7cec620ea8
(remote_read): New macro.
...
(remote_lookup): New function.
(_Uia64_search_unwind_table): Handle UNW_INFO_FORMAT_REMOTE_TABLE.
(_Uia64_find_dyn_list): Take unw_dyn_info_t pointer argument instead of its
members and handle UNW_INFO_FORMAT_REMOTE_TABLE.
(Logical change 1.126)
2003-11-25 22:33:49 +00:00
hp.com!davidm
13147e5e9c
(free_dyn_info): Handle UNW_INFO_FORMAT_REMOTE_TABLE.
...
(intern_dyn_info): Likewise.
(Logical change 1.126)
2003-11-25 22:33:49 +00:00
hp.com!davidm
0976af5f9f
(create_state_record_for): Handle UNW_INFO_FORMAT_REMOTE_TABLE.
...
(Logical change 1.126)
2003-11-25 22:33:49 +00:00
hp.com!davidm
48723262f7
(_Uia64_find_dyn_list): Pass unw_dyn_info_t pointer instead of its members.
...
(Logical change 1.126)
2003-11-25 22:33:49 +00:00
hp.com!davidm
04a99eaa5c
(_UPT_get_dyn_info_list_addr): Pass unw_dyn_info_t pointer instead of its
...
members.
(Logical change 1.126)
2003-11-25 22:33:49 +00:00
hp.com!davidm
32894ce85a
Fix the non-atomic_ops-version of cmpxchg_ptr().
...
BKrev: 3fc3b7e1Zo2K5ohi8QDhmWPnKb5iFQ
2003-11-25 20:13:21 +00:00
hp.com!davidm
e01fb3b27e
(cmpxchg_ptr): Correct sense of comparison.
...
(Logical change 1.125)
2003-11-25 20:13:21 +00:00
hp.com!davidm
14e8ee4385
ia64: If ATOMIC_OPS_H is defined, use a simple flag rather than a
...
pthread_mutex lock to mediate access to the script-cache.
This has the advantage of avoiding the relatively expensive
sigprocmask()/pthread_mutex_lock()/pthread_mutex_unlock()/sigprocmask()
sequence when caching is enabled. Also, with thread-local caching,
libunwind should scale perfectly to large number of CPUs/threads.
BKrev: 3fc299f5M7RqNOmP68nsDCIWdSS1lg
2003-11-24 23:53:25 +00:00
hp.com!davidm
e433ec3820
(unw_create_addr_space): Drop call to ia64_script_cache_init(). It's
...
not needed because we default to "no caching" and if the application
turns on caching via unw_set_caching_policy(), the cache will get
initialized at that time.
(Logical change 1.124)
2003-11-24 23:53:25 +00:00
hp.com!davidm
6ed5d0264f
(ia64_script_cache_init): Delete.
...
(Logical change 1.124)
2003-11-24 23:53:25 +00:00
hp.com!davidm
d61f300b7b
(ia64_script_cache): If HAVE_ATOMIC_OPS_H is true, declare "busy" member
...
in lieu of "lock" member.
(Logical change 1.124)
2003-11-24 23:53:25 +00:00
hp.com!davidm
629d7d3263
(ia64_per_thread_cache): Initialize busy/lock member.
...
(get_script_cache): Return NULL if caching is disabled. If
HAVE_ATOMIC_OPS_H is defined, set the busy flag and if
the script cache is busy already, return NULL.
(put_script_cache): Don't allow it to be called for UNW_CACHE_NONE case.
If HAVE_ATOMIC_OPS_H is defined, clear the "busy" flag via
AO_CLEAR.
(ia64_get_cached_proc_info): If we're unable to acquire the cache,
return -UNW_ENOINFO.
(script_init): New function.
(script_new): Replace open code with call to script_init().
(uncached_find_save_locs): New function.
(ia64_find_save_locs): Move code for uncached case to
uncached_find_save_locs(). If get_script_cache() is unable to
lock the script-cache, fall back to uncached_find_save_locs().
(ia64_script_cache_init): Delete.
(Logical change 1.124)
2003-11-24 23:53:25 +00:00
hp.com!davidm
e939f42941
(ia64_local_addr_space_init): Instead of calling ia64_script_cache_init(),
...
force a flush via unw_flush_cache().
(Logical change 1.124)
2003-11-24 23:53:25 +00:00
hp.com!davidm
c3fa0b6fa8
Regenerate.
...
(Logical change 1.123)
2003-11-24 21:37:22 +00:00
hp.com!davidm
89d2adc59a
Drop include of ia64intrin.h.
...
(Logical change 1.123)
2003-11-24 21:37:22 +00:00
hp.com!davidm
a0b454581a
Drop include of <ia64intrin.h>.
...
(unw_flush_cache): Replace __sync_fetch_and_add() with fetch_and_add1().
(Logical change 1.123)
2003-11-24 21:37:22 +00:00
hp.com!davidm
9a2388db17
Add support for the atomic-ops interface.
...
BKrev: 3fc27a12bs0NCbEFc99-DfZIKl61tA
2003-11-24 21:37:22 +00:00
hp.com!davidm
5e832c337f
Add CHECK_ATOMIC_OPS test.
...
(Logical change 1.123)
2003-11-24 21:37:22 +00:00
hp.com!davidm
8e36032bc5
(unw_addr_space): If HAVE_ATOMIC_OPS_H is defined, declare cache_generation
...
of type AO_T. This is a temporary work-around until atomic_ops.h
supports atomic ops on 32-bit variables.
(Logical change 1.123)
2003-11-24 21:37:22 +00:00
hp.com!davidm
92b48f5fe8
(sos_alloc): cmpxchg_ptr() now returns a boolean value (TRUE on success).
...
(Logical change 1.123)
2003-11-24 21:37:22 +00:00
hp.com!davidm
90e8393da3
(inline): Add #undef of "inline" before (re-)defining it.
...
Add support for atomic_ops.h.
Add fetch_and_add1() and if it is supported, define
HAVE_FETCH_AND_ADD1.
(Logical change 1.123)
2003-11-24 21:37:22 +00:00
hp.com!davidm
94f198b288
(handler): Adjust printf format to avoid compiler warning.
...
(Logical change 1.123)
2003-11-24 21:37:22 +00:00
hp.com!davidm
64fa4c080a
(CHECK_ATOMIC_OPS): New test.
...
(Logical change 1.123)
2003-11-24 21:37:22 +00:00
hp.com!davidm
3f32d4b09f
ia64: Don't acquire the script-cache lock when caching is disabled.
...
BKrev: 3fc24f7fZ4j5hs7_FGo85zJKgYbBCQ
2003-11-24 18:35:43 +00:00
hp.com!davidm
ffb9c88e0a
(ia64_find_save_locs): Separate out the no-cache case so we don't
...
acquire the script-cache lock needlessly.
(Logical change 1.122)
2003-11-24 18:35:43 +00:00
hp.com!davidm
8a5d7aad9b
ia64: Fix an initialization-race that kept NPTL test-case tst-cancel10 from
...
working properly.
BKrev: 3fc24f08_2n5sDugh5y-3SaRA4-JkQ
2003-11-24 18:33:44 +00:00
hp.com!davidm
3f35f343c3
(needs_initialization): Declare it as volatile so we get proper memory
...
ordering when accessing it. Also, shrink size to 1 byte and move
it closer to other frequently-used fields.
(Logical change 1.121)
2003-11-24 18:33:44 +00:00
hp.com!davidm
22ca263109
(ia64_init): To prevent a race, unw.needs_initialization must be cleared
...
_after_ everything is initialized.
(Logical change 1.121)
2003-11-24 18:33:44 +00:00
hp.com!davidm
955c9d72de
Drop a bogus range-check from _UPT_find_proc_info.c.
...
BKrev: 3fbf024cAF5HwLyYvJe9ryYzraErAw
2003-11-22 06:29:32 +00:00
hp.com!davidm
ca11999d9d
(UPTi_find_unwind_table): Drop bogus range-check.
...
(Logical change 1.120)
2003-11-22 06:29:32 +00:00
hp.com!davidm
1d1e8f3ba7
ia64: Fix list of register-names used for debugging.
...
BKrev: 3fbf013cWBAW18Cb6_zIWA-yzUa1OA
2003-11-22 06:25:00 +00:00
hp.com!davidm
40e929815c
(unw.pre_name): Add missing register names.
...
(Logical change 1.119)
2003-11-22 06:25:00 +00:00
hp.com!davidm
21a8c644e7
ia64: Make per-thread caching work.
...
BKrev: 3fbf0066zF7IGnE1AphIo29Zv59ZqA
2003-11-22 06:21:26 +00:00
hp.com!davidm
8b3248c32e
(unw_set_caching_policy): If caching-policy didn't change, return
...
early. Always flush cache after changing the policy.
This is to ensure that the per-thread cache gets initialized
and no stale info remains.
(Logical change 1.118)
2003-11-22 06:21:26 +00:00
hp.com!davidm
2245be9d9b
(get_script_cache): Need to disable signal-delivery even for per-thread
...
caching.
(put_script_cache): Need to re-enable signal-delivery even for
per-thread caching.
(Logical change 1.118)
2003-11-22 06:21:26 +00:00
hp.com!davidm
984170936a
ia64: Fix the handling of r0. Previously, bad thing would happen
...
when accessing r0 and there was a signal frame on the stack.
BKrev: 3fbeff34laFDN81Kp37SbTkjOPIGYQ
2003-11-22 06:16:20 +00:00
hp.com!davidm
8d7426fe0a
(linux_scratch_loc): Add a default-case which simply returns the
...
register-location. This is so that special-cases such
as r0 are handled properly.
(Logical change 1.117)
2003-11-22 06:16:20 +00:00
hp.com!davidm
c23814c91c
Regenerate.
...
(Logical change 1.116)
2003-11-22 06:11:18 +00:00
hp.com!davidm
119f52f298
Fix typo & description of unw_step(). Reported by Hans Boehm.
...
BKrev: 3fbefe06XgpjYsZN9iUagkJ44R-YVw
2003-11-22 06:11:18 +00:00
hp.com!davidm
bb4371c364
Fix description of the return value.
...
(Logical change 1.116)
2003-11-22 06:11:18 +00:00
hp.com!davidm
34085cad7b
Fix a typo.
...
(Logical change 1.116)
2003-11-22 06:11:18 +00:00
hp.com!davidm
2c9be974dc
Regenerate.
...
(Logical change 1.115)
2003-11-22 06:08:20 +00:00
hp.com!davidm
f626045f59
Do autoreconf and work around libtool bug.
...
BKrev: 3fbefd541K4H9aGm1LrbxSo71QLLTw
2003-11-22 06:08:20 +00:00
hp.com!davidm
a2ff0da66f
Delete: aux/libtool
...
}(Logical change 1.115)
2003-11-22 06:08:20 +00:00
mostang.com!davidm
e83a184218
Regenerate.
...
(Logical change 1.114)
2003-11-20 01:10:03 +00:00
mostang.com!davidm
7a346fbf8c
Measure with caching disabled, global caching, and thread-local
...
caching.
(Logical change 1.114)
2003-11-20 01:10:03 +00:00
mostang.com!davidm
716484f000
(Logical change 1.114)
2003-11-20 01:10:03 +00:00
mostang.com!davidm
634e645f67
Initial revision
2003-11-20 01:10:03 +00:00
mostang.com!davidm
2048e47261
Add a test-case for concurrent (multi-threaded unwinding).
...
Expand the performance testing to cover all 3 caching policies.
BKrev: 3fbc146bA7l4JDVv-V9HbFW-FVtQ2Q
2003-11-20 01:10:03 +00:00