Title: [201266] trunk/Source/_javascript_Core
Revision
201266
Author
[email protected]
Date
2016-05-22 21:02:22 -0700 (Sun, 22 May 2016)

Log Message

Unreviewed. Fixed debug assertion failures from r201235.

* runtime/JSScope.cpp:
(JSC::abstractAccess):

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (201265 => 201266)


--- trunk/Source/_javascript_Core/ChangeLog	2016-05-23 01:35:57 UTC (rev 201265)
+++ trunk/Source/_javascript_Core/ChangeLog	2016-05-23 04:02:22 UTC (rev 201266)
@@ -1,3 +1,10 @@
+2016-05-22  Saam barati  <[email protected]>
+
+        Unreviewed. Fixed debug assertion failures from r201235.
+
+        * runtime/JSScope.cpp:
+        (JSC::abstractAccess):
+
 2016-05-22  Brady Eidson  <[email protected]>
 
         Attempted Yosemite build fix after http://trac.webkit.org/changeset/201255

Modified: trunk/Source/_javascript_Core/runtime/JSScope.cpp (201265 => 201266)


--- trunk/Source/_javascript_Core/runtime/JSScope.cpp	2016-05-23 01:35:57 UTC (rev 201265)
+++ trunk/Source/_javascript_Core/runtime/JSScope.cpp	2016-05-23 04:02:22 UTC (rev 201266)
@@ -56,21 +56,25 @@
             op = ResolveOp(Dynamic, 0, 0, 0, 0, 0);
             return true;
         }
+
         SymbolTable* symbolTable = lexicalEnvironment->symbolTable();
-        ConcurrentJITLocker locker(symbolTable->m_lock);
-        auto iter = symbolTable->find(locker, ident.impl());
-        if (iter != symbolTable->end(locker)) {
-            SymbolTableEntry& entry = iter->value;
-            ASSERT(!entry.isNull());
-            if (entry.isReadOnly() && getOrPut == Put) {
-                // We know the property will be at this lexical environment scope, but we don't know how to cache it.
-                op = ResolveOp(Dynamic, 0, 0, 0, 0, 0);
+        {
+            ConcurrentJITLocker locker(symbolTable->m_lock);
+            auto iter = symbolTable->find(locker, ident.impl());
+            if (iter != symbolTable->end(locker)) {
+                SymbolTableEntry& entry = iter->value;
+                ASSERT(!entry.isNull());
+                if (entry.isReadOnly() && getOrPut == Put) {
+                    // We know the property will be at this lexical environment scope, but we don't know how to cache it.
+                    op = ResolveOp(Dynamic, 0, 0, 0, 0, 0);
+                    return true;
+                }
+
+                op = ResolveOp(makeType(ClosureVar, needsVarInjectionChecks), depth, 0, lexicalEnvironment, entry.watchpointSet(), entry.scopeOffset().offset());
                 return true;
             }
+        }
 
-            op = ResolveOp(makeType(ClosureVar, needsVarInjectionChecks), depth, 0, lexicalEnvironment, entry.watchpointSet(), entry.scopeOffset().offset());
-            return true;
-        }
         if (scope->type() == ModuleEnvironmentType) {
             JSModuleEnvironment* moduleEnvironment = jsCast<JSModuleEnvironment*>(scope);
             JSModuleRecord* moduleRecord = moduleEnvironment->moduleRecord();
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to