Changeset 209026 in webkit
- Timestamp:
- Nov 28, 2016 3:00:38 PM (7 years ago)
- Location:
- trunk/Source/JavaScriptCore
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/ChangeLog
r209025 r209026 1 2016-11-28 Mark Lam <mark.lam@apple.com> 2 3 Fix exception scope verification failures in runtime/Map* files. 4 https://bugs.webkit.org/show_bug.cgi?id=165050 5 6 Reviewed by Saam Barati. 7 8 * runtime/MapConstructor.cpp: 9 (JSC::constructMap): 10 * runtime/MapIteratorPrototype.cpp: 11 (JSC::MapIteratorPrototypeFuncNext): 12 * runtime/MapPrototype.cpp: 13 (JSC::privateFuncMapIteratorNext): 14 1 15 2016-11-28 Mark Lam <mark.lam@apple.com> 2 16 -
trunk/Source/JavaScriptCore/runtime/MapConstructor.cpp
r206386 r209026 77 77 return JSValue::encode(throwTypeError(exec, scope)); 78 78 79 scope.release(); 79 80 forEachInIterable(exec, iterable, [&](VM& vm, ExecState* exec, JSValue nextItem) { 80 81 auto scope = DECLARE_THROW_SCOPE(vm); … … 93 94 arguments.append(key); 94 95 arguments.append(value); 96 scope.release(); 95 97 call(exec, adderFunction, adderFunctionCallType, adderFunctionCallData, map, arguments); 96 98 }); -
trunk/Source/JavaScriptCore/runtime/MapIteratorPrototype.cpp
r205520 r209026 57 57 58 58 JSValue result; 59 if (iterator->next(callFrame, result)) 59 if (iterator->next(callFrame, result)) { 60 scope.release(); 60 61 return JSValue::encode(createIteratorResultObject(callFrame, result, false)); 62 } 63 scope.release(); 61 64 return JSValue::encode(createIteratorResultObject(callFrame, jsUndefined(), true)); 62 65 } -
trunk/Source/JavaScriptCore/runtime/MapPrototype.cpp
r206267 r209026 193 193 EncodedJSValue JSC_HOST_CALL privateFuncMapIteratorNext(ExecState* exec) 194 194 { 195 VM& vm = exec->vm(); 196 auto scope = DECLARE_THROW_SCOPE(vm); 195 197 ASSERT(jsDynamicCast<JSMapIterator*>(exec->thisValue())); 196 198 JSMapIterator* iterator = jsCast<JSMapIterator*>(exec->thisValue()); … … 199 201 JSArray* resultArray = jsCast<JSArray*>(exec->uncheckedArgument(0)); 200 202 resultArray->putDirectIndex(exec, 0, key); 203 RETURN_IF_EXCEPTION(scope, encodedJSValue()); 204 scope.release(); 201 205 resultArray->putDirectIndex(exec, 1, value); 202 206 return JSValue::encode(jsBoolean(false));
Note: See TracChangeset
for help on using the changeset viewer.