-
barraclough@apple.com authored
Handle out-of-memory conditions with JSC Ropes with a JS exception, rather than crashing. Switch from using fastMalloc to tryFastMalloc, pass an ExecState to record the exception on. Reviewed by Oliver Hunt. JavaScriptCore: * API/JSCallbackObjectFunctions.h: (JSC::::toString): * API/JSValueRef.cpp: (JSValueIsStrictEqual): * JavaScriptCore.exp: * bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::emitEqualityOp): * debugger/DebuggerCallFrame.cpp: (JSC::DebuggerCallFrame::functionName): (JSC::DebuggerCallFrame::calculatedFunctionName): * interpreter/Interpreter.cpp: (JSC::Interpreter::callEval): (JSC::Interpreter::privateExecute): * jit/JITStubs.cpp: (JSC::DEFINE_STUB_FUNCTION): * profiler/ProfileGenerator.cpp: (JSC::ProfileGenerator::addParentForConsoleStart): * profiler/Profiler.cpp: (JSC::Profiler::willExecute): (JSC::Profiler::didExecute): (JSC::Profiler::createCallIdentifier): (JSC::createCallIdentifierFromFunctionImp): * profiler/Profiler.h: * runtime/ArrayPrototype.cpp: (JSC::arrayProtoFuncIndexOf): (JSC::arrayProtoFuncLastIndexOf): * runtime/DateConstructor.cpp: (JSC::constructDate): * runtime/FunctionPrototype.cpp: (JSC::functionProtoFuncToString): * runtime/InternalFunction.cpp: (JSC::InternalFunction::name): (JSC::InternalFunction::displayName): (JSC::InternalFunction::calculatedDisplayName): * runtime/InternalFunction.h: * runtime/JSCell.cpp: (JSC::JSCell::getString): * runtime/JSCell.h: (JSC::JSValue::getString): * runtime/JSONObject.cpp: (JSC::gap): (JSC::Stringifier::Stringifier): (JSC::Stringifier::appendStringifiedValue): * runtime/JSObject.cpp: (JSC::JSObject::putDirectFunction): (JSC::JSObject::putDirectFunctionWithoutTransition): (JSC::JSObject::defineOwnProperty): * runtime/JSObject.h: * runtime/JSPropertyNameIterator.cpp: (JSC::JSPropertyNameIterator::get): * runtime/JSString.cpp: (JSC::JSString::Rope::~Rope): (JSC::JSString::resolveRope): (JSC::JSString::getPrimitiveNumber): (JSC::JSString::toNumber): (JSC::JSString::toString): (JSC::JSString::toThisString): (JSC::JSString::getStringPropertyDescriptor): * runtime/JSString.h: (JSC::JSString::Rope::createOrNull): (JSC::JSString::Rope::operator new): (JSC::JSString::value): (JSC::JSString::tryGetValue): (JSC::JSString::getIndex): (JSC::JSString::getStringPropertySlot): (JSC::JSValue::toString): * runtime/JSValue.h: * runtime/NativeErrorConstructor.cpp: (JSC::NativeErrorConstructor::NativeErrorConstructor): * runtime/Operations.cpp: (JSC::JSValue::strictEqualSlowCase): * runtime/Operations.h: (JSC::JSValue::equalSlowCaseInline): (JSC::JSValue::strictEqualSlowCaseInline): (JSC::JSValue::strictEqual): (JSC::jsLess): (JSC::jsLessEq): (JSC::jsAdd): (JSC::concatenateStrings): * runtime/PropertyDescriptor.cpp: (JSC::PropertyDescriptor::equalTo): * runtime/PropertyDescriptor.h: * runtime/StringPrototype.cpp: (JSC::stringProtoFuncReplace): (JSC::stringProtoFuncToLowerCase): (JSC::stringProtoFuncToUpperCase): WebCore: * bindings/ScriptControllerBase.cpp: (WebCore::ScriptController::executeIfJavaScriptURL): * bindings/js/JSCanvasRenderingContext2DCustom.cpp: (WebCore::toHTMLCanvasStyle): (WebCore::JSCanvasRenderingContext2D::setFillColor): (WebCore::JSCanvasRenderingContext2D::setStrokeColor): (WebCore::JSCanvasRenderingContext2D::setShadow): * bindings/js/ScriptCallStack.cpp: (WebCore::ScriptCallStack::ScriptCallStack): (WebCore::ScriptCallStack::initialize): * bindings/js/ScriptValue.cpp: (WebCore::ScriptValue::getString): * bindings/js/ScriptValue.h: * bindings/js/SerializedScriptValue.cpp: (WebCore::SerializingTreeWalker::convertIfTerminal): * bindings/objc/WebScriptObject.mm: (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]): * page/Console.cpp: (WebCore::Console::addMessage): WebKit/mac: * WebView/WebView.mm: (aeDescFromJSValue): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@51801 268f45cc-cd09-0410-ab3c-d52691b4dbfc
b749f0bb