2009-11-11 Laszlo Gombos <laszlo.1.gombos@nokia.com>
authoreric@webkit.org <eric@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 11 Nov 2009 20:00:05 +0000 (20:00 +0000)
committereric@webkit.org <eric@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 11 Nov 2009 20:00:05 +0000 (20:00 +0000)
        Reviewed by Alexey Proskuryakov.

        Refactor multiple JavaScriptCore threads
        https://bugs.webkit.org/show_bug.cgi?id=31328

        Remove the id field from the PlatformThread structure
        as it is not used.

        * runtime/Collector.cpp:
        (JSC::getCurrentPlatformThread):
        (JSC::suspendThread):
        (JSC::resumeThread):
        (JSC::getPlatformThreadRegisters):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@50833 268f45cc-cd09-0410-ab3c-d52691b4dbfc

JavaScriptCore/ChangeLog
JavaScriptCore/runtime/Collector.cpp

index 98ed970..7198f55 100644 (file)
@@ -1,3 +1,19 @@
+2009-11-11  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
+
+        Reviewed by Alexey Proskuryakov.
+
+        Refactor multiple JavaScriptCore threads
+        https://bugs.webkit.org/show_bug.cgi?id=31328
+
+        Remove the id field from the PlatformThread structure 
+        as it is not used.
+
+        * runtime/Collector.cpp:
+        (JSC::getCurrentPlatformThread):
+        (JSC::suspendThread):
+        (JSC::resumeThread):
+        (JSC::getPlatformThreadRegisters):
+
 2009-11-10  Geoffrey Garen  <ggaren@apple.com>
 
         Linux build fix: Added an #include for UINT_MAX.
index 1b238d9..09bf8de 100644 (file)
@@ -118,11 +118,7 @@ static RHeap* userChunk = 0;
 #if PLATFORM(DARWIN)
 typedef mach_port_t PlatformThread;
 #elif PLATFORM(WIN_OS)
-struct PlatformThread {
-    PlatformThread(DWORD _id, HANDLE _handle) : id(_id), handle(_handle) {}
-    DWORD id;
-    HANDLE handle;
-};
+typedef HANDLE PlatformThread;
 #endif
 
 class Heap::Thread {
@@ -646,8 +642,7 @@ static inline PlatformThread getCurrentPlatformThread()
 #if PLATFORM(DARWIN)
     return pthread_mach_thread_np(pthread_self());
 #elif PLATFORM(WIN_OS)
-    HANDLE threadHandle = pthread_getw32threadhandle_np(pthread_self());
-    return PlatformThread(GetCurrentThreadId(), threadHandle);
+    return pthread_getw32threadhandle_np(pthread_self());
 #endif
 }
 
@@ -811,7 +806,7 @@ static inline void suspendThread(const PlatformThread& platformThread)
 #if PLATFORM(DARWIN)
     thread_suspend(platformThread);
 #elif PLATFORM(WIN_OS)
-    SuspendThread(platformThread.handle);
+    SuspendThread(platformThread);
 #else
 #error Need a way to suspend threads on this platform
 #endif
@@ -822,7 +817,7 @@ static inline void resumeThread(const PlatformThread& platformThread)
 #if PLATFORM(DARWIN)
     thread_resume(platformThread);
 #elif PLATFORM(WIN_OS)
-    ResumeThread(platformThread.handle);
+    ResumeThread(platformThread);
 #else
 #error Need a way to resume threads on this platform
 #endif
@@ -886,7 +881,7 @@ static size_t getPlatformThreadRegisters(const PlatformThread& platformThread, P
 
 #elif PLATFORM(WIN_OS) && PLATFORM(X86)
     regs.ContextFlags = CONTEXT_INTEGER | CONTEXT_CONTROL | CONTEXT_SEGMENTS;
-    GetThreadContext(platformThread.handle, &regs);
+    GetThreadContext(platformThread, &regs);
     return sizeof(CONTEXT);
 #else
 #error Need a way to get thread registers on this platform