Changeset 198228 in webkit for trunk/Source/JavaScriptCore/runtime/CommonSlowPaths.cpp
- Timestamp:
- Mar 15, 2016, 1:41:00 PM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/runtime/CommonSlowPaths.cpp
r198154 r198228 770 770 const Identifier& ident = exec->codeBlock()->identifier(pc[3].u.operand); 771 771 JSScope* scope = exec->uncheckedR(pc[2].u.operand).Register::scope(); 772 JS ValueresolvedScope = JSScope::resolve(exec, scope, ident);772 JSObject* resolvedScope = JSScope::resolve(exec, scope, ident); 773 773 774 774 ResolveType resolveType = static_cast<ResolveType>(pc[4].u.operand); … … 778 778 779 779 if (resolveType == UnresolvedProperty || resolveType == UnresolvedPropertyWithVarInjectionChecks) { 780 if (JSGlobalLexicalEnvironment* globalLexicalEnvironment = jsDynamicCast<JSGlobalLexicalEnvironment*>(resolvedScope)) { 780 if (resolvedScope->isGlobalObject()) { 781 JSGlobalObject* globalObject = jsCast<JSGlobalObject*>(resolvedScope); 782 if (globalObject->hasProperty(exec, ident)) { 783 if (resolveType == UnresolvedProperty) 784 pc[4].u.operand = GlobalProperty; 785 else 786 pc[4].u.operand = GlobalPropertyWithVarInjectionChecks; 787 788 pc[6].u.pointer = globalObject; 789 } 790 } else if (resolvedScope->isGlobalLexicalEnvironment()) { 791 JSGlobalLexicalEnvironment* globalLexicalEnvironment = jsCast<JSGlobalLexicalEnvironment*>(resolvedScope); 781 792 if (resolveType == UnresolvedProperty) 782 793 pc[4].u.operand = GlobalLexicalVar; … … 784 795 pc[4].u.operand = GlobalLexicalVarWithVarInjectionChecks; 785 796 pc[6].u.pointer = globalLexicalEnvironment; 786 } else if (JSGlobalObject* globalObject = jsDynamicCast<JSGlobalObject*>(resolvedScope)) {787 if (globalObject->hasProperty(exec, ident)) {788 if (resolveType == UnresolvedProperty)789 pc[4].u.operand = GlobalProperty;790 else791 pc[4].u.operand = GlobalPropertyWithVarInjectionChecks;792 793 pc[6].u.pointer = globalObject;794 }795 797 } 796 798 }
Note:
See TracChangeset
for help on using the changeset viewer.