[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677

mjs mjs at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 07:11:31 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit e5d3a406eb10039d39046d2846005636c557c8dd
Author: mjs <mjs at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu Dec 5 00:12:34 2002 +0000

            Reviewed by: Richard Williamson
    
    	Added explicit lock/unlock methods so Sherlock can grab the
    	interpreter lock as needed.
    
    	- partially addressed 3084320 - JavaScriptCore crash
    
            * kjs/internal.cpp:
            (InterpreterImp::InterpreterImp):
            (InterpreterImp::lock):
            (InterpreterImp::unlock):
            * kjs/internal.h:
            * kjs/interpreter.cpp:
            (Interpreter::lock):
            (Interpreter::unlock):
            * kjs/interpreter.h:
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2935 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/JavaScriptCore/ChangeLog b/JavaScriptCore/ChangeLog
index 441cfa0..9e18d04 100644
--- a/JavaScriptCore/ChangeLog
+++ b/JavaScriptCore/ChangeLog
@@ -1,5 +1,24 @@
 2002-12-04  Maciej Stachowiak  <mjs at apple.com>
 
+        Reviewed by: Richard Williamson
+
+	Added explicit lock/unlock methods so Sherlock can grab the
+	interpreter lock as needed.
+	
+	- partially addressed 3084320 - JavaScriptCore crash
+	
+        * kjs/internal.cpp:
+        (InterpreterImp::InterpreterImp):
+        (InterpreterImp::lock):
+        (InterpreterImp::unlock):
+        * kjs/internal.h:
+        * kjs/interpreter.cpp:
+        (Interpreter::lock):
+        (Interpreter::unlock):
+        * kjs/interpreter.h:
+
+2002-12-04  Maciej Stachowiak  <mjs at apple.com>
+
         Reviewed by: Darin Adler
 
 	Set things up so JavaScriptCore builds in PCRE and uses it for
diff --git a/JavaScriptCore/ChangeLog-2003-10-25 b/JavaScriptCore/ChangeLog-2003-10-25
index 441cfa0..9e18d04 100644
--- a/JavaScriptCore/ChangeLog-2003-10-25
+++ b/JavaScriptCore/ChangeLog-2003-10-25
@@ -1,5 +1,24 @@
 2002-12-04  Maciej Stachowiak  <mjs at apple.com>
 
+        Reviewed by: Richard Williamson
+
+	Added explicit lock/unlock methods so Sherlock can grab the
+	interpreter lock as needed.
+	
+	- partially addressed 3084320 - JavaScriptCore crash
+	
+        * kjs/internal.cpp:
+        (InterpreterImp::InterpreterImp):
+        (InterpreterImp::lock):
+        (InterpreterImp::unlock):
+        * kjs/internal.h:
+        * kjs/interpreter.cpp:
+        (Interpreter::lock):
+        (Interpreter::unlock):
+        * kjs/interpreter.h:
+
+2002-12-04  Maciej Stachowiak  <mjs at apple.com>
+
         Reviewed by: Darin Adler
 
 	Set things up so JavaScriptCore builds in PCRE and uses it for
diff --git a/JavaScriptCore/kjs/internal.cpp b/JavaScriptCore/kjs/internal.cpp
index 0d33dd9..502eda3 100644
--- a/JavaScriptCore/kjs/internal.cpp
+++ b/JavaScriptCore/kjs/internal.cpp
@@ -69,7 +69,6 @@ namespace KJS {
   const double Inf = *(const double*) Inf_Bytes;
 };
 
-#if APPLE_CHANGES
 static pthread_once_t interpreterLockOnce = PTHREAD_ONCE_INIT;
 static pthread_mutex_t interpreterLock;
 
@@ -94,7 +93,6 @@ static inline void unlockInterpreter()
   pthread_mutex_unlock(&interpreterLock);
 }
 
-#endif
 
 
 // ------------------------------ UndefinedImp ---------------------------------
@@ -503,10 +501,8 @@ InterpreterImp::InterpreterImp(Interpreter *interp, const Object &glob)
 {
   // add this interpreter to the global chain
   // as a root set for garbage collection
-#if APPLE_CHANGES
   lockInterpreter();
   m_interpreter = interp;
-#endif
   if (s_hook) {
     prev = s_hook;
     next = s_hook->next;
@@ -517,13 +513,8 @@ InterpreterImp::InterpreterImp(Interpreter *interp, const Object &glob)
     s_hook = next = prev = this;
     globalInit();
   }
-#if APPLE_CHANGES
   unlockInterpreter();
-#endif
 
-#if !APPLE_CHANGES
-  m_interpreter = interp;
-#endif
   global = glob;
   globExec = new ExecState(m_interpreter,0);
   dbg = 0;
@@ -535,6 +526,16 @@ InterpreterImp::InterpreterImp(Interpreter *interp, const Object &glob)
   recursion = 0;
 }
 
+void InterpreterImp::lock()
+{
+  lockInterpreter();
+}
+
+void InterpreterImp::unlock()
+{
+  unlockInterpreter();
+}
+
 void InterpreterImp::initGlobalObject()
 {
   // Contructor prototype objects (Object.prototype, Array.prototype etc)
diff --git a/JavaScriptCore/kjs/internal.h b/JavaScriptCore/kjs/internal.h
index e8e38a9..314a0cf 100644
--- a/JavaScriptCore/kjs/internal.h
+++ b/JavaScriptCore/kjs/internal.h
@@ -223,6 +223,8 @@ namespace KJS {
     Interpreter* interpreter() const { return m_interpreter; }
 
     void initGlobalObject();
+    static void lock();
+    static void unlock();
 
     void mark();
 
diff --git a/JavaScriptCore/kjs/interpreter.cpp b/JavaScriptCore/kjs/interpreter.cpp
index 3dcd412..628845d 100644
--- a/JavaScriptCore/kjs/interpreter.cpp
+++ b/JavaScriptCore/kjs/interpreter.cpp
@@ -89,6 +89,16 @@ void Interpreter::initGlobalObject()
   rep->initGlobalObject();
 }
 
+void Interpreter::lock()
+{
+  InterpreterImp::lock();
+}
+
+void Interpreter::unlock()
+{
+  InterpreterImp::unlock();
+}
+
 ExecState *Interpreter::globalExec()
 {
   return rep->globalExec();
diff --git a/JavaScriptCore/kjs/interpreter.h b/JavaScriptCore/kjs/interpreter.h
index 73f527a..345816c 100644
--- a/JavaScriptCore/kjs/interpreter.h
+++ b/JavaScriptCore/kjs/interpreter.h
@@ -145,6 +145,9 @@ namespace KJS {
 
     void initGlobalObject();
 
+    static void lock();
+    static void unlock();
+
     /**
      * Returns the execution state object which can be used to execute
      * scripts using this interpreter at a the "global" level, i.e. one
@@ -211,7 +214,6 @@ namespace KJS {
      */
     Object builtinArray() const;
 
-
     /**
      * Returns the builtin "Boolean" object.
      */

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list