[webkit-changes] cvs commit: JavaScriptCore/bindings
runtime_root.cpp runtime_root.h
Timothy
thatcher at opensource.apple.com
Thu Sep 22 12:22:41 PDT 2005
thatcher 05/09/22 12:22:41
Modified: . Tag: Safari-Den-branch ChangeLog
bindings Tag: Safari-Den-branch runtime_root.cpp
runtime_root.h
Log:
Merges fixes from TOT to Safari-Den-branch
2005-09-20 Geoffrey Garen <ggaren at apple.com>
- More changes needed to fix <rdar://problem/4214783> 8F29 REGRESSION(Denver/Chardonnay):
kjs_fast_malloc crash due to lack of locking on multiple threads (seen selecting volumes in
the installer)
Added InterpreterLocks in some places in the bindings we missed before.
Reviewed by john.
* bindings/runtime_root.cpp:
(KJS::Bindings::addNativeReference):
(KJS::Bindings::removeNativeReference):
(RootObject::removeAllNativeReferences):
* bindings/runtime_root.h:
(KJS::Bindings::RootObject::~RootObject):
(KJS::Bindings::RootObject::setRootObjectImp):
Revision Changes Path
No revision
No revision
1.677.6.34.2.4 +22 -0 JavaScriptCore/ChangeLog
Index: ChangeLog
===================================================================
RCS file: /cvs/root/JavaScriptCore/ChangeLog,v
retrieving revision 1.677.6.34.2.3
retrieving revision 1.677.6.34.2.4
diff -u -r1.677.6.34.2.3 -r1.677.6.34.2.4
--- ChangeLog 21 Sep 2005 21:58:41 -0000 1.677.6.34.2.3
+++ ChangeLog 22 Sep 2005 19:22:39 -0000 1.677.6.34.2.4
@@ -1,3 +1,25 @@
+2005-09-22 Timothy Hatcher <timothy at apple.com>
+
+ Merges fixes from TOT to Safari-Den-branch
+
+ 2005-09-20 Geoffrey Garen <ggaren at apple.com>
+
+ - More changes needed to fix <rdar://problem/4214783> 8F29 REGRESSION(Denver/Chardonnay):
+ kjs_fast_malloc crash due to lack of locking on multiple threads (seen selecting volumes in
+ the installer)
+
+ Added InterpreterLocks in some places in the bindings we missed before.
+
+ Reviewed by john.
+
+ * bindings/runtime_root.cpp:
+ (KJS::Bindings::addNativeReference):
+ (KJS::Bindings::removeNativeReference):
+ (RootObject::removeAllNativeReferences):
+ * bindings/runtime_root.h:
+ (KJS::Bindings::RootObject::~RootObject):
+ (KJS::Bindings::RootObject::setRootObjectImp):
+
2005-09-21 Timothy Hatcher <timothy at apple.com>
- Fixed <rdar://problem/4263434> <rdar://problem/4263434> Denver 8F29 Regression:
No revision
No revision
1.8.22.1 +10 -5 JavaScriptCore/bindings/runtime_root.cpp
Index: runtime_root.cpp
===================================================================
RCS file: /cvs/root/JavaScriptCore/bindings/runtime_root.cpp,v
retrieving revision 1.8
retrieving revision 1.8.22.1
diff -u -r1.8 -r1.8.22.1
--- runtime_root.cpp 17 Jan 2005 22:41:22 -0000 1.8
+++ runtime_root.cpp 22 Sep 2005 19:22:41 -0000 1.8.22.1
@@ -161,10 +161,11 @@
unsigned int numReferences = (unsigned int)CFDictionaryGetValue (referencesDictionary, imp);
if (numReferences == 0) {
#if !USE_CONSERVATIVE_GC
- imp->ref();
+ imp->ref();
#endif
#if USE_CONSERVATIVE_GC | TEST_CONSERVATIVE_GC
- gcProtect(imp);
+ InterpreterLock lock;
+ gcProtect(imp);
#endif
CFDictionaryAddValue (referencesDictionary, imp, (const void *)1);
}
@@ -185,10 +186,11 @@
unsigned int numReferences = (unsigned int)CFDictionaryGetValue (referencesDictionary, imp);
if (numReferences == 1) {
#if !USE_CONSERVATIVE_GC
- imp->deref();
+ imp->deref();
#endif
#if USE_CONSERVATIVE_GC | TEST_CONSERVATIVE_GC
- gcUnprotect(imp);
+ InterpreterLock lock;
+ gcUnprotect(imp);
#endif
CFDictionaryRemoveValue (referencesDictionary, imp);
}
@@ -335,12 +337,15 @@
allImps = (void **)malloc (sizeof(void *) * count);
CFDictionaryGetKeysAndValues (referencesDictionary, (const void **)allImps, NULL);
for(i = 0; i < count; i++) {
+#if USE_CONSERVATIVE_GC | TEST_CONSERVATIVE_GC
+ InterpreterLock lock;
+#endif
ObjectImp *anImp = static_cast<ObjectImp*>(allImps[i]);
#if !USE_CONSERVATIVE_GC
anImp->deref();
#endif
#if USE_CONSERVATIVE_GC | TEST_CONSERVATIVE_GC
- gcUnprotect(anImp);
+ gcUnprotect(anImp);
#endif
}
free ((void *)allImps);
1.6.10.1.2.2 +6 -3 JavaScriptCore/bindings/runtime_root.h
Index: runtime_root.h
===================================================================
RCS file: /cvs/root/JavaScriptCore/bindings/runtime_root.h,v
retrieving revision 1.6.10.1.2.1
retrieving revision 1.6.10.1.2.2
diff -u -r1.6.10.1.2.1 -r1.6.10.1.2.2
--- runtime_root.h 16 Sep 2005 02:54:23 -0000 1.6.10.1.2.1
+++ runtime_root.h 22 Sep 2005 19:22:41 -0000 1.6.10.1.2.2
@@ -54,18 +54,21 @@
_imp->deref();
#endif
#if USE_CONSERVATIVE_GC | TEST_CONSERVATIVE_GC
- gcUnprotect(_imp);
+ InterpreterLock lock;
+ gcUnprotect(_imp);
#endif
}
void setRootObjectImp (ObjectImp *i) {
+#if USE_CONSERVATIVE_GC | TEST_CONSERVATIVE_GC
+ InterpreterLock lock;
+#endif
_imp = i;
#if !USE_CONSERVATIVE_GC
_imp->ref();
-
#endif
#if USE_CONSERVATIVE_GC | TEST_CONSERVATIVE_GC
- gcProtect(_imp);
+ gcProtect(_imp);
#endif
}
More information about the webkit-changes
mailing list