Changeset 208935 in webkit
- Timestamp:
- Nov 20, 2016 5:31:20 PM (7 years ago)
- Location:
- trunk/Source/JavaScriptCore
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/ChangeLog
r208933 r208935 1 2016-11-20 Mark Lam <mark.lam@apple.com> 2 3 Fix exception scope verification failures in DateConstructor.cpp and DatePrototype.cpp. 4 https://bugs.webkit.org/show_bug.cgi?id=164995 5 6 Reviewed by Darin Adler. 7 8 * runtime/DateConstructor.cpp: 9 (JSC::millisecondsFromComponents): 10 (JSC::constructDate): 11 * runtime/DatePrototype.cpp: 12 (JSC::dateProtoFuncToPrimitiveSymbol): 13 1 14 2016-11-20 Caitlin Potter <caitp@igalia.com> 2 15 -
trunk/Source/JavaScriptCore/runtime/DateConstructor.cpp
r206386 r208935 110 110 static double millisecondsFromComponents(ExecState* exec, const ArgList& args, WTF::TimeType timeType) 111 111 { 112 double doubleArguments[] = { 113 args.at(0).toNumber(exec), 114 args.at(1).toNumber(exec), 115 args.at(2).toNumber(exec), 116 args.at(3).toNumber(exec), 117 args.at(4).toNumber(exec), 118 args.at(5).toNumber(exec), 119 args.at(6).toNumber(exec) 120 }; 112 VM& vm = exec->vm(); 113 auto scope = DECLARE_THROW_SCOPE(vm); 114 115 double doubleArguments[7]; 116 for (int i = 0; i < 7; i++) { 117 doubleArguments[i] = args.at(i).toNumber(exec); 118 RETURN_IF_EXCEPTION(scope, 0); 119 } 121 120 122 121 int numArgs = args.size(); … … 141 140 t.setIsDST(-1); 142 141 double ms = (numArgs >= 7) ? doubleArguments[6] : 0; 143 return gregorianDateTimeToMS( exec->vm(), t, ms, timeType);142 return gregorianDateTimeToMS(vm, t, ms, timeType); 144 143 } 145 144 … … 160 159 else { 161 160 JSValue primitive = args.at(0).toPrimitive(exec); 161 RETURN_IF_EXCEPTION(scope, nullptr); 162 162 if (primitive.isString()) 163 163 value = parseDate(vm, primitive.getString(exec)); … … 167 167 } else 168 168 value = millisecondsFromComponents(exec, args, WTF::LocalTime); 169 RETURN_IF_EXCEPTION(scope, nullptr); 169 170 170 171 Structure* dateStructure = InternalFunction::createSubclassStructure(exec, newTarget, globalObject->dateStructure()); -
trunk/Source/JavaScriptCore/runtime/DatePrototype.cpp
r206386 r208935 621 621 type = PreferString; 622 622 623 scope.release(); 623 624 return JSValue::encode(thisObject->ordinaryToPrimitive(exec, type)); 624 625 }
Note: See TracChangeset
for help on using the changeset viewer.