[sgen] Tag cemented objects so we don't have to go through the hash.
commit512c9866cafaf957d61a486b0e832a18273b2cb8
authorMark Probst <mark.probst@gmail.com>
Wed, 3 Sep 2014 02:20:53 +0000 (2 19:20 -0700)
committerMark Probst <mark.probst@gmail.com>
Wed, 26 Nov 2014 18:38:36 +0000 (26 10:38 -0800)
treeb7d155eca47c155cd8d971c4f1d7b06b68b4ea26
parent23f12565d9eb3930c57487eefb6ae514f098d76d
[sgen] Tag cemented objects so we don't have to go through the hash.

We can do the cemented check faster by using the third vtable bit to
tag cemented objects (in addition to the pinned bit).  In workloads
that are heavy on cementing (like `lcscbench` or `perimeter`) this
significantly increases performance.
mono/metadata/sgen-gc.h
mono/metadata/sgen-major-scan-object.h
mono/metadata/sgen-marksweep.c
mono/metadata/sgen-minor-copy-object.h
mono/metadata/sgen-pinning.c
mono/metadata/sgen-tagged-pointer.h