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();