[commit] r1110 - trunk/GME/Core

GMESRC Repository Notifications gme-commit at list.isis.vanderbilt.edu
Tue Dec 28 09:12:31 CST 2010


Author: ksmyth
Date: Tue Dec 28 09:12:31 2010
New Revision: 1110

Log:
Another 8% savings in Open

Modified:
   trunk/GME/Core/CoreBinFile.h

Modified: trunk/GME/Core/CoreBinFile.h
==============================================================================
--- trunk/GME/Core/CoreBinFile.h	Mon Dec 27 17:29:36 2010	(r1109)
+++ trunk/GME/Core/CoreBinFile.h	Tue Dec 28 09:12:31 2010	(r1110)
@@ -94,14 +94,12 @@
 	BinAttrUnion(BinAttrUnion&& that) {
 		// This copies the virtual function table (i.e. runtime type) too!
 		memcpy(this, &that, sizeof(BinAttrUnion));
-		BinAttrUnion empty;
 		// Copy an empty BinAttrUnion over that so resources are not released twice
-		memcpy(&that, &empty, sizeof(BinAttrUnion));
+		new ((void*)(&that)) BinAttrUnion();
 	}
 	BinAttrUnion& operator=(BinAttrUnion&& that) {
 		memcpy(this, &that, sizeof(BinAttrUnion));
-		BinAttrUnion empty;
-		memcpy(&that, &empty, sizeof(BinAttrUnion));
+		new ((void*)(&that)) BinAttrUnion();
 		return *this;
 	}
 	BinAttrUnion(const BinAttrUnion& that) {


More information about the gme-commit mailing list