Make the JS collector work with multiple threads
authoroliver@apple.com <oliver@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 30 Nov 2007 03:02:08 +0000 (03:02 +0000)
committeroliver@apple.com <oliver@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 30 Nov 2007 03:02:08 +0000 (03:02 +0000)
commit343f340fbb74910d9c0727b284a6d2cd3bca6575
tree7fc78734c2ac1a68185bb18b3da92dd6d234f718
parent4bdb40f6e2e5de14bb0b08e0b256c53e600efa22
Make the JS collector work with multiple threads

Reviewed by Maciej and Darin.

Under heavy contention it was possible the GC to suspend other
threads inside the pthread spinlock, which could lead to the GC
thread blocking on the pthread spinlock itself.

We now determine and store each thread's stack base when it is
registered, thus removing the need for any calls to pthread_get_stackaddr_np
that needed the pthread spinlock.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28223 268f45cc-cd09-0410-ab3c-d52691b4dbfc
JavaScriptCore/ChangeLog
JavaScriptCore/kjs/collector.cpp