diff ir/irclass.cpp @ 1241:fc579f389f9a

!ClassInfo instances were not mutable, this is necessary for .classinfo based locking to work. !ModuleInfo generation was commented out as well.
author Tomas Lindquist Olsen <tomas.l.olsen gmail.com>
date Fri, 17 Apr 2009 00:54:20 +0200
parents 57db55766118
children 871ae029ff49
line wrap: on
line diff
--- a/ir/irclass.cpp	Fri Apr 17 00:36:21 2009 +0200
+++ b/ir/irclass.cpp	Fri Apr 17 00:54:20 2009 +0200
@@ -66,8 +66,9 @@
     IrTypeClass* tc = cinfo->type->irtype->isClass();
     assert(tc && "invalid ClassInfo type");
 
+    // classinfos cannot be constants since they're used a locks for synchronized
     classInfo = new llvm::GlobalVariable(
-        tc->getPA().get(), true, _linkage, NULL, initname, gIR->module);
+        tc->getPA().get(), false, _linkage, NULL, initname, gIR->module);
 
     return classInfo;
 }