Changeset 209007 in webkit
- Timestamp:
- Nov 28, 2016, 12:44:25 PM (8 years ago)
- Location:
- trunk/Source/JavaScriptCore
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/ChangeLog
r208985 r209007 1 2016-11-28 Mark Lam <mark.lam@apple.com> 2 3 Fix exception scope verification failures in LLIntSlowPaths.cpp. 4 https://bugs.webkit.org/show_bug.cgi?id=164969 5 6 Reviewed by Geoffrey Garen. 7 8 * llint/LLIntSlowPaths.cpp: 9 (JSC::LLInt::getByVal): 10 (JSC::LLInt::setUpCall): 11 (JSC::LLInt::varargsSetup): 12 (JSC::LLInt::LLINT_SLOW_PATH_DECL): 13 1 14 2016-11-26 Yusuke Suzuki <utatane.tea@gmail.com> 2 15 -
trunk/Source/JavaScriptCore/llint/LLIntSlowPaths.cpp
r208985 r209007 815 815 if (isJSString(baseValue) && asString(baseValue)->canGetIndex(i)) 816 816 return asString(baseValue)->getIndex(exec, i); 817 817 scope.release(); 818 818 return baseValue.get(exec, i); 819 819 } … … 823 823 auto property = subscript.toPropertyKey(exec); 824 824 RETURN_IF_EXCEPTION(scope, JSValue()); 825 scope.release(); 825 826 return baseValue.get(exec, property); 826 827 } … … 1307 1308 CodeBlock** codeBlockSlot = execCallee->addressOfCodeBlock(); 1308 1309 JSObject* error = functionExecutable->prepareForExecution<FunctionExecutable>(vm, callee, scope, kind, *codeBlockSlot); 1309 if (error) 1310 ASSERT(throwScope.exception() == error); 1311 if (UNLIKELY(error)) 1310 1312 LLINT_CALL_THROW(exec, error); 1311 1313 codeBlock = *codeBlockSlot; … … 1447 1449 exec->setCurrentVPC(pc); 1448 1450 1451 throwScope.release(); 1449 1452 return setUpCall(execCallee, pc, kind, calleeAsValue); 1450 1453 } … … 1480 1483 exec->setCurrentVPC(pc); 1481 1484 1482 if (!isHostFunction(calleeAsValue, globalFuncEval)) 1485 if (!isHostFunction(calleeAsValue, globalFuncEval)) { 1486 throwScope.release(); 1483 1487 return setUpCall(execCallee, pc, CodeForCall, calleeAsValue); 1488 } 1484 1489 1485 1490 vm.hostCallReturnValue = eval(execCallee); … … 1586 1591 1587 1592 bool hasProperty = scope->hasProperty(exec, ident); 1593 LLINT_CHECK_EXCEPTION(); 1588 1594 if (hasProperty 1589 1595 && scope->isGlobalLexicalEnvironment()
Note:
See TracChangeset
for help on using the changeset viewer.