summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormig <mig>2011-03-23 13:11:16 (GMT)
committermig <mig>2011-03-23 13:11:16 (GMT)
commitd68b078b5ccb7111f9c82f5d536184052563a8bd (patch)
tree4d40533848d8ac8332055dc6ff3b360bc1e73ef9
parent95f9acf8cd7767e4e519e48f3e7c2946a20f4381 (diff)
downloadtcl-d68b078b5ccb7111f9c82f5d536184052563a8bd.zip
tcl-d68b078b5ccb7111f9c82f5d536184052563a8bd.tar.gz
tcl-d68b078b5ccb7111f9c82f5d536184052563a8bd.tar.bz2
* generic/tclObj.c: exploit HAVE_FAST_TSD for the deletion context in TclFreeObj()
-rw-r--r--ChangeLog5
-rw-r--r--generic/tclObj.c4
2 files changed, 9 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 07bcdf5..0b0297c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2011-03-23 Miguel Sofer <msofer@users.sf.net>
+
+ * generic/tclObj.c: exploit HAVE_FAST_TSD for the deletion context
+ in TclFreeObj()
+
2011-03-22 Miguel Sofer <msofer@users.sf.net>
* generic/tclThreadAlloc.c: simpler initialization of Cache
diff --git a/generic/tclObj.c b/generic/tclObj.c
index 3bc6f12..5fc8142 100644
--- a/generic/tclObj.c
+++ b/generic/tclObj.c
@@ -162,6 +162,10 @@ typedef struct PendingObjData {
static PendingObjData pendingObjData;
#define ObjInitDeletionContext(contextPtr) \
PendingObjData *const contextPtr = &pendingObjData
+#elif HAVE_FAST_TSD
+static __thread PendingObjData pendingObjData;
+#define ObjInitDeletionContext(contextPtr) \
+ PendingObjData *const contextPtr = &pendingObjData
#else
static Tcl_ThreadDataKey pendingObjDataKey;
#define ObjInitDeletionContext(contextPtr) \