public override Fingerprint ComputeFingerprint() { Fingerprint globalPrint = new Fingerprint(); #if HAS_GLOBALS // Fingerprinting globals defaults to the nonincremental WriteString method // As a prerequirement for incremental fingerprinting of globals // we need 'dirty' bits at coarser levels (currently there is one for the entire globals) BinaryWriter MyBinWriter = GetBinaryWriter(MySerialNum); MyBinWriter.Seek(0, SeekOrigin.Begin); globals.WriteString(this, MyBinWriter); MemoryStream MyMemStream = GetMemoryStream(MySerialNum); globalPrint = FingerprintNonHeapBuffer(MyMemStream.GetBuffer(), (int)MyMemStream.Position); //globalprint = Fingerprint.ComputeFingerprint(StateImpl.MemoryStream.GetBuffer(), (int)StateImpl.MemoryStream.Position, GlobalDomain, 0); #else //globalPrint = new Fingerprint(); #endif Fingerprint basePrint = base.ComputeFingerprint(); globalPrint.Concatenate(basePrint); return globalPrint; }