!7 set flag ExternalMutex_debug. cm > DynTestModule { void test { testExternalMetaMutexAndConvertObjectMetaToMap(); testMetaMapPut(); } void testExternalMetaMutexAndConvertObjectMetaToMap { new MetaWithExternalMutex o; print(meta := toStringWithIdentity(o._getMeta())); convertObjectMetaToMap(o); print(meta := toStringWithIdentity(o._getMeta())); convertObjectMetaToMap(o); print(meta := toStringWithIdentity(o._getMeta())); } void testMetaMapPut { new Meta o; print(meta := toStringWithIdentity(o._getMeta())); metaMapPut(o, hello := "World"); print(meta := toStringWithIdentity(o._getMeta())); metaMapPut(o, hello := null); metaMapPut(o, null := "hello"); // we assume meta never reverts to null (makes metaMapPut a lot faster) print(meta := toStringWithIdentity(assertNotNull(o._getMeta()))); } }