Title: [163664] trunk/Source/_javascript_Core
Revision
163664
Author
mark....@apple.com
Date
2014-02-07 16:46:28 -0800 (Fri, 07 Feb 2014)

Log Message

Revert workaround committed in http://trac.webkit.org/r163595.
<https://webkit.org/b/128408>

Reviewed by Geoffrey Garen.

Now that we have fixed the bugs in JSLock's stack limit adjusments
in https://bugs.webkit.org/show_bug.cgi?id=128406, we can revert the
workaround in r163595.

* API/JSContextRef.cpp:
(JSContextGroupCreate):
(JSGlobalContextCreateInGroup):
* API/tests/testapi.js:
* runtime/VM.cpp:
(JSC::VM::VM):
(JSC::VM::updateStackLimitWithReservedZoneSize):
* runtime/VM.h:

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/API/JSContextRef.cpp (163663 => 163664)


--- trunk/Source/_javascript_Core/API/JSContextRef.cpp	2014-02-08 00:37:32 UTC (rev 163663)
+++ trunk/Source/_javascript_Core/API/JSContextRef.cpp	2014-02-08 00:46:28 UTC (rev 163664)
@@ -57,9 +57,7 @@
 JSContextGroupRef JSContextGroupCreate()
 {
     initializeThreading();
-    VM* vm = VM::createContextGroup().leakRef();
-    vm->ignoreStackLimit();
-    return toRef(vm);
+    return toRef(VM::createContextGroup().leakRef());
 }
 
 JSContextGroupRef JSContextGroupRetain(JSContextGroupRef group)
@@ -131,13 +129,7 @@
 {
     initializeThreading();
 
-    RefPtr<VM> vm;
-    if (group)
-        vm = PassRefPtr<VM>(toJS(group));
-    else {
-        vm = VM::createContextGroup();
-        vm->ignoreStackLimit();
-    }
+    RefPtr<VM> vm = group ? PassRefPtr<VM>(toJS(group)) : VM::createContextGroup();
 
     APIEntryShim entryShim(vm.get(), false);
     vm->makeUsableFromMultipleThreads();

Modified: trunk/Source/_javascript_Core/API/tests/testapi.js (163663 => 163664)


--- trunk/Source/_javascript_Core/API/tests/testapi.js	2014-02-08 00:37:32 UTC (rev 163663)
+++ trunk/Source/_javascript_Core/API/tests/testapi.js	2014-02-08 00:46:28 UTC (rev 163664)
@@ -242,7 +242,6 @@
 shouldBe('derivedOnlyDescriptor.enumerable', false);
 
 shouldBe("undefined instanceof MyObject", false);
-/*
 EvilExceptionObject.hasInstance = function f() { return f(); };
 EvilExceptionObject.__proto__ = undefined;
 shouldThrow("undefined instanceof EvilExceptionObject");
@@ -253,7 +252,6 @@
 shouldThrow("EvilExceptionObject*5");
 EvilExceptionObject.toStringExplicit = function f() { return f(); }
 shouldThrow("String(EvilExceptionObject)");
- */
 
 shouldBe("EmptyObject", "[object CallbackObject]");
 

Modified: trunk/Source/_javascript_Core/ChangeLog (163663 => 163664)


--- trunk/Source/_javascript_Core/ChangeLog	2014-02-08 00:37:32 UTC (rev 163663)
+++ trunk/Source/_javascript_Core/ChangeLog	2014-02-08 00:46:28 UTC (rev 163664)
@@ -1,5 +1,25 @@
 2014-02-07  Mark Lam  <mark....@apple.com>
 
+        Revert workaround committed in http://trac.webkit.org/r163595.
+        <https://webkit.org/b/128408>
+
+        Reviewed by Geoffrey Garen.
+
+        Now that we have fixed the bugs in JSLock's stack limit adjusments
+        in https://bugs.webkit.org/show_bug.cgi?id=128406, we can revert the
+        workaround in r163595.
+
+        * API/JSContextRef.cpp:
+        (JSContextGroupCreate):
+        (JSGlobalContextCreateInGroup):
+        * API/tests/testapi.js:
+        * runtime/VM.cpp:
+        (JSC::VM::VM):
+        (JSC::VM::updateStackLimitWithReservedZoneSize):
+        * runtime/VM.h:
+
+2014-02-07  Mark Lam  <mark....@apple.com>
+
         Fix bug in stack limit adjustments in JSLock.
         <https://webkit.org/b/128406>
 

Modified: trunk/Source/_javascript_Core/runtime/VM.cpp (163663 => 163664)


--- trunk/Source/_javascript_Core/runtime/VM.cpp	2014-02-08 00:37:32 UTC (rev 163663)
+++ trunk/Source/_javascript_Core/runtime/VM.cpp	2014-02-08 00:46:28 UTC (rev 163664)
@@ -219,7 +219,6 @@
 #if ENABLE(GC_VALIDATION)
     , m_initializingObjectClass(0)
 #endif
-    , m_ignoreStackLimit(false)
     , m_stackLimit(0)
 #if ENABLE(LLINT_C_LOOP)
     , m_jsStackLimit(0)
@@ -739,11 +738,6 @@
 
 size_t VM::updateStackLimitWithReservedZoneSize(size_t reservedZoneSize)
 {
-    if (m_ignoreStackLimit) {
-        setStackLimit(0);
-        return 0;
-    }
-
     size_t oldReservedZoneSize = m_reservedZoneSize;
     m_reservedZoneSize = reservedZoneSize;
 

Modified: trunk/Source/_javascript_Core/runtime/VM.h (163663 => 163664)


--- trunk/Source/_javascript_Core/runtime/VM.h	2014-02-08 00:37:32 UTC (rev 163663)
+++ trunk/Source/_javascript_Core/runtime/VM.h	2014-02-08 00:46:28 UTC (rev 163664)
@@ -387,8 +387,6 @@
 #endif
         void* stackLimit() { return m_stackLimit; }
 
-        void ignoreStackLimit() { m_ignoreStackLimit = true; }
-
         bool isSafeToRecurse(size_t neededStackInBytes = 0) const
         {
             ASSERT(wtfThreadData().stack().isGrowingDownward());
@@ -523,7 +521,6 @@
 #if ENABLE(GC_VALIDATION)
         const ClassInfo* m_initializingObjectClass;
 #endif
-        bool m_ignoreStackLimit;
         size_t m_reservedZoneSize;
 #if ENABLE(LLINT_C_LOOP)
         struct {
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to