• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

ivmai / bdwgc / 270
77%

Build:
DEFAULT BRANCH: master
Ran 24 Aug 2017 09:11AM UTC
Jobs 1
Files 33
Run time 2s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

pending completion
270

push

travis-ci

ivmai
Eliminate most of collisions in GC_threads on Linux/x64

On some targets (e.g., Linux/x64) pthread_t values always have zero
in the lowest byte (e.g. if pthread_t is actually a page-aligned
pointer) thus causing all the created thread descriptors to have
a collision at GC_threads[0].  This commit mixes 3 lowest bytes
of thread id with a XOR operation (thus greatly reduces the
probability of collisions in GC_threads).

* include/private/pthread_support.h (THREAD_TABLE_SZ): Do not
define if already defined; refine comment.
* pthread_support.c (THREAD_TABLE_INDEX): New macro (similar to that
in win32_threads.c).
* pthread_support.c (GC_new_thread, GC_delete_thread,
GC_delete_gc_thread, GC_lookup_thread): Replace
NUMERIC_THREAD_ID(id)%THREAD_TABLE_SZ to THREAD_TABLE_INDEX(id).
* pthread_support.c (GC_lookup_thread): Remove hv local variable.
* win32_threads.c (THREAD_TABLE_INDEX): Replace (id>>2) to
((id>>16)^(id>>8)^id).
* win32_threads.c [GC_PTHREADS] (GC_lookup_pthread): Define win32_id
local variable to pass it to THREAD_TABLE_INDEX() instead of passing
GET_PTHREAD_MAP_CACHE(id) directly.

4 of 4 new or added lines in 1 file covered. (100.0%)

4797 of 7288 relevant lines covered (65.82%)

1087597.4 hits per line

Uncovered Existing Lines

Lines Coverage ∆ File
1
100.0
headers.c
1
100.0
typd_mlc.c
6
100.0
allchblk.c
Jobs
ID Job ID Ran Files Coverage
28 270.28 (CONF_OPTIONS="--enable-gcov --enable-handle-fork --enable-munmap --enable-single-obj-compilation --enable-cplusplus --disable-shared --enable-gc-assertions" CFLAGS_EXTRA="-D NO_INCREMENTAL" REPORT_COVERAGE=true) 24 Aug 2017 09:11AM UTC 0
65.82
Travis Job 270.28
Source Files on build 270
Detailed source file information is not available for this build.
  • Back to Repo
  • Travis Build #270
  • 85fce54e on github
  • Prev Build on master (#269)
  • Next Build on master (#271)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc