// // Slab_cache // PUBLIC inline Slab_cache::Slab_cache(unsigned long slab_size, unsigned elem_size, unsigned alignment, char const * name) : _slab_size(slab_size), _entry_size(entry_size(elem_size, alignment)), _num_empty(0), _name (name) { lock.init(); _elem_num = (_slab_size - sizeof(Slab)) / _entry_size; }
TEST(SmallLocks, PicoSpinSigned) { typedef PicoSpinLock<int16_t,0> Lock; Lock val; val.init(-4); EXPECT_EQ(val.getData(), -4); { std::lock_guard<Lock> guard(val); EXPECT_EQ(val.getData(), -4); val.setData(-8); EXPECT_EQ(val.getData(), -8); } EXPECT_EQ(val.getData(), -8); }