Timeline
Dec 16, 2008:
- 11:36 PM Changeset in webkit [39356] by
-
- 4 edits in trunk
Versioning.
- 11:35 PM Changeset in webkit [39355] by
-
- 1 copy in tags/Safari-6528.7
New tag.
- 10:30 PM Changeset in webkit [39354] by
-
- 5 edits in trunk/JavaScriptCore
2008-12-16 Sam Weinig <sam@webkit.org>
Reviewed by Geoffrey Garen.
Fix for https://bugs.webkit.org/show_bug.cgi?id=22838
Remove dependency on the bytecode Instruction buffer in Interpreter::throwException
Part of <rdar://problem/6428342>
- bytecode/CodeBlock.cpp: (JSC::CodeBlock::functionRegisterForBytecodeOffset): Added. Function to get a function Register index in a callFrame for a bytecode offset. (JSC::CodeBlock::shrinkToFit): Shrink m_getByIdExceptionInfo and m_functionRegisterInfos.
- bytecode/CodeBlock.h: (JSC::FunctionRegisterInfo::FunctionRegisterInfo): Added. (JSC::CodeBlock::addFunctionRegisterInfo):
- bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::emitCall):
- interpreter/Interpreter.cpp: (JSC::Interpreter::throwException): Use functionRegisterForBytecodeOffset in JIT mode.
- 10:25 PM Changeset in webkit [39353] by
-
- 3 edits in trunk/WebKit/win
Windows build fix.
Reviewed by Stephanie Lewis.
- COMPropertyBag.h: (::createInstance): (::adopt): (::QueryInterface): (::AddRef): (::Release): (::Read): (::Write): (::CountProperties): (::GetPropertyInfo): (::LoadObject):
- WebURLResponse.cpp: (WebURLResponse::allHeaderFields):
- 7:29 PM WebKit Team edited by
- (diff)
- 6:35 PM Changeset in webkit [39352] by
-
- 2 edits in trunk/WebKit/win
2008-12-16 Stephanie Lewis <Stephanie Lewis>
Another Windows Build Fix.
- WebURLResponse.cpp: (WebURLResponse::allHeaderFields):
- 6:34 PM Changeset in webkit [39351] by
-
- 6 edits in trunk/JavaScriptCore
2008-12-16 Sam Weinig <sam@webkit.org>
Reviewed by Gavin Barraclough.
Fix for https://bugs.webkit.org/show_bug.cgi?id=22837
Remove dependency on the bytecode Instruction buffer in Interpreter::cti_op_call_NotJSFunction
Part of <rdar://problem/6428342>
- interpreter/CallFrame.h: Added comment regarding returnPC storing a void*.
- interpreter/Interpreter.cpp: (JSC::bytecodeOffsetForPC): We no longer have any cases of the PC being in the instruction stream for JIT, so we can remove the check. (JSC::Interpreter::cti_op_call_NotJSFunction): Use the CTI_RETURN_ADDRESS as the call frame returnPC as it is only necessary for looking up when throwing an exception.
- interpreter/RegisterFile.h: (JSC::RegisterFile::): Added comment regarding returnPC storing a void*.
- jit/JIT.h: Remove ARG_instr4.
- jit/JITCall.cpp: (JSC::JIT::compileOpCallSetupArgs): Don't pass the instruction pointer.
- 6:23 PM Changeset in webkit [39350] by
-
- 4 edits in trunk
2008-12-16 Darin Adler <Darin Adler>
Reviewed and landed by Cameron Zwarich.
Preparatory work for fixing
Bug 22887: Make UString::Rep use RefCounted rather than implementing its own ref counting
<https://bugs.webkit.org/show_bug.cgi?id=22887>
Change the various string translators used by Identifier:add() so that
they never zero the ref count of a newly created UString::Rep. Also,
change similar code for AtomicString to use the same idiomatic style.
- runtime/Identifier.cpp: (JSC::CStringTranslator::translate): (JSC::Identifier::add): (JSC::UCharBufferTranslator::translate):
WebCore:
- platform/text/AtomicString.cpp: (WebCore::AtomicString::add):
- 5:54 PM Changeset in webkit [39349] by
-
- 2 edits in trunk/WebCore
2008-12-16 Adele Peterson <adele@apple.com>
Reviewed by Darin Adler.
Fix for https://bugs.webkit.org/show_bug.cgi?id=22827
<rdar://problem/6247724> RenderThemeWin buttons have weird heavy text
- rendering/RenderThemeWin.cpp: (WebCore::fillFontDescription): Add version that takes a font size. (WebCore::RenderThemeWin::systemFont): Use the default GUI font for control fonts, but specify the size. This will match Firefox.
- 5:27 PM Changeset in webkit [39348] by
-
- 2 edits in trunk/JavaScriptCore
2008-12-16 Gavin Barraclough <barraclough@apple.com>
Build fix for 'doze.
- assembler/AssemblerBuffer.h:
- 5:11 PM Changeset in webkit [39347] by
-
- 2 edits in trunk/WebCore
2008-12-16 Stephanie Lewis <Stephanie Lewis>
Another build fix.
- platform/text/AtomicString.h: (WebCore::AtomicString::AtomicString):
- 5:10 PM Changeset in webkit [39346] by
-
- 5 edits in trunk/WebKit/mac
2008-12-16 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
Start sending keyboard events to the plug-in host.
- Plugins/Hosted/NetscapePluginInstanceProxy.h:
- Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::keyEvent):
- Plugins/Hosted/WebHostedNetscapePluginView.mm: (-[WebHostedNetscapePluginView keyDown:]): (-[WebHostedNetscapePluginView keyUp:]):
- Plugins/Hosted/WebKitPluginHost.defs:
- 4:57 PM Changeset in webkit [39345] by
-
- 2 edits in trunk/WebCore
2008-12-16 Stephanie Lewis <Stephanie Lewis>
Windows Build Fix.
- platform/text/AtomicString.h: (WebCore::AtomicString::AtomicString): (WebCore::AtomicString::createCFString):
- 4:11 PM Changeset in webkit [39344] by
-
- 2 edits in trunk/WebKit/mac
2008-12-16 Anders Carlsson <andersca@apple.com>
Reviewed by Kevin Decker.
<rdar://problem/6450538>
Fix flag enumeration.
- Plugins/Hosted/WebKitPluginHostTypes.h:
- 4:03 PM Changeset in webkit [39343] by
-
- 6 edits in trunk/WebKit/mac
2008-12-16 Anders Carlsson <andersca@apple.com>
Reviewed by Kevin Decker.
Instead of passing a gazillion booleans to WKPCLoadURL, pass a single set of flags.
- Plugins/Hosted/NetscapePluginHostProxy.mm: (WKPCLoadURL):
- Plugins/Hosted/NetscapePluginInstanceProxy.h:
- Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::loadURL):
- Plugins/Hosted/WebKitPluginClient.defs:
- Plugins/Hosted/WebKitPluginHostTypes.h:
- 4:03 PM Changeset in webkit [39342] by
-
- 9 edits in trunk/JavaScriptCore
2008-12-16 Gavin Barraclough <barraclough@apple.com>
Reviewed by Cameron Zwarich.
Make the JIT compile on x86-64.
This largely involves populting the missing calls in MacroAssembler.h.
In addition some reinterpret_casts need removing from the JIT, and the
repatching property access code will need to be fully compiled out for
now. The changes in interpret.cpp are to reorder the functions so that
the _generic forms come before all other property access methods, and
then to place all property access methods other than the generic forms
under control of the ENABLE_JIT_OPTIMIZE_PROPERTY_ACCESS macro.
No performance impact.
- assembler/AssemblerBuffer.h: (JSC::AssemblerBuffer::putInt64Unchecked):
- assembler/MacroAssembler.h: (JSC::MacroAssembler::loadPtr): (JSC::MacroAssembler::load32): (JSC::MacroAssembler::storePtr): (JSC::MacroAssembler::storePtrWithRepatch): (JSC::MacroAssembler::store32): (JSC::MacroAssembler::poke): (JSC::MacroAssembler::move): (JSC::MacroAssembler::testImm64): (JSC::MacroAssembler::jePtr): (JSC::MacroAssembler::jnePtr): (JSC::MacroAssembler::jnzPtr): (JSC::MacroAssembler::jzPtr):
- assembler/X86Assembler.h: (JSC::X86Assembler::): (JSC::X86Assembler::cmpq_rr): (JSC::X86Assembler::cmpq_rm): (JSC::X86Assembler::cmpq_im): (JSC::X86Assembler::testq_i32m): (JSC::X86Assembler::movl_mEAX): (JSC::X86Assembler::movl_i32r): (JSC::X86Assembler::movl_EAXm): (JSC::X86Assembler::movq_rm): (JSC::X86Assembler::movq_mEAX): (JSC::X86Assembler::movq_mr): (JSC::X86Assembler::movq_i64r): (JSC::X86Assembler::movl_mr): (JSC::X86Assembler::X86InstructionFormatter::oneByteOp64): (JSC::X86Assembler::X86InstructionFormatter::immediate64):
- interpreter/Interpreter.cpp: (JSC::Interpreter::cti_op_put_by_id_generic): (JSC::Interpreter::cti_op_get_by_id_generic): (JSC::Interpreter::cti_op_put_by_id): (JSC::Interpreter::cti_op_put_by_id_second):
- jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompile): (JSC::JIT::privateCompileCTIMachineTrampolines):
- jit/JITCall.cpp: (JSC::JIT::compileOpCallSetupArgs): (JSC::JIT::compileOpCall):
- jit/JITPropertyAccess.cpp: (JSC::JIT::compileGetByIdHotPath): (JSC::JIT::compilePutByIdHotPath):
- runtime/JSImmediate.h: (JSC::JSImmediate::makeInt):
- 2:36 PM Changeset in webkit [39341] by
-
- 3 edits in trunk/JavaScriptCore
2008-12-16 Cameron Zwarich <zwarich@apple.com>
Reviewed by Darin Adler.
Bug 22869: REGRESSION (r38407): http://news.cnet.com/8301-13579_3-9953533-37.html crashes
<https://bugs.webkit.org/show_bug.cgi?id=22869>
<rdar://problem/6402499>
Before r38407, Structure::m_nameInPrevious was ref'd due to it being
stored in a PropertyMap. However, PropertyMaps are created lazily after
r38407, so Structure::m_nameInPrevious is not necessarily ref'd while
it is being used. Making it a RefPtr instead of a raw pointer fixes
the problem.
Unfortunately, the crash in the bug is rather intermittent, and it is
impossible to add an assertion in UString::Ref::ref() to catch this bug
because some users of UString::Rep deliberately zero out the reference
count. Therefore, there is no layout test accompanying this bug fix.
- runtime/Structure.cpp: (JSC::Structure::~Structure): Use get(). (JSC::Structure::materializePropertyMap): Use get(). (JSC::Structure::addPropertyTransitionToExistingStructure): Use get(). (JSC::Structure::addPropertyTransition): Use get().
- runtime/Structure.h: Make Structure::m_nameInPrevious a RefPtr instead of a raw pointer.
- 1:44 PM Changeset in webkit [39340] by
-
- 2 edits in trunk/WebCore
2008-12-16 Peter Kasting <pkasting@google.com>
Reviewed by David Hyatt.
https://bugs.webkit.org/show_bug.cgi?id=22885
Fix memory corruption in GIFImageDecoder.cpp with certain GIFs.
- platform/image-decoders/gif/GIFImageDecoder.cpp: (WebCore::GIFImageDecoder::frameComplete):
- 1:33 PM Changeset in webkit [39339] by
-
- 2 edits in trunk/JavaScriptCore
Not reviewed. Attempt to fix win build. No 'using namespace WTF' in this file, needs manual WTF:: prefix.
Not sure why the build works as is here.
- 1:20 PM Changeset in webkit [39338] by
-
- 12 edits in trunk/WebCore
2008-12-16 Stephanie Lewis <Stephanie Lewis>
Reviewed by Geoff Garen.
Change HTTPHeaderMap to use an AtomicString as its key.
Shaves ~1MB off of the Mozilla Memory Test
No functionality difference
- WebCore.xcodeproj/project.pbxproj:
- inspector/InspectorController.cpp: (WebCore::addHeaders):
- loader/appcache/ApplicationCacheStorage.cpp: (WebCore::parseHeader):
- platform/network/HTTPHeaderMap.h:
- platform/network/ResourceRequestBase.cpp: (WebCore::ResourceRequestBase::httpHeaderField): (WebCore::ResourceRequestBase::setHTTPHeaderField): (WebCore::ResourceRequestBase::addHTTPHeaderField):
- platform/network/ResourceRequestBase.h:
- platform/network/ResourceResponseBase.cpp: (WebCore::ResourceResponseBase::httpHeaderField): (WebCore::ResourceResponseBase::setHTTPHeaderField):
- platform/network/ResourceResponseBase.h:
- platform/text/StringHash.h: (WebCore::CaseFoldingHash::hash): (WebCore::CaseFoldingHash::equal):
- xml/XMLHttpRequest.cpp: (WebCore::isSetCookieHeader): (WebCore::XMLHttpRequest::setRequestHeader): (WebCore::XMLHttpRequest::setRequestHeaderInternal): (WebCore::XMLHttpRequest::getRequestHeader): (WebCore::XMLHttpRequest::getResponseHeader):
- xml/XMLHttpRequest.h:
- 1:15 PM Changeset in webkit [39337] by
-
- 16 edits4 adds in trunk
Reviewed by Darin Adler.
Fixes: https://bugs.webkit.org/show_bug.cgi?id=22876
Unify random number generation in JavaScriptCore & WebCore, by introducing
wtf/RandomNumber.h and moving wtf_random/wtf_random_init out of MathExtras.h.
wtf_random_init() has been renamed to initializeRandomNumberGenerator() and
lives in it's own private header: wtf/RandomNumberSeed.h, only intended to
be used from within JavaScriptCore.
wtf_random() has been renamed to randomNumber() and lives in a public header
wtf/RandomNumber.h, usable from within JavaScriptCore & WebCore. It encapsulates
the code taking care of initializing the random number generator (only when
building without ENABLE(JSC_MULTIPLE_THREADS), otherwhise initializeThreading()
already took care of that).
Functional change on darwin: Use random() instead of rand(), as it got a larger
period (more randomness). HTMLFormElement already contains this implementation
and I just moved it in randomNumber(), as special case for PLATFORM(DARWIN).
- 11:49 AM Changeset in webkit [39336] by
-
- 2 edits in trunk/WebKit/mac
2008-12-16 Anders Carlsson <andersca@apple.com>
Reviewed by Kevin Decker.
Add trailing null to headers to avoid a crash in the plug-in host.
- Plugins/Hosted/HostedNetscapePluginStream.mm: (WebKit::HostedNetscapePluginStream::didReceiveResponse):
- 8:02 AM Changeset in webkit [39335] by
-
- 4 edits in trunk
2008-12-16 Yael Aharon <yael.aharon@nokia.com>
Reviewed by Tor Arne Vestbø.
Qt/Win build fix
- 7:28 AM Changeset in webkit [39334] by
-
- 3 edits in trunk/WebCore
[CURL] memory leak of ResouceHandles
http://bugs.webkit.org/show_bug.cgi?id=20777
Fix ResourceHandle ref management to be consistent and correct.
Original patch from Marco Barisione.
- 1:44 AM Changeset in webkit [39333] by
-
- 2 edits in trunk/WebCore
2008-12-16 Simon Hausmann <simon.hausmann@nokia.com>
Fix the Qt build.
- platform/graphics/qt/ImageSourceQt.cpp: (WebCore::ImageSource::clear): Adjust to new signature.
Dec 15, 2008:
- 11:38 PM Changeset in webkit [39332] by
-
- 2 edits in trunk/JavaScriptCore
Fix the build with GCC 4.0.
Reviewed by Cameron Zwarich.
- Configurations/JavaScriptCore.xcconfig: GCC 4.0 appears to have a bug when compiling with -funwind-tables on,
so don't use it with that compiler version.
- 11:38 PM Changeset in webkit [39331] by
-
- 12 edits in trunk
<rdar://problem/6289933> Change WebKit-related projects to build with GCC 4.2 on Leopard.
Rubber-stamped by Cameron Zwarich.
- 11:08 PM Changeset in webkit [39330] by
-
- 2 edits in trunk/JavaScriptCore
Reviewed by Darin Adler.
Don't use unique context group in JSGlobalContextCreate() on Tiger or Leopard.
- API/JSContextRef.cpp: (JSGlobalContextCreate):
- 11:05 PM Changeset in webkit [39329] by
-
- 2 edits in trunk/JavaScriptCore
Reviewed by Darin Adler.
<rdar://problem/6445089> Mach ports leak from worker threads
- interpreter/Interpreter.cpp: (JSC::getCPUTime): Deallocate the thread self port.
- 10:39 PM Changeset in webkit [39328] by
-
- 2 edits in trunk/JavaScriptCore
2008-12-15 Gavin Barraclough <barraclough@apple.com>
Reviewed by Mark Rowe.
Construct stack frames in JIT code, so that backtracing can still work.
<rdar://problem/6447870> JIT should play nice with attempts to take stack traces
- jit/JIT.cpp: (JSC::): (JSC::JIT::privateCompileMainPass):
- 10:27 PM Changeset in webkit [39327] by
-
- 2 edits in trunk/JavaScriptCore
<rdar://problem/6402262> JavaScriptCore needs exception handling tables in order to get stack traces without frame pointers
Reviewed by Gavin Barraclough.
- Configurations/JavaScriptCore.xcconfig:
- 9:58 PM Changeset in webkit [39326] by
-
- 2 edits in trunk/WebKit/mac
2008-12-15 Stephanie Lewis <Stephanie Lewis>
Fix build.
- Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- 8:48 PM Changeset in webkit [39325] by
-
- 7 edits in trunk/JavaScriptCore
2008-12-15 Gavin Barraclough <barraclough@apple.com>
Rubber stamped by Mark Rowe.
Revert r39226 / Bug 22818: Unify JIT callback argument access OS X / Windows
This causes Acid3 failures – reverting for now & will revisit later.
https://bugs.webkit.org/show_bug.cgi?id=22873
- interpreter/Interpreter.h:
- jit/JIT.cpp: (JSC::JIT::privateCompileCTIMachineTrampolines):
- jit/JIT.h:
- jit/JITInlineMethods.h: (JSC::JIT::restoreArgumentReference): (JSC::JIT::restoreArgumentReferenceForTrampoline): (JSC::JIT::emitCTICall_internal):
- jit/JITPropertyAccess.cpp: (JSC::JIT::privateCompilePutByIdTransition):
- wtf/Platform.h:
- 5:08 PM Changeset in webkit [39324] by
-
- 8 edits in trunk/WebKit/mac
2008-12-15 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Change InstantiatePlugin to be asynchronous so we won't deadlock if the plug-in tries to call
back into us while it's being instantiated.
- Plugins/Hosted/NetscapePluginHostManager.mm: (WebKit::NetscapePluginHostManager::instantiatePlugin):
- Plugins/Hosted/NetscapePluginHostProxy.h: (WebKit::NetscapePluginHostProxy::clientPort):
- Plugins/Hosted/NetscapePluginHostProxy.mm: (WKPCInstantiatePluginReply):
- Plugins/Hosted/NetscapePluginInstanceProxy.h: (WebKit::NetscapePluginInstanceProxy::Reply::): (WebKit::NetscapePluginInstanceProxy::Reply::Reply): (WebKit::NetscapePluginInstanceProxy::Reply::~Reply): (WebKit::NetscapePluginInstanceProxy::InstantiatePluginReply::InstantiatePluginReply): (WebKit::NetscapePluginInstanceProxy::setCurrentReply): (WebKit::NetscapePluginInstanceProxy::waitForReply):
- Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy): (WebKit::NetscapePluginInstanceProxy::processRequestsAndWaitForReply):
- Plugins/Hosted/WebKitPluginClient.defs:
- Plugins/Hosted/WebKitPluginHost.defs:
- 4:52 PM Changeset in webkit [39323] by
-
- 2 edits in trunk/WebCore
2008-12-15 Adele Peterson <adele@apple.com>
Reviewed by Darin Adler.
Fix for https://bugs.webkit.org/show_bug.cgi?id=22871
<rdar://problem/6417316> RenderThemeWin buttons are too short/thin
- rendering/RenderButton.cpp: (WebCore::RenderButton::setupInnerStyle): Check if the button's style (not the new inner style) has appearance set to determine whether we should set padding on the inner style.
- 4:30 PM Changeset in webkit [39322] by
-
- 1 edit in trunk/WebCore/ChangeLog
Oops, forgot to include ChangeLog in last commit.
- 4:26 PM Changeset in webkit [39321] by
-
- 15 edits22 adds in trunk
Reviewed by Oliver Hunt.
Fixes: https://bugs.webkit.org/show_bug.cgi?id=22865
Add complete WML <table> / <tr> / <td> element support.
Proper handling of all table related attributes, including tests.
Tests: fast/wml/table-element-align-attribute-invalid.wml (variable reference in 'align' attribute, raises error)
fast/wml/table-element-columns-attribute-invalid-number.wml (columns='0', raises error)
fast/wml/table-element-columns-attribute-invalid.wml (non-numeric 'columns' attribute value, raises error)
fast/wml/table-element-columns-attribute-missing.wml (missing 'columns')
fast/wml/table-element-columns-attribute.wml (test 'columns' attribute and <td> count mismatches)
- 4:22 PM Changeset in webkit [39320] by
-
- 13 edits1 copy3 adds in trunk
2008-12-15 Darin Adler <Darin Adler>
Reviewed by Sam Weinig.
- fix <rdar://problem/6427048> crash due to infinite recursion after setting window.proto = window
Replaced toGlobalObject with the more generally useful unwrappedObject and used it to
fix the cycle detection code in put(proto).
- JavaScriptCore.exp: Updated.
- runtime/JSGlobalObject.cpp: Removed toGlobalObject. We now use unwrappedObject instead.
- runtime/JSGlobalObject.h: (JSC::JSGlobalObject::isGlobalObject): Ditto.
- runtime/JSGlobalObjectFunctions.cpp: (JSC::globalFuncEval): Use unwrappedObject and isGlobalObject here rather than toGlobalObject.
- runtime/JSObject.cpp: (JSC::JSObject::put): Rewrote prototype cycle checking loop. Use unwrappedObject in the loop now. (JSC::JSObject::unwrappedObject): Replaced toGlobalObject with this new function.
- runtime/JSObject.h: More of the same.
WebCore:
2008-12-15 Darin Adler <Darin Adler>
Reviewed by Sam Weinig.
- fix <rdar://problem/6427048> crash due to infinite recursion after setting window.proto = window
Test: fast/dom/Window/window-custom-prototype.html
Replaced toGlobalObject with the more generally useful unwrappedObject.
- bindings/js/JSDOMWindowShell.cpp: (WebCore::JSDOMWindowShell::unwrappedObject): Added.
- bindings/js/JSDOMWindowShell.h: Declared unwrappedObject.
- bindings/js/JSQuarantinedObjectWrapper.h: (WebCore::JSQuarantinedObjectWrapper::unwrappedObject): Ditto.
LayoutTests:
2008-12-15 Darin Adler <Darin Adler>
Reviewed by Sam Weinig.
- test for <rdar://problem/6427048> crash due to infinite recursion after setting window.proto = window
- fast/canvas/canvas-gradient-without-path.html: Let make-js-test-wrappers update this one.
- fast/dom/Window/resources/TEMPLATE.html: Copied from LayoutTests/fast/js/resources/TEMPLATE.html.
- fast/dom/Window/resources/window-custom-prototype.js: Added.
- fast/dom/Window/window-custom-prototype-expected.txt: Added.
- fast/dom/Window/window-custom-prototype.html: Added.
- 4:19 PM Changeset in webkit [39319] by
-
- 2 edits in trunk/JavaScriptCore
2008-12-15 Steve Falkenburg <sfalken@apple.com>
Windows build fix.
Visual Studio requires visibility of forward declarations to match class declaration.
- assembler/X86Assembler.h:
- 4:09 PM Changeset in webkit [39318] by
-
- 4 edits in trunk
JavaScriptCore:
2008-12-15 Gustavo Noronha Silva <kov@kov.eti.br>
Reviewed by Mark Rowe.
GTK+ build fix.
- GNUmakefile.am:
WebCore:
2008-12-15 Gustavo Noronha Silva <kov@kov.eti.br>
Reviewed by Mark Rowe.
GTK+ build fix.
- GNUmakefile.am:
- 3:38 PM Changeset in webkit [39317] by
-
- 2 edits in trunk/WebKitTools
2008-12-15 Darin Adler <Darin Adler>
- Scripts/make-js-test-wrappers: Added another exception to avoid overwriting a custom-written test.
- 3:38 PM Changeset in webkit [39316] by
-
- 8 edits in trunk/JavaScriptCore
2008-12-15 Gavin Barraclough <barraclough@apple.com>
Reviewed by Geoff Garen.
Add support to X86Assembler emitting instructions that access all 16 registers on x86-64.
Add a new formating class, that is reponsible for both emitting the opcode bytes and the
ModRm bytes of an instruction in a single call; this can insert the REX byte as necessary
before the opcode, but has access to the register numbers to build the REX.
- assembler/AssemblerBuffer.h: (JSC::AssemblerBuffer::isAligned): (JSC::AssemblerBuffer::data):
- assembler/MacroAssembler.h: (JSC::MacroAssembler::addPtr): (JSC::MacroAssembler::add32): (JSC::MacroAssembler::and32): (JSC::MacroAssembler::or32): (JSC::MacroAssembler::sub32): (JSC::MacroAssembler::xor32): (JSC::MacroAssembler::loadPtr): (JSC::MacroAssembler::load32): (JSC::MacroAssembler::load16): (JSC::MacroAssembler::storePtr): (JSC::MacroAssembler::storePtrWithRepatch): (JSC::MacroAssembler::store32): (JSC::MacroAssembler::pop): (JSC::MacroAssembler::push): (JSC::MacroAssembler::compareImm32ForBranch): (JSC::MacroAssembler::compareImm32ForBranchEquality): (JSC::MacroAssembler::testImm32): (JSC::MacroAssembler::jae32): (JSC::MacroAssembler::jb32): (JSC::MacroAssembler::je16): (JSC::MacroAssembler::jg32): (JSC::MacroAssembler::jnePtr): (JSC::MacroAssembler::jne32): (JSC::MacroAssembler::jump):
- assembler/X86Assembler.h: (JSC::X86::): (JSC::X86Assembler::): (JSC::X86Assembler::size): (JSC::X86Assembler::push_r): (JSC::X86Assembler::pop_r): (JSC::X86Assembler::push_i32): (JSC::X86Assembler::push_m): (JSC::X86Assembler::pop_m): (JSC::X86Assembler::addl_rr): (JSC::X86Assembler::addl_mr): (JSC::X86Assembler::addl_ir): (JSC::X86Assembler::addq_ir): (JSC::X86Assembler::addl_im): (JSC::X86Assembler::andl_rr): (JSC::X86Assembler::andl_ir): (JSC::X86Assembler::orl_rr): (JSC::X86Assembler::orl_mr): (JSC::X86Assembler::orl_ir): (JSC::X86Assembler::subl_rr): (JSC::X86Assembler::subl_mr): (JSC::X86Assembler::subl_ir): (JSC::X86Assembler::subl_im): (JSC::X86Assembler::xorl_rr): (JSC::X86Assembler::xorl_ir): (JSC::X86Assembler::sarl_i8r): (JSC::X86Assembler::sarl_CLr): (JSC::X86Assembler::shll_i8r): (JSC::X86Assembler::shll_CLr): (JSC::X86Assembler::imull_rr): (JSC::X86Assembler::imull_i32r): (JSC::X86Assembler::idivl_r): (JSC::X86Assembler::cmpl_rr): (JSC::X86Assembler::cmpl_rm): (JSC::X86Assembler::cmpl_mr): (JSC::X86Assembler::cmpl_ir): (JSC::X86Assembler::cmpl_ir_force32): (JSC::X86Assembler::cmpl_im): (JSC::X86Assembler::cmpl_im_force32): (JSC::X86Assembler::cmpw_rm): (JSC::X86Assembler::testl_rr): (JSC::X86Assembler::testl_i32r): (JSC::X86Assembler::testl_i32m): (JSC::X86Assembler::testq_rr): (JSC::X86Assembler::testq_i32r): (JSC::X86Assembler::testb_i8r): (JSC::X86Assembler::sete_r): (JSC::X86Assembler::setz_r): (JSC::X86Assembler::setne_r): (JSC::X86Assembler::setnz_r): (JSC::X86Assembler::cdq): (JSC::X86Assembler::xchgl_rr): (JSC::X86Assembler::movl_rr): (JSC::X86Assembler::movl_rm): (JSC::X86Assembler::movl_mr): (JSC::X86Assembler::movl_i32r): (JSC::X86Assembler::movl_i32m): (JSC::X86Assembler::movq_rr): (JSC::X86Assembler::movq_rm): (JSC::X86Assembler::movq_mr): (JSC::X86Assembler::movzwl_mr): (JSC::X86Assembler::movzbl_rr): (JSC::X86Assembler::leal_mr): (JSC::X86Assembler::call): (JSC::X86Assembler::jmp): (JSC::X86Assembler::jmp_r): (JSC::X86Assembler::jmp_m): (JSC::X86Assembler::jne): (JSC::X86Assembler::jnz): (JSC::X86Assembler::je): (JSC::X86Assembler::jl): (JSC::X86Assembler::jb): (JSC::X86Assembler::jle): (JSC::X86Assembler::jbe): (JSC::X86Assembler::jge): (JSC::X86Assembler::jg): (JSC::X86Assembler::ja): (JSC::X86Assembler::jae): (JSC::X86Assembler::jo): (JSC::X86Assembler::jp): (JSC::X86Assembler::js): (JSC::X86Assembler::addsd_rr): (JSC::X86Assembler::addsd_mr): (JSC::X86Assembler::cvtsi2sd_rr): (JSC::X86Assembler::cvttsd2si_rr): (JSC::X86Assembler::movd_rr): (JSC::X86Assembler::movsd_rm): (JSC::X86Assembler::movsd_mr): (JSC::X86Assembler::mulsd_rr): (JSC::X86Assembler::mulsd_mr): (JSC::X86Assembler::pextrw_irr): (JSC::X86Assembler::subsd_rr): (JSC::X86Assembler::subsd_mr): (JSC::X86Assembler::ucomis_rr): (JSC::X86Assembler::int3): (JSC::X86Assembler::ret): (JSC::X86Assembler::predictNotTaken): (JSC::X86Assembler::label): (JSC::X86Assembler::align): (JSC::X86Assembler::link): (JSC::X86Assembler::executableCopy): (JSC::X86Assembler::X86InstructionFormater::prefix): (JSC::X86Assembler::X86InstructionFormater::oneByteOp): (JSC::X86Assembler::X86InstructionFormater::twoByteOp): (JSC::X86Assembler::X86InstructionFormater::oneByteOp64): (JSC::X86Assembler::X86InstructionFormater::oneByteOp8): (JSC::X86Assembler::X86InstructionFormater::twoByteOp8): (JSC::X86Assembler::X86InstructionFormater::instructionImmediate8): (JSC::X86Assembler::X86InstructionFormater::instructionImmediate32): (JSC::X86Assembler::X86InstructionFormater::instructionRel32): (JSC::X86Assembler::X86InstructionFormater::size): (JSC::X86Assembler::X86InstructionFormater::isAligned): (JSC::X86Assembler::X86InstructionFormater::data): (JSC::X86Assembler::X86InstructionFormater::executableCopy): (JSC::X86Assembler::X86InstructionFormater::registerModRM): (JSC::X86Assembler::X86InstructionFormater::memoryModRM):
- jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompile): (JSC::JIT::privateCompileCTIMachineTrampolines):
- jit/JITArithmetic.cpp: (JSC::JIT::putDoubleResultToJSNumberCellOrJSImmediate): (JSC::JIT::compileBinaryArithOp):
- jit/JITCall.cpp: (JSC::JIT::compileOpCall): (JSC::JIT::compileOpCallSlowCase):
- jit/JITPropertyAccess.cpp: (JSC::JIT::compileGetByIdHotPath): (JSC::JIT::compilePutByIdHotPath): (JSC::JIT::privateCompilePutByIdTransition): (JSC::JIT::privateCompilePatchGetArrayLength): (JSC::JIT::privateCompileGetByIdProto): (JSC::JIT::privateCompileGetByIdProtoList): (JSC::JIT::privateCompileGetByIdChainList): (JSC::JIT::privateCompileGetByIdChain):
- 3:31 PM Changeset in webkit [39315] by
-
- 5 edits in trunk/WebKit/mac
2008-12-15 Anders Carlsson <andersca@apple.com>
Reviewed by Darin Adler.
Let WebKit generate a plug-in ID instead of having the plug-in host do it.
- Plugins/Hosted/NetscapePluginHostManager.mm: (WebKit::NetscapePluginHostManager::instantiatePlugin): Create the plug-in proxy before instantiating the plug-in.
- Plugins/Hosted/NetscapePluginInstanceProxy.h: (WebKit::NetscapePluginInstanceProxy::create): (WebKit::NetscapePluginInstanceProxy::setRenderContextID): (WebKit::NetscapePluginInstanceProxy::setUseSoftwareRenderer):
- Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
- Plugins/Hosted/WebKitPluginHost.defs:
- 2:30 PM Changeset in webkit [39314] by
-
- 4 edits in trunk/WebKit/mac
2008-12-15 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
LoadURL doesn't need to be asynchronous.
- Plugins/Hosted/NetscapePluginHostProxy.mm: (WKPCLoadURL):
- Plugins/Hosted/WebKitPluginClient.defs:
- Plugins/Hosted/WebKitPluginHost.defs:
- 2:18 PM Changeset in webkit [39313] by
-
- 2 edits in trunk
2008-12-15 Daniel Macks <dmacks@netspace.org>
Reviewed by Darin Adler.
Default to use external libicu-config if avail on all platforms.
https://bugs.webkit.org/show_bug.cgi?id=22713
- configure.ac:
- 1:51 PM Changeset in webkit [39312] by
-
- 1 edit2 adds in trunk/LayoutTests
2008-12-15 Pierre-Olivier Latour <pol@apple.com>
Reviewed by Dan Bernstein.
Added an extra layout test for transitions.
- transitions/change-values-during-transition-expected.txt: Added.
- transitions/change-values-during-transition.html: Added.
- 1:09 PM Changeset in webkit [39311] by
-
- 8 edits1 delete in trunk/WebCore
2008-12-15 Sam Weinig <sam@webkit.org>
Reviewed by Darin Adler.
Fix for https://bugs.webkit.org/show_bug.cgi?id=22847
Geolocation PositionOptions cannot be an arbitrary object.
Allow the PositionOptions to be a vanilla JS object and parse it
appropriately.
- DerivedSources.make: Remove PositionOptions.
- GNUmakefile.am: Ditto.
- WebCore.pro: Ditto.
- WebCore.vcproj/WebCore.vcproj: Ditto.
- WebCore.xcodeproj/project.pbxproj: Ditto.
- WebCoreSources.bkl: Ditto.
- bindings/js/JSGeolocationCustom.cpp: (WebCore::createPositionOptions): Added. Extracts the enableHighAccuracy and timeout fields from a vanilla JS object in order to create the PositionOptions object, checking for exceptions as necessary. (WebCore::JSGeolocation::getCurrentPosition): Use createPositionOptions instead of toPositionOptions. (WebCore::JSGeolocation::watchPosition): Ditto.
- page/PositionOptions.idl: Removed
- 1:06 PM Changeset in webkit [39310] by
-
- 1 edit2 adds in trunk/LayoutTests
2008-12-15 Pierre-Olivier Latour <pol@apple.com>
Reviewed by Dan Bernstein.
Added an extra layout test for animations.
- animations/combo-transform-rotate+scale-expected.txt: Added.
- animations/combo-transform-rotate+scale.html: Added.
- 12:45 PM Changeset in webkit [39309] by
-
- 15 edits in trunk/WebCore
2008-12-15 Peter Kasting <pkasting@google.com>
Reviewed by David Hyatt.
https://bugs.webkit.org/show_bug.cgi?id=22108
Large animated GIFs weren't always animating. The code that deleted
the entire decoder after each frame of a large image was resulting in
us forgetting the loop count, breaking animations intermittently.
Instead of throwing the whole decoder away, we're more careful to just
delete frames we don't care about. This additionally addresses
problems in the Cairo and Chromium ports with excessive peak memory
use and CPU use when decoding large animated GIFs because it leads to
much less redecoding (O(n) instead of O(n2) CPU, and O(1) instead of
O(n) memory).
This change has less impact on the CG decoder, which seems to throw
away frames automatically when their external references are dropped;
this means the CG decoder didn't suffer from the peak memory usage
issue before (and still doesn't), but it also still burns excessive
CPU redecoding earlier frames, that in theory it wouldn't need to
redecode if it would judiciously save the most recent frames. At
least this patch plumbs some useful info to the ImageSource so it can
help guide the CG decoder heuristics in the future.
- platform/graphics/BitmapImage.cpp: (WebCore::frameBytes): (WebCore::BitmapImage::destroyDecodedData): (WebCore::BitmapImage::destroyDecodedDataIfNecessary): (WebCore::BitmapImage::destroyMetadataAndNotify): (WebCore::BitmapImage::clearFrame): (WebCore::BitmapImage::cacheFrame): (WebCore::BitmapImage::dataChanged): (WebCore::BitmapImage::startAnimation): (WebCore::BitmapImage::resetAnimation): (WebCore::BitmapImage::internalAdvanceAnimation):
- platform/graphics/BitmapImage.h:
- platform/graphics/GeneratedImage.h: (WebCore::GeneratedImage::destroyDecodedData):
- platform/graphics/Image.h:
- platform/graphics/ImageSource.h:
- platform/graphics/cairo/ImageSourceCairo.cpp: (WebCore::ImageSource::~ImageSource): (WebCore::ImageSource::clear):
- platform/graphics/cg/ImageSourceCG.cpp: (WebCore::ImageSource::~ImageSource): (WebCore::ImageSource::clear):
- platform/graphics/cg/PDFDocumentImage.h: (WebCore::PDFDocumentImage::destroyDecodedData):
- platform/graphics/qt/StillImageQt.h: (WebCore::StillImage::destroyDecodedData):
- platform/image-decoders/ImageDecoder.h: (WebCore::RGBA32Buffer::clear): (WebCore::ImageDecoder::clearFrameBufferCache):
- platform/image-decoders/gif/GIFImageDecoder.cpp: (WebCore::GIFImageDecoder::repetitionCount): (WebCore::GIFImageDecoder::clearFrameBufferCache): (WebCore::GIFImageDecoder::initFrameBuffer):
- platform/image-decoders/gif/GIFImageDecoder.h:
- platform/image-decoders/gif/GIFImageReader.h: (GIFImageReader::GIFImageReader):
- svg/graphics/SVGImage.h: (WebCore::SVGImage::destroyDecodedData):
- 12:18 PM Changeset in webkit [39308] by
-
- 3 edits in trunk/LayoutTests
2008-12-15 Pierre-Olivier Latour <pol@apple.com>
Updated transform-value-types.html and transform-value-types-expected.txt to latest version
since change r39264 was lost when relocating these files.
- transforms/2d/transform-value-types-expected.txt:
- transforms/2d/transform-value-types.html:
- 11:49 AM Changeset in webkit [39307] by
-
- 1 edit4 moves12 adds in trunk/LayoutTests
2008-12-15 Pierre-Olivier Latour <pol@apple.com>
Reviewed by Sam Weinig.
Add new layout tests for transforms, animations & transitions.
Also move a couple transform layout tests to the proper subdirectory.
- animations/combo-transform-translate+scale-expected.txt: Added.
- animations/combo-transform-translate+scale.html: Added.
- transforms/2d/computed-style-origin-expected.txt: Copied from LayoutTests/transforms/computed-style-origin-expected.txt.
- transforms/2d/computed-style-origin.html: Copied from LayoutTests/transforms/computed-style-origin.html.
- transforms/2d/transform-value-types-expected.txt: Copied from LayoutTests/transforms/transform-value-types-expected.txt.
- transforms/2d/transform-value-types.html: Copied from LayoutTests/transforms/transform-value-types.html.
- transforms/computed-style-origin-expected.txt: Removed.
- transforms/computed-style-origin.html: Removed.
- transforms/transform-value-types-expected.txt: Removed.
- transforms/transform-value-types.html: Removed.
- transitions/interrupt-transform-transition-expected.txt: Added.
- transitions/interrupt-transform-transition.html: Added.
- transitions/start-transform-transition-expected.txt: Added.
- transitions/start-transform-transition.html: Added.
- transitions/transition-timing-function-software-expected.txt: Added.
- transitions/transition-timing-function-software.html: Added.
- transitions/zero-duration-in-list-expected.txt: Added.
- transitions/zero-duration-in-list.html: Added.
- transitions/zero-duration-without-units-expected.txt: Added.
- transitions/zero-duration-without-units.html: Added.
- 11:42 AM Changeset in webkit [39306] by
-
- 9 edits in trunk/WebCore
2008-12-15 Cameron Zwarich <zwarich@apple.com>
Reviewed by Darin Adler.
Bug 22562: REGRESSION (r37971): events not firing after going back in back/forward cache
<https://bugs.webkit.org/show_bug.cgi?id=22562>
<rdar://problem/6414593>
Restore the Frame's DOMWindow to its previous value when going back in
the back/forward cache. The fact that it was not getting set before may
have always caused some subtle bugs with the back/forward cache, but
after r37971, it causes no events to fire after restoring a page.
Previously, ScriptController::clearScriptObjects() was calling
clearPlatformScriptObjects(), which was not actually clearing any
objects, only updating them to reflect some change in state. Since the
window shell was not updated until after the call to clearScriptObjects(),
this didn't actually make that much sense.
We rename clearPlatformScriptObjects() to reflect its actual purpose and
call it after the window shell has been updated rather than before.
Unfortunately, there is no way to test this with a layout test because
it involves the back/forward cache.
- bindings/js/ScriptController.cpp: (WebCore::ScriptController::updatePlatformScriptObjects): Renamed from clearPlatformScriptObjects(), because the only nonempty implementation doesn't actually clear any objects, it updates them. Also made public. (WebCore::ScriptController::clearScriptObjects): Remove the call to clearPlatformScriptObjects().
- bindings/js/ScriptController.h:
- bindings/js/ScriptControllerMac.mm: (WebCore::ScriptController::updatePlatformScriptObjects):
- history/CachedPage.cpp: (WebCore::CachedPage::domWindow): Added.
- history/CachedPage.h:
- loader/FrameLoader.cpp: (WebCore::FrameLoader::cancelAndClear): Added call to updatePlatformScriptObjects(). (WebCore::FrameLoader::begin): Added call to updatePlatformScriptObjects(). (WebCore::FrameLoader::open): Added call to updatePlatformScriptObjects().
- page/Frame.cpp: (WebCore::Frame::setDOMWindow): Added. (WebCore::Frame::pageDestroyed): Added call to updatePlatformScriptObjects().
- page/Frame.h:
- 7:31 AM Changeset in webkit [39305] by
-
- 6 edits in trunk/WebKit/mac
2008-12-15 Antti Koivisto <Antti Koivisto>
Reviewed by Darin Adler.
- Add [WebFrame reloadFromOrigin] for performing end-to-end reload.
- Add corresponding IBAction to WebView.
- Temporarily make [WebFrame reload] trigger end-to-end reload if shift modifier is pressed when it is called.
- WebView/WebFrame.h:
- WebView/WebFrame.mm: (-[WebFrame reload]): (-[WebFrame reloadFromOrigin]):
- WebView/WebFramePrivate.h: Match the FrameLoadType enum in WebCore.
- WebView/WebView.h:
- WebView/WebView.mm: (-[WebView reloadFromOrigin:]):
- 7:28 AM Changeset in webkit [39304] by
-
- 12 edits in trunk/WebCore
2008-12-15 Antti Koivisto <Antti Koivisto>
Reviewed by Darin Adler.
When a resource is cached locally, WebKit should follow RFC 2616 "Specific end-to-end revalidation" instead of "Unspecified end-to-end revalidation"
https://bugs.webkit.org/show_bug.cgi?id=17998
- Enable conditional revalidation for reloads by default.
- Add a parameter to FrameLoader::reload() for forcing end-to-end reload.
- To avoid duplicating state remove m_cachePolicy variables from FrameLoader and DocLoader. Instead synthezise the policy on demand.
This speeds up reloads and makes them use way less bandwidth.
- WebCore.base.exp:
- loader/CachePolicy.h: Rename CachePolicyRefresh to CachePolicyRevalidate. (WebCore::):
- loader/DocLoader.cpp: (WebCore::DocLoader::DocLoader): (WebCore::DocLoader::checkForReload): Support CachePolicyRevalidate. (WebCore::DocLoader::requestResource): (WebCore::DocLoader::cachePolicy):
- loader/DocLoader.h: Get rid of m_cachePolicy member.
- loader/FrameLoader.cpp: (WebCore::ScheduledRedirection::ScheduledRedirection):
Add parameter to differentiate refresh from other types of redirects.
m_cachePolicy was used for signaling this before.
(WebCore::isBackForwardLoadType):
(WebCore::FrameLoader::FrameLoader):
(WebCore::FrameLoader::changeLocation):
(WebCore::FrameLoader::stopLoading):
(WebCore::FrameLoader::receivedFirstData):
(WebCore::FrameLoader::write):
(WebCore::FrameLoader::startIconLoader):
(WebCore::FrameLoader::restoreDocumentState):
(WebCore::FrameLoader::scheduleHTTPRedirection):
(WebCore::FrameLoader::scheduleLocationChange):
(WebCore::FrameLoader::scheduleRefresh):
(WebCore::FrameLoader::redirectionTimerFired):
(WebCore::FrameLoader::canCachePage):
(WebCore::FrameLoader::loadURL):
(WebCore::FrameLoader::reload):
Differentiate between revalidation and reload.
No need to use setHTTPHeaderField here, addExtraFieldsToRequest will set the headers.
(WebCore::FrameLoader::transitionToCommitted):
(WebCore::FrameLoader::cachePolicy): Determine the cache policy based on current load type.
(WebCore::FrameLoader::checkLoadCompleteForThisFrame):
(WebCore::FrameLoader::addExtraFieldsToRequest): Set Cache-control: no-cache for FrameLoadTypeReloadFromOrigin
(WebCore::FrameLoader::shouldScrollToAnchor):
(WebCore::FrameLoader::loadItem):
(WebCore::FrameLoader::updateHistoryForReload):
(WebCore::FrameLoader::updateHistoryForCommit):
(WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
- loader/FrameLoader.h:
- loader/FrameLoaderTypes.h: Add FrameLoadTypeReloadFromOrigin (WebCore::):
- loader/NavigationAction.cpp: (WebCore::navigationType): Support FrameLoadTypeReloadFromOrigin
- loader/loader.cpp: (WebCore::Loader::Host::servePendingRequests):
- 6:25 AM Changeset in webkit [39303] by
-
- 2 edits in trunk/JavaScriptCore
2008-12-15 Darin Adler <Darin Adler>
- interpreter/RegisterFile.h: Tweak include formatting.
- 6:14 AM Changeset in webkit [39302] by
-
- 2 edits in trunk/JavaScriptCore
Build fix for Gtk+
- 4:34 AM Changeset in webkit [39301] by
-
- 3 edits in trunk/WebKit/qt
Change the order of sub frame initialisation to avoid crashes
Add the newly created frame to the FrameTree before calling
WebCore::Frame::init to not segfault on
LayoutTests/fast/loader/frame-creation-removal.html.
- 4:32 AM Changeset in webkit [39300] by
-
- 2 edits in trunk/WebCore
Add null checks to PlatformScreenQt
The other ports do the null checks and JSDOMWindowBase is
at least one caller that is passing 0.
- 4:19 AM Changeset in webkit [39299] by
-
- 2 edits in trunk/LayoutTests
2008-12-15 Simon Hausmann <Simon Hausmann>
Reviewed by Holger Freyther.
Add worker tests to the skip list for the Qt DRT as the feature is not enabled.
- 4:19 AM Changeset in webkit [39298] by
-
- 5 edits in trunk
2008-12-15 Simon Hausmann <Simon Hausmann>
Reviewed by Holger Freyther.
Implement setJavaScriptProfilingEnabled in the Qt DRT to pass fast/profiler.
- 4:03 AM Changeset in webkit [39297] by
-
- 4 edits in trunk
Reviewed by Oliver Hunt.
<rdar://problem/6444455> Worker Thread crash running multiple workers for a moderate amount of time
WebCore:
- dom/WorkerThread.cpp: (WebCore::WorkerThread::workerThread): Detach the thread. Without this, one page of its stack was never unmmaped, and fragmentation made RegisterFile allocaiton fail after a while.
- interpreter/RegisterFile.h: (JSC::RegisterFile::RegisterFile): Improve error handling: if mmap fails, crash immediately, and print out the reason.