* win32_threads.c (GC_push_all_stacks): Tolerate bad sp.
From-SVN: r55103
This commit is contained in:
parent
49e9776d06
commit
32d7e5881b
|
@ -1,3 +1,8 @@
|
|||
2002-06-28 Hans Boehm <Hans_Boehm@hp.com>
|
||||
Jonathan Clark
|
||||
|
||||
* win32_threads.c (GC_push_all_stacks): Tolerate bad sp.
|
||||
|
||||
2002-05-14 Release Manager
|
||||
|
||||
* GCC 3.1 Released.
|
||||
|
|
|
@ -144,8 +144,15 @@ void GC_push_all_stacks()
|
|||
GC_push_one ((word) thread_table[i].context.Edx);
|
||||
GC_push_one ((word) thread_table[i].context.Ecx);
|
||||
GC_push_one ((word) thread_table[i].context.Eax);
|
||||
GC_push_all_stack((char *) thread_table[i].context.Esp,
|
||||
thread_table[i].stack);
|
||||
if (thread_table[i].context.Esp >= (DWORD)thread_table[i].stack
|
||||
|| thread_table[i].context.Esp < (DWORD)bottom) {
|
||||
WARN("Thread stack pointer 0x%lx out of range, pushing everything",
|
||||
thread_table[i].context.Esp);
|
||||
GC_push_all_stack((char *) bottom, thread_table[i].stack);
|
||||
} else {
|
||||
GC_push_all_stack((char *) thread_table[i].context.Esp,
|
||||
thread_table[i].stack);
|
||||
}
|
||||
# else
|
||||
# ifdef ARM32
|
||||
if (thread_table[i].context.Sp >= (DWORD)thread_table[i].stack
|
||||
|
|
Loading…
Reference in New Issue