From 5ee46f459268d8c735aeeca3a3479477dbdd470f Mon Sep 17 00:00:00 2001 From: Jocelyn Turcotte Date: Tue, 23 Feb 2010 21:29:35 +0100 Subject: Revert "Updated WebKit from /home/jturcott/dev/webkit to qtwebkit-4.7-merged ( 5381ceeb37d97365cfb2f037650dbb4e495bca4e )" This reverts commit f3be69195ebe94c003755a652a9ef9e8a3a898fe. Reverting the WebKit update because of build issues on Mac and MSVC 64bit --- src/3rdparty/webkit/.gitattributes | 273 - src/3rdparty/webkit/.gitignore | 18 - src/3rdparty/webkit/ChangeLog | 708 - src/3rdparty/webkit/JavaScriptCore/API/APICast.h | 20 +- src/3rdparty/webkit/JavaScriptCore/API/APIShims.h | 97 - src/3rdparty/webkit/JavaScriptCore/API/JSBase.cpp | 18 +- src/3rdparty/webkit/JavaScriptCore/API/JSBase.h | 20 +- .../JavaScriptCore/API/JSCallbackConstructor.cpp | 3 +- .../JavaScriptCore/API/JSCallbackConstructor.h | 2 +- .../JavaScriptCore/API/JSCallbackFunction.cpp | 3 +- .../webkit/JavaScriptCore/API/JSCallbackFunction.h | 2 +- .../webkit/JavaScriptCore/API/JSCallbackObject.h | 5 +- .../JavaScriptCore/API/JSCallbackObjectFunctions.h | 106 +- .../webkit/JavaScriptCore/API/JSClassRef.cpp | 95 +- .../webkit/JavaScriptCore/API/JSClassRef.h | 3 +- .../webkit/JavaScriptCore/API/JSContextRef.cpp | 32 +- .../webkit/JavaScriptCore/API/JSObjectRef.cpp | 64 +- .../webkit/JavaScriptCore/API/JSStringRef.h | 3 +- .../webkit/JavaScriptCore/API/JSValueRef.cpp | 83 +- .../webkit/JavaScriptCore/API/OpaqueJSString.cpp | 2 +- src/3rdparty/webkit/JavaScriptCore/ChangeLog | 8029 +- src/3rdparty/webkit/JavaScriptCore/Info.plist | 4 +- .../webkit/JavaScriptCore/JavaScriptCore.gypi | 19 +- .../webkit/JavaScriptCore/JavaScriptCore.order | 2 + .../webkit/JavaScriptCore/JavaScriptCore.pri | 223 +- .../webkit/JavaScriptCore/JavaScriptCore.pro | 6 + .../JavaScriptCore/assembler/ARMAssembler.cpp | 92 +- .../webkit/JavaScriptCore/assembler/ARMAssembler.h | 91 +- .../JavaScriptCore/assembler/ARMv7Assembler.h | 17 +- .../assembler/AbstractMacroAssembler.h | 8 +- .../JavaScriptCore/assembler/MacroAssembler.h | 23 +- .../JavaScriptCore/assembler/MacroAssemblerARM.cpp | 11 +- .../JavaScriptCore/assembler/MacroAssemblerARM.h | 139 +- .../JavaScriptCore/assembler/MacroAssemblerARMv7.h | 49 +- .../assembler/MacroAssemblerCodeRef.h | 6 +- .../JavaScriptCore/assembler/MacroAssemblerX86.h | 2 +- .../assembler/MacroAssemblerX86Common.h | 89 +- .../assembler/MacroAssemblerX86_64.h | 29 +- .../webkit/JavaScriptCore/assembler/X86Assembler.h | 64 +- .../webkit/JavaScriptCore/bytecode/CodeBlock.cpp | 336 +- .../webkit/JavaScriptCore/bytecode/CodeBlock.h | 34 +- .../webkit/JavaScriptCore/bytecode/EvalCodeCache.h | 2 +- .../webkit/JavaScriptCore/bytecode/Opcode.h | 11 - .../JavaScriptCore/bytecode/SamplingTool.cpp | 4 +- .../bytecompiler/BytecodeGenerator.cpp | 22 +- .../bytecompiler/BytecodeGenerator.h | 13 - .../JavaScriptCore/bytecompiler/NodesCodegen.cpp | 1999 - src/3rdparty/webkit/JavaScriptCore/config.h | 23 +- .../webkit/JavaScriptCore/create_jit_stubs | 69 - .../webkit/JavaScriptCore/debugger/Debugger.cpp | 7 +- .../webkit/JavaScriptCore/debugger/Debugger.h | 2 +- .../JavaScriptCore/debugger/DebuggerActivation.cpp | 8 +- .../JavaScriptCore/debugger/DebuggerActivation.h | 6 +- .../JavaScriptCore/debugger/DebuggerCallFrame.cpp | 8 +- .../JavaScriptCore/generated/ArrayPrototype.lut.h | 2 +- .../JavaScriptCore/generated/DatePrototype.lut.h | 2 +- .../generated/GeneratedJITStubs_RVCT.h | 1177 - .../webkit/JavaScriptCore/generated/Grammar.cpp | 1542 +- .../webkit/JavaScriptCore/generated/Grammar.h | 109 +- .../JavaScriptCore/generated/JSONObject.lut.h | 2 +- .../webkit/JavaScriptCore/generated/Lexer.lut.h | 2 +- .../JavaScriptCore/generated/MathObject.lut.h | 2 +- .../generated/NumberConstructor.lut.h | 2 +- .../generated/RegExpConstructor.lut.h | 2 +- .../JavaScriptCore/generated/RegExpObject.lut.h | 2 +- .../JavaScriptCore/generated/StringPrototype.lut.h | 2 +- .../webkit/JavaScriptCore/interpreter/CachedCall.h | 11 +- .../webkit/JavaScriptCore/interpreter/CallFrame.h | 23 +- .../JavaScriptCore/interpreter/Interpreter.cpp | 278 +- .../webkit/JavaScriptCore/interpreter/Register.h | 65 +- .../JavaScriptCore/interpreter/RegisterFile.cpp | 2 +- .../JavaScriptCore/interpreter/RegisterFile.h | 8 +- .../JavaScriptCore/jit/ExecutableAllocator.h | 28 +- .../jit/ExecutableAllocatorFixedVMPool.cpp | 2 +- .../jit/ExecutableAllocatorPosix.cpp | 6 +- .../jit/ExecutableAllocatorSymbian.cpp | 4 +- .../JavaScriptCore/jit/ExecutableAllocatorWin.cpp | 2 +- src/3rdparty/webkit/JavaScriptCore/jit/JIT.cpp | 14 +- src/3rdparty/webkit/JavaScriptCore/jit/JIT.h | 116 +- .../webkit/JavaScriptCore/jit/JITArithmetic.cpp | 399 +- src/3rdparty/webkit/JavaScriptCore/jit/JITCall.cpp | 6 - .../webkit/JavaScriptCore/jit/JITInlineMethods.h | 34 +- .../webkit/JavaScriptCore/jit/JITOpcodes.cpp | 377 +- .../JavaScriptCore/jit/JITPropertyAccess.cpp | 1026 +- .../JavaScriptCore/jit/JITPropertyAccess32_64.cpp | 1026 - .../webkit/JavaScriptCore/jit/JITStubCall.h | 17 +- .../webkit/JavaScriptCore/jit/JITStubs.cpp | 348 +- src/3rdparty/webkit/JavaScriptCore/jit/JITStubs.h | 40 +- src/3rdparty/webkit/JavaScriptCore/jsc.cpp | 69 +- .../webkit/JavaScriptCore/os-win32/WinMain.cpp | 81 - .../webkit/JavaScriptCore/parser/Grammar.y | 10 +- .../webkit/JavaScriptCore/parser/Lexer.cpp | 5 +- .../JavaScriptCore/parser/NodeConstructors.h | 6 +- .../webkit/JavaScriptCore/parser/Nodes.cpp | 1891 +- src/3rdparty/webkit/JavaScriptCore/parser/Nodes.h | 10 - .../webkit/JavaScriptCore/parser/Parser.cpp | 2 +- src/3rdparty/webkit/JavaScriptCore/pcre/dftables | 1 - src/3rdparty/webkit/JavaScriptCore/pcre/pcre.pri | 23 + .../webkit/JavaScriptCore/pcre/pcre_exec.cpp | 4 +- .../JavaScriptCore/profiler/HeavyProfile.cpp | 0 .../webkit/JavaScriptCore/profiler/HeavyProfile.h | 0 .../webkit/JavaScriptCore/profiler/Profile.cpp | 2 +- .../JavaScriptCore/profiler/ProfileGenerator.cpp | 4 +- .../webkit/JavaScriptCore/profiler/ProfileNode.cpp | 8 +- .../webkit/JavaScriptCore/profiler/Profiler.cpp | 22 +- .../webkit/JavaScriptCore/profiler/Profiler.h | 2 +- .../webkit/JavaScriptCore/profiler/TreeProfile.cpp | 0 .../webkit/JavaScriptCore/profiler/TreeProfile.h | 0 .../webkit/JavaScriptCore/qt/api/QtScript.pro | 36 - .../JavaScriptCore/qt/api/qscriptconverter_p.h | 50 - .../webkit/JavaScriptCore/qt/api/qscriptengine.cpp | 108 - .../webkit/JavaScriptCore/qt/api/qscriptengine.h | 49 - .../JavaScriptCore/qt/api/qscriptengine_p.cpp | 54 - .../webkit/JavaScriptCore/qt/api/qscriptengine_p.h | 98 - .../webkit/JavaScriptCore/qt/api/qscriptvalue.cpp | 556 - .../webkit/JavaScriptCore/qt/api/qscriptvalue.h | 99 - .../webkit/JavaScriptCore/qt/api/qscriptvalue_p.h | 744 - .../webkit/JavaScriptCore/qt/api/qtscriptglobal.h | 44 - .../qt/tests/qscriptengine/qscriptengine.pro | 7 - .../qt/tests/qscriptengine/tst_qscriptengine.cpp | 77 - .../qt/tests/qscriptvalue/qscriptvalue.pro | 11 - .../qt/tests/qscriptvalue/tst_qscriptvalue.cpp | 435 - .../qt/tests/qscriptvalue/tst_qscriptvalue.h | 189 - .../qscriptvalue/tst_qscriptvalue_generated.cpp | 1450 - .../webkit/JavaScriptCore/qt/tests/tests.pri | 28 - .../webkit/JavaScriptCore/qt/tests/tests.pro | 3 - .../webkit/JavaScriptCore/runtime/ArgList.h | 10 +- .../webkit/JavaScriptCore/runtime/Arguments.cpp | 13 - .../webkit/JavaScriptCore/runtime/Arguments.h | 3 +- .../JavaScriptCore/runtime/ArrayPrototype.cpp | 98 +- .../runtime/BatchedTransitionOptimizer.h | 2 +- .../webkit/JavaScriptCore/runtime/BooleanObject.h | 2 +- .../webkit/JavaScriptCore/runtime/Collector.cpp | 768 +- .../webkit/JavaScriptCore/runtime/Collector.h | 144 +- .../JavaScriptCore/runtime/CollectorHeapIterator.h | 126 +- .../JavaScriptCore/runtime/CommonIdentifiers.cpp | 3 +- .../JavaScriptCore/runtime/CommonIdentifiers.h | 2 +- .../webkit/JavaScriptCore/runtime/Completion.cpp | 2 - .../JavaScriptCore/runtime/DateConstructor.cpp | 23 +- .../JavaScriptCore/runtime/DateConversion.cpp | 59 +- .../webkit/JavaScriptCore/runtime/DateConversion.h | 19 +- .../webkit/JavaScriptCore/runtime/DateInstance.cpp | 42 +- .../webkit/JavaScriptCore/runtime/DateInstance.h | 19 +- .../JavaScriptCore/runtime/DateInstanceCache.h | 11 +- .../JavaScriptCore/runtime/DatePrototype.cpp | 259 +- .../webkit/JavaScriptCore/runtime/DatePrototype.h | 2 +- .../webkit/JavaScriptCore/runtime/Error.cpp | 8 +- .../JavaScriptCore/runtime/ErrorPrototype.cpp | 23 +- .../JavaScriptCore/runtime/ExceptionHelpers.cpp | 76 +- .../JavaScriptCore/runtime/ExceptionHelpers.h | 1 - .../webkit/JavaScriptCore/runtime/Executable.cpp | 12 +- .../JavaScriptCore/runtime/FunctionConstructor.cpp | 22 +- .../JavaScriptCore/runtime/FunctionPrototype.cpp | 9 +- .../JavaScriptCore/runtime/FunctionPrototype.h | 2 +- .../webkit/JavaScriptCore/runtime/GetterSetter.h | 2 +- .../JavaScriptCore/runtime/GlobalEvalFunction.h | 2 +- .../webkit/JavaScriptCore/runtime/Identifier.cpp | 82 +- .../webkit/JavaScriptCore/runtime/Identifier.h | 68 +- .../JavaScriptCore/runtime/InitializeThreading.cpp | 7 +- .../JavaScriptCore/runtime/InternalFunction.cpp | 18 +- .../JavaScriptCore/runtime/InternalFunction.h | 8 +- .../JavaScriptCore/runtime/JSAPIValueWrapper.h | 2 +- .../webkit/JavaScriptCore/runtime/JSActivation.h | 2 +- .../webkit/JavaScriptCore/runtime/JSArray.cpp | 36 +- .../webkit/JavaScriptCore/runtime/JSArray.h | 5 +- .../webkit/JavaScriptCore/runtime/JSByteArray.cpp | 16 +- .../webkit/JavaScriptCore/runtime/JSByteArray.h | 8 +- .../webkit/JavaScriptCore/runtime/JSCell.cpp | 17 +- .../webkit/JavaScriptCore/runtime/JSCell.h | 48 +- .../webkit/JavaScriptCore/runtime/JSFunction.cpp | 13 - .../webkit/JavaScriptCore/runtime/JSFunction.h | 5 +- .../webkit/JavaScriptCore/runtime/JSGlobalData.cpp | 67 +- .../webkit/JavaScriptCore/runtime/JSGlobalData.h | 49 +- .../JavaScriptCore/runtime/JSGlobalObject.cpp | 2 - .../webkit/JavaScriptCore/runtime/JSGlobalObject.h | 20 +- .../runtime/JSGlobalObjectFunctions.cpp | 48 +- .../JavaScriptCore/runtime/JSNotAnObject.cpp | 2 +- .../webkit/JavaScriptCore/runtime/JSNotAnObject.h | 4 +- .../webkit/JavaScriptCore/runtime/JSNumberCell.h | 12 +- .../webkit/JavaScriptCore/runtime/JSONObject.cpp | 23 +- .../webkit/JavaScriptCore/runtime/JSONObject.h | 2 +- .../webkit/JavaScriptCore/runtime/JSObject.cpp | 61 +- .../webkit/JavaScriptCore/runtime/JSObject.h | 34 +- .../runtime/JSPropertyNameIterator.cpp | 23 +- .../runtime/JSPropertyNameIterator.h | 36 +- .../JavaScriptCore/runtime/JSStaticScopeObject.h | 2 +- .../webkit/JavaScriptCore/runtime/JSString.cpp | 93 +- .../webkit/JavaScriptCore/runtime/JSString.h | 324 +- .../JavaScriptCore/runtime/JSStringBuilder.h | 105 - .../webkit/JavaScriptCore/runtime/JSValue.cpp | 2 +- .../webkit/JavaScriptCore/runtime/JSValue.h | 44 +- .../JavaScriptCore/runtime/JSVariableObject.cpp | 16 +- .../JavaScriptCore/runtime/JSVariableObject.h | 6 +- .../JavaScriptCore/runtime/JSWrapperObject.h | 6 +- .../webkit/JavaScriptCore/runtime/JSZombie.cpp | 48 - .../webkit/JavaScriptCore/runtime/JSZombie.h | 78 - .../JavaScriptCore/runtime/LiteralParser.cpp | 24 +- .../webkit/JavaScriptCore/runtime/Lookup.cpp | 2 +- .../webkit/JavaScriptCore/runtime/Lookup.h | 2 +- .../webkit/JavaScriptCore/runtime/MarkStack.h | 2 +- .../JavaScriptCore/runtime/MarkStackNone.cpp | 49 - .../JavaScriptCore/runtime/MarkStackPosix.cpp | 6 +- .../JavaScriptCore/runtime/MarkStackSymbian.cpp | 4 - .../webkit/JavaScriptCore/runtime/MarkStackWin.cpp | 6 +- .../webkit/JavaScriptCore/runtime/MathObject.cpp | 26 +- .../webkit/JavaScriptCore/runtime/MathObject.h | 2 +- .../runtime/NativeErrorConstructor.cpp | 2 +- .../JavaScriptCore/runtime/NumberConstructor.h | 2 +- .../webkit/JavaScriptCore/runtime/NumberObject.h | 2 +- .../JavaScriptCore/runtime/NumberPrototype.cpp | 59 +- .../JavaScriptCore/runtime/ObjectConstructor.cpp | 28 +- .../JavaScriptCore/runtime/ObjectPrototype.cpp | 3 +- .../webkit/JavaScriptCore/runtime/Operations.cpp | 26 +- .../webkit/JavaScriptCore/runtime/Operations.h | 271 +- .../JavaScriptCore/runtime/PropertyDescriptor.cpp | 8 +- .../JavaScriptCore/runtime/PropertyDescriptor.h | 2 +- .../JavaScriptCore/runtime/PropertyMapHashTable.h | 1 + .../JavaScriptCore/runtime/PropertyNameArray.cpp | 2 +- .../webkit/JavaScriptCore/runtime/PropertySlot.cpp | 4 +- .../webkit/JavaScriptCore/runtime/PropertySlot.h | 32 +- .../webkit/JavaScriptCore/runtime/RegExp.cpp | 11 +- .../webkit/JavaScriptCore/runtime/RegExp.h | 2 + .../JavaScriptCore/runtime/RegExpConstructor.cpp | 4 +- .../JavaScriptCore/runtime/RegExpConstructor.h | 2 +- .../JavaScriptCore/runtime/RegExpMatchesArray.h | 4 +- .../webkit/JavaScriptCore/runtime/RegExpObject.cpp | 2 +- .../webkit/JavaScriptCore/runtime/RegExpObject.h | 2 +- .../JavaScriptCore/runtime/RegExpPrototype.cpp | 17 +- .../webkit/JavaScriptCore/runtime/SmallStrings.cpp | 59 +- .../webkit/JavaScriptCore/runtime/SmallStrings.h | 1 - .../webkit/JavaScriptCore/runtime/StringBuilder.h | 83 - .../JavaScriptCore/runtime/StringConstructor.cpp | 12 +- .../webkit/JavaScriptCore/runtime/StringObject.cpp | 12 +- .../webkit/JavaScriptCore/runtime/StringObject.h | 4 +- .../StringObjectThatMasqueradesAsUndefined.h | 2 +- .../JavaScriptCore/runtime/StringPrototype.cpp | 231 +- .../webkit/JavaScriptCore/runtime/Structure.cpp | 350 +- .../webkit/JavaScriptCore/runtime/Structure.h | 119 +- .../runtime/StructureTransitionTable.h | 145 +- .../JavaScriptCore/runtime/TimeoutChecker.cpp | 17 +- .../webkit/JavaScriptCore/runtime/Tracing.h | 2 +- .../webkit/JavaScriptCore/runtime/UString.cpp | 1185 +- .../webkit/JavaScriptCore/runtime/UString.h | 710 +- .../webkit/JavaScriptCore/runtime/UStringImpl.cpp | 172 - .../webkit/JavaScriptCore/runtime/UStringImpl.h | 364 - .../webkit/JavaScriptCore/runtime/WeakGCMap.h | 122 - .../webkit/JavaScriptCore/runtime/WeakGCPtr.h | 132 - .../webkit/JavaScriptCore/runtime/WeakRandom.h | 86 - src/3rdparty/webkit/JavaScriptCore/wrec/WREC.h | 2 +- .../webkit/JavaScriptCore/wrec/WRECGenerator.cpp | 6 +- .../webkit/JavaScriptCore/wrec/WRECGenerator.h | 4 +- src/3rdparty/webkit/JavaScriptCore/wscript | 9 +- .../webkit/JavaScriptCore/wtf/AlwaysInline.h | 6 +- .../webkit/JavaScriptCore/wtf/Assertions.cpp | 10 +- .../webkit/JavaScriptCore/wtf/Assertions.h | 102 +- src/3rdparty/webkit/JavaScriptCore/wtf/Complex.h | 46 - .../webkit/JavaScriptCore/wtf/CurrentTime.cpp | 24 +- .../webkit/JavaScriptCore/wtf/CurrentTime.h | 24 +- .../webkit/JavaScriptCore/wtf/DateMath.cpp | 361 +- src/3rdparty/webkit/JavaScriptCore/wtf/DateMath.h | 65 +- .../webkit/JavaScriptCore/wtf/FastMalloc.cpp | 193 +- .../webkit/JavaScriptCore/wtf/FastMalloc.h | 35 +- src/3rdparty/webkit/JavaScriptCore/wtf/GOwnPtr.cpp | 65 + src/3rdparty/webkit/JavaScriptCore/wtf/GOwnPtr.h | 98 + .../webkit/JavaScriptCore/wtf/HashFunctions.h | 3 + src/3rdparty/webkit/JavaScriptCore/wtf/HashMap.h | 77 +- src/3rdparty/webkit/JavaScriptCore/wtf/HashSet.h | 4 +- src/3rdparty/webkit/JavaScriptCore/wtf/HashTable.h | 39 +- .../webkit/JavaScriptCore/wtf/ListHashSet.h | 2 +- .../webkit/JavaScriptCore/wtf/MainThread.cpp | 24 +- .../webkit/JavaScriptCore/wtf/MainThread.h | 4 - .../webkit/JavaScriptCore/wtf/MathExtras.h | 54 +- .../webkit/JavaScriptCore/wtf/MessageQueue.h | 90 +- .../webkit/JavaScriptCore/wtf/PassRefPtr.h | 25 +- src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h | 824 +- .../webkit/JavaScriptCore/wtf/PtrAndFlags.h | 79 + .../webkit/JavaScriptCore/wtf/RandomNumber.cpp | 30 +- .../webkit/JavaScriptCore/wtf/RandomNumberSeed.h | 10 +- src/3rdparty/webkit/JavaScriptCore/wtf/RefPtr.h | 19 +- .../webkit/JavaScriptCore/wtf/RefPtrHashMap.h | 2 +- .../webkit/JavaScriptCore/wtf/StdLibExtras.h | 12 - .../webkit/JavaScriptCore/wtf/StringExtras.cpp | 62 - .../webkit/JavaScriptCore/wtf/StringExtras.h | 15 +- .../JavaScriptCore/wtf/StringHashFunctions.h | 157 - .../webkit/JavaScriptCore/wtf/TCSpinLock.h | 14 +- .../webkit/JavaScriptCore/wtf/TCSystemAlloc.cpp | 2 +- .../wtf/ThreadIdentifierDataPthreads.cpp | 97 - .../wtf/ThreadIdentifierDataPthreads.h | 77 - .../webkit/JavaScriptCore/wtf/ThreadSpecific.h | 57 +- .../webkit/JavaScriptCore/wtf/Threading.cpp | 9 +- src/3rdparty/webkit/JavaScriptCore/wtf/Threading.h | 27 +- .../webkit/JavaScriptCore/wtf/ThreadingNone.cpp | 6 +- .../JavaScriptCore/wtf/ThreadingPthreads.cpp | 47 +- .../webkit/JavaScriptCore/wtf/ThreadingWin.cpp | 14 +- .../webkit/JavaScriptCore/wtf/TypeTraits.cpp | 16 +- .../webkit/JavaScriptCore/wtf/TypeTraits.h | 36 +- src/3rdparty/webkit/JavaScriptCore/wtf/VMTags.h | 6 +- .../webkit/JavaScriptCore/wtf/ValueCheck.h | 64 - src/3rdparty/webkit/JavaScriptCore/wtf/Vector.h | 33 +- src/3rdparty/webkit/JavaScriptCore/wtf/Vector3.h | 138 - .../webkit/JavaScriptCore/wtf/VectorTraits.h | 2 +- src/3rdparty/webkit/JavaScriptCore/wtf/dtoa.cpp | 103 +- src/3rdparty/webkit/JavaScriptCore/wtf/dtoa.h | 12 +- .../webkit/JavaScriptCore/wtf/qt/ThreadingQt.cpp | 30 +- .../webkit/JavaScriptCore/wtf/unicode/UTF8.cpp | 1 - .../wtf/unicode/glib/UnicodeGLib.cpp | 1 - .../JavaScriptCore/wtf/unicode/glib/UnicodeGLib.h | 7 +- .../JavaScriptCore/wtf/unicode/icu/CollatorICU.cpp | 6 +- .../JavaScriptCore/wtf/unicode/icu/UnicodeIcu.h | 5 - .../JavaScriptCore/wtf/unicode/qt4/UnicodeQt4.h | 138 +- .../wtf/unicode/wince/UnicodeWince.cpp | 1 - .../JavaScriptCore/wtf/wince/FastMallocWince.h | 1 + .../JavaScriptCore/wtf/wince/MemoryManager.cpp | 8 +- .../webkit/JavaScriptCore/yarr/RegexCompiler.cpp | 2 +- .../webkit/JavaScriptCore/yarr/RegexJIT.cpp | 18 +- src/3rdparty/webkit/JavaScriptCore/yarr/RegexJIT.h | 2 +- .../webkit/JavaScriptCore/yarr/RegexPattern.h | 2 +- src/3rdparty/webkit/VERSION | 4 +- src/3rdparty/webkit/WebCore/ChangeLog | 65237 ++++++++++-- src/3rdparty/webkit/WebCore/ChangeLog-2010-01-29 | 98486 ------------------- src/3rdparty/webkit/WebCore/DerivedSources.cpp | 9 +- .../ForwardingHeaders/runtime/StringBuilder.h | 4 - .../ForwardingHeaders/runtime/UStringImpl.h | 4 - .../WebCore/ForwardingHeaders/runtime/WeakGCMap.h | 4 - .../WebCore/ForwardingHeaders/runtime/WeakGCPtr.h | 4 - .../WebCore/ForwardingHeaders/wtf/PtrAndFlags.h | 5 + .../ForwardingHeaders/wtf/StringHashFunctions.h | 4 - .../WebCore/ForwardingHeaders/wtf/ValueCheck.h | 4 - src/3rdparty/webkit/WebCore/Info.plist | 4 +- .../WebCore/WebCore.ClientBasedGeolocation.exp | 2 - src/3rdparty/webkit/WebCore/WebCore.Video.exp | 23 +- src/3rdparty/webkit/WebCore/WebCore.gypi | 419 +- src/3rdparty/webkit/WebCore/WebCore.order | 2 + src/3rdparty/webkit/WebCore/WebCore.pri | 698 - src/3rdparty/webkit/WebCore/WebCore.pro | 1059 +- src/3rdparty/webkit/WebCore/WebCore.qrc | 1 - src/3rdparty/webkit/WebCore/WebCorePrefix.cpp | 3 +- src/3rdparty/webkit/WebCore/WebCorePrefix.h | 20 +- .../webkit/WebCore/accessibility/AXObjectCache.cpp | 157 +- .../webkit/WebCore/accessibility/AXObjectCache.h | 203 +- .../accessibility/AccessibilityARIAGrid.cpp | 4 +- .../WebCore/accessibility/AccessibilityARIAGrid.h | 3 - .../accessibility/AccessibilityARIAGridRow.cpp | 66 - .../accessibility/AccessibilityARIAGridRow.h | 6 - .../accessibility/AccessibilityAllInOne.cpp | 89 +- .../accessibility/AccessibilityImageMapLink.cpp | 26 +- .../accessibility/AccessibilityImageMapLink.h | 16 +- .../WebCore/accessibility/AccessibilityList.cpp | 10 +- .../WebCore/accessibility/AccessibilityList.h | 2 +- .../WebCore/accessibility/AccessibilityListBox.cpp | 6 +- .../WebCore/accessibility/AccessibilityListBox.h | 2 +- .../accessibility/AccessibilityListBoxOption.cpp | 4 +- .../accessibility/AccessibilityListBoxOption.h | 2 +- .../accessibility/AccessibilityMediaControls.cpp | 8 - .../accessibility/AccessibilityMediaControls.h | 98 +- .../accessibility/AccessibilityMenuList.cpp | 86 - .../WebCore/accessibility/AccessibilityMenuList.h | 59 - .../accessibility/AccessibilityMenuListOption.cpp | 113 - .../accessibility/AccessibilityMenuListOption.h | 69 - .../accessibility/AccessibilityMenuListPopup.cpp | 126 - .../accessibility/AccessibilityMenuListPopup.h | 68 - .../WebCore/accessibility/AccessibilityObject.cpp | 210 +- .../WebCore/accessibility/AccessibilityObject.h | 182 +- .../accessibility/AccessibilityRenderObject.cpp | 1015 +- .../accessibility/AccessibilityRenderObject.h | 63 +- .../accessibility/AccessibilityScrollbar.cpp | 53 - .../WebCore/accessibility/AccessibilityScrollbar.h | 64 - .../WebCore/accessibility/AccessibilitySlider.cpp | 22 +- .../WebCore/accessibility/AccessibilitySlider.h | 76 +- .../WebCore/accessibility/AccessibilityTable.cpp | 16 +- .../WebCore/accessibility/AccessibilityTable.h | 1 - .../accessibility/AccessibilityTableColumn.cpp | 4 +- .../AccessibilityTableHeaderContainer.cpp | 5 +- .../accessibility/AccessibilityTableRow.cpp | 2 +- .../accessibility/qt/AccessibilityObjectQt.cpp | 7 +- .../WebCore/bindings/ScriptControllerBase.cpp | 20 +- .../WebCore/bindings/generic/BindingDOMWindow.h | 126 - .../WebCore/bindings/generic/BindingElement.h | 102 - .../WebCore/bindings/generic/BindingSecurity.h | 132 - .../bindings/generic/BindingSecurityBase.cpp | 108 - .../WebCore/bindings/generic/BindingSecurityBase.h | 52 - .../WebCore/bindings/generic/GenericBinding.h | 52 - .../bindings/generic/RuntimeEnabledFeatures.cpp | 98 - .../bindings/generic/RuntimeEnabledFeatures.h | 94 - .../WebCore/bindings/js/DOMObjectWithSVGContext.h | 57 + .../webkit/WebCore/bindings/js/GCController.cpp | 12 +- .../WebCore/bindings/js/JSAbstractWorkerCustom.cpp | 4 +- .../webkit/WebCore/bindings/js/JSAttrCustom.cpp | 6 +- .../WebCore/bindings/js/JSAudioConstructor.cpp | 35 +- .../WebCore/bindings/js/JSBindingsAllInOne.cpp | 9 +- .../webkit/WebCore/bindings/js/JSCSSRuleCustom.cpp | 2 +- .../WebCore/bindings/js/JSCSSValueCustom.cpp | 2 +- .../webkit/WebCore/bindings/js/JSCallbackData.cpp | 11 +- .../webkit/WebCore/bindings/js/JSCallbackData.h | 2 + .../bindings/js/JSCanvasArrayBufferConstructor.cpp | 70 + .../bindings/js/JSCanvasArrayBufferConstructor.h | 97 + .../WebCore/bindings/js/JSCanvasArrayCustom.cpp | 67 + .../bindings/js/JSCanvasByteArrayConstructor.cpp | 67 + .../bindings/js/JSCanvasByteArrayConstructor.h | 46 + .../bindings/js/JSCanvasByteArrayCustom.cpp | 50 + .../bindings/js/JSCanvasFloatArrayConstructor.cpp | 67 + .../bindings/js/JSCanvasFloatArrayConstructor.h | 46 + .../bindings/js/JSCanvasFloatArrayCustom.cpp | 50 + .../bindings/js/JSCanvasIntArrayConstructor.cpp | 67 + .../bindings/js/JSCanvasIntArrayConstructor.h | 46 + .../WebCore/bindings/js/JSCanvasIntArrayCustom.cpp | 50 + .../js/JSCanvasRenderingContext2DCustom.cpp | 16 +- .../js/JSCanvasRenderingContext3DCustom.cpp | 443 + .../bindings/js/JSCanvasRenderingContextCustom.cpp | 6 +- .../bindings/js/JSCanvasShortArrayConstructor.cpp | 68 + .../bindings/js/JSCanvasShortArrayConstructor.h | 46 + .../bindings/js/JSCanvasShortArrayCustom.cpp | 50 + .../js/JSCanvasUnsignedByteArrayConstructor.cpp | 67 + .../js/JSCanvasUnsignedByteArrayConstructor.h | 46 + .../js/JSCanvasUnsignedByteArrayCustom.cpp | 50 + .../js/JSCanvasUnsignedIntArrayConstructor.cpp | 67 + .../js/JSCanvasUnsignedIntArrayConstructor.h | 46 + .../bindings/js/JSCanvasUnsignedIntArrayCustom.cpp | 50 + .../js/JSCanvasUnsignedShortArrayConstructor.cpp | 67 + .../js/JSCanvasUnsignedShortArrayConstructor.h | 46 + .../js/JSCanvasUnsignedShortArrayCustom.cpp | 50 + .../webkit/WebCore/bindings/js/JSConsoleCustom.cpp | 6 +- .../js/JSCustomSQLStatementErrorCallback.cpp | 2 +- .../bindings/js/JSCustomXPathNSResolver.cpp | 2 +- .../bindings/js/JSDOMApplicationCacheCustom.cpp | 4 +- .../webkit/WebCore/bindings/js/JSDOMBinding.cpp | 342 +- .../webkit/WebCore/bindings/js/JSDOMBinding.h | 163 +- .../WebCore/bindings/js/JSDOMGlobalObject.cpp | 21 +- .../webkit/WebCore/bindings/js/JSDOMGlobalObject.h | 24 +- .../webkit/WebCore/bindings/js/JSDOMWindowBase.cpp | 17 +- .../webkit/WebCore/bindings/js/JSDOMWindowBase.h | 11 +- .../WebCore/bindings/js/JSDOMWindowCustom.cpp | 202 +- .../WebCore/bindings/js/JSDOMWindowShell.cpp | 16 +- .../webkit/WebCore/bindings/js/JSDOMWindowShell.h | 12 +- .../WebCore/bindings/js/JSDocumentCustom.cpp | 16 +- .../webkit/WebCore/bindings/js/JSElementCustom.cpp | 2 +- .../webkit/WebCore/bindings/js/JSEventCustom.cpp | 19 +- .../webkit/WebCore/bindings/js/JSEventListener.cpp | 23 +- .../webkit/WebCore/bindings/js/JSEventListener.h | 53 +- .../WebCore/bindings/js/JSEventSourceCustom.cpp | 4 +- .../webkit/WebCore/bindings/js/JSExceptionBase.cpp | 128 +- .../webkit/WebCore/bindings/js/JSExceptionBase.h | 86 +- .../bindings/js/JSHTMLCanvasElementCustom.cpp | 36 +- .../WebCore/bindings/js/JSHTMLCollectionCustom.cpp | 2 +- .../WebCore/bindings/js/JSHTMLDocumentCustom.cpp | 2 +- .../bindings/js/JSHTMLFormElementCustom.cpp | 2 +- .../webkit/WebCore/bindings/js/JSHistoryCustom.cpp | 73 +- .../WebCore/bindings/js/JSImageConstructor.cpp | 40 +- .../WebCore/bindings/js/JSImageDataCustom.cpp | 2 +- .../bindings/js/JSInjectedScriptHostCustom.cpp | 237 - .../bindings/js/JSInspectedObjectWrapper.cpp | 131 + .../WebCore/bindings/js/JSInspectedObjectWrapper.h | 59 + .../bindings/js/JSInspectorBackendCustom.cpp | 346 + .../bindings/js/JSInspectorCallbackWrapper.cpp | 111 + .../bindings/js/JSInspectorCallbackWrapper.h | 53 + .../bindings/js/JSInspectorFrontendHostCustom.cpp | 80 - .../bindings/js/JSJavaScriptCallFrameCustom.cpp | 4 +- .../WebCore/bindings/js/JSLazyEventListener.cpp | 75 +- .../WebCore/bindings/js/JSLazyEventListener.h | 11 +- .../WebCore/bindings/js/JSLocationCustom.cpp | 29 +- .../WebCore/bindings/js/JSMessagePortCustom.cpp | 6 +- .../WebCore/bindings/js/JSNamedNodeMapCustom.cpp | 6 +- .../webkit/WebCore/bindings/js/JSNodeCustom.cpp | 41 +- .../WebCore/bindings/js/JSNodeFilterCondition.cpp | 2 +- .../WebCore/bindings/js/JSOptionConstructor.cpp | 23 +- .../bindings/js/JSPluginElementFunctions.cpp | 2 +- .../WebCore/bindings/js/JSPopStateEventCustom.cpp | 48 - .../bindings/js/JSQuarantinedObjectWrapper.cpp | 336 + .../bindings/js/JSQuarantinedObjectWrapper.h | 106 + .../webkit/WebCore/bindings/js/JSSVGContextCache.h | 97 - .../bindings/js/JSSVGElementInstanceCustom.cpp | 8 +- .../WebCore/bindings/js/JSSVGLengthCustom.cpp | 16 +- .../WebCore/bindings/js/JSSVGMatrixCustom.cpp | 32 +- .../WebCore/bindings/js/JSSVGPODListCustom.h | 199 - .../WebCore/bindings/js/JSSVGPODTypeWrapper.h | 108 +- .../WebCore/bindings/js/JSSVGPathSegCustom.cpp | 11 +- .../WebCore/bindings/js/JSSVGPathSegListCustom.cpp | 53 +- .../WebCore/bindings/js/JSSVGPointListCustom.cpp | 153 + .../bindings/js/JSSVGTransformListCustom.cpp | 153 + .../webkit/WebCore/bindings/js/JSStorageCustom.cpp | 4 +- .../WebCore/bindings/js/JSStyleSheetCustom.cpp | 8 +- .../bindings/js/JSWebGLArrayBufferConstructor.cpp | 70 - .../bindings/js/JSWebGLArrayBufferConstructor.h | 97 - .../WebCore/bindings/js/JSWebGLArrayCustom.cpp | 72 - .../WebCore/bindings/js/JSWebGLArrayHelper.h | 69 - .../bindings/js/JSWebGLByteArrayConstructor.cpp | 67 - .../bindings/js/JSWebGLByteArrayConstructor.h | 46 - .../WebCore/bindings/js/JSWebGLByteArrayCustom.cpp | 80 - .../bindings/js/JSWebGLFloatArrayConstructor.cpp | 67 - .../bindings/js/JSWebGLFloatArrayConstructor.h | 46 - .../bindings/js/JSWebGLFloatArrayCustom.cpp | 78 - .../bindings/js/JSWebGLIntArrayConstructor.cpp | 67 - .../bindings/js/JSWebGLIntArrayConstructor.h | 46 - .../WebCore/bindings/js/JSWebGLIntArrayCustom.cpp | 78 - .../bindings/js/JSWebGLRenderingContextCustom.cpp | 835 - .../bindings/js/JSWebGLShortArrayConstructor.cpp | 68 - .../bindings/js/JSWebGLShortArrayConstructor.h | 46 - .../bindings/js/JSWebGLShortArrayCustom.cpp | 78 - .../js/JSWebGLUnsignedByteArrayConstructor.cpp | 67 - .../js/JSWebGLUnsignedByteArrayConstructor.h | 46 - .../bindings/js/JSWebGLUnsignedByteArrayCustom.cpp | 78 - .../js/JSWebGLUnsignedIntArrayConstructor.cpp | 67 - .../js/JSWebGLUnsignedIntArrayConstructor.h | 46 - .../bindings/js/JSWebGLUnsignedIntArrayCustom.cpp | 78 - .../js/JSWebGLUnsignedShortArrayConstructor.cpp | 67 - .../js/JSWebGLUnsignedShortArrayConstructor.h | 46 - .../js/JSWebGLUnsignedShortArrayCustom.cpp | 78 - .../WebCore/bindings/js/JSWebSocketConstructor.h | 8 +- .../WebCore/bindings/js/JSWebSocketCustom.cpp | 5 +- .../WebCore/bindings/js/JSWorkerContextBase.cpp | 4 +- .../WebCore/bindings/js/JSWorkerContextCustom.cpp | 27 +- .../WebCore/bindings/js/JSXMLHttpRequestCustom.cpp | 14 +- .../bindings/js/JSXMLHttpRequestUploadCustom.cpp | 6 +- .../WebCore/bindings/js/JavaScriptProfile.cpp | 183 - .../webkit/WebCore/bindings/js/JavaScriptProfile.h | 46 - .../WebCore/bindings/js/JavaScriptProfileNode.cpp | 236 - .../WebCore/bindings/js/JavaScriptProfileNode.h | 48 - .../webkit/WebCore/bindings/js/ScheduledAction.cpp | 8 +- .../webkit/WebCore/bindings/js/ScheduledAction.h | 7 +- .../webkit/WebCore/bindings/js/ScriptArray.cpp | 4 - .../WebCore/bindings/js/ScriptCachedFrameData.cpp | 51 +- .../WebCore/bindings/js/ScriptCachedFrameData.h | 8 +- .../webkit/WebCore/bindings/js/ScriptCallStack.cpp | 9 +- .../webkit/WebCore/bindings/js/ScriptCallStack.h | 1 - .../WebCore/bindings/js/ScriptController.cpp | 172 +- .../webkit/WebCore/bindings/js/ScriptController.h | 26 +- .../WebCore/bindings/js/ScriptControllerGtk.cpp | 2 +- .../WebCore/bindings/js/ScriptControllerHaiku.cpp | 2 +- .../WebCore/bindings/js/ScriptControllerMac.mm | 11 +- .../WebCore/bindings/js/ScriptControllerQt.cpp | 2 +- .../WebCore/bindings/js/ScriptControllerWin.cpp | 2 +- .../WebCore/bindings/js/ScriptControllerWx.cpp | 2 +- .../WebCore/bindings/js/ScriptDebugServer.cpp | 49 - .../webkit/WebCore/bindings/js/ScriptDebugServer.h | 46 - .../WebCore/bindings/js/ScriptEventListener.cpp | 31 +- .../WebCore/bindings/js/ScriptFunctionCall.cpp | 33 +- .../WebCore/bindings/js/ScriptFunctionCall.h | 11 +- .../webkit/WebCore/bindings/js/ScriptInstance.h | 2 +- .../webkit/WebCore/bindings/js/ScriptObject.cpp | 43 +- .../webkit/WebCore/bindings/js/ScriptObject.h | 7 - .../WebCore/bindings/js/ScriptObjectQuarantine.cpp | 131 + .../WebCore/bindings/js/ScriptObjectQuarantine.h | 58 + .../webkit/WebCore/bindings/js/ScriptProfile.h | 41 - .../webkit/WebCore/bindings/js/ScriptProfiler.cpp | 49 - .../webkit/WebCore/bindings/js/ScriptProfiler.h | 48 - .../webkit/WebCore/bindings/js/ScriptState.cpp | 16 +- .../webkit/WebCore/bindings/js/ScriptState.h | 7 +- .../webkit/WebCore/bindings/js/ScriptString.h | 6 +- .../webkit/WebCore/bindings/js/ScriptValue.cpp | 16 +- .../webkit/WebCore/bindings/js/ScriptValue.h | 7 +- .../webkit/WebCore/bindings/js/ScriptWrappable.h | 43 - .../WebCore/bindings/js/SerializedScriptValue.cpp | 192 +- .../WebCore/bindings/js/SerializedScriptValue.h | 48 +- .../WebCore/bindings/js/WorkerScriptController.cpp | 5 +- .../WebCore/bindings/scripts/CodeGenerator.pm | 28 +- .../WebCore/bindings/scripts/CodeGeneratorCOM.pm | 1319 + .../WebCore/bindings/scripts/CodeGeneratorJS.pm | 293 +- .../WebCore/bindings/scripts/CodeGeneratorObjC.pm | 16 +- .../WebCore/bindings/scripts/CodeGeneratorV8.pm | 1425 +- .../webkit/WebCore/bindings/scripts/IDLParser.pm | 7 +- .../WebCore/bindings/scripts/IDLStructure.pm | 2 + .../WebCore/bindings/scripts/generate-bindings.pl | 1 + src/3rdparty/webkit/WebCore/bridge/Bridge.h | 48 - src/3rdparty/webkit/WebCore/bridge/IdentifierRep.h | 3 +- src/3rdparty/webkit/WebCore/bridge/NP_jsobject.cpp | 87 +- src/3rdparty/webkit/WebCore/bridge/c/c_class.h | 2 +- .../webkit/WebCore/bridge/c/c_instance.cpp | 6 +- src/3rdparty/webkit/WebCore/bridge/c/c_instance.h | 6 +- src/3rdparty/webkit/WebCore/bridge/c/c_runtime.cpp | 2 - src/3rdparty/webkit/WebCore/bridge/c/c_runtime.h | 2 +- .../webkit/WebCore/bridge/jni/JNIBridge.cpp | 181 - src/3rdparty/webkit/WebCore/bridge/jni/JNIBridge.h | 123 - .../webkit/WebCore/bridge/jni/JNIUtility.cpp | 343 - .../webkit/WebCore/bridge/jni/JNIUtility.h | 275 - .../webkit/WebCore/bridge/jni/jni_class.cpp | 141 + src/3rdparty/webkit/WebCore/bridge/jni/jni_class.h | 62 + .../webkit/WebCore/bridge/jni/jni_instance.cpp | 330 + .../webkit/WebCore/bridge/jni/jni_instance.h | 108 + .../webkit/WebCore/bridge/jni/jni_jsobject.mm | 104 +- src/3rdparty/webkit/WebCore/bridge/jni/jni_objc.mm | 3 +- .../webkit/WebCore/bridge/jni/jni_runtime.cpp | 547 + .../webkit/WebCore/bridge/jni/jni_runtime.h | 191 + .../webkit/WebCore/bridge/jni/jni_utility.cpp | 584 + .../webkit/WebCore/bridge/jni/jni_utility.h | 288 + .../webkit/WebCore/bridge/jni/jsc/JNIBridgeJSC.cpp | 442 - .../webkit/WebCore/bridge/jni/jsc/JNIBridgeJSC.h | 89 - .../WebCore/bridge/jni/jsc/JNIUtilityPrivate.cpp | 291 - .../WebCore/bridge/jni/jsc/JNIUtilityPrivate.h | 51 - .../webkit/WebCore/bridge/jni/jsc/JavaClassJSC.cpp | 150 - .../webkit/WebCore/bridge/jni/jsc/JavaClassJSC.h | 62 - .../WebCore/bridge/jni/jsc/JavaInstanceJSC.cpp | 335 - .../WebCore/bridge/jni/jsc/JavaInstanceJSC.h | 108 - .../webkit/WebCore/bridge/jni/jsc/JavaStringJSC.h | 84 - .../webkit/WebCore/bridge/jni/v8/JNIBridgeV8.cpp | 44 - .../webkit/WebCore/bridge/jni/v8/JNIBridgeV8.h | 56 - .../WebCore/bridge/jni/v8/JNIUtilityPrivate.cpp | 255 - .../WebCore/bridge/jni/v8/JNIUtilityPrivate.h | 43 - .../webkit/WebCore/bridge/jni/v8/JavaClassV8.cpp | 111 - .../webkit/WebCore/bridge/jni/v8/JavaClassV8.h | 61 - .../WebCore/bridge/jni/v8/JavaInstanceV8.cpp | 169 - .../webkit/WebCore/bridge/jni/v8/JavaInstanceV8.h | 100 - .../WebCore/bridge/jni/v8/JavaNPObjectV8.cpp | 168 - .../webkit/WebCore/bridge/jni/v8/JavaNPObjectV8.h | 56 - .../webkit/WebCore/bridge/jni/v8/JavaStringV8.h | 61 - .../webkit/WebCore/bridge/jsc/BridgeJSC.cpp | 126 - src/3rdparty/webkit/WebCore/bridge/jsc/BridgeJSC.h | 151 - src/3rdparty/webkit/WebCore/bridge/qt/qt_class.h | 3 +- .../webkit/WebCore/bridge/qt/qt_instance.cpp | 8 - .../webkit/WebCore/bridge/qt/qt_instance.h | 6 +- .../webkit/WebCore/bridge/qt/qt_pixmapruntime.cpp | 353 - .../webkit/WebCore/bridge/qt/qt_pixmapruntime.h | 52 - .../webkit/WebCore/bridge/qt/qt_runtime.cpp | 114 +- src/3rdparty/webkit/WebCore/bridge/qt/qt_runtime.h | 10 +- src/3rdparty/webkit/WebCore/bridge/runtime.cpp | 121 + src/3rdparty/webkit/WebCore/bridge/runtime.h | 153 + .../webkit/WebCore/bridge/runtime_array.cpp | 13 - src/3rdparty/webkit/WebCore/bridge/runtime_array.h | 7 +- .../webkit/WebCore/bridge/runtime_method.h | 4 +- .../webkit/WebCore/bridge/runtime_object.cpp | 7 +- .../webkit/WebCore/bridge/runtime_object.h | 7 +- .../webkit/WebCore/bridge/runtime_root.cpp | 14 +- src/3rdparty/webkit/WebCore/bridge/runtime_root.h | 11 +- .../webkit/WebCore/bridge/testbindings.cpp | 14 +- src/3rdparty/webkit/WebCore/bridge/testbindings.mm | 14 +- .../webkit/WebCore/bridge/testqtbindings.cpp | 17 +- src/3rdparty/webkit/WebCore/config.h | 43 +- src/3rdparty/webkit/WebCore/css/CSSCharsetRule.idl | 6 +- .../WebCore/css/CSSComputedStyleDeclaration.cpp | 16 +- .../webkit/WebCore/css/CSSCursorImageValue.cpp | 1 + src/3rdparty/webkit/WebCore/css/CSSFontFace.cpp | 22 +- src/3rdparty/webkit/WebCore/css/CSSFontFace.h | 2 - .../webkit/WebCore/css/CSSFontFaceRule.idl | 6 +- .../webkit/WebCore/css/CSSFontFaceSource.cpp | 8 +- .../webkit/WebCore/css/CSSFontSelector.cpp | 3 +- .../webkit/WebCore/css/CSSGradientValue.cpp | 2 + src/3rdparty/webkit/WebCore/css/CSSGrammar.y | 119 +- src/3rdparty/webkit/WebCore/css/CSSImageValue.cpp | 1 + src/3rdparty/webkit/WebCore/css/CSSImportRule.cpp | 38 +- src/3rdparty/webkit/WebCore/css/CSSImportRule.h | 2 +- src/3rdparty/webkit/WebCore/css/CSSImportRule.idl | 6 +- .../webkit/WebCore/css/CSSInheritedValue.cpp | 2 + .../webkit/WebCore/css/CSSInitialValue.cpp | 2 + src/3rdparty/webkit/WebCore/css/CSSMediaRule.cpp | 2 + src/3rdparty/webkit/WebCore/css/CSSMediaRule.idl | 6 +- .../WebCore/css/CSSMutableStyleDeclaration.cpp | 37 +- src/3rdparty/webkit/WebCore/css/CSSNamespace.h | 4 +- src/3rdparty/webkit/WebCore/css/CSSPageRule.idl | 6 +- src/3rdparty/webkit/WebCore/css/CSSParser.cpp | 371 +- src/3rdparty/webkit/WebCore/css/CSSParser.h | 14 +- .../webkit/WebCore/css/CSSPrimitiveValue.cpp | 105 +- .../webkit/WebCore/css/CSSPrimitiveValue.idl | 9 +- .../webkit/WebCore/css/CSSPrimitiveValueMappings.h | 334 +- src/3rdparty/webkit/WebCore/css/CSSProperty.cpp | 2 + src/3rdparty/webkit/WebCore/css/CSSProperty.h | 2 + .../webkit/WebCore/css/CSSPropertyNames.in | 1 - src/3rdparty/webkit/WebCore/css/CSSRule.cpp | 1 + src/3rdparty/webkit/WebCore/css/CSSRule.idl | 5 +- src/3rdparty/webkit/WebCore/css/CSSRuleList.cpp | 2 + src/3rdparty/webkit/WebCore/css/CSSRuleList.h | 2 + src/3rdparty/webkit/WebCore/css/CSSRuleList.idl | 5 +- src/3rdparty/webkit/WebCore/css/CSSSelector.cpp | 16 +- src/3rdparty/webkit/WebCore/css/CSSSelector.h | 9 +- .../webkit/WebCore/css/CSSStyleDeclaration.idl | 7 +- src/3rdparty/webkit/WebCore/css/CSSStyleRule.idl | 6 +- .../webkit/WebCore/css/CSSStyleSelector.cpp | 175 +- src/3rdparty/webkit/WebCore/css/CSSStyleSelector.h | 16 +- src/3rdparty/webkit/WebCore/css/CSSStyleSheet.cpp | 36 +- src/3rdparty/webkit/WebCore/css/CSSStyleSheet.h | 35 +- src/3rdparty/webkit/WebCore/css/CSSStyleSheet.idl | 6 +- src/3rdparty/webkit/WebCore/css/CSSUnknownRule.idl | 3 +- src/3rdparty/webkit/WebCore/css/CSSValue.idl | 5 +- .../webkit/WebCore/css/CSSValueKeywords.in | 63 - src/3rdparty/webkit/WebCore/css/CSSValueList.cpp | 2 + src/3rdparty/webkit/WebCore/css/CSSValueList.idl | 5 +- .../webkit/WebCore/css/CSSVariablesDeclaration.idl | 1 + .../webkit/WebCore/css/CSSVariablesRule.idl | 4 +- src/3rdparty/webkit/WebCore/css/Counter.idl | 6 +- src/3rdparty/webkit/WebCore/css/FontValue.cpp | 2 + src/3rdparty/webkit/WebCore/css/Media.cpp | 23 +- src/3rdparty/webkit/WebCore/css/Media.h | 12 +- src/3rdparty/webkit/WebCore/css/Media.idl | 4 +- .../webkit/WebCore/css/MediaFeatureNames.cpp | 2 + .../webkit/WebCore/css/MediaFeatureNames.h | 2 + src/3rdparty/webkit/WebCore/css/MediaList.idl | 5 +- src/3rdparty/webkit/WebCore/css/MediaQuery.h | 2 +- .../webkit/WebCore/css/MediaQueryEvaluator.h | 2 +- src/3rdparty/webkit/WebCore/css/MediaQueryExp.h | 2 +- src/3rdparty/webkit/WebCore/css/Pair.h | 2 + src/3rdparty/webkit/WebCore/css/RGBColor.idl | 6 +- src/3rdparty/webkit/WebCore/css/Rect.idl | 6 +- .../WebCore/css/SVGCSSComputedStyleDeclaration.cpp | 2 +- src/3rdparty/webkit/WebCore/css/SVGCSSParser.cpp | 2 +- .../webkit/WebCore/css/SVGCSSPropertyNames.in | 2 +- .../webkit/WebCore/css/SVGCSSStyleSelector.cpp | 17 +- .../webkit/WebCore/css/SVGCSSValueKeywords.in | 2 +- src/3rdparty/webkit/WebCore/css/ShadowValue.cpp | 2 + src/3rdparty/webkit/WebCore/css/StyleBase.cpp | 6 +- src/3rdparty/webkit/WebCore/css/StyleSheet.cpp | 18 +- src/3rdparty/webkit/WebCore/css/StyleSheet.h | 20 +- src/3rdparty/webkit/WebCore/css/StyleSheet.idl | 5 +- src/3rdparty/webkit/WebCore/css/StyleSheetList.cpp | 2 + src/3rdparty/webkit/WebCore/css/StyleSheetList.idl | 5 +- .../webkit/WebCore/css/WebKitCSSKeyframeRule.idl | 6 +- .../webkit/WebCore/css/WebKitCSSKeyframesRule.cpp | 10 +- .../webkit/WebCore/css/WebKitCSSKeyframesRule.h | 2 +- .../webkit/WebCore/css/WebKitCSSKeyframesRule.idl | 5 +- .../webkit/WebCore/css/WebKitCSSMatrix.idl | 2 +- .../webkit/WebCore/css/WebKitCSSTransformValue.idl | 3 + src/3rdparty/webkit/WebCore/css/html.css | 30 +- src/3rdparty/webkit/WebCore/css/maketokenizer | 2 + src/3rdparty/webkit/WebCore/css/mathml.css | 100 +- src/3rdparty/webkit/WebCore/css/mediaControls.css | 7 - .../webkit/WebCore/css/mediaControlsGtk.css | 65 - .../webkit/WebCore/css/mediaControlsQuickTime.css | 12 +- src/3rdparty/webkit/WebCore/css/svg.css | 17 +- src/3rdparty/webkit/WebCore/css/view-source.css | 2 +- src/3rdparty/webkit/WebCore/dom/Attr.cpp | 16 +- src/3rdparty/webkit/WebCore/dom/Attr.h | 2 - src/3rdparty/webkit/WebCore/dom/Attr.idl | 13 +- .../webkit/WebCore/dom/BeforeLoadEvent.idl | 4 +- .../webkit/WebCore/dom/BeforeUnloadEvent.cpp | 2 + .../webkit/WebCore/dom/BeforeUnloadEvent.h | 2 + src/3rdparty/webkit/WebCore/dom/CDATASection.idl | 6 +- .../WebCore/dom/CSSMappedAttributeDeclaration.cpp | 2 + src/3rdparty/webkit/WebCore/dom/CharacterData.idl | 6 +- .../webkit/WebCore/dom/CheckedRadioButtons.cpp | 4 - src/3rdparty/webkit/WebCore/dom/ClassNames.cpp | 92 + src/3rdparty/webkit/WebCore/dom/ClassNames.h | 89 + src/3rdparty/webkit/WebCore/dom/ClassNodeList.h | 4 +- src/3rdparty/webkit/WebCore/dom/ClientRect.idl | 4 +- src/3rdparty/webkit/WebCore/dom/ClientRectList.idl | 1 + src/3rdparty/webkit/WebCore/dom/Clipboard.cpp | 43 +- src/3rdparty/webkit/WebCore/dom/Clipboard.h | 5 +- src/3rdparty/webkit/WebCore/dom/Clipboard.idl | 4 +- src/3rdparty/webkit/WebCore/dom/Comment.idl | 6 +- .../webkit/WebCore/dom/CompositionEvent.cpp | 63 - src/3rdparty/webkit/WebCore/dom/CompositionEvent.h | 61 - .../webkit/WebCore/dom/CompositionEvent.idl | 41 - src/3rdparty/webkit/WebCore/dom/ContainerNode.cpp | 15 - .../webkit/WebCore/dom/DOMCoreException.idl | 4 +- .../webkit/WebCore/dom/DOMImplementation.cpp | 3 +- .../webkit/WebCore/dom/DOMImplementation.idl | 8 +- src/3rdparty/webkit/WebCore/dom/Document.cpp | 543 +- src/3rdparty/webkit/WebCore/dom/Document.h | 142 +- src/3rdparty/webkit/WebCore/dom/Document.idl | 30 +- .../webkit/WebCore/dom/DocumentFragment.idl | 6 +- src/3rdparty/webkit/WebCore/dom/DocumentType.idl | 5 +- .../webkit/WebCore/dom/DynamicNodeList.cpp | 4 +- src/3rdparty/webkit/WebCore/dom/Element.cpp | 192 +- src/3rdparty/webkit/WebCore/dom/Element.h | 59 +- src/3rdparty/webkit/WebCore/dom/Element.idl | 15 +- src/3rdparty/webkit/WebCore/dom/ElementRareData.h | 4 - src/3rdparty/webkit/WebCore/dom/Entity.idl | 6 +- .../webkit/WebCore/dom/EntityReference.idl | 6 +- src/3rdparty/webkit/WebCore/dom/ErrorEvent.idl | 1 + src/3rdparty/webkit/WebCore/dom/Event.cpp | 43 +- src/3rdparty/webkit/WebCore/dom/Event.h | 6 - src/3rdparty/webkit/WebCore/dom/Event.idl | 8 +- src/3rdparty/webkit/WebCore/dom/EventException.idl | 1 + src/3rdparty/webkit/WebCore/dom/EventListener.h | 2 +- src/3rdparty/webkit/WebCore/dom/EventListener.idl | 2 +- src/3rdparty/webkit/WebCore/dom/EventNames.cpp | 2 + src/3rdparty/webkit/WebCore/dom/EventNames.h | 21 +- src/3rdparty/webkit/WebCore/dom/EventTarget.cpp | 35 +- src/3rdparty/webkit/WebCore/dom/EventTarget.h | 24 +- src/3rdparty/webkit/WebCore/dom/EventTarget.idl | 2 +- src/3rdparty/webkit/WebCore/dom/InputElement.cpp | 1 - src/3rdparty/webkit/WebCore/dom/InputElement.h | 8 +- src/3rdparty/webkit/WebCore/dom/KeyboardEvent.cpp | 1 + src/3rdparty/webkit/WebCore/dom/KeyboardEvent.h | 4 +- src/3rdparty/webkit/WebCore/dom/KeyboardEvent.idl | 4 +- .../webkit/WebCore/dom/MappedAttributeEntry.h | 6 +- src/3rdparty/webkit/WebCore/dom/MessageChannel.idl | 2 +- src/3rdparty/webkit/WebCore/dom/MessageEvent.idl | 3 +- src/3rdparty/webkit/WebCore/dom/MessagePort.cpp | 4 +- src/3rdparty/webkit/WebCore/dom/MessagePort.h | 6 +- src/3rdparty/webkit/WebCore/dom/MessagePort.idl | 1 + .../webkit/WebCore/dom/MessagePortChannel.h | 4 +- src/3rdparty/webkit/WebCore/dom/MouseEvent.idl | 4 +- .../webkit/WebCore/dom/MouseRelatedEvent.cpp | 2 +- .../webkit/WebCore/dom/MouseRelatedEvent.h | 2 + src/3rdparty/webkit/WebCore/dom/MutationEvent.idl | 4 +- src/3rdparty/webkit/WebCore/dom/NamedAttrMap.cpp | 39 +- src/3rdparty/webkit/WebCore/dom/NamedAttrMap.h | 33 - .../webkit/WebCore/dom/NamedMappedAttrMap.h | 6 +- src/3rdparty/webkit/WebCore/dom/NamedNodeMap.idl | 5 +- src/3rdparty/webkit/WebCore/dom/Node.cpp | 319 +- src/3rdparty/webkit/WebCore/dom/Node.h | 27 +- src/3rdparty/webkit/WebCore/dom/Node.idl | 7 +- src/3rdparty/webkit/WebCore/dom/NodeFilter.h | 5 +- src/3rdparty/webkit/WebCore/dom/NodeFilter.idl | 2 +- src/3rdparty/webkit/WebCore/dom/NodeIterator.h | 7 +- src/3rdparty/webkit/WebCore/dom/NodeIterator.idl | 3 +- src/3rdparty/webkit/WebCore/dom/NodeList.idl | 5 +- src/3rdparty/webkit/WebCore/dom/NodeRareData.h | 4 +- src/3rdparty/webkit/WebCore/dom/Notation.idl | 6 +- src/3rdparty/webkit/WebCore/dom/OverflowEvent.idl | 4 +- .../webkit/WebCore/dom/PageTransitionEvent.idl | 4 +- src/3rdparty/webkit/WebCore/dom/PopStateEvent.cpp | 50 - src/3rdparty/webkit/WebCore/dom/PopStateEvent.h | 57 - src/3rdparty/webkit/WebCore/dom/PopStateEvent.idl | 38 - src/3rdparty/webkit/WebCore/dom/Position.cpp | 102 +- src/3rdparty/webkit/WebCore/dom/Position.h | 12 +- .../webkit/WebCore/dom/PositionIterator.cpp | 12 +- .../webkit/WebCore/dom/ProcessingInstruction.cpp | 17 +- .../webkit/WebCore/dom/ProcessingInstruction.h | 4 +- .../webkit/WebCore/dom/ProcessingInstruction.idl | 9 +- src/3rdparty/webkit/WebCore/dom/ProgressEvent.idl | 4 +- src/3rdparty/webkit/WebCore/dom/QualifiedName.cpp | 12 +- src/3rdparty/webkit/WebCore/dom/QualifiedName.h | 6 +- src/3rdparty/webkit/WebCore/dom/Range.cpp | 44 +- src/3rdparty/webkit/WebCore/dom/Range.h | 8 - src/3rdparty/webkit/WebCore/dom/Range.idl | 2 +- src/3rdparty/webkit/WebCore/dom/RangeException.h | 2 + src/3rdparty/webkit/WebCore/dom/RangeException.idl | 4 +- src/3rdparty/webkit/WebCore/dom/ScriptElement.cpp | 16 +- .../webkit/WebCore/dom/ScriptExecutionContext.cpp | 72 +- .../webkit/WebCore/dom/ScriptExecutionContext.h | 33 +- src/3rdparty/webkit/WebCore/dom/SelectElement.cpp | 35 +- src/3rdparty/webkit/WebCore/dom/SelectElement.h | 2 +- .../webkit/WebCore/dom/SelectorNodeList.cpp | 1 + .../webkit/WebCore/dom/SpaceSplitString.cpp | 92 - src/3rdparty/webkit/WebCore/dom/SpaceSplitString.h | 89 - src/3rdparty/webkit/WebCore/dom/StyleElement.cpp | 2 +- src/3rdparty/webkit/WebCore/dom/StyleElement.h | 2 + src/3rdparty/webkit/WebCore/dom/StyledElement.cpp | 4 +- src/3rdparty/webkit/WebCore/dom/StyledElement.h | 2 +- src/3rdparty/webkit/WebCore/dom/Text.idl | 6 +- src/3rdparty/webkit/WebCore/dom/TextEvent.idl | 4 +- src/3rdparty/webkit/WebCore/dom/Tokenizer.h | 4 +- src/3rdparty/webkit/WebCore/dom/Touch.cpp | 72 - src/3rdparty/webkit/WebCore/dom/Touch.h | 75 - src/3rdparty/webkit/WebCore/dom/Touch.idl | 40 - src/3rdparty/webkit/WebCore/dom/TouchEvent.cpp | 67 - src/3rdparty/webkit/WebCore/dom/TouchEvent.h | 82 - src/3rdparty/webkit/WebCore/dom/TouchEvent.idl | 53 - src/3rdparty/webkit/WebCore/dom/TouchList.cpp | 43 - src/3rdparty/webkit/WebCore/dom/TouchList.h | 60 - src/3rdparty/webkit/WebCore/dom/TouchList.idl | 36 - .../webkit/WebCore/dom/TransformSourceLibxslt.cpp | 4 - src/3rdparty/webkit/WebCore/dom/TreeWalker.h | 17 +- src/3rdparty/webkit/WebCore/dom/TreeWalker.idl | 3 +- src/3rdparty/webkit/WebCore/dom/UIEvent.idl | 4 +- .../webkit/WebCore/dom/WebKitAnimationEvent.idl | 4 +- .../webkit/WebCore/dom/WebKitTransitionEvent.idl | 4 +- src/3rdparty/webkit/WebCore/dom/WheelEvent.idl | 4 +- src/3rdparty/webkit/WebCore/dom/XMLTokenizer.cpp | 7 +- src/3rdparty/webkit/WebCore/dom/XMLTokenizer.h | 28 +- .../webkit/WebCore/dom/XMLTokenizerLibxml2.cpp | 113 +- src/3rdparty/webkit/WebCore/dom/XMLTokenizerQt.cpp | 143 +- .../dom/default/PlatformMessagePortChannel.cpp | 3 +- .../dom/default/PlatformMessagePortChannel.h | 21 +- src/3rdparty/webkit/WebCore/dom/make_names.pl | 197 +- .../webkit/WebCore/editing/AppendNodeCommand.cpp | 6 - .../webkit/WebCore/editing/ApplyStyleCommand.cpp | 12 +- .../WebCore/editing/CompositeEditCommand.cpp | 24 +- .../WebCore/editing/DeleteButtonController.cpp | 8 +- .../WebCore/editing/DeleteButtonController.h | 2 +- .../WebCore/editing/DeleteFromTextNodeCommand.cpp | 6 - .../WebCore/editing/DeleteSelectionCommand.cpp | 17 +- src/3rdparty/webkit/WebCore/editing/Editor.cpp | 89 +- .../webkit/WebCore/editing/EditorCommand.cpp | 5 +- .../WebCore/editing/IndentOutdentCommand.cpp | 82 +- .../webkit/WebCore/editing/IndentOutdentCommand.h | 4 +- .../WebCore/editing/InsertIntoTextNodeCommand.cpp | 6 - .../WebCore/editing/InsertNodeBeforeCommand.cpp | 5 +- .../editing/InsertParagraphSeparatorCommand.cpp | 24 +- .../WebCore/editing/JoinTextNodesCommand.cpp | 6 +- .../editing/MergeIdenticalElementsCommand.cpp | 4 +- .../webkit/WebCore/editing/RemoveNodeCommand.cpp | 4 +- .../WebCore/editing/ReplaceSelectionCommand.cpp | 114 +- .../WebCore/editing/ReplaceSelectionCommand.h | 2 - .../webkit/WebCore/editing/SelectionController.cpp | 347 +- .../webkit/WebCore/editing/SelectionController.h | 86 +- .../webkit/WebCore/editing/SplitElementCommand.cpp | 35 +- .../webkit/WebCore/editing/SplitElementCommand.h | 2 - .../WebCore/editing/SplitTextNodeCommand.cpp | 9 +- .../webkit/WebCore/editing/TextIterator.cpp | 319 +- .../webkit/WebCore/editing/TypingCommand.cpp | 8 +- .../webkit/WebCore/editing/VisibleSelection.cpp | 4 +- .../webkit/WebCore/editing/VisibleSelection.h | 6 +- .../editing/WrapContentsInDummySpanCommand.cpp | 40 +- .../editing/WrapContentsInDummySpanCommand.h | 2 - .../WebCore/editing/android/EditorAndroid.cpp | 39 + .../WebCore/editing/chromium/EditorChromium.cpp | 44 + .../WebCore/editing/gtk/SelectionControllerGtk.cpp | 45 + .../webkit/WebCore/editing/htmlediting.cpp | 43 +- src/3rdparty/webkit/WebCore/editing/htmlediting.h | 5 +- src/3rdparty/webkit/WebCore/editing/markup.cpp | 31 +- src/3rdparty/webkit/WebCore/editing/markup.h | 5 +- .../webkit/WebCore/editing/visible_units.cpp | 11 +- .../webkit/WebCore/generated/ArrayPrototype.lut.h | 34 + .../webkit/WebCore/generated/CSSGrammar.cpp | 3041 +- src/3rdparty/webkit/WebCore/generated/CSSGrammar.h | 110 +- .../webkit/WebCore/generated/CSSPropertyNames.cpp | 1204 +- .../webkit/WebCore/generated/CSSPropertyNames.h | 224 +- .../webkit/WebCore/generated/CSSValueKeywords.c | 2844 +- .../webkit/WebCore/generated/CSSValueKeywords.h | 847 +- src/3rdparty/webkit/WebCore/generated/ColorData.c | 5 +- .../webkit/WebCore/generated/DatePrototype.lut.h | 59 + .../webkit/WebCore/generated/DocTypeStrings.cpp | 5 +- src/3rdparty/webkit/WebCore/generated/Grammar.cpp | 5607 ++ src/3rdparty/webkit/WebCore/generated/Grammar.h | 173 + .../webkit/WebCore/generated/HTMLEntityNames.c | 5 +- .../webkit/WebCore/generated/HTMLNames.cpp | 1181 +- src/3rdparty/webkit/WebCore/generated/HTMLNames.h | 29 +- .../webkit/WebCore/generated/JSAbstractWorker.cpp | 19 +- .../webkit/WebCore/generated/JSAbstractWorker.h | 5 +- src/3rdparty/webkit/WebCore/generated/JSAttr.cpp | 29 +- src/3rdparty/webkit/WebCore/generated/JSAttr.h | 5 +- .../webkit/WebCore/generated/JSBarInfo.cpp | 3 +- src/3rdparty/webkit/WebCore/generated/JSBarInfo.h | 5 +- .../webkit/WebCore/generated/JSBeforeLoadEvent.cpp | 5 +- .../webkit/WebCore/generated/JSBeforeLoadEvent.h | 4 +- src/3rdparty/webkit/WebCore/generated/JSBlob.cpp | 174 - src/3rdparty/webkit/WebCore/generated/JSBlob.h | 82 - .../webkit/WebCore/generated/JSCDATASection.cpp | 2 +- .../webkit/WebCore/generated/JSCDATASection.h | 4 +- .../webkit/WebCore/generated/JSCSSCharsetRule.cpp | 8 +- .../webkit/WebCore/generated/JSCSSCharsetRule.h | 4 +- .../webkit/WebCore/generated/JSCSSFontFaceRule.cpp | 5 +- .../webkit/WebCore/generated/JSCSSFontFaceRule.h | 4 +- .../webkit/WebCore/generated/JSCSSImportRule.cpp | 11 +- .../webkit/WebCore/generated/JSCSSImportRule.h | 4 +- .../webkit/WebCore/generated/JSCSSMediaRule.cpp | 8 +- .../webkit/WebCore/generated/JSCSSMediaRule.h | 4 +- .../webkit/WebCore/generated/JSCSSPageRule.cpp | 11 +- .../webkit/WebCore/generated/JSCSSPageRule.h | 4 +- .../WebCore/generated/JSCSSPrimitiveValue.cpp | 5 +- .../webkit/WebCore/generated/JSCSSPrimitiveValue.h | 4 +- .../webkit/WebCore/generated/JSCSSRule.cpp | 17 +- src/3rdparty/webkit/WebCore/generated/JSCSSRule.h | 5 +- .../webkit/WebCore/generated/JSCSSRuleList.cpp | 9 +- .../webkit/WebCore/generated/JSCSSRuleList.h | 7 +- .../WebCore/generated/JSCSSStyleDeclaration.cpp | 23 +- .../WebCore/generated/JSCSSStyleDeclaration.h | 7 +- .../webkit/WebCore/generated/JSCSSStyleRule.cpp | 11 +- .../webkit/WebCore/generated/JSCSSStyleRule.h | 4 +- .../webkit/WebCore/generated/JSCSSStyleSheet.cpp | 11 +- .../webkit/WebCore/generated/JSCSSStyleSheet.h | 4 +- .../webkit/WebCore/generated/JSCSSValue.cpp | 11 +- src/3rdparty/webkit/WebCore/generated/JSCSSValue.h | 5 +- .../webkit/WebCore/generated/JSCSSValueList.cpp | 9 +- .../webkit/WebCore/generated/JSCSSValueList.h | 6 +- .../generated/JSCSSVariablesDeclaration.cpp | 20 +- .../WebCore/generated/JSCSSVariablesDeclaration.h | 7 +- .../WebCore/generated/JSCSSVariablesRule.cpp | 8 +- .../webkit/WebCore/generated/JSCSSVariablesRule.h | 4 +- .../webkit/WebCore/generated/JSCanvasArray.cpp | 155 + .../webkit/WebCore/generated/JSCanvasArray.h | 91 + .../WebCore/generated/JSCanvasArrayBuffer.cpp | 120 + .../webkit/WebCore/generated/JSCanvasArrayBuffer.h | 85 + .../webkit/WebCore/generated/JSCanvasByteArray.cpp | 137 + .../webkit/WebCore/generated/JSCanvasByteArray.h | 85 + .../WebCore/generated/JSCanvasFloatArray.cpp | 137 + .../webkit/WebCore/generated/JSCanvasFloatArray.h | 85 + .../webkit/WebCore/generated/JSCanvasGradient.h | 5 +- .../webkit/WebCore/generated/JSCanvasIntArray.cpp | 137 + .../webkit/WebCore/generated/JSCanvasIntArray.h | 85 + .../webkit/WebCore/generated/JSCanvasPattern.h | 5 +- .../WebCore/generated/JSCanvasRenderingContext.cpp | 5 +- .../WebCore/generated/JSCanvasRenderingContext.h | 5 +- .../generated/JSCanvasRenderingContext2D.cpp | 80 +- .../WebCore/generated/JSCanvasRenderingContext2D.h | 4 +- .../generated/JSCanvasRenderingContext3D.cpp | 4528 + .../WebCore/generated/JSCanvasRenderingContext3D.h | 555 + .../WebCore/generated/JSCanvasShortArray.cpp | 137 + .../webkit/WebCore/generated/JSCanvasShortArray.h | 85 + .../generated/JSCanvasUnsignedByteArray.cpp | 137 + .../WebCore/generated/JSCanvasUnsignedByteArray.h | 85 + .../WebCore/generated/JSCanvasUnsignedIntArray.cpp | 137 + .../WebCore/generated/JSCanvasUnsignedIntArray.h | 85 + .../generated/JSCanvasUnsignedShortArray.cpp | 137 + .../WebCore/generated/JSCanvasUnsignedShortArray.h | 85 + .../webkit/WebCore/generated/JSCharacterData.cpp | 11 +- .../webkit/WebCore/generated/JSCharacterData.h | 4 +- .../webkit/WebCore/generated/JSClientRect.cpp | 20 +- .../webkit/WebCore/generated/JSClientRect.h | 5 +- .../webkit/WebCore/generated/JSClientRectList.cpp | 9 +- .../webkit/WebCore/generated/JSClientRectList.h | 7 +- .../webkit/WebCore/generated/JSClipboard.cpp | 17 +- .../webkit/WebCore/generated/JSClipboard.h | 5 +- .../webkit/WebCore/generated/JSComment.cpp | 2 +- src/3rdparty/webkit/WebCore/generated/JSComment.h | 4 +- .../WebCore/generated/JSCompositionEvent.cpp | 191 - .../webkit/WebCore/generated/JSCompositionEvent.h | 78 - .../webkit/WebCore/generated/JSConsole.cpp | 18 +- src/3rdparty/webkit/WebCore/generated/JSConsole.h | 6 +- .../webkit/WebCore/generated/JSCoordinates.cpp | 9 +- .../webkit/WebCore/generated/JSCoordinates.h | 5 +- .../webkit/WebCore/generated/JSCounter.cpp | 11 +- src/3rdparty/webkit/WebCore/generated/JSCounter.h | 5 +- .../WebCore/generated/JSDOMApplicationCache.cpp | 97 +- .../WebCore/generated/JSDOMApplicationCache.h | 5 +- .../WebCore/generated/JSDOMCoreException.cpp | 11 +- .../webkit/WebCore/generated/JSDOMCoreException.h | 5 +- .../WebCore/generated/JSDOMImplementation.cpp | 2 +- .../webkit/WebCore/generated/JSDOMImplementation.h | 5 +- .../webkit/WebCore/generated/JSDOMParser.cpp | 2 +- .../webkit/WebCore/generated/JSDOMParser.h | 5 +- .../webkit/WebCore/generated/JSDOMSelection.cpp | 33 +- .../webkit/WebCore/generated/JSDOMSelection.h | 5 +- .../webkit/WebCore/generated/JSDOMWindow.cpp | 4285 +- .../webkit/WebCore/generated/JSDOMWindow.h | 286 +- .../webkit/WebCore/generated/JSDOMWindowBase.lut.h | 0 .../webkit/WebCore/generated/JSDataGridColumn.cpp | 38 +- .../webkit/WebCore/generated/JSDataGridColumn.h | 5 +- .../WebCore/generated/JSDataGridColumnList.cpp | 15 +- .../WebCore/generated/JSDataGridColumnList.h | 7 +- .../webkit/WebCore/generated/JSDatabase.cpp | 3 +- src/3rdparty/webkit/WebCore/generated/JSDatabase.h | 5 +- .../WebCore/generated/JSDedicatedWorkerContext.cpp | 9 +- .../WebCore/generated/JSDedicatedWorkerContext.h | 4 +- .../webkit/WebCore/generated/JSDocument.cpp | 653 +- src/3rdparty/webkit/WebCore/generated/JSDocument.h | 13 +- .../WebCore/generated/JSDocumentFragment.cpp | 2 +- .../webkit/WebCore/generated/JSDocumentFragment.h | 4 +- .../webkit/WebCore/generated/JSDocumentType.cpp | 20 +- .../webkit/WebCore/generated/JSDocumentType.h | 4 +- .../webkit/WebCore/generated/JSElement.cpp | 591 +- src/3rdparty/webkit/WebCore/generated/JSElement.h | 12 +- src/3rdparty/webkit/WebCore/generated/JSEntity.cpp | 11 +- src/3rdparty/webkit/WebCore/generated/JSEntity.h | 4 +- .../webkit/WebCore/generated/JSEntityReference.cpp | 2 +- .../webkit/WebCore/generated/JSEntityReference.h | 4 +- .../webkit/WebCore/generated/JSErrorEvent.cpp | 11 +- .../webkit/WebCore/generated/JSErrorEvent.h | 4 +- src/3rdparty/webkit/WebCore/generated/JSEvent.cpp | 38 +- src/3rdparty/webkit/WebCore/generated/JSEvent.h | 5 +- .../webkit/WebCore/generated/JSEventException.cpp | 11 +- .../webkit/WebCore/generated/JSEventException.h | 5 +- .../webkit/WebCore/generated/JSEventSource.cpp | 45 +- .../webkit/WebCore/generated/JSEventSource.h | 5 +- src/3rdparty/webkit/WebCore/generated/JSFile.cpp | 36 +- src/3rdparty/webkit/WebCore/generated/JSFile.h | 24 +- .../webkit/WebCore/generated/JSFileList.cpp | 9 +- src/3rdparty/webkit/WebCore/generated/JSFileList.h | 7 +- .../webkit/WebCore/generated/JSGeolocation.cpp | 3 +- .../webkit/WebCore/generated/JSGeolocation.h | 5 +- .../webkit/WebCore/generated/JSGeoposition.cpp | 6 +- .../webkit/WebCore/generated/JSGeoposition.h | 5 +- .../WebCore/generated/JSHTMLAllCollection.cpp | 9 +- .../webkit/WebCore/generated/JSHTMLAllCollection.h | 7 +- .../WebCore/generated/JSHTMLAnchorElement.cpp | 155 +- .../webkit/WebCore/generated/JSHTMLAnchorElement.h | 11 +- .../WebCore/generated/JSHTMLAppletElement.cpp | 68 +- .../webkit/WebCore/generated/JSHTMLAppletElement.h | 4 +- .../webkit/WebCore/generated/JSHTMLAreaElement.cpp | 65 +- .../webkit/WebCore/generated/JSHTMLAreaElement.h | 4 +- .../WebCore/generated/JSHTMLAudioElement.cpp | 2 +- .../webkit/WebCore/generated/JSHTMLAudioElement.h | 4 +- .../webkit/WebCore/generated/JSHTMLBRElement.cpp | 8 +- .../webkit/WebCore/generated/JSHTMLBRElement.h | 4 +- .../webkit/WebCore/generated/JSHTMLBaseElement.cpp | 14 +- .../webkit/WebCore/generated/JSHTMLBaseElement.h | 4 +- .../WebCore/generated/JSHTMLBaseFontElement.cpp | 20 +- .../WebCore/generated/JSHTMLBaseFontElement.h | 4 +- .../WebCore/generated/JSHTMLBlockquoteElement.cpp | 8 +- .../WebCore/generated/JSHTMLBlockquoteElement.h | 4 +- .../webkit/WebCore/generated/JSHTMLBodyElement.cpp | 152 +- .../webkit/WebCore/generated/JSHTMLBodyElement.h | 6 +- .../WebCore/generated/JSHTMLButtonElement.cpp | 62 +- .../webkit/WebCore/generated/JSHTMLButtonElement.h | 5 +- .../WebCore/generated/JSHTMLCanvasElement.cpp | 22 +- .../webkit/WebCore/generated/JSHTMLCanvasElement.h | 7 +- .../webkit/WebCore/generated/JSHTMLCollection.cpp | 9 +- .../webkit/WebCore/generated/JSHTMLCollection.h | 7 +- .../WebCore/generated/JSHTMLDListElement.cpp | 8 +- .../webkit/WebCore/generated/JSHTMLDListElement.h | 4 +- .../generated/JSHTMLDataGridCellElement.cpp | 32 +- .../WebCore/generated/JSHTMLDataGridCellElement.h | 4 +- .../WebCore/generated/JSHTMLDataGridColElement.cpp | 32 +- .../WebCore/generated/JSHTMLDataGridColElement.h | 4 +- .../WebCore/generated/JSHTMLDataGridElement.cpp | 23 +- .../WebCore/generated/JSHTMLDataGridElement.h | 4 +- .../WebCore/generated/JSHTMLDataGridRowElement.cpp | 20 +- .../WebCore/generated/JSHTMLDataGridRowElement.h | 4 +- .../WebCore/generated/JSHTMLDataListElement.cpp | 5 +- .../WebCore/generated/JSHTMLDataListElement.h | 4 +- .../WebCore/generated/JSHTMLDirectoryElement.cpp | 8 +- .../WebCore/generated/JSHTMLDirectoryElement.h | 4 +- .../webkit/WebCore/generated/JSHTMLDivElement.cpp | 8 +- .../webkit/WebCore/generated/JSHTMLDivElement.h | 4 +- .../webkit/WebCore/generated/JSHTMLDocument.cpp | 65 +- .../webkit/WebCore/generated/JSHTMLDocument.h | 4 +- .../webkit/WebCore/generated/JSHTMLElement.cpp | 80 +- .../webkit/WebCore/generated/JSHTMLElement.h | 4 +- .../generated/JSHTMLElementWrapperFactory.cpp | 2 +- .../WebCore/generated/JSHTMLEmbedElement.cpp | 38 +- .../webkit/WebCore/generated/JSHTMLEmbedElement.h | 4 +- .../WebCore/generated/JSHTMLFieldSetElement.cpp | 27 +- .../WebCore/generated/JSHTMLFieldSetElement.h | 5 +- .../webkit/WebCore/generated/JSHTMLFontElement.cpp | 20 +- .../webkit/WebCore/generated/JSHTMLFontElement.h | 4 +- .../webkit/WebCore/generated/JSHTMLFormElement.cpp | 60 +- .../webkit/WebCore/generated/JSHTMLFormElement.h | 6 +- .../WebCore/generated/JSHTMLFrameElement.cpp | 59 +- .../webkit/WebCore/generated/JSHTMLFrameElement.h | 4 +- .../WebCore/generated/JSHTMLFrameSetElement.cpp | 128 +- .../WebCore/generated/JSHTMLFrameSetElement.h | 6 +- .../webkit/WebCore/generated/JSHTMLHRElement.cpp | 26 +- .../webkit/WebCore/generated/JSHTMLHRElement.h | 4 +- .../webkit/WebCore/generated/JSHTMLHeadElement.cpp | 8 +- .../webkit/WebCore/generated/JSHTMLHeadElement.h | 4 +- .../WebCore/generated/JSHTMLHeadingElement.cpp | 8 +- .../WebCore/generated/JSHTMLHeadingElement.h | 4 +- .../webkit/WebCore/generated/JSHTMLHtmlElement.cpp | 8 +- .../webkit/WebCore/generated/JSHTMLHtmlElement.h | 4 +- .../WebCore/generated/JSHTMLIFrameElement.cpp | 81 +- .../webkit/WebCore/generated/JSHTMLIFrameElement.h | 6 +- .../WebCore/generated/JSHTMLImageElement.cpp | 95 +- .../webkit/WebCore/generated/JSHTMLImageElement.h | 4 +- .../WebCore/generated/JSHTMLInputElement.cpp | 290 +- .../webkit/WebCore/generated/JSHTMLInputElement.h | 13 +- .../WebCore/generated/JSHTMLIsIndexElement.cpp | 11 +- .../WebCore/generated/JSHTMLIsIndexElement.h | 4 +- .../webkit/WebCore/generated/JSHTMLLIElement.cpp | 14 +- .../webkit/WebCore/generated/JSHTMLLIElement.h | 4 +- .../WebCore/generated/JSHTMLLabelElement.cpp | 17 +- .../webkit/WebCore/generated/JSHTMLLabelElement.h | 4 +- .../WebCore/generated/JSHTMLLegendElement.cpp | 17 +- .../webkit/WebCore/generated/JSHTMLLegendElement.h | 4 +- .../webkit/WebCore/generated/JSHTMLLinkElement.cpp | 59 +- .../webkit/WebCore/generated/JSHTMLLinkElement.h | 4 +- .../webkit/WebCore/generated/JSHTMLMapElement.cpp | 11 +- .../webkit/WebCore/generated/JSHTMLMapElement.h | 4 +- .../WebCore/generated/JSHTMLMarqueeElement.cpp | 2 +- .../WebCore/generated/JSHTMLMarqueeElement.h | 4 +- .../WebCore/generated/JSHTMLMediaElement.cpp | 141 +- .../webkit/WebCore/generated/JSHTMLMediaElement.h | 7 +- .../webkit/WebCore/generated/JSHTMLMenuElement.cpp | 8 +- .../webkit/WebCore/generated/JSHTMLMenuElement.h | 4 +- .../webkit/WebCore/generated/JSHTMLMetaElement.cpp | 26 +- .../webkit/WebCore/generated/JSHTMLMetaElement.h | 4 +- .../webkit/WebCore/generated/JSHTMLModElement.cpp | 14 +- .../webkit/WebCore/generated/JSHTMLModElement.h | 4 +- .../WebCore/generated/JSHTMLOListElement.cpp | 20 +- .../webkit/WebCore/generated/JSHTMLOListElement.h | 4 +- .../WebCore/generated/JSHTMLObjectElement.cpp | 104 +- .../webkit/WebCore/generated/JSHTMLObjectElement.h | 4 +- .../WebCore/generated/JSHTMLOptGroupElement.cpp | 14 +- .../WebCore/generated/JSHTMLOptGroupElement.h | 4 +- .../WebCore/generated/JSHTMLOptionElement.cpp | 44 +- .../webkit/WebCore/generated/JSHTMLOptionElement.h | 4 +- .../WebCore/generated/JSHTMLOptionsCollection.cpp | 70 +- .../WebCore/generated/JSHTMLOptionsCollection.h | 6 +- .../WebCore/generated/JSHTMLParagraphElement.cpp | 8 +- .../WebCore/generated/JSHTMLParagraphElement.h | 4 +- .../WebCore/generated/JSHTMLParamElement.cpp | 26 +- .../webkit/WebCore/generated/JSHTMLParamElement.h | 4 +- .../webkit/WebCore/generated/JSHTMLPreElement.cpp | 14 +- .../webkit/WebCore/generated/JSHTMLPreElement.h | 4 +- .../WebCore/generated/JSHTMLQuoteElement.cpp | 8 +- .../webkit/WebCore/generated/JSHTMLQuoteElement.h | 4 +- .../WebCore/generated/JSHTMLScriptElement.cpp | 44 +- .../webkit/WebCore/generated/JSHTMLScriptElement.h | 4 +- .../WebCore/generated/JSHTMLSelectElement.cpp | 81 +- .../webkit/WebCore/generated/JSHTMLSelectElement.h | 7 +- .../WebCore/generated/JSHTMLSourceElement.cpp | 20 +- .../webkit/WebCore/generated/JSHTMLSourceElement.h | 4 +- .../WebCore/generated/JSHTMLStyleElement.cpp | 23 +- .../webkit/WebCore/generated/JSHTMLStyleElement.h | 4 +- .../generated/JSHTMLTableCaptionElement.cpp | 8 +- .../WebCore/generated/JSHTMLTableCaptionElement.h | 4 +- .../WebCore/generated/JSHTMLTableCellElement.cpp | 89 +- .../WebCore/generated/JSHTMLTableCellElement.h | 4 +- .../WebCore/generated/JSHTMLTableColElement.cpp | 38 +- .../WebCore/generated/JSHTMLTableColElement.h | 4 +- .../WebCore/generated/JSHTMLTableElement.cpp | 80 +- .../webkit/WebCore/generated/JSHTMLTableElement.h | 4 +- .../WebCore/generated/JSHTMLTableRowElement.cpp | 41 +- .../WebCore/generated/JSHTMLTableRowElement.h | 4 +- .../generated/JSHTMLTableSectionElement.cpp | 29 +- .../WebCore/generated/JSHTMLTableSectionElement.h | 4 +- .../WebCore/generated/JSHTMLTextAreaElement.cpp | 117 +- .../WebCore/generated/JSHTMLTextAreaElement.h | 5 +- .../WebCore/generated/JSHTMLTitleElement.cpp | 8 +- .../webkit/WebCore/generated/JSHTMLTitleElement.h | 4 +- .../WebCore/generated/JSHTMLUListElement.cpp | 14 +- .../webkit/WebCore/generated/JSHTMLUListElement.h | 4 +- .../WebCore/generated/JSHTMLVideoElement.cpp | 95 +- .../webkit/WebCore/generated/JSHTMLVideoElement.h | 14 +- .../webkit/WebCore/generated/JSHistory.cpp | 27 +- src/3rdparty/webkit/WebCore/generated/JSHistory.h | 13 +- .../webkit/WebCore/generated/JSImageData.cpp | 8 +- .../webkit/WebCore/generated/JSImageData.h | 5 +- .../WebCore/generated/JSInjectedScriptHost.cpp | 316 - .../WebCore/generated/JSInjectedScriptHost.h | 111 - .../WebCore/generated/JSInspectorBackend.cpp | 528 +- .../webkit/WebCore/generated/JSInspectorBackend.h | 77 +- .../WebCore/generated/JSInspectorFrontendHost.cpp | 355 - .../WebCore/generated/JSInspectorFrontendHost.h | 105 - .../WebCore/generated/JSJavaScriptCallFrame.cpp | 12 +- .../WebCore/generated/JSJavaScriptCallFrame.h | 5 +- .../webkit/WebCore/generated/JSKeyboardEvent.cpp | 23 +- .../webkit/WebCore/generated/JSKeyboardEvent.h | 4 +- .../webkit/WebCore/generated/JSLocation.cpp | 24 +- src/3rdparty/webkit/WebCore/generated/JSLocation.h | 7 +- src/3rdparty/webkit/WebCore/generated/JSMedia.cpp | 5 +- src/3rdparty/webkit/WebCore/generated/JSMedia.h | 5 +- .../webkit/WebCore/generated/JSMediaError.cpp | 5 +- .../webkit/WebCore/generated/JSMediaError.h | 5 +- .../webkit/WebCore/generated/JSMediaList.cpp | 17 +- .../webkit/WebCore/generated/JSMediaList.h | 7 +- .../webkit/WebCore/generated/JSMessageChannel.cpp | 6 +- .../webkit/WebCore/generated/JSMessageChannel.h | 5 +- .../webkit/WebCore/generated/JSMessageEvent.cpp | 19 +- .../webkit/WebCore/generated/JSMessageEvent.h | 9 +- .../webkit/WebCore/generated/JSMessagePort.cpp | 17 +- .../webkit/WebCore/generated/JSMessagePort.h | 5 +- .../webkit/WebCore/generated/JSMimeType.cpp | 14 +- src/3rdparty/webkit/WebCore/generated/JSMimeType.h | 5 +- .../webkit/WebCore/generated/JSMimeTypeArray.cpp | 9 +- .../webkit/WebCore/generated/JSMimeTypeArray.h | 7 +- .../webkit/WebCore/generated/JSMouseEvent.cpp | 53 +- .../webkit/WebCore/generated/JSMouseEvent.h | 4 +- .../webkit/WebCore/generated/JSMutationEvent.cpp | 17 +- .../webkit/WebCore/generated/JSMutationEvent.h | 4 +- .../webkit/WebCore/generated/JSNamedNodeMap.cpp | 9 +- .../webkit/WebCore/generated/JSNamedNodeMap.h | 7 +- .../webkit/WebCore/generated/JSNavigator.cpp | 84 +- .../webkit/WebCore/generated/JSNavigator.h | 7 +- src/3rdparty/webkit/WebCore/generated/JSNode.cpp | 64 +- src/3rdparty/webkit/WebCore/generated/JSNode.h | 5 +- .../webkit/WebCore/generated/JSNodeFilter.cpp | 2 +- .../webkit/WebCore/generated/JSNodeFilter.h | 5 +- .../webkit/WebCore/generated/JSNodeIterator.cpp | 20 +- .../webkit/WebCore/generated/JSNodeIterator.h | 5 +- .../webkit/WebCore/generated/JSNodeList.cpp | 9 +- src/3rdparty/webkit/WebCore/generated/JSNodeList.h | 7 +- .../webkit/WebCore/generated/JSNotation.cpp | 8 +- src/3rdparty/webkit/WebCore/generated/JSNotation.h | 4 +- .../webkit/WebCore/generated/JSONObject.lut.h | 15 + .../webkit/WebCore/generated/JSOverflowEvent.cpp | 11 +- .../webkit/WebCore/generated/JSOverflowEvent.h | 4 +- .../WebCore/generated/JSPageTransitionEvent.cpp | 5 +- .../WebCore/generated/JSPageTransitionEvent.h | 4 +- src/3rdparty/webkit/WebCore/generated/JSPlugin.cpp | 18 +- src/3rdparty/webkit/WebCore/generated/JSPlugin.h | 7 +- .../webkit/WebCore/generated/JSPluginArray.cpp | 9 +- .../webkit/WebCore/generated/JSPluginArray.h | 7 +- .../webkit/WebCore/generated/JSPopStateEvent.cpp | 181 - .../webkit/WebCore/generated/JSPopStateEvent.h | 81 - .../webkit/WebCore/generated/JSPositionError.cpp | 23 +- .../webkit/WebCore/generated/JSPositionError.h | 6 +- .../WebCore/generated/JSProcessingInstruction.cpp | 14 +- .../WebCore/generated/JSProcessingInstruction.h | 4 +- .../webkit/WebCore/generated/JSProgressEvent.cpp | 11 +- .../webkit/WebCore/generated/JSProgressEvent.h | 4 +- .../webkit/WebCore/generated/JSRGBColor.cpp | 11 +- src/3rdparty/webkit/WebCore/generated/JSRGBColor.h | 5 +- src/3rdparty/webkit/WebCore/generated/JSRange.cpp | 2 +- src/3rdparty/webkit/WebCore/generated/JSRange.h | 5 +- .../webkit/WebCore/generated/JSRangeException.cpp | 11 +- .../webkit/WebCore/generated/JSRangeException.h | 5 +- src/3rdparty/webkit/WebCore/generated/JSRect.cpp | 14 +- src/3rdparty/webkit/WebCore/generated/JSRect.h | 5 +- .../webkit/WebCore/generated/JSSQLError.cpp | 6 +- src/3rdparty/webkit/WebCore/generated/JSSQLError.h | 5 +- .../webkit/WebCore/generated/JSSQLResultSet.cpp | 6 +- .../webkit/WebCore/generated/JSSQLResultSet.h | 5 +- .../WebCore/generated/JSSQLResultSetRowList.cpp | 3 +- .../WebCore/generated/JSSQLResultSetRowList.h | 5 +- .../webkit/WebCore/generated/JSSQLTransaction.h | 5 +- .../webkit/WebCore/generated/JSSVGAElement.cpp | 115 +- .../webkit/WebCore/generated/JSSVGAElement.h | 6 +- .../WebCore/generated/JSSVGAltGlyphElement.cpp | 77 +- .../WebCore/generated/JSSVGAltGlyphElement.h | 6 +- .../webkit/WebCore/generated/JSSVGAngle.cpp | 78 +- src/3rdparty/webkit/WebCore/generated/JSSVGAngle.h | 23 +- .../WebCore/generated/JSSVGAnimateColorElement.cpp | 84 +- .../WebCore/generated/JSSVGAnimateColorElement.h | 12 +- .../WebCore/generated/JSSVGAnimateElement.cpp | 84 +- .../webkit/WebCore/generated/JSSVGAnimateElement.h | 12 +- .../generated/JSSVGAnimateTransformElement.cpp | 84 +- .../generated/JSSVGAnimateTransformElement.h | 12 +- .../WebCore/generated/JSSVGAnimatedAngle.cpp | 76 +- .../webkit/WebCore/generated/JSSVGAnimatedAngle.h | 13 +- .../WebCore/generated/JSSVGAnimatedBoolean.cpp | 81 +- .../WebCore/generated/JSSVGAnimatedBoolean.h | 13 +- .../WebCore/generated/JSSVGAnimatedEnumeration.cpp | 81 +- .../WebCore/generated/JSSVGAnimatedEnumeration.h | 13 +- .../WebCore/generated/JSSVGAnimatedInteger.cpp | 81 +- .../WebCore/generated/JSSVGAnimatedInteger.h | 13 +- .../WebCore/generated/JSSVGAnimatedLength.cpp | 75 +- .../webkit/WebCore/generated/JSSVGAnimatedLength.h | 13 +- .../WebCore/generated/JSSVGAnimatedLengthList.cpp | 75 +- .../WebCore/generated/JSSVGAnimatedLengthList.h | 13 +- .../WebCore/generated/JSSVGAnimatedNumber.cpp | 81 +- .../webkit/WebCore/generated/JSSVGAnimatedNumber.h | 13 +- .../WebCore/generated/JSSVGAnimatedNumberList.cpp | 75 +- .../WebCore/generated/JSSVGAnimatedNumberList.h | 13 +- .../generated/JSSVGAnimatedPreserveAspectRatio.cpp | 76 +- .../generated/JSSVGAnimatedPreserveAspectRatio.h | 13 +- .../webkit/WebCore/generated/JSSVGAnimatedRect.cpp | 75 +- .../webkit/WebCore/generated/JSSVGAnimatedRect.h | 13 +- .../WebCore/generated/JSSVGAnimatedString.cpp | 81 +- .../webkit/WebCore/generated/JSSVGAnimatedString.h | 13 +- .../generated/JSSVGAnimatedTransformList.cpp | 75 +- .../WebCore/generated/JSSVGAnimatedTransformList.h | 13 +- .../WebCore/generated/JSSVGAnimationElement.cpp | 15 +- .../WebCore/generated/JSSVGAnimationElement.h | 4 +- .../WebCore/generated/JSSVGCircleElement.cpp | 118 +- .../webkit/WebCore/generated/JSSVGCircleElement.h | 6 +- .../WebCore/generated/JSSVGClipPathElement.cpp | 112 +- .../WebCore/generated/JSSVGClipPathElement.h | 6 +- .../webkit/WebCore/generated/JSSVGColor.cpp | 8 +- src/3rdparty/webkit/WebCore/generated/JSSVGColor.h | 4 +- .../JSSVGComponentTransferFunctionElement.cpp | 23 +- .../JSSVGComponentTransferFunctionElement.h | 4 +- .../WebCore/generated/JSSVGCursorElement.cpp | 85 +- .../webkit/WebCore/generated/JSSVGCursorElement.h | 6 +- .../webkit/WebCore/generated/JSSVGDefsElement.cpp | 109 +- .../webkit/WebCore/generated/JSSVGDefsElement.h | 6 +- .../webkit/WebCore/generated/JSSVGDescElement.cpp | 80 +- .../webkit/WebCore/generated/JSSVGDescElement.h | 6 +- .../webkit/WebCore/generated/JSSVGDocument.cpp | 67 +- .../webkit/WebCore/generated/JSSVGDocument.h | 6 +- .../webkit/WebCore/generated/JSSVGElement.cpp | 80 +- .../webkit/WebCore/generated/JSSVGElement.h | 6 +- .../WebCore/generated/JSSVGElementInstance.cpp | 526 +- .../WebCore/generated/JSSVGElementInstance.h | 7 +- .../WebCore/generated/JSSVGElementInstanceList.cpp | 67 +- .../WebCore/generated/JSSVGElementInstanceList.h | 7 +- .../generated/JSSVGElementWrapperFactory.cpp | 194 +- .../WebCore/generated/JSSVGEllipseElement.cpp | 121 +- .../webkit/WebCore/generated/JSSVGEllipseElement.h | 6 +- .../webkit/WebCore/generated/JSSVGException.cpp | 20 +- .../webkit/WebCore/generated/JSSVGException.h | 11 +- .../WebCore/generated/JSSVGFEBlendElement.cpp | 32 +- .../webkit/WebCore/generated/JSSVGFEBlendElement.h | 4 +- .../generated/JSSVGFEColorMatrixElement.cpp | 32 +- .../WebCore/generated/JSSVGFEColorMatrixElement.h | 4 +- .../generated/JSSVGFEComponentTransferElement.cpp | 86 +- .../generated/JSSVGFEComponentTransferElement.h | 6 +- .../WebCore/generated/JSSVGFECompositeElement.cpp | 44 +- .../WebCore/generated/JSSVGFECompositeElement.h | 4 +- .../generated/JSSVGFEDiffuseLightingElement.cpp | 98 +- .../generated/JSSVGFEDiffuseLightingElement.h | 6 +- .../generated/JSSVGFEDisplacementMapElement.cpp | 38 +- .../generated/JSSVGFEDisplacementMapElement.h | 4 +- .../generated/JSSVGFEDistantLightElement.cpp | 68 +- .../WebCore/generated/JSSVGFEDistantLightElement.h | 6 +- .../WebCore/generated/JSSVGFEFloodElement.cpp | 23 +- .../webkit/WebCore/generated/JSSVGFEFloodElement.h | 4 +- .../WebCore/generated/JSSVGFEFuncAElement.cpp | 84 +- .../webkit/WebCore/generated/JSSVGFEFuncAElement.h | 12 +- .../WebCore/generated/JSSVGFEFuncBElement.cpp | 84 +- .../webkit/WebCore/generated/JSSVGFEFuncBElement.h | 12 +- .../WebCore/generated/JSSVGFEFuncGElement.cpp | 84 +- .../webkit/WebCore/generated/JSSVGFEFuncGElement.h | 12 +- .../WebCore/generated/JSSVGFEFuncRElement.cpp | 84 +- .../webkit/WebCore/generated/JSSVGFEFuncRElement.h | 12 +- .../generated/JSSVGFEGaussianBlurElement.cpp | 90 +- .../WebCore/generated/JSSVGFEGaussianBlurElement.h | 6 +- .../WebCore/generated/JSSVGFEImageElement.cpp | 111 +- .../webkit/WebCore/generated/JSSVGFEImageElement.h | 7 +- .../WebCore/generated/JSSVGFEMergeElement.cpp | 83 +- .../webkit/WebCore/generated/JSSVGFEMergeElement.h | 6 +- .../WebCore/generated/JSSVGFEMergeNodeElement.cpp | 67 +- .../WebCore/generated/JSSVGFEMergeNodeElement.h | 6 +- .../WebCore/generated/JSSVGFEMorphologyElement.cpp | 35 +- .../WebCore/generated/JSSVGFEMorphologyElement.h | 4 +- .../WebCore/generated/JSSVGFEOffsetElement.cpp | 90 +- .../WebCore/generated/JSSVGFEOffsetElement.h | 6 +- .../WebCore/generated/JSSVGFEPointLightElement.cpp | 73 +- .../WebCore/generated/JSSVGFEPointLightElement.h | 6 +- .../generated/JSSVGFESpecularLightingElement.cpp | 93 +- .../generated/JSSVGFESpecularLightingElement.h | 6 +- .../WebCore/generated/JSSVGFESpotLightElement.cpp | 86 +- .../WebCore/generated/JSSVGFESpotLightElement.h | 6 +- .../WebCore/generated/JSSVGFETileElement.cpp | 86 +- .../webkit/WebCore/generated/JSSVGFETileElement.h | 6 +- .../WebCore/generated/JSSVGFETurbulenceElement.cpp | 41 +- .../WebCore/generated/JSSVGFETurbulenceElement.h | 4 +- .../WebCore/generated/JSSVGFilterElement.cpp | 108 +- .../webkit/WebCore/generated/JSSVGFilterElement.h | 6 +- .../webkit/WebCore/generated/JSSVGFontElement.cpp | 84 +- .../webkit/WebCore/generated/JSSVGFontElement.h | 12 +- .../WebCore/generated/JSSVGFontFaceElement.cpp | 84 +- .../WebCore/generated/JSSVGFontFaceElement.h | 12 +- .../generated/JSSVGFontFaceFormatElement.cpp | 84 +- .../WebCore/generated/JSSVGFontFaceFormatElement.h | 12 +- .../WebCore/generated/JSSVGFontFaceNameElement.cpp | 84 +- .../WebCore/generated/JSSVGFontFaceNameElement.h | 12 +- .../WebCore/generated/JSSVGFontFaceSrcElement.cpp | 84 +- .../WebCore/generated/JSSVGFontFaceSrcElement.h | 12 +- .../WebCore/generated/JSSVGFontFaceUriElement.cpp | 84 +- .../WebCore/generated/JSSVGFontFaceUriElement.h | 12 +- .../generated/JSSVGForeignObjectElement.cpp | 121 +- .../WebCore/generated/JSSVGForeignObjectElement.h | 6 +- .../webkit/WebCore/generated/JSSVGGElement.cpp | 109 +- .../webkit/WebCore/generated/JSSVGGElement.h | 6 +- .../webkit/WebCore/generated/JSSVGGlyphElement.cpp | 84 +- .../webkit/WebCore/generated/JSSVGGlyphElement.h | 12 +- .../WebCore/generated/JSSVGGradientElement.cpp | 23 +- .../WebCore/generated/JSSVGGradientElement.h | 4 +- .../webkit/WebCore/generated/JSSVGHKernElement.cpp | 84 +- .../webkit/WebCore/generated/JSSVGHKernElement.h | 12 +- .../webkit/WebCore/generated/JSSVGImageElement.cpp | 125 +- .../webkit/WebCore/generated/JSSVGImageElement.h | 6 +- .../webkit/WebCore/generated/JSSVGLength.cpp | 53 +- .../webkit/WebCore/generated/JSSVGLength.h | 13 +- .../webkit/WebCore/generated/JSSVGLengthList.cpp | 136 +- .../webkit/WebCore/generated/JSSVGLengthList.h | 13 +- .../webkit/WebCore/generated/JSSVGLineElement.cpp | 121 +- .../webkit/WebCore/generated/JSSVGLineElement.h | 6 +- .../generated/JSSVGLinearGradientElement.cpp | 74 +- .../WebCore/generated/JSSVGLinearGradientElement.h | 6 +- .../WebCore/generated/JSSVGMarkerElement.cpp | 52 +- .../webkit/WebCore/generated/JSSVGMarkerElement.h | 4 +- .../webkit/WebCore/generated/JSSVGMaskElement.cpp | 110 +- .../webkit/WebCore/generated/JSSVGMaskElement.h | 6 +- .../webkit/WebCore/generated/JSSVGMatrix.cpp | 211 +- .../webkit/WebCore/generated/JSSVGMatrix.h | 24 +- .../WebCore/generated/JSSVGMetadataElement.cpp | 84 +- .../WebCore/generated/JSSVGMetadataElement.h | 12 +- .../WebCore/generated/JSSVGMissingGlyphElement.cpp | 84 +- .../WebCore/generated/JSSVGMissingGlyphElement.h | 12 +- .../webkit/WebCore/generated/JSSVGNumber.cpp | 80 +- .../webkit/WebCore/generated/JSSVGNumber.h | 15 +- .../webkit/WebCore/generated/JSSVGNumberList.cpp | 136 +- .../webkit/WebCore/generated/JSSVGNumberList.h | 13 +- .../webkit/WebCore/generated/JSSVGPaint.cpp | 8 +- src/3rdparty/webkit/WebCore/generated/JSSVGPaint.h | 4 +- .../webkit/WebCore/generated/JSSVGPathElement.cpp | 130 +- .../webkit/WebCore/generated/JSSVGPathElement.h | 6 +- .../webkit/WebCore/generated/JSSVGPathSeg.cpp | 17 +- .../webkit/WebCore/generated/JSSVGPathSeg.h | 11 +- .../WebCore/generated/JSSVGPathSegArcAbs.cpp | 131 +- .../webkit/WebCore/generated/JSSVGPathSegArcAbs.h | 8 +- .../WebCore/generated/JSSVGPathSegArcRel.cpp | 131 +- .../webkit/WebCore/generated/JSSVGPathSegArcRel.h | 8 +- .../WebCore/generated/JSSVGPathSegClosePath.cpp | 88 +- .../WebCore/generated/JSSVGPathSegClosePath.h | 14 +- .../generated/JSSVGPathSegCurvetoCubicAbs.cpp | 120 +- .../generated/JSSVGPathSegCurvetoCubicAbs.h | 8 +- .../generated/JSSVGPathSegCurvetoCubicRel.cpp | 120 +- .../generated/JSSVGPathSegCurvetoCubicRel.h | 8 +- .../JSSVGPathSegCurvetoCubicSmoothAbs.cpp | 104 +- .../generated/JSSVGPathSegCurvetoCubicSmoothAbs.h | 8 +- .../JSSVGPathSegCurvetoCubicSmoothRel.cpp | 104 +- .../generated/JSSVGPathSegCurvetoCubicSmoothRel.h | 8 +- .../generated/JSSVGPathSegCurvetoQuadraticAbs.cpp | 104 +- .../generated/JSSVGPathSegCurvetoQuadraticAbs.h | 8 +- .../generated/JSSVGPathSegCurvetoQuadraticRel.cpp | 104 +- .../generated/JSSVGPathSegCurvetoQuadraticRel.h | 8 +- .../JSSVGPathSegCurvetoQuadraticSmoothAbs.cpp | 86 +- .../JSSVGPathSegCurvetoQuadraticSmoothAbs.h | 8 +- .../JSSVGPathSegCurvetoQuadraticSmoothRel.cpp | 86 +- .../JSSVGPathSegCurvetoQuadraticSmoothRel.h | 8 +- .../WebCore/generated/JSSVGPathSegLinetoAbs.cpp | 86 +- .../WebCore/generated/JSSVGPathSegLinetoAbs.h | 8 +- .../generated/JSSVGPathSegLinetoHorizontalAbs.cpp | 77 +- .../generated/JSSVGPathSegLinetoHorizontalAbs.h | 8 +- .../generated/JSSVGPathSegLinetoHorizontalRel.cpp | 77 +- .../generated/JSSVGPathSegLinetoHorizontalRel.h | 8 +- .../WebCore/generated/JSSVGPathSegLinetoRel.cpp | 86 +- .../WebCore/generated/JSSVGPathSegLinetoRel.h | 8 +- .../generated/JSSVGPathSegLinetoVerticalAbs.cpp | 77 +- .../generated/JSSVGPathSegLinetoVerticalAbs.h | 8 +- .../generated/JSSVGPathSegLinetoVerticalRel.cpp | 77 +- .../generated/JSSVGPathSegLinetoVerticalRel.h | 8 +- .../webkit/WebCore/generated/JSSVGPathSegList.cpp | 72 +- .../webkit/WebCore/generated/JSSVGPathSegList.h | 13 +- .../WebCore/generated/JSSVGPathSegMovetoAbs.cpp | 86 +- .../WebCore/generated/JSSVGPathSegMovetoAbs.h | 8 +- .../WebCore/generated/JSSVGPathSegMovetoRel.cpp | 86 +- .../WebCore/generated/JSSVGPathSegMovetoRel.h | 8 +- .../WebCore/generated/JSSVGPatternElement.cpp | 120 +- .../webkit/WebCore/generated/JSSVGPatternElement.h | 6 +- .../webkit/WebCore/generated/JSSVGPoint.cpp | 101 +- src/3rdparty/webkit/WebCore/generated/JSSVGPoint.h | 15 +- .../webkit/WebCore/generated/JSSVGPointList.cpp | 88 +- .../webkit/WebCore/generated/JSSVGPointList.h | 22 +- .../WebCore/generated/JSSVGPolygonElement.cpp | 115 +- .../webkit/WebCore/generated/JSSVGPolygonElement.h | 6 +- .../WebCore/generated/JSSVGPolylineElement.cpp | 115 +- .../WebCore/generated/JSSVGPolylineElement.h | 6 +- .../WebCore/generated/JSSVGPreserveAspectRatio.cpp | 47 +- .../WebCore/generated/JSSVGPreserveAspectRatio.h | 23 +- .../generated/JSSVGRadialGradientElement.cpp | 75 +- .../WebCore/generated/JSSVGRadialGradientElement.h | 6 +- .../webkit/WebCore/generated/JSSVGRect.cpp | 114 +- src/3rdparty/webkit/WebCore/generated/JSSVGRect.h | 15 +- .../webkit/WebCore/generated/JSSVGRectElement.cpp | 125 +- .../webkit/WebCore/generated/JSSVGRectElement.h | 6 +- .../WebCore/generated/JSSVGRenderingIntent.cpp | 11 +- .../WebCore/generated/JSSVGRenderingIntent.h | 11 +- .../webkit/WebCore/generated/JSSVGSVGElement.cpp | 191 +- .../webkit/WebCore/generated/JSSVGSVGElement.h | 6 +- .../WebCore/generated/JSSVGScriptElement.cpp | 76 +- .../webkit/WebCore/generated/JSSVGScriptElement.h | 6 +- .../webkit/WebCore/generated/JSSVGSetElement.cpp | 84 +- .../webkit/WebCore/generated/JSSVGSetElement.h | 12 +- .../webkit/WebCore/generated/JSSVGStopElement.cpp | 69 +- .../webkit/WebCore/generated/JSSVGStopElement.h | 6 +- .../webkit/WebCore/generated/JSSVGStringList.cpp | 72 +- .../webkit/WebCore/generated/JSSVGStringList.h | 13 +- .../webkit/WebCore/generated/JSSVGStyleElement.cpp | 90 +- .../webkit/WebCore/generated/JSSVGStyleElement.h | 6 +- .../WebCore/generated/JSSVGSwitchElement.cpp | 109 +- .../webkit/WebCore/generated/JSSVGSwitchElement.h | 6 +- .../WebCore/generated/JSSVGSymbolElement.cpp | 87 +- .../webkit/WebCore/generated/JSSVGSymbolElement.h | 6 +- .../webkit/WebCore/generated/JSSVGTRefElement.cpp | 67 +- .../webkit/WebCore/generated/JSSVGTRefElement.h | 6 +- .../webkit/WebCore/generated/JSSVGTSpanElement.cpp | 84 +- .../webkit/WebCore/generated/JSSVGTSpanElement.h | 12 +- .../WebCore/generated/JSSVGTextContentElement.cpp | 44 +- .../WebCore/generated/JSSVGTextContentElement.h | 4 +- .../webkit/WebCore/generated/JSSVGTextElement.cpp | 81 +- .../webkit/WebCore/generated/JSSVGTextElement.h | 6 +- .../WebCore/generated/JSSVGTextPathElement.cpp | 14 +- .../WebCore/generated/JSSVGTextPathElement.h | 4 +- .../generated/JSSVGTextPositioningElement.cpp | 79 +- .../generated/JSSVGTextPositioningElement.h | 6 +- .../webkit/WebCore/generated/JSSVGTitleElement.cpp | 80 +- .../webkit/WebCore/generated/JSSVGTitleElement.h | 6 +- .../webkit/WebCore/generated/JSSVGTransform.cpp | 70 +- .../webkit/WebCore/generated/JSSVGTransform.h | 13 +- .../WebCore/generated/JSSVGTransformList.cpp | 93 +- .../webkit/WebCore/generated/JSSVGTransformList.h | 22 +- .../webkit/WebCore/generated/JSSVGUnitTypes.cpp | 11 +- .../webkit/WebCore/generated/JSSVGUnitTypes.h | 11 +- .../webkit/WebCore/generated/JSSVGUseElement.cpp | 128 +- .../webkit/WebCore/generated/JSSVGUseElement.h | 6 +- .../webkit/WebCore/generated/JSSVGViewElement.cpp | 81 +- .../webkit/WebCore/generated/JSSVGViewElement.h | 6 +- .../webkit/WebCore/generated/JSSVGZoomEvent.cpp | 75 +- .../webkit/WebCore/generated/JSSVGZoomEvent.h | 6 +- src/3rdparty/webkit/WebCore/generated/JSScreen.cpp | 24 +- src/3rdparty/webkit/WebCore/generated/JSScreen.h | 5 +- .../webkit/WebCore/generated/JSSharedWorker.cpp | 3 +- .../webkit/WebCore/generated/JSSharedWorker.h | 4 +- .../WebCore/generated/JSSharedWorkerContext.cpp | 12 +- .../WebCore/generated/JSSharedWorkerContext.h | 4 +- .../webkit/WebCore/generated/JSStorage.cpp | 5 +- src/3rdparty/webkit/WebCore/generated/JSStorage.h | 7 +- .../webkit/WebCore/generated/JSStorageEvent.cpp | 17 +- .../webkit/WebCore/generated/JSStorageEvent.h | 4 +- .../webkit/WebCore/generated/JSStyleSheet.cpp | 26 +- .../webkit/WebCore/generated/JSStyleSheet.h | 5 +- .../webkit/WebCore/generated/JSStyleSheetList.cpp | 9 +- .../webkit/WebCore/generated/JSStyleSheetList.h | 7 +- src/3rdparty/webkit/WebCore/generated/JSText.cpp | 5 +- src/3rdparty/webkit/WebCore/generated/JSText.h | 4 +- .../webkit/WebCore/generated/JSTextEvent.cpp | 5 +- .../webkit/WebCore/generated/JSTextEvent.h | 4 +- .../webkit/WebCore/generated/JSTextMetrics.cpp | 5 +- .../webkit/WebCore/generated/JSTextMetrics.h | 5 +- .../webkit/WebCore/generated/JSTimeRanges.cpp | 3 +- .../webkit/WebCore/generated/JSTimeRanges.h | 5 +- src/3rdparty/webkit/WebCore/generated/JSTouch.cpp | 251 - src/3rdparty/webkit/WebCore/generated/JSTouch.h | 93 - .../webkit/WebCore/generated/JSTouchEvent.cpp | 264 - .../webkit/WebCore/generated/JSTouchEvent.h | 88 - .../webkit/WebCore/generated/JSTouchList.cpp | 256 - .../webkit/WebCore/generated/JSTouchList.h | 94 - .../webkit/WebCore/generated/JSTreeWalker.cpp | 20 +- .../webkit/WebCore/generated/JSTreeWalker.h | 5 +- .../webkit/WebCore/generated/JSUIEvent.cpp | 29 +- src/3rdparty/webkit/WebCore/generated/JSUIEvent.h | 4 +- .../webkit/WebCore/generated/JSValidityState.cpp | 27 +- .../webkit/WebCore/generated/JSValidityState.h | 5 +- .../webkit/WebCore/generated/JSVoidCallback.h | 5 +- .../webkit/WebCore/generated/JSWebGLArray.cpp | 177 - .../webkit/WebCore/generated/JSWebGLArray.h | 92 - .../WebCore/generated/JSWebGLArrayBuffer.cpp | 121 - .../webkit/WebCore/generated/JSWebGLArrayBuffer.h | 84 - .../webkit/WebCore/generated/JSWebGLByteArray.cpp | 174 - .../webkit/WebCore/generated/JSWebGLByteArray.h | 94 - .../webkit/WebCore/generated/JSWebGLFloatArray.cpp | 174 - .../webkit/WebCore/generated/JSWebGLFloatArray.h | 94 - .../webkit/WebCore/generated/JSWebGLIntArray.cpp | 174 - .../webkit/WebCore/generated/JSWebGLIntArray.h | 94 - .../WebCore/generated/JSWebGLRenderingContext.cpp | 4252 - .../WebCore/generated/JSWebGLRenderingContext.h | 546 - .../webkit/WebCore/generated/JSWebGLShortArray.cpp | 174 - .../webkit/WebCore/generated/JSWebGLShortArray.h | 94 - .../WebCore/generated/JSWebGLUnsignedByteArray.cpp | 174 - .../WebCore/generated/JSWebGLUnsignedByteArray.h | 94 - .../WebCore/generated/JSWebGLUnsignedIntArray.cpp | 174 - .../WebCore/generated/JSWebGLUnsignedIntArray.h | 94 - .../generated/JSWebGLUnsignedShortArray.cpp | 174 - .../WebCore/generated/JSWebGLUnsignedShortArray.h | 94 - .../WebCore/generated/JSWebKitAnimationEvent.cpp | 8 +- .../WebCore/generated/JSWebKitAnimationEvent.h | 4 +- .../WebCore/generated/JSWebKitCSSKeyframeRule.cpp | 11 +- .../WebCore/generated/JSWebKitCSSKeyframeRule.h | 4 +- .../WebCore/generated/JSWebKitCSSKeyframesRule.cpp | 15 +- .../WebCore/generated/JSWebKitCSSKeyframesRule.h | 6 +- .../webkit/WebCore/generated/JSWebKitCSSMatrix.cpp | 132 +- .../webkit/WebCore/generated/JSWebKitCSSMatrix.h | 5 +- .../generated/JSWebKitCSSTransformValue.cpp | 54 +- .../WebCore/generated/JSWebKitCSSTransformValue.h | 9 +- .../webkit/WebCore/generated/JSWebKitPoint.cpp | 12 +- .../webkit/WebCore/generated/JSWebKitPoint.h | 5 +- .../WebCore/generated/JSWebKitTransitionEvent.cpp | 8 +- .../WebCore/generated/JSWebKitTransitionEvent.h | 4 +- .../webkit/WebCore/generated/JSWebSocket.cpp | 48 +- .../webkit/WebCore/generated/JSWebSocket.h | 5 +- .../webkit/WebCore/generated/JSWheelEvent.cpp | 47 +- .../webkit/WebCore/generated/JSWheelEvent.h | 4 +- src/3rdparty/webkit/WebCore/generated/JSWorker.cpp | 13 +- src/3rdparty/webkit/WebCore/generated/JSWorker.h | 4 +- .../webkit/WebCore/generated/JSWorkerContext.cpp | 36 +- .../webkit/WebCore/generated/JSWorkerContext.h | 7 +- .../WebCore/generated/JSWorkerContextBase.lut.h | 0 .../webkit/WebCore/generated/JSWorkerLocation.cpp | 26 +- .../webkit/WebCore/generated/JSWorkerLocation.h | 5 +- .../webkit/WebCore/generated/JSWorkerNavigator.cpp | 15 +- .../webkit/WebCore/generated/JSWorkerNavigator.h | 5 +- .../webkit/WebCore/generated/JSXMLHttpRequest.cpp | 85 +- .../webkit/WebCore/generated/JSXMLHttpRequest.h | 5 +- .../generated/JSXMLHttpRequestException.cpp | 11 +- .../WebCore/generated/JSXMLHttpRequestException.h | 5 +- .../generated/JSXMLHttpRequestProgressEvent.cpp | 8 +- .../generated/JSXMLHttpRequestProgressEvent.h | 4 +- .../WebCore/generated/JSXMLHttpRequestUpload.cpp | 61 +- .../WebCore/generated/JSXMLHttpRequestUpload.h | 5 +- .../webkit/WebCore/generated/JSXMLSerializer.cpp | 2 +- .../webkit/WebCore/generated/JSXMLSerializer.h | 5 +- .../webkit/WebCore/generated/JSXPathEvaluator.cpp | 2 +- .../webkit/WebCore/generated/JSXPathEvaluator.h | 5 +- .../webkit/WebCore/generated/JSXPathException.cpp | 11 +- .../webkit/WebCore/generated/JSXPathException.h | 5 +- .../webkit/WebCore/generated/JSXPathExpression.cpp | 2 +- .../webkit/WebCore/generated/JSXPathExpression.h | 5 +- .../webkit/WebCore/generated/JSXPathNSResolver.h | 5 +- .../webkit/WebCore/generated/JSXPathResult.cpp | 8 +- .../webkit/WebCore/generated/JSXPathResult.h | 5 +- .../webkit/WebCore/generated/JSXSLTProcessor.h | 5 +- src/3rdparty/webkit/WebCore/generated/Lexer.lut.h | 49 + .../webkit/WebCore/generated/MathObject.lut.h | 31 + .../WebCore/generated/NumberConstructor.lut.h | 18 + .../WebCore/generated/RegExpConstructor.lut.h | 34 + .../webkit/WebCore/generated/RegExpObject.lut.h | 18 + .../webkit/WebCore/generated/SVGElementFactory.cpp | 168 - src/3rdparty/webkit/WebCore/generated/SVGNames.cpp | 969 +- src/3rdparty/webkit/WebCore/generated/SVGNames.h | 321 +- .../webkit/WebCore/generated/StringPrototype.lut.h | 48 + .../WebCore/generated/UserAgentStyleSheets.h | 8 +- .../WebCore/generated/UserAgentStyleSheetsData.cpp | 1144 +- .../webkit/WebCore/generated/WebKitVersion.h | 4 +- .../webkit/WebCore/generated/XLinkNames.cpp | 23 +- src/3rdparty/webkit/WebCore/generated/XLinkNames.h | 7 + .../webkit/WebCore/generated/XMLNSNames.cpp | 81 - src/3rdparty/webkit/WebCore/generated/XMLNSNames.h | 54 - src/3rdparty/webkit/WebCore/generated/XMLNames.cpp | 11 +- .../webkit/WebCore/generated/XPathGrammar.cpp | 514 +- .../webkit/WebCore/generated/XPathGrammar.h | 64 +- src/3rdparty/webkit/WebCore/generated/chartables.c | 96 + .../webkit/WebCore/generated/tokenizer.cpp | 4 +- .../webkit/WebCore/history/BackForwardList.cpp | 44 +- .../webkit/WebCore/history/BackForwardList.h | 7 +- .../WebCore/history/BackForwardListChromium.cpp | 10 - .../webkit/WebCore/history/CachedFrame.cpp | 23 +- src/3rdparty/webkit/WebCore/history/CachedFrame.h | 16 +- src/3rdparty/webkit/WebCore/history/CachedPage.cpp | 1 - src/3rdparty/webkit/WebCore/history/CachedPage.h | 11 +- .../webkit/WebCore/history/HistoryItem.cpp | 56 +- src/3rdparty/webkit/WebCore/history/HistoryItem.h | 29 +- src/3rdparty/webkit/WebCore/html/Blob.cpp | 53 - src/3rdparty/webkit/WebCore/html/Blob.h | 62 - src/3rdparty/webkit/WebCore/html/Blob.idl | 37 - .../webkit/WebCore/html/CollectionCache.cpp | 8 - src/3rdparty/webkit/WebCore/html/CollectionCache.h | 8 +- .../webkit/WebCore/html/DataGridColumn.idl | 1 + .../webkit/WebCore/html/DataGridColumnList.idl | 1 + .../webkit/WebCore/html/DateComponents.cpp | 681 - src/3rdparty/webkit/WebCore/html/DateComponents.h | 190 - src/3rdparty/webkit/WebCore/html/File.cpp | 16 +- src/3rdparty/webkit/WebCore/html/File.h | 30 +- src/3rdparty/webkit/WebCore/html/File.idl | 8 +- src/3rdparty/webkit/WebCore/html/FileList.idl | 1 + .../webkit/WebCore/html/HTMLAllCollection.idl | 1 + .../webkit/WebCore/html/HTMLAnchorElement.cpp | 132 +- .../webkit/WebCore/html/HTMLAnchorElement.h | 14 - .../webkit/WebCore/html/HTMLAnchorElement.idl | 18 +- .../webkit/WebCore/html/HTMLAppletElement.cpp | 21 +- .../webkit/WebCore/html/HTMLAppletElement.h | 1 - .../webkit/WebCore/html/HTMLAppletElement.idl | 5 +- .../webkit/WebCore/html/HTMLAreaElement.cpp | 73 +- src/3rdparty/webkit/WebCore/html/HTMLAreaElement.h | 13 +- .../webkit/WebCore/html/HTMLAreaElement.idl | 6 +- .../webkit/WebCore/html/HTMLAttributeNames.in | 25 +- .../webkit/WebCore/html/HTMLAudioElement.cpp | 20 +- .../webkit/WebCore/html/HTMLAudioElement.h | 10 +- .../webkit/WebCore/html/HTMLAudioElement.idl | 2 +- src/3rdparty/webkit/WebCore/html/HTMLBRElement.idl | 6 +- .../webkit/WebCore/html/HTMLBaseElement.idl | 6 +- .../webkit/WebCore/html/HTMLBaseFontElement.idl | 6 +- .../webkit/WebCore/html/HTMLBlockquoteElement.idl | 6 +- .../webkit/WebCore/html/HTMLBodyElement.cpp | 2 - src/3rdparty/webkit/WebCore/html/HTMLBodyElement.h | 4 +- .../webkit/WebCore/html/HTMLBodyElement.idl | 10 +- .../webkit/WebCore/html/HTMLButtonElement.idl | 9 +- .../webkit/WebCore/html/HTMLCanvasElement.cpp | 39 +- .../webkit/WebCore/html/HTMLCanvasElement.h | 7 +- .../webkit/WebCore/html/HTMLCanvasElement.idl | 8 +- .../webkit/WebCore/html/HTMLCollection.cpp | 10 +- .../webkit/WebCore/html/HTMLCollection.idl | 5 +- .../webkit/WebCore/html/HTMLDListElement.idl | 6 +- .../WebCore/html/HTMLDataGridCellElement.idl | 1 + .../webkit/WebCore/html/HTMLDataGridColElement.cpp | 6 +- .../webkit/WebCore/html/HTMLDataGridColElement.idl | 1 + .../webkit/WebCore/html/HTMLDataGridElement.idl | 1 + .../webkit/WebCore/html/HTMLDataGridRowElement.idl | 1 + .../webkit/WebCore/html/HTMLDataListElement.idl | 1 + .../webkit/WebCore/html/HTMLDirectoryElement.idl | 6 +- .../webkit/WebCore/html/HTMLDivElement.idl | 6 +- src/3rdparty/webkit/WebCore/html/HTMLDocument.cpp | 7 +- src/3rdparty/webkit/WebCore/html/HTMLDocument.h | 1 + src/3rdparty/webkit/WebCore/html/HTMLDocument.idl | 5 +- src/3rdparty/webkit/WebCore/html/HTMLElement.cpp | 79 +- src/3rdparty/webkit/WebCore/html/HTMLElement.h | 3 +- src/3rdparty/webkit/WebCore/html/HTMLElement.idl | 5 +- .../webkit/WebCore/html/HTMLEmbedElement.cpp | 14 +- .../webkit/WebCore/html/HTMLEmbedElement.idl | 7 +- .../webkit/WebCore/html/HTMLFieldSetElement.idl | 9 +- .../webkit/WebCore/html/HTMLFontElement.idl | 6 +- .../webkit/WebCore/html/HTMLFormCollection.cpp | 14 +- .../webkit/WebCore/html/HTMLFormControlElement.cpp | 56 +- .../webkit/WebCore/html/HTMLFormControlElement.h | 15 +- .../webkit/WebCore/html/HTMLFormElement.cpp | 17 +- src/3rdparty/webkit/WebCore/html/HTMLFormElement.h | 5 +- .../webkit/WebCore/html/HTMLFormElement.idl | 5 +- .../webkit/WebCore/html/HTMLFrameElement.idl | 8 +- .../webkit/WebCore/html/HTMLFrameElementBase.cpp | 59 +- .../webkit/WebCore/html/HTMLFrameElementBase.h | 12 - .../webkit/WebCore/html/HTMLFrameOwnerElement.cpp | 12 - .../webkit/WebCore/html/HTMLFrameOwnerElement.h | 11 +- .../webkit/WebCore/html/HTMLFrameSetElement.cpp | 2 - .../webkit/WebCore/html/HTMLFrameSetElement.h | 1 - .../webkit/WebCore/html/HTMLFrameSetElement.idl | 9 +- src/3rdparty/webkit/WebCore/html/HTMLHRElement.idl | 6 +- src/3rdparty/webkit/WebCore/html/HTMLHeadElement.h | 2 + .../webkit/WebCore/html/HTMLHeadElement.idl | 6 +- .../webkit/WebCore/html/HTMLHeadingElement.cpp | 2 + .../webkit/WebCore/html/HTMLHeadingElement.h | 2 + .../webkit/WebCore/html/HTMLHeadingElement.idl | 6 +- src/3rdparty/webkit/WebCore/html/HTMLHtmlElement.h | 2 + .../webkit/WebCore/html/HTMLHtmlElement.idl | 6 +- .../webkit/WebCore/html/HTMLIFrameElement.cpp | 52 +- .../webkit/WebCore/html/HTMLIFrameElement.h | 2 + .../webkit/WebCore/html/HTMLIFrameElement.idl | 9 +- .../webkit/WebCore/html/HTMLImageElement.cpp | 53 +- .../webkit/WebCore/html/HTMLImageElement.h | 14 +- .../webkit/WebCore/html/HTMLImageElement.idl | 6 +- src/3rdparty/webkit/WebCore/html/HTMLImageLoader.h | 2 + .../webkit/WebCore/html/HTMLInputElement.cpp | 1305 +- .../webkit/WebCore/html/HTMLInputElement.h | 78 +- .../webkit/WebCore/html/HTMLInputElement.idl | 36 +- .../webkit/WebCore/html/HTMLIsIndexElement.idl | 6 +- src/3rdparty/webkit/WebCore/html/HTMLLIElement.idl | 6 +- .../webkit/WebCore/html/HTMLLabelElement.idl | 6 +- .../webkit/WebCore/html/HTMLLegendElement.idl | 6 +- .../webkit/WebCore/html/HTMLLinkElement.cpp | 35 +- src/3rdparty/webkit/WebCore/html/HTMLLinkElement.h | 2 +- .../webkit/WebCore/html/HTMLLinkElement.idl | 8 +- .../webkit/WebCore/html/HTMLMapElement.cpp | 24 +- src/3rdparty/webkit/WebCore/html/HTMLMapElement.h | 6 +- .../webkit/WebCore/html/HTMLMapElement.idl | 6 +- .../webkit/WebCore/html/HTMLMarqueeElement.cpp | 25 +- .../webkit/WebCore/html/HTMLMarqueeElement.h | 4 - .../webkit/WebCore/html/HTMLMarqueeElement.idl | 6 +- .../webkit/WebCore/html/HTMLMediaElement.cpp | 338 +- .../webkit/WebCore/html/HTMLMediaElement.h | 43 +- .../webkit/WebCore/html/HTMLMediaElement.idl | 13 +- .../webkit/WebCore/html/HTMLMenuElement.idl | 6 +- src/3rdparty/webkit/WebCore/html/HTMLMetaElement.h | 2 + .../webkit/WebCore/html/HTMLMetaElement.idl | 6 +- .../webkit/WebCore/html/HTMLModElement.cpp | 2 + src/3rdparty/webkit/WebCore/html/HTMLModElement.h | 2 + .../webkit/WebCore/html/HTMLModElement.idl | 6 +- .../webkit/WebCore/html/HTMLNameCollection.cpp | 8 +- .../webkit/WebCore/html/HTMLOListElement.idl | 6 +- .../webkit/WebCore/html/HTMLObjectElement.cpp | 18 +- .../webkit/WebCore/html/HTMLObjectElement.idl | 7 +- .../webkit/WebCore/html/HTMLOptGroupElement.idl | 6 +- .../webkit/WebCore/html/HTMLOptionElement.cpp | 46 +- .../webkit/WebCore/html/HTMLOptionElement.h | 11 +- .../webkit/WebCore/html/HTMLOptionElement.idl | 5 +- .../webkit/WebCore/html/HTMLOptionsCollection.cpp | 2 + .../webkit/WebCore/html/HTMLOptionsCollection.idl | 4 +- .../webkit/WebCore/html/HTMLParagraphElement.idl | 6 +- .../webkit/WebCore/html/HTMLParamElement.cpp | 2 +- .../webkit/WebCore/html/HTMLParamElement.idl | 6 +- src/3rdparty/webkit/WebCore/html/HTMLParser.cpp | 77 +- src/3rdparty/webkit/WebCore/html/HTMLParser.h | 10 +- .../webkit/WebCore/html/HTMLPlugInElement.cpp | 9 +- .../webkit/WebCore/html/HTMLPreElement.cpp | 2 + src/3rdparty/webkit/WebCore/html/HTMLPreElement.h | 2 + .../webkit/WebCore/html/HTMLPreElement.idl | 6 +- .../webkit/WebCore/html/HTMLQuoteElement.idl | 6 +- .../webkit/WebCore/html/HTMLScriptElement.idl | 6 +- .../webkit/WebCore/html/HTMLSelectElement.cpp | 8 +- .../webkit/WebCore/html/HTMLSelectElement.h | 4 +- .../webkit/WebCore/html/HTMLSelectElement.idl | 8 +- .../webkit/WebCore/html/HTMLSourceElement.idl | 2 +- .../webkit/WebCore/html/HTMLStyleElement.idl | 8 +- .../WebCore/html/HTMLTableCaptionElement.idl | 5 +- .../webkit/WebCore/html/HTMLTableCellElement.cpp | 2 + .../webkit/WebCore/html/HTMLTableCellElement.h | 2 + .../webkit/WebCore/html/HTMLTableCellElement.idl | 6 +- .../webkit/WebCore/html/HTMLTableColElement.cpp | 2 + .../webkit/WebCore/html/HTMLTableColElement.h | 2 + .../webkit/WebCore/html/HTMLTableColElement.idl | 6 +- .../webkit/WebCore/html/HTMLTableElement.idl | 6 +- .../webkit/WebCore/html/HTMLTablePartElement.cpp | 2 + .../webkit/WebCore/html/HTMLTablePartElement.h | 2 + .../webkit/WebCore/html/HTMLTableRowElement.idl | 6 +- .../WebCore/html/HTMLTableSectionElement.idl | 5 +- src/3rdparty/webkit/WebCore/html/HTMLTagNames.in | 11 +- .../webkit/WebCore/html/HTMLTextAreaElement.cpp | 26 +- .../webkit/WebCore/html/HTMLTextAreaElement.h | 1 - .../webkit/WebCore/html/HTMLTextAreaElement.idl | 9 +- .../webkit/WebCore/html/HTMLTitleElement.h | 2 + .../webkit/WebCore/html/HTMLTitleElement.idl | 6 +- src/3rdparty/webkit/WebCore/html/HTMLTokenizer.cpp | 86 +- src/3rdparty/webkit/WebCore/html/HTMLTokenizer.h | 13 +- .../webkit/WebCore/html/HTMLUListElement.idl | 6 +- .../webkit/WebCore/html/HTMLVideoElement.cpp | 85 +- .../webkit/WebCore/html/HTMLVideoElement.h | 20 +- .../webkit/WebCore/html/HTMLVideoElement.idl | 10 +- src/3rdparty/webkit/WebCore/html/ImageData.idl | 3 +- src/3rdparty/webkit/WebCore/html/MediaError.idl | 2 +- src/3rdparty/webkit/WebCore/html/TextMetrics.idl | 4 +- src/3rdparty/webkit/WebCore/html/TimeRanges.idl | 2 +- src/3rdparty/webkit/WebCore/html/ValidityState.cpp | 122 +- src/3rdparty/webkit/WebCore/html/ValidityState.h | 56 +- src/3rdparty/webkit/WebCore/html/ValidityState.idl | 2 +- src/3rdparty/webkit/WebCore/html/VoidCallback.idl | 2 +- .../webkit/WebCore/html/canvas/CanvasActiveInfo.h | 62 + .../WebCore/html/canvas/CanvasActiveInfo.idl | 36 + .../webkit/WebCore/html/canvas/CanvasArray.cpp | 52 + .../webkit/WebCore/html/canvas/CanvasArray.h | 75 + .../webkit/WebCore/html/canvas/CanvasArray.idl | 32 + .../WebCore/html/canvas/CanvasArrayBuffer.cpp | 57 + .../webkit/WebCore/html/canvas/CanvasArrayBuffer.h | 51 + .../WebCore/html/canvas/CanvasArrayBuffer.idl | 30 + .../webkit/WebCore/html/canvas/CanvasBuffer.cpp | 53 + .../webkit/WebCore/html/canvas/CanvasBuffer.h | 50 + .../webkit/WebCore/html/canvas/CanvasBuffer.idl | 29 + .../webkit/WebCore/html/canvas/CanvasByteArray.cpp | 77 + .../webkit/WebCore/html/canvas/CanvasByteArray.h | 90 + .../webkit/WebCore/html/canvas/CanvasByteArray.idl | 36 + .../html/canvas/CanvasContextAttributes.cpp | 41 - .../WebCore/html/canvas/CanvasContextAttributes.h | 48 - .../WebCore/html/canvas/CanvasFloatArray.cpp | 78 + .../webkit/WebCore/html/canvas/CanvasFloatArray.h | 86 + .../WebCore/html/canvas/CanvasFloatArray.idl | 36 + .../WebCore/html/canvas/CanvasFramebuffer.cpp | 53 + .../webkit/WebCore/html/canvas/CanvasFramebuffer.h | 50 + .../WebCore/html/canvas/CanvasFramebuffer.idl | 29 + .../webkit/WebCore/html/canvas/CanvasGradient.idl | 3 +- .../webkit/WebCore/html/canvas/CanvasIntArray.cpp | 82 + .../webkit/WebCore/html/canvas/CanvasIntArray.h | 88 + .../webkit/WebCore/html/canvas/CanvasIntArray.idl | 36 + .../WebCore/html/canvas/CanvasNumberArray.idl | 1 + .../webkit/WebCore/html/canvas/CanvasObject.cpp | 18 +- .../webkit/WebCore/html/canvas/CanvasObject.h | 17 +- .../webkit/WebCore/html/canvas/CanvasPattern.idl | 3 +- .../webkit/WebCore/html/canvas/CanvasPixelArray.h | 1 - .../WebCore/html/canvas/CanvasPixelArray.idl | 1 - .../webkit/WebCore/html/canvas/CanvasProgram.cpp | 53 + .../webkit/WebCore/html/canvas/CanvasProgram.h | 50 + .../webkit/WebCore/html/canvas/CanvasProgram.idl | 29 + .../WebCore/html/canvas/CanvasRenderbuffer.cpp | 53 + .../WebCore/html/canvas/CanvasRenderbuffer.h | 50 + .../WebCore/html/canvas/CanvasRenderbuffer.idl | 29 + .../WebCore/html/canvas/CanvasRenderingContext.idl | 1 + .../html/canvas/CanvasRenderingContext2D.cpp | 59 +- .../WebCore/html/canvas/CanvasRenderingContext2D.h | 4 +- .../html/canvas/CanvasRenderingContext2D.idl | 1 + .../html/canvas/CanvasRenderingContext3D.cpp | 1441 + .../WebCore/html/canvas/CanvasRenderingContext3D.h | 327 + .../html/canvas/CanvasRenderingContext3D.idl | 689 + .../webkit/WebCore/html/canvas/CanvasShader.cpp | 53 + .../webkit/WebCore/html/canvas/CanvasShader.h | 50 + .../webkit/WebCore/html/canvas/CanvasShader.idl | 29 + .../WebCore/html/canvas/CanvasShortArray.cpp | 82 + .../webkit/WebCore/html/canvas/CanvasShortArray.h | 86 + .../WebCore/html/canvas/CanvasShortArray.idl | 36 + .../webkit/WebCore/html/canvas/CanvasStyle.cpp | 28 +- .../webkit/WebCore/html/canvas/CanvasTexture.cpp | 54 + .../webkit/WebCore/html/canvas/CanvasTexture.h | 61 + .../webkit/WebCore/html/canvas/CanvasTexture.idl | 29 + .../html/canvas/CanvasUnsignedByteArray.cpp | 78 + .../WebCore/html/canvas/CanvasUnsignedByteArray.h | 86 + .../html/canvas/CanvasUnsignedByteArray.idl | 36 + .../WebCore/html/canvas/CanvasUnsignedIntArray.cpp | 83 + .../WebCore/html/canvas/CanvasUnsignedIntArray.h | 86 + .../WebCore/html/canvas/CanvasUnsignedIntArray.idl | 36 + .../html/canvas/CanvasUnsignedShortArray.cpp | 85 + .../WebCore/html/canvas/CanvasUnsignedShortArray.h | 87 + .../html/canvas/CanvasUnsignedShortArray.idl | 36 + .../webkit/WebCore/html/canvas/WebGLActiveInfo.h | 62 - .../webkit/WebCore/html/canvas/WebGLActiveInfo.idl | 37 - .../webkit/WebCore/html/canvas/WebGLArray.cpp | 60 - .../webkit/WebCore/html/canvas/WebGLArray.h | 81 - .../webkit/WebCore/html/canvas/WebGLArray.idl | 35 - .../WebCore/html/canvas/WebGLArrayBuffer.cpp | 71 - .../webkit/WebCore/html/canvas/WebGLArrayBuffer.h | 53 - .../WebCore/html/canvas/WebGLArrayBuffer.idl | 30 - .../webkit/WebCore/html/canvas/WebGLBuffer.cpp | 166 - .../webkit/WebCore/html/canvas/WebGLBuffer.h | 94 - .../webkit/WebCore/html/canvas/WebGLBuffer.idl | 29 - .../webkit/WebCore/html/canvas/WebGLByteArray.cpp | 93 - .../webkit/WebCore/html/canvas/WebGLByteArray.h | 100 - .../webkit/WebCore/html/canvas/WebGLByteArray.idl | 42 - .../WebCore/html/canvas/WebGLContextAttributes.cpp | 117 - .../WebCore/html/canvas/WebGLContextAttributes.h | 82 - .../WebCore/html/canvas/WebGLContextAttributes.idl | 38 - .../webkit/WebCore/html/canvas/WebGLFloatArray.cpp | 95 - .../webkit/WebCore/html/canvas/WebGLFloatArray.h | 95 - .../webkit/WebCore/html/canvas/WebGLFloatArray.idl | 42 - .../WebCore/html/canvas/WebGLFramebuffer.cpp | 53 - .../webkit/WebCore/html/canvas/WebGLFramebuffer.h | 50 - .../WebCore/html/canvas/WebGLFramebuffer.idl | 29 - .../webkit/WebCore/html/canvas/WebGLGetInfo.cpp | 215 - .../webkit/WebCore/html/canvas/WebGLGetInfo.h | 131 - .../webkit/WebCore/html/canvas/WebGLIntArray.cpp | 99 - .../webkit/WebCore/html/canvas/WebGLIntArray.h | 97 - .../webkit/WebCore/html/canvas/WebGLIntArray.idl | 42 - .../webkit/WebCore/html/canvas/WebGLProgram.cpp | 53 - .../webkit/WebCore/html/canvas/WebGLProgram.h | 50 - .../webkit/WebCore/html/canvas/WebGLProgram.idl | 29 - .../WebCore/html/canvas/WebGLRenderbuffer.cpp | 64 - .../webkit/WebCore/html/canvas/WebGLRenderbuffer.h | 55 - .../WebCore/html/canvas/WebGLRenderbuffer.idl | 29 - .../WebCore/html/canvas/WebGLRenderingContext.cpp | 2531 - .../WebCore/html/canvas/WebGLRenderingContext.h | 360 - .../WebCore/html/canvas/WebGLRenderingContext.idl | 676 - .../webkit/WebCore/html/canvas/WebGLShader.cpp | 53 - .../webkit/WebCore/html/canvas/WebGLShader.h | 50 - .../webkit/WebCore/html/canvas/WebGLShader.idl | 29 - .../webkit/WebCore/html/canvas/WebGLShortArray.cpp | 98 - .../webkit/WebCore/html/canvas/WebGLShortArray.h | 94 - .../webkit/WebCore/html/canvas/WebGLShortArray.idl | 41 - .../webkit/WebCore/html/canvas/WebGLTexture.cpp | 66 - .../webkit/WebCore/html/canvas/WebGLTexture.h | 66 - .../webkit/WebCore/html/canvas/WebGLTexture.idl | 29 - .../WebCore/html/canvas/WebGLUniformLocation.cpp | 48 - .../WebCore/html/canvas/WebGLUniformLocation.h | 58 - .../WebCore/html/canvas/WebGLUniformLocation.idl | 30 - .../WebCore/html/canvas/WebGLUnsignedByteArray.cpp | 95 - .../WebCore/html/canvas/WebGLUnsignedByteArray.h | 95 - .../WebCore/html/canvas/WebGLUnsignedByteArray.idl | 42 - .../WebCore/html/canvas/WebGLUnsignedIntArray.cpp | 100 - .../WebCore/html/canvas/WebGLUnsignedIntArray.h | 95 - .../WebCore/html/canvas/WebGLUnsignedIntArray.idl | 42 - .../html/canvas/WebGLUnsignedShortArray.cpp | 102 - .../WebCore/html/canvas/WebGLUnsignedShortArray.h | 96 - .../html/canvas/WebGLUnsignedShortArray.idl | 42 - .../webkit/WebCore/inspector/ConsoleMessage.cpp | 18 +- .../webkit/WebCore/inspector/ConsoleMessage.h | 5 +- .../webkit/WebCore/inspector/InjectedScript.cpp | 91 - .../webkit/WebCore/inspector/InjectedScript.h | 66 - .../WebCore/inspector/InjectedScriptHost.cpp | 208 - .../webkit/WebCore/inspector/InjectedScriptHost.h | 107 - .../WebCore/inspector/InjectedScriptHost.idl | 60 - .../webkit/WebCore/inspector/InspectorBackend.cpp | 419 +- .../webkit/WebCore/inspector/InspectorBackend.h | 101 +- .../webkit/WebCore/inspector/InspectorBackend.idl | 81 +- .../webkit/WebCore/inspector/InspectorClient.h | 5 +- .../WebCore/inspector/InspectorController.cpp | 569 +- .../webkit/WebCore/inspector/InspectorController.h | 177 +- .../webkit/WebCore/inspector/InspectorDOMAgent.cpp | 218 +- .../webkit/WebCore/inspector/InspectorDOMAgent.h | 14 +- .../inspector/InspectorDatabaseResource.cpp | 4 + .../webkit/WebCore/inspector/InspectorFrontend.cpp | 472 +- .../webkit/WebCore/inspector/InspectorFrontend.h | 47 +- .../WebCore/inspector/InspectorFrontendHost.cpp | 185 - .../WebCore/inspector/InspectorFrontendHost.h | 139 - .../WebCore/inspector/InspectorFrontendHost.idl | 53 - .../webkit/WebCore/inspector/InspectorResource.cpp | 121 +- .../webkit/WebCore/inspector/InspectorResource.h | 33 +- .../WebCore/inspector/InspectorTimelineAgent.cpp | 112 +- .../WebCore/inspector/InspectorTimelineAgent.h | 43 +- .../WebCore/inspector/JavaScriptCallFrame.cpp | 4 +- .../webkit/WebCore/inspector/JavaScriptCallFrame.h | 2 +- .../WebCore/inspector/JavaScriptCallFrame.idl | 2 +- .../WebCore/inspector/JavaScriptDebugListener.h | 2 +- .../WebCore/inspector/JavaScriptDebugServer.cpp | 14 +- .../WebCore/inspector/JavaScriptDebugServer.h | 17 +- .../webkit/WebCore/inspector/JavaScriptProfile.cpp | 183 + .../webkit/WebCore/inspector/JavaScriptProfile.h | 46 + .../WebCore/inspector/JavaScriptProfileNode.cpp | 236 + .../WebCore/inspector/JavaScriptProfileNode.h | 48 + .../WebCore/inspector/TimelineRecordFactory.cpp | 101 +- .../WebCore/inspector/TimelineRecordFactory.h | 29 +- .../inspector/front-end/AbstractTimelinePanel.js | 152 +- .../WebCore/inspector/front-end/AuditCategories.js | 70 - .../inspector/front-end/AuditLauncherView.js | 224 - .../WebCore/inspector/front-end/AuditResultView.js | 138 - .../WebCore/inspector/front-end/AuditRules.js | 1213 - .../WebCore/inspector/front-end/AuditsPanel.js | 480 - .../front-end/BottomUpProfileDataGridTree.js | 22 +- .../WebCore/inspector/front-end/Breakpoint.js | 2 +- .../inspector/front-end/BreakpointsSidebarPane.js | 28 +- .../inspector/front-end/CallStackSidebarPane.js | 3 +- .../WebCore/inspector/front-end/ConsolePanel.js | 88 - .../WebCore/inspector/front-end/ConsoleView.js | 341 +- .../WebCore/inspector/front-end/ContextMenu.js | 83 - .../WebCore/inspector/front-end/CookieItemsView.js | 318 +- .../webkit/WebCore/inspector/front-end/DOMAgent.js | 83 +- .../WebCore/inspector/front-end/DOMStorage.js | 6 +- .../inspector/front-end/DOMStorageDataGrid.js | 161 + .../inspector/front-end/DOMStorageItemsView.js | 76 +- .../inspector/front-end/DOMSyntaxHighlighter.js | 79 - .../webkit/WebCore/inspector/front-end/DataGrid.js | 283 +- .../webkit/WebCore/inspector/front-end/Database.js | 5 +- .../inspector/front-end/DatabaseQueryView.js | 6 +- .../inspector/front-end/DatabaseTableView.js | 1 - .../webkit/WebCore/inspector/front-end/Drawer.js | 144 +- .../WebCore/inspector/front-end/ElementsPanel.js | 189 +- .../inspector/front-end/ElementsTreeOutline.js | 519 +- .../front-end/EventListenersSidebarPane.js | 22 +- .../webkit/WebCore/inspector/front-end/FontView.js | 2 +- .../inspector/front-end/Images/consoleIcon.png | Bin 2930 -> 0 bytes .../inspector/front-end/Images/gearButtonGlyph.png | Bin 323 -> 0 bytes .../inspector/front-end/Images/popoverArrows.png | Bin 784 -> 0 bytes .../front-end/Images/popoverBackground.png | Bin 2233 -> 0 bytes .../front-end/Images/thumbActiveHoriz.png | Bin 647 -> 0 bytes .../inspector/front-end/Images/thumbActiveVert.png | Bin 599 -> 0 bytes .../inspector/front-end/Images/thumbHoriz.png | Bin 657 -> 0 bytes .../inspector/front-end/Images/thumbHoverHoriz.png | Bin 667 -> 0 bytes .../inspector/front-end/Images/thumbHoverVert.png | Bin 583 -> 0 bytes .../inspector/front-end/Images/thumbVert.png | Bin 568 -> 0 bytes .../inspector/front-end/Images/tipBalloon.png | Bin 0 -> 3689 bytes .../front-end/Images/tipBalloonBottom.png | Bin 0 -> 3139 bytes .../WebCore/inspector/front-end/Images/tipIcon.png | Bin 0 -> 1212 bytes .../inspector/front-end/Images/tipIconPressed.png | Bin 0 -> 1224 bytes .../inspector/front-end/Images/trackHoriz.png | Bin 520 -> 0 bytes .../inspector/front-end/Images/trackVert.png | Bin 523 -> 0 bytes .../WebCore/inspector/front-end/InjectedScript.js | 467 +- .../inspector/front-end/InjectedScriptAccess.js | 30 +- .../inspector/front-end/InspectorBackendStub.js | 266 - .../inspector/front-end/InspectorControllerStub.js | 296 + .../front-end/InspectorFrontendHostStub.js | 101 - .../inspector/front-end/KeyboardShortcut.js | 16 +- .../inspector/front-end/MetricsSidebarPane.js | 26 +- .../inspector/front-end/ObjectPropertiesSection.js | 21 +- .../WebCore/inspector/front-end/ObjectProxy.js | 22 +- .../webkit/WebCore/inspector/front-end/Panel.js | 68 +- .../inspector/front-end/PanelEnablerView.js | 11 +- .../webkit/WebCore/inspector/front-end/Popover.js | 147 - .../webkit/WebCore/inspector/front-end/Popup.js | 168 + .../inspector/front-end/ProfileDataGridTree.js | 1 - .../WebCore/inspector/front-end/ProfileView.js | 40 +- .../WebCore/inspector/front-end/ProfilesPanel.js | 78 +- .../inspector/front-end/PropertiesSection.js | 112 +- .../inspector/front-end/PropertiesSidebarPane.js | 15 +- .../webkit/WebCore/inspector/front-end/Resource.js | 145 +- .../WebCore/inspector/front-end/ResourceView.js | 164 +- .../WebCore/inspector/front-end/ResourcesPanel.js | 129 +- .../WebCore/inspector/front-end/ScriptView.js | 25 +- .../WebCore/inspector/front-end/ScriptsPanel.js | 201 +- .../webkit/WebCore/inspector/front-end/Section.js | 140 - .../webkit/WebCore/inspector/front-end/Settings.js | 99 - .../WebCore/inspector/front-end/SidebarPane.js | 8 - .../inspector/front-end/SourceCSSTokenizer.js | 1473 - .../inspector/front-end/SourceCSSTokenizer.re2js | 318 - .../WebCore/inspector/front-end/SourceFrame.js | 1578 +- .../inspector/front-end/SourceHTMLTokenizer.js | 658 - .../inspector/front-end/SourceHTMLTokenizer.re2js | 274 - .../front-end/SourceJavaScriptTokenizer.js | 2416 - .../front-end/SourceJavaScriptTokenizer.re2js | 177 - .../WebCore/inspector/front-end/SourceTokenizer.js | 105 - .../WebCore/inspector/front-end/SourceView.js | 132 +- .../WebCore/inspector/front-end/StatusBarButton.js | 54 +- .../WebCore/inspector/front-end/StoragePanel.js | 70 +- .../inspector/front-end/StylesSidebarPane.js | 78 +- .../WebCore/inspector/front-end/TestController.js | 29 +- .../inspector/front-end/TextEditorHighlighter.js | 169 - .../WebCore/inspector/front-end/TextEditorModel.js | 309 - .../WebCore/inspector/front-end/TextPrompt.js | 138 +- .../WebCore/inspector/front-end/TextViewer.js | 688 - .../WebCore/inspector/front-end/TimelineAgent.js | 24 +- .../WebCore/inspector/front-end/TimelineGrid.js | 144 - .../inspector/front-end/TimelineOverviewPane.js | 388 - .../WebCore/inspector/front-end/TimelinePanel.js | 561 +- .../front-end/TopDownProfileDataGridTree.js | 11 - .../front-end/WatchExpressionsSidebarPane.js | 98 +- .../webkit/WebCore/inspector/front-end/WebKit.qrc | 45 +- .../WebCore/inspector/front-end/WelcomeView.js | 73 - .../webkit/WebCore/inspector/front-end/audits.css | 272 - .../WebCore/inspector/front-end/inspector.css | 596 +- .../WebCore/inspector/front-end/inspector.html | 35 +- .../WebCore/inspector/front-end/inspector.js | 755 +- .../front-end/inspectorSyntaxHighlight.css | 58 +- .../webkit/WebCore/inspector/front-end/popover.css | 200 - .../WebCore/inspector/front-end/textViewer.css | 148 - .../WebCore/inspector/front-end/treeoutline.js | 28 +- .../WebCore/inspector/front-end/utilities.js | 135 +- src/3rdparty/webkit/WebCore/loader/Cache.cpp | 27 +- src/3rdparty/webkit/WebCore/loader/Cache.h | 2 +- src/3rdparty/webkit/WebCore/loader/CachePolicy.h | 3 +- .../webkit/WebCore/loader/CachedCSSStyleSheet.cpp | 21 +- .../webkit/WebCore/loader/CachedCSSStyleSheet.h | 4 +- src/3rdparty/webkit/WebCore/loader/CachedFont.cpp | 4 +- src/3rdparty/webkit/WebCore/loader/CachedImage.cpp | 3 +- .../webkit/WebCore/loader/CachedResource.cpp | 6 +- .../webkit/WebCore/loader/CachedResource.h | 9 +- .../webkit/WebCore/loader/CachedResourceClient.h | 5 +- .../webkit/WebCore/loader/CachedResourceHandle.h | 2 +- .../webkit/WebCore/loader/CachedXSLStyleSheet.cpp | 5 +- .../WebCore/loader/CrossOriginAccessControl.cpp | 3 - .../loader/CrossOriginPreflightResultCache.h | 2 - src/3rdparty/webkit/WebCore/loader/DocLoader.cpp | 10 +- src/3rdparty/webkit/WebCore/loader/DocLoader.h | 2 +- .../webkit/WebCore/loader/DocumentLoader.cpp | 69 +- .../webkit/WebCore/loader/DocumentLoader.h | 4 +- .../WebCore/loader/DocumentThreadableLoader.cpp | 17 +- .../WebCore/loader/DocumentThreadableLoader.h | 5 +- src/3rdparty/webkit/WebCore/loader/EmptyClients.h | 38 +- .../webkit/WebCore/loader/FTPDirectoryDocument.cpp | 53 +- .../webkit/WebCore/loader/FTPDirectoryParser.cpp | 29 +- src/3rdparty/webkit/WebCore/loader/FormState.cpp | 7 +- src/3rdparty/webkit/WebCore/loader/FormState.h | 11 +- src/3rdparty/webkit/WebCore/loader/FrameLoader.cpp | 519 +- src/3rdparty/webkit/WebCore/loader/FrameLoader.h | 23 +- .../webkit/WebCore/loader/FrameLoaderClient.h | 18 +- .../webkit/WebCore/loader/FrameLoaderTypes.h | 17 - .../webkit/WebCore/loader/HistoryController.cpp | 45 +- .../webkit/WebCore/loader/HistoryController.h | 6 +- .../webkit/WebCore/loader/ImageDocument.cpp | 8 +- src/3rdparty/webkit/WebCore/loader/ImageLoader.cpp | 76 +- src/3rdparty/webkit/WebCore/loader/ImageLoader.h | 7 +- .../webkit/WebCore/loader/MainResourceLoader.cpp | 31 - .../webkit/WebCore/loader/MainResourceLoader.h | 6 +- .../webkit/WebCore/loader/MediaDocument.cpp | 8 +- .../webkit/WebCore/loader/PlaceholderDocument.cpp | 5 + .../webkit/WebCore/loader/PlaceholderDocument.h | 2 +- .../webkit/WebCore/loader/ProgressTracker.cpp | 14 +- .../webkit/WebCore/loader/RedirectScheduler.cpp | 38 +- src/3rdparty/webkit/WebCore/loader/Request.cpp | 4 +- src/3rdparty/webkit/WebCore/loader/Request.h | 9 +- .../webkit/WebCore/loader/ResourceLoadNotifier.cpp | 13 +- .../webkit/WebCore/loader/ResourceLoadNotifier.h | 2 +- .../webkit/WebCore/loader/ResourceLoader.cpp | 2 +- .../webkit/WebCore/loader/SubresourceLoader.cpp | 6 +- .../webkit/WebCore/loader/SubresourceLoader.h | 7 +- .../WebCore/loader/SubresourceLoaderClient.h | 2 +- .../webkit/WebCore/loader/ThreadableLoader.h | 2 +- .../webkit/WebCore/loader/ThreadableLoaderClient.h | 2 +- .../WebCore/loader/WorkerThreadableLoader.cpp | 6 +- .../webkit/WebCore/loader/WorkerThreadableLoader.h | 8 +- .../WebCore/loader/appcache/ApplicationCache.h | 2 +- .../loader/appcache/ApplicationCacheGroup.cpp | 7 +- .../loader/appcache/ApplicationCacheHost.cpp | 21 - .../WebCore/loader/appcache/ApplicationCacheHost.h | 9 +- .../loader/appcache/ApplicationCacheStorage.cpp | 2 +- .../loader/appcache/ApplicationCacheStorage.h | 2 +- .../loader/appcache/DOMApplicationCache.cpp | 6 +- .../loader/appcache/DOMApplicationCache.idl | 3 +- .../WebCore/loader/archive/ArchiveFactory.cpp | 15 +- .../WebCore/loader/icon/IconDatabaseClient.h | 4 +- src/3rdparty/webkit/WebCore/loader/loader.cpp | 38 +- src/3rdparty/webkit/WebCore/loader/loader.h | 3 +- .../webkit/WebCore/mathml/MathMLElement.cpp | 39 +- src/3rdparty/webkit/WebCore/mathml/MathMLElement.h | 39 +- .../mathml/MathMLInlineContainerElement.cpp | 47 +- .../WebCore/mathml/MathMLInlineContainerElement.h | 39 +- .../webkit/WebCore/mathml/MathMLMathElement.cpp | 39 +- .../webkit/WebCore/mathml/MathMLMathElement.h | 39 +- .../webkit/WebCore/mathml/MathMLTextElement.cpp | 58 - .../webkit/WebCore/mathml/MathMLTextElement.h | 48 - .../webkit/WebCore/mathml/RenderMathMLBlock.cpp | 113 - .../webkit/WebCore/mathml/RenderMathMLBlock.h | 75 - src/3rdparty/webkit/WebCore/mathml/mathattrs.in | 13 - src/3rdparty/webkit/WebCore/mathml/mathtags.in | 1 + .../webkit/WebCore/notifications/Notification.cpp | 12 +- .../webkit/WebCore/notifications/Notification.idl | 3 +- .../WebCore/notifications/NotificationCenter.cpp | 26 +- .../WebCore/notifications/NotificationCenter.h | 14 +- .../WebCore/notifications/NotificationCenter.idl | 3 +- .../WebCore/notifications/NotificationPresenter.h | 30 +- src/3rdparty/webkit/WebCore/page/AbstractView.idl | 3 +- src/3rdparty/webkit/WebCore/page/BarInfo.cpp | 22 +- src/3rdparty/webkit/WebCore/page/BarInfo.idl | 2 +- src/3rdparty/webkit/WebCore/page/Chrome.cpp | 25 +- src/3rdparty/webkit/WebCore/page/Chrome.h | 7 - src/3rdparty/webkit/WebCore/page/ChromeClient.h | 12 - src/3rdparty/webkit/WebCore/page/Console.cpp | 41 +- src/3rdparty/webkit/WebCore/page/Console.h | 145 +- src/3rdparty/webkit/WebCore/page/Console.idl | 6 +- .../webkit/WebCore/page/ContextMenuController.cpp | 46 +- .../webkit/WebCore/page/ContextMenuController.h | 9 - .../webkit/WebCore/page/ContextMenuProvider.h | 52 - src/3rdparty/webkit/WebCore/page/Coordinates.idl | 2 +- src/3rdparty/webkit/WebCore/page/DOMSelection.idl | 2 +- src/3rdparty/webkit/WebCore/page/DOMTimer.cpp | 11 +- src/3rdparty/webkit/WebCore/page/DOMTimer.h | 7 +- src/3rdparty/webkit/WebCore/page/DOMWindow.cpp | 104 +- src/3rdparty/webkit/WebCore/page/DOMWindow.h | 69 +- src/3rdparty/webkit/WebCore/page/DOMWindow.idl | 175 +- .../webkit/WebCore/page/DragController.cpp | 46 +- src/3rdparty/webkit/WebCore/page/DragController.h | 2 +- src/3rdparty/webkit/WebCore/page/EventHandler.cpp | 311 +- src/3rdparty/webkit/WebCore/page/EventHandler.h | 28 +- src/3rdparty/webkit/WebCore/page/EventSource.cpp | 18 +- src/3rdparty/webkit/WebCore/page/EventSource.h | 2 +- src/3rdparty/webkit/WebCore/page/EventSource.idl | 1 - .../webkit/WebCore/page/FocusController.cpp | 9 +- src/3rdparty/webkit/WebCore/page/FocusController.h | 48 +- src/3rdparty/webkit/WebCore/page/Frame.cpp | 356 +- src/3rdparty/webkit/WebCore/page/Frame.h | 49 +- src/3rdparty/webkit/WebCore/page/FrameView.cpp | 192 +- src/3rdparty/webkit/WebCore/page/FrameView.h | 25 +- src/3rdparty/webkit/WebCore/page/Geolocation.cpp | 213 +- src/3rdparty/webkit/WebCore/page/Geolocation.h | 41 +- src/3rdparty/webkit/WebCore/page/Geolocation.idl | 2 +- .../webkit/WebCore/page/GeolocationController.cpp | 93 - .../webkit/WebCore/page/GeolocationController.h | 67 - .../WebCore/page/GeolocationControllerClient.h | 47 - .../webkit/WebCore/page/GeolocationError.h | 65 - .../webkit/WebCore/page/GeolocationPosition.h | 111 - src/3rdparty/webkit/WebCore/page/Geoposition.h | 7 +- src/3rdparty/webkit/WebCore/page/Geoposition.idl | 2 +- src/3rdparty/webkit/WebCore/page/HaltablePlugin.h | 2 - src/3rdparty/webkit/WebCore/page/History.cpp | 45 - src/3rdparty/webkit/WebCore/page/History.h | 42 +- src/3rdparty/webkit/WebCore/page/History.idl | 8 +- src/3rdparty/webkit/WebCore/page/Location.idl | 3 +- .../webkit/WebCore/page/MediaCanStartListener.h | 40 - .../WebCore/page/MouseEventWithHitTestResults.h | 2 +- src/3rdparty/webkit/WebCore/page/Navigator.cpp | 92 - src/3rdparty/webkit/WebCore/page/Navigator.h | 5 - src/3rdparty/webkit/WebCore/page/Navigator.idl | 10 +- src/3rdparty/webkit/WebCore/page/NavigatorBase.cpp | 12 +- src/3rdparty/webkit/WebCore/page/Page.cpp | 104 +- src/3rdparty/webkit/WebCore/page/Page.h | 58 +- src/3rdparty/webkit/WebCore/page/PageGroup.cpp | 47 +- src/3rdparty/webkit/WebCore/page/PageGroup.h | 12 +- src/3rdparty/webkit/WebCore/page/PluginHalter.cpp | 3 +- src/3rdparty/webkit/WebCore/page/PluginHalter.h | 2 +- .../webkit/WebCore/page/PluginHalterClient.h | 3 +- src/3rdparty/webkit/WebCore/page/PositionError.h | 1 + src/3rdparty/webkit/WebCore/page/PositionError.idl | 5 +- src/3rdparty/webkit/WebCore/page/PrintContext.cpp | 84 +- src/3rdparty/webkit/WebCore/page/PrintContext.h | 10 - src/3rdparty/webkit/WebCore/page/Screen.idl | 2 +- .../webkit/WebCore/page/SecurityOrigin.cpp | 122 +- src/3rdparty/webkit/WebCore/page/SecurityOrigin.h | 305 +- src/3rdparty/webkit/WebCore/page/Settings.cpp | 63 +- src/3rdparty/webkit/WebCore/page/Settings.h | 42 +- src/3rdparty/webkit/WebCore/page/UserScript.h | 7 +- src/3rdparty/webkit/WebCore/page/UserScriptTypes.h | 3 +- src/3rdparty/webkit/WebCore/page/UserStyleSheet.h | 8 +- .../webkit/WebCore/page/UserStyleSheetTypes.h | 3 +- src/3rdparty/webkit/WebCore/page/WebKitPoint.idl | 2 +- .../webkit/WebCore/page/WorkerNavigator.idl | 3 +- src/3rdparty/webkit/WebCore/page/XSSAuditor.cpp | 156 +- src/3rdparty/webkit/WebCore/page/XSSAuditor.h | 45 +- .../WebCore/page/android/DragControllerAndroid.cpp | 58 + .../WebCore/page/android/EventHandlerAndroid.cpp | 128 + .../page/android/InspectorControllerAndroid.cpp | 106 + .../WebCore/page/animation/AnimationBase.cpp | 50 +- .../webkit/WebCore/page/animation/AnimationBase.h | 9 +- .../WebCore/page/animation/AnimationController.cpp | 2 +- .../page/animation/AnimationControllerPrivate.h | 2 +- .../WebCore/page/animation/CompositeAnimation.cpp | 15 - .../WebCore/page/animation/ImplicitAnimation.cpp | 14 +- .../WebCore/page/animation/ImplicitAnimation.h | 5 +- .../WebCore/page/animation/KeyframeAnimation.cpp | 57 +- .../WebCore/page/animation/KeyframeAnimation.h | 8 +- .../webkit/WebCore/page/qt/DragControllerQt.cpp | 1 - .../webkit/WebCore/page/win/EventHandlerWin.cpp | 2 +- .../webkit/WebCore/page/win/FrameCGWin.cpp | 11 +- .../webkit/WebCore/page/win/FrameCairoWin.cpp | 1 - src/3rdparty/webkit/WebCore/page/win/FrameWin.cpp | 64 +- src/3rdparty/webkit/WebCore/page/win/FrameWin.h | 7 +- src/3rdparty/webkit/WebCore/page/win/PageWin.cpp | 31 +- .../webkit/WebCore/platform/ContextMenu.cpp | 25 +- src/3rdparty/webkit/WebCore/platform/ContextMenu.h | 2 - .../webkit/WebCore/platform/ContextMenuItem.h | 19 +- src/3rdparty/webkit/WebCore/platform/CookieJar.h | 2 - .../webkit/WebCore/platform/CrossThreadCopier.cpp | 14 +- .../webkit/WebCore/platform/CrossThreadCopier.h | 43 +- src/3rdparty/webkit/WebCore/platform/Cursor.h | 7 +- .../webkit/WebCore/platform/DeprecatedPtrList.h | 3 +- .../WebCore/platform/DeprecatedPtrListImpl.cpp | 3 +- src/3rdparty/webkit/WebCore/platform/DragImage.h | 4 - .../webkit/WebCore/platform/FileChooser.cpp | 39 +- src/3rdparty/webkit/WebCore/platform/FileChooser.h | 16 +- src/3rdparty/webkit/WebCore/platform/FileSystem.h | 15 +- .../webkit/WebCore/platform/GeolocationService.cpp | 7 +- .../webkit/WebCore/platform/GeolocationService.h | 7 +- src/3rdparty/webkit/WebCore/platform/KURL.cpp | 198 +- src/3rdparty/webkit/WebCore/platform/KURL.h | 24 +- .../webkit/WebCore/platform/KURLGoogle.cpp | 179 +- .../webkit/WebCore/platform/KeyboardCodes.h | 18 +- src/3rdparty/webkit/WebCore/platform/Length.h | 3 +- src/3rdparty/webkit/WebCore/platform/LinkHash.cpp | 6 +- .../webkit/WebCore/platform/LocalizedStrings.h | 11 - src/3rdparty/webkit/WebCore/platform/Logging.cpp | 10 +- src/3rdparty/webkit/WebCore/platform/Logging.h | 3 +- .../webkit/WebCore/platform/MIMETypeRegistry.cpp | 2 +- src/3rdparty/webkit/WebCore/platform/Pasteboard.h | 1 - .../WebCore/platform/PlatformKeyboardEvent.h | 13 +- .../webkit/WebCore/platform/PlatformMouseEvent.h | 17 +- .../webkit/WebCore/platform/PlatformTouchEvent.h | 83 - .../webkit/WebCore/platform/PlatformTouchPoint.h | 69 - .../webkit/WebCore/platform/PlatformWheelEvent.h | 14 - src/3rdparty/webkit/WebCore/platform/PopupMenu.h | 13 +- .../webkit/WebCore/platform/PurgeableBuffer.h | 2 +- .../webkit/WebCore/platform/ScrollView.cpp | 35 +- src/3rdparty/webkit/WebCore/platform/ScrollView.h | 11 +- src/3rdparty/webkit/WebCore/platform/Scrollbar.cpp | 23 +- src/3rdparty/webkit/WebCore/platform/Scrollbar.h | 15 +- .../webkit/WebCore/platform/ScrollbarTheme.h | 8 +- .../WebCore/platform/ScrollbarThemeComposite.cpp | 3 +- .../webkit/WebCore/platform/SharedBuffer.cpp | 139 +- .../webkit/WebCore/platform/SharedBuffer.h | 37 +- src/3rdparty/webkit/WebCore/platform/SharedTimer.h | 4 +- .../webkit/WebCore/platform/StaticConstructors.h | 2 + src/3rdparty/webkit/WebCore/platform/ThemeTypes.h | 7 +- .../webkit/WebCore/platform/ThreadGlobalData.cpp | 24 +- .../webkit/WebCore/platform/ThreadGlobalData.h | 34 +- src/3rdparty/webkit/WebCore/platform/Timer.cpp | 7 + src/3rdparty/webkit/WebCore/platform/Timer.h | 6 - src/3rdparty/webkit/WebCore/platform/TreeShared.h | 22 +- src/3rdparty/webkit/WebCore/platform/Widget.h | 4 +- .../WebCore/platform/android/ClipboardAndroid.cpp | 105 + .../WebCore/platform/android/ClipboardAndroid.h | 64 + .../WebCore/platform/android/CursorAndroid.cpp | 298 + .../WebCore/platform/android/DragDataAndroid.cpp | 96 + .../WebCore/platform/android/EventLoopAndroid.cpp | 38 + .../platform/android/FileChooserAndroid.cpp | 60 + .../WebCore/platform/android/FileSystemAndroid.cpp | 131 + .../WebCore/platform/android/KeyEventAndroid.cpp | 273 + .../WebCore/platform/android/KeyboardCodes.h | 545 + .../platform/android/LocalizedStringsAndroid.cpp | 54 + .../WebCore/platform/android/PopupMenuAndroid.cpp | 57 + .../platform/android/RenderThemeAndroid.cpp | 334 + .../WebCore/platform/android/RenderThemeAndroid.h | 109 + .../WebCore/platform/android/ScreenAndroid.cpp | 107 + .../WebCore/platform/android/ScrollViewAndroid.cpp | 105 + .../platform/android/SearchPopupMenuAndroid.cpp | 52 + .../WebCore/platform/android/SystemTimeAndroid.cpp | 37 + .../platform/android/TemporaryLinkStubs.cpp | 677 + .../WebCore/platform/android/WidgetAndroid.cpp | 128 + .../WebCore/platform/animation/AnimationList.h | 2 +- .../WebCore/platform/cf/BinaryPropertyList.cpp | 832 - .../WebCore/platform/cf/BinaryPropertyList.h | 110 - .../webkit/WebCore/platform/cf/FileSystemCF.cpp | 57 - .../webkit/WebCore/platform/cf/KURLCFNet.cpp | 95 - .../webkit/WebCore/platform/cf/RunLoopTimerCF.cpp | 84 - .../webkit/WebCore/platform/cf/SchedulePair.cpp | 52 - .../webkit/WebCore/platform/cf/SchedulePair.h | 88 - .../webkit/WebCore/platform/cf/SharedBufferCF.cpp | 92 - .../WebCore/platform/graphics/BitmapImage.cpp | 34 +- .../webkit/WebCore/platform/graphics/BitmapImage.h | 12 +- .../webkit/WebCore/platform/graphics/Color.h | 3 +- .../webkit/WebCore/platform/graphics/ColorSpace.h | 35 - .../WebCore/platform/graphics/FloatPoint.cpp | 7 - .../webkit/WebCore/platform/graphics/FloatPoint.h | 6 +- .../webkit/WebCore/platform/graphics/FloatQuad.cpp | 6 - .../webkit/WebCore/platform/graphics/FloatQuad.h | 6 - .../webkit/WebCore/platform/graphics/FloatRect.cpp | 10 +- .../webkit/WebCore/platform/graphics/FloatRect.h | 17 +- .../webkit/WebCore/platform/graphics/FloatSize.h | 11 +- .../webkit/WebCore/platform/graphics/Font.cpp | 17 +- .../webkit/WebCore/platform/graphics/Font.h | 22 - .../webkit/WebCore/platform/graphics/FontCache.cpp | 23 +- .../webkit/WebCore/platform/graphics/FontCache.h | 19 +- .../WebCore/platform/graphics/FontFastPath.cpp | 15 +- .../WebCore/platform/graphics/GeneratedImage.cpp | 47 +- .../WebCore/platform/graphics/GeneratedImage.h | 6 +- .../webkit/WebCore/platform/graphics/Generator.h | 1 - .../webkit/WebCore/platform/graphics/GlyphBuffer.h | 10 +- .../webkit/WebCore/platform/graphics/Gradient.cpp | 40 +- .../webkit/WebCore/platform/graphics/Gradient.h | 29 +- .../WebCore/platform/graphics/GraphicsContext.cpp | 182 +- .../WebCore/platform/graphics/GraphicsContext.h | 98 +- .../platform/graphics/GraphicsContext3D.cpp | 130 - .../WebCore/platform/graphics/GraphicsContext3D.h | 601 +- .../platform/graphics/GraphicsContextPrivate.h | 37 +- .../WebCore/platform/graphics/GraphicsLayer.cpp | 52 +- .../WebCore/platform/graphics/GraphicsLayer.h | 45 +- .../platform/graphics/GraphicsLayerClient.h | 3 - .../webkit/WebCore/platform/graphics/Icon.h | 3 +- .../webkit/WebCore/platform/graphics/Image.cpp | 24 +- .../webkit/WebCore/platform/graphics/Image.h | 19 +- .../webkit/WebCore/platform/graphics/ImageBuffer.h | 6 +- .../WebCore/platform/graphics/ImageSource.cpp | 9 +- .../webkit/WebCore/platform/graphics/ImageSource.h | 4 +- .../webkit/WebCore/platform/graphics/IntPoint.h | 9 - .../webkit/WebCore/platform/graphics/IntRect.cpp | 35 +- .../webkit/WebCore/platform/graphics/IntRect.h | 33 +- .../webkit/WebCore/platform/graphics/IntSize.h | 12 +- .../WebCore/platform/graphics/MediaPlayer.cpp | 92 +- .../webkit/WebCore/platform/graphics/MediaPlayer.h | 51 +- .../WebCore/platform/graphics/MediaPlayerPrivate.h | 21 +- .../webkit/WebCore/platform/graphics/Path.h | 25 +- .../webkit/WebCore/platform/graphics/Pattern.cpp | 20 - .../webkit/WebCore/platform/graphics/Pattern.h | 54 +- .../WebCore/platform/graphics/SimpleFontData.h | 29 +- .../platform/graphics/TypesettingFeatures.h | 38 - .../WebCore/platform/graphics/filters/FEBlend.cpp | 4 +- .../platform/graphics/filters/FEColorMatrix.cpp | 3 +- .../graphics/filters/FEComponentTransfer.cpp | 6 +- .../graphics/filters/FEComponentTransfer.h | 1 + .../platform/graphics/filters/FEComposite.cpp | 28 +- .../platform/graphics/filters/FEGaussianBlur.cpp | 10 +- .../WebCore/platform/graphics/filters/Filter.h | 15 +- .../platform/graphics/filters/FilterEffect.cpp | 8 +- .../platform/graphics/filters/FilterEffect.h | 8 - .../graphics/filters/ImageBufferFilter.cpp | 43 - .../platform/graphics/filters/ImageBufferFilter.h | 57 - .../platform/graphics/filters/SourceAlpha.cpp | 4 +- .../platform/graphics/filters/SourceGraphic.cpp | 4 +- .../graphics/opentype/OpenTypeSanitizer.cpp | 68 - .../platform/graphics/opentype/OpenTypeSanitizer.h | 57 - .../graphics/opentype/OpenTypeUtilities.cpp | 4 +- .../platform/graphics/opentype/OpenTypeUtilities.h | 2 +- .../platform/graphics/openvg/EGLDisplayOpenVG.cpp | 431 - .../platform/graphics/openvg/EGLDisplayOpenVG.h | 89 - .../WebCore/platform/graphics/openvg/EGLUtils.h | 71 - .../graphics/openvg/GraphicsContextOpenVG.cpp | 566 - .../platform/graphics/openvg/PainterOpenVG.cpp | 957 - .../platform/graphics/openvg/PainterOpenVG.h | 121 - .../platform/graphics/openvg/SurfaceOpenVG.cpp | 243 - .../platform/graphics/openvg/SurfaceOpenVG.h | 137 - .../WebCore/platform/graphics/openvg/VGUtils.cpp | 100 - .../WebCore/platform/graphics/openvg/VGUtils.h | 87 - .../WebCore/platform/graphics/qt/FontCacheQt.cpp | 250 +- .../graphics/qt/FontCustomPlatformData.cpp | 65 + .../graphics/qt/FontCustomPlatformDataQt.cpp | 65 - .../platform/graphics/qt/FontFallbackListQt.cpp | 138 + .../platform/graphics/qt/FontPlatformData.h | 120 +- .../platform/graphics/qt/FontPlatformDataQt.cpp | 111 +- .../webkit/WebCore/platform/graphics/qt/FontQt.cpp | 48 +- .../WebCore/platform/graphics/qt/FontQt43.cpp | 354 + .../platform/graphics/qt/GraphicsContextQt.cpp | 290 +- .../platform/graphics/qt/GraphicsLayerQt.cpp | 1240 - .../WebCore/platform/graphics/qt/GraphicsLayerQt.h | 85 - .../webkit/WebCore/platform/graphics/qt/IconQt.cpp | 17 +- .../WebCore/platform/graphics/qt/ImageBufferQt.cpp | 2 +- .../platform/graphics/qt/ImageDecoderQt.cpp | 39 +- .../WebCore/platform/graphics/qt/ImageDecoderQt.h | 5 +- .../WebCore/platform/graphics/qt/ImageQt.cpp | 16 +- .../graphics/qt/MediaPlayerPrivatePhonon.cpp | 25 +- .../graphics/qt/MediaPlayerPrivatePhonon.h | 4 + .../webkit/WebCore/platform/graphics/qt/PathQt.cpp | 97 +- .../WebCore/platform/graphics/qt/PatternQt.cpp | 4 +- .../WebCore/platform/graphics/qt/StillImageQt.cpp | 2 +- .../WebCore/platform/graphics/qt/StillImageQt.h | 2 +- .../graphics/qt/TransformationMatrixQt.cpp | 6 - .../graphics/transforms/AffineTransform.cpp | 364 - .../platform/graphics/transforms/AffineTransform.h | 177 - .../graphics/transforms/TransformOperations.h | 2 +- .../graphics/transforms/TransformationMatrix.cpp | 6 - .../graphics/transforms/TransformationMatrix.h | 43 +- .../WebCore/platform/graphics/win/FontCGWin.cpp | 389 - .../WebCore/platform/graphics/win/FontCacheWin.cpp | 562 - .../graphics/win/FontCustomPlatformData.cpp | 242 - .../platform/graphics/win/FontCustomPlatformData.h | 56 - .../graphics/win/FontCustomPlatformDataCairo.cpp | 61 - .../graphics/win/FontCustomPlatformDataCairo.h | 49 - .../WebCore/platform/graphics/win/FontDatabase.cpp | 217 - .../WebCore/platform/graphics/win/FontDatabase.h | 38 - .../platform/graphics/win/FontPlatformData.h | 155 - .../graphics/win/FontPlatformDataCGWin.cpp | 151 - .../graphics/win/FontPlatformDataCairoWin.cpp | 133 - .../platform/graphics/win/FontPlatformDataWin.cpp | 95 - .../WebCore/platform/graphics/win/FontWin.cpp | 105 - .../graphics/win/GlyphPageTreeNodeCGWin.cpp | 59 - .../graphics/win/GlyphPageTreeNodeCairoWin.cpp | 72 - .../platform/graphics/win/GraphicsContextCGWin.cpp | 253 - .../graphics/win/GraphicsContextCairoWin.cpp | 147 - .../platform/graphics/win/GraphicsContextWin.cpp | 211 - .../platform/graphics/win/GraphicsLayerCACF.cpp | 722 - .../platform/graphics/win/GraphicsLayerCACF.h | 144 - .../WebCore/platform/graphics/win/IconWin.cpp | 101 - .../WebCore/platform/graphics/win/ImageCGWin.cpp | 110 - .../platform/graphics/win/ImageCairoWin.cpp | 114 - .../WebCore/platform/graphics/win/ImageWin.cpp | 58 - .../WebCore/platform/graphics/win/IntPointWin.cpp | 57 - .../WebCore/platform/graphics/win/IntRectWin.cpp | 45 - .../WebCore/platform/graphics/win/IntSizeWin.cpp | 45 - .../win/MediaPlayerPrivateQuickTimeWin.cpp | 877 - .../graphics/win/MediaPlayerPrivateQuickTimeWin.h | 188 - .../WebCore/platform/graphics/win/QTMovieWin.cpp | 1178 - .../WebCore/platform/graphics/win/QTMovieWin.h | 127 - .../platform/graphics/win/QTMovieWinTimer.cpp | 137 - .../platform/graphics/win/QTMovieWinTimer.h | 39 - .../platform/graphics/win/SimpleFontDataCGWin.cpp | 146 - .../graphics/win/SimpleFontDataCairoWin.cpp | 122 - .../platform/graphics/win/SimpleFontDataWin.cpp | 213 - .../graphics/win/TransformationMatrixWin.cpp | 46 - .../platform/graphics/win/UniscribeController.cpp | 441 - .../platform/graphics/win/UniscribeController.h | 83 - .../platform/graphics/win/WKCACFContextFlusher.cpp | 88 - .../platform/graphics/win/WKCACFContextFlusher.h | 60 - .../WebCore/platform/graphics/win/WKCACFLayer.cpp | 644 - .../WebCore/platform/graphics/win/WKCACFLayer.h | 265 - .../platform/graphics/win/WKCACFLayerRenderer.cpp | 456 - .../platform/graphics/win/WKCACFLayerRenderer.h | 110 - .../platform/image-decoders/ImageDecoder.cpp | 132 +- .../WebCore/platform/image-decoders/ImageDecoder.h | 143 +- .../platform/image-decoders/qt/RGBA32BufferQt.cpp | 39 +- .../platform/image-decoders/wx/ImageDecoderWx.cpp | 83 + .../webkit/WebCore/platform/mac/ClipboardMac.h | 1 - .../webkit/WebCore/platform/mac/ClipboardMac.mm | 7 +- .../webkit/WebCore/platform/mac/CookieJar.mm | 12 - .../WebCore/platform/mac/GeolocationServiceMac.mm | 2 +- .../webkit/WebCore/platform/mac/KeyEventMac.mm | 16 - .../WebCore/platform/mac/LocalizedStringsMac.mm | 72 - .../webkit/WebCore/platform/mac/LoggingMac.mm | 2 +- .../webkit/WebCore/platform/mac/PasteboardMac.mm | 20 +- .../WebCore/platform/mac/PlatformMouseEventMac.mm | 18 - .../webkit/WebCore/platform/mac/PopupMenuMac.mm | 21 +- .../platform/mac/RuntimeApplicationChecks.h | 1 - .../platform/mac/RuntimeApplicationChecks.mm | 6 - .../webkit/WebCore/platform/mac/ScrollViewMac.mm | 15 +- .../WebCore/platform/mac/ScrollbarThemeMac.h | 2 - .../WebCore/platform/mac/ScrollbarThemeMac.mm | 4 +- .../webkit/WebCore/platform/mac/ThemeMac.mm | 46 +- .../WebCore/platform/mac/WebCoreObjCExtras.mm | 5 - .../WebCore/platform/mac/WebCoreSystemInterface.h | 15 - .../WebCore/platform/mac/WebCoreSystemInterface.mm | 13 - .../webkit/WebCore/platform/mac/WheelEventMac.mm | 8 +- .../webkit/WebCore/platform/mac/WidgetMac.mm | 11 +- .../platform/network/AuthenticationClient.h | 53 - .../webkit/WebCore/platform/network/Credential.cpp | 80 +- .../webkit/WebCore/platform/network/Credential.h | 31 +- .../WebCore/platform/network/CredentialStorage.cpp | 21 +- .../WebCore/platform/network/CredentialStorage.h | 4 - .../WebCore/platform/network/FormDataBuilder.cpp | 21 +- .../WebCore/platform/network/HTTPHeaderMap.cpp | 36 - .../WebCore/platform/network/HTTPHeaderMap.h | 16 - .../platform/network/NetworkStateNotifier.h | 8 +- .../WebCore/platform/network/ProtectionSpace.cpp | 3 +- .../WebCore/platform/network/ProtectionSpaceHash.h | 11 +- .../WebCore/platform/network/ResourceHandle.cpp | 95 +- .../WebCore/platform/network/ResourceHandle.h | 26 +- .../platform/network/ResourceHandleClient.h | 2 +- .../platform/network/ResourceHandleInternal.h | 17 +- .../platform/network/ResourceRequestBase.cpp | 14 +- .../WebCore/platform/network/ResourceRequestBase.h | 28 +- .../platform/network/ResourceResponseBase.cpp | 7 - .../platform/network/ResourceResponseBase.h | 5 +- .../platform/network/SocketStreamHandleBase.cpp | 5 +- .../platform/network/SocketStreamHandleClient.h | 5 +- .../platform/network/cf/AuthenticationCF.cpp | 266 - .../WebCore/platform/network/cf/AuthenticationCF.h | 48 - .../platform/network/cf/AuthenticationChallenge.h | 57 - .../platform/network/cf/CredentialStorageCFNet.cpp | 44 - .../WebCore/platform/network/cf/DNSCFNet.cpp | 155 - .../platform/network/cf/FormDataStreamCFNet.cpp | 384 - .../platform/network/cf/FormDataStreamCFNet.h | 44 - .../platform/network/cf/LoaderRunLoopCF.cpp | 66 - .../WebCore/platform/network/cf/LoaderRunLoopCF.h | 39 - .../WebCore/platform/network/cf/ResourceError.h | 73 - .../platform/network/cf/ResourceErrorCF.cpp | 164 - .../platform/network/cf/ResourceHandleCFNet.cpp | 783 - .../WebCore/platform/network/cf/ResourceRequest.h | 77 - .../platform/network/cf/ResourceRequestCFNet.cpp | 191 - .../platform/network/cf/ResourceRequestCFNet.h | 39 - .../WebCore/platform/network/cf/ResourceResponse.h | 81 - .../platform/network/cf/ResourceResponseCFNet.cpp | 117 - .../platform/network/cf/SocketStreamError.h | 50 - .../platform/network/cf/SocketStreamHandle.h | 112 - .../network/cf/SocketStreamHandleCFNet.cpp | 639 - .../platform/network/qt/QNetworkReplyHandler.cpp | 53 +- .../platform/network/qt/QNetworkReplyHandler.h | 5 +- .../platform/network/qt/ResourceHandleQt.cpp | 22 + .../WebCore/platform/network/qt/ResourceRequest.h | 6 +- .../platform/network/qt/ResourceRequestQt.cpp | 18 +- .../platform/network/qt/SocketStreamHandle.h | 4 - .../network/qt/SocketStreamHandlePrivate.h | 72 - .../platform/network/qt/SocketStreamHandleQt.cpp | 208 - .../platform/network/qt/SocketStreamHandleSoup.cpp | 88 + .../webkit/WebCore/platform/qt/ClipboardQt.cpp | 27 +- .../webkit/WebCore/platform/qt/ClipboardQt.h | 1 - .../webkit/WebCore/platform/qt/CookieJarQt.cpp | 42 +- .../webkit/WebCore/platform/qt/CursorQt.cpp | 2 +- .../webkit/WebCore/platform/qt/DragDataQt.cpp | 2 +- src/3rdparty/webkit/WebCore/platform/qt/KURLQt.cpp | 3 +- .../webkit/WebCore/platform/qt/Localizations.cpp | 54 - .../webkit/WebCore/platform/qt/PasteboardQt.cpp | 5 +- .../platform/qt/PlatformKeyboardEventQt.cpp | 20 +- .../WebCore/platform/qt/PlatformTouchEventQt.cpp | 49 - .../WebCore/platform/qt/PlatformTouchPointQt.cpp | 45 - .../webkit/WebCore/platform/qt/PopupMenuQt.cpp | 96 +- .../webkit/WebCore/platform/qt/QWebPageClient.h | 21 - .../webkit/WebCore/platform/qt/QWebPopup.cpp | 101 + .../webkit/WebCore/platform/qt/QWebPopup.h | 49 + .../WebCore/platform/qt/QtAbstractWebPopup.cpp | 60 - .../WebCore/platform/qt/QtAbstractWebPopup.h | 69 - .../webkit/WebCore/platform/qt/RenderThemeQt.cpp | 184 +- .../webkit/WebCore/platform/qt/RenderThemeQt.h | 13 +- .../WebCore/platform/qt/ScrollbarThemeQt.cpp | 4 +- .../webkit/WebCore/platform/qt/SharedBufferQt.cpp | 2 - .../webkit/WebCore/platform/qt/WheelEventQt.cpp | 2 - .../webkit/WebCore/platform/qt/WidgetQt.cpp | 8 +- .../webkit/WebCore/platform/sql/SQLiteDatabase.cpp | 7 +- .../webkit/WebCore/platform/sql/SQLiteDatabase.h | 1 - .../WebCore/platform/sql/SQLiteTransaction.cpp | 28 +- .../WebCore/platform/sql/SQLiteTransaction.h | 1 - .../webkit/WebCore/platform/text/AtomicString.cpp | 18 +- .../webkit/WebCore/platform/text/AtomicString.h | 16 +- .../WebCore/platform/text/AtomicStringImpl.h | 2 + .../webkit/WebCore/platform/text/Base64.cpp | 11 +- src/3rdparty/webkit/WebCore/platform/text/Base64.h | 1 - .../webkit/WebCore/platform/text/BidiContext.cpp | 2 +- .../webkit/WebCore/platform/text/CharacterNames.h | 3 - .../webkit/WebCore/platform/text/PlatformString.h | 26 +- .../WebCore/platform/text/RegularExpression.h | 2 +- .../webkit/WebCore/platform/text/String.cpp | 11 +- .../webkit/WebCore/platform/text/StringBuilder.cpp | 13 - .../webkit/WebCore/platform/text/StringBuilder.h | 3 - .../webkit/WebCore/platform/text/StringHash.h | 20 +- .../webkit/WebCore/platform/text/StringImpl.cpp | 118 +- .../webkit/WebCore/platform/text/StringImpl.h | 162 +- .../WebCore/platform/text/TextBoundaries.cpp | 79 - .../WebCore/platform/text/TextBoundariesICU.cpp | 77 + .../WebCore/platform/text/TextBreakIterator.h | 2 - .../WebCore/platform/text/TextBreakIteratorICU.cpp | 10 - .../webkit/WebCore/platform/text/TextCodecICU.cpp | 2 +- .../webkit/WebCore/platform/text/TextEncoding.cpp | 21 +- .../platform/text/TextEncodingDetectorICU.cpp | 2 +- .../WebCore/platform/text/TextEncodingRegistry.cpp | 25 +- .../webkit/WebCore/platform/text/TextStream.cpp | 9 +- .../webkit/WebCore/platform/text/TextStream.h | 3 +- .../text/android/TextBreakIteratorInternalICU.cpp | 43 + .../webkit/WebCore/platform/text/cf/StringCF.cpp | 4 +- .../WebCore/platform/text/cf/StringImplCF.cpp | 4 +- .../WebCore/platform/text/qt/TextBoundaries.cpp | 123 + .../WebCore/platform/text/qt/TextBoundariesQt.cpp | 77 - .../platform/text/qt/TextBreakIteratorQt.cpp | 183 + .../WebCore/platform/text/qt/TextCodecQt.cpp | 2 +- .../platform/text/wince/TextBoundariesWince.cpp | 75 - .../platform/text/wince/TextBreakIteratorWince.cpp | 312 - .../webkit/WebCore/platform/win/SystemTimeWin.cpp | 2 +- src/3rdparty/webkit/WebCore/plugins/MimeType.idl | 4 +- .../webkit/WebCore/plugins/MimeTypeArray.idl | 1 + src/3rdparty/webkit/WebCore/plugins/Plugin.idl | 1 + .../webkit/WebCore/plugins/PluginArray.idl | 1 + src/3rdparty/webkit/WebCore/plugins/PluginData.h | 4 +- .../webkit/WebCore/plugins/PluginDatabase.cpp | 9 +- .../webkit/WebCore/plugins/PluginDatabase.h | 6 +- .../webkit/WebCore/plugins/PluginInfoStore.cpp | 7 +- .../WebCore/plugins/PluginMainThreadScheduler.h | 2 +- .../webkit/WebCore/plugins/PluginPackage.cpp | 10 +- .../webkit/WebCore/plugins/PluginPackage.h | 11 +- .../webkit/WebCore/plugins/PluginStream.cpp | 10 +- src/3rdparty/webkit/WebCore/plugins/PluginView.cpp | 129 +- src/3rdparty/webkit/WebCore/plugins/PluginView.h | 60 +- .../webkit/WebCore/plugins/PluginViewNone.cpp | 6 +- src/3rdparty/webkit/WebCore/plugins/PluginWidget.h | 55 - .../WebCore/plugins/mac/PluginPackageMac.cpp | 6 +- .../webkit/WebCore/plugins/mac/PluginViewMac.cpp | 190 +- .../webkit/WebCore/plugins/mac/PluginWidgetMac.mm | 49 - .../webkit/WebCore/plugins/qt/PluginDataQt.cpp | 5 +- .../webkit/WebCore/plugins/qt/PluginPackageQt.cpp | 4 - .../webkit/WebCore/plugins/qt/PluginViewQt.cpp | 40 +- .../plugins/symbian/PluginPackageSymbian.cpp | 5 - .../WebCore/plugins/symbian/PluginViewSymbian.cpp | 11 +- .../WebCore/plugins/win/PluginDatabaseWin.cpp | 6 +- .../WebCore/plugins/win/PluginPackageWin.cpp | 8 +- .../webkit/WebCore/plugins/win/PluginViewWin.cpp | 80 +- .../webkit/WebCore/rendering/AutoTableLayout.cpp | 6 +- .../webkit/WebCore/rendering/AutoTableLayout.h | 2 + src/3rdparty/webkit/WebCore/rendering/BidiRun.cpp | 74 - src/3rdparty/webkit/WebCore/rendering/BidiRun.h | 65 - .../webkit/WebCore/rendering/CounterNode.cpp | 221 +- .../webkit/WebCore/rendering/CounterNode.h | 27 +- .../webkit/WebCore/rendering/EllipsisBox.cpp | 49 +- .../webkit/WebCore/rendering/EllipsisBox.h | 8 +- .../webkit/WebCore/rendering/FixedTableLayout.cpp | 2 + .../webkit/WebCore/rendering/FixedTableLayout.h | 2 + .../webkit/WebCore/rendering/HitTestRequest.h | 2 + .../webkit/WebCore/rendering/HitTestResult.h | 2 + .../webkit/WebCore/rendering/InlineFlowBox.cpp | 52 +- .../webkit/WebCore/rendering/InlineIterator.h | 266 - .../webkit/WebCore/rendering/InlineRunBox.h | 2 + .../webkit/WebCore/rendering/InlineTextBox.cpp | 115 +- .../webkit/WebCore/rendering/InlineTextBox.h | 10 +- .../WebCore/rendering/MediaControlElements.cpp | 55 +- .../WebCore/rendering/MediaControlElements.h | 13 +- .../WebCore/rendering/PointerEventsHitRules.cpp | 2 + .../WebCore/rendering/PointerEventsHitRules.h | 2 + .../webkit/WebCore/rendering/RenderArena.cpp | 2 +- .../webkit/WebCore/rendering/RenderArena.h | 3 +- src/3rdparty/webkit/WebCore/rendering/RenderBR.cpp | 4 +- src/3rdparty/webkit/WebCore/rendering/RenderBR.h | 2 + .../webkit/WebCore/rendering/RenderBlock.cpp | 283 +- .../webkit/WebCore/rendering/RenderBlock.h | 26 +- .../WebCore/rendering/RenderBlockLineLayout.cpp | 365 +- .../webkit/WebCore/rendering/RenderBox.cpp | 113 +- src/3rdparty/webkit/WebCore/rendering/RenderBox.h | 10 +- .../WebCore/rendering/RenderBoxModelObject.cpp | 210 +- .../WebCore/rendering/RenderBoxModelObject.h | 4 +- .../webkit/WebCore/rendering/RenderButton.cpp | 2 + .../webkit/WebCore/rendering/RenderButton.h | 2 + .../webkit/WebCore/rendering/RenderCounter.cpp | 378 +- .../webkit/WebCore/rendering/RenderCounter.h | 9 +- .../WebCore/rendering/RenderEmbeddedObject.cpp | 352 - .../WebCore/rendering/RenderEmbeddedObject.h | 64 - .../webkit/WebCore/rendering/RenderFieldset.cpp | 5 +- .../WebCore/rendering/RenderFileUploadControl.cpp | 37 +- .../WebCore/rendering/RenderFileUploadControl.h | 25 +- .../webkit/WebCore/rendering/RenderFlexibleBox.cpp | 50 +- .../WebCore/rendering/RenderForeignObject.cpp | 89 +- .../webkit/WebCore/rendering/RenderForeignObject.h | 32 +- .../webkit/WebCore/rendering/RenderFrame.cpp | 53 - .../webkit/WebCore/rendering/RenderFrame.h | 1 - .../webkit/WebCore/rendering/RenderFrameSet.cpp | 138 +- .../webkit/WebCore/rendering/RenderFrameSet.h | 3 - .../webkit/WebCore/rendering/RenderImage.cpp | 84 +- .../webkit/WebCore/rendering/RenderImage.h | 18 +- .../webkit/WebCore/rendering/RenderInline.cpp | 36 +- .../webkit/WebCore/rendering/RenderInline.h | 4 +- .../webkit/WebCore/rendering/RenderLayer.cpp | 337 +- .../webkit/WebCore/rendering/RenderLayer.h | 34 +- .../WebCore/rendering/RenderLayerBacking.cpp | 250 +- .../webkit/WebCore/rendering/RenderLayerBacking.h | 22 +- .../WebCore/rendering/RenderLayerCompositor.cpp | 238 +- .../WebCore/rendering/RenderLayerCompositor.h | 26 +- .../webkit/WebCore/rendering/RenderLineBoxList.cpp | 1 - .../webkit/WebCore/rendering/RenderListBox.cpp | 6 +- .../webkit/WebCore/rendering/RenderListItem.cpp | 51 +- .../webkit/WebCore/rendering/RenderListMarker.cpp | 884 +- .../webkit/WebCore/rendering/RenderListMarker.h | 1 - .../webkit/WebCore/rendering/RenderMarquee.h | 2 +- .../webkit/WebCore/rendering/RenderMedia.cpp | 51 +- .../webkit/WebCore/rendering/RenderMedia.h | 12 +- .../WebCore/rendering/RenderMediaControls.cpp | 9 - .../rendering/RenderMediaControlsChromium.cpp | 18 +- .../webkit/WebCore/rendering/RenderMenuList.cpp | 76 +- .../webkit/WebCore/rendering/RenderMenuList.h | 6 +- .../webkit/WebCore/rendering/RenderObject.cpp | 285 +- .../webkit/WebCore/rendering/RenderObject.h | 65 +- .../WebCore/rendering/RenderObjectChildList.cpp | 23 +- .../WebCore/rendering/RenderObjectChildList.h | 3 +- .../webkit/WebCore/rendering/RenderOverflow.h | 2 +- .../webkit/WebCore/rendering/RenderPart.cpp | 1 - src/3rdparty/webkit/WebCore/rendering/RenderPart.h | 4 - .../webkit/WebCore/rendering/RenderPartObject.cpp | 268 + .../webkit/WebCore/rendering/RenderPartObject.h | 4 +- .../webkit/WebCore/rendering/RenderPath.cpp | 278 +- src/3rdparty/webkit/WebCore/rendering/RenderPath.h | 24 +- .../webkit/WebCore/rendering/RenderReplaced.cpp | 2 +- .../webkit/WebCore/rendering/RenderReplaced.h | 2 +- .../webkit/WebCore/rendering/RenderReplica.cpp | 2 +- .../webkit/WebCore/rendering/RenderReplica.h | 4 - .../webkit/WebCore/rendering/RenderRuby.cpp | 197 - src/3rdparty/webkit/WebCore/rendering/RenderRuby.h | 91 - .../webkit/WebCore/rendering/RenderRubyBase.cpp | 190 - .../webkit/WebCore/rendering/RenderRubyBase.h | 67 - .../webkit/WebCore/rendering/RenderRubyRun.cpp | 228 - .../webkit/WebCore/rendering/RenderRubyRun.h | 85 - .../webkit/WebCore/rendering/RenderRubyText.cpp | 54 - .../webkit/WebCore/rendering/RenderRubyText.h | 56 - .../webkit/WebCore/rendering/RenderSVGBlock.cpp | 32 +- .../webkit/WebCore/rendering/RenderSVGBlock.h | 11 +- .../WebCore/rendering/RenderSVGContainer.cpp | 59 +- .../webkit/WebCore/rendering/RenderSVGContainer.h | 11 +- .../WebCore/rendering/RenderSVGGradientStop.cpp | 2 +- .../WebCore/rendering/RenderSVGHiddenContainer.cpp | 12 +- .../WebCore/rendering/RenderSVGHiddenContainer.h | 3 + .../webkit/WebCore/rendering/RenderSVGImage.cpp | 132 +- .../webkit/WebCore/rendering/RenderSVGImage.h | 65 +- .../webkit/WebCore/rendering/RenderSVGInline.h | 5 - .../webkit/WebCore/rendering/RenderSVGInlineText.h | 4 - .../WebCore/rendering/RenderSVGModelObject.cpp | 10 +- .../WebCore/rendering/RenderSVGModelObject.h | 4 - .../webkit/WebCore/rendering/RenderSVGResource.h | 84 - .../WebCore/rendering/RenderSVGResourceMasker.cpp | 196 - .../WebCore/rendering/RenderSVGResourceMasker.h | 79 - .../webkit/WebCore/rendering/RenderSVGRoot.cpp | 145 +- .../webkit/WebCore/rendering/RenderSVGRoot.h | 23 +- .../rendering/RenderSVGShadowTreeRootContainer.cpp | 101 - .../rendering/RenderSVGShadowTreeRootContainer.h | 50 - .../webkit/WebCore/rendering/RenderSVGText.cpp | 38 +- .../webkit/WebCore/rendering/RenderSVGText.h | 13 +- .../rendering/RenderSVGTransformableContainer.cpp | 18 +- .../rendering/RenderSVGTransformableContainer.h | 6 +- .../rendering/RenderSVGViewportContainer.cpp | 63 +- .../WebCore/rendering/RenderSVGViewportContainer.h | 18 +- .../WebCore/rendering/RenderScrollbarTheme.cpp | 2 +- .../webkit/WebCore/rendering/RenderSelectionInfo.h | 2 +- .../webkit/WebCore/rendering/RenderSlider.cpp | 37 +- .../webkit/WebCore/rendering/RenderTable.cpp | 3 - .../webkit/WebCore/rendering/RenderTableCell.cpp | 48 +- .../webkit/WebCore/rendering/RenderTableCell.h | 6 +- .../webkit/WebCore/rendering/RenderTableRow.cpp | 2 + .../WebCore/rendering/RenderTableSection.cpp | 21 +- .../webkit/WebCore/rendering/RenderText.cpp | 71 +- src/3rdparty/webkit/WebCore/rendering/RenderText.h | 3 +- .../webkit/WebCore/rendering/RenderTextControl.cpp | 99 +- .../webkit/WebCore/rendering/RenderTextControl.h | 18 +- .../rendering/RenderTextControlMultiLine.cpp | 17 +- .../WebCore/rendering/RenderTextControlMultiLine.h | 1 - .../rendering/RenderTextControlSingleLine.cpp | 38 +- .../rendering/RenderTextControlSingleLine.h | 1 - .../webkit/WebCore/rendering/RenderTheme.cpp | 61 +- .../webkit/WebCore/rendering/RenderTheme.h | 11 - .../WebCore/rendering/RenderThemeChromiumLinux.cpp | 56 +- .../WebCore/rendering/RenderThemeChromiumLinux.h | 30 +- .../WebCore/rendering/RenderThemeChromiumMac.h | 1 + .../WebCore/rendering/RenderThemeChromiumMac.mm | 103 +- .../WebCore/rendering/RenderThemeChromiumSkia.cpp | 43 +- .../WebCore/rendering/RenderThemeChromiumSkia.h | 2 - .../WebCore/rendering/RenderThemeChromiumWin.cpp | 2 +- .../WebCore/rendering/RenderThemeChromiumWin.h | 2 +- .../webkit/WebCore/rendering/RenderThemeMac.h | 1 - .../webkit/WebCore/rendering/RenderThemeSafari.cpp | 8 +- .../webkit/WebCore/rendering/RenderThemeWin.cpp | 29 +- .../webkit/WebCore/rendering/RenderThemeWin.h | 2 - .../webkit/WebCore/rendering/RenderThemeWince.cpp | 23 +- .../webkit/WebCore/rendering/RenderTreeAsText.cpp | 123 +- .../webkit/WebCore/rendering/RenderTreeAsText.h | 11 +- .../webkit/WebCore/rendering/RenderVideo.cpp | 166 +- .../webkit/WebCore/rendering/RenderVideo.h | 21 +- .../webkit/WebCore/rendering/RenderView.cpp | 29 +- src/3rdparty/webkit/WebCore/rendering/RenderView.h | 11 +- .../webkit/WebCore/rendering/RenderWidget.cpp | 181 +- .../webkit/WebCore/rendering/RenderWidget.h | 5 +- .../webkit/WebCore/rendering/RootInlineBox.cpp | 1 - .../webkit/WebCore/rendering/RootInlineBox.h | 2 + .../WebCore/rendering/SVGCharacterLayoutInfo.cpp | 4 +- .../WebCore/rendering/SVGCharacterLayoutInfo.h | 54 +- .../webkit/WebCore/rendering/SVGInlineTextBox.cpp | 105 +- .../webkit/WebCore/rendering/SVGInlineTextBox.h | 21 +- .../webkit/WebCore/rendering/SVGMarkerData.h | 134 - .../WebCore/rendering/SVGMarkerLayoutInfo.cpp | 124 - .../webkit/WebCore/rendering/SVGMarkerLayoutInfo.h | 74 - .../webkit/WebCore/rendering/SVGRenderSupport.cpp | 133 +- .../webkit/WebCore/rendering/SVGRenderSupport.h | 77 +- .../WebCore/rendering/SVGRenderTreeAsText.cpp | 78 +- .../webkit/WebCore/rendering/SVGRenderTreeAsText.h | 7 +- .../webkit/WebCore/rendering/SVGRootInlineBox.cpp | 178 +- .../webkit/WebCore/rendering/SVGRootInlineBox.h | 7 +- .../WebCore/rendering/SVGShadowTreeElements.cpp | 80 - .../WebCore/rendering/SVGShadowTreeElements.h | 67 - .../webkit/WebCore/rendering/TableLayout.h | 6 +- .../rendering/TrailingFloatsRootInlineBox.h | 48 - .../webkit/WebCore/rendering/TransformState.cpp | 8 +- .../webkit/WebCore/rendering/TransformState.h | 2 - .../webkit/WebCore/rendering/break_lines.cpp | 62 +- .../webkit/WebCore/rendering/break_lines.h | 2 + .../webkit/WebCore/rendering/style/ContentData.h | 6 +- .../WebCore/rendering/style/CounterContent.h | 2 +- .../webkit/WebCore/rendering/style/FillLayer.cpp | 11 - .../webkit/WebCore/rendering/style/FillLayer.h | 3 +- .../WebCore/rendering/style/LineClampValue.h | 69 - .../webkit/WebCore/rendering/style/RenderStyle.cpp | 11 +- .../webkit/WebCore/rendering/style/RenderStyle.h | 68 +- .../WebCore/rendering/style/RenderStyleConstants.h | 99 +- .../WebCore/rendering/style/SVGRenderStyle.cpp | 55 +- .../WebCore/rendering/style/SVGRenderStyle.h | 342 +- .../WebCore/rendering/style/SVGRenderStyleDefs.cpp | 2 + .../WebCore/rendering/style/SVGRenderStyleDefs.h | 2 + .../webkit/WebCore/rendering/style/ShadowData.h | 3 +- .../WebCore/rendering/style/StyleInheritedData.cpp | 5 +- .../WebCore/rendering/style/StyleInheritedData.h | 1 + .../rendering/style/StyleRareInheritedData.cpp | 5 +- .../rendering/style/StyleRareInheritedData.h | 1 - .../rendering/style/StyleRareNonInheritedData.h | 3 +- src/3rdparty/webkit/WebCore/storage/Database.cpp | 301 +- src/3rdparty/webkit/WebCore/storage/Database.h | 20 +- src/3rdparty/webkit/WebCore/storage/Database.idl | 3 +- .../webkit/WebCore/storage/DatabaseAuthorizer.cpp | 88 +- .../webkit/WebCore/storage/DatabaseAuthorizer.h | 5 - .../webkit/WebCore/storage/DatabaseTask.cpp | 76 +- src/3rdparty/webkit/WebCore/storage/DatabaseTask.h | 78 +- .../webkit/WebCore/storage/DatabaseThread.cpp | 25 +- .../webkit/WebCore/storage/DatabaseThread.h | 11 +- .../webkit/WebCore/storage/DatabaseTracker.cpp | 34 +- .../webkit/WebCore/storage/DatabaseTracker.h | 65 +- .../webkit/WebCore/storage/IDBDatabaseError.h | 64 - .../webkit/WebCore/storage/IDBDatabaseError.idl | 37 - .../webkit/WebCore/storage/IDBDatabaseException.h | 64 - .../WebCore/storage/IDBDatabaseException.idl | 48 - src/3rdparty/webkit/WebCore/storage/IDBRequest.cpp | 64 - src/3rdparty/webkit/WebCore/storage/IDBRequest.h | 88 - src/3rdparty/webkit/WebCore/storage/IDBRequest.idl | 45 - .../WebCore/storage/IndexedDatabaseRequest.cpp | 53 - .../WebCore/storage/IndexedDatabaseRequest.h | 65 - .../WebCore/storage/IndexedDatabaseRequest.idl | 38 - .../webkit/WebCore/storage/LocalStorageTask.h | 11 +- .../webkit/WebCore/storage/LocalStorageThread.cpp | 74 +- .../webkit/WebCore/storage/LocalStorageThread.h | 28 +- .../webkit/WebCore/storage/OriginUsageRecord.cpp | 6 +- .../webkit/WebCore/storage/OriginUsageRecord.h | 2 +- src/3rdparty/webkit/WebCore/storage/SQLError.idl | 3 +- .../webkit/WebCore/storage/SQLResultSet.idl | 3 +- .../webkit/WebCore/storage/SQLResultSetRowList.idl | 3 +- .../webkit/WebCore/storage/SQLTransaction.cpp | 24 +- .../webkit/WebCore/storage/SQLTransaction.h | 1 - .../webkit/WebCore/storage/SQLTransaction.idl | 3 +- .../WebCore/storage/SQLTransactionClient.cpp | 15 +- .../webkit/WebCore/storage/SQLTransactionClient.h | 8 +- .../WebCore/storage/SQLTransactionCoordinator.cpp | 20 +- .../WebCore/storage/SQLTransactionCoordinator.h | 6 +- src/3rdparty/webkit/WebCore/storage/Storage.idl | 1 + src/3rdparty/webkit/WebCore/storage/StorageArea.h | 6 +- .../webkit/WebCore/storage/StorageAreaImpl.cpp | 58 +- .../webkit/WebCore/storage/StorageAreaImpl.h | 9 +- .../webkit/WebCore/storage/StorageAreaSync.cpp | 32 +- .../webkit/WebCore/storage/StorageAreaSync.h | 8 +- .../webkit/WebCore/storage/StorageEvent.cpp | 2 +- .../webkit/WebCore/storage/StorageEvent.idl | 3 +- .../WebCore/storage/StorageEventDispatcher.cpp | 8 +- src/3rdparty/webkit/WebCore/storage/StorageMap.cpp | 34 +- .../webkit/WebCore/storage/StorageNamespace.cpp | 3 +- .../webkit/WebCore/storage/StorageNamespace.h | 31 +- .../webkit/WebCore/storage/StorageSyncManager.cpp | 20 +- .../webkit/WebCore/storage/StorageSyncManager.h | 6 +- .../webkit/WebCore/svg/ElementTimeControl.idl | 2 +- .../webkit/WebCore/svg/GradientAttributes.h | 8 +- .../webkit/WebCore/svg/LinearGradientAttributes.h | 2 + .../webkit/WebCore/svg/PatternAttributes.h | 8 +- .../webkit/WebCore/svg/RadialGradientAttributes.h | 2 + src/3rdparty/webkit/WebCore/svg/SVGAElement.cpp | 24 +- src/3rdparty/webkit/WebCore/svg/SVGAElement.h | 9 +- src/3rdparty/webkit/WebCore/svg/SVGAllInOne.cpp | 13 +- .../webkit/WebCore/svg/SVGAltGlyphElement.cpp | 9 +- .../webkit/WebCore/svg/SVGAltGlyphElement.h | 6 +- src/3rdparty/webkit/WebCore/svg/SVGAngle.h | 16 +- src/3rdparty/webkit/WebCore/svg/SVGAngle.idl | 4 +- .../webkit/WebCore/svg/SVGAnimateColorElement.cpp | 2 + .../webkit/WebCore/svg/SVGAnimateColorElement.h | 2 + .../webkit/WebCore/svg/SVGAnimateElement.cpp | 4 +- .../webkit/WebCore/svg/SVGAnimateElement.h | 2 + .../webkit/WebCore/svg/SVGAnimateMotionElement.cpp | 14 +- .../webkit/WebCore/svg/SVGAnimateMotionElement.h | 5 +- .../WebCore/svg/SVGAnimateTransformElement.cpp | 12 +- .../WebCore/svg/SVGAnimateTransformElement.h | 48 +- .../webkit/WebCore/svg/SVGAnimatedPathData.cpp | 2 + .../webkit/WebCore/svg/SVGAnimatedPathData.h | 2 + .../webkit/WebCore/svg/SVGAnimatedPathData.idl | 2 +- .../webkit/WebCore/svg/SVGAnimatedPoints.cpp | 2 + .../webkit/WebCore/svg/SVGAnimatedPoints.h | 2 + .../webkit/WebCore/svg/SVGAnimatedPoints.idl | 2 +- .../webkit/WebCore/svg/SVGAnimatedProperty.h | 597 +- .../WebCore/svg/SVGAnimatedPropertySynchronizer.h | 96 - .../webkit/WebCore/svg/SVGAnimatedPropertyTraits.h | 186 - .../webkit/WebCore/svg/SVGAnimatedTemplate.h | 133 +- .../webkit/WebCore/svg/SVGAnimationElement.cpp | 23 +- .../webkit/WebCore/svg/SVGAnimationElement.h | 7 +- .../webkit/WebCore/svg/SVGAnimationElement.idl | 2 +- .../webkit/WebCore/svg/SVGCircleElement.cpp | 31 +- src/3rdparty/webkit/WebCore/svg/SVGCircleElement.h | 11 +- .../webkit/WebCore/svg/SVGClipPathElement.cpp | 51 +- .../webkit/WebCore/svg/SVGClipPathElement.h | 12 +- src/3rdparty/webkit/WebCore/svg/SVGColor.cpp | 2 + src/3rdparty/webkit/WebCore/svg/SVGColor.idl | 4 +- .../svg/SVGComponentTransferFunctionElement.cpp | 52 +- .../svg/SVGComponentTransferFunctionElement.h | 21 +- .../svg/SVGComponentTransferFunctionElement.idl | 2 +- .../webkit/WebCore/svg/SVGCursorElement.cpp | 30 +- src/3rdparty/webkit/WebCore/svg/SVGCursorElement.h | 11 +- src/3rdparty/webkit/WebCore/svg/SVGDefsElement.cpp | 11 +- src/3rdparty/webkit/WebCore/svg/SVGDefsElement.h | 5 +- src/3rdparty/webkit/WebCore/svg/SVGDescElement.cpp | 2 + src/3rdparty/webkit/WebCore/svg/SVGDescElement.h | 2 + src/3rdparty/webkit/WebCore/svg/SVGDocument.cpp | 2 +- src/3rdparty/webkit/WebCore/svg/SVGDocument.idl | 2 + .../webkit/WebCore/svg/SVGDocumentExtensions.cpp | 12 - .../webkit/WebCore/svg/SVGDocumentExtensions.h | 60 +- src/3rdparty/webkit/WebCore/svg/SVGElement.cpp | 100 +- src/3rdparty/webkit/WebCore/svg/SVGElement.h | 50 +- src/3rdparty/webkit/WebCore/svg/SVGElement.idl | 2 + .../webkit/WebCore/svg/SVGElementInstance.cpp | 79 +- .../webkit/WebCore/svg/SVGElementInstance.h | 6 + .../webkit/WebCore/svg/SVGElementInstanceList.cpp | 2 + .../webkit/WebCore/svg/SVGElementInstanceList.h | 2 + .../webkit/WebCore/svg/SVGElementRareData.h | 78 - .../webkit/WebCore/svg/SVGEllipseElement.cpp | 36 +- .../webkit/WebCore/svg/SVGEllipseElement.h | 13 +- src/3rdparty/webkit/WebCore/svg/SVGException.idl | 3 +- .../WebCore/svg/SVGExternalResourcesRequired.cpp | 4 + .../WebCore/svg/SVGExternalResourcesRequired.h | 3 +- .../WebCore/svg/SVGExternalResourcesRequired.idl | 2 +- .../webkit/WebCore/svg/SVGFEBlendElement.cpp | 25 +- .../webkit/WebCore/svg/SVGFEBlendElement.h | 9 +- .../webkit/WebCore/svg/SVGFEBlendElement.idl | 2 +- .../webkit/WebCore/svg/SVGFEColorMatrixElement.cpp | 26 +- .../webkit/WebCore/svg/SVGFEColorMatrixElement.h | 9 +- .../webkit/WebCore/svg/SVGFEColorMatrixElement.idl | 2 +- .../WebCore/svg/SVGFEComponentTransferElement.cpp | 11 +- .../WebCore/svg/SVGFEComponentTransferElement.h | 5 +- .../webkit/WebCore/svg/SVGFECompositeElement.cpp | 44 +- .../webkit/WebCore/svg/SVGFECompositeElement.h | 17 +- .../webkit/WebCore/svg/SVGFECompositeElement.idl | 2 +- .../WebCore/svg/SVGFEDiffuseLightingElement.cpp | 40 +- .../WebCore/svg/SVGFEDiffuseLightingElement.h | 13 +- .../WebCore/svg/SVGFEDisplacementMapElement.cpp | 32 +- .../WebCore/svg/SVGFEDisplacementMapElement.h | 11 +- .../WebCore/svg/SVGFEDisplacementMapElement.idl | 2 +- .../WebCore/svg/SVGFEDistantLightElement.cpp | 4 +- .../webkit/WebCore/svg/SVGFEDistantLightElement.h | 2 +- .../webkit/WebCore/svg/SVGFEFloodElement.cpp | 2 + .../webkit/WebCore/svg/SVGFEFloodElement.h | 2 + .../webkit/WebCore/svg/SVGFEFloodElement.idl | 2 +- .../webkit/WebCore/svg/SVGFEFuncAElement.cpp | 2 + .../webkit/WebCore/svg/SVGFEFuncAElement.h | 2 + .../webkit/WebCore/svg/SVGFEFuncBElement.cpp | 2 + .../webkit/WebCore/svg/SVGFEFuncBElement.h | 2 + .../webkit/WebCore/svg/SVGFEFuncGElement.cpp | 2 + .../webkit/WebCore/svg/SVGFEFuncGElement.h | 2 + .../webkit/WebCore/svg/SVGFEFuncRElement.cpp | 2 + .../webkit/WebCore/svg/SVGFEFuncRElement.h | 2 + .../WebCore/svg/SVGFEGaussianBlurElement.cpp | 23 +- .../webkit/WebCore/svg/SVGFEGaussianBlurElement.h | 9 +- .../webkit/WebCore/svg/SVGFEImageElement.cpp | 79 +- .../webkit/WebCore/svg/SVGFEImageElement.h | 19 +- .../webkit/WebCore/svg/SVGFEImageElement.idl | 9 +- .../webkit/WebCore/svg/SVGFELightElement.cpp | 55 +- .../webkit/WebCore/svg/SVGFELightElement.h | 25 +- .../webkit/WebCore/svg/SVGFEMergeElement.cpp | 4 +- .../webkit/WebCore/svg/SVGFEMergeElement.h | 2 + .../webkit/WebCore/svg/SVGFEMergeNodeElement.cpp | 11 +- .../webkit/WebCore/svg/SVGFEMergeNodeElement.h | 3 +- .../webkit/WebCore/svg/SVGFEMorphologyElement.cpp | 27 +- .../webkit/WebCore/svg/SVGFEMorphologyElement.h | 9 +- .../webkit/WebCore/svg/SVGFEMorphologyElement.idl | 2 +- .../webkit/WebCore/svg/SVGFEOffsetElement.cpp | 24 +- .../webkit/WebCore/svg/SVGFEOffsetElement.h | 9 +- .../webkit/WebCore/svg/SVGFEPointLightElement.cpp | 4 +- .../webkit/WebCore/svg/SVGFEPointLightElement.h | 2 +- .../WebCore/svg/SVGFESpecularLightingElement.cpp | 45 +- .../WebCore/svg/SVGFESpecularLightingElement.h | 19 +- .../webkit/WebCore/svg/SVGFESpotLightElement.cpp | 4 +- .../webkit/WebCore/svg/SVGFESpotLightElement.h | 2 +- .../webkit/WebCore/svg/SVGFETileElement.cpp | 11 +- src/3rdparty/webkit/WebCore/svg/SVGFETileElement.h | 5 +- .../webkit/WebCore/svg/SVGFETurbulenceElement.cpp | 38 +- .../webkit/WebCore/svg/SVGFETurbulenceElement.h | 15 +- .../webkit/WebCore/svg/SVGFETurbulenceElement.idl | 2 +- .../webkit/WebCore/svg/SVGFilterElement.cpp | 93 +- src/3rdparty/webkit/WebCore/svg/SVGFilterElement.h | 29 +- .../svg/SVGFilterPrimitiveStandardAttributes.cpp | 38 +- .../svg/SVGFilterPrimitiveStandardAttributes.h | 13 +- .../webkit/WebCore/svg/SVGFitToViewBox.cpp | 15 +- src/3rdparty/webkit/WebCore/svg/SVGFitToViewBox.h | 29 +- .../webkit/WebCore/svg/SVGFitToViewBox.idl | 2 +- src/3rdparty/webkit/WebCore/svg/SVGFont.cpp | 9 +- src/3rdparty/webkit/WebCore/svg/SVGFontData.h | 2 +- src/3rdparty/webkit/WebCore/svg/SVGFontElement.cpp | 9 +- src/3rdparty/webkit/WebCore/svg/SVGFontElement.h | 5 +- .../webkit/WebCore/svg/SVGFontFaceElement.cpp | 9 +- .../webkit/WebCore/svg/SVGFontFaceUriElement.cpp | 8 +- .../webkit/WebCore/svg/SVGForeignObjectElement.cpp | 115 +- .../webkit/WebCore/svg/SVGForeignObjectElement.h | 15 +- src/3rdparty/webkit/WebCore/svg/SVGGElement.cpp | 11 +- src/3rdparty/webkit/WebCore/svg/SVGGElement.h | 9 +- .../webkit/WebCore/svg/SVGGlyphElement.cpp | 4 +- .../webkit/WebCore/svg/SVGGradientElement.cpp | 38 +- .../webkit/WebCore/svg/SVGGradientElement.h | 18 +- .../webkit/WebCore/svg/SVGGradientElement.idl | 2 +- .../webkit/WebCore/svg/SVGHKernElement.cpp | 4 +- .../webkit/WebCore/svg/SVGHKernElement.idl | 2 + .../webkit/WebCore/svg/SVGImageElement.cpp | 50 +- src/3rdparty/webkit/WebCore/svg/SVGImageElement.h | 17 +- src/3rdparty/webkit/WebCore/svg/SVGLangSpace.cpp | 2 + src/3rdparty/webkit/WebCore/svg/SVGLangSpace.h | 2 + src/3rdparty/webkit/WebCore/svg/SVGLangSpace.idl | 2 +- src/3rdparty/webkit/WebCore/svg/SVGLength.cpp | 18 +- src/3rdparty/webkit/WebCore/svg/SVGLength.h | 2 + src/3rdparty/webkit/WebCore/svg/SVGLength.idl | 4 +- src/3rdparty/webkit/WebCore/svg/SVGLengthList.cpp | 2 + src/3rdparty/webkit/WebCore/svg/SVGLengthList.h | 2 + src/3rdparty/webkit/WebCore/svg/SVGLineElement.cpp | 36 +- src/3rdparty/webkit/WebCore/svg/SVGLineElement.h | 13 +- .../WebCore/svg/SVGLinearGradientElement.cpp | 30 +- .../webkit/WebCore/svg/SVGLinearGradientElement.h | 11 +- src/3rdparty/webkit/WebCore/svg/SVGList.h | 31 +- src/3rdparty/webkit/WebCore/svg/SVGListTraits.h | 28 +- src/3rdparty/webkit/WebCore/svg/SVGLocatable.cpp | 20 +- src/3rdparty/webkit/WebCore/svg/SVGLocatable.h | 44 +- src/3rdparty/webkit/WebCore/svg/SVGLocatable.idl | 2 +- .../webkit/WebCore/svg/SVGMPathElement.cpp | 18 +- src/3rdparty/webkit/WebCore/svg/SVGMPathElement.h | 7 +- .../webkit/WebCore/svg/SVGMarkerElement.cpp | 91 +- src/3rdparty/webkit/WebCore/svg/SVGMarkerElement.h | 32 +- .../webkit/WebCore/svg/SVGMarkerElement.idl | 2 +- src/3rdparty/webkit/WebCore/svg/SVGMaskElement.cpp | 155 +- src/3rdparty/webkit/WebCore/svg/SVGMaskElement.h | 32 +- src/3rdparty/webkit/WebCore/svg/SVGMatrix.idl | 8 +- .../webkit/WebCore/svg/SVGMetadataElement.cpp | 2 + .../webkit/WebCore/svg/SVGMetadataElement.h | 2 + .../webkit/WebCore/svg/SVGMetadataElement.idl | 2 + src/3rdparty/webkit/WebCore/svg/SVGNumber.idl | 2 + src/3rdparty/webkit/WebCore/svg/SVGNumberList.cpp | 4 +- src/3rdparty/webkit/WebCore/svg/SVGNumberList.h | 4 +- src/3rdparty/webkit/WebCore/svg/SVGPaint.cpp | 2 + src/3rdparty/webkit/WebCore/svg/SVGPaint.idl | 2 +- src/3rdparty/webkit/WebCore/svg/SVGPathElement.cpp | 24 +- src/3rdparty/webkit/WebCore/svg/SVGPathElement.h | 9 +- src/3rdparty/webkit/WebCore/svg/SVGPathElement.idl | 3 +- src/3rdparty/webkit/WebCore/svg/SVGPathSeg.h | 2 + src/3rdparty/webkit/WebCore/svg/SVGPathSeg.idl | 2 +- src/3rdparty/webkit/WebCore/svg/SVGPathSegArc.cpp | 2 + src/3rdparty/webkit/WebCore/svg/SVGPathSegArc.h | 2 + .../webkit/WebCore/svg/SVGPathSegClosePath.cpp | 2 + .../webkit/WebCore/svg/SVGPathSegClosePath.h | 2 + .../webkit/WebCore/svg/SVGPathSegCurvetoCubic.cpp | 2 + .../webkit/WebCore/svg/SVGPathSegCurvetoCubic.h | 2 + .../WebCore/svg/SVGPathSegCurvetoCubicSmooth.cpp | 2 + .../WebCore/svg/SVGPathSegCurvetoCubicSmooth.h | 2 + .../WebCore/svg/SVGPathSegCurvetoQuadratic.cpp | 2 + .../WebCore/svg/SVGPathSegCurvetoQuadratic.h | 2 + .../svg/SVGPathSegCurvetoQuadraticSmooth.cpp | 2 + .../WebCore/svg/SVGPathSegCurvetoQuadraticSmooth.h | 2 + .../webkit/WebCore/svg/SVGPathSegLineto.cpp | 2 + src/3rdparty/webkit/WebCore/svg/SVGPathSegLineto.h | 2 + .../WebCore/svg/SVGPathSegLinetoHorizontal.cpp | 2 + .../WebCore/svg/SVGPathSegLinetoHorizontal.h | 2 + .../WebCore/svg/SVGPathSegLinetoVertical.cpp | 2 + .../webkit/WebCore/svg/SVGPathSegLinetoVertical.h | 2 + src/3rdparty/webkit/WebCore/svg/SVGPathSegList.cpp | 17 +- src/3rdparty/webkit/WebCore/svg/SVGPathSegList.h | 2 +- .../webkit/WebCore/svg/SVGPathSegMoveto.cpp | 2 + src/3rdparty/webkit/WebCore/svg/SVGPathSegMoveto.h | 2 + .../webkit/WebCore/svg/SVGPatternElement.cpp | 75 +- .../webkit/WebCore/svg/SVGPatternElement.h | 28 +- src/3rdparty/webkit/WebCore/svg/SVGPoint.idl | 2 + src/3rdparty/webkit/WebCore/svg/SVGPointList.cpp | 2 + src/3rdparty/webkit/WebCore/svg/SVGPointList.h | 2 + src/3rdparty/webkit/WebCore/svg/SVGPointList.idl | 14 +- src/3rdparty/webkit/WebCore/svg/SVGPolyElement.cpp | 46 +- src/3rdparty/webkit/WebCore/svg/SVGPolyElement.h | 7 +- .../webkit/WebCore/svg/SVGPolygonElement.cpp | 2 + .../webkit/WebCore/svg/SVGPolygonElement.h | 2 + .../webkit/WebCore/svg/SVGPolylineElement.cpp | 2 + .../webkit/WebCore/svg/SVGPolylineElement.h | 2 + .../webkit/WebCore/svg/SVGPreserveAspectRatio.cpp | 131 +- .../webkit/WebCore/svg/SVGPreserveAspectRatio.h | 39 +- .../webkit/WebCore/svg/SVGPreserveAspectRatio.idl | 2 +- .../WebCore/svg/SVGRadialGradientElement.cpp | 57 +- .../webkit/WebCore/svg/SVGRadialGradientElement.h | 13 +- src/3rdparty/webkit/WebCore/svg/SVGRect.idl | 2 + src/3rdparty/webkit/WebCore/svg/SVGRectElement.cpp | 46 +- src/3rdparty/webkit/WebCore/svg/SVGRectElement.h | 17 +- .../webkit/WebCore/svg/SVGRenderingIntent.h | 2 + .../webkit/WebCore/svg/SVGRenderingIntent.idl | 2 +- src/3rdparty/webkit/WebCore/svg/SVGSVGElement.cpp | 114 +- src/3rdparty/webkit/WebCore/svg/SVGSVGElement.h | 37 +- src/3rdparty/webkit/WebCore/svg/SVGSVGElement.idl | 2 + .../webkit/WebCore/svg/SVGScriptElement.cpp | 20 +- src/3rdparty/webkit/WebCore/svg/SVGScriptElement.h | 7 +- src/3rdparty/webkit/WebCore/svg/SVGSetElement.cpp | 2 + src/3rdparty/webkit/WebCore/svg/SVGSetElement.h | 2 + src/3rdparty/webkit/WebCore/svg/SVGStopElement.cpp | 12 +- src/3rdparty/webkit/WebCore/svg/SVGStopElement.h | 4 +- src/3rdparty/webkit/WebCore/svg/SVGStringList.cpp | 2 + src/3rdparty/webkit/WebCore/svg/SVGStringList.h | 2 + src/3rdparty/webkit/WebCore/svg/SVGStylable.cpp | 2 + src/3rdparty/webkit/WebCore/svg/SVGStylable.h | 2 + src/3rdparty/webkit/WebCore/svg/SVGStylable.idl | 2 +- .../webkit/WebCore/svg/SVGStyleElement.cpp | 16 +- src/3rdparty/webkit/WebCore/svg/SVGStyleElement.h | 2 + .../webkit/WebCore/svg/SVGStyledElement.cpp | 109 +- src/3rdparty/webkit/WebCore/svg/SVGStyledElement.h | 31 +- .../WebCore/svg/SVGStyledLocatableElement.cpp | 8 +- .../webkit/WebCore/svg/SVGStyledLocatableElement.h | 6 +- .../WebCore/svg/SVGStyledTransformableElement.cpp | 40 +- .../WebCore/svg/SVGStyledTransformableElement.h | 76 +- .../webkit/WebCore/svg/SVGSwitchElement.cpp | 15 +- src/3rdparty/webkit/WebCore/svg/SVGSwitchElement.h | 5 +- .../webkit/WebCore/svg/SVGSymbolElement.cpp | 34 +- src/3rdparty/webkit/WebCore/svg/SVGSymbolElement.h | 11 +- src/3rdparty/webkit/WebCore/svg/SVGTRefElement.cpp | 27 +- src/3rdparty/webkit/WebCore/svg/SVGTRefElement.h | 4 +- .../webkit/WebCore/svg/SVGTSpanElement.cpp | 2 + src/3rdparty/webkit/WebCore/svg/SVGTSpanElement.h | 2 + src/3rdparty/webkit/WebCore/svg/SVGTests.h | 2 + src/3rdparty/webkit/WebCore/svg/SVGTests.idl | 2 +- .../webkit/WebCore/svg/SVGTextContentElement.cpp | 28 +- .../webkit/WebCore/svg/SVGTextContentElement.h | 11 +- .../webkit/WebCore/svg/SVGTextContentElement.idl | 2 +- src/3rdparty/webkit/WebCore/svg/SVGTextElement.cpp | 49 +- src/3rdparty/webkit/WebCore/svg/SVGTextElement.h | 16 +- .../webkit/WebCore/svg/SVGTextPathElement.cpp | 35 +- .../webkit/WebCore/svg/SVGTextPathElement.h | 9 +- .../webkit/WebCore/svg/SVGTextPathElement.idl | 2 +- .../WebCore/svg/SVGTextPositioningElement.cpp | 51 +- .../webkit/WebCore/svg/SVGTextPositioningElement.h | 16 +- .../webkit/WebCore/svg/SVGTitleElement.cpp | 2 + src/3rdparty/webkit/WebCore/svg/SVGTitleElement.h | 2 + src/3rdparty/webkit/WebCore/svg/SVGTransform.cpp | 11 +- src/3rdparty/webkit/WebCore/svg/SVGTransform.h | 18 +- src/3rdparty/webkit/WebCore/svg/SVGTransform.idl | 4 +- .../webkit/WebCore/svg/SVGTransformDistance.cpp | 12 +- .../webkit/WebCore/svg/SVGTransformDistance.h | 48 +- .../webkit/WebCore/svg/SVGTransformList.cpp | 15 +- src/3rdparty/webkit/WebCore/svg/SVGTransformList.h | 4 +- .../webkit/WebCore/svg/SVGTransformList.idl | 14 +- .../webkit/WebCore/svg/SVGTransformable.cpp | 28 +- src/3rdparty/webkit/WebCore/svg/SVGTransformable.h | 47 +- .../webkit/WebCore/svg/SVGTransformable.idl | 2 +- .../webkit/WebCore/svg/SVGURIReference.cpp | 2 + src/3rdparty/webkit/WebCore/svg/SVGURIReference.h | 5 +- .../webkit/WebCore/svg/SVGURIReference.idl | 2 +- src/3rdparty/webkit/WebCore/svg/SVGUnitTypes.h | 10 +- src/3rdparty/webkit/WebCore/svg/SVGUnitTypes.idl | 2 +- src/3rdparty/webkit/WebCore/svg/SVGUseElement.cpp | 514 +- src/3rdparty/webkit/WebCore/svg/SVGUseElement.h | 50 +- src/3rdparty/webkit/WebCore/svg/SVGViewElement.cpp | 24 +- src/3rdparty/webkit/WebCore/svg/SVGViewElement.h | 9 +- src/3rdparty/webkit/WebCore/svg/SVGViewSpec.cpp | 12 +- src/3rdparty/webkit/WebCore/svg/SVGViewSpec.h | 9 +- src/3rdparty/webkit/WebCore/svg/SVGZoomAndPan.cpp | 2 + src/3rdparty/webkit/WebCore/svg/SVGZoomAndPan.h | 2 + src/3rdparty/webkit/WebCore/svg/SVGZoomAndPan.idl | 2 +- src/3rdparty/webkit/WebCore/svg/SVGZoomEvent.cpp | 2 + .../svg/SynchronizablePropertyController.cpp | 145 + .../WebCore/svg/SynchronizablePropertyController.h | 84 + .../webkit/WebCore/svg/SynchronizableTypeWrapper.h | 180 + .../WebCore/svg/animation/SMILTimeContainer.cpp | 36 +- .../WebCore/svg/animation/SMILTimeContainer.h | 8 +- .../webkit/WebCore/svg/graphics/SVGImage.cpp | 11 +- .../webkit/WebCore/svg/graphics/SVGImage.h | 2 +- .../webkit/WebCore/svg/graphics/SVGPaintServer.cpp | 15 +- .../webkit/WebCore/svg/graphics/SVGPaintServer.h | 9 +- .../svg/graphics/SVGPaintServerGradient.cpp | 96 +- .../WebCore/svg/graphics/SVGPaintServerGradient.h | 10 +- .../WebCore/svg/graphics/SVGPaintServerPattern.cpp | 28 +- .../WebCore/svg/graphics/SVGPaintServerPattern.h | 10 +- .../WebCore/svg/graphics/SVGPaintServerSolid.cpp | 8 +- .../WebCore/svg/graphics/SVGPaintServerSolid.h | 2 +- .../webkit/WebCore/svg/graphics/SVGResource.cpp | 93 +- .../webkit/WebCore/svg/graphics/SVGResource.h | 7 +- .../WebCore/svg/graphics/SVGResourceClipper.cpp | 39 +- .../WebCore/svg/graphics/SVGResourceClipper.h | 13 +- .../WebCore/svg/graphics/SVGResourceFilter.cpp | 96 +- .../WebCore/svg/graphics/SVGResourceFilter.h | 18 +- .../WebCore/svg/graphics/SVGResourceMarker.cpp | 73 +- .../WebCore/svg/graphics/SVGResourceMarker.h | 27 +- .../WebCore/svg/graphics/SVGResourceMasker.cpp | 118 + .../WebCore/svg/graphics/SVGResourceMasker.h | 73 + .../svg/graphics/filters/SVGDistantLightSource.h | 16 +- .../svg/graphics/filters/SVGFEDiffuseLighting.cpp | 6 +- .../svg/graphics/filters/SVGFEDiffuseLighting.h | 6 +- .../svg/graphics/filters/SVGFEDisplacementMap.cpp | 54 +- .../WebCore/svg/graphics/filters/SVGFEFlood.cpp | 2 +- .../WebCore/svg/graphics/filters/SVGFEImage.cpp | 47 +- .../WebCore/svg/graphics/filters/SVGFEImage.h | 22 +- .../WebCore/svg/graphics/filters/SVGFEMerge.cpp | 12 +- .../WebCore/svg/graphics/filters/SVGFEMerge.h | 10 +- .../svg/graphics/filters/SVGFEMorphology.cpp | 80 +- .../WebCore/svg/graphics/filters/SVGFEOffset.cpp | 21 +- .../svg/graphics/filters/SVGFESpecularLighting.cpp | 6 +- .../svg/graphics/filters/SVGFESpecularLighting.h | 6 +- .../WebCore/svg/graphics/filters/SVGFETile.cpp | 21 +- .../WebCore/svg/graphics/filters/SVGFilter.cpp | 5 +- .../WebCore/svg/graphics/filters/SVGFilter.h | 12 +- .../svg/graphics/filters/SVGFilterBuilder.cpp | 4 +- .../WebCore/svg/graphics/filters/SVGLightSource.h | 1 - .../svg/graphics/filters/SVGPointLightSource.h | 14 +- .../svg/graphics/filters/SVGSpotLightSource.h | 22 +- src/3rdparty/webkit/WebCore/svg/svgattrs.in | 1 + src/3rdparty/webkit/WebCore/svg/svgtags.in | 3 +- src/3rdparty/webkit/WebCore/svg/xlinkattrs.in | 1 + .../websockets/ThreadableWebSocketChannel.cpp | 74 - .../websockets/ThreadableWebSocketChannel.h | 69 - .../ThreadableWebSocketChannelClientWrapper.h | 127 - .../webkit/WebCore/websockets/WebSocket.cpp | 118 +- src/3rdparty/webkit/WebCore/websockets/WebSocket.h | 25 +- .../webkit/WebCore/websockets/WebSocket.idl | 1 - .../webkit/WebCore/websockets/WebSocketChannel.cpp | 74 +- .../webkit/WebCore/websockets/WebSocketChannel.h | 30 +- .../WebCore/websockets/WebSocketChannelClient.h | 8 +- .../WebCore/websockets/WebSocketHandshake.cpp | 76 +- .../webkit/WebCore/websockets/WebSocketHandshake.h | 6 +- .../WorkerThreadableWebSocketChannel.cpp | 362 - .../websockets/WorkerThreadableWebSocketChannel.h | 155 - src/3rdparty/webkit/WebCore/wml/WMLAElement.cpp | 4 +- src/3rdparty/webkit/WebCore/wml/WMLCardElement.cpp | 2 +- src/3rdparty/webkit/WebCore/wml/WMLDocument.cpp | 3 +- src/3rdparty/webkit/WebCore/wml/WMLElement.cpp | 2 +- .../webkit/WebCore/wml/WMLInputElement.cpp | 20 +- src/3rdparty/webkit/WebCore/wml/WMLInputElement.h | 4 +- src/3rdparty/webkit/WebCore/wml/WMLPageState.cpp | 1 - src/3rdparty/webkit/WebCore/wml/WMLPageState.h | 1 - .../webkit/WebCore/wml/WMLSelectElement.cpp | 1 + .../webkit/WebCore/workers/AbstractWorker.idl | 3 +- .../WebCore/workers/DedicatedWorkerContext.idl | 3 +- .../workers/DefaultSharedWorkerRepository.cpp | 31 +- .../webkit/WebCore/workers/GenericWorkerTask.h | 48 +- .../webkit/WebCore/workers/SharedWorker.idl | 1 - .../webkit/WebCore/workers/SharedWorkerContext.idl | 3 +- src/3rdparty/webkit/WebCore/workers/Worker.idl | 1 - .../webkit/WebCore/workers/WorkerContext.cpp | 24 +- .../webkit/WebCore/workers/WorkerContext.h | 20 +- .../webkit/WebCore/workers/WorkerContext.idl | 6 +- .../webkit/WebCore/workers/WorkerLoaderProxy.h | 6 +- .../webkit/WebCore/workers/WorkerLocation.idl | 1 + .../WebCore/workers/WorkerMessagingProxy.cpp | 30 +- .../webkit/WebCore/workers/WorkerMessagingProxy.h | 6 +- .../webkit/WebCore/workers/WorkerRunLoop.cpp | 59 +- .../webkit/WebCore/workers/WorkerRunLoop.h | 24 +- .../WebCore/workers/WorkerScriptLoaderClient.h | 4 +- .../webkit/WebCore/workers/WorkerThread.cpp | 65 +- src/3rdparty/webkit/WebCore/xml/DOMParser.idl | 2 +- src/3rdparty/webkit/WebCore/xml/XMLHttpRequest.cpp | 22 +- src/3rdparty/webkit/WebCore/xml/XMLHttpRequest.h | 6 +- src/3rdparty/webkit/WebCore/xml/XMLHttpRequest.idl | 1 - .../webkit/WebCore/xml/XMLHttpRequestException.idl | 1 + .../WebCore/xml/XMLHttpRequestProgressEvent.idl | 1 + .../webkit/WebCore/xml/XMLHttpRequestUpload.idl | 1 + src/3rdparty/webkit/WebCore/xml/XMLSerializer.idl | 2 +- src/3rdparty/webkit/WebCore/xml/XPathEvaluator.idl | 2 +- src/3rdparty/webkit/WebCore/xml/XPathException.idl | 1 + .../webkit/WebCore/xml/XPathExpression.idl | 3 +- .../webkit/WebCore/xml/XPathExpressionNode.h | 2 +- .../webkit/WebCore/xml/XPathNSResolver.idl | 2 +- src/3rdparty/webkit/WebCore/xml/XPathNodeSet.h | 2 +- src/3rdparty/webkit/WebCore/xml/XPathResult.idl | 2 +- src/3rdparty/webkit/WebCore/xml/XPathStep.cpp | 15 +- src/3rdparty/webkit/WebCore/xml/XPathStep.h | 2 +- src/3rdparty/webkit/WebCore/xml/XSLImportRule.cpp | 14 +- src/3rdparty/webkit/WebCore/xml/XSLImportRule.h | 2 +- src/3rdparty/webkit/WebCore/xml/XSLStyleSheet.h | 16 +- .../webkit/WebCore/xml/XSLStyleSheetLibxslt.cpp | 12 +- .../webkit/WebCore/xml/XSLStyleSheetQt.cpp | 4 +- src/3rdparty/webkit/WebCore/xml/XSLTProcessor.idl | 3 +- .../webkit/WebCore/xml/XSLTProcessorLibxslt.cpp | 11 +- .../webkit/WebCore/xml/XSLTProcessorQt.cpp | 4 +- src/3rdparty/webkit/WebCore/xml/xmlnsattrs.in | 4 - src/3rdparty/webkit/WebKit.pri | 96 +- src/3rdparty/webkit/WebKit/ChangeLog | 214 - .../webkit/WebKit/StringsNotToBeLocalized.txt | 45 +- .../webkit/WebKit/mac/ChangeLog-2010-01-29 | 23230 ----- .../WebKit/mac/Configurations/Version.xcconfig | 4 +- .../webkit/WebKit/qt/Api/DerivedSources.pro | 108 - .../webkit/WebKit/qt/Api/qgraphicswebview.cpp | 267 +- .../webkit/WebKit/qt/Api/qgraphicswebview.h | 8 - src/3rdparty/webkit/WebKit/qt/Api/qwebelement.cpp | 1 + src/3rdparty/webkit/WebKit/qt/Api/qwebelement.h | 9 - src/3rdparty/webkit/WebKit/qt/Api/qwebframe.cpp | 237 +- src/3rdparty/webkit/WebKit/qt/Api/qwebframe.h | 11 +- src/3rdparty/webkit/WebKit/qt/Api/qwebframe_p.h | 5 +- .../webkit/WebKit/qt/Api/qwebinspector.cpp | 14 +- src/3rdparty/webkit/WebKit/qt/Api/qwebinspector.h | 1 - src/3rdparty/webkit/WebKit/qt/Api/qwebkitglobal.h | 11 + src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp | 219 +- src/3rdparty/webkit/WebKit/qt/Api/qwebpage.h | 18 + src/3rdparty/webkit/WebKit/qt/Api/qwebpage_p.h | 18 +- .../webkit/WebKit/qt/Api/qwebsecurityorigin.cpp | 5 - src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.cpp | 20 +- src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.h | 8 +- src/3rdparty/webkit/WebKit/qt/Api/qwebview.cpp | 169 +- src/3rdparty/webkit/WebKit/qt/Api/qwebview.h | 6 + src/3rdparty/webkit/WebKit/qt/ChangeLog | 2259 +- .../WebKit/qt/WebCoreSupport/ChromeClientQt.cpp | 68 +- .../WebKit/qt/WebCoreSupport/ChromeClientQt.h | 21 - .../WebKit/qt/WebCoreSupport/DragClientQt.cpp | 39 +- .../WebKit/qt/WebCoreSupport/EditorClientQt.cpp | 22 +- .../qt/WebCoreSupport/FrameLoaderClientQt.cpp | 143 +- .../WebKit/qt/WebCoreSupport/FrameLoaderClientQt.h | 10 +- .../WebKit/qt/WebCoreSupport/InspectorClientQt.cpp | 97 +- .../WebKit/qt/WebCoreSupport/InspectorClientQt.h | 5 +- .../qt/WebCoreSupport/QtFallbackWebPopup.cpp | 169 - .../WebKit/qt/WebCoreSupport/QtFallbackWebPopup.h | 65 - .../webkit/WebKit/qt/docs/qtwebkit.qdocconf | 2 +- .../qt/docs/webkitsnippets/webelement/main.cpp | 4 +- .../webkit/WebKit/qt/symbian/eabi/QtWebKitu.def | 4 - .../WebKit/qt/tests/benchmarks/loading/loading.pro | 1 - .../qt/tests/benchmarks/loading/tst_loading.pro | 11 + .../qt/tests/benchmarks/painting/painting.pro | 1 - .../qt/tests/benchmarks/painting/tst_painting.pro | 11 + .../WebKit/qt/tests/hybridPixmap/hybridPixmap.pro | 10 - .../WebKit/qt/tests/hybridPixmap/resources.qrc | 5 - .../webkit/WebKit/qt/tests/hybridPixmap/test.html | 65 - .../qt/tests/hybridPixmap/tst_hybridPixmap.cpp | 52 - .../webkit/WebKit/qt/tests/hybridPixmap/widget.cpp | 119 - .../webkit/WebKit/qt/tests/hybridPixmap/widget.h | 70 - .../webkit/WebKit/qt/tests/hybridPixmap/widget.ui | 95 - .../qt/tests/qgraphicswebview/qgraphicswebview.pro | 11 +- .../qgraphicswebview/tst_qgraphicswebview.cpp | 29 +- .../webkit/WebKit/qt/tests/qwebelement/image.png | Bin 0 -> 14743 bytes .../WebKit/qt/tests/qwebelement/qwebelement.pro | 13 +- .../WebKit/qt/tests/qwebelement/qwebelement.qrc | 7 + .../qt/tests/qwebelement/resources/image.png | Bin 14743 -> 0 bytes .../qt/tests/qwebelement/resources/style.css | 1 - .../qt/tests/qwebelement/resources/style2.css | 1 - .../webkit/WebKit/qt/tests/qwebelement/style.css | 1 + .../webkit/WebKit/qt/tests/qwebelement/style2.css | 1 + .../qt/tests/qwebelement/tst_qwebelement.cpp | 30 +- .../qt/tests/qwebelement/tst_qwebelement.qrc | 7 - .../webkit/WebKit/qt/tests/qwebframe/image.png | Bin 0 -> 14743 bytes .../webkit/WebKit/qt/tests/qwebframe/qwebframe.pro | 14 +- .../webkit/WebKit/qt/tests/qwebframe/qwebframe.qrc | 10 + .../WebKit/qt/tests/qwebframe/resources/image.png | Bin 14743 -> 0 bytes .../WebKit/qt/tests/qwebframe/resources/image2.png | Bin 0 -> 14743 bytes .../WebKit/qt/tests/qwebframe/resources/style.css | 1 - .../WebKit/qt/tests/qwebframe/resources/test1.html | 1 - .../WebKit/qt/tests/qwebframe/resources/test2.html | 1 - .../qt/tests/qwebframe/resources/testiframe.html | 54 - .../qt/tests/qwebframe/resources/testiframe2.html | 21 - .../webkit/WebKit/qt/tests/qwebframe/style.css | 1 + .../webkit/WebKit/qt/tests/qwebframe/test1.html | 1 + .../webkit/WebKit/qt/tests/qwebframe/test2.html | 1 + .../WebKit/qt/tests/qwebframe/testiframe.html | 54 + .../WebKit/qt/tests/qwebframe/testiframe2.html | 21 + .../WebKit/qt/tests/qwebframe/tst_qwebframe.cpp | 216 +- .../WebKit/qt/tests/qwebframe/tst_qwebframe.qrc | 10 - .../WebKit/qt/tests/qwebhistory/data/page1.html | 1 + .../WebKit/qt/tests/qwebhistory/data/page2.html | 1 + .../WebKit/qt/tests/qwebhistory/data/page3.html | 1 + .../WebKit/qt/tests/qwebhistory/data/page4.html | 1 + .../WebKit/qt/tests/qwebhistory/data/page5.html | 1 + .../WebKit/qt/tests/qwebhistory/data/page6.html | 1 + .../WebKit/qt/tests/qwebhistory/qwebhistory.pro | 13 +- .../qt/tests/qwebhistory/resources/page1.html | 1 - .../qt/tests/qwebhistory/resources/page2.html | 1 - .../qt/tests/qwebhistory/resources/page3.html | 1 - .../qt/tests/qwebhistory/resources/page4.html | 1 - .../qt/tests/qwebhistory/resources/page5.html | 1 - .../qt/tests/qwebhistory/resources/page6.html | 1 - .../qt/tests/qwebhistory/tst_qwebhistory.cpp | 2 +- .../qt/tests/qwebhistory/tst_qwebhistory.qrc | 12 +- .../qwebhistoryinterface/qwebhistoryinterface.pro | 12 +- .../qt/tests/qwebinspector/qwebinspector.pro | 1 - .../qt/tests/qwebinspector/tst_qwebinspector.cpp | 68 - .../qt/tests/qwebpage/frametest/frame_a.html | 2 + .../WebKit/qt/tests/qwebpage/frametest/iframe.html | 6 + .../qt/tests/qwebpage/frametest/iframe2.html | 7 + .../qt/tests/qwebpage/frametest/iframe3.html | 5 + .../WebKit/qt/tests/qwebpage/frametest/index.html | 4 + .../webkit/WebKit/qt/tests/qwebpage/qwebpage.pro | 14 +- .../qt/tests/qwebpage/resources/frame_a.html | 2 - .../WebKit/qt/tests/qwebpage/resources/iframe.html | 6 - .../qt/tests/qwebpage/resources/iframe2.html | 7 - .../qt/tests/qwebpage/resources/iframe3.html | 5 - .../WebKit/qt/tests/qwebpage/resources/index.html | 4 - .../WebKit/qt/tests/qwebpage/tst_qwebpage.cpp | 196 +- .../WebKit/qt/tests/qwebpage/tst_qwebpage.qrc | 10 +- .../qwebplugindatabase/qwebplugindatabase.pro | 12 +- .../WebKit/qt/tests/qwebview/data/frame_a.html | 2 + .../WebKit/qt/tests/qwebview/data/index.html | 4 + .../webkit/WebKit/qt/tests/qwebview/qwebview.pro | 14 +- .../qt/tests/qwebview/resources/frame_a.html | 2 - .../WebKit/qt/tests/qwebview/resources/index.html | 4 - .../WebKit/qt/tests/qwebview/tst_qwebview.cpp | 25 +- .../WebKit/qt/tests/qwebview/tst_qwebview.qrc | 4 +- .../webkit/WebKit/qt/tests/resources/image2.png | Bin 14743 -> 0 bytes src/3rdparty/webkit/WebKit/qt/tests/tests.pri | 23 - src/3rdparty/webkit/WebKit/qt/tests/tests.pro | 4 +- src/3rdparty/webkit/WebKit/qt/tests/util.h | 32 +- 3449 files changed, 137819 insertions(+), 290807 deletions(-) delete mode 100644 src/3rdparty/webkit/.gitattributes delete mode 100644 src/3rdparty/webkit/JavaScriptCore/API/APIShims.h delete mode 100644 src/3rdparty/webkit/JavaScriptCore/bytecompiler/NodesCodegen.cpp delete mode 100644 src/3rdparty/webkit/JavaScriptCore/create_jit_stubs delete mode 100644 src/3rdparty/webkit/JavaScriptCore/generated/GeneratedJITStubs_RVCT.h delete mode 100644 src/3rdparty/webkit/JavaScriptCore/jit/JITPropertyAccess32_64.cpp delete mode 100644 src/3rdparty/webkit/JavaScriptCore/os-win32/WinMain.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/profiler/HeavyProfile.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/profiler/HeavyProfile.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/profiler/TreeProfile.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/profiler/TreeProfile.h delete mode 100644 src/3rdparty/webkit/JavaScriptCore/qt/api/QtScript.pro delete mode 100644 src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptconverter_p.h delete mode 100644 src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptengine.cpp delete mode 100644 src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptengine.h delete mode 100644 src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptengine_p.cpp delete mode 100644 src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptengine_p.h delete mode 100644 src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptvalue.cpp delete mode 100644 src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptvalue.h delete mode 100644 src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptvalue_p.h delete mode 100644 src/3rdparty/webkit/JavaScriptCore/qt/api/qtscriptglobal.h delete mode 100644 src/3rdparty/webkit/JavaScriptCore/qt/tests/qscriptengine/qscriptengine.pro delete mode 100644 src/3rdparty/webkit/JavaScriptCore/qt/tests/qscriptengine/tst_qscriptengine.cpp delete mode 100644 src/3rdparty/webkit/JavaScriptCore/qt/tests/qscriptvalue/qscriptvalue.pro delete mode 100644 src/3rdparty/webkit/JavaScriptCore/qt/tests/qscriptvalue/tst_qscriptvalue.cpp delete mode 100644 src/3rdparty/webkit/JavaScriptCore/qt/tests/qscriptvalue/tst_qscriptvalue.h delete mode 100644 src/3rdparty/webkit/JavaScriptCore/qt/tests/qscriptvalue/tst_qscriptvalue_generated.cpp delete mode 100644 src/3rdparty/webkit/JavaScriptCore/qt/tests/tests.pri delete mode 100644 src/3rdparty/webkit/JavaScriptCore/qt/tests/tests.pro delete mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/JSStringBuilder.h delete mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/JSZombie.cpp delete mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/JSZombie.h delete mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/MarkStackNone.cpp delete mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/StringBuilder.h delete mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/UStringImpl.cpp delete mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/UStringImpl.h delete mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/WeakGCMap.h delete mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/WeakGCPtr.h delete mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/WeakRandom.h delete mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/Complex.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/GOwnPtr.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/GOwnPtr.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/PtrAndFlags.h delete mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/StringExtras.cpp delete mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/StringHashFunctions.h delete mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/ThreadIdentifierDataPthreads.cpp delete mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/ThreadIdentifierDataPthreads.h delete mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/ValueCheck.h delete mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/Vector3.h delete mode 100644 src/3rdparty/webkit/WebCore/ChangeLog-2010-01-29 delete mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/runtime/StringBuilder.h delete mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/runtime/UStringImpl.h delete mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/runtime/WeakGCMap.h delete mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/runtime/WeakGCPtr.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/wtf/PtrAndFlags.h delete mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/wtf/StringHashFunctions.h delete mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/wtf/ValueCheck.h delete mode 100644 src/3rdparty/webkit/WebCore/WebCore.ClientBasedGeolocation.exp delete mode 100644 src/3rdparty/webkit/WebCore/WebCore.pri delete mode 100644 src/3rdparty/webkit/WebCore/accessibility/AccessibilityMenuList.cpp delete mode 100644 src/3rdparty/webkit/WebCore/accessibility/AccessibilityMenuList.h delete mode 100644 src/3rdparty/webkit/WebCore/accessibility/AccessibilityMenuListOption.cpp delete mode 100644 src/3rdparty/webkit/WebCore/accessibility/AccessibilityMenuListOption.h delete mode 100644 src/3rdparty/webkit/WebCore/accessibility/AccessibilityMenuListPopup.cpp delete mode 100644 src/3rdparty/webkit/WebCore/accessibility/AccessibilityMenuListPopup.h delete mode 100644 src/3rdparty/webkit/WebCore/accessibility/AccessibilityScrollbar.cpp delete mode 100644 src/3rdparty/webkit/WebCore/accessibility/AccessibilityScrollbar.h delete mode 100644 src/3rdparty/webkit/WebCore/bindings/generic/BindingDOMWindow.h delete mode 100644 src/3rdparty/webkit/WebCore/bindings/generic/BindingElement.h delete mode 100644 src/3rdparty/webkit/WebCore/bindings/generic/BindingSecurity.h delete mode 100644 src/3rdparty/webkit/WebCore/bindings/generic/BindingSecurityBase.cpp delete mode 100644 src/3rdparty/webkit/WebCore/bindings/generic/BindingSecurityBase.h delete mode 100644 src/3rdparty/webkit/WebCore/bindings/generic/GenericBinding.h delete mode 100644 src/3rdparty/webkit/WebCore/bindings/generic/RuntimeEnabledFeatures.cpp delete mode 100644 src/3rdparty/webkit/WebCore/bindings/generic/RuntimeEnabledFeatures.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/DOMObjectWithSVGContext.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSCanvasArrayBufferConstructor.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSCanvasArrayBufferConstructor.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSCanvasArrayCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSCanvasByteArrayConstructor.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSCanvasByteArrayConstructor.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSCanvasByteArrayCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSCanvasFloatArrayConstructor.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSCanvasFloatArrayConstructor.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSCanvasFloatArrayCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSCanvasIntArrayConstructor.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSCanvasIntArrayConstructor.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSCanvasIntArrayCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSCanvasRenderingContext3DCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSCanvasShortArrayConstructor.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSCanvasShortArrayConstructor.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSCanvasShortArrayCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSCanvasUnsignedByteArrayConstructor.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSCanvasUnsignedByteArrayConstructor.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSCanvasUnsignedByteArrayCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSCanvasUnsignedIntArrayConstructor.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSCanvasUnsignedIntArrayConstructor.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSCanvasUnsignedIntArrayCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSCanvasUnsignedShortArrayConstructor.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSCanvasUnsignedShortArrayConstructor.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSCanvasUnsignedShortArrayCustom.cpp delete mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSInjectedScriptHostCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSInspectedObjectWrapper.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSInspectedObjectWrapper.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSInspectorBackendCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSInspectorCallbackWrapper.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSInspectorCallbackWrapper.h delete mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSInspectorFrontendHostCustom.cpp delete mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSPopStateEventCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSQuarantinedObjectWrapper.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSQuarantinedObjectWrapper.h delete mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSSVGContextCache.h delete mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSSVGPODListCustom.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSSVGPointListCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSSVGTransformListCustom.cpp delete mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSWebGLArrayBufferConstructor.cpp delete mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSWebGLArrayBufferConstructor.h delete mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSWebGLArrayCustom.cpp delete mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSWebGLArrayHelper.h delete mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSWebGLByteArrayConstructor.cpp delete mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSWebGLByteArrayConstructor.h delete mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSWebGLByteArrayCustom.cpp delete mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSWebGLFloatArrayConstructor.cpp delete mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSWebGLFloatArrayConstructor.h delete mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSWebGLFloatArrayCustom.cpp delete mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSWebGLIntArrayConstructor.cpp delete mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSWebGLIntArrayConstructor.h delete mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSWebGLIntArrayCustom.cpp delete mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSWebGLRenderingContextCustom.cpp delete mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSWebGLShortArrayConstructor.cpp delete mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSWebGLShortArrayConstructor.h delete mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSWebGLShortArrayCustom.cpp delete mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSWebGLUnsignedByteArrayConstructor.cpp delete mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSWebGLUnsignedByteArrayConstructor.h delete mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSWebGLUnsignedByteArrayCustom.cpp delete mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSWebGLUnsignedIntArrayConstructor.cpp delete mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSWebGLUnsignedIntArrayConstructor.h delete mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSWebGLUnsignedIntArrayCustom.cpp delete mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSWebGLUnsignedShortArrayConstructor.cpp delete mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSWebGLUnsignedShortArrayConstructor.h delete mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSWebGLUnsignedShortArrayCustom.cpp delete mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JavaScriptProfile.cpp delete mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JavaScriptProfile.h delete mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JavaScriptProfileNode.cpp delete mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JavaScriptProfileNode.h delete mode 100644 src/3rdparty/webkit/WebCore/bindings/js/ScriptDebugServer.cpp delete mode 100644 src/3rdparty/webkit/WebCore/bindings/js/ScriptDebugServer.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/ScriptObjectQuarantine.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/ScriptObjectQuarantine.h delete mode 100644 src/3rdparty/webkit/WebCore/bindings/js/ScriptProfile.h delete mode 100644 src/3rdparty/webkit/WebCore/bindings/js/ScriptProfiler.cpp delete mode 100644 src/3rdparty/webkit/WebCore/bindings/js/ScriptProfiler.h delete mode 100644 src/3rdparty/webkit/WebCore/bindings/js/ScriptWrappable.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorCOM.pm delete mode 100644 src/3rdparty/webkit/WebCore/bridge/Bridge.h delete mode 100644 src/3rdparty/webkit/WebCore/bridge/jni/JNIBridge.cpp delete mode 100644 src/3rdparty/webkit/WebCore/bridge/jni/JNIBridge.h delete mode 100644 src/3rdparty/webkit/WebCore/bridge/jni/JNIUtility.cpp delete mode 100644 src/3rdparty/webkit/WebCore/bridge/jni/JNIUtility.h create mode 100644 src/3rdparty/webkit/WebCore/bridge/jni/jni_class.cpp create mode 100644 src/3rdparty/webkit/WebCore/bridge/jni/jni_class.h create mode 100644 src/3rdparty/webkit/WebCore/bridge/jni/jni_instance.cpp create mode 100644 src/3rdparty/webkit/WebCore/bridge/jni/jni_instance.h create mode 100644 src/3rdparty/webkit/WebCore/bridge/jni/jni_runtime.cpp create mode 100644 src/3rdparty/webkit/WebCore/bridge/jni/jni_runtime.h create mode 100644 src/3rdparty/webkit/WebCore/bridge/jni/jni_utility.cpp create mode 100644 src/3rdparty/webkit/WebCore/bridge/jni/jni_utility.h delete mode 100644 src/3rdparty/webkit/WebCore/bridge/jni/jsc/JNIBridgeJSC.cpp delete mode 100644 src/3rdparty/webkit/WebCore/bridge/jni/jsc/JNIBridgeJSC.h delete mode 100644 src/3rdparty/webkit/WebCore/bridge/jni/jsc/JNIUtilityPrivate.cpp delete mode 100644 src/3rdparty/webkit/WebCore/bridge/jni/jsc/JNIUtilityPrivate.h delete mode 100644 src/3rdparty/webkit/WebCore/bridge/jni/jsc/JavaClassJSC.cpp delete mode 100644 src/3rdparty/webkit/WebCore/bridge/jni/jsc/JavaClassJSC.h delete mode 100644 src/3rdparty/webkit/WebCore/bridge/jni/jsc/JavaInstanceJSC.cpp delete mode 100644 src/3rdparty/webkit/WebCore/bridge/jni/jsc/JavaInstanceJSC.h delete mode 100644 src/3rdparty/webkit/WebCore/bridge/jni/jsc/JavaStringJSC.h delete mode 100644 src/3rdparty/webkit/WebCore/bridge/jni/v8/JNIBridgeV8.cpp delete mode 100644 src/3rdparty/webkit/WebCore/bridge/jni/v8/JNIBridgeV8.h delete mode 100644 src/3rdparty/webkit/WebCore/bridge/jni/v8/JNIUtilityPrivate.cpp delete mode 100644 src/3rdparty/webkit/WebCore/bridge/jni/v8/JNIUtilityPrivate.h delete mode 100644 src/3rdparty/webkit/WebCore/bridge/jni/v8/JavaClassV8.cpp delete mode 100644 src/3rdparty/webkit/WebCore/bridge/jni/v8/JavaClassV8.h delete mode 100644 src/3rdparty/webkit/WebCore/bridge/jni/v8/JavaInstanceV8.cpp delete mode 100644 src/3rdparty/webkit/WebCore/bridge/jni/v8/JavaInstanceV8.h delete mode 100644 src/3rdparty/webkit/WebCore/bridge/jni/v8/JavaNPObjectV8.cpp delete mode 100644 src/3rdparty/webkit/WebCore/bridge/jni/v8/JavaNPObjectV8.h delete mode 100644 src/3rdparty/webkit/WebCore/bridge/jni/v8/JavaStringV8.h delete mode 100644 src/3rdparty/webkit/WebCore/bridge/jsc/BridgeJSC.cpp delete mode 100644 src/3rdparty/webkit/WebCore/bridge/jsc/BridgeJSC.h delete mode 100644 src/3rdparty/webkit/WebCore/bridge/qt/qt_pixmapruntime.cpp delete mode 100644 src/3rdparty/webkit/WebCore/bridge/qt/qt_pixmapruntime.h create mode 100644 src/3rdparty/webkit/WebCore/bridge/runtime.cpp create mode 100644 src/3rdparty/webkit/WebCore/bridge/runtime.h delete mode 100644 src/3rdparty/webkit/WebCore/css/mediaControlsGtk.css create mode 100644 src/3rdparty/webkit/WebCore/dom/ClassNames.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/ClassNames.h delete mode 100644 src/3rdparty/webkit/WebCore/dom/CompositionEvent.cpp delete mode 100644 src/3rdparty/webkit/WebCore/dom/CompositionEvent.h delete mode 100644 src/3rdparty/webkit/WebCore/dom/CompositionEvent.idl delete mode 100644 src/3rdparty/webkit/WebCore/dom/PopStateEvent.cpp delete mode 100644 src/3rdparty/webkit/WebCore/dom/PopStateEvent.h delete mode 100644 src/3rdparty/webkit/WebCore/dom/PopStateEvent.idl delete mode 100644 src/3rdparty/webkit/WebCore/dom/SpaceSplitString.cpp delete mode 100644 src/3rdparty/webkit/WebCore/dom/SpaceSplitString.h delete mode 100644 src/3rdparty/webkit/WebCore/dom/Touch.cpp delete mode 100644 src/3rdparty/webkit/WebCore/dom/Touch.h delete mode 100644 src/3rdparty/webkit/WebCore/dom/Touch.idl delete mode 100644 src/3rdparty/webkit/WebCore/dom/TouchEvent.cpp delete mode 100644 src/3rdparty/webkit/WebCore/dom/TouchEvent.h delete mode 100644 src/3rdparty/webkit/WebCore/dom/TouchEvent.idl delete mode 100644 src/3rdparty/webkit/WebCore/dom/TouchList.cpp delete mode 100644 src/3rdparty/webkit/WebCore/dom/TouchList.h delete mode 100644 src/3rdparty/webkit/WebCore/dom/TouchList.idl create mode 100644 src/3rdparty/webkit/WebCore/editing/android/EditorAndroid.cpp create mode 100644 src/3rdparty/webkit/WebCore/editing/chromium/EditorChromium.cpp create mode 100644 src/3rdparty/webkit/WebCore/editing/gtk/SelectionControllerGtk.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/ArrayPrototype.lut.h create mode 100644 src/3rdparty/webkit/WebCore/generated/DatePrototype.lut.h create mode 100644 src/3rdparty/webkit/WebCore/generated/Grammar.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/Grammar.h delete mode 100644 src/3rdparty/webkit/WebCore/generated/JSBlob.cpp delete mode 100644 src/3rdparty/webkit/WebCore/generated/JSBlob.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSCanvasArray.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSCanvasArray.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSCanvasArrayBuffer.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSCanvasArrayBuffer.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSCanvasByteArray.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSCanvasByteArray.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSCanvasFloatArray.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSCanvasFloatArray.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSCanvasIntArray.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSCanvasIntArray.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext3D.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext3D.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSCanvasShortArray.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSCanvasShortArray.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSCanvasUnsignedByteArray.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSCanvasUnsignedByteArray.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSCanvasUnsignedIntArray.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSCanvasUnsignedIntArray.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSCanvasUnsignedShortArray.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSCanvasUnsignedShortArray.h delete mode 100644 src/3rdparty/webkit/WebCore/generated/JSCompositionEvent.cpp delete mode 100644 src/3rdparty/webkit/WebCore/generated/JSCompositionEvent.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSDOMWindowBase.lut.h delete mode 100644 src/3rdparty/webkit/WebCore/generated/JSInjectedScriptHost.cpp delete mode 100644 src/3rdparty/webkit/WebCore/generated/JSInjectedScriptHost.h delete mode 100644 src/3rdparty/webkit/WebCore/generated/JSInspectorFrontendHost.cpp delete mode 100644 src/3rdparty/webkit/WebCore/generated/JSInspectorFrontendHost.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSONObject.lut.h delete mode 100644 src/3rdparty/webkit/WebCore/generated/JSPopStateEvent.cpp delete mode 100644 src/3rdparty/webkit/WebCore/generated/JSPopStateEvent.h delete mode 100644 src/3rdparty/webkit/WebCore/generated/JSTouch.cpp delete mode 100644 src/3rdparty/webkit/WebCore/generated/JSTouch.h delete mode 100644 src/3rdparty/webkit/WebCore/generated/JSTouchEvent.cpp delete mode 100644 src/3rdparty/webkit/WebCore/generated/JSTouchEvent.h delete mode 100644 src/3rdparty/webkit/WebCore/generated/JSTouchList.cpp delete mode 100644 src/3rdparty/webkit/WebCore/generated/JSTouchList.h delete mode 100644 src/3rdparty/webkit/WebCore/generated/JSWebGLArray.cpp delete mode 100644 src/3rdparty/webkit/WebCore/generated/JSWebGLArray.h delete mode 100644 src/3rdparty/webkit/WebCore/generated/JSWebGLArrayBuffer.cpp delete mode 100644 src/3rdparty/webkit/WebCore/generated/JSWebGLArrayBuffer.h delete mode 100644 src/3rdparty/webkit/WebCore/generated/JSWebGLByteArray.cpp delete mode 100644 src/3rdparty/webkit/WebCore/generated/JSWebGLByteArray.h delete mode 100644 src/3rdparty/webkit/WebCore/generated/JSWebGLFloatArray.cpp delete mode 100644 src/3rdparty/webkit/WebCore/generated/JSWebGLFloatArray.h delete mode 100644 src/3rdparty/webkit/WebCore/generated/JSWebGLIntArray.cpp delete mode 100644 src/3rdparty/webkit/WebCore/generated/JSWebGLIntArray.h delete mode 100644 src/3rdparty/webkit/WebCore/generated/JSWebGLRenderingContext.cpp delete mode 100644 src/3rdparty/webkit/WebCore/generated/JSWebGLRenderingContext.h delete mode 100644 src/3rdparty/webkit/WebCore/generated/JSWebGLShortArray.cpp delete mode 100644 src/3rdparty/webkit/WebCore/generated/JSWebGLShortArray.h delete mode 100644 src/3rdparty/webkit/WebCore/generated/JSWebGLUnsignedByteArray.cpp delete mode 100644 src/3rdparty/webkit/WebCore/generated/JSWebGLUnsignedByteArray.h delete mode 100644 src/3rdparty/webkit/WebCore/generated/JSWebGLUnsignedIntArray.cpp delete mode 100644 src/3rdparty/webkit/WebCore/generated/JSWebGLUnsignedIntArray.h delete mode 100644 src/3rdparty/webkit/WebCore/generated/JSWebGLUnsignedShortArray.cpp delete mode 100644 src/3rdparty/webkit/WebCore/generated/JSWebGLUnsignedShortArray.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSWorkerContextBase.lut.h create mode 100644 src/3rdparty/webkit/WebCore/generated/Lexer.lut.h create mode 100644 src/3rdparty/webkit/WebCore/generated/MathObject.lut.h create mode 100644 src/3rdparty/webkit/WebCore/generated/NumberConstructor.lut.h create mode 100644 src/3rdparty/webkit/WebCore/generated/RegExpConstructor.lut.h create mode 100644 src/3rdparty/webkit/WebCore/generated/RegExpObject.lut.h create mode 100644 src/3rdparty/webkit/WebCore/generated/StringPrototype.lut.h delete mode 100644 src/3rdparty/webkit/WebCore/generated/XMLNSNames.cpp delete mode 100644 src/3rdparty/webkit/WebCore/generated/XMLNSNames.h create mode 100644 src/3rdparty/webkit/WebCore/generated/chartables.c delete mode 100644 src/3rdparty/webkit/WebCore/html/Blob.cpp delete mode 100644 src/3rdparty/webkit/WebCore/html/Blob.h delete mode 100644 src/3rdparty/webkit/WebCore/html/Blob.idl delete mode 100644 src/3rdparty/webkit/WebCore/html/DateComponents.cpp delete mode 100644 src/3rdparty/webkit/WebCore/html/DateComponents.h create mode 100644 src/3rdparty/webkit/WebCore/html/canvas/CanvasActiveInfo.h create mode 100644 src/3rdparty/webkit/WebCore/html/canvas/CanvasActiveInfo.idl create mode 100644 src/3rdparty/webkit/WebCore/html/canvas/CanvasArray.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/canvas/CanvasArray.h create mode 100644 src/3rdparty/webkit/WebCore/html/canvas/CanvasArray.idl create mode 100644 src/3rdparty/webkit/WebCore/html/canvas/CanvasArrayBuffer.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/canvas/CanvasArrayBuffer.h create mode 100644 src/3rdparty/webkit/WebCore/html/canvas/CanvasArrayBuffer.idl create mode 100644 src/3rdparty/webkit/WebCore/html/canvas/CanvasBuffer.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/canvas/CanvasBuffer.h create mode 100644 src/3rdparty/webkit/WebCore/html/canvas/CanvasBuffer.idl create mode 100644 src/3rdparty/webkit/WebCore/html/canvas/CanvasByteArray.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/canvas/CanvasByteArray.h create mode 100644 src/3rdparty/webkit/WebCore/html/canvas/CanvasByteArray.idl delete mode 100644 src/3rdparty/webkit/WebCore/html/canvas/CanvasContextAttributes.cpp delete mode 100644 src/3rdparty/webkit/WebCore/html/canvas/CanvasContextAttributes.h create mode 100644 src/3rdparty/webkit/WebCore/html/canvas/CanvasFloatArray.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/canvas/CanvasFloatArray.h create mode 100644 src/3rdparty/webkit/WebCore/html/canvas/CanvasFloatArray.idl create mode 100644 src/3rdparty/webkit/WebCore/html/canvas/CanvasFramebuffer.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/canvas/CanvasFramebuffer.h create mode 100644 src/3rdparty/webkit/WebCore/html/canvas/CanvasFramebuffer.idl create mode 100644 src/3rdparty/webkit/WebCore/html/canvas/CanvasIntArray.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/canvas/CanvasIntArray.h create mode 100644 src/3rdparty/webkit/WebCore/html/canvas/CanvasIntArray.idl create mode 100644 src/3rdparty/webkit/WebCore/html/canvas/CanvasProgram.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/canvas/CanvasProgram.h create mode 100644 src/3rdparty/webkit/WebCore/html/canvas/CanvasProgram.idl create mode 100644 src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderbuffer.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderbuffer.h create mode 100644 src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderbuffer.idl create mode 100644 src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderingContext3D.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderingContext3D.h create mode 100644 src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderingContext3D.idl create mode 100644 src/3rdparty/webkit/WebCore/html/canvas/CanvasShader.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/canvas/CanvasShader.h create mode 100644 src/3rdparty/webkit/WebCore/html/canvas/CanvasShader.idl create mode 100644 src/3rdparty/webkit/WebCore/html/canvas/CanvasShortArray.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/canvas/CanvasShortArray.h create mode 100644 src/3rdparty/webkit/WebCore/html/canvas/CanvasShortArray.idl create mode 100644 src/3rdparty/webkit/WebCore/html/canvas/CanvasTexture.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/canvas/CanvasTexture.h create mode 100644 src/3rdparty/webkit/WebCore/html/canvas/CanvasTexture.idl create mode 100644 src/3rdparty/webkit/WebCore/html/canvas/CanvasUnsignedByteArray.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/canvas/CanvasUnsignedByteArray.h create mode 100644 src/3rdparty/webkit/WebCore/html/canvas/CanvasUnsignedByteArray.idl create mode 100644 src/3rdparty/webkit/WebCore/html/canvas/CanvasUnsignedIntArray.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/canvas/CanvasUnsignedIntArray.h create mode 100644 src/3rdparty/webkit/WebCore/html/canvas/CanvasUnsignedIntArray.idl create mode 100644 src/3rdparty/webkit/WebCore/html/canvas/CanvasUnsignedShortArray.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/canvas/CanvasUnsignedShortArray.h create mode 100644 src/3rdparty/webkit/WebCore/html/canvas/CanvasUnsignedShortArray.idl delete mode 100644 src/3rdparty/webkit/WebCore/html/canvas/WebGLActiveInfo.h delete mode 100644 src/3rdparty/webkit/WebCore/html/canvas/WebGLActiveInfo.idl delete mode 100644 src/3rdparty/webkit/WebCore/html/canvas/WebGLArray.cpp delete mode 100644 src/3rdparty/webkit/WebCore/html/canvas/WebGLArray.h delete mode 100644 src/3rdparty/webkit/WebCore/html/canvas/WebGLArray.idl delete mode 100644 src/3rdparty/webkit/WebCore/html/canvas/WebGLArrayBuffer.cpp delete mode 100644 src/3rdparty/webkit/WebCore/html/canvas/WebGLArrayBuffer.h delete mode 100644 src/3rdparty/webkit/WebCore/html/canvas/WebGLArrayBuffer.idl delete mode 100644 src/3rdparty/webkit/WebCore/html/canvas/WebGLBuffer.cpp delete mode 100644 src/3rdparty/webkit/WebCore/html/canvas/WebGLBuffer.h delete mode 100644 src/3rdparty/webkit/WebCore/html/canvas/WebGLBuffer.idl delete mode 100644 src/3rdparty/webkit/WebCore/html/canvas/WebGLByteArray.cpp delete mode 100644 src/3rdparty/webkit/WebCore/html/canvas/WebGLByteArray.h delete mode 100644 src/3rdparty/webkit/WebCore/html/canvas/WebGLByteArray.idl delete mode 100644 src/3rdparty/webkit/WebCore/html/canvas/WebGLContextAttributes.cpp delete mode 100644 src/3rdparty/webkit/WebCore/html/canvas/WebGLContextAttributes.h delete mode 100644 src/3rdparty/webkit/WebCore/html/canvas/WebGLContextAttributes.idl delete mode 100644 src/3rdparty/webkit/WebCore/html/canvas/WebGLFloatArray.cpp delete mode 100644 src/3rdparty/webkit/WebCore/html/canvas/WebGLFloatArray.h delete mode 100644 src/3rdparty/webkit/WebCore/html/canvas/WebGLFloatArray.idl delete mode 100644 src/3rdparty/webkit/WebCore/html/canvas/WebGLFramebuffer.cpp delete mode 100644 src/3rdparty/webkit/WebCore/html/canvas/WebGLFramebuffer.h delete mode 100644 src/3rdparty/webkit/WebCore/html/canvas/WebGLFramebuffer.idl delete mode 100644 src/3rdparty/webkit/WebCore/html/canvas/WebGLGetInfo.cpp delete mode 100644 src/3rdparty/webkit/WebCore/html/canvas/WebGLGetInfo.h delete mode 100644 src/3rdparty/webkit/WebCore/html/canvas/WebGLIntArray.cpp delete mode 100644 src/3rdparty/webkit/WebCore/html/canvas/WebGLIntArray.h delete mode 100644 src/3rdparty/webkit/WebCore/html/canvas/WebGLIntArray.idl delete mode 100644 src/3rdparty/webkit/WebCore/html/canvas/WebGLProgram.cpp delete mode 100644 src/3rdparty/webkit/WebCore/html/canvas/WebGLProgram.h delete mode 100644 src/3rdparty/webkit/WebCore/html/canvas/WebGLProgram.idl delete mode 100644 src/3rdparty/webkit/WebCore/html/canvas/WebGLRenderbuffer.cpp delete mode 100644 src/3rdparty/webkit/WebCore/html/canvas/WebGLRenderbuffer.h delete mode 100644 src/3rdparty/webkit/WebCore/html/canvas/WebGLRenderbuffer.idl delete mode 100644 src/3rdparty/webkit/WebCore/html/canvas/WebGLRenderingContext.cpp delete mode 100644 src/3rdparty/webkit/WebCore/html/canvas/WebGLRenderingContext.h delete mode 100644 src/3rdparty/webkit/WebCore/html/canvas/WebGLRenderingContext.idl delete mode 100644 src/3rdparty/webkit/WebCore/html/canvas/WebGLShader.cpp delete mode 100644 src/3rdparty/webkit/WebCore/html/canvas/WebGLShader.h delete mode 100644 src/3rdparty/webkit/WebCore/html/canvas/WebGLShader.idl delete mode 100644 src/3rdparty/webkit/WebCore/html/canvas/WebGLShortArray.cpp delete mode 100644 src/3rdparty/webkit/WebCore/html/canvas/WebGLShortArray.h delete mode 100644 src/3rdparty/webkit/WebCore/html/canvas/WebGLShortArray.idl delete mode 100644 src/3rdparty/webkit/WebCore/html/canvas/WebGLTexture.cpp delete mode 100644 src/3rdparty/webkit/WebCore/html/canvas/WebGLTexture.h delete mode 100644 src/3rdparty/webkit/WebCore/html/canvas/WebGLTexture.idl delete mode 100644 src/3rdparty/webkit/WebCore/html/canvas/WebGLUniformLocation.cpp delete mode 100644 src/3rdparty/webkit/WebCore/html/canvas/WebGLUniformLocation.h delete mode 100644 src/3rdparty/webkit/WebCore/html/canvas/WebGLUniformLocation.idl delete mode 100644 src/3rdparty/webkit/WebCore/html/canvas/WebGLUnsignedByteArray.cpp delete mode 100644 src/3rdparty/webkit/WebCore/html/canvas/WebGLUnsignedByteArray.h delete mode 100644 src/3rdparty/webkit/WebCore/html/canvas/WebGLUnsignedByteArray.idl delete mode 100644 src/3rdparty/webkit/WebCore/html/canvas/WebGLUnsignedIntArray.cpp delete mode 100644 src/3rdparty/webkit/WebCore/html/canvas/WebGLUnsignedIntArray.h delete mode 100644 src/3rdparty/webkit/WebCore/html/canvas/WebGLUnsignedIntArray.idl delete mode 100644 src/3rdparty/webkit/WebCore/html/canvas/WebGLUnsignedShortArray.cpp delete mode 100644 src/3rdparty/webkit/WebCore/html/canvas/WebGLUnsignedShortArray.h delete mode 100644 src/3rdparty/webkit/WebCore/html/canvas/WebGLUnsignedShortArray.idl delete mode 100644 src/3rdparty/webkit/WebCore/inspector/InjectedScript.cpp delete mode 100644 src/3rdparty/webkit/WebCore/inspector/InjectedScript.h delete mode 100644 src/3rdparty/webkit/WebCore/inspector/InjectedScriptHost.cpp delete mode 100644 src/3rdparty/webkit/WebCore/inspector/InjectedScriptHost.h delete mode 100644 src/3rdparty/webkit/WebCore/inspector/InjectedScriptHost.idl mode change 100755 => 100644 src/3rdparty/webkit/WebCore/inspector/InspectorFrontend.cpp delete mode 100644 src/3rdparty/webkit/WebCore/inspector/InspectorFrontendHost.cpp delete mode 100644 src/3rdparty/webkit/WebCore/inspector/InspectorFrontendHost.h delete mode 100644 src/3rdparty/webkit/WebCore/inspector/InspectorFrontendHost.idl create mode 100644 src/3rdparty/webkit/WebCore/inspector/JavaScriptProfile.cpp create mode 100644 src/3rdparty/webkit/WebCore/inspector/JavaScriptProfile.h create mode 100644 src/3rdparty/webkit/WebCore/inspector/JavaScriptProfileNode.cpp create mode 100644 src/3rdparty/webkit/WebCore/inspector/JavaScriptProfileNode.h delete mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/AuditCategories.js delete mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/AuditLauncherView.js delete mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/AuditResultView.js delete mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/AuditRules.js delete mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/AuditsPanel.js delete mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/ConsolePanel.js delete mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/ContextMenu.js create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/DOMStorageDataGrid.js delete mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/DOMSyntaxHighlighter.js delete mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/consoleIcon.png delete mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/gearButtonGlyph.png delete mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/popoverArrows.png delete mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/popoverBackground.png delete mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/thumbActiveHoriz.png delete mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/thumbActiveVert.png delete mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/thumbHoriz.png delete mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/thumbHoverHoriz.png delete mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/thumbHoverVert.png delete mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/thumbVert.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/tipBalloon.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/tipBalloonBottom.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/tipIcon.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/tipIconPressed.png delete mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/trackHoriz.png delete mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/trackVert.png delete mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/InspectorBackendStub.js create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/InspectorControllerStub.js delete mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/InspectorFrontendHostStub.js delete mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Popover.js create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Popup.js delete mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Section.js delete mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Settings.js delete mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/SourceCSSTokenizer.js delete mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/SourceCSSTokenizer.re2js delete mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/SourceHTMLTokenizer.js delete mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/SourceHTMLTokenizer.re2js delete mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/SourceJavaScriptTokenizer.js delete mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/SourceJavaScriptTokenizer.re2js delete mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/SourceTokenizer.js delete mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/TextEditorHighlighter.js delete mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/TextEditorModel.js delete mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/TextViewer.js delete mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/TimelineGrid.js delete mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/TimelineOverviewPane.js delete mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/WelcomeView.js delete mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/audits.css delete mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/popover.css delete mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/textViewer.css delete mode 100644 src/3rdparty/webkit/WebCore/mathml/MathMLTextElement.cpp delete mode 100644 src/3rdparty/webkit/WebCore/mathml/MathMLTextElement.h delete mode 100644 src/3rdparty/webkit/WebCore/mathml/RenderMathMLBlock.cpp delete mode 100644 src/3rdparty/webkit/WebCore/mathml/RenderMathMLBlock.h delete mode 100644 src/3rdparty/webkit/WebCore/mathml/mathattrs.in delete mode 100644 src/3rdparty/webkit/WebCore/page/ContextMenuProvider.h delete mode 100644 src/3rdparty/webkit/WebCore/page/GeolocationController.cpp delete mode 100644 src/3rdparty/webkit/WebCore/page/GeolocationController.h delete mode 100644 src/3rdparty/webkit/WebCore/page/GeolocationControllerClient.h delete mode 100644 src/3rdparty/webkit/WebCore/page/GeolocationError.h delete mode 100644 src/3rdparty/webkit/WebCore/page/GeolocationPosition.h delete mode 100644 src/3rdparty/webkit/WebCore/page/MediaCanStartListener.h create mode 100644 src/3rdparty/webkit/WebCore/page/android/DragControllerAndroid.cpp create mode 100644 src/3rdparty/webkit/WebCore/page/android/EventHandlerAndroid.cpp create mode 100644 src/3rdparty/webkit/WebCore/page/android/InspectorControllerAndroid.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/PlatformTouchEvent.h delete mode 100644 src/3rdparty/webkit/WebCore/platform/PlatformTouchPoint.h create mode 100644 src/3rdparty/webkit/WebCore/platform/android/ClipboardAndroid.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/android/ClipboardAndroid.h create mode 100644 src/3rdparty/webkit/WebCore/platform/android/CursorAndroid.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/android/DragDataAndroid.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/android/EventLoopAndroid.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/android/FileChooserAndroid.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/android/FileSystemAndroid.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/android/KeyEventAndroid.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/android/KeyboardCodes.h create mode 100644 src/3rdparty/webkit/WebCore/platform/android/LocalizedStringsAndroid.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/android/PopupMenuAndroid.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/android/RenderThemeAndroid.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/android/RenderThemeAndroid.h create mode 100644 src/3rdparty/webkit/WebCore/platform/android/ScreenAndroid.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/android/ScrollViewAndroid.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/android/SearchPopupMenuAndroid.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/android/SystemTimeAndroid.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/android/TemporaryLinkStubs.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/android/WidgetAndroid.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/cf/BinaryPropertyList.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/cf/BinaryPropertyList.h delete mode 100644 src/3rdparty/webkit/WebCore/platform/cf/FileSystemCF.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/cf/KURLCFNet.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/cf/RunLoopTimerCF.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/cf/SchedulePair.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/cf/SchedulePair.h delete mode 100644 src/3rdparty/webkit/WebCore/platform/cf/SharedBufferCF.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/ColorSpace.h delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/GraphicsContext3D.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/TypesettingFeatures.h delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/filters/ImageBufferFilter.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/filters/ImageBufferFilter.h delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/opentype/OpenTypeSanitizer.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/opentype/OpenTypeSanitizer.h delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/openvg/EGLDisplayOpenVG.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/openvg/EGLDisplayOpenVG.h delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/openvg/EGLUtils.h delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/openvg/GraphicsContextOpenVG.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/openvg/PainterOpenVG.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/openvg/PainterOpenVG.h delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/openvg/SurfaceOpenVG.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/openvg/SurfaceOpenVG.h delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/openvg/VGUtils.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/openvg/VGUtils.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/qt/FontCustomPlatformData.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/qt/FontCustomPlatformDataQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/qt/FontFallbackListQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/qt/FontQt43.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/qt/GraphicsLayerQt.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/qt/GraphicsLayerQt.h delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/transforms/AffineTransform.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/transforms/AffineTransform.h delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/win/FontCGWin.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/win/FontCacheWin.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/win/FontCustomPlatformData.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/win/FontCustomPlatformData.h delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/win/FontCustomPlatformDataCairo.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/win/FontCustomPlatformDataCairo.h delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/win/FontDatabase.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/win/FontDatabase.h delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/win/FontPlatformData.h delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/win/FontPlatformDataCGWin.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/win/FontPlatformDataCairoWin.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/win/FontPlatformDataWin.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/win/FontWin.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/win/GlyphPageTreeNodeCGWin.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/win/GraphicsContextCGWin.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/win/GraphicsContextCairoWin.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/win/GraphicsContextWin.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/win/GraphicsLayerCACF.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/win/GraphicsLayerCACF.h delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/win/IconWin.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/win/ImageCGWin.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/win/ImageCairoWin.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/win/ImageWin.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/win/IntPointWin.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/win/IntRectWin.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/win/IntSizeWin.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/win/QTMovieWin.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/win/QTMovieWin.h delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/win/QTMovieWinTimer.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/win/QTMovieWinTimer.h delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/win/SimpleFontDataCGWin.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/win/SimpleFontDataCairoWin.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/win/SimpleFontDataWin.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/win/TransformationMatrixWin.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/win/UniscribeController.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/win/UniscribeController.h delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/win/WKCACFContextFlusher.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/win/WKCACFContextFlusher.h delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/win/WKCACFLayer.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/win/WKCACFLayer.h delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/win/WKCACFLayerRenderer.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/win/WKCACFLayerRenderer.h create mode 100644 src/3rdparty/webkit/WebCore/platform/image-decoders/wx/ImageDecoderWx.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/network/AuthenticationClient.h delete mode 100644 src/3rdparty/webkit/WebCore/platform/network/cf/AuthenticationCF.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/network/cf/AuthenticationCF.h delete mode 100644 src/3rdparty/webkit/WebCore/platform/network/cf/AuthenticationChallenge.h delete mode 100644 src/3rdparty/webkit/WebCore/platform/network/cf/CredentialStorageCFNet.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/network/cf/DNSCFNet.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/network/cf/FormDataStreamCFNet.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/network/cf/FormDataStreamCFNet.h delete mode 100644 src/3rdparty/webkit/WebCore/platform/network/cf/LoaderRunLoopCF.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/network/cf/LoaderRunLoopCF.h delete mode 100644 src/3rdparty/webkit/WebCore/platform/network/cf/ResourceError.h delete mode 100644 src/3rdparty/webkit/WebCore/platform/network/cf/ResourceErrorCF.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/network/cf/ResourceHandleCFNet.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/network/cf/ResourceRequest.h delete mode 100644 src/3rdparty/webkit/WebCore/platform/network/cf/ResourceRequestCFNet.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/network/cf/ResourceRequestCFNet.h delete mode 100644 src/3rdparty/webkit/WebCore/platform/network/cf/ResourceResponse.h delete mode 100644 src/3rdparty/webkit/WebCore/platform/network/cf/ResourceResponseCFNet.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/network/cf/SocketStreamError.h delete mode 100644 src/3rdparty/webkit/WebCore/platform/network/cf/SocketStreamHandle.h delete mode 100644 src/3rdparty/webkit/WebCore/platform/network/cf/SocketStreamHandleCFNet.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/network/qt/SocketStreamHandlePrivate.h delete mode 100644 src/3rdparty/webkit/WebCore/platform/network/qt/SocketStreamHandleQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/network/qt/SocketStreamHandleSoup.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/qt/PlatformTouchEventQt.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/qt/PlatformTouchPointQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/qt/QWebPopup.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/qt/QWebPopup.h delete mode 100644 src/3rdparty/webkit/WebCore/platform/qt/QtAbstractWebPopup.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/qt/QtAbstractWebPopup.h delete mode 100644 src/3rdparty/webkit/WebCore/platform/text/TextBoundaries.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/text/TextBoundariesICU.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/text/android/TextBreakIteratorInternalICU.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/text/qt/TextBoundaries.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/text/qt/TextBoundariesQt.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/text/wince/TextBoundariesWince.cpp delete mode 100644 src/3rdparty/webkit/WebCore/platform/text/wince/TextBreakIteratorWince.cpp delete mode 100644 src/3rdparty/webkit/WebCore/plugins/PluginWidget.h delete mode 100644 src/3rdparty/webkit/WebCore/plugins/mac/PluginWidgetMac.mm delete mode 100644 src/3rdparty/webkit/WebCore/rendering/BidiRun.cpp delete mode 100644 src/3rdparty/webkit/WebCore/rendering/BidiRun.h delete mode 100644 src/3rdparty/webkit/WebCore/rendering/InlineIterator.h delete mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderEmbeddedObject.cpp delete mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderEmbeddedObject.h delete mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderRuby.cpp delete mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderRuby.h delete mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderRubyBase.cpp delete mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderRubyBase.h delete mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderRubyRun.cpp delete mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderRubyRun.h delete mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderRubyText.cpp delete mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderRubyText.h delete mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderSVGResource.h delete mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderSVGResourceMasker.cpp delete mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderSVGResourceMasker.h delete mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderSVGShadowTreeRootContainer.cpp delete mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderSVGShadowTreeRootContainer.h delete mode 100644 src/3rdparty/webkit/WebCore/rendering/SVGMarkerData.h delete mode 100644 src/3rdparty/webkit/WebCore/rendering/SVGMarkerLayoutInfo.cpp delete mode 100644 src/3rdparty/webkit/WebCore/rendering/SVGMarkerLayoutInfo.h delete mode 100644 src/3rdparty/webkit/WebCore/rendering/SVGShadowTreeElements.cpp delete mode 100644 src/3rdparty/webkit/WebCore/rendering/SVGShadowTreeElements.h delete mode 100644 src/3rdparty/webkit/WebCore/rendering/TrailingFloatsRootInlineBox.h delete mode 100644 src/3rdparty/webkit/WebCore/rendering/style/LineClampValue.h delete mode 100644 src/3rdparty/webkit/WebCore/storage/IDBDatabaseError.h delete mode 100644 src/3rdparty/webkit/WebCore/storage/IDBDatabaseError.idl delete mode 100644 src/3rdparty/webkit/WebCore/storage/IDBDatabaseException.h delete mode 100644 src/3rdparty/webkit/WebCore/storage/IDBDatabaseException.idl delete mode 100644 src/3rdparty/webkit/WebCore/storage/IDBRequest.cpp delete mode 100644 src/3rdparty/webkit/WebCore/storage/IDBRequest.h delete mode 100644 src/3rdparty/webkit/WebCore/storage/IDBRequest.idl delete mode 100644 src/3rdparty/webkit/WebCore/storage/IndexedDatabaseRequest.cpp delete mode 100644 src/3rdparty/webkit/WebCore/storage/IndexedDatabaseRequest.h delete mode 100644 src/3rdparty/webkit/WebCore/storage/IndexedDatabaseRequest.idl delete mode 100644 src/3rdparty/webkit/WebCore/svg/SVGAnimatedPropertySynchronizer.h delete mode 100644 src/3rdparty/webkit/WebCore/svg/SVGAnimatedPropertyTraits.h delete mode 100644 src/3rdparty/webkit/WebCore/svg/SVGElementRareData.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SynchronizablePropertyController.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SynchronizablePropertyController.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SynchronizableTypeWrapper.h create mode 100644 src/3rdparty/webkit/WebCore/svg/graphics/SVGResourceMasker.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/graphics/SVGResourceMasker.h delete mode 100644 src/3rdparty/webkit/WebCore/websockets/ThreadableWebSocketChannel.cpp delete mode 100644 src/3rdparty/webkit/WebCore/websockets/ThreadableWebSocketChannel.h delete mode 100644 src/3rdparty/webkit/WebCore/websockets/ThreadableWebSocketChannelClientWrapper.h delete mode 100644 src/3rdparty/webkit/WebCore/websockets/WorkerThreadableWebSocketChannel.cpp delete mode 100644 src/3rdparty/webkit/WebCore/websockets/WorkerThreadableWebSocketChannel.h delete mode 100644 src/3rdparty/webkit/WebCore/xml/xmlnsattrs.in delete mode 100644 src/3rdparty/webkit/WebKit/mac/ChangeLog-2010-01-29 delete mode 100644 src/3rdparty/webkit/WebKit/qt/Api/DerivedSources.pro delete mode 100644 src/3rdparty/webkit/WebKit/qt/WebCoreSupport/QtFallbackWebPopup.cpp delete mode 100644 src/3rdparty/webkit/WebKit/qt/WebCoreSupport/QtFallbackWebPopup.h delete mode 100644 src/3rdparty/webkit/WebKit/qt/tests/benchmarks/loading/loading.pro create mode 100644 src/3rdparty/webkit/WebKit/qt/tests/benchmarks/loading/tst_loading.pro delete mode 100644 src/3rdparty/webkit/WebKit/qt/tests/benchmarks/painting/painting.pro create mode 100644 src/3rdparty/webkit/WebKit/qt/tests/benchmarks/painting/tst_painting.pro delete mode 100644 src/3rdparty/webkit/WebKit/qt/tests/hybridPixmap/hybridPixmap.pro delete mode 100644 src/3rdparty/webkit/WebKit/qt/tests/hybridPixmap/resources.qrc delete mode 100644 src/3rdparty/webkit/WebKit/qt/tests/hybridPixmap/test.html delete mode 100644 src/3rdparty/webkit/WebKit/qt/tests/hybridPixmap/tst_hybridPixmap.cpp delete mode 100644 src/3rdparty/webkit/WebKit/qt/tests/hybridPixmap/widget.cpp delete mode 100644 src/3rdparty/webkit/WebKit/qt/tests/hybridPixmap/widget.h delete mode 100644 src/3rdparty/webkit/WebKit/qt/tests/hybridPixmap/widget.ui create mode 100644 src/3rdparty/webkit/WebKit/qt/tests/qwebelement/image.png create mode 100644 src/3rdparty/webkit/WebKit/qt/tests/qwebelement/qwebelement.qrc delete mode 100644 src/3rdparty/webkit/WebKit/qt/tests/qwebelement/resources/image.png delete mode 100644 src/3rdparty/webkit/WebKit/qt/tests/qwebelement/resources/style.css delete mode 100644 src/3rdparty/webkit/WebKit/qt/tests/qwebelement/resources/style2.css create mode 100644 src/3rdparty/webkit/WebKit/qt/tests/qwebelement/style.css create mode 100644 src/3rdparty/webkit/WebKit/qt/tests/qwebelement/style2.css delete mode 100644 src/3rdparty/webkit/WebKit/qt/tests/qwebelement/tst_qwebelement.qrc create mode 100644 src/3rdparty/webkit/WebKit/qt/tests/qwebframe/image.png create mode 100644 src/3rdparty/webkit/WebKit/qt/tests/qwebframe/qwebframe.qrc delete mode 100644 src/3rdparty/webkit/WebKit/qt/tests/qwebframe/resources/image.png create mode 100644 src/3rdparty/webkit/WebKit/qt/tests/qwebframe/resources/image2.png delete mode 100644 src/3rdparty/webkit/WebKit/qt/tests/qwebframe/resources/style.css delete mode 100644 src/3rdparty/webkit/WebKit/qt/tests/qwebframe/resources/test1.html delete mode 100644 src/3rdparty/webkit/WebKit/qt/tests/qwebframe/resources/test2.html delete mode 100644 src/3rdparty/webkit/WebKit/qt/tests/qwebframe/resources/testiframe.html delete mode 100644 src/3rdparty/webkit/WebKit/qt/tests/qwebframe/resources/testiframe2.html create mode 100644 src/3rdparty/webkit/WebKit/qt/tests/qwebframe/style.css create mode 100644 src/3rdparty/webkit/WebKit/qt/tests/qwebframe/test1.html create mode 100644 src/3rdparty/webkit/WebKit/qt/tests/qwebframe/test2.html create mode 100644 src/3rdparty/webkit/WebKit/qt/tests/qwebframe/testiframe.html create mode 100644 src/3rdparty/webkit/WebKit/qt/tests/qwebframe/testiframe2.html delete mode 100644 src/3rdparty/webkit/WebKit/qt/tests/qwebframe/tst_qwebframe.qrc create mode 100644 src/3rdparty/webkit/WebKit/qt/tests/qwebhistory/data/page1.html create mode 100644 src/3rdparty/webkit/WebKit/qt/tests/qwebhistory/data/page2.html create mode 100644 src/3rdparty/webkit/WebKit/qt/tests/qwebhistory/data/page3.html create mode 100644 src/3rdparty/webkit/WebKit/qt/tests/qwebhistory/data/page4.html create mode 100644 src/3rdparty/webkit/WebKit/qt/tests/qwebhistory/data/page5.html create mode 100644 src/3rdparty/webkit/WebKit/qt/tests/qwebhistory/data/page6.html delete mode 100644 src/3rdparty/webkit/WebKit/qt/tests/qwebhistory/resources/page1.html delete mode 100644 src/3rdparty/webkit/WebKit/qt/tests/qwebhistory/resources/page2.html delete mode 100644 src/3rdparty/webkit/WebKit/qt/tests/qwebhistory/resources/page3.html delete mode 100644 src/3rdparty/webkit/WebKit/qt/tests/qwebhistory/resources/page4.html delete mode 100644 src/3rdparty/webkit/WebKit/qt/tests/qwebhistory/resources/page5.html delete mode 100644 src/3rdparty/webkit/WebKit/qt/tests/qwebhistory/resources/page6.html delete mode 100644 src/3rdparty/webkit/WebKit/qt/tests/qwebinspector/qwebinspector.pro delete mode 100644 src/3rdparty/webkit/WebKit/qt/tests/qwebinspector/tst_qwebinspector.cpp create mode 100644 src/3rdparty/webkit/WebKit/qt/tests/qwebpage/frametest/frame_a.html create mode 100644 src/3rdparty/webkit/WebKit/qt/tests/qwebpage/frametest/iframe.html create mode 100644 src/3rdparty/webkit/WebKit/qt/tests/qwebpage/frametest/iframe2.html create mode 100644 src/3rdparty/webkit/WebKit/qt/tests/qwebpage/frametest/iframe3.html create mode 100644 src/3rdparty/webkit/WebKit/qt/tests/qwebpage/frametest/index.html delete mode 100644 src/3rdparty/webkit/WebKit/qt/tests/qwebpage/resources/frame_a.html delete mode 100644 src/3rdparty/webkit/WebKit/qt/tests/qwebpage/resources/iframe.html delete mode 100644 src/3rdparty/webkit/WebKit/qt/tests/qwebpage/resources/iframe2.html delete mode 100644 src/3rdparty/webkit/WebKit/qt/tests/qwebpage/resources/iframe3.html delete mode 100644 src/3rdparty/webkit/WebKit/qt/tests/qwebpage/resources/index.html create mode 100644 src/3rdparty/webkit/WebKit/qt/tests/qwebview/data/frame_a.html create mode 100644 src/3rdparty/webkit/WebKit/qt/tests/qwebview/data/index.html delete mode 100644 src/3rdparty/webkit/WebKit/qt/tests/qwebview/resources/frame_a.html delete mode 100644 src/3rdparty/webkit/WebKit/qt/tests/qwebview/resources/index.html delete mode 100644 src/3rdparty/webkit/WebKit/qt/tests/resources/image2.png delete mode 100644 src/3rdparty/webkit/WebKit/qt/tests/tests.pri diff --git a/src/3rdparty/webkit/.gitattributes b/src/3rdparty/webkit/.gitattributes deleted file mode 100644 index 80386ae..0000000 --- a/src/3rdparty/webkit/.gitattributes +++ /dev/null @@ -1,273 +0,0 @@ -# To enable automatic merging of ChangeLog files, use the following command: -# git config merge.changelog.driver "resolve-ChangeLogs --merge-driver %O %A %B" -ChangeLog* merge=changelog - -JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore.sln -crlf -JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj -crlf -JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCF.vsprops -crlf -JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCFLite.vsprops -crlf -JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops -crlf -JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.vcproj -crlf -JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCoreSubmit.sln -crlf -JavaScriptCore/JavaScriptCore.vcproj/WTF/WTF.vcproj -crlf -JavaScriptCore/JavaScriptCore.vcproj/WTF/WTFCommon.vsprops -crlf -JavaScriptCore/JavaScriptCore.vcproj/jsc/jsc.vcproj -crlf -JavaScriptCore/JavaScriptCore.vcproj/jsc/jscCommon.vsprops -crlf -JavaScriptCore/JavaScriptCore.vcproj/testapi/testapi.vcproj -crlf -LayoutTests/dom/svg/level3/xpath/Attribute_Nodes.svg -crlf -LayoutTests/dom/svg/level3/xpath/Attribute_Nodes_xmlns.svg -crlf -LayoutTests/dom/svg/level3/xpath/Comment_Nodes.svg -crlf -LayoutTests/dom/svg/level3/xpath/Conformance_Expressions.svg -crlf -LayoutTests/dom/svg/level3/xpath/Conformance_ID.svg -crlf -LayoutTests/dom/svg/level3/xpath/Conformance_hasFeature_3.svg -crlf -LayoutTests/dom/svg/level3/xpath/Conformance_hasFeature_empty.svg -crlf -LayoutTests/dom/svg/level3/xpath/Conformance_hasFeature_null.svg -crlf -LayoutTests/dom/svg/level3/xpath/Conformance_isSupported_3.svg -crlf -LayoutTests/dom/svg/level3/xpath/Conformance_isSupported_empty.svg -crlf -LayoutTests/dom/svg/level3/xpath/Conformance_isSupported_null.svg -crlf -LayoutTests/dom/svg/level3/xpath/Element_Nodes.svg -crlf -LayoutTests/dom/svg/level3/xpath/Processing_Instruction_Nodes.svg -crlf -LayoutTests/dom/svg/level3/xpath/Text_Nodes.svg -crlf -LayoutTests/dom/svg/level3/xpath/XPathEvaluatorCast01.svg -crlf -LayoutTests/dom/svg/level3/xpath/XPathEvaluator_createExpression_INVALID_EXPRESSION_ERR.svg -crlf -LayoutTests/dom/svg/level3/xpath/XPathEvaluator_createExpression_NAMESPACE_ERR_01.svg -crlf -LayoutTests/dom/svg/level3/xpath/XPathEvaluator_createExpression_NAMESPACE_ERR_02.svg -crlf -LayoutTests/dom/svg/level3/xpath/XPathEvaluator_createExpression_NS.svg -crlf -LayoutTests/dom/svg/level3/xpath/XPathEvaluator_createExpression_no_NS.svg -crlf -LayoutTests/dom/svg/level3/xpath/XPathEvaluator_createNSResolver_all.svg -crlf -LayoutTests/dom/svg/level3/xpath/XPathEvaluator_createNSResolver_document.svg -crlf -LayoutTests/dom/svg/level3/xpath/XPathEvaluator_createNSResolver_documentElement.svg -crlf -LayoutTests/dom/svg/level3/xpath/XPathEvaluator_evaluate_INVALID_EXPRESSION_ERR.svg -crlf -LayoutTests/dom/svg/level3/xpath/XPathEvaluator_evaluate_NAMESPACE_ERR.svg -crlf -LayoutTests/dom/svg/level3/xpath/XPathEvaluator_evaluate_NOT_SUPPORTED_ERR.svg -crlf -LayoutTests/dom/svg/level3/xpath/XPathEvaluator_evaluate_TYPE_ERR.svg -crlf -LayoutTests/dom/svg/level3/xpath/XPathEvaluator_evaluate_WRONG_DOCUMENT_ERR.svg -crlf -LayoutTests/dom/svg/level3/xpath/XPathEvaluator_evaluate_document.svg -crlf -LayoutTests/dom/svg/level3/xpath/XPathEvaluator_evaluate_documentElement.svg -crlf -LayoutTests/dom/svg/level3/xpath/XPathExpression_evaluate_NOT_SUPPORTED_ERR.svg -crlf -LayoutTests/dom/svg/level3/xpath/XPathExpression_evaluate_WRONG_DOCUMENT_ERR.svg -crlf -LayoutTests/dom/svg/level3/xpath/XPathExpression_evaluate_document.svg -crlf -LayoutTests/dom/svg/level3/xpath/XPathExpression_evaluate_documentElement.svg -crlf -LayoutTests/dom/svg/level3/xpath/XPathNSResolver_lookupNamespaceURI_nist_dmstc.svg -crlf -LayoutTests/dom/svg/level3/xpath/XPathNSResolver_lookupNamespaceURI_null.svg -crlf -LayoutTests/dom/svg/level3/xpath/XPathNSResolver_lookupNamespaceURI_prefix.svg -crlf -LayoutTests/dom/svg/level3/xpath/XPathNSResolver_lookupNamespaceURI_xml.svg -crlf -LayoutTests/dom/svg/level3/xpath/XPathResult_TYPE_ERR.svg -crlf -LayoutTests/dom/svg/level3/xpath/XPathResult_booleanValue_false.svg -crlf -LayoutTests/dom/svg/level3/xpath/XPathResult_booleanValue_true.svg -crlf -LayoutTests/dom/svg/level3/xpath/XPathResult_invalidIteratorState_ANY_TYPE.svg -crlf -LayoutTests/dom/svg/level3/xpath/XPathResult_invalidIteratorState_ANY_UNORDERED_NODE_TYPE.svg -crlf -LayoutTests/dom/svg/level3/xpath/XPathResult_invalidIteratorState_BOOLEAN_TYPE.svg -crlf -LayoutTests/dom/svg/level3/xpath/XPathResult_invalidIteratorState_FIRST_ORDERED_NODE_TYPE.svg -crlf -LayoutTests/dom/svg/level3/xpath/XPathResult_invalidIteratorState_NUMBER_TYPE.svg -crlf -LayoutTests/dom/svg/level3/xpath/XPathResult_invalidIteratorState_ORDERED_NODE_ITERATOR_TYPE.svg -crlf -LayoutTests/dom/svg/level3/xpath/XPathResult_invalidIteratorState_ORDERED_NODE_SNAPSHOT_TYPE.svg -crlf -LayoutTests/dom/svg/level3/xpath/XPathResult_invalidIteratorState_STRING_TYPE.svg -crlf -LayoutTests/dom/svg/level3/xpath/XPathResult_invalidIteratorState_UNORDERED_NODE_ITERATOR_TYPE.svg -crlf -LayoutTests/dom/svg/level3/xpath/XPathResult_invalidIteratorState_UNORDERED_NODE_SNAPSHOT_TYPE.svg -crlf -LayoutTests/dom/svg/level3/xpath/XPathResult_iterateNext_INVALID_STATE_ERR.svg -crlf -LayoutTests/dom/svg/level3/xpath/XPathResult_iteratorNext_ORDERED_NODE_ITERATOR_TYPE.svg -crlf -LayoutTests/dom/svg/level3/xpath/XPathResult_numberValue.svg -crlf -LayoutTests/dom/svg/level3/xpath/XPathResult_resultType.svg -crlf -LayoutTests/dom/svg/level3/xpath/XPathResult_singleNodeValue_ANY_UNORDERED_NODE_TYPE.svg -crlf -LayoutTests/dom/svg/level3/xpath/XPathResult_singleNodeValue_FIRST_ORDERED_NODE_TYPE.svg -crlf -LayoutTests/dom/svg/level3/xpath/XPathResult_snapshotItem_ORDERED_NODE_SNAPSHOT_TYPE_null.svg -crlf -LayoutTests/dom/svg/level3/xpath/XPathResult_snapshotItem_ORDERED_NODE_SNAPSHOT_TYPE_order.svg -crlf -LayoutTests/dom/svg/level3/xpath/XPathResult_snapshotItem_UNORDERED_NODE_SNAPSHOT_TYPE_count.svg -crlf -LayoutTests/dom/svg/level3/xpath/XPathResult_snapshotItem_UNORDERED_NODE_SNAPSHOT_TYPE_null.svg -crlf -LayoutTests/dom/svg/level3/xpath/XPathResult_snapshotLength_ORDERED_NODE_SNAPSHOT_TYPE.svg -crlf -LayoutTests/dom/svg/level3/xpath/XPathResult_snapshotLength_UNORDERED_NODE_SNAPSHOT_TYPE.svg -crlf -LayoutTests/dom/svg/level3/xpath/XPathResult_stringValue.svg -crlf -LayoutTests/editing/execCommand/align-in-span.html -crlf -LayoutTests/editing/selection/drag-start-event-client-x-y.html -crlf -LayoutTests/fast/backgrounds/background-position-rounding.html -crlf -LayoutTests/fast/backgrounds/repeat/resources/background-repeat-shorthand.js -crlf -LayoutTests/fast/backgrounds/repeat/resources/margin-shorthand.js -crlf -LayoutTests/fast/block/float/clamped-right-float.html -crlf -LayoutTests/fast/block/positioning/absolute-with-html-border-quirks.html -crlf -LayoutTests/fast/block/positioning/absolute-with-html-border-strict.html -crlf -LayoutTests/fast/canvas/script-tests/canvas-gradient-without-path.js -crlf -LayoutTests/fast/css/color-quirk.html -crlf -LayoutTests/fast/css/color-strict.html -crlf -LayoutTests/fast/css/css1_forward_compatible_parsing.html -crlf -LayoutTests/fast/css/empty-pseudo-class.html -crlf -LayoutTests/fast/css/first-child-pseudo-class.html -crlf -LayoutTests/fast/css/first-of-type-pseudo-class.html -crlf -LayoutTests/fast/css/last-child-pseudo-class.html -crlf -LayoutTests/fast/css/last-of-type-pseudo-class.html -crlf -LayoutTests/fast/css/only-child-pseudo-class.html -crlf -LayoutTests/fast/css/only-of-type-pseudo-class.html -crlf -LayoutTests/fast/css/text-input-with-webkit-border-radius.html -crlf -LayoutTests/fast/dom/Document/open-with-pending-load.html -crlf -LayoutTests/fast/dom/Element/hostname-host.html -crlf -LayoutTests/fast/dom/StyleSheet/ownerNode-lifetime-2.html -crlf -LayoutTests/fast/dom/Window/window-property-clearing-expected.txt -crlf -LayoutTests/fast/dom/everything-to-string.html -crlf -LayoutTests/fast/dom/insert-span-into-long-text-bug-28245.html -crlf -LayoutTests/fast/dom/resources/TestApplet.java -crlf -LayoutTests/fast/dom/simultaneouslyRegsiteredTimerFireOrder-expected.txt -crlf -LayoutTests/fast/dom/timer-clear-interval-in-handler-and-generate-error.html -crlf -LayoutTests/fast/events/keydown-keypress-focus-change.html -crlf -LayoutTests/fast/events/node-event-anchor-lock.html -crlf -LayoutTests/fast/events/onload-fires-twice.html -crlf -LayoutTests/fast/events/set-event-in-another-frame.html -crlf -LayoutTests/fast/events/set-event-to-null.html -crlf -LayoutTests/fast/forms/resources/form-and-frame-interaction-retains-values-main.html -crlf -LayoutTests/fast/forms/resources/form-and-frame-interaction-retains-values-submit.html -crlf -LayoutTests/fast/forms/select-remove-option.html -crlf -LayoutTests/fast/forms/select-reset-multiple-selections-4-single-selection.html -crlf -LayoutTests/fast/forms/textfield-onchange-deletion.html -crlf -LayoutTests/fast/frames/frame-src-attribute.html -crlf -LayoutTests/fast/frames/iframe-scroll-page-up-down.html-disabled -crlf -LayoutTests/fast/frames/javascript-url-as-framesrc-crash.html -crlf -LayoutTests/fast/frames/resources/iframe-scroll-page-up-down-1.html -crlf -LayoutTests/fast/frames/resources/iframe-scroll-page-up-down-2.html -crlf -LayoutTests/fast/frames/viewsource-attribute.html -crlf -LayoutTests/fast/inline/inline-padding-disables-text-quirk.html -crlf -LayoutTests/fast/loader/submit-form-while-parsing-1.xhtml -crlf -LayoutTests/fast/overflow/dynamic-hidden.html -crlf -LayoutTests/fast/parser/external-entities-in-xslt.xml -crlf -LayoutTests/fast/parser/external-entities.xml -crlf -LayoutTests/fast/parser/resources/external-entities.xsl -crlf -LayoutTests/fast/replaced/replaced-breaking.html -crlf -LayoutTests/fast/table/dynamic-cellpadding.html -crlf -LayoutTests/fast/table/fixed-table-with-percent-inside-percent-table.html -crlf -LayoutTests/fast/table/fixed-table-with-percent-width-inside-auto-table.html -crlf -LayoutTests/fast/table/fixed-table-with-percent-width-inside-extra-large-div.html -crlf -LayoutTests/fast/table/fixed-table-with-small-percent-width.html -crlf -LayoutTests/fast/table/rules-attr-dynchange1.html -crlf -LayoutTests/fast/table/rules-attr-dynchange2.html -crlf -LayoutTests/fast/text/international/thai-baht-space.html -crlf -LayoutTests/fast/text/resources/line-breaks-crlf.txt -crlf -LayoutTests/fast/text/text-large-negative-letter-spacing-with-opacity.html -crlf -LayoutTests/fast/text/text-letter-spacing.html -crlf -LayoutTests/http/tests/appcache/max-size.html -crlf -LayoutTests/http/tests/misc/location-test-xsl-style-sheet.xml -crlf -LayoutTests/http/tests/misc/resources/location-test-xsl-style-sheet.xsl -crlf -LayoutTests/http/tests/misc/single-character-pi-stylesheet.xhtml -crlf -LayoutTests/http/tests/misc/will-send-request-returns-null-on-redirect.html -crlf -LayoutTests/http/tests/navigation/no-referrer-reset.html -crlf -LayoutTests/http/tests/navigation/no-referrer-same-window.html -crlf -LayoutTests/http/tests/navigation/no-referrer-subframe.html -crlf -LayoutTests/http/tests/navigation/no-referrer-target-blank.html -crlf -LayoutTests/http/tests/navigation/resources/no-referrer-same-window-helper.php -crlf -LayoutTests/http/tests/security/isolatedWorld/events.html -crlf -LayoutTests/http/tests/security/isolatedWorld/resources/iframe.html -crlf -LayoutTests/http/tests/security/isolatedWorld/resources/userGestureEvents-second-window.html -crlf -LayoutTests/http/tests/security/isolatedWorld/userGestureEvents.html -crlf -LayoutTests/http/tests/security/resources/empty-svg.php -crlf -LayoutTests/platform/win/fast/events/panScroll-event-fired.html -crlf -LayoutTests/platform/win/fast/events/panScroll-image-no-scroll.html -crlf -LayoutTests/platform/win/fast/events/panScroll-imageMap-href-no-scroll.html -crlf -LayoutTests/platform/win/fast/events/panScroll-imageMap-noHref-scroll.html -crlf -LayoutTests/platform/win/fast/events/panScroll-nested-divs.html -crlf -LayoutTests/platform/win/fast/events/panScroll-no-iframe-jump.html -crlf -LayoutTests/platform/win/fast/events/panScroll-preventDefault.html -crlf -LayoutTests/svg/custom/marker-opacity.svg -crlf -LayoutTests/svg/custom/resources/graffiti.svg -crlf -LayoutTests/svg/custom/struct-use-09-b.svg -crlf -LayoutTests/svg/custom/svg-fonts-in-html.html -crlf -LayoutTests/svg/custom/use-events-crash.svg -crlf -LayoutTests/svg/custom/use-on-symbol-inside-pattern.svg -crlf -LayoutTests/svg/custom/use-setAttribute-crash.svg -crlf -LayoutTests/svg/custom/xml-stylesheet.svg -crlf -LayoutTests/tables/mozilla/bugs/bug119786.html -crlf -LayoutTests/tables/mozilla/bugs/bug222846.html -crlf -LayoutTests/tables/mozilla/bugs/bug275625.html -crlf -LayoutTests/tables/mozilla/images/aboutHeader.gif -crlf -LayoutTests/tables/mozilla/images/main-horizontal-scroll.gif -crlf -LayoutTests/tables/mozilla_expected_failures/bugs/bug101759.html -crlf -LayoutTests/tables/mozilla_expected_failures/bugs/bug14489.html -crlf -LayoutTests/tables/mozilla_expected_failures/images/aboutHeader.gif -crlf -LayoutTests/tables/mozilla_expected_failures/images/main-horizontal-scroll.gif -crlf -LayoutTests/wml/resources/enter-card-with-events.wml -crlf -LayoutTests/wml/resources/enter-first-card-with-events.wml -crlf -PageLoadTests/svg/files/Harvey_Rayner.svg -crlf -PageLoadTests/svg/files/cacuts_01.svg -crlf -PageLoadTests/svg/files/crawfish2_ganson.svg -crlf -PageLoadTests/svg/files/france.svg -crlf -PageLoadTests/svg/files/mtsthelens.svg -crlf -PageLoadTests/svg/files/worldcup.svg -crlf -PlanetWebKit/planet/LICENCE -crlf -SunSpider/tests/parse-only/jquery-1.3.2.js -crlf -WebCore/WebCore.vcproj/QTMovieWin.vcproj -crlf -WebCore/WebCore.vcproj/WebCore.sln -crlf -WebCore/WebCore.vcproj/WebCore.submit.sln -crlf -WebCore/WebCore.vcproj/WebCore.vcproj -crlf -WebCore/WebCore.vcproj/WebCoreCFNetwork.vsprops -crlf -WebCore/WebCore.vcproj/WebCoreCG.vsprops -crlf -WebCore/WebCore.vcproj/WebCoreCURL.vsprops -crlf -WebCore/WebCore.vcproj/WebCoreCairo.vsprops -crlf -WebCore/WebCore.vcproj/WebCoreGenerated.vcproj -crlf -WebCore/WebCore.vcproj/WebCoreMediaQT.vsprops -crlf -WebCore/WebCore.vcproj/WebCorePthreads.vsprops -crlf -WebCore/WebCore.vcproj/WebCoreQuartzCore.vsprops -crlf -WebCore/accessibility/AccessibilityAllInOne.cpp -crlf -WebCore/bindings/js/JSExceptionBase.cpp -crlf -WebCore/bindings/js/JSExceptionBase.h -crlf -WebCore/manual-tests/DOMContextMenuEvent.html -crlf -WebCore/manual-tests/cursor-max-size.html -crlf -WebCore/manual-tests/drag-with-div-or-image-as-data-image.html -crlf -WebCore/manual-tests/empty-script-crash.html -crlf -WebCore/manual-tests/remove-form-node-with-radio-buttons-crash.html -crlf -WebCore/manual-tests/select-delete-item.html -crlf -WebCore/manual-tests/textarea-caret-position-after-auto-spell-correct.html -crlf -WebCore/platform/chromium/SuddenTerminationChromium.cpp -crlf -WebCore/platform/network/win/NetworkStateNotifierWin.cpp -crlf -WebCore/platform/wx/wxcode/non-kerned-drawing.h -crlf -WebCore/rendering/RenderThemeChromiumWin.h -crlf -WebKit/chromium/src/EventListenerWrapper.cpp -crlf -WebKit/chromium/src/EventListenerWrapper.h -crlf -WebKit/chromium/src/WebEventListener.cpp -crlf -WebKit/chromium/src/WebEventListenerPrivate.cpp -crlf -WebKit/chromium/src/WebEventListenerPrivate.h -crlf -WebKit/gtk/po/sr.po -crlf -WebKit/gtk/po/sr@latin.po -crlf -WebKit/qt/tests/qwebframe/resources/testiframe.html -crlf -WebKit/qt/tests/qwebframe/resources/testiframe2.html -crlf -WebKit/win/COMPropertyBag.h -crlf -WebKit/win/COMVariantSetter.h -crlf -WebKit/win/Interfaces/IWebEmbeddedView.idl -crlf -WebKit/win/Interfaces/JavaScriptCoreAPITypes.idl -crlf -WebKit/win/WebCoreSupport/EmbeddedWidget.cpp -crlf -WebKit/win/WebCoreSupport/EmbeddedWidget.h -crlf -WebKit/win/WebCoreSupport/WebInspectorDelegate.h -crlf -WebKit/win/WebIconFetcher.cpp -crlf -WebKit/win/WebIconFetcher.h -crlf -WebKit/win/WebKit.vcproj/Interfaces.vcproj -crlf -WebKit/win/WebKit.vcproj/WebKit.sln -crlf -WebKit/win/WebKit.vcproj/WebKit.submit.sln -crlf -WebKit/win/WebKit.vcproj/WebKit.vcproj -crlf -WebKit/win/WebKit.vcproj/WebKitGUID.vcproj -crlf -WebKitLibraries/win/tools/vsprops/WinCairo.vsprops -crlf -WebKitLibraries/win/tools/vsprops/cURL.vsprops -crlf -WebKitLibraries/win/tools/vsprops/debug_wincairo.vsprops -crlf -WebKitSite/blog/license.txt -crlf -WebKitSite/blog/wp-config-sample.php -crlf -WebKitSite/blog/wp-config.php -crlf -WebKitSite/blog/wp-includes/images/crystal/license.txt -crlf -WebKitSite/blog/wp-includes/js/scriptaculous/MIT-LICENSE -crlf -WebKitSite/blog/wp-includes/js/swfupload/plugins/swfupload.speed.js -crlf -WebKitSite/blog/wp-includes/js/tinymce/license.txt -crlf -WebKitSite/perf/slickspeed/frameworks/DomQuery.js -crlf -WebKitTools/CLWrapper/CLWrapper.sln -crlf -WebKitTools/CLWrapper/CLWrapper.vcproj -crlf -WebKitTools/DumpRenderTree/DumpRenderTree.sln -crlf -WebKitTools/DumpRenderTree/cairo/PixelDumpSupportCairo.cpp -crlf -WebKitTools/DumpRenderTree/win/DumpRenderTree.vcproj -crlf -WebKitTools/DumpRenderTree/win/ImageDiff.vcproj -crlf -WebKitTools/DumpRenderTree/win/TestNetscapePlugin/TestNetscapePlugin.def -crlf -WebKitTools/DumpRenderTree/win/TestNetscapePlugin/TestNetscapePlugin.rc -crlf -WebKitTools/DumpRenderTree/win/TestNetscapePlugin/TestNetscapePlugin.vcproj -crlf -WebKitTools/FindSafari/FindSafari.vcproj -crlf -WebKitTools/FindSafari/Safari.exe.manifest -crlf -WebKitTools/MIDLWrapper/MIDLWrapper.sln -crlf -WebKitTools/MIDLWrapper/MIDLWrapper.vcproj -crlf -WebKitTools/Scripts/webkitpy/mock.py -crlf -WebKitTools/WebKitAPITest/WebKitAPITest.vcproj -crlf -WebKitTools/WebKitAPITest/WebKitAPITestCommon.vsprops -crlf -WebKitTools/WebKitLauncherWin/WebKitLauncherWin.vcproj -crlf -WebKitTools/WinLauncher/WinLauncher.h -crlf -WebKitTools/WinLauncher/WinLauncher.vcproj -crlf -WebKitTools/record-memory-win/main.cpp -crlf -WebKitTools/record-memory-win/record-memory-win.vcproj -crlf diff --git a/src/3rdparty/webkit/.gitignore b/src/3rdparty/webkit/.gitignore index 607a22e..b9595b3 100644 --- a/src/3rdparty/webkit/.gitignore +++ b/src/3rdparty/webkit/.gitignore @@ -4,21 +4,3 @@ *.pyc build/ /WebKitBuild/ -autoinstall.cache.d - -# Ignore Chromium projects auto-generated from .gyp files: -JavaScriptCore/JavaScriptCore.gyp/JavaScriptCore.xcodeproj -WebCore/WebCore.gyp/WebCore.xcodeproj -WebKit/chromium/WebKit.xcodeproj - -# Though the GTK build builds in a subdirectory, autogen.sh still deposits -# a few files into the source tree. -/aclocal.m4 -/autom4te.cache -/autotools -/autotoolsconfig.h.in -/configure -/GNUmakefile.in -/gtk-doc.make -/INSTALL -/README diff --git a/src/3rdparty/webkit/ChangeLog b/src/3rdparty/webkit/ChangeLog index 7bcf76e..1e89d1e 100644 --- a/src/3rdparty/webkit/ChangeLog +++ b/src/3rdparty/webkit/ChangeLog @@ -1,594 +1,3 @@ -2010-02-20 Noam Rosenthal - - Reviewed by Laszlo Gombos. - - [Qt] ENABLE_3D_RENDERING should be optional - https://bugs.webkit.org/show_bug.cgi?id=35100 - - * WebKit.pri: ENABLE_3D_RENDERING moved to a proper feature test - -2010-02-19 Maciej Stachowiak - - Reviewed by David Levin. - - Add an ENABLE flag for sandboxed iframes to make it possible to disable it in releases - https://bugs.webkit.org/show_bug.cgi?id=35147 - - * configure.ac: - -2010-02-18 Tor Arne Vestbø - - Reviewed by Eric Seidel. - - Add .gitattributes file for custom ChangeLog merge-driver - - * .gitattributes: Added. - -2010-02-17 Noam Rosenthal - - Reviewed by Ariya Hidayat. - - [Qt] GraphicsLayer: support perspective and 3D transforms - https://bugs.webkit.org/show_bug.cgi?id=34960 - - * WebKit.pri: added appropriate define: ENABLED_3D_RENDERING - -2010-02-15 Philippe Normand - - Reviewed by Gustavo Noronha Silva. - - [GStreamer] Should handle BUFFERING messages - https://bugs.webkit.org/show_bug.cgi?id=30004 - - * configure.ac: Bump gstreamer -core/-plugins-base requirements to - 0.10.25 which is the minimum required version for on-disk buffering. - -2010-02-16 Xan Lopez - - Reviewed by Gustavo Noronha. - - Bump version to 1.1.22 so we can depend on it in applications. - - * configure.ac: - -2010-02-12 Simon Hausmann - - Reviewed by Holger Freyther. - - Removed WMLInputElement.* from .gitattributes as the file is - now CRLF clean. - - * .gitattributes: - -2010-02-10 Jocelyn Turcotte - - Reviewed by Tor Arne Vestbø. - - [Qt] Make qtlauncher and qgvlauncher use the generated headers - path to make sure they are correctly generated. - - * WebKit.pri: - -2010-02-10 Jocelyn Turcotte - - Reviewed by Tor Arne Vestbø. - - [Qt] Manually add support for the install target on Symbian. - - This is required to copy the headers over the ones in Qt. - - * WebKit.pro: - -2010-02-11 Fridrich Strba - - Reviewed by Gustavo Noronha Silva. - - Detect properly different versions of libpng out there. - - * configure.ac: - -2010-02-11 Xan Lopez - - Try to fix GTK+ build. - - * configure.ac: - -2010-02-11 Antonio Gomes - - Reviewed by Xan Lopez. - - Adjust gstreamer-plugins-base minimum version check (from 0.10 to 0.10.23). - - * configure.ac: - -2010-02-08 Maciej Stachowiak - - Reviewed by Cameron Zwarich. - - Restore ENABLE_RUBY flag so vendors can ship with Ruby disabled if they choose. - https://bugs.webkit.org/show_bug.cgi?id=34698 - - * configure.ac: - -2010-02-08 Gustavo Noronha Silva - - Reviewed by Xan Lopez. - - Bump version to 1.1.21, and adjust library versioning accordingly. - - * configure.ac: - -2010-02-05 Sebastian Dröge - - Reviewed by Gustavo Noronha. - - Add gstreamer-app-0.10 to configure.ac - https://bugs.webkit.org/show_bug.cgi?id=34317 - - * configure.ac: - -2010-02-05 Simon Hausmann - - Reviewed by Tor Arne Vestbø. - - Add .gitattributes file to tell git about files with Windows linefeeds - https://bugs.webkit.org/show_bug.cgi?id=34645 - - On Windows git defaults to "true" for core.autocrlf, meaning all text - files in the working directory are converted from CRLF to LF on checkin - time. Some files present in the repository have been checked in with - CRLF linefeeds and git should not try to convert them. The added - .gitattributes file tells git to not do any CRLF conversion. - - * .gitattributes: Added. - -2010-02-05 Tor Arne Vestbø - - Reviewed by Simon Hausmann. - - [Qt] Generate convenience headers (QWebView, etc) using qmake - - In Qt this is done using syncqt, but we use a pro-file instead - that generates makefile-rules for each of the extra headers. - - These extra headers are installed alongside the normal headers. - - * DerivedSources.pro: Include API-DerivedSources - -2010-02-04 Tor Arne Vestbø - - Reviewed by Lars Knoll. - - [Qt] Make 'make -f Makefile.DerivedSources qmake' work - - Previously this target ended up generating a file named - Makefile.DerivedSources.DerivedSources, and so on. - - * DerivedSources.pro: - -2010-02-04 Christian Dywan - - Reviewed by Xan Lopez. - - Require either libsoup 2.28.2 or 2.29.90. - - * configure.ac: - -2010-02-04 Xan Lopez - - Reviewed by Gustavo Noronha. - - Bump minimum libsoup requirement to 2.29.90 - - * configure.ac: - -2010-02-02 Gustavo Noronha Silva - - Reviewed by Xan Lopez. - - Bump version, and adjust library versioning for 1.1.20. - - * configure.ac: - -2010-01-29 Jeremy Orlow - - Reviewed by Dimitri Glazkov. - - A first step towards the Indexed Database API - https://bugs.webkit.org/show_bug.cgi?id=34342 - - Add Indexed Database API - - * configure.ac: - -2010-01-27 Simon Hausmann - - Reviewed by Kenneth Rohde Christiansen. - - [Qt] Don't build the tests in packages, only the launcher(s) - - * WebKit.pro: - -2010-01-27 Jocelyn Turcotte - - Reviewed by Tor Arne Vestbø. - - [Qt] Add the "d" suffix to QtWebKit's dll on Windows. - - * WebKit.pri: - -2010-01-27 Jocelyn Turcotte - - Unreviewed build fix - - [Qt] Build fix for windows when QTDIR contains release libraries. - - * WebKit.pri: Use the .lib syntax for linking instead of qmake's -l emulation - -2010-01-26 Jedrzej Nowacki - - Reviewed by Simon Hausmann. - - First steps of the QtScript API. - - Two new classes were created; QScriptEngine and QScriptValue. - The first should encapsulate a javascript context and the second a script - value. - - This API is still in development, so it isn't compiled by default. - To trigger compilation, pass --qmakearg="CONFIG+=build-qtscript" to - build-webkit. - - https://bugs.webkit.org/show_bug.cgi?id=32565 - - * WebKit.pro: - -2010-01-25 Simon Hausmann - - Reviewed by Laszlo Gombos. - - [Qt] Fix the build on Maemo5. - - https://bugs.webkit.org/show_bug.cgi?id=34051 - - * WebKit.pri: Disable the use of uitools, just like it's done for Symbian. - -2010-01-21 No'am Rosenthal - - Reviewed by Antti Koivisto. - - [Qt] Implement GraphicsLayer for accelerated layer compositing - https://bugs.webkit.org/show_bug.cgi?id=33514 - - * WebKit.pri: Addded compile flags to enable accelerated compositing - on versions higher than 4.5 - -2010-01-20 Tor Arne Vestbø - - Reviewed by Simon Hausmann. - - [Qt] Make DumpRenderTree build on Windows - - * WebKit.pro: - -2010-01-20 Jocelyn Turcotte - - Reviewed by Simon Hausmann. - - [Qt] Fix the recursive generated_files target to work with qmake -r -o - - * DerivedSources.pro: - -2010-01-20 Simon Hausmann - - Reviewed by Tor Arne Vestbø. - - [Qt] Make it possible (on *nix at least) to recursively call "make generated_files" - - * DerivedSources.pro: - -2010-01-19 Gustavo Noronha Silva - - Unreviewed. Shared library versioning update for 1.1.19. - - * configure.ac: - -2010-01-15 Gustavo Noronha Silva - - Rubber-stamped by Xan Lopez. - - Bump version to 1.1.19. - - * configure.ac: - -2010-01-14 Csaba Osztrogonác - - Reviewed by Eric Seidel. - - [Qt] Defective dependencies caused build failing on QtBuildBot. - https://bugs.webkit.org/show_bug.cgi?id=33693 - - * WebKit.pri: CONFIG += depend_includepath added. - -2010-01-14 Steve Block - - Reviewed by David Levin. - - Moves general includes before bindings includes in Android build system. - https://bugs.webkit.org/show_bug.cgi?id=33623 - - This avoids problems with collisions between WebCore/platform/text/StringBuilder.h - and the new JavaScriptCore/runtime/StringBuilder.h. This change puts - JavaScriptCore/runtime and other bindings includes after the WebCore and other - general includes, so that the WebCore StringBuilder.h is picked up when building - WebCore. - - * Android.mk: Modified. - -2010-01-13 Jocelyn Turcotte - - Reviewed by Simon Hausmann. - - [Qt] Split the build process in two different .pro files. - This allows qmake to be run once all source files are available. - - * DerivedSources.pro: Added. - * WebKit.pri: - -2010-01-07 Daniel Bates - - Reviewed by Eric Seidel. - - https://bugs.webkit.org/show_bug.cgi?id=32987 - - Added ENABLE_XHTMLMP flag. Disabled by default. - - * configure.ac: - -2010-01-05 Gustavo Noronha Silva - - Reviewed by Xan Lopez. - - Based on idea and original patch by Evan Martin. - - Remove libWebCore intermediate library, to improve link time. - - [GTK] Build time must be reduced - https://bugs.webkit.org/show_bug.cgi?id=32921 - - * GNUmakefile.am: - -2010-01-05 Xan Lopez - - Bump for 1.1.18 release. - - * configure.ac: - -2010-01-04 Gustavo Noronha Silva - - Fix JSCore-1.0.gir path to fix make distcheck. - - * GNUmakefile.am: - -2010-01-04 Simon Hausmann - - Reviewed by Tor Arne Vestbø. - - [Qt] Fix standalone package builds. - - * WebKit.pri: Add logic for detecting standalone builds. Set OUTPUT_DIR to the top-level dir in that case. - * WebKit.pro: Don't build JSC and DRT for package builds. - -2010-01-04 Eric Seidel - - Reviewed by Adam Barth. - - bugzilla-tool should not require users to install mechanize - https://bugs.webkit.org/show_bug.cgi?id=32635 - - * .gitignore: Ignore autoinstall.cache.d directory created by autoinstall.py - -2009-12-28 Estêvão Samuel Procópio - - Reviewed by Gustavo Noronha Silva. - - Bug 32940: [GTK] Changing the download throttle conditions. - https://bugs.webkit.org/show_bug.cgi?id=32716 - - The WebKitDownload progress notification was taking long to - update. This fix makes notification happens each 0.7 secs - or when the progress ups in 1%. - - * WebKit/gtk/webkit/webkitdownload.cpp: - -2009-12-22 Simon Hausmann - - Rubber-stamped by Holger Freyther. - - Adjusted path to QtLauncher. - - * WebKit.pro: - -2009-12-19 Evan Martin - - Reviewed by Gustavo Noronha Silva. - - Add a couple of WebKitGtk files to .gitignore. - - * .gitignore: - -2009-12-18 Benjamin Otte - - Reviewed by Xan Lopez. - - [GTK] RemoveDashboard support. It's useless. - - * configure.ac: - -2009-12-18 Simon Hausmann - - Reviewed by Tor Arne Vestbø. - - [Qt] Clean up the qmake build system to distinguish between trunk builds and package builds - - https://bugs.webkit.org/show_bug.cgi?id=32716 - - * WebKit.pri: Use standalone_package instead of QTDIR_build - -2009-12-17 Gustavo Noronha Silva - - Unreviewed. Build fixes for make distcheck. - - * GNUmakefile.am: - -2009-12-16 Dan Winship - - Reviewed by Gustavo Noronha Silva. - - [Gtk] Content-Encoding support - - https://bugs.webkit.org/show_bug.cgi?id=522772 - - * configure.ac: require libsoup 2.28.2 for SoupContentDecoder - -2009-12-13 Eric Seidel - - Reviewed by Gavin Barraclough. - - string-base64 test does not compute a valid base64 string - http://bugs.webkit.org/show_bug.cgi?id=16806 - - * tests/string-base64.js: change str[i] to str.charCodeAt(i) - -2009-12-10 Gustavo Noronha Silva - - Reviewed by Xan Lopez. - - [GTK] Should provide an API to control the IconDatabase - https://bugs.webkit.org/show_bug.cgi?id=32334 - - Add test to make sure favicon reporting works. - - * GNUmakefile.am: - -2009-12-09 Steve Block - - Reviewed by Adam Barth. - - Adds Android Makefiles for building with V8. - https://bugs.webkit.org/show_bug.cgi?id=32278 - - * Android.mk: Modified. Includes Makefiles for V8. - -2009-12-08 Steve Block - - Reviewed by Adam Barth. - - [Android] Adds Makefiles for Android port. - https://bugs.webkit.org/show_bug.cgi?id=31325 - - * Android.mk: Added. - -2009-12-08 Christian Dywan - - Reviewed by Xan Lopez. - - * configure.ac: Require only libSoup 2.27.91 but check for 2.29.3 - and define HAVE_LIBSOUP_2_29_3 in that case. - -2009-12-08 Gustavo Noronha Silva - - Rubber-stamped by Xan Lopez. - - Late post-release version bump. - - * configure.ac: - -2009-12-08 Dominik Röttsches - - Reviewed by Gustavo Noronha Silva. - - [Gtk] Create a TextBreakIterator implementation based on GLib (without ICU) - https://bugs.webkit.org/show_bug.cgi?id=31469 - - Removing hybrid configuration for --with-unicode-backend=glib - ICU not required anymore. - - * autotools/webkit.m4: - -2009-12-08 Nikolas Zimmermann - - Rubber-stamped by Maciej Stachowiak. - - Turn on (SVG) Filters for Gtk. - https://bugs.webkit.org/show_bug.cgi?id=32224 - - * configure.ac: - -2009-12-07 Dmitry Titov - - Rubber-stamped by Darin Adler. - - Remove ENABLE_SHARED_SCRIPT flags - https://bugs.webkit.org/show_bug.cgi?id=32245 - This patch was obtained by "git revert" command and then un-reverting of ChangeLog files. - - * configure.ac: - -2009-12-06 Gustavo Noronha Silva - - Reviewed by Xan Lopez. - - Build the new API test. - - [GTK] REGRESSION: webkit thinks it can render PDFs - https://bugs.webkit.org/show_bug.cgi?id=32183 - - * GNUmakefile.am: - -2009-12-05 Vincent Untz - - Reviewed by Gustavo Noronha. - - Fixes race for builds with introspection enabled, and parallel - make. - - * GNUmakefile.am: - -2009-12-04 Xan Lopez - - Reviewed by Gustavo Noronha. - - [GTK]Enable DNS prefetching - https://bugs.webkit.org/show_bug.cgi?id=23846 - - Bump libsoup required version to 2.29.3 for DNS prefetching. - - * configure.ac: - -2009-11-30 Gustavo Noronha Silva - - Rubber-stamped by Xan Lopez. - - Make sure we distribute and install GObject Introspection files. - - * GNUmakefile.am: - -2009-11-30 Gustavo Noronha Silva - - Build fix. Make sure JSCore-1.0.gir is added to the distributed - tarball. - - * GNUmakefile.am: - -2009-11-30 Xan Lopez - - Reviewed by Gustavo Noronha. - - Bump versions for 1.1.17 release. - - * configure.ac: - 2009-11-30 Jan-Arve Sæther Reviewed by Simon Hausmann. @@ -599,110 +8,6 @@ * WebKit.pri: -2009-11-26 Laszlo Gombos - - Reviewed by Oliver Hunt. - - Move GOwnPtr* from wtf to wtf/gtk - https://bugs.webkit.org/show_bug.cgi?id=31793 - - * GNUmakefile.am: Add JavaScriptCore/wtf/gtk to - the include path. - -2009-11-24 Dmitry Titov - - Reviewed by Eric Seidel. - - Add ENABLE_SHARED_SCRIPT feature define and flag for build-webkit - https://bugs.webkit.org/show_bug.cgi?id=31444 - - * configure.ac: - -2009-11-24 Jason Smith - - Reviewed by Alexey Proskuryakov. - - RegExp#exec's returned Array-like object behaves differently from - regular Arrays - https://bugs.webkit.org/show_bug.cgi?id=31689 - - * LayoutTests/fast/js/regexp-in-and-foreach-handling.html: Added. - * LayoutTests/fast/js/script-tests/regexp-in-and-foreach-handling.js: Added. - * LayoutTests/fast/js/regexp-in-and-foreach-handling-expected.txt: Added. - -2009-11-24 Jens Alfke - - Reviewed by David Levin. - - Ignore Chromium's Xcode projects that are auto-generated from .gyp files. - https://bugs.webkit.org/show_bug.cgi?id=31847 - - * .gitignore: Add three .xcodeproj files. - -2009-11-09 Priit Laes - - Reviewed by Oliver Hunt. - - [Gtk] Build from tarball fails with --enable-introspection - https://bugs.webkit.org/show_bug.cgi?id=31261 - - We need to enable gobject-introspection during distcheck otherwise - some of the required files are missing in tarball. - - * GNUmakefile.am: - -2009-11-05 Priit Laes - - Reviewed by Jan Alonzo. - - [Gtk] Build failure with --enable-introspection - https://bugs.webkit.org/show_bug.cgi?id=31102 - - Add search and include paths for JSCore-1.0.gir required by - gobject-introspection tools. - - * GNUmakefile.am: - -2009-11-04 Benjamin Otte - - Reviewed by Gustavo Noronha. - - Update Cairo requirement to 1.6. - - https://bugs.webkit.org/show_bug.cgi?id=19266 - - * configure.ac: - -2009-11-02 Estêvão Samuel Procópio - - Reviewed by Gustavo Noronha. - - [Build] make install ignores --prefix option for gobject-introspection. - https://bugs.webkit.org/show_bug.cgi?id=31025 - - Make the build system use the --prefix path also when installing - gobject-introspection files. - - * configure.ac: use --prefix path in GITDIR and GIRTYPELIBDIR - -2009-11-02 Xan Lopez - - Bump version before release (or post-release, depending on your - point of view) so that we can make applications depending on - unreleased APIs in WebKit svn fail at configure time when the - requirements are not met. - - * configure.ac: - -2009-11-01 Laszlo Gombos - - Reviewed by Eric Seidel. - - Turn on warnings for QtWebKit for gcc - https://bugs.webkit.org/show_bug.cgi?id=30958 - - * WebKit.pri: Turn on warnings for the GCC compiler - 2009-10-30 Adam Barth Reviewed by Mark Rowe. @@ -717,19 +22,6 @@ * .gitignore: Added. -2009-10-30 Roland Steiner - - Reviewed by Eric Seidel. - - Remove ENABLE_RUBY guards as discussed with Dave Hyatt and Maciej Stachowiak. - - Bug 28420 - Implement HTML5 rendering - (https://bugs.webkit.org/show_bug.cgi?id=28420) - - No new tests (no functional change). - - * configure.ac: - 2009-10-26 Holger Hans Peter Freyther Rubber-stamped by Darin Adler. diff --git a/src/3rdparty/webkit/JavaScriptCore/API/APICast.h b/src/3rdparty/webkit/JavaScriptCore/API/APICast.h index 4284c44..b9167a8 100644 --- a/src/3rdparty/webkit/JavaScriptCore/API/APICast.h +++ b/src/3rdparty/webkit/JavaScriptCore/API/APICast.h @@ -51,20 +51,16 @@ typedef struct OpaqueJSValue* JSObjectRef; inline JSC::ExecState* toJS(JSContextRef c) { - ASSERT(c); return reinterpret_cast(const_cast(c)); } inline JSC::ExecState* toJS(JSGlobalContextRef c) { - ASSERT(c); return reinterpret_cast(c); } -inline JSC::JSValue toJS(JSC::ExecState* exec, JSValueRef v) +inline JSC::JSValue toJS(JSC::ExecState*, JSValueRef v) { - ASSERT_UNUSED(exec, exec); - ASSERT(v); #if USE(JSVALUE32_64) JSC::JSCell* jsCell = reinterpret_cast(const_cast(v)); if (!jsCell) @@ -77,20 +73,6 @@ inline JSC::JSValue toJS(JSC::ExecState* exec, JSValueRef v) #endif } -inline JSC::JSValue toJSForGC(JSC::ExecState* exec, JSValueRef v) -{ - ASSERT_UNUSED(exec, exec); - ASSERT(v); -#if USE(JSVALUE32_64) - JSC::JSCell* jsCell = reinterpret_cast(const_cast(v)); - if (!jsCell) - return JSC::JSValue(); - return jsCell; -#else - return JSC::JSValue::decode(reinterpret_cast(const_cast(v))); -#endif -} - inline JSC::JSObject* toJS(JSObjectRef o) { return reinterpret_cast(o); diff --git a/src/3rdparty/webkit/JavaScriptCore/API/APIShims.h b/src/3rdparty/webkit/JavaScriptCore/API/APIShims.h deleted file mode 100644 index 9a6cacb..0000000 --- a/src/3rdparty/webkit/JavaScriptCore/API/APIShims.h +++ /dev/null @@ -1,97 +0,0 @@ -/* - * Copyright (C) 2009 Apple Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY - * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef APIShims_h -#define APIShims_h - -#include "CallFrame.h" -#include "JSLock.h" - -namespace JSC { - -class APIEntryShimWithoutLock { -protected: - APIEntryShimWithoutLock(JSGlobalData* globalData, bool registerThread) - : m_globalData(globalData) - , m_entryIdentifierTable(setCurrentIdentifierTable(globalData->identifierTable)) - { - if (registerThread) - globalData->heap.registerThread(); - m_globalData->timeoutChecker.start(); - } - - ~APIEntryShimWithoutLock() - { - m_globalData->timeoutChecker.stop(); - setCurrentIdentifierTable(m_entryIdentifierTable); - } - -private: - JSGlobalData* m_globalData; - IdentifierTable* m_entryIdentifierTable; -}; - -class APIEntryShim : public APIEntryShimWithoutLock { -public: - // Normal API entry - APIEntryShim(ExecState* exec, bool registerThread = true) - : APIEntryShimWithoutLock(&exec->globalData(), registerThread) - , m_lock(exec) - { - } - - // JSPropertyNameAccumulator only has a globalData. - APIEntryShim(JSGlobalData* globalData, bool registerThread = true) - : APIEntryShimWithoutLock(globalData, registerThread) - , m_lock(globalData->isSharedInstance ? LockForReal : SilenceAssertionsOnly) - { - } - -private: - JSLock m_lock; -}; - -class APICallbackShim { -public: - APICallbackShim(ExecState* exec) - : m_dropAllLocks(exec) - , m_globalData(&exec->globalData()) - { - resetCurrentIdentifierTable(); - } - - ~APICallbackShim() - { - setCurrentIdentifierTable(m_globalData->identifierTable); - } - -private: - JSLock::DropAllLocks m_dropAllLocks; - JSGlobalData* m_globalData; -}; - -} - -#endif diff --git a/src/3rdparty/webkit/JavaScriptCore/API/JSBase.cpp b/src/3rdparty/webkit/JavaScriptCore/API/JSBase.cpp index ebfeafa..4a32d35 100644 --- a/src/3rdparty/webkit/JavaScriptCore/API/JSBase.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/API/JSBase.cpp @@ -28,7 +28,6 @@ #include "JSBasePrivate.h" #include "APICast.h" -#include "APIShims.h" #include "Completion.h" #include "OpaqueJSString.h" #include "SourceCode.h" @@ -44,7 +43,8 @@ using namespace JSC; JSValueRef JSEvaluateScript(JSContextRef ctx, JSStringRef script, JSObjectRef thisObject, JSStringRef sourceURL, int startingLineNumber, JSValueRef* exception) { ExecState* exec = toJS(ctx); - APIEntryShim entryShim(exec); + exec->globalData().heap.registerThread(); + JSLock lock(exec); JSObject* jsThisObject = toJS(thisObject); @@ -69,7 +69,8 @@ JSValueRef JSEvaluateScript(JSContextRef ctx, JSStringRef script, JSObjectRef th bool JSCheckScriptSyntax(JSContextRef ctx, JSStringRef script, JSStringRef sourceURL, int startingLineNumber, JSValueRef* exception) { ExecState* exec = toJS(ctx); - APIEntryShim entryShim(exec); + exec->globalData().heap.registerThread(); + JSLock lock(exec); SourceCode source = makeSource(script->ustring(), sourceURL->ustring(), startingLineNumber); Completion completion = checkSyntax(exec->dynamicGlobalObject()->globalExec(), source); @@ -93,11 +94,12 @@ void JSGarbageCollect(JSContextRef ctx) return; ExecState* exec = toJS(ctx); - APIEntryShim entryShim(exec, false); - JSGlobalData& globalData = exec->globalData(); + + JSLock lock(globalData.isSharedInstance ? LockForReal : SilenceAssertionsOnly); + if (!globalData.heap.isBusy()) - globalData.heap.collectAllGarbage(); + globalData.heap.collect(); // FIXME: Perhaps we should trigger a second mark and sweep // once the garbage collector is done if this is called when @@ -107,6 +109,8 @@ void JSGarbageCollect(JSContextRef ctx) void JSReportExtraMemoryCost(JSContextRef ctx, size_t size) { ExecState* exec = toJS(ctx); - APIEntryShim entryShim(exec); + exec->globalData().heap.registerThread(); + JSLock lock(exec); + exec->globalData().heap.reportExtraMemoryCost(size); } diff --git a/src/3rdparty/webkit/JavaScriptCore/API/JSBase.h b/src/3rdparty/webkit/JavaScriptCore/API/JSBase.h index 2e16720..d1ce9b3 100644 --- a/src/3rdparty/webkit/JavaScriptCore/API/JSBase.h +++ b/src/3rdparty/webkit/JavaScriptCore/API/JSBase.h @@ -65,15 +65,27 @@ typedef struct OpaqueJSValue* JSObjectRef; /* JavaScript symbol exports */ #undef JS_EXPORT -#if defined(JS_NO_EXPORT) +#if defined(BUILDING_WX__) #define JS_EXPORT #elif defined(__GNUC__) && !defined(__CC_ARM) && !defined(__ARMCC__) #define JS_EXPORT __attribute__((visibility("default"))) -#elif defined(WIN32) || defined(_WIN32) || defined(_WIN32_WCE) - #if defined(BUILDING_JavaScriptCore) || defined(BUILDING_WTF) +#elif defined(_WIN32_WCE) + #if defined(JS_BUILDING_JS) #define JS_EXPORT __declspec(dllexport) - #else + #elif defined(JS_IMPORT_JS) #define JS_EXPORT __declspec(dllimport) + #else + #define JS_EXPORT + #endif +#elif defined(WIN32) || defined(_WIN32) + /* + * TODO: Export symbols with JS_EXPORT when using MSVC. + * See http://bugs.webkit.org/show_bug.cgi?id=16227 + */ + #if defined(BUILDING_JavaScriptCore) || defined(BUILDING_WTF) + #define JS_EXPORT __declspec(dllexport) + #else + #define JS_EXPORT __declspec(dllimport) #endif #else #define JS_EXPORT diff --git a/src/3rdparty/webkit/JavaScriptCore/API/JSCallbackConstructor.cpp b/src/3rdparty/webkit/JavaScriptCore/API/JSCallbackConstructor.cpp index 9c5f6d7..1c33962 100644 --- a/src/3rdparty/webkit/JavaScriptCore/API/JSCallbackConstructor.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/API/JSCallbackConstructor.cpp @@ -26,7 +26,6 @@ #include "config.h" #include "JSCallbackConstructor.h" -#include "APIShims.h" #include "APICast.h" #include #include @@ -67,7 +66,7 @@ static JSObject* constructJSCallback(ExecState* exec, JSObject* constructor, con JSValueRef exception = 0; JSObjectRef result; { - APICallbackShim callbackShim(exec); + JSLock::DropAllLocks dropAllLocks(exec); result = callback(ctx, constructorRef, argumentCount, arguments.data(), &exception); } if (exception) diff --git a/src/3rdparty/webkit/JavaScriptCore/API/JSCallbackConstructor.h b/src/3rdparty/webkit/JavaScriptCore/API/JSCallbackConstructor.h index e529947..c4bd7ad 100644 --- a/src/3rdparty/webkit/JavaScriptCore/API/JSCallbackConstructor.h +++ b/src/3rdparty/webkit/JavaScriptCore/API/JSCallbackConstructor.h @@ -41,7 +41,7 @@ public: static PassRefPtr createStructure(JSValue proto) { - return Structure::create(proto, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount); + return Structure::create(proto, TypeInfo(ObjectType, StructureFlags)); } protected: diff --git a/src/3rdparty/webkit/JavaScriptCore/API/JSCallbackFunction.cpp b/src/3rdparty/webkit/JavaScriptCore/API/JSCallbackFunction.cpp index 0e434d9..b7dd768 100644 --- a/src/3rdparty/webkit/JavaScriptCore/API/JSCallbackFunction.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/API/JSCallbackFunction.cpp @@ -27,7 +27,6 @@ #include #include "JSCallbackFunction.h" -#include "APIShims.h" #include "APICast.h" #include "CodeBlock.h" #include "JSFunction.h" @@ -62,7 +61,7 @@ JSValue JSCallbackFunction::call(ExecState* exec, JSObject* functionObject, JSVa JSValueRef exception = 0; JSValueRef result; { - APICallbackShim callbackShim(exec); + JSLock::DropAllLocks dropAllLocks(exec); result = static_cast(functionObject)->m_callback(execRef, functionRef, thisObjRef, argumentCount, arguments.data(), &exception); } if (exception) diff --git a/src/3rdparty/webkit/JavaScriptCore/API/JSCallbackFunction.h b/src/3rdparty/webkit/JavaScriptCore/API/JSCallbackFunction.h index 10dae6b..0cf25c4 100644 --- a/src/3rdparty/webkit/JavaScriptCore/API/JSCallbackFunction.h +++ b/src/3rdparty/webkit/JavaScriptCore/API/JSCallbackFunction.h @@ -41,7 +41,7 @@ public: // refactor the code so this override isn't necessary static PassRefPtr createStructure(JSValue proto) { - return Structure::create(proto, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount); + return Structure::create(proto, TypeInfo(ObjectType, StructureFlags)); } private: diff --git a/src/3rdparty/webkit/JavaScriptCore/API/JSCallbackObject.h b/src/3rdparty/webkit/JavaScriptCore/API/JSCallbackObject.h index adb5b60..d19890a 100644 --- a/src/3rdparty/webkit/JavaScriptCore/API/JSCallbackObject.h +++ b/src/3rdparty/webkit/JavaScriptCore/API/JSCallbackObject.h @@ -50,7 +50,7 @@ public: static PassRefPtr createStructure(JSValue proto) { - return Structure::create(proto, TypeInfo(ObjectType, StructureFlags), Base::AnonymousSlotCount); + return Structure::create(proto, TypeInfo(ObjectType, StructureFlags)); } protected: @@ -61,7 +61,6 @@ private: virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&); virtual bool getOwnPropertySlot(ExecState*, unsigned, PropertySlot&); - virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&); virtual void put(ExecState*, const Identifier&, JSValue, PutPropertySlot&); @@ -70,7 +69,7 @@ private: virtual bool hasInstance(ExecState* exec, JSValue value, JSValue proto); - virtual void getOwnPropertyNames(ExecState*, PropertyNameArray&, EnumerationMode mode = ExcludeDontEnumProperties); + virtual void getOwnPropertyNames(ExecState*, PropertyNameArray&); virtual double toNumber(ExecState*) const; virtual UString toString(ExecState*) const; diff --git a/src/3rdparty/webkit/JavaScriptCore/API/JSCallbackObjectFunctions.h b/src/3rdparty/webkit/JavaScriptCore/API/JSCallbackObjectFunctions.h index 4b28a99..9b726e8 100644 --- a/src/3rdparty/webkit/JavaScriptCore/API/JSCallbackObjectFunctions.h +++ b/src/3rdparty/webkit/JavaScriptCore/API/JSCallbackObjectFunctions.h @@ -24,7 +24,6 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#include "APIShims.h" #include "APICast.h" #include "Error.h" #include "JSCallbackFunction.h" @@ -80,7 +79,7 @@ void JSCallbackObject::init(ExecState* exec) // initialize from base to derived for (int i = static_cast(initRoutines.size()) - 1; i >= 0; i--) { - APICallbackShim callbackShim(exec); + JSLock::DropAllLocks dropAllLocks(exec); JSObjectInitializeCallback initialize = initRoutines[i]; initialize(toRef(exec), toRef(this)); } @@ -118,7 +117,7 @@ bool JSCallbackObject::getOwnPropertySlot(ExecState* exec, const Identifie if (JSObjectHasPropertyCallback hasProperty = jsClass->hasProperty) { if (!propertyNameRef) propertyNameRef = OpaqueJSString::create(propertyName.ustring()); - APICallbackShim callbackShim(exec); + JSLock::DropAllLocks dropAllLocks(exec); if (hasProperty(ctx, thisRef, propertyNameRef.get())) { slot.setCustom(this, callbackGetter); return true; @@ -129,18 +128,18 @@ bool JSCallbackObject::getOwnPropertySlot(ExecState* exec, const Identifie JSValueRef exception = 0; JSValueRef value; { - APICallbackShim callbackShim(exec); + JSLock::DropAllLocks dropAllLocks(exec); value = getProperty(ctx, thisRef, propertyNameRef.get(), &exception); } - if (exception) { - exec->setException(toJS(exec, exception)); - slot.setValue(jsUndefined()); - return true; - } + exec->setException(toJS(exec, exception)); if (value) { slot.setValue(toJS(exec, value)); return true; } + if (exception) { + slot.setValue(jsUndefined()); + return true; + } } if (OpaqueJSClassStaticValuesTable* staticValues = jsClass->staticValues(exec)) { @@ -168,25 +167,6 @@ bool JSCallbackObject::getOwnPropertySlot(ExecState* exec, unsigned proper } template -bool JSCallbackObject::getOwnPropertyDescriptor(ExecState* exec, const Identifier& propertyName, PropertyDescriptor& descriptor) -{ - PropertySlot slot; - if (getOwnPropertySlot(exec, propertyName, slot)) { - // Ideally we should return an access descriptor, but returning a value descriptor is better than nothing. - JSValue value = slot.getValue(exec, propertyName); - if (!exec->hadException()) - descriptor.setValue(value); - // We don't know whether the property is configurable, but assume it is. - descriptor.setConfigurable(true); - // We don't know whether the property is enumerable (we could call getOwnPropertyNames() to find out), but assume it isn't. - descriptor.setEnumerable(false); - return true; - } - - return Base::getOwnPropertyDescriptor(exec, propertyName, descriptor); -} - -template void JSCallbackObject::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot) { JSContextRef ctx = toRef(exec); @@ -201,11 +181,10 @@ void JSCallbackObject::put(ExecState* exec, const Identifier& propertyName JSValueRef exception = 0; bool result; { - APICallbackShim callbackShim(exec); + JSLock::DropAllLocks dropAllLocks(exec); result = setProperty(ctx, thisRef, propertyNameRef.get(), valueRef, &exception); } - if (exception) - exec->setException(toJS(exec, exception)); + exec->setException(toJS(exec, exception)); if (result || exception) return; } @@ -220,11 +199,10 @@ void JSCallbackObject::put(ExecState* exec, const Identifier& propertyName JSValueRef exception = 0; bool result; { - APICallbackShim callbackShim(exec); + JSLock::DropAllLocks dropAllLocks(exec); result = setProperty(ctx, thisRef, propertyNameRef.get(), valueRef, &exception); } - if (exception) - exec->setException(toJS(exec, exception)); + exec->setException(toJS(exec, exception)); if (result || exception) return; } else @@ -259,11 +237,10 @@ bool JSCallbackObject::deleteProperty(ExecState* exec, const Identifier& p JSValueRef exception = 0; bool result; { - APICallbackShim callbackShim(exec); + JSLock::DropAllLocks dropAllLocks(exec); result = deleteProperty(ctx, thisRef, propertyNameRef.get(), &exception); } - if (exception) - exec->setException(toJS(exec, exception)); + exec->setException(toJS(exec, exception)); if (result || exception) return true; } @@ -321,11 +298,10 @@ JSObject* JSCallbackObject::construct(ExecState* exec, JSObject* construct JSValueRef exception = 0; JSObject* result; { - APICallbackShim callbackShim(exec); + JSLock::DropAllLocks dropAllLocks(exec); result = toJS(callAsConstructor(execRef, constructorRef, argumentCount, arguments.data(), &exception)); } - if (exception) - exec->setException(toJS(exec, exception)); + exec->setException(toJS(exec, exception)); return result; } } @@ -346,11 +322,10 @@ bool JSCallbackObject::hasInstance(ExecState* exec, JSValue value, JSValue JSValueRef exception = 0; bool result; { - APICallbackShim callbackShim(exec); + JSLock::DropAllLocks dropAllLocks(exec); result = hasInstance(execRef, thisRef, valueRef, &exception); } - if (exception) - exec->setException(toJS(exec, exception)); + exec->setException(toJS(exec, exception)); return result; } } @@ -385,11 +360,10 @@ JSValue JSCallbackObject::call(ExecState* exec, JSObject* functionObject, JSValueRef exception = 0; JSValue result; { - APICallbackShim callbackShim(exec); + JSLock::DropAllLocks dropAllLocks(exec); result = toJS(exec, callAsFunction(execRef, functionRef, thisObjRef, argumentCount, arguments.data(), &exception)); } - if (exception) - exec->setException(toJS(exec, exception)); + exec->setException(toJS(exec, exception)); return result; } } @@ -399,14 +373,14 @@ JSValue JSCallbackObject::call(ExecState* exec, JSObject* functionObject, } template -void JSCallbackObject::getOwnPropertyNames(ExecState* exec, PropertyNameArray& propertyNames, EnumerationMode mode) +void JSCallbackObject::getOwnPropertyNames(ExecState* exec, PropertyNameArray& propertyNames) { JSContextRef execRef = toRef(exec); JSObjectRef thisRef = toRef(this); for (JSClassRef jsClass = classRef(); jsClass; jsClass = jsClass->parentClass) { if (JSObjectGetPropertyNamesCallback getPropertyNames = jsClass->getPropertyNames) { - APICallbackShim callbackShim(exec); + JSLock::DropAllLocks dropAllLocks(exec); getPropertyNames(execRef, thisRef, toRef(&propertyNames)); } @@ -416,7 +390,7 @@ void JSCallbackObject::getOwnPropertyNames(ExecState* exec, PropertyNameAr for (iterator it = staticValues->begin(); it != end; ++it) { UString::Rep* name = it->first.get(); StaticValueEntry* entry = it->second; - if (entry->getProperty && (!(entry->attributes & kJSPropertyAttributeDontEnum) || (mode == IncludeDontEnumProperties))) + if (entry->getProperty && !(entry->attributes & kJSPropertyAttributeDontEnum)) propertyNames.add(Identifier(exec, name)); } } @@ -427,13 +401,13 @@ void JSCallbackObject::getOwnPropertyNames(ExecState* exec, PropertyNameAr for (iterator it = staticFunctions->begin(); it != end; ++it) { UString::Rep* name = it->first.get(); StaticFunctionEntry* entry = it->second; - if (!(entry->attributes & kJSPropertyAttributeDontEnum) || (mode == IncludeDontEnumProperties)) + if (!(entry->attributes & kJSPropertyAttributeDontEnum)) propertyNames.add(Identifier(exec, name)); } } } - Base::getOwnPropertyNames(exec, propertyNames, mode); + Base::getOwnPropertyNames(exec, propertyNames); } template @@ -452,7 +426,7 @@ double JSCallbackObject::toNumber(ExecState* exec) const JSValueRef exception = 0; JSValueRef value; { - APICallbackShim callbackShim(exec); + JSLock::DropAllLocks dropAllLocks(exec); value = convertToType(ctx, thisRef, kJSTypeNumber, &exception); } if (exception) { @@ -461,8 +435,7 @@ double JSCallbackObject::toNumber(ExecState* exec) const } double dValue; - if (value) - return toJS(exec, value).getNumber(dValue) ? dValue : NaN; + return toJS(exec, value).getNumber(dValue) ? dValue : NaN; } return Base::toNumber(exec); @@ -479,15 +452,14 @@ UString JSCallbackObject::toString(ExecState* exec) const JSValueRef exception = 0; JSValueRef value; { - APICallbackShim callbackShim(exec); + JSLock::DropAllLocks dropAllLocks(exec); value = convertToType(ctx, thisRef, kJSTypeString, &exception); } if (exception) { exec->setException(toJS(exec, exception)); return ""; } - if (value) - return toJS(exec, value).getString(exec); + return toJS(exec, value).getString(); } return Base::toString(exec); @@ -532,17 +504,16 @@ JSValue JSCallbackObject::staticValueGetter(ExecState* exec, const Identif JSValueRef exception = 0; JSValueRef value; { - APICallbackShim callbackShim(exec); + JSLock::DropAllLocks dropAllLocks(exec); value = getProperty(toRef(exec), thisRef, propertyNameRef.get(), &exception); } - if (exception) { - exec->setException(toJS(exec, exception)); - return jsUndefined(); - } + exec->setException(toJS(exec, exception)); if (value) return toJS(exec, value); + if (exception) + return jsUndefined(); } - + return throwError(exec, ReferenceError, "Static value property defined with NULL getProperty callback."); } @@ -586,15 +557,14 @@ JSValue JSCallbackObject::callbackGetter(ExecState* exec, const Identifier JSValueRef exception = 0; JSValueRef value; { - APICallbackShim callbackShim(exec); + JSLock::DropAllLocks dropAllLocks(exec); value = getProperty(toRef(exec), thisRef, propertyNameRef.get(), &exception); } - if (exception) { - exec->setException(toJS(exec, exception)); - return jsUndefined(); - } + exec->setException(toJS(exec, exception)); if (value) return toJS(exec, value); + if (exception) + return jsUndefined(); } return throwError(exec, ReferenceError, "hasProperty callback returned true for a property that doesn't exist."); diff --git a/src/3rdparty/webkit/JavaScriptCore/API/JSClassRef.cpp b/src/3rdparty/webkit/JavaScriptCore/API/JSClassRef.cpp index 717488f..3785bab 100644 --- a/src/3rdparty/webkit/JavaScriptCore/API/JSClassRef.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/API/JSClassRef.cpp @@ -33,28 +33,11 @@ #include #include #include -#include -using namespace std; using namespace JSC; -using namespace WTF::Unicode; const JSClassDefinition kJSClassDefinitionEmpty = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; -static inline UString tryCreateStringFromUTF8(const char* string) -{ - if (!string) - return UString::null(); - - size_t length = strlen(string); - Vector buffer(length); - UChar* p = buffer.data(); - if (conversionOK != convertUTF8ToUTF16(&string, string + length, &p, p + length)) - return UString::null(); - - return UString(buffer.data(), p - buffer.data()); -} - OpaqueJSClass::OpaqueJSClass(const JSClassDefinition* definition, OpaqueJSClass* protoClass) : parentClass(definition->parentClass) , prototypeClass(0) @@ -69,7 +52,7 @@ OpaqueJSClass::OpaqueJSClass(const JSClassDefinition* definition, OpaqueJSClass* , callAsConstructor(definition->callAsConstructor) , hasInstance(definition->hasInstance) , convertToType(definition->convertToType) - , m_className(tryCreateStringFromUTF8(definition->className)) + , m_className(UString::Rep::createFromUTF8(definition->className)) , m_staticValues(0) , m_staticFunctions(0) { @@ -78,14 +61,8 @@ OpaqueJSClass::OpaqueJSClass(const JSClassDefinition* definition, OpaqueJSClass* if (const JSStaticValue* staticValue = definition->staticValues) { m_staticValues = new OpaqueJSClassStaticValuesTable(); while (staticValue->name) { - UString valueName = tryCreateStringFromUTF8(staticValue->name); - if (!valueName.isNull()) { - // Use a local variable here to sidestep an RVCT compiler bug. - StaticValueEntry* entry = new StaticValueEntry(staticValue->getProperty, staticValue->setProperty, staticValue->attributes); - UStringImpl* impl = valueName.rep(); - impl->ref(); - m_staticValues->add(impl, entry); - } + StaticValueEntry* e = new StaticValueEntry(staticValue->getProperty, staticValue->setProperty, staticValue->attributes); + m_staticValues->add(UString::Rep::createFromUTF8(staticValue->name), e); ++staticValue; } } @@ -93,14 +70,8 @@ OpaqueJSClass::OpaqueJSClass(const JSClassDefinition* definition, OpaqueJSClass* if (const JSStaticFunction* staticFunction = definition->staticFunctions) { m_staticFunctions = new OpaqueJSClassStaticFunctionsTable(); while (staticFunction->name) { - UString functionName = tryCreateStringFromUTF8(staticFunction->name); - if (!functionName.isNull()) { - // Use a local variable here to sidestep an RVCT compiler bug. - StaticFunctionEntry* entry = new StaticFunctionEntry(staticFunction->callAsFunction, staticFunction->attributes); - UStringImpl* impl = functionName.rep(); - impl->ref(); - m_staticFunctions->add(impl, entry); - } + StaticFunctionEntry* e = new StaticFunctionEntry(staticFunction->callAsFunction, staticFunction->attributes); + m_staticFunctions->add(UString::Rep::createFromUTF8(staticFunction->name), e); ++staticFunction; } } @@ -111,12 +82,12 @@ OpaqueJSClass::OpaqueJSClass(const JSClassDefinition* definition, OpaqueJSClass* OpaqueJSClass::~OpaqueJSClass() { - ASSERT(!m_className.rep()->isIdentifier()); + ASSERT(!m_className.rep()->identifierTable()); if (m_staticValues) { OpaqueJSClassStaticValuesTable::const_iterator end = m_staticValues->end(); for (OpaqueJSClassStaticValuesTable::const_iterator it = m_staticValues->begin(); it != end; ++it) { - ASSERT(!it->first->isIdentifier()); + ASSERT(!it->first->identifierTable()); delete it->second; } delete m_staticValues; @@ -125,7 +96,7 @@ OpaqueJSClass::~OpaqueJSClass() if (m_staticFunctions) { OpaqueJSClassStaticFunctionsTable::const_iterator end = m_staticFunctions->end(); for (OpaqueJSClassStaticFunctionsTable::const_iterator it = m_staticFunctions->begin(); it != end; ++it) { - ASSERT(!it->first->isIdentifier()); + ASSERT(!it->first->identifierTable()); delete it->second; } delete m_staticFunctions; @@ -144,46 +115,56 @@ static void clearReferenceToPrototype(JSObjectRef prototype) { OpaqueJSClassContextData* jsClassData = static_cast(JSObjectGetPrivate(prototype)); ASSERT(jsClassData); - jsClassData->cachedPrototype.clear(toJS(prototype)); + jsClassData->cachedPrototype = 0; } -PassRefPtr OpaqueJSClass::create(const JSClassDefinition* clientDefinition) +PassRefPtr OpaqueJSClass::create(const JSClassDefinition* definition) { - JSClassDefinition definition = *clientDefinition; // Avoid modifying client copy. + if (const JSStaticFunction* staticFunctions = definition->staticFunctions) { + // copy functions into a prototype class + JSClassDefinition protoDefinition = kJSClassDefinitionEmpty; + protoDefinition.staticFunctions = staticFunctions; + protoDefinition.finalize = clearReferenceToPrototype; + + // We are supposed to use JSClassRetain/Release but since we know that we currently have + // the only reference to this class object we cheat and use a RefPtr instead. + RefPtr protoClass = adoptRef(new OpaqueJSClass(&protoDefinition, 0)); - JSClassDefinition protoDefinition = kJSClassDefinitionEmpty; - protoDefinition.finalize = clearReferenceToPrototype; - swap(definition.staticFunctions, protoDefinition.staticFunctions); // Move static functions to the prototype. - - // We are supposed to use JSClassRetain/Release but since we know that we currently have - // the only reference to this class object we cheat and use a RefPtr instead. - RefPtr protoClass = adoptRef(new OpaqueJSClass(&protoDefinition, 0)); - return adoptRef(new OpaqueJSClass(&definition, protoClass.get())); + // remove functions from the original class + JSClassDefinition objectDefinition = *definition; + objectDefinition.staticFunctions = 0; + + return adoptRef(new OpaqueJSClass(&objectDefinition, protoClass.get())); + } + + return adoptRef(new OpaqueJSClass(definition, 0)); } OpaqueJSClassContextData::OpaqueJSClassContextData(OpaqueJSClass* jsClass) : m_class(jsClass) + , cachedPrototype(0) { if (jsClass->m_staticValues) { staticValues = new OpaqueJSClassStaticValuesTable; OpaqueJSClassStaticValuesTable::const_iterator end = jsClass->m_staticValues->end(); for (OpaqueJSClassStaticValuesTable::const_iterator it = jsClass->m_staticValues->begin(); it != end; ++it) { - ASSERT(!it->first->isIdentifier()); - // Use a local variable here to sidestep an RVCT compiler bug. - StaticValueEntry* entry = new StaticValueEntry(it->second->getProperty, it->second->setProperty, it->second->attributes); - staticValues->add(UString::Rep::create(it->first->data(), it->first->length()), entry); + ASSERT(!it->first->identifierTable()); + StaticValueEntry* e = new StaticValueEntry(it->second->getProperty, it->second->setProperty, it->second->attributes); + staticValues->add(UString::Rep::createCopying(it->first->data(), it->first->size()), e); + } + } else staticValues = 0; + if (jsClass->m_staticFunctions) { staticFunctions = new OpaqueJSClassStaticFunctionsTable; OpaqueJSClassStaticFunctionsTable::const_iterator end = jsClass->m_staticFunctions->end(); for (OpaqueJSClassStaticFunctionsTable::const_iterator it = jsClass->m_staticFunctions->begin(); it != end; ++it) { - ASSERT(!it->first->isIdentifier()); - // Use a local variable here to sidestep an RVCT compiler bug. - StaticFunctionEntry* entry = new StaticFunctionEntry(it->second->callAsFunction, it->second->attributes); - staticFunctions->add(UString::Rep::create(it->first->data(), it->first->length()), entry); + ASSERT(!it->first->identifierTable()); + StaticFunctionEntry* e = new StaticFunctionEntry(it->second->callAsFunction, it->second->attributes); + staticFunctions->add(UString::Rep::createCopying(it->first->data(), it->first->size()), e); } } else @@ -260,5 +241,5 @@ JSObject* OpaqueJSClass::prototype(ExecState* exec) jsClassData.cachedPrototype->setPrototype(prototype); } } - return jsClassData.cachedPrototype.get(); + return jsClassData.cachedPrototype; } diff --git a/src/3rdparty/webkit/JavaScriptCore/API/JSClassRef.h b/src/3rdparty/webkit/JavaScriptCore/API/JSClassRef.h index ae60aad..c4777dd 100644 --- a/src/3rdparty/webkit/JavaScriptCore/API/JSClassRef.h +++ b/src/3rdparty/webkit/JavaScriptCore/API/JSClassRef.h @@ -31,7 +31,6 @@ #include #include #include -#include #include #include @@ -77,7 +76,7 @@ struct OpaqueJSClassContextData : Noncopyable { OpaqueJSClassStaticValuesTable* staticValues; OpaqueJSClassStaticFunctionsTable* staticFunctions; - JSC::WeakGCPtr cachedPrototype; + JSC::JSObject* cachedPrototype; }; struct OpaqueJSClass : public ThreadSafeShared { diff --git a/src/3rdparty/webkit/JavaScriptCore/API/JSContextRef.cpp b/src/3rdparty/webkit/JavaScriptCore/API/JSContextRef.cpp index 2c76338..e6626b7 100644 --- a/src/3rdparty/webkit/JavaScriptCore/API/JSContextRef.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/API/JSContextRef.cpp @@ -35,7 +35,7 @@ #include "JSObject.h" #include -#if OS(DARWIN) +#if PLATFORM(DARWIN) #include static const int32_t webkitFirstVersionWithConcurrentGlobalContexts = 0x2100500; // 528.5.0 @@ -46,7 +46,7 @@ using namespace JSC; JSContextGroupRef JSContextGroupCreate() { initializeThreading(); - return toRef(JSGlobalData::createNonDefault().releaseRef()); + return toRef(JSGlobalData::create().releaseRef()); } JSContextGroupRef JSContextGroupRetain(JSContextGroupRef group) @@ -63,7 +63,7 @@ void JSContextGroupRelease(JSContextGroupRef group) JSGlobalContextRef JSGlobalContextCreate(JSClassRef globalObjectClass) { initializeThreading(); -#if OS(DARWIN) +#if PLATFORM(DARWIN) // When running on Tiger or Leopard, or if the application was linked before JSGlobalContextCreate was changed // to use a unique JSGlobalData, we use a shared one for compatibility. #if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD) @@ -74,7 +74,7 @@ JSGlobalContextRef JSGlobalContextCreate(JSClassRef globalObjectClass) JSLock lock(LockForReal); return JSGlobalContextCreateInGroup(toRef(&JSGlobalData::sharedInstance()), globalObjectClass); } -#endif // OS(DARWIN) +#endif // PLATFORM(DARWIN) return JSGlobalContextCreateInGroup(0, globalObjectClass); } @@ -84,9 +84,8 @@ JSGlobalContextRef JSGlobalContextCreateInGroup(JSContextGroupRef group, JSClass initializeThreading(); JSLock lock(LockForReal); - RefPtr globalData = group ? PassRefPtr(toJS(group)) : JSGlobalData::createNonDefault(); - APIEntryShim entryShim(globalData.get(), false); + RefPtr globalData = group ? PassRefPtr(toJS(group)) : JSGlobalData::create(); #if ENABLE(JSC_MULTIPLE_THREADS) globalData->makeUsableFromMultipleThreads(); @@ -109,9 +108,12 @@ JSGlobalContextRef JSGlobalContextCreateInGroup(JSContextGroupRef group, JSClass JSGlobalContextRef JSGlobalContextRetain(JSGlobalContextRef ctx) { ExecState* exec = toJS(ctx); - APIEntryShim entryShim(exec); + JSLock lock(exec); JSGlobalData& globalData = exec->globalData(); + + globalData.heap.registerThread(); + gcProtect(exec->dynamicGlobalObject()); globalData.ref(); return ctx; @@ -122,26 +124,25 @@ void JSGlobalContextRelease(JSGlobalContextRef ctx) ExecState* exec = toJS(ctx); JSLock lock(exec); - JSGlobalData& globalData = exec->globalData(); - IdentifierTable* savedIdentifierTable = setCurrentIdentifierTable(globalData.identifierTable); - gcUnprotect(exec->dynamicGlobalObject()); + JSGlobalData& globalData = exec->globalData(); if (globalData.refCount() == 2) { // One reference is held by JSGlobalObject, another added by JSGlobalContextRetain(). // The last reference was released, this is our last chance to collect. + ASSERT(!globalData.heap.protectedObjectCount()); + ASSERT(!globalData.heap.isBusy()); globalData.heap.destroy(); } else - globalData.heap.collectAllGarbage(); + globalData.heap.collect(); globalData.deref(); - - setCurrentIdentifierTable(savedIdentifierTable); } JSObjectRef JSContextGetGlobalObject(JSContextRef ctx) { ExecState* exec = toJS(ctx); - APIEntryShim entryShim(exec); + exec->globalData().heap.registerThread(); + JSLock lock(exec); // It is necessary to call toThisObject to get the wrapper object when used with WebCore. return toRef(exec->lexicalGlobalObject()->toThisObject(exec)); @@ -156,7 +157,8 @@ JSContextGroupRef JSContextGetGroup(JSContextRef ctx) JSGlobalContextRef JSContextGetGlobalContext(JSContextRef ctx) { ExecState* exec = toJS(ctx); - APIEntryShim entryShim(exec); + exec->globalData().heap.registerThread(); + JSLock lock(exec); return toGlobalRef(exec->lexicalGlobalObject()->globalExec()); } diff --git a/src/3rdparty/webkit/JavaScriptCore/API/JSObjectRef.cpp b/src/3rdparty/webkit/JavaScriptCore/API/JSObjectRef.cpp index faaa4eb..06ef578 100644 --- a/src/3rdparty/webkit/JavaScriptCore/API/JSObjectRef.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/API/JSObjectRef.cpp @@ -76,7 +76,8 @@ void JSClassRelease(JSClassRef jsClass) JSObjectRef JSObjectMake(JSContextRef ctx, JSClassRef jsClass, void* data) { ExecState* exec = toJS(ctx); - APIEntryShim entryShim(exec); + exec->globalData().heap.registerThread(); + JSLock lock(exec); if (!jsClass) return toRef(new (exec) JSObject(exec->lexicalGlobalObject()->emptyObjectStructure())); // slightly more efficient @@ -91,7 +92,8 @@ JSObjectRef JSObjectMake(JSContextRef ctx, JSClassRef jsClass, void* data) JSObjectRef JSObjectMakeFunctionWithCallback(JSContextRef ctx, JSStringRef name, JSObjectCallAsFunctionCallback callAsFunction) { ExecState* exec = toJS(ctx); - APIEntryShim entryShim(exec); + exec->globalData().heap.registerThread(); + JSLock lock(exec); Identifier nameID = name ? name->identifier(&exec->globalData()) : Identifier(exec, "anonymous"); @@ -101,7 +103,8 @@ JSObjectRef JSObjectMakeFunctionWithCallback(JSContextRef ctx, JSStringRef name, JSObjectRef JSObjectMakeConstructor(JSContextRef ctx, JSClassRef jsClass, JSObjectCallAsConstructorCallback callAsConstructor) { ExecState* exec = toJS(ctx); - APIEntryShim entryShim(exec); + exec->globalData().heap.registerThread(); + JSLock lock(exec); JSValue jsPrototype = jsClass ? jsClass->prototype(exec) : 0; if (!jsPrototype) @@ -115,7 +118,8 @@ JSObjectRef JSObjectMakeConstructor(JSContextRef ctx, JSClassRef jsClass, JSObje JSObjectRef JSObjectMakeFunction(JSContextRef ctx, JSStringRef name, unsigned parameterCount, const JSStringRef parameterNames[], JSStringRef body, JSStringRef sourceURL, int startingLineNumber, JSValueRef* exception) { ExecState* exec = toJS(ctx); - APIEntryShim entryShim(exec); + exec->globalData().heap.registerThread(); + JSLock lock(exec); Identifier nameID = name ? name->identifier(&exec->globalData()) : Identifier(exec, "anonymous"); @@ -137,7 +141,8 @@ JSObjectRef JSObjectMakeFunction(JSContextRef ctx, JSStringRef name, unsigned pa JSObjectRef JSObjectMakeArray(JSContextRef ctx, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception) { ExecState* exec = toJS(ctx); - APIEntryShim entryShim(exec); + exec->globalData().heap.registerThread(); + JSLock lock(exec); JSObject* result; if (argumentCount) { @@ -162,7 +167,8 @@ JSObjectRef JSObjectMakeArray(JSContextRef ctx, size_t argumentCount, const JSVa JSObjectRef JSObjectMakeDate(JSContextRef ctx, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception) { ExecState* exec = toJS(ctx); - APIEntryShim entryShim(exec); + exec->globalData().heap.registerThread(); + JSLock lock(exec); MarkedArgumentBuffer argList; for (size_t i = 0; i < argumentCount; ++i) @@ -182,7 +188,8 @@ JSObjectRef JSObjectMakeDate(JSContextRef ctx, size_t argumentCount, const JSVal JSObjectRef JSObjectMakeError(JSContextRef ctx, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception) { ExecState* exec = toJS(ctx); - APIEntryShim entryShim(exec); + exec->globalData().heap.registerThread(); + JSLock lock(exec); MarkedArgumentBuffer argList; for (size_t i = 0; i < argumentCount; ++i) @@ -202,7 +209,8 @@ JSObjectRef JSObjectMakeError(JSContextRef ctx, size_t argumentCount, const JSVa JSObjectRef JSObjectMakeRegExp(JSContextRef ctx, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception) { ExecState* exec = toJS(ctx); - APIEntryShim entryShim(exec); + exec->globalData().heap.registerThread(); + JSLock lock(exec); MarkedArgumentBuffer argList; for (size_t i = 0; i < argumentCount; ++i) @@ -222,7 +230,8 @@ JSObjectRef JSObjectMakeRegExp(JSContextRef ctx, size_t argumentCount, const JSV JSValueRef JSObjectGetPrototype(JSContextRef ctx, JSObjectRef object) { ExecState* exec = toJS(ctx); - APIEntryShim entryShim(exec); + exec->globalData().heap.registerThread(); + JSLock lock(exec); JSObject* jsObject = toJS(object); return toRef(exec, jsObject->prototype()); @@ -231,7 +240,8 @@ JSValueRef JSObjectGetPrototype(JSContextRef ctx, JSObjectRef object) void JSObjectSetPrototype(JSContextRef ctx, JSObjectRef object, JSValueRef value) { ExecState* exec = toJS(ctx); - APIEntryShim entryShim(exec); + exec->globalData().heap.registerThread(); + JSLock lock(exec); JSObject* jsObject = toJS(object); JSValue jsValue = toJS(exec, value); @@ -242,7 +252,8 @@ void JSObjectSetPrototype(JSContextRef ctx, JSObjectRef object, JSValueRef value bool JSObjectHasProperty(JSContextRef ctx, JSObjectRef object, JSStringRef propertyName) { ExecState* exec = toJS(ctx); - APIEntryShim entryShim(exec); + exec->globalData().heap.registerThread(); + JSLock lock(exec); JSObject* jsObject = toJS(object); @@ -252,7 +263,8 @@ bool JSObjectHasProperty(JSContextRef ctx, JSObjectRef object, JSStringRef prope JSValueRef JSObjectGetProperty(JSContextRef ctx, JSObjectRef object, JSStringRef propertyName, JSValueRef* exception) { ExecState* exec = toJS(ctx); - APIEntryShim entryShim(exec); + exec->globalData().heap.registerThread(); + JSLock lock(exec); JSObject* jsObject = toJS(object); @@ -268,7 +280,8 @@ JSValueRef JSObjectGetProperty(JSContextRef ctx, JSObjectRef object, JSStringRef void JSObjectSetProperty(JSContextRef ctx, JSObjectRef object, JSStringRef propertyName, JSValueRef value, JSPropertyAttributes attributes, JSValueRef* exception) { ExecState* exec = toJS(ctx); - APIEntryShim entryShim(exec); + exec->globalData().heap.registerThread(); + JSLock lock(exec); JSObject* jsObject = toJS(object); Identifier name(propertyName->identifier(&exec->globalData())); @@ -291,7 +304,8 @@ void JSObjectSetProperty(JSContextRef ctx, JSObjectRef object, JSStringRef prope JSValueRef JSObjectGetPropertyAtIndex(JSContextRef ctx, JSObjectRef object, unsigned propertyIndex, JSValueRef* exception) { ExecState* exec = toJS(ctx); - APIEntryShim entryShim(exec); + exec->globalData().heap.registerThread(); + JSLock lock(exec); JSObject* jsObject = toJS(object); @@ -308,7 +322,8 @@ JSValueRef JSObjectGetPropertyAtIndex(JSContextRef ctx, JSObjectRef object, unsi void JSObjectSetPropertyAtIndex(JSContextRef ctx, JSObjectRef object, unsigned propertyIndex, JSValueRef value, JSValueRef* exception) { ExecState* exec = toJS(ctx); - APIEntryShim entryShim(exec); + exec->globalData().heap.registerThread(); + JSLock lock(exec); JSObject* jsObject = toJS(object); JSValue jsValue = toJS(exec, value); @@ -324,7 +339,8 @@ void JSObjectSetPropertyAtIndex(JSContextRef ctx, JSObjectRef object, unsigned p bool JSObjectDeleteProperty(JSContextRef ctx, JSObjectRef object, JSStringRef propertyName, JSValueRef* exception) { ExecState* exec = toJS(ctx); - APIEntryShim entryShim(exec); + exec->globalData().heap.registerThread(); + JSLock lock(exec); JSObject* jsObject = toJS(object); @@ -373,7 +389,8 @@ bool JSObjectIsFunction(JSContextRef, JSObjectRef object) JSValueRef JSObjectCallAsFunction(JSContextRef ctx, JSObjectRef object, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception) { ExecState* exec = toJS(ctx); - APIEntryShim entryShim(exec); + exec->globalData().heap.registerThread(); + JSLock lock(exec); JSObject* jsObject = toJS(object); JSObject* jsThisObject = toJS(thisObject); @@ -410,7 +427,8 @@ bool JSObjectIsConstructor(JSContextRef, JSObjectRef object) JSObjectRef JSObjectCallAsConstructor(JSContextRef ctx, JSObjectRef object, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception) { ExecState* exec = toJS(ctx); - APIEntryShim entryShim(exec); + exec->globalData().heap.registerThread(); + JSLock lock(exec); JSObject* jsObject = toJS(object); @@ -448,7 +466,8 @@ JSPropertyNameArrayRef JSObjectCopyPropertyNames(JSContextRef ctx, JSObjectRef o { JSObject* jsObject = toJS(object); ExecState* exec = toJS(ctx); - APIEntryShim entryShim(exec); + exec->globalData().heap.registerThread(); + JSLock lock(exec); JSGlobalData* globalData = &exec->globalData(); @@ -473,7 +492,7 @@ JSPropertyNameArrayRef JSPropertyNameArrayRetain(JSPropertyNameArrayRef array) void JSPropertyNameArrayRelease(JSPropertyNameArrayRef array) { if (--array->refCount == 0) { - APIEntryShim entryShim(array->globalData, false); + JSLock lock(array->globalData->isSharedInstance ? LockForReal : SilenceAssertionsOnly); delete array; } } @@ -491,6 +510,9 @@ JSStringRef JSPropertyNameArrayGetNameAtIndex(JSPropertyNameArrayRef array, size void JSPropertyNameAccumulatorAddName(JSPropertyNameAccumulatorRef array, JSStringRef propertyName) { PropertyNameArray* propertyNames = toJS(array); - APIEntryShim entryShim(propertyNames->globalData()); + + propertyNames->globalData()->heap.registerThread(); + JSLock lock(propertyNames->globalData()->isSharedInstance ? LockForReal : SilenceAssertionsOnly); + propertyNames->add(propertyName->identifier(propertyNames->globalData())); } diff --git a/src/3rdparty/webkit/JavaScriptCore/API/JSStringRef.h b/src/3rdparty/webkit/JavaScriptCore/API/JSStringRef.h index 92135b1..c58b958 100644 --- a/src/3rdparty/webkit/JavaScriptCore/API/JSStringRef.h +++ b/src/3rdparty/webkit/JavaScriptCore/API/JSStringRef.h @@ -37,8 +37,7 @@ extern "C" { #endif -#if !defined(WIN32) && !defined(_WIN32) && !defined(__WINSCW__) \ - && !(defined(__CC_ARM) || defined(__ARMCC__)) /* RVCT */ +#if !defined(WIN32) && !defined(_WIN32) && !defined(__WINSCW__) /*! @typedef JSChar @abstract A Unicode character. diff --git a/src/3rdparty/webkit/JavaScriptCore/API/JSValueRef.cpp b/src/3rdparty/webkit/JavaScriptCore/API/JSValueRef.cpp index a12cc34..2207181 100644 --- a/src/3rdparty/webkit/JavaScriptCore/API/JSValueRef.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/API/JSValueRef.cpp @@ -28,7 +28,6 @@ #include #include "APICast.h" -#include "APIShims.h" #include "JSCallbackObject.h" #include @@ -42,14 +41,13 @@ #include // for std::min -using namespace JSC; - -::JSType JSValueGetType(JSContextRef ctx, JSValueRef value) +JSType JSValueGetType(JSContextRef ctx, JSValueRef value) { - ExecState* exec = toJS(ctx); - APIEntryShim entryShim(exec); + JSC::ExecState* exec = toJS(ctx); + exec->globalData().heap.registerThread(); + JSC::JSLock lock(exec); - JSValue jsValue = toJS(exec, value); + JSC::JSValue jsValue = toJS(exec, value); if (jsValue.isUndefined()) return kJSTypeUndefined; @@ -65,10 +63,13 @@ using namespace JSC; return kJSTypeObject; } +using namespace JSC; // placed here to avoid conflict between JSC::JSType and JSType, above. + bool JSValueIsUndefined(JSContextRef ctx, JSValueRef value) { ExecState* exec = toJS(ctx); - APIEntryShim entryShim(exec); + exec->globalData().heap.registerThread(); + JSLock lock(exec); JSValue jsValue = toJS(exec, value); return jsValue.isUndefined(); @@ -77,7 +78,8 @@ bool JSValueIsUndefined(JSContextRef ctx, JSValueRef value) bool JSValueIsNull(JSContextRef ctx, JSValueRef value) { ExecState* exec = toJS(ctx); - APIEntryShim entryShim(exec); + exec->globalData().heap.registerThread(); + JSLock lock(exec); JSValue jsValue = toJS(exec, value); return jsValue.isNull(); @@ -86,7 +88,8 @@ bool JSValueIsNull(JSContextRef ctx, JSValueRef value) bool JSValueIsBoolean(JSContextRef ctx, JSValueRef value) { ExecState* exec = toJS(ctx); - APIEntryShim entryShim(exec); + exec->globalData().heap.registerThread(); + JSLock lock(exec); JSValue jsValue = toJS(exec, value); return jsValue.isBoolean(); @@ -95,7 +98,8 @@ bool JSValueIsBoolean(JSContextRef ctx, JSValueRef value) bool JSValueIsNumber(JSContextRef ctx, JSValueRef value) { ExecState* exec = toJS(ctx); - APIEntryShim entryShim(exec); + exec->globalData().heap.registerThread(); + JSLock lock(exec); JSValue jsValue = toJS(exec, value); return jsValue.isNumber(); @@ -104,7 +108,8 @@ bool JSValueIsNumber(JSContextRef ctx, JSValueRef value) bool JSValueIsString(JSContextRef ctx, JSValueRef value) { ExecState* exec = toJS(ctx); - APIEntryShim entryShim(exec); + exec->globalData().heap.registerThread(); + JSLock lock(exec); JSValue jsValue = toJS(exec, value); return jsValue.isString(); @@ -113,7 +118,8 @@ bool JSValueIsString(JSContextRef ctx, JSValueRef value) bool JSValueIsObject(JSContextRef ctx, JSValueRef value) { ExecState* exec = toJS(ctx); - APIEntryShim entryShim(exec); + exec->globalData().heap.registerThread(); + JSLock lock(exec); JSValue jsValue = toJS(exec, value); return jsValue.isObject(); @@ -122,7 +128,8 @@ bool JSValueIsObject(JSContextRef ctx, JSValueRef value) bool JSValueIsObjectOfClass(JSContextRef ctx, JSValueRef value, JSClassRef jsClass) { ExecState* exec = toJS(ctx); - APIEntryShim entryShim(exec); + exec->globalData().heap.registerThread(); + JSLock lock(exec); JSValue jsValue = toJS(exec, value); @@ -138,7 +145,8 @@ bool JSValueIsObjectOfClass(JSContextRef ctx, JSValueRef value, JSClassRef jsCla bool JSValueIsEqual(JSContextRef ctx, JSValueRef a, JSValueRef b, JSValueRef* exception) { ExecState* exec = toJS(ctx); - APIEntryShim entryShim(exec); + exec->globalData().heap.registerThread(); + JSLock lock(exec); JSValue jsA = toJS(exec, a); JSValue jsB = toJS(exec, b); @@ -155,18 +163,20 @@ bool JSValueIsEqual(JSContextRef ctx, JSValueRef a, JSValueRef b, JSValueRef* ex bool JSValueIsStrictEqual(JSContextRef ctx, JSValueRef a, JSValueRef b) { ExecState* exec = toJS(ctx); - APIEntryShim entryShim(exec); + exec->globalData().heap.registerThread(); + JSLock lock(exec); JSValue jsA = toJS(exec, a); JSValue jsB = toJS(exec, b); - return JSValue::strictEqual(exec, jsA, jsB); + return JSValue::strictEqual(jsA, jsB); } bool JSValueIsInstanceOfConstructor(JSContextRef ctx, JSValueRef value, JSObjectRef constructor, JSValueRef* exception) { ExecState* exec = toJS(ctx); - APIEntryShim entryShim(exec); + exec->globalData().heap.registerThread(); + JSLock lock(exec); JSValue jsValue = toJS(exec, value); @@ -185,7 +195,8 @@ bool JSValueIsInstanceOfConstructor(JSContextRef ctx, JSValueRef value, JSObject JSValueRef JSValueMakeUndefined(JSContextRef ctx) { ExecState* exec = toJS(ctx); - APIEntryShim entryShim(exec); + exec->globalData().heap.registerThread(); + JSLock lock(exec); return toRef(exec, jsUndefined()); } @@ -193,7 +204,8 @@ JSValueRef JSValueMakeUndefined(JSContextRef ctx) JSValueRef JSValueMakeNull(JSContextRef ctx) { ExecState* exec = toJS(ctx); - APIEntryShim entryShim(exec); + exec->globalData().heap.registerThread(); + JSLock lock(exec); return toRef(exec, jsNull()); } @@ -201,7 +213,8 @@ JSValueRef JSValueMakeNull(JSContextRef ctx) JSValueRef JSValueMakeBoolean(JSContextRef ctx, bool value) { ExecState* exec = toJS(ctx); - APIEntryShim entryShim(exec); + exec->globalData().heap.registerThread(); + JSLock lock(exec); return toRef(exec, jsBoolean(value)); } @@ -209,7 +222,8 @@ JSValueRef JSValueMakeBoolean(JSContextRef ctx, bool value) JSValueRef JSValueMakeNumber(JSContextRef ctx, double value) { ExecState* exec = toJS(ctx); - APIEntryShim entryShim(exec); + exec->globalData().heap.registerThread(); + JSLock lock(exec); return toRef(exec, jsNumber(exec, value)); } @@ -217,7 +231,8 @@ JSValueRef JSValueMakeNumber(JSContextRef ctx, double value) JSValueRef JSValueMakeString(JSContextRef ctx, JSStringRef string) { ExecState* exec = toJS(ctx); - APIEntryShim entryShim(exec); + exec->globalData().heap.registerThread(); + JSLock lock(exec); return toRef(exec, jsString(exec, string->ustring())); } @@ -225,7 +240,8 @@ JSValueRef JSValueMakeString(JSContextRef ctx, JSStringRef string) bool JSValueToBoolean(JSContextRef ctx, JSValueRef value) { ExecState* exec = toJS(ctx); - APIEntryShim entryShim(exec); + exec->globalData().heap.registerThread(); + JSLock lock(exec); JSValue jsValue = toJS(exec, value); return jsValue.toBoolean(exec); @@ -234,7 +250,8 @@ bool JSValueToBoolean(JSContextRef ctx, JSValueRef value) double JSValueToNumber(JSContextRef ctx, JSValueRef value, JSValueRef* exception) { ExecState* exec = toJS(ctx); - APIEntryShim entryShim(exec); + exec->globalData().heap.registerThread(); + JSLock lock(exec); JSValue jsValue = toJS(exec, value); @@ -251,7 +268,8 @@ double JSValueToNumber(JSContextRef ctx, JSValueRef value, JSValueRef* exception JSStringRef JSValueToStringCopy(JSContextRef ctx, JSValueRef value, JSValueRef* exception) { ExecState* exec = toJS(ctx); - APIEntryShim entryShim(exec); + exec->globalData().heap.registerThread(); + JSLock lock(exec); JSValue jsValue = toJS(exec, value); @@ -268,7 +286,8 @@ JSStringRef JSValueToStringCopy(JSContextRef ctx, JSValueRef value, JSValueRef* JSObjectRef JSValueToObject(JSContextRef ctx, JSValueRef value, JSValueRef* exception) { ExecState* exec = toJS(ctx); - APIEntryShim entryShim(exec); + exec->globalData().heap.registerThread(); + JSLock lock(exec); JSValue jsValue = toJS(exec, value); @@ -285,17 +304,19 @@ JSObjectRef JSValueToObject(JSContextRef ctx, JSValueRef value, JSValueRef* exce void JSValueProtect(JSContextRef ctx, JSValueRef value) { ExecState* exec = toJS(ctx); - APIEntryShim entryShim(exec); + exec->globalData().heap.registerThread(); + JSLock lock(exec); - JSValue jsValue = toJSForGC(exec, value); + JSValue jsValue = toJS(exec, value); gcProtect(jsValue); } void JSValueUnprotect(JSContextRef ctx, JSValueRef value) { ExecState* exec = toJS(ctx); - APIEntryShim entryShim(exec); + exec->globalData().heap.registerThread(); + JSLock lock(exec); - JSValue jsValue = toJSForGC(exec, value); + JSValue jsValue = toJS(exec, value); gcUnprotect(jsValue); } diff --git a/src/3rdparty/webkit/JavaScriptCore/API/OpaqueJSString.cpp b/src/3rdparty/webkit/JavaScriptCore/API/OpaqueJSString.cpp index f740abe..7c7b1af 100644 --- a/src/3rdparty/webkit/JavaScriptCore/API/OpaqueJSString.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/API/OpaqueJSString.cpp @@ -42,7 +42,7 @@ PassRefPtr OpaqueJSString::create(const UString& ustring) UString OpaqueJSString::ustring() const { if (this && m_characters) - return UString(m_characters, m_length); + return UString(m_characters, m_length, true); return UString::null(); } diff --git a/src/3rdparty/webkit/JavaScriptCore/ChangeLog b/src/3rdparty/webkit/JavaScriptCore/ChangeLog index ccad6b3..6446773 100644 --- a/src/3rdparty/webkit/JavaScriptCore/ChangeLog +++ b/src/3rdparty/webkit/JavaScriptCore/ChangeLog @@ -1,7839 +1,164 @@ -2009-10-30 Tor Arne Vestbø - - Reviewed by NOBODY (OOPS!). - - [Qt] Use the default timeout interval for JS as the HTML tokenizer delay for setHtml() - - This ensures that long-running JavaScript (for example due to a modal alert() dialog), - will not trigger a deferred load after only 500ms (the default tokenizer delay) while - still giving a reasonable timeout (10 seconds) to prevent deadlock. - - https://bugs.webkit.org/show_bug.cgi?id=29381 - - * runtime/TimeoutChecker.h: Add getter for the timeout interval - -2010-02-19 Maciej Stachowiak - - Reviewed by David Levin. - - Add an ENABLE flag for sandboxed iframes to make it possible to disable it in releases - https://bugs.webkit.org/show_bug.cgi?id=35147 - - * Configurations/FeatureDefines.xcconfig: - -2010-02-19 Gavin Barraclough - - Reviewed by Oliver Hunt. - - JSString::getIndex() calls value() to resolve the string value (is a rope) - to a UString, then passes the result to jsSingleCharacterSubstring without - checking for an exception. In case of out-of-memory the returned UString - is null(), which may result in an out-of-buounds substring being created. - This is bad. - - Simple fix is to be able to get an index from a rope without resolving to - UString. This may be a useful optimization in some test cases. - - The same bug exists in some other methods is JSString, these can be fixed - by changing them to call getIndex(). - - * runtime/JSString.cpp: - (JSC::JSString::resolveRope): - (JSC::JSString::getStringPropertyDescriptor): - * runtime/JSString.h: - (JSC::jsSingleCharacterSubstring): - (JSC::JSString::getIndex): - (JSC::jsSingleCharacterString): - (JSC::JSString::getStringPropertySlot): - * runtime/UStringImpl.cpp: - (JSC::singleCharacterSubstring): - * runtime/UStringImpl.h: - (JSC::UStringImpl::singleCharacterSubstring): - -2010-02-19 Oliver Hunt - - RS = Gavin Barraclough. - - Split the 32/64 version of JITPropertyAccess into a separate file. - - * GNUmakefile.am: - * JavaScriptCore.gypi: - * JavaScriptCore.pri: - * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: - * JavaScriptCore.xcodeproj/project.pbxproj: - * jit/JITPropertyAccess.cpp: - * jit/JITPropertyAccess32_64.cpp: Added. - (JSC::JIT::emit_op_put_by_index): - (JSC::JIT::emit_op_put_getter): - (JSC::JIT::emit_op_put_setter): - (JSC::JIT::emit_op_del_by_id): - (JSC::JIT::emit_op_method_check): - (JSC::JIT::emitSlow_op_method_check): - (JSC::JIT::emit_op_get_by_val): - (JSC::JIT::emitSlow_op_get_by_val): - (JSC::JIT::emit_op_put_by_val): - (JSC::JIT::emitSlow_op_put_by_val): - (JSC::JIT::emit_op_get_by_id): - (JSC::JIT::emitSlow_op_get_by_id): - (JSC::JIT::emit_op_put_by_id): - (JSC::JIT::emitSlow_op_put_by_id): - (JSC::JIT::compileGetByIdHotPath): - (JSC::JIT::compileGetByIdSlowCase): - (JSC::JIT::compilePutDirectOffset): - (JSC::JIT::compileGetDirectOffset): - (JSC::JIT::testPrototype): - (JSC::JIT::privateCompilePutByIdTransition): - (JSC::JIT::patchGetByIdSelf): - (JSC::JIT::patchMethodCallProto): - (JSC::JIT::patchPutByIdReplace): - (JSC::JIT::privateCompilePatchGetArrayLength): - (JSC::JIT::privateCompileGetByIdProto): - (JSC::JIT::privateCompileGetByIdSelfList): - (JSC::JIT::privateCompileGetByIdProtoList): - (JSC::JIT::privateCompileGetByIdChainList): - (JSC::JIT::privateCompileGetByIdChain): - (JSC::JIT::emit_op_get_by_pname): - (JSC::JIT::emitSlow_op_get_by_pname): - -2010-02-19 Patrick Gansterer - - Reviewed by Laszlo Gombos. - - Added additional parameter to create_rvct_stubs - for setting the regularexpression prefix. - Renamed it because it now works for other platforms too. - https://bugs.webkit.org/show_bug.cgi?id=34951 - - * DerivedSources.pro: - * create_jit_stubs: Copied from JavaScriptCore/create_rvct_stubs. - * create_rvct_stubs: Removed. - -2010-02-18 Oliver Hunt - - Reviewed by Gavin Barraclough. - - Improve interpreter getter performance - https://bugs.webkit.org/show_bug.cgi?id=35138 - - Improve the performance of getter dispatch by making it possible - for the interpreter to cache the GetterSetter object lookup. - - To do this we simply need to make PropertySlot aware of getters - as a potentially cacheable property, and record the base and this - objects for a getter access. This allows us to use more-or-less - identical code to that used by the normal get_by_id caching, with - the dispatch being the only actual difference. - - I'm holding off of implementing this in the JIT until I do some - cleanup to try and making coding in the JIT not be as horrible - as it is currently. - - * bytecode/CodeBlock.cpp: - (JSC::CodeBlock::dump): - (JSC::CodeBlock::derefStructures): - (JSC::CodeBlock::refStructures): - * bytecode/Opcode.h: - * interpreter/Interpreter.cpp: - (JSC::Interpreter::resolveGlobal): - (JSC::Interpreter::tryCacheGetByID): - (JSC::Interpreter::privateExecute): - * jit/JIT.cpp: - (JSC::JIT::privateCompileMainPass): - * jit/JITStubs.cpp: - (JSC::JITThunks::tryCacheGetByID): - (JSC::DEFINE_STUB_FUNCTION): - * runtime/JSObject.cpp: - (JSC::JSObject::fillGetterPropertySlot): - * runtime/PropertySlot.cpp: - (JSC::PropertySlot::functionGetter): - * runtime/PropertySlot.h: - (JSC::PropertySlot::isGetter): - (JSC::PropertySlot::isCacheable): - (JSC::PropertySlot::isCacheableValue): - (JSC::PropertySlot::setValueSlot): - (JSC::PropertySlot::setGetterSlot): - (JSC::PropertySlot::setCacheableGetterSlot): - (JSC::PropertySlot::clearOffset): - (JSC::PropertySlot::thisValue): - -2010-02-17 Geoffrey Garen - - Reviewed by Oliver Hunt. - - Fixed a portion of: - | https://bugs.webkit.org/show_bug.cgi?id=28676 - Safari 4 does not release memory back to the operating system fast enough (28676) - - This patch fixes a surprisingly common edge case in which the page heap - would have only one free span, but that span would be larger than the - minimum free size, so we would decide not to free it, even though it - could be as large as 100MB or more! - - SunSpider reports no change on Mac or Windows. - - * wtf/FastMalloc.cpp: - (WTF::TCMalloc_PageHeap::scavenge): Call shouldContinueScavenging() instead - of doing the math ourselves. Don't keep a local value for pagesDecommitted - because that lets free_committed_pages_ be wrong temporarily. Instead, - update free_committed_pages_ as we go. ASSERT that we aren't releasing - a span that has already been released, because we think this is impossible. - Finally, don't be afraid to release all free memory in the page heap when - scavenging. We only scavenge after 5 seconds of the application's working - set not growing, and we keep both thread caches and a central cache on - top of the page heap, so the extra free pages in the page heap were just - overkill. - -2010-02-17 Gavin Barraclough - - Reviewed by Oliver Hunt. - - https://bugs.webkit.org/show_bug.cgi?id=35070 - Addition of 2 strings of length 2^31 may result in a string of length 0. - - Check for overflow when creating a new JSString as a result of an addition - or concatenation, throw an out of memory exception. - - * runtime/JSString.h: - (JSC::): - * runtime/Operations.h: - (JSC::jsString): - -2010-02-17 Xan Lopez - - Reviewed by Gustavo Noronha. - - [Linux] Webkit incompatible with Java plugins - https://bugs.webkit.org/show_bug.cgi?id=24912 - - Add support for GFile to GOwnPtr. - - Based on original work by Gustavo Noronha. - - * wtf/gtk/GOwnPtr.cpp: - (WTF::GFile): - * wtf/gtk/GOwnPtr.h: - -2010-02-16 Gavin Barraclough - - Reviewed by Mark Rowe. - - Fix a handful of other leaks seen on the buildbot. - - * runtime/UStringImpl.h: - (JSC::UStringOrRopeImpl::deref): Delegate through to the subclass version of deref to ensure that - the correct cleanup takes place. This function previously featured some code that attempted to - skip deletion of static UStringImpl's. Closer inspection revealed that it was in fact equivalent - to "if (false)", meaning that UStringImpl's which had their final deref performed via this function - were leaked. - -2010-02-16 Mark Rowe - - Reviewed by Gavin Barraclough. - - Fix a handful of leaks seen on the buildbot. - - * runtime/UStringImpl.h: - (JSC::UStringOrRopeImpl::deref): Call URopeImpl::destructNonRecursive rather than delete - to ensure that the rope's fibers are also destroyed. - -2010-02-16 Gavin Barraclough - - Reviewed by Oliver Hunt. - - https://bugs.webkit.org/show_bug.cgi?id=34964 - Leaks tool reports false memory leaks due to Rope implementation. - - A rope is a recursive data structure where each node in the rope holds a set of - pointers, each of which may reference either a string (in UStringImpl form) or - another rope node. A low bit in each pointer is used to distinguish between - rope & string elements, in a fashion similar to the recently-removed - PtrAndFlags class (see https://bugs.webkit.org/show_bug.cgi?id=33731 ). Again, - this causes a problem for Leaks – refactor to remove the magic pointer - mangling. - - Move Rope out from JSString.h and rename to URopeImpl, to match UStringImpl. - Give UStringImpl and URopeImpl a common parent class, UStringOrRopeImpl. - Repurpose an otherwise invalid permutation to flags (static & should report - memory cost) to identify ropes. - - This allows us to change the rope's fibers to interrogate the object rather - than storing a bool within the low bits of the pointer (or in some cases the - use of a common parent class removes the need to determine the type at all - - there is a common interface to ref or get the length of either ropes or strings). - - * API/JSClassRef.cpp: - (OpaqueJSClass::OpaqueJSClass): - (OpaqueJSClassContextData::OpaqueJSClassContextData): - * bytecompiler/BytecodeGenerator.cpp: - (JSC::keyForCharacterSwitch): - * interpreter/Interpreter.cpp: - (JSC::Interpreter::privateExecute): - * jit/JITStubs.cpp: - (JSC::DEFINE_STUB_FUNCTION): - * runtime/ArrayPrototype.cpp: - (JSC::arrayProtoFuncToString): - * runtime/Identifier.cpp: - (JSC::Identifier::equal): - (JSC::Identifier::addSlowCase): - * runtime/JSString.cpp: - (JSC::JSString::resolveRope): - * runtime/JSString.h: - (JSC::): - (JSC::RopeBuilder::JSString): - (JSC::RopeBuilder::~JSString): - (JSC::RopeBuilder::appendStringInConstruct): - (JSC::RopeBuilder::appendValueInConstructAndIncrementLength): - (JSC::RopeBuilder::JSStringFinalizerStruct::JSStringFinalizerStruct): - (JSC::RopeBuilder::JSStringFinalizerStruct::): - * runtime/UString.cpp: - (JSC::UString::toStrictUInt32): - (JSC::equal): - * runtime/UString.h: - (JSC::UString::isEmpty): - (JSC::UString::size): - * runtime/UStringImpl.cpp: - (JSC::URopeImpl::derefFibersNonRecursive): - (JSC::URopeImpl::destructNonRecursive): - * runtime/UStringImpl.h: - (JSC::UStringOrRopeImpl::isRope): - (JSC::UStringOrRopeImpl::length): - (JSC::UStringOrRopeImpl::ref): - (JSC::UStringOrRopeImpl::): - (JSC::UStringOrRopeImpl::operator new): - (JSC::UStringOrRopeImpl::UStringOrRopeImpl): - (JSC::UStringImpl::adopt): - (JSC::UStringImpl::createUninitialized): - (JSC::UStringImpl::tryCreateUninitialized): - (JSC::UStringImpl::data): - (JSC::UStringImpl::cost): - (JSC::UStringImpl::deref): - (JSC::UStringImpl::UStringImpl): - (JSC::UStringImpl::): - (JSC::URopeImpl::tryCreateUninitialized): - (JSC::URopeImpl::initializeFiber): - (JSC::URopeImpl::fiberCount): - (JSC::URopeImpl::fibers): - (JSC::URopeImpl::deref): - (JSC::URopeImpl::URopeImpl): - (JSC::URopeImpl::hasOneRef): - (JSC::UStringOrRopeImpl::deref): - -2010-02-15 Gabor Loki - - Reviewed by Gavin Barraclough. - - Fix the SP at ctiOpThrowNotCaught on Thumb2 (JSVALUE32) - https://bugs.webkit.org/show_bug.cgi?id=34939 - - * jit/JITStubs.cpp: - -2010-02-15 Gavin Barraclough - - Reviewed by NOBODY (Build Fix!). - - * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: - -2010-02-15 Gavin Barraclough - - Reviewed by Oliver Hunt. - - Some general Rope related refactoring. - - Rename Rope::m_ropeLength to m_fiberCount, to be more descriptive. - Rename Rope::m_stringLength to simply m_length (since this is the - more conventional name for the length of a string). Move append - behaviour out into a new RopeBuilder class, so that Rope no longer - needs any knowledge of the JSString or UString implementation. - - Make Rope no longer be nested within JSString. - (Rope now no-longer need reside within JSString.h, but leaving - the change of moving this out to a different header as a separate - change from these renames). - - * JavaScriptCore.exp: - * jit/JITOpcodes.cpp: - (JSC::JIT::privateCompileCTIMachineTrampolines): - * runtime/JSString.cpp: - (JSC::Rope::destructNonRecursive): - (JSC::Rope::~Rope): - (JSC::JSString::resolveRope): - (JSC::JSString::toBoolean): - (JSC::JSString::getStringPropertyDescriptor): - * runtime/JSString.h: - (JSC::Rope::Fiber::Fiber): - (JSC::Rope::Fiber::deref): - (JSC::Rope::Fiber::ref): - (JSC::Rope::Fiber::refAndGetLength): - (JSC::Rope::Fiber::isRope): - (JSC::Rope::Fiber::rope): - (JSC::Rope::Fiber::isString): - (JSC::Rope::Fiber::string): - (JSC::Rope::Fiber::nonFiber): - (JSC::Rope::tryCreateUninitialized): - (JSC::Rope::append): - (JSC::Rope::fiberCount): - (JSC::Rope::length): - (JSC::Rope::fibers): - (JSC::Rope::Rope): - (JSC::Rope::operator new): - (JSC::): - (JSC::RopeBuilder::JSString): - (JSC::RopeBuilder::~JSString): - (JSC::RopeBuilder::length): - (JSC::RopeBuilder::canGetIndex): - (JSC::RopeBuilder::appendStringInConstruct): - (JSC::RopeBuilder::appendValueInConstructAndIncrementLength): - (JSC::RopeBuilder::isRope): - (JSC::RopeBuilder::fiberCount): - (JSC::JSString::getStringPropertySlot): - * runtime/Operations.h: - (JSC::jsString): - -2010-02-15 Gavin Barraclough - - Reviewed by NOBODY (Build fix). - - Add missing cast for !YARR (PPC) builds. - - * runtime/RegExp.cpp: - (JSC::RegExp::match): - -2010-02-14 Gavin Barraclough - - Reviewed by Darin Adler. - - https://bugs.webkit.org/show_bug.cgi?id=33731 - Many false leaks in release builds due to PtrAndFlags - - StructureTransitionTable was effectively a smart pointer type, - one machine word in size and wholly contained as a member of - of Structure. It either pointed to an actual table, or could - be used to describe a single transtion entry without use of a - table. - - This, however, worked by using a PtrAndFlags, which is not - compatible with the leaks tool. Since there is no clear way to - obtain another bit for 'free' here, and since there are bits - available up in Structure, merge this functionality back up into - Structure. Having this in a separate class was quite clean - from an enacapsulation perspective, but this solution doesn't - seem to bad - all table access is now intermediated through the - Structure::structureTransitionTableFoo methods, keeping the - optimization fairly well contained. - - This was the last use of PtrAndFlags, so removing the file too. - - * JavaScriptCore.xcodeproj/project.pbxproj: - * bytecode/CodeBlock.h: - * runtime/Structure.cpp: - (JSC::Structure::Structure): - (JSC::Structure::~Structure): - (JSC::Structure::addPropertyTransitionToExistingStructure): - (JSC::Structure::addPropertyTransition): - (JSC::Structure::hasTransition): - * runtime/Structure.h: - (JSC::Structure::): - (JSC::Structure::structureTransitionTableContains): - (JSC::Structure::structureTransitionTableGet): - (JSC::Structure::structureTransitionTableHasTransition): - (JSC::Structure::structureTransitionTableRemove): - (JSC::Structure::structureTransitionTableAdd): - (JSC::Structure::structureTransitionTable): - (JSC::Structure::setStructureTransitionTable): - (JSC::Structure::singleTransition): - (JSC::Structure::setSingleTransition): - * runtime/StructureTransitionTable.h: - * wtf/PtrAndFlags.h: Removed. - -2010-02-15 Gavin Barraclough - - Rubber Stamped by Geoff Garen. - - Bug 34948 - tryMakeString should fail on error in length calculation - - Ooops! - "bool overflow" argument should have been "bool& overflow". - - * runtime/UString.h: - (JSC::sumWithOverflow): - (JSC::tryMakeString): - -2010-02-15 Gavin Barraclough - - Reviewed by NOBODY (Build Fix (pt 2!)). - - Some symbol names have changed, remove, will readd if required. - - * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: - -2010-02-15 Gavin Barraclough - - Reviewed by NOBODY (Build Fix (pt 1?)). - - Some symbol names have changed, remove, will readd if required. - - * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: - -2010-02-15 Geoffrey Garen - - Reviewed by Oliver Hunt. - - Removed some mistaken code added in http://trac.webkit.org/changeset/53860. - - * API/APIShims.h: - (JSC::APICallbackShim::APICallbackShim): - (JSC::APICallbackShim::~APICallbackShim): No need to start/stop the - timeout checker when calling out from the API to the client; we want to - monitor the VM for timeouts, not the client. This mistake was harmless / - undetectable, since it's totally redundant with the APIEntryShim, which - also starts / stops the timeout checker. - -2010-02-15 Gavin Barraclough - - Reviewed by Geoff Garen. - - Bug 34952 - String lengths in UString should be unsigned. - This matches WebCore::StringImpl, and better unifies behaviour throughout JSC. - - * JavaScriptCore.exp: - * bytecode/EvalCodeCache.h: - * runtime/Identifier.cpp: - (JSC::Identifier::equal): - * runtime/Identifier.h: - * runtime/JSGlobalObjectFunctions.cpp: - (JSC::globalFuncEscape): - * runtime/JSONObject.cpp: - (JSC::gap): - (JSC::Stringifier::indent): - * runtime/NumberPrototype.cpp: - (JSC::numberProtoFuncToFixed): - (JSC::numberProtoFuncToPrecision): - * runtime/RegExp.cpp: - (JSC::RegExp::match): - * runtime/StringPrototype.cpp: - (JSC::substituteBackreferencesSlow): - (JSC::stringProtoFuncReplace): - (JSC::stringProtoFuncSplit): - (JSC::trimString): - * runtime/UString.cpp: - (JSC::UString::UString): - (JSC::UString::from): - (JSC::UString::getCString): - (JSC::UString::ascii): - (JSC::UString::operator[]): - (JSC::UString::toStrictUInt32): - (JSC::UString::find): - (JSC::UString::rfind): - (JSC::UString::substr): - (JSC::operator<): - (JSC::operator>): - (JSC::compare): - (JSC::equal): - (JSC::UString::UTF8String): - * runtime/UString.h: - (JSC::UString::size): - (JSC::operator==): - * runtime/UStringImpl.cpp: - (JSC::UStringImpl::create): - * runtime/UStringImpl.h: - (JSC::UStringImpl::create): - (JSC::UStringImpl::size): - (JSC::UStringImpl::computeHash): - (JSC::UStringImpl::UStringImpl): - -2010-02-15 Gavin Barraclough - - Reviewed by Geoff Garen. - - Bug 34948 - tryMakeString should fail on error in length calculation - - The sum of the length of substrings could overflow. - - * runtime/UString.h: - (JSC::sumWithOverflow): - (JSC::tryMakeString): - -2010-02-15 Geoffrey Garen - - Reviewed by Oliver Hunt. - - Fixed Crash beneath JSGlobalContextRelease when - typing in Google search field with GuardMalloc/full page heap enabled - - * API/JSContextRef.cpp: Don't use APIEntryShim, since that requires - a JSGlobalData, which this function destroys. Do use setCurrentIdentifierTable - and JSLock instead, since those are the two features of APIEntryShim we - require. - -2010-02-15 Patrick Gansterer - - Reviewed by Laszlo Gombos. - - Added additional parameter to create_rvct_stubs - for setting the offset of thunkReturnAddress. - https://bugs.webkit.org/show_bug.cgi?id=34657 - - * create_rvct_stubs: - * jit/JITStubs.cpp: - -2010-02-15 Jedrzej Nowacki - - Reviewed by Simon Hausmann. - - Fix QScriptValue::toIntXX methods. - - More ECMA Script compliance. - - [Qt] QScriptValue::toIntXX returns incorrect values - https://bugs.webkit.org/show_bug.cgi?id=34847 - - * qt/api/qscriptvalue_p.h: - (QScriptValuePrivate::toInteger): - (QScriptValuePrivate::toInt32): - (QScriptValuePrivate::toUInt32): - (QScriptValuePrivate::toUInt16): - * qt/tests/qscriptvalue/tst_qscriptvalue.h: - * qt/tests/qscriptvalue/tst_qscriptvalue_generated.cpp: - (tst_QScriptValue::toInteger_initData): - (tst_QScriptValue::toInteger_makeData): - (tst_QScriptValue::toInteger_test): - (tst_QScriptValue::toInt32_initData): - (tst_QScriptValue::toInt32_makeData): - (tst_QScriptValue::toInt32_test): - (tst_QScriptValue::toUInt32_initData): - (tst_QScriptValue::toUInt32_makeData): - (tst_QScriptValue::toUInt32_test): - (tst_QScriptValue::toUInt16_initData): - (tst_QScriptValue::toUInt16_makeData): - (tst_QScriptValue::toUInt16_test): - -2010-02-14 Laszlo Gombos - - Reviewed by Adam Barth. - - Implement NEVER_INLINE and NO_RETURN for RVCT - https://bugs.webkit.org/show_bug.cgi?id=34740 - - * wtf/AlwaysInline.h: - -2010-02-12 Gavin Barraclough - - Reviewed by Oliver Hunt. - - https://bugs.webkit.org/show_bug.cgi?id=33731 - Remove uses of PtrAndFlags from JIT data stuctures. - - These break the OS X Leaks tool. Free up a bit in CallLinkInfo, and invalid - permutation of pointer states in MethodCallLinkInfo to represent the removed bits. - - * bytecode/CodeBlock.h: - (JSC::CallLinkInfo::seenOnce): - (JSC::CallLinkInfo::setSeen): - (JSC::MethodCallLinkInfo::MethodCallLinkInfo): - (JSC::MethodCallLinkInfo::seenOnce): - (JSC::MethodCallLinkInfo::setSeen): - * jit/JIT.cpp: - (JSC::JIT::unlinkCall): - * jit/JITPropertyAccess.cpp: - (JSC::JIT::patchMethodCallProto): - * runtime/UString.h: - -2010-02-12 Gavin Barraclough - - Reviewed by Darin Adler. - - https://bugs.webkit.org/show_bug.cgi?id=33731 - Many false leaks in release builds due to PtrAndFlags - - Remove UntypedPtrAndBitfield (similar to PtrAndFlags) in UStringImpl, - and steal bits from the refCount instead. - - * runtime/UStringImpl.cpp: - (JSC::UStringImpl::baseSharedBuffer): - (JSC::UStringImpl::~UStringImpl): - * runtime/UStringImpl.h: - (JSC::UStringImpl::cost): - (JSC::UStringImpl::isIdentifier): - (JSC::UStringImpl::setIsIdentifier): - (JSC::UStringImpl::ref): - (JSC::UStringImpl::deref): - (JSC::UStringImpl::UStringImpl): - (JSC::UStringImpl::bufferOwnerString): - (JSC::UStringImpl::bufferOwnership): - (JSC::UStringImpl::isStatic): - (JSC::UStringImpl::): - -2010-02-12 Geoffrey Garen - - Reviewed by Darin Adler. - - Removed an unnecessary data dependency from my last patch. - - * runtime/SmallStrings.cpp: - (JSC::SmallStrings::markChildren): Since isAnyStringMarked being false - is a condition of entering the loop, we can just use '=' instead of '|='. - -2010-02-12 Janne Koskinen - - Reviewed by Tor Arne Vestbø. - - Additional refptr/passrefptr workarounds for WINSCW compiler - https://bugs.webkit.org/show_bug.cgi?id=28054 - - * wtf/PassRefPtr.h: - (WTF::refIfNotNull): - (WTF::PassRefPtr::PassRefPtr): - (WTF::PassRefPtr::~PassRefPtr): - (WTF::PassRefPtr::clear): - (WTF::::operator): - * wtf/RefPtr.h: - (WTF::RefPtr::RefPtr): - (WTF::::operator): - -2010-02-12 Janne Koskinen - - Reviewed by Simon Hausmann. - - Don't import the cmath functions from std:: for WINSCW. - - * wtf/MathExtras.h: - -2010-02-12 Kwang Yul Seo - - Reviewed by Adam Barth. - - Typedef both JSChar and UChar to wchar_t in RVCT. - https://bugs.webkit.org/show_bug.cgi?id=34560 - - Define both JSChar and UChar to wchar_t as the size - of wchar_t is 2 bytes in RVCT. - - * API/JSStringRef.h: - * wtf/unicode/qt4/UnicodeQt4.h: - -2010-02-11 Geoffrey Garen - - Reviewed by Oliver Hunt and Darin Adler. - - The rest of the fix for - https://bugs.webkit.org/show_bug.cgi?id=34864 | - Many objects left uncollected after visiting mail.google.com and closing - window - - Don't unconditionally hang onto small strings. Instead, hang onto all - small strings as long as any small string is still referenced. - - SunSpider reports no change. - - * runtime/Collector.cpp: - (JSC::Heap::markRoots): Mark the small strings cache last, so it can - check if anything else has kept any strings alive. - - * runtime/SmallStrings.cpp: - (JSC::isMarked): - (JSC::SmallStrings::markChildren): Only keep our strings alive if some - other reference to at least one of them exists, too. - -2010-02-11 Geoffrey Garen - - Reviewed by Gavin Barraclough. - - Some progress toward fixing - https://bugs.webkit.org/show_bug.cgi?id=34864 | - Many objects left uncollected after visiting mail.google.com and closing - window - - SunSpider reports no change. - - Keep weak references, rather than protected references, to cached for-in - property name enumerators. - - One problem with protected references is that a chain like - [ gc object 1 ] => [ non-gc object ] => [ gc object 2 ] - takes two GC passes to break, since the first pass collects [ gc object 1 ], - releasing [ non-gc object ] and unprotecting [ gc object 2 ], and only - then can a second pass collect [ gc object 2 ]. - - Another problem with protected references is that they can keep a bunch - of strings alive long after they're useful. In SunSpider and a few popular - websites, the size-speed tradeoff seems to favor weak references. - - * runtime/JSPropertyNameIterator.cpp: - (JSC::JSPropertyNameIterator::JSPropertyNameIterator): Moved this constructor - into the .cpp file, since it's not used elsewhere. - - (JSC::JSPropertyNameIterator::~JSPropertyNameIterator): Added a destructor - to support our weak reference. - - * runtime/JSPropertyNameIterator.h: - (JSC::Structure::setEnumerationCache): - (JSC::Structure::clearEnumerationCache): - (JSC::Structure::enumerationCache): Added a function for clearing a - Structure's enumeration cache, used by our new destructor. Also fixed - indentation to match the rest of the file. - - * runtime/Structure.h: Changed from protected pointer to weak pointer. - -2010-02-11 Chris Rogers - - Reviewed by David Levin. - - audio engine: add Complex number class - https://bugs.webkit.org/show_bug.cgi?id=34538 - - * wtf/Complex.h: Added. - (WebCore::complexFromMagnitudePhase): - -2010-02-10 Geoffrey Garen - - Reviewed by Oliver Hunt. - - Added an SPI for asking about all the different live objects on the heap. - Useful for memory debugging. - - * JavaScriptCore.exp: Export the new SPI. - - * runtime/Collector.cpp: - (JSC::typeName): Use a little capitalization. Don't crash in the case of - a non-object cell, since it might just be an uninitialized cell. - - (JSC::Heap::objectTypeCounts): The new SPI. - - * runtime/Collector.h: - * runtime/CollectorHeapIterator.h: - (JSC::CollectorHeapIterator::advance): - (JSC::LiveObjectIterator::operator++): - (JSC::DeadObjectIterator::operator++): - (JSC::ObjectIterator::operator++): Made 2 tweaks to these iterators: - (1) Skip the last cell in the block, since it's a dummy sentinel, and - we don't want it to confuse the object count; (2) Fixed a logic error - in LiveObjectIterator that could cause it to iterate dead objects if - m_block were equal to m_heap.nextBlock and m_cell were less than - m_heap.nextCell. No test for this since I can't think of a way that this - could make WebKit behave badly. - -2010-02-11 Steve Block - - Reviewed by Darin Adler. - - Guard cmath using declarations in MathExtras.h on Android - https://bugs.webkit.org/show_bug.cgi?id=34840 - - Android does not provide these functions. - - * wtf/MathExtras.h: - -2010-02-08 Maciej Stachowiak - - Reviewed by Cameron Zwarich. - - Restore ENABLE_RUBY flag so vendors can ship with Ruby disabled if they choose. - https://bugs.webkit.org/show_bug.cgi?id=34698 - - * Configurations/FeatureDefines.xcconfig: - -2010-02-10 Kevin Watters - - Reviewed by Kevin Ollivier. - - [wx] Add Windows complex text support and Mac support for containsCharacters. - - https://bugs.webkit.org/show_bug.cgi?id=34759 - - * wscript: - -2010-02-10 Alexey Proskuryakov - - Addressing issues found by style bot. - - * wtf/ValueCheck.h: Renamed header guard to match final file name. - - * wtf/Vector.h: (WTF::::checkConsistency): Remove braces around a one-line clause. - -2010-02-09 Alexey Proskuryakov - - Reviewed by Geoffrey Garen. - - https://bugs.webkit.org/show_bug.cgi?id=34490 - WebCore::ImageEventSender::dispatchPendingEvents() crashes in certain conditions - - * GNUmakefile.am: - * JavaScriptCore.gypi: - * JavaScriptCore.vcproj/WTF/WTF.vcproj: - * JavaScriptCore.xcodeproj/project.pbxproj: - Added ValueCheck.h. - - * wtf/ValueCheck.h: Added. Moved code out of HashTraits, since it would be awkward to - include that from Vector.h. - (WTF::ValueCheck::checkConsistency): Allow null pointers, those are pretty consistent. - - * wtf/HashTraits.h: Moved value checking code out of here. - - * wtf/HashTable.h: (WTF::::checkTableConsistencyExceptSize): Updated for the above changes. - - * wtf/Vector.h: - (WTF::::checkConsistency): Check all vector elements. - (WTF::ValueCheck): Support checking a Vector as an element in other containers. Currently - unused. - -2010-02-10 Jedrzej Nowacki - - Reviewed by Simon Hausmann. - - Fix QScriptValue::toBool. - - Fix ECMA compliance in the QScriptValue for values like 0, NaN and - empty strings. - - [Qt] QScriptValue::toBool problem - https://bugs.webkit.org/show_bug.cgi?id=34793 - - * qt/api/qscriptvalue_p.h: - (QScriptValuePrivate::toBool): - * qt/tests/qscriptvalue/tst_qscriptvalue.h: - * qt/tests/qscriptvalue/tst_qscriptvalue_generated.cpp: - (tst_QScriptValue::toBool_initData): - (tst_QScriptValue::toBool_makeData): - (tst_QScriptValue::toBool_test): - (tst_QScriptValue::toBoolean_initData): - (tst_QScriptValue::toBoolean_makeData): - (tst_QScriptValue::toBoolean_test): - -2009-10-06 Yongjun Zhang - - Reviewed by Simon Hausmann. - - Use derefIfNotNull() to work around WINSCW compiler forward declaration bug - - The compiler bug is reported at - https://xdabug001.ext.nokia.com/bugzilla/show_bug.cgi?id=9812. - - The change should be reverted when the above bug is fixed in WINSCW compiler. - - https://bugs.webkit.org/show_bug.cgi?id=28054 - -2009-10-06 Yongjun Zhang - - Reviewed by Simon Hausmann. - - Get rid of WINSCW hack for UnSpecifiedBoolType - - Add parenthesis around (RefPtr::*UnspecifiedBoolType) to make the WINSCW - compiler work with the default UnSpecifiedBoolType() operator. - - https://bugs.webkit.org/show_bug.cgi?id=28054 - - * wtf/RefPtr.h: - -2010-02-09 Jedrzej Nowacki - - Reviewed by Simon Hausmann. - - New functions nullValue() and undefinedValue(). - - [Qt] QScriptEngine should contain nullValue and undefinedValue methods - https://bugs.webkit.org/show_bug.cgi?id=34749 - - * qt/api/qscriptengine.cpp: - (QScriptEngine::nullValue): - (QScriptEngine::undefinedValue): - * qt/api/qscriptengine.h: - * qt/tests/qscriptengine/tst_qscriptengine.cpp: - (tst_QScriptEngine::nullValue): - (tst_QScriptEngine::undefinedValue): - -2010-02-09 Jedrzej Nowacki - - Reviewed by Simon Hausmann. - - Fixes for QScriptValue::toNumber(). - - Fix ECMA compliance in QScriptValue for values unbound - to a QScriptEngine. - - [Qt] QScriptValue::toNumber() is broken - https://bugs.webkit.org/show_bug.cgi?id=34592 - - * qt/api/qscriptvalue_p.h: - (QScriptValuePrivate::toNumber): - * qt/tests/qscriptvalue/tst_qscriptvalue.h: - * qt/tests/qscriptvalue/tst_qscriptvalue_generated.cpp: - (tst_QScriptValue::toNumber_initData): - (tst_QScriptValue::toNumber_makeData): - (tst_QScriptValue::toNumber_test): - -2010-02-09 Jedrzej Nowacki - - Reviewed by Simon Hausmann. - - Fix QScriptValue::isNumber(). - - The isNumber() should return 'true' if the value is in the CNumber - state. - - [Qt] QScriptValue::isNumber() returns an incorrect value - https://bugs.webkit.org/show_bug.cgi?id=34575 - - * qt/api/qscriptvalue_p.h: - (QScriptValuePrivate::isNumber): - * qt/tests/qscriptvalue/tst_qscriptvalue.h: - * qt/tests/qscriptvalue/tst_qscriptvalue_generated.cpp: - (tst_QScriptValue::isNumber_initData): - (tst_QScriptValue::isNumber_makeData): - (tst_QScriptValue::isNumber_test): - -2010-02-09 Geoffrey Garen - - Reviewed by Oliver Hunt. - - Small refactoring to the small strings cache to allow it to be cleared - dynamically. - - * runtime/SmallStrings.cpp: - (JSC::SmallStrings::SmallStrings): - (JSC::SmallStrings::clear): - * runtime/SmallStrings.h: Moved initialization code into a shared function, - and changed the constructor to call it. - -2010-02-09 Gavin Barraclough - - Rubber Stamped by Geoff Garen. - - Rename StringBuilder::release && JSStringBuilder::releaseJSString - to 'build()'. - - * runtime/ArrayPrototype.cpp: - (JSC::arrayProtoFuncToLocaleString): - (JSC::arrayProtoFuncJoin): - * runtime/Executable.cpp: - (JSC::FunctionExecutable::paramString): - * runtime/FunctionConstructor.cpp: - (JSC::constructFunction): - * runtime/JSGlobalObjectFunctions.cpp: - (JSC::encode): - (JSC::decode): - (JSC::globalFuncEscape): - (JSC::globalFuncUnescape): - * runtime/JSONObject.cpp: - (JSC::Stringifier::stringify): - * runtime/JSStringBuilder.h: - (JSC::JSStringBuilder::build): - * runtime/LiteralParser.cpp: - (JSC::LiteralParser::Lexer::lexString): - * runtime/NumberPrototype.cpp: - (JSC::integerPartNoExp): - (JSC::numberProtoFuncToFixed): - * runtime/StringBuilder.h: - (JSC::StringBuilder::build): - -2010-02-09 John Sullivan - - https://bugs.webkit.org/show_bug.cgi?id=34772 - Overzealous new assertion in URStringImpl::adopt() - - Reviewed by Adam Barth. - - * runtime/UStringImpl.h: - (JSC::UStringImpl::adopt): - Only assert that vector.data() is non-zero if vector.size() is non-zero. - -2010-02-09 Nikolas Zimmermann - - Not reviewed. Try to fix build problem on SnowLeopard slaves to bring them back. - - * API/JSClassRef.cpp: - (tryCreateStringFromUTF8): Mark method as 'static inline' to suppress "warning: no previous prototype for ..." - -2010-02-09 Gavin Barraclough - - Reviewed by Oliver Hunt. - - Three small string fixes: - (1) StringBuilder::release should CRASH if the buffer allocation failed. - (2) Remove weird, dead code from JSString::tryGetValue, replace with an ASSERT. - (3) Move UString::createFromUTF8 out to the API, as tryCreateStringFromUTF8. - This is only used from the API, and (now) unlike other UString::create - methods may return UString::null() to indicate failure cases. Better - handle these in the API. - - * API/JSClassRef.cpp: - (tryCreateStringFromUTF8): - (OpaqueJSClass::OpaqueJSClass): - (OpaqueJSClassContextData::OpaqueJSClassContextData): - * runtime/JSString.h: - (JSC::Fiber::tryGetValue): - * runtime/StringBuilder.h: - (JSC::StringBuilder::release): - * runtime/UString.cpp: - (JSC::UString::UString): - (JSC::UString::from): - (JSC::UString::find): - * runtime/UString.h: - -2010-02-09 Janne Koskinen - - Reviewed by Laszlo Gombos. - - [Qt] use nanval() for Symbian as nonInlineNaN - https://bugs.webkit.org/show_bug.cgi?id=34170 - - numeric_limits::quiet_NaN is broken in Symbian - causing NaN to be evaluated as a number. - - * runtime/JSValue.cpp: - (JSC::nonInlineNaN): - -2010-02-09 Tamas Szirbucz - - Reviewed by Gavin Barraclough. - - Add a soft modulo operation to ARM JIT using a trampoline function. - The performance progression is about ~1.8% on ARMv7 - https://bugs.webkit.org/show_bug.cgi?id=34424 - - Developed in cooperation with Gabor Loki. - - * jit/JIT.h: - * jit/JITArithmetic.cpp: - (JSC::JIT::emit_op_mod): - (JSC::JIT::emitSlow_op_mod): - * jit/JITOpcodes.cpp: - (JSC::JIT::softModulo): - * jit/JITStubs.h: - (JSC::JITThunks::ctiSoftModulo): - * wtf/Platform.h: - -2010-02-08 Gavin Barraclough - - Reviewed by NOBODY (SL/win build fixes). - - * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: - * runtime/StringPrototype.cpp: - -2010-02-08 Gavin Barraclough - - Reviewed by Oliver Hunt - - Make String.replace throw an exception on out-of-memory, rather than - returning a null (err, empty-ish) string. Move String::replaceRange - and String::spliceSubstringsWithSeparators out to StringPrototype - - these were fairly specific use anyway, and we can better integrate - throwing the JS expcetion this way. - - Also removes redundant assignment operator from UString. - - * JavaScriptCore.exp: - * runtime/StringPrototype.cpp: - (JSC::StringRange::StringRange): - (JSC::jsSpliceSubstringsWithSeparators): - (JSC::jsReplaceRange): - (JSC::stringProtoFuncReplace): - * runtime/UString.cpp: - * runtime/UString.h: - -2010-02-08 Kwang Yul Seo - - Reviewed by Eric Seidel. - - [BREWMP] Undefine WTF_OS_WINDOWS and WTF_PLATFORM_WIN - https://bugs.webkit.org/show_bug.cgi?id=34561 - - As the binary for simulator is built with MSVC 2005, - WTF_OS_WINDOWS and WTF_PLATFORM_WIN are defined. - Undefine them as we don't target Windows. - - * wtf/Platform.h: - -2010-02-08 Chris Rogers - - Reviewed by Darin Adler. - - audio engine: add Vector3 class - https://bugs.webkit.org/show_bug.cgi?id=34548 - - * wtf/Vector3.h: Added. - (WebCore::Vector3::Vector3): - (WebCore::Vector3::abs): - (WebCore::Vector3::isZero): - (WebCore::Vector3::normalize): - (WebCore::Vector3::x): - (WebCore::Vector3::y): - (WebCore::Vector3::z): - (WebCore::operator+): - (WebCore::operator-): - (WebCore::operator*): - (WebCore::dot): - (WebCore::cross): - (WebCore::distance): - -2010-02-08 Oliver Hunt - - Reviewed by Gavin Barraclough. - - Fix warning in clang++ - - * runtime/Structure.h: - (JSC::Structure::propertyStorageSize): - -2010-02-08 Gavin Barraclough - - Reviewed by Geoff Garen. - - Make makeString CRASH if we fail to allocate a string. - - (tryMakeString or jsMakeNontrivialString can be used where we - expect allocation may fail and want to handle the error). - - * runtime/JSStringBuilder.h: - (JSC::jsMakeNontrivialString): - * runtime/UString.h: - (JSC::tryMakeString): - (JSC::makeString): - -2010-02-08 Gavin Barraclough - - Rubber Stamped by Oliver Hunt. - - Remove a couple of unnecesary C-style casts spotted by Darin. - - * runtime/JSGlobalObjectFunctions.cpp: - (JSC::encode): - (JSC::globalFuncEscape): - -2010-02-08 Gavin Barraclough - - Reviewed by Geoff Garen. - - Switch some more StringBuilder/jsNontrivialString code to use - JSStringBuilder/jsMakeNontrivialString - these methods will - throw an exception if we hit out-of-memory, rather than just - CRASHing. - - * runtime/FunctionPrototype.cpp: - (JSC::functionProtoFuncToString): - * runtime/JSGlobalObjectFunctions.cpp: - (JSC::encode): - (JSC::decode): - (JSC::globalFuncEscape): - -2010-02-08 Gavin Barraclough - - Reviewed by Sam Weinig. - - Use an empty identifier instead of a null identifier for parse - tokens without an identifier. - - This helps encapsulate the null UStringImpl within UString. - - * parser/Grammar.y: - * parser/NodeConstructors.h: - (JSC::ContinueNode::ContinueNode): - (JSC::BreakNode::BreakNode): - (JSC::ForInNode::ForInNode): - * runtime/CommonIdentifiers.cpp: - (JSC::CommonIdentifiers::CommonIdentifiers): - * runtime/CommonIdentifiers.h: - * runtime/FunctionPrototype.cpp: - (JSC::FunctionPrototype::FunctionPrototype): - -2010-02-08 Gustavo Noronha Silva - - Build fix for make distcheck. - - * GNUmakefile.am: - -2010-02-08 Simon Hausmann - - Unreviewed RVCT build fix. - - Similar to r54391, don't import the cmath functions from std:: for RVCT. - - * wtf/MathExtras.h: - -2010-02-05 Gavin Barraclough - - Reviewed by Geoff Garen. - - Change UStringImpl::create to CRASH if the string cannot be allocated, - rather than returning a null string (which will behave like a zero-length - string if used). - - Also move createRep function from UString to become new overloaded - UStringImpl::create methods. In doing so, bring their behaviour closer to - being in line with WebCore::StringImpl, in removing the behaviour that they - can be used to produce null UStrings (ASSERT the char* provided is non-null). - This behaviour of converting null C-strings to null UStrings is inefficient - (cmompared to just using UString::null()), incompatible with WebCore::StringImpl's - behaviour, and may generate unexpected behaviour, since in many cases a null - UString can be used like an empty string. - - With these changes UStringImpl need not have a concept of null impls, we can - start transitioning this to become an implementation detail of UString, that - internally it chooses to use a null-object rather than an actually zero impl - pointer. - - * JavaScriptCore.exp: - * debugger/Debugger.cpp: - (JSC::Debugger::recompileAllJSFunctions): - * debugger/DebuggerCallFrame.cpp: - (JSC::DebuggerCallFrame::calculatedFunctionName): - * parser/Parser.cpp: - (JSC::Parser::parse): - * profiler/Profile.cpp: - (JSC::Profile::Profile): - * profiler/ProfileGenerator.cpp: - (JSC::ProfileGenerator::stopProfiling): - * runtime/Error.cpp: - (JSC::Error::create): - (JSC::throwError): - * runtime/ExceptionHelpers.cpp: - (JSC::createError): - * runtime/Identifier.cpp: - (JSC::Identifier::add): - * runtime/PropertyNameArray.cpp: - (JSC::PropertyNameArray::add): - * runtime/UString.cpp: - (JSC::initializeUString): - (JSC::UString::UString): - (JSC::UString::operator=): - * runtime/UString.h: - (JSC::UString::isNull): - (JSC::UString::null): - (JSC::UString::rep): - (JSC::UString::UString): - * runtime/UStringImpl.cpp: - (JSC::UStringImpl::create): - * runtime/UStringImpl.h: - -2010-02-05 Kwang Yul Seo - - Reviewed by Eric Seidel. - - [BREWMP] Define SYSTEM_MALLOC 1 - https://bugs.webkit.org/show_bug.cgi?id=34640 - - Make BREWMP use system malloc because FastMalloc is not ported. - - * wtf/Platform.h: - -2010-02-05 Kwang Yul Seo - - Reviewed by Alexey Proskuryakov. - - Don't call CRASH() in fastMalloc and fastCalloc when the requested memory size is 0 - https://bugs.webkit.org/show_bug.cgi?id=34569 - - With USE_SYSTEM_MALLOC=1, fastMalloc and fastCalloc call CRASH() - if the return value of malloc and calloc is 0. - - However, these functions can return 0 when the request size is 0. - Libc manual says, "If size is 0, then malloc() returns either NULL, - or a unique pointer value that can later be successfully passed to free()." - Though malloc returns a unique pointer in most systems, - 0 can be returned in some systems. For instance, BREW's MALLOC returns 0 - when size is 0. - - If malloc or calloc returns 0 due to allocation size, increase the size - to 1 and try again. - - * wtf/FastMalloc.cpp: - (WTF::fastMalloc): - (WTF::fastCalloc): - -2010-02-04 Mark Rowe - - Reviewed by Timothy Hatcher. - - Build fix. Remove a symbol corresponding to an inline function from the linker export - file to prevent a weak external failure. - - * JavaScriptCore.xcodeproj/project.pbxproj: Accommodate rename of script. - -2010-02-04 Daniel Bates - - [Qt] Unreviewed, build fix for Qt bot. - - * runtime/JSStringBuilder.h: Changed #include notation #include "X.h". - -2010-02-04 Geoffrey Garen - - Reviewed by Oliver Hunt. - - Clearing a WeakGCPtr is weird - https://bugs.webkit.org/show_bug.cgi?id=34627 - - Added a WeakGCPtr::clear interface. - - As discussed in https://bugs.webkit.org/show_bug.cgi?id=33383, the old - interface made it pretty weird for a client to conditionally clear a - WeakGCPtr, which is exactly what clients want to do when objects are - finalized. - - * API/JSClassRef.cpp: - (clearReferenceToPrototype): Use the new WeakGCPtr::clear() interface. - - * runtime/WeakGCPtr.h: - (JSC::WeakGCPtr::clear): Added an interface for clearing a WeakGCPtr, - iff its current value is the value passed in. It's cumbersome for the - client to do this test, since WeakGCPtr sometimes pretends to be null. - -2010-02-04 Geoffrey Garen - - Build fix: export a header. - - * JavaScriptCore.xcodeproj/project.pbxproj: - -2010-02-04 Gavin Barraclough - - Reviewed by Oliver Hunt. - - Add a JSStringBuilder class (similar-to, and derived-from StringBuilder) to - construct JSStrings, throwing a JS exception should we run out of memory whilst - allocating storage for the string. - - Similarly, add jsMakeNontrivialString methods to use in cases where previously - we were calling makeString & passing the result to jsNontrivialString. Again, - these new methods throw if we hit an out of memory condition. - - Move throwOutOfMemoryError into ExceptionHelpers, to make it more widely available. - - * JavaScriptCore.xcodeproj/project.pbxproj: - * runtime/ArrayPrototype.cpp: - (JSC::arrayProtoFuncToString): - (JSC::arrayProtoFuncToLocaleString): - (JSC::arrayProtoFuncJoin): - * runtime/DateConstructor.cpp: - (JSC::callDate): - * runtime/DatePrototype.cpp: - (JSC::dateProtoFuncToString): - (JSC::dateProtoFuncToUTCString): - (JSC::dateProtoFuncToGMTString): - * runtime/ErrorPrototype.cpp: - (JSC::errorProtoFuncToString): - * runtime/ExceptionHelpers.cpp: - (JSC::throwOutOfMemoryError): - * runtime/ExceptionHelpers.h: - * runtime/JSStringBuilder.h: Added. - (JSC::JSStringBuilder::releaseJSString): - (JSC::jsMakeNontrivialString): - * runtime/NumberPrototype.cpp: - (JSC::numberProtoFuncToPrecision): - * runtime/ObjectPrototype.cpp: - (JSC::objectProtoFuncToString): - * runtime/Operations.cpp: - * runtime/Operations.h: - * runtime/RegExpPrototype.cpp: - (JSC::regExpProtoFuncToString): - * runtime/StringBuilder.h: - (JSC::StringBuilder::append): - * runtime/StringPrototype.cpp: - (JSC::stringProtoFuncBig): - (JSC::stringProtoFuncSmall): - (JSC::stringProtoFuncBlink): - (JSC::stringProtoFuncBold): - (JSC::stringProtoFuncFixed): - (JSC::stringProtoFuncItalics): - (JSC::stringProtoFuncStrike): - (JSC::stringProtoFuncSub): - (JSC::stringProtoFuncSup): - (JSC::stringProtoFuncFontcolor): - (JSC::stringProtoFuncFontsize): - (JSC::stringProtoFuncAnchor): - -2010-02-04 Steve Falkenburg - - Windows build fix. - - * wtf/MathExtras.h: - -2010-02-04 Darin Adler - - Reviewed by David Levin. - - Make MathExtras.h compatible with - https://bugs.webkit.org/show_bug.cgi?id=34618 - - * wtf/MathExtras.h: Include instead of . - Use "using" as we do elsewhere in WTF for the four functions from - we want to use without the prefix. Later we could consider making the std - explicit at call sites instead. - -2010-02-04 Tamas Szirbucz - - Reviewed by Gavin Barraclough. - - Use an easily appendable structure for trampolines instead of pointer parameters. - https://bugs.webkit.org/show_bug.cgi?id=34424 - - * assembler/ARMAssembler.cpp: - (JSC::ARMAssembler::executableCopy): - * jit/JIT.h: - (JSC::JIT::compileCTIMachineTrampolines): - * jit/JITOpcodes.cpp: - (JSC::JIT::privateCompileCTIMachineTrampolines): - * jit/JITStubs.cpp: - (JSC::JITThunks::JITThunks): - * jit/JITStubs.h: - (JSC::JITThunks::ctiStringLengthTrampoline): - (JSC::JITThunks::ctiVirtualCallLink): - (JSC::JITThunks::ctiVirtualCall): - (JSC::JITThunks::ctiNativeCallThunk): - -2010-02-04 Jedrzej Nowacki - - Reviewed by Simon Hausmann. - - Increase test coverage for the QScriptValue. - - https://bugs.webkit.org/show_bug.cgi?id=34533 - - * qt/tests/qscriptvalue/qscriptvalue.pro: - * qt/tests/qscriptvalue/tst_qscriptvalue.cpp: - (tst_QScriptValue::tst_QScriptValue): - (tst_QScriptValue::~tst_QScriptValue): - (tst_QScriptValue::dataHelper): - (tst_QScriptValue::newRow): - (tst_QScriptValue::testHelper): - (tst_QScriptValue::ctor): - * qt/tests/qscriptvalue/tst_qscriptvalue.h: Added. - * qt/tests/qscriptvalue/tst_qscriptvalue_generated.cpp: Added. - (tst_QScriptValue::initScriptValues): - (tst_QScriptValue::isValid_initData): - (tst_QScriptValue::isValid_makeData): - (tst_QScriptValue::isValid_test): - (tst_QScriptValue::isBool_initData): - (tst_QScriptValue::isBool_makeData): - (tst_QScriptValue::isBool_test): - (tst_QScriptValue::isBoolean_initData): - (tst_QScriptValue::isBoolean_makeData): - (tst_QScriptValue::isBoolean_test): - (tst_QScriptValue::isFunction_initData): - (tst_QScriptValue::isFunction_makeData): - (tst_QScriptValue::isFunction_test): - (tst_QScriptValue::isNull_initData): - (tst_QScriptValue::isNull_makeData): - (tst_QScriptValue::isNull_test): - (tst_QScriptValue::isString_initData): - (tst_QScriptValue::isString_makeData): - (tst_QScriptValue::isString_test): - (tst_QScriptValue::isUndefined_initData): - (tst_QScriptValue::isUndefined_makeData): - (tst_QScriptValue::isUndefined_test): - (tst_QScriptValue::isObject_initData): - (tst_QScriptValue::isObject_makeData): - (tst_QScriptValue::isObject_test): - -2010-02-03 Kwang Yul Seo - - Reviewed by Eric Seidel. - - [BREWMP] Define WTF_PLATFORM_BREWMP_SIMULATOR when AEE_SIMULATOR is defined - https://bugs.webkit.org/show_bug.cgi?id=34514 - - PLATFORM(BREWMP_SIMULATOR) guard is needed to make distinction between BREWMP - and BREWMP simulator. - - * wtf/Platform.h: - -2010-02-03 Kwang Yul Seo - - Reviewed by Eric Seidel. - - [BREWMP] Remove COMPILE_ASSERT conflict with the underlying PLATFORM - https://bugs.webkit.org/show_bug.cgi?id=34190 - - COMPILE_ASSERT conflicts with the underlying PLATFORM because it is defined - both in WTF's Assertions.h and BREWMP's AEEClassIDs.h. Include AEEClassIDs.h - in Assertions.h and undef COMPILE_ASSERT to avoid redefining COMPILE_ASSERT. - - * wtf/Assertions.h: - -2010-02-03 Kwang Yul Seo - - Reviewed by Eric Seidel. - - [BREWMP] Implement OwnPtrBrew to make sure BREW instances are freed. - https://bugs.webkit.org/show_bug.cgi?id=34518 - - Add OwnPtrBrew to release IFile, IFileMgr and IBitmap instances. - - * wtf/brew/OwnPtrBrew.cpp: Added. - (WTF::IFileMgr): - (WTF::IFile): - (WTF::IBitmap): - (WTF::freeOwnedPtrBrew): - * wtf/brew/OwnPtrBrew.h: Added. - (WTF::OwnPtrBrew::OwnPtrBrew): - (WTF::OwnPtrBrew::~OwnPtrBrew): - (WTF::OwnPtrBrew::get): - (WTF::OwnPtrBrew::release): - (WTF::OwnPtrBrew::outPtr): - (WTF::OwnPtrBrew::set): - (WTF::OwnPtrBrew::clear): - (WTF::OwnPtrBrew::operator*): - (WTF::OwnPtrBrew::operator->): - (WTF::OwnPtrBrew::operator!): - (WTF::OwnPtrBrew::operator UnspecifiedBoolType): - (WTF::OwnPtrBrew::swap): - (WTF::swap): - (WTF::operator==): - (WTF::operator!=): - (WTF::getPtr): - -2010-02-03 Kwang Yul Seo - - Reviewed by Darin Adler. - - Export WTF::fastStrDup symbol - https://bugs.webkit.org/show_bug.cgi?id=34526 - - * JavaScriptCore.exp: - -2010-02-03 Kevin Watters - - Reviewed by Kevin Ollivier. - - [wx] Enable JIT compilation for wx. - - https://bugs.webkit.org/show_bug.cgi?id=34536 - - * wtf/Platform.h: - -2010-02-02 Oliver Hunt - - Reviewed by Geoffrey Garen. - - Crash in CollectorBitmap::get at nbcolympics.com - https://bugs.webkit.org/show_bug.cgi?id=34504 - - This was caused by the use of m_offset to determine the offset of - a new property into the property storage. This patch corrects - the effected cases by incorporating the anonymous slot count. It - also removes the duplicate copy of anonymous slot count from the - property table as keeping this up to date merely increased the - chance of a mismatch. Finally I've added a large number of - assertions in an attempt to prevent such a bug from happening - again. - - With the new assertions in place the existing anonymous slot tests - all fail without the m_offset fixes. - - * runtime/PropertyMapHashTable.h: - * runtime/Structure.cpp: - (JSC::Structure::materializePropertyMap): - (JSC::Structure::addPropertyTransitionToExistingStructure): - (JSC::Structure::addPropertyTransition): - (JSC::Structure::removePropertyTransition): - (JSC::Structure::flattenDictionaryStructure): - (JSC::Structure::addPropertyWithoutTransition): - (JSC::Structure::removePropertyWithoutTransition): - (JSC::Structure::copyPropertyTable): - (JSC::Structure::get): - (JSC::Structure::put): - (JSC::Structure::remove): - (JSC::Structure::insertIntoPropertyMapHashTable): - (JSC::Structure::createPropertyMapHashTable): - (JSC::Structure::rehashPropertyMapHashTable): - (JSC::Structure::checkConsistency): - -2010-02-02 Steve Falkenburg - - Reviewed by Darin Adler. - - Copyright year updating for Windows version resources should be automatic - https://bugs.webkit.org/show_bug.cgi?id=34503 - - * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.rc: - -2010-02-02 Kwang Yul Seo - - Reviewed by Eric Seidel. - - [BREWMP] Add dummy main thread functions - https://bugs.webkit.org/show_bug.cgi?id=33569 - - Add dummy initializeMainThreadPlatform and - scheduleDispatchFunctionsOnMainThread. - - * wtf/brew/MainThreadBrew.cpp: Added. - (WTF::initializeMainThreadPlatform): - (WTF::scheduleDispatchFunctionsOnMainThread): - -2010-02-02 Kwang Yul Seo - - Reviewed by Darin Adler. - - Add using WTF::getLocalTime to CurrentTime.h - https://bugs.webkit.org/show_bug.cgi?id=34493 - - * wtf/CurrentTime.h: - -2010-02-02 Kwang Yul Seo - - Reviewed by Eric Seidel. - - [BREWMP] Add HAVE_XXX definitions - https://bugs.webkit.org/show_bug.cgi?id=34414 - - Add HAVE_ERRNO_H=1 - - * wtf/Platform.h: - -2010-02-02 Kwang Yul Seo - - Reviewed by Eric Seidel. - - [BREWMP] Don't define HAVE_TM_GMTOFF, HAVE_TM_ZONE and HAVE_TIMEGM - https://bugs.webkit.org/show_bug.cgi?id=34388 - - BREWMP does not have these features. - - * wtf/Platform.h: - -2010-02-02 Kwang Yul Seo - - Reviewed by Eric Seidel. - - [BREWMP] Define WTF_PLATFORM_BREWMP=1 when BUILDING_BREWMP is defined - https://bugs.webkit.org/show_bug.cgi?id=34386 - - Define WTF_PLATFORM_BREWMP=1 so that PLATFORM(BREWMP) guard can be used. - - * wtf/Platform.h: - -2010-02-01 Kent Tamura - - Reviewed by Darin Adler. - - Date.UTC() should apply TimeClip operation. - https://bugs.webkit.org/show_bug.cgi?id=34461 - - ECMAScript 5 15.9.4.3: - > 9 Return TimeClip(MakeDate(MakeDay(yr, m, dt), MakeTime(h, min, s, milli))). - - * runtime/DateConstructor.cpp: - (JSC::dateUTC): Calls WTF::timeClip(). - -2010-02-01 Kent Tamura - - Reviewed by Darin Adler. - - Fix a bug that Math.round() retunrs incorrect results for huge integers - https://bugs.webkit.org/show_bug.cgi?id=34462 - - * runtime/MathObject.cpp: - (JSC::mathProtoFuncRound): Avoid "arg + 0.5". - -2010-02-01 Kwang Yul Seo - - Reviewed by Eric Seidel. - - [BREWMP] Port WTF's currentTime - https://bugs.webkit.org/show_bug.cgi?id=33567 - - Combine GETUTCSECONDS and GETTIMEMS to calculate the number - of milliseconds since 1970/01/01 00:00:00 UTC. - - * wtf/CurrentTime.cpp: - (WTF::currentTime): - -2010-02-01 Patrick Gansterer - - Reviewed by Darin Adler. - - [Qt] WinCE buildfix after r52729 and fix for Q_BIG_ENDIAN typo. - https://bugs.webkit.org/show_bug.cgi?id=34378 - - * wtf/Platform.h: - -2010-02-01 Oliver Hunt - - Reviewed by Gavin Barraclough. - - Structure not accounting for anonymous slots when computing property storage size - https://bugs.webkit.org/show_bug.cgi?id=34441 - - Previously any Structure with anonymous storage would have a property map, so we - were only including anonymous slot size if there was a property map. Given this - is no longer the case we should always include the anonymous slot count in the - property storage size. - - * runtime/Structure.h: - (JSC::Structure::propertyStorageSize): - -2010-02-01 Oliver Hunt - - Windows build fix, update exports file (again) - - * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: - -2010-02-01 Oliver Hunt - - Windows build fix, update exports file - - * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: - -2010-01-31 Oliver Hunt - - Reviewed by Maciej Stachowiak. - - JSC is failing to propagate anonymous slot count on some transitions - https://bugs.webkit.org/show_bug.cgi?id=34321 - - Remove secondary Structure constructor, and make Structure store a copy - of the number of anonymous slots directly so saving an immediate allocation - of a property map for all structures with anonymous storage, which also - avoids the leaked property map on new property transition in the original - version of this patch. - - We need to propagate the the anonymous slot count otherwise we can end up - with a structure recording incorrect information about the available and - needed space for property storage, or alternatively incorrectly reusing - some slots. - - * JavaScriptCore.exp: - * runtime/Structure.cpp: - (JSC::Structure::Structure): - (JSC::Structure::materializePropertyMap): - (JSC::Structure::addPropertyTransition): - (JSC::Structure::changePrototypeTransition): - (JSC::Structure::despecifyFunctionTransition): - (JSC::Structure::getterSetterTransition): - (JSC::Structure::toDictionaryTransition): - (JSC::Structure::flattenDictionaryStructure): - (JSC::Structure::copyPropertyTable): - (JSC::Structure::put): - (JSC::Structure::remove): - (JSC::Structure::insertIntoPropertyMapHashTable): - (JSC::Structure::createPropertyMapHashTable): - * runtime/Structure.h: - (JSC::Structure::create): - (JSC::Structure::hasAnonymousSlots): - (JSC::Structure::anonymousSlotCount): - -2010-01-31 Patrick Gansterer - - Reviewed by Darin Adler. - - Buildfix for WinCE + style fixes (TLS_OUT_OF_INDEXES is not defined). - https://bugs.webkit.org/show_bug.cgi?id=34380 - - * wtf/ThreadSpecific.h: - -2010-01-31 Kent Tamura - - Reviewed by Darin Adler. - - [Windows] Fix a bug of round() with huge integral numbers - https://bugs.webkit.org/show_bug.cgi?id=34297 - - Fix a bug that round() for huge integral numbers returns incorrect - results. For example, round(8639999913600001) returns - 8639999913600002 without this change though the double type can - represent 8639999913600001 precisely. - - Math.round() of JavaScript has a similar problem. But this change - doesn't fix it because Math.round() doesn't use round() of - MathExtra.h. - - * wtf/MathExtras.h: - (round): Avoid to do "num + 0.5" or "num - 0.5". - (roundf): Fixed similarly. - (llround): Calls round(). - (llroundf): Calls roundf(). - (lround): Calls round(). - (lroundf): Calls roundf(). - -2010-01-29 Mark Rowe - - Sort Xcode projects. - - * JavaScriptCore.xcodeproj/project.pbxproj: - -2010-01-29 Mark Rowe - - Fix the Mac build. - - Disable ENABLE_INDEXED_DATABASE since it is "completely non-functional". - - As the comment in FeatureDefines.xcconfig notes, the list of feature defines - needs to be kept in sync across the various files. The default values also - need to be kept in sync between these files and build-webkit. - - * Configurations/FeatureDefines.xcconfig: - -2010-01-29 Simon Hausmann - - Rubber-stamped by Maciej Stachowiak. - - Fix the ARM build. - - * runtime/JSNumberCell.h: - (JSC::JSNumberCell::createStructure): Call the right Structure::create overload. - -2010-01-28 Kevin Ollivier - - [wx] Build fix for MSW, use ThreadingWin.cpp as the Windows pthreads implementation - implements pthread_t in a way that makes it impossible to check its validity, - which is needed by ThreadingPthreads.cpp. - - * wscript: - -2010-01-28 Oliver Hunt - - Reviewed by Gavin Barraclough. - - DOM Objects shouldn't all require custom mark functions - https://bugs.webkit.org/show_bug.cgi?id=34291 - - Make getAnonymousValue const-friendly - - * runtime/JSObject.h: - (JSC::JSObject::getAnonymousValue): - -2010-01-28 Oliver Hunt - - Reviewed by Gavin Barraclough. - - Simplify anonymous slot implementation - https://bugs.webkit.org/show_bug.cgi?id=34282 - - A class must now specify the number of slots it needs at construction time - rather than later on with a transition. This makes many things simpler, - we no longer need to need an additional transition on object creation to - add the anonymous slots, and we remove the need for a number of transition - type checks. - - * API/JSCallbackConstructor.h: - (JSC::JSCallbackConstructor::createStructure): - * API/JSCallbackFunction.h: - (JSC::JSCallbackFunction::createStructure): - * API/JSCallbackObject.h: - (JSC::JSCallbackObject::createStructure): - * JavaScriptCore.exp: - * debugger/DebuggerActivation.h: - (JSC::DebuggerActivation::createStructure): - * runtime/Arguments.h: - (JSC::Arguments::createStructure): - * runtime/BooleanObject.h: - (JSC::BooleanObject::createStructure): - * runtime/DateInstance.h: - (JSC::DateInstance::createStructure): - * runtime/DatePrototype.h: - (JSC::DatePrototype::createStructure): - * runtime/FunctionPrototype.h: - (JSC::FunctionPrototype::createStructure): - * runtime/GetterSetter.h: - (JSC::GetterSetter::createStructure): - * runtime/GlobalEvalFunction.h: - (JSC::GlobalEvalFunction::createStructure): - * runtime/InternalFunction.h: - (JSC::InternalFunction::createStructure): - * runtime/JSAPIValueWrapper.h: - (JSC::JSAPIValueWrapper::createStructure): - * runtime/JSActivation.h: - (JSC::JSActivation::createStructure): - * runtime/JSArray.h: - (JSC::JSArray::createStructure): - * runtime/JSByteArray.cpp: - (JSC::JSByteArray::createStructure): - * runtime/JSCell.h: - (JSC::JSCell::createDummyStructure): - * runtime/JSFunction.h: - (JSC::JSFunction::createStructure): - * runtime/JSGlobalObject.h: - (JSC::JSGlobalObject::createStructure): - * runtime/JSNotAnObject.h: - (JSC::JSNotAnObject::createStructure): - * runtime/JSONObject.h: - (JSC::JSONObject::createStructure): - * runtime/JSObject.h: - (JSC::JSObject::createStructure): - (JSC::JSObject::putAnonymousValue): - (JSC::JSObject::getAnonymousValue): - * runtime/JSPropertyNameIterator.h: - (JSC::JSPropertyNameIterator::createStructure): - * runtime/JSStaticScopeObject.h: - (JSC::JSStaticScopeObject::createStructure): - * runtime/JSString.h: - (JSC::Fiber::createStructure): - * runtime/JSVariableObject.h: - (JSC::JSVariableObject::createStructure): - * runtime/JSWrapperObject.h: - (JSC::JSWrapperObject::createStructure): - (JSC::JSWrapperObject::JSWrapperObject): - * runtime/MathObject.h: - (JSC::MathObject::createStructure): - * runtime/NumberConstructor.h: - (JSC::NumberConstructor::createStructure): - * runtime/NumberObject.h: - (JSC::NumberObject::createStructure): - * runtime/RegExpConstructor.h: - (JSC::RegExpConstructor::createStructure): - * runtime/RegExpObject.h: - (JSC::RegExpObject::createStructure): - * runtime/StringObject.h: - (JSC::StringObject::createStructure): - * runtime/StringObjectThatMasqueradesAsUndefined.h: - (JSC::StringObjectThatMasqueradesAsUndefined::createStructure): - * runtime/Structure.cpp: - (JSC::Structure::~Structure): - (JSC::Structure::materializePropertyMap): - * runtime/Structure.h: - (JSC::Structure::create): - (JSC::Structure::anonymousSlotCount): - * runtime/StructureTransitionTable.h: - -2010-01-27 Oliver Hunt - - Windows build fix. - - * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: - -2010-01-27 Oliver Hunt - - Reviewed by Maciej Stachowiak. - - MessageEvent.data should deserialize in the context of the MessageEvent's global object - https://bugs.webkit.org/show_bug.cgi?id=34227 - - Add logic to allow us to create an Object, Array, or Date instance - so we can create them in the context of a specific global object, - rather than just using the current lexical global object. - - * JavaScriptCore.exp: - * runtime/DateInstance.cpp: - (JSC::DateInstance::DateInstance): - * runtime/DateInstance.h: - * runtime/JSGlobalObject.h: - (JSC::constructEmptyObject): - (JSC::constructEmptyArray): - -2010-01-27 Alexey Proskuryakov - - Reviewed by Darin Adler. - - https://bugs.webkit.org/show_bug.cgi?id=34150 - WebKit needs a mechanism to catch stale HashMap entries - - It is very difficult to catch stale pointers that are HashMap keys - since a pointer's hash - is just its value, it is very unlikely that any observable problem is reproducible. - - This extends hash table consistency checks to check that pointers are referencing allocated - memory blocks, and makes it possible to invoke the checks explicitly (it is not feasible - to enable CHECK_HASHTABLE_CONSISTENCY by default, because that affects performance too much). - - * wtf/HashMap.h: (WTF::::checkConsistency): Call through to HashTable implementation. We can - add similar calls to HashSet and HashCountedSet, but I haven't seen hard to debug problems - with those yet. - - * wtf/HashSet.h: (WTF::::remove): The version of checkTableConsistency that's guarded by - CHECK_HASHTABLE_CONSISTENCY is now called internalCheckTableConsistency(). - - * wtf/HashTable.h: - (WTF::HashTable::internalCheckTableConsistency): - (WTF::HashTable::internalCheckTableConsistencyExceptSize): - (WTF::HashTable::checkTableConsistencyExceptSize): - Expose checkTableConsistency() even if CHECK_HASHTABLE_CONSISTENCY is off. - (WTF::::add): Updated for checkTableConsistency renaming. - (WTF::::addPassingHashCode): Ditto. - (WTF::::removeAndInvalidate): Ditto. - (WTF::::remove): Ditto. - (WTF::::rehash): Ditto. - (WTF::::checkTableConsistency): The assertion for !shouldExpand() was not correct - this - function returns true for tables with m_table == 0. - (WTF::::checkTableConsistencyExceptSize): Call checkValueConsistency for key. Potentially, - we could do the same for values. - - * wtf/HashTraits.h: - (WTF::GenericHashTraits::checkValueConsistency): An empty function that can be overridden - to add checks. Currently, the only override is for pointer hashes. - - * wtf/RefPtrHashMap.h: (WTF::::remove): Updated for checkTableConsistency renaming. - -2010-01-27 Anton Muhin - - Reviewed by Darin Adler. - - Remove trailing \ from inline function code - https://bugs.webkit.org/show_bug.cgi?id=34223 - - * assembler/ARMv7Assembler.h: - (JSC::ARMThumbImmediate::countLeadingZerosPartial): - -2010-01-27 Kwang Yul Seo - - Reviewed by Eric Seidel. - - [BREWMP] Port WTF's randomNumber - https://bugs.webkit.org/show_bug.cgi?id=33566 - - Use GETRAND to generate 4 byte random byte sequence to implement - weakRandomNumber. Create a secure random number generator with - AEECLSID_RANDOM to implement randomNumber. - - * wtf/RandomNumber.cpp: - (WTF::weakRandomNumber): - (WTF::randomNumber): - -2010-01-27 Kwang Yul Seo - - Reviewed by Eric Seidel. - - [BREWMP] Port getCPUTime - https://bugs.webkit.org/show_bug.cgi?id=33572 - - Use GETUPTIMEMS which returns a continuously and - linearly increasing millisecond timer from the time the device - was powered on. This function is enough to implement getCPUTime. - - * runtime/TimeoutChecker.cpp: - (JSC::getCPUTime): - -2010-01-27 Kwang Yul Seo - - Reviewed by Oliver Hunt. - - [BREWMP] Add MarkStack fastMalloc implementation for platforms without VirtualAlloc or mmap. - https://bugs.webkit.org/show_bug.cgi?id=33582 - - Use fastMalloc and fastFree to implement MarkStack::allocateStack and - MarkStack::releaseStack for platforms without page level allocation. - - * runtime/MarkStack.h: - (JSC::MarkStack::MarkStackArray::shrinkAllocation): - * runtime/MarkStackNone.cpp: Added. - (JSC::MarkStack::initializePagesize): - (JSC::MarkStack::allocateStack): - (JSC::MarkStack::releaseStack): - -2010-01-27 Kwang Yul Seo - - Reviewed by Eric Seidel. - - [BREWMP] Don't use time function - https://bugs.webkit.org/show_bug.cgi?id=33577 - - Calling time(0) in BREW devices causes a crash because time - is not properly ported in most devices. Cast currentTime() to - time_t to get the same result as time(0). - - * wtf/DateMath.cpp: - (WTF::calculateUTCOffset): - -2010-01-27 Alexey Proskuryakov - - Revert r53899 (HashMap key checks) and subsequent build fixes, - because they make SVG tests crash in release builds. - - * wtf/HashMap.h: - (WTF::::remove): - * wtf/HashSet.h: - (WTF::::remove): - * wtf/HashTable.h: - (WTF::::add): - (WTF::::addPassingHashCode): - (WTF::::removeAndInvalidate): - (WTF::::remove): - (WTF::::rehash): - (WTF::::checkTableConsistency): - (WTF::::checkTableConsistencyExceptSize): - * wtf/HashTraits.h: - (WTF::GenericHashTraits::emptyValue): - (WTF::): - * wtf/RefPtrHashMap.h: - (WTF::::remove): - -2010-01-26 Alexey Proskuryakov - - More Windows build fixing. - - * wtf/HashTraits.h: _msize takes void*, remove const qualifier from type. - -2010-01-26 Alexey Proskuryakov - - Windows build fix. - - * wtf/HashTraits.h: Include malloc.h for _msize(). - -2010-01-26 Alexey Proskuryakov - - Build fix. - - * wtf/HashTable.h: (WTF::HashTable::checkTableConsistencyExceptSize): Remove const from a - static (empty) version of this function. - -2010-01-26 Alexey Proskuryakov - - Reviewed by Darin Adler. - - https://bugs.webkit.org/show_bug.cgi?id=34150 - WebKit needs a mechanism to catch stale HashMap entries - - It is very difficult to catch stale pointers that are HashMap keys - since a pointer's hash - is just its value, it is very unlikely that any observable problem is reproducible. - - This extends hash table consistency checks to check that pointers are referencing allocated - memory blocks, and makes it possible to invoke the checks explicitly (it is not feasible - to enable CHECK_HASHTABLE_CONSISTENCY by default, because that affects performance too much). - - * wtf/HashMap.h: (WTF::::checkConsistency): Call through to HashTable implementation. We can - add similar calls to HashSet and HashCountedSet, but I haven't seen hard to debug problems - with those yet. - - * wtf/HashSet.h: (WTF::::remove): The version of checkTableConsistency that's guarded by - CHECK_HASHTABLE_CONSISTENCY is now called internalCheckTableConsistency(). - - * wtf/HashTable.h: - (WTF::HashTable::internalCheckTableConsistency): - (WTF::HashTable::internalCheckTableConsistencyExceptSize): - (WTF::HashTable::checkTableConsistencyExceptSize): - Expose checkTableConsistency() even if CHECK_HASHTABLE_CONSISTENCY is off. - (WTF::::add): Updated for checkTableConsistency renaming. - (WTF::::addPassingHashCode): Ditto. - (WTF::::removeAndInvalidate): Ditto. - (WTF::::remove): Ditto. - (WTF::::rehash): Ditto. - (WTF::::checkTableConsistency): The assertion for !shouldExpand() was not correct - this - function returns true for tables with m_table == 0. - (WTF::::checkTableConsistencyExceptSize): Call checkValueConsistency for key. Potentially, - we could do the same for values. - - * wtf/HashTraits.h: - (WTF::GenericHashTraits::checkValueConsistency): An empty function that can be overridden - to add checks. Currently, the only override is for pointer hashes. - - * wtf/RefPtrHashMap.h: (WTF::::remove): Updated for checkTableConsistency renaming. - -2010-01-26 Lyon Chen - - Reviewed by Maciej Stachowiak. - - Opcode.h use const void* for Opcode cause error #1211 for RVCT compiler - https://bugs.webkit.org/show_bug.cgi?id=33902 - - * bytecode/Opcode.h: - -2010-01-26 Steve Falkenburg - - Reviewed by Oliver Hunt. - - Windows build references non-existent include paths - https://bugs.webkit.org/show_bug.cgi?id=34175 - - * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: - * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops: - * JavaScriptCore.vcproj/WTF/WTFCommon.vsprops: - * JavaScriptCore.vcproj/jsc/jscCommon.vsprops: - * JavaScriptCore.vcproj/testapi/testapi.vcproj: - * JavaScriptCore.vcproj/testapi/testapiCommon.vsprops: - -2010-01-26 Oliver Hunt - - Reviewed by Geoffrey Garen. - - Using JavaScriptCore API with a webkit vended context can result in slow script dialog - https://bugs.webkit.org/show_bug.cgi?id=34172 - - Make the APIShim correctly increment and decrement the timeout - entry counter. - - * API/APIShims.h: - (JSC::APIEntryShimWithoutLock::APIEntryShimWithoutLock): - (JSC::APIEntryShimWithoutLock::~APIEntryShimWithoutLock): - (JSC::APICallbackShim::APICallbackShim): - (JSC::APICallbackShim::~APICallbackShim): - -2010-01-26 Simon Hausmann - - [Qt] Fix compilation of QtScript with non-gcc compilers - - Variable length stack arrays are a gcc extension. Use QVarLengthArray - as a more portable solution that still tries to allocate on the stack - first. - - * qt/api/qscriptvalue_p.h: - (QScriptValuePrivate::call): - -2010-01-26 Simon Hausmann - - Reviewed by Tor Arne Vestbø. - - [Qt] Fix the build on platforms without JIT support. - - The JIT support should be determined at compile-time via wtf/Platform.h - - * qt/api/QtScript.pro: - -2010-01-26 Jedrzej Nowacki - - Reviewed by Simon Hausmann. - - First steps of the QtScript API. - - Two new classes were created; QScriptEngine and QScriptValue. - The first should encapsulate a javascript context and the second a script - value. - - This API is still in development, so it isn't compiled by default. - To trigger compilation, pass --qmakearg="CONFIG+=build-qtscript" to - build-webkit. - - https://bugs.webkit.org/show_bug.cgi?id=32565 - - * qt/api/QtScript.pro: Added. - * qt/api/qscriptconverter_p.h: Added. - (QScriptConverter::toString): - * qt/api/qscriptengine.cpp: Added. - (QScriptEngine::QScriptEngine): - (QScriptEngine::~QScriptEngine): - (QScriptEngine::evaluate): - (QScriptEngine::collectGarbage): - * qt/api/qscriptengine.h: Added. - * qt/api/qscriptengine_p.cpp: Added. - (QScriptEnginePrivate::QScriptEnginePrivate): - (QScriptEnginePrivate::~QScriptEnginePrivate): - (QScriptEnginePrivate::evaluate): - * qt/api/qscriptengine_p.h: Added. - (QScriptEnginePrivate::get): - (QScriptEnginePrivate::collectGarbage): - (QScriptEnginePrivate::makeJSValue): - (QScriptEnginePrivate::context): - * qt/api/qscriptvalue.cpp: Added. - (QScriptValue::QScriptValue): - (QScriptValue::~QScriptValue): - (QScriptValue::isValid): - (QScriptValue::isBool): - (QScriptValue::isBoolean): - (QScriptValue::isNumber): - (QScriptValue::isNull): - (QScriptValue::isString): - (QScriptValue::isUndefined): - (QScriptValue::isError): - (QScriptValue::isObject): - (QScriptValue::isFunction): - (QScriptValue::toString): - (QScriptValue::toNumber): - (QScriptValue::toBool): - (QScriptValue::toBoolean): - (QScriptValue::toInteger): - (QScriptValue::toInt32): - (QScriptValue::toUInt32): - (QScriptValue::toUInt16): - (QScriptValue::call): - (QScriptValue::engine): - (QScriptValue::operator=): - (QScriptValue::equals): - (QScriptValue::strictlyEquals): - * qt/api/qscriptvalue.h: Added. - (QScriptValue::): - * qt/api/qscriptvalue_p.h: Added. - (QScriptValuePrivate::): - (QScriptValuePrivate::get): - (QScriptValuePrivate::QScriptValuePrivate): - (QScriptValuePrivate::isValid): - (QScriptValuePrivate::isBool): - (QScriptValuePrivate::isNumber): - (QScriptValuePrivate::isNull): - (QScriptValuePrivate::isString): - (QScriptValuePrivate::isUndefined): - (QScriptValuePrivate::isError): - (QScriptValuePrivate::isObject): - (QScriptValuePrivate::isFunction): - (QScriptValuePrivate::toString): - (QScriptValuePrivate::toNumber): - (QScriptValuePrivate::toBool): - (QScriptValuePrivate::toInteger): - (QScriptValuePrivate::toInt32): - (QScriptValuePrivate::toUInt32): - (QScriptValuePrivate::toUInt16): - (QScriptValuePrivate::equals): - (QScriptValuePrivate::strictlyEquals): - (QScriptValuePrivate::assignEngine): - (QScriptValuePrivate::call): - (QScriptValuePrivate::engine): - (QScriptValuePrivate::context): - (QScriptValuePrivate::value): - (QScriptValuePrivate::object): - (QScriptValuePrivate::inherits): - (QScriptValuePrivate::isJSBased): - (QScriptValuePrivate::isNumberBased): - (QScriptValuePrivate::isStringBased): - * qt/api/qtscriptglobal.h: Added. - * qt/tests/qscriptengine/qscriptengine.pro: Added. - * qt/tests/qscriptengine/tst_qscriptengine.cpp: Added. - (tst_QScriptEngine::tst_QScriptEngine): - (tst_QScriptEngine::~tst_QScriptEngine): - (tst_QScriptEngine::init): - (tst_QScriptEngine::cleanup): - (tst_QScriptEngine::collectGarbage): - (tst_QScriptEngine::evaluate): - * qt/tests/qscriptvalue/qscriptvalue.pro: Added. - * qt/tests/qscriptvalue/tst_qscriptvalue.cpp: Added. - (tst_QScriptValue::tst_QScriptValue): - (tst_QScriptValue::~tst_QScriptValue): - (tst_QScriptValue::init): - (tst_QScriptValue::cleanup): - (tst_QScriptValue::ctor): - (tst_QScriptValue::toString_data): - (tst_QScriptValue::toString): - (tst_QScriptValue::copyConstructor_data): - (tst_QScriptValue::copyConstructor): - (tst_QScriptValue::assignOperator_data): - (tst_QScriptValue::assignOperator): - (tst_QScriptValue::dataSharing): - (tst_QScriptValue::constructors_data): - (tst_QScriptValue::constructors): - (tst_QScriptValue::call): - * qt/tests/tests.pri: Added. - * qt/tests/tests.pro: Added. - -2010-01-25 Dmitry Titov - - Reviewed by David Levin. - - Fix Chromium Linux tests: the pthread functions on Linux produce segfault if they receive 0 thread handle. - After r53714, we can have 0 thread handles passed to pthread_join and pthread_detach if corresponding threads - were already terminated and their threadMap entries cleared. - Add a 0 check. - - * wtf/ThreadingPthreads.cpp: - (WTF::waitForThreadCompletion): - (WTF::detachThread): - -2010-01-24 Laszlo Gombos - - Reviewed by Maciej Stachowiak. - - Refactor JITStubs.cpp so that DEFINE_STUB_FUNCTION is only used once for each function - https://bugs.webkit.org/show_bug.cgi?id=33866 - - Place the guard USE(JSVALUE32_64) inside the body of the DEFINE_STUB_FUNCTION - macro for those functions that are always present. - - * jit/JITStubs.cpp: - (JSC::DEFINE_STUB_FUNCTION): - -2010-01-22 Kevin Watters - - Reviewed by Kevin Ollivier. - - [wx] Remove the Bakefile build system, which is no longer being used. - - https://bugs.webkit.org/show_bug.cgi?id=34022 - - * JavaScriptCoreSources.bkl: Removed. - * jscore.bkl: Removed. - -2010-01-22 Steve Falkenburg - - Reviewed by Darin Adler. - - https://bugs.webkit.org/show_bug.cgi?id=34025 - Enable client-based Geolocation abstraction for Mac, Windows AppleWebKit targets. - - * Configurations/FeatureDefines.xcconfig: - -2010-01-22 Dmitry Titov - - Not reviewed, attempted Snow Leopard build fix. - - * wtf/ThreadingPthreads.cpp: Add a forward declaration of a function which is not 'static'. - -2009-01-22 Dmitry Titov - - Reviewed by Maciej Stachowiak. - - Fix the leak of ThreadIdentifiers in threadMap across threads. - https://bugs.webkit.org/show_bug.cgi?id=32689 - - Test is added to DumpRenderTree.mm. - - * Android.mk: Added file ThreadIdentifierDataPthreads.(h|cpp) to build. - * Android.v8.wtf.mk: Ditto. - * GNUmakefile.am: Ditto. - * JavaScriptCore.gyp/JavaScriptCore.gyp: Ditto. - * JavaScriptCore.gypi: Ditto. - * JavaScriptCore.xcodeproj/project.pbxproj: Ditto. - - * wtf/ThreadIdentifierDataPthreads.cpp: Added. Contains custom implementation of thread-specific data that uses custom destructor. - (WTF::ThreadIdentifierData::~ThreadIdentifierData): Removes the ThreadIdentifier from the threadMap. - (WTF::ThreadIdentifierData::identifier): - (WTF::ThreadIdentifierData::initialize): - (WTF::ThreadIdentifierData::destruct): Custom thread-specific destructor. Resets the value for the key again to cause second invoke. - (WTF::ThreadIdentifierData::initializeKeyOnceHelper): - (WTF::ThreadIdentifierData::initializeKeyOnce): Need to use pthread_once since initialization may come on any thread(s). - * wtf/ThreadIdentifierDataPthreads.h: Added. - (WTF::ThreadIdentifierData::ThreadIdentifierData): - - * wtf/Threading.cpp: - (WTF::threadEntryPoint): Move initializeCurrentThreadInternal to after the lock to make - sure it is invoked when ThreadIdentifier is already established. - - * wtf/Threading.h: Rename setThreadNameInternal -> initializeCurrentThreadInternal since it does more then only set the name now. - * wtf/ThreadingNone.cpp: - (WTF::initializeCurrentThreadInternal): Ditto. - * wtf/ThreadingWin.cpp: - (WTF::initializeCurrentThreadInternal): Ditto. - (WTF::initializeThreading): Ditto. - * wtf/gtk/ThreadingGtk.cpp: - (WTF::initializeCurrentThreadInternal): Ditto. - * wtf/qt/ThreadingQt.cpp: - (WTF::initializeCurrentThreadInternal): Ditto. - - * wtf/ThreadingPthreads.cpp: - (WTF::establishIdentifierForPthreadHandle): - (WTF::clearPthreadHandleForIdentifier): Make it not 'static' so the ~ThreadIdentifierData() in another file can call it. - (WTF::initializeCurrentThreadInternal): Set the thread-specific data. The ThreadIdentifier is already established by creating thread. - (WTF::waitForThreadCompletion): Remove call to clearPthreadHandleForIdentifier(threadID) since it is now done in ~ThreadIdentifierData(). - (WTF::detachThread): Ditto. - (WTF::currentThread): Use the thread-specific data to get the ThreadIdentifier. It's many times faster then Mutex-protected iteration through the map. - Also, set the thread-specific data if called first time on the thread. - -2010-01-21 Kwang Yul Seo - - Reviewed by Alexey Proskuryakov. - - Add ThreadSpecific for ENABLE(SINGLE_THREADED) - https://bugs.webkit.org/show_bug.cgi?id=33878 - - Implement ThreadSpecific with a simple getter/setter - when ENABLE(SINGLE_THREADED) is true. - - Due to the change in https://bugs.webkit.org/show_bug.cgi?id=33236, - an implementation of ThreadSpecific must be available to build WebKit. - This causes a build failure for platforms without a proper - ThreadSpecific implementation. - - * wtf/ThreadSpecific.h: - (WTF::::ThreadSpecific): - (WTF::::~ThreadSpecific): - (WTF::::get): - (WTF::::set): - (WTF::::destroy): - -2010-01-21 Kwang Yul Seo - - Reviewed by Maciej Stachowiak. - - Add fastStrDup to FastMalloc - https://bugs.webkit.org/show_bug.cgi?id=33937 - - The new string returned by fastStrDup is obtained with fastMalloc, - and can be freed with fastFree. This makes the memory management - more consistent because we don't need to keep strdup allocated pointers - and free them with free(). Instead we can use fastFree everywhere. - - * wtf/FastMalloc.cpp: - (WTF::fastStrDup): - * wtf/FastMalloc.h: - -2010-01-21 Brady Eidson - - Reviewed by Maciej Stachowiak. - - history.back() for same-document history traversals isn't synchronous as the specification states. - and https://bugs.webkit.org/show_bug.cgi?id=33538 - - * wtf/Platform.h: Add a "HISTORY_ALWAYS_ASYNC" enable and turn it on for Chromium. - -2010-01-21 Geoffrey Garen - - Reviewed by Oliver Hunt. - - Always create a prototype for automatically managed classes. - - This fixes some errors where prototype chains were not correctly hooked - up, and also ensures that API classes work correctly with features like - instanceof. - - * API/JSClassRef.cpp: - (OpaqueJSClass::create): Cleaned up some of this code. Also changed it - to always create a prototype class. - - * API/tests/testapi.c: - (Derived2_class): - (main): Fixed a null value crash in the exception checking code. - * API/tests/testapi.js: Added some tests for the case where a prototype - chain would not be hooked up correctly. - -2010-01-21 Oliver Hunt - - Reviewed by Geoff Garen. - - Force JSC to create a prototype chain for API classes with a - parent class but no static functions. - - * API/JSClassRef.cpp: - (OpaqueJSClass::create): - -2010-01-21 Kent Hansen - - Reviewed by Geoffrey Garen. - - Object.getOwnPropertyDescriptor always returns undefined for JS API objects - https://bugs.webkit.org/show_bug.cgi?id=33946 - - Ideally the getOwnPropertyDescriptor() reimplementation should return an - access descriptor that wraps the property getter and setter callbacks, but - that approach is much more involved than returning a value descriptor. - Keep it simple for now. - - * API/JSCallbackObject.h: - * API/JSCallbackObjectFunctions.h: - (JSC::::getOwnPropertyDescriptor): - * API/tests/testapi.js: - -2010-01-20 Mark Rowe - - Build fix. - - * wtf/FastMalloc.cpp: - (WTF::TCMalloc_PageHeap::initializeScavenger): Remove unnecessary function call. - -2010-01-20 Mark Rowe - - Reviewed by Oliver Hunt. - - Use the inline i386 assembly for x86_64 as well rather than falling back to using pthread mutexes. - - * wtf/TCSpinLock.h: - (TCMalloc_SpinLock::Lock): - (TCMalloc_SpinLock::Unlock): - (TCMalloc_SlowLock): - -2010-01-20 Mark Rowe - - Reviewed by Oliver Hunt. - - Use GCD instead of an extra thread for FastMalloc scavenging on platforms where it is supported - - Abstract the background scavenging slightly so that an alternate implementation that uses GCD can be used on platforms - where it is supported. - - * wtf/FastMalloc.cpp: - (WTF::TCMalloc_PageHeap::init): - (WTF::TCMalloc_PageHeap::initializeScavenger): - (WTF::TCMalloc_PageHeap::signalScavenger): - (WTF::TCMalloc_PageHeap::shouldContinueScavenging): - (WTF::TCMalloc_PageHeap::Delete): - (WTF::TCMalloc_PageHeap::periodicScavenge): - * wtf/Platform.h: - -2010-01-20 Geoffrey Garen - - Reviewed by Oliver Hunt. - - REGRESSION(53460): Heap::destroy may not run - all destructors - - * runtime/Collector.cpp: - (JSC::Heap::freeBlocks): Instead of fully marking protected objects, - just set their mark bits. This prevents protected objects from keeping - unprotected objects alive. Destructor order is not guaranteed, so it's - OK to destroy objects pointed to by protected objects before destroying - protected objects. - -2010-01-19 David Levin - - Reviewed by Oliver Hunt. - - CrossThreadCopier needs to support ThreadSafeShared better. - https://bugs.webkit.org/show_bug.cgi?id=33698 - - * wtf/TypeTraits.cpp: Added tests for the new type traits. - * wtf/TypeTraits.h: - (WTF::IsSubclass): Determines if a class is a derived from another class. - (WTF::IsSubclassOfTemplate): Determines if a class is a derived from a - template class (with one parameter that is unknown). - (WTF::RemoveTemplate): Reveals the type for a template parameter. - -2010-01-20 Steve Falkenburg - - Reviewed by Darin Adler and Adam Roben. - - Feature defines are difficult to maintain on Windows builds - https://bugs.webkit.org/show_bug.cgi?id=33883 - - FeatureDefines.vsprops are now maintained in a way similar to - Configurations/FeatureDefines.xcconfig, with the added advantage - of having a single FeatureDefines file across all projects. - - * Configurations/FeatureDefines.xcconfig: Add comments about keeping feature definitions in sync. - * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Add FeatureDefines.vsprops inherited property sheet. - * JavaScriptCore.vcproj/WTF/WTF.vcproj: Add FeatureDefines.vsprops inherited property sheet. - -2010-01-20 Csaba Osztrogonác - - [Qt] Unreviewed buildfix for r53547. - - * DerivedSources.pro: - -2010-01-20 Tor Arne Vestbø - - Reviewed by Simon Hausmann. - - [Qt] Make extraCompilers for generated sources depend on their scripts - - * DerivedSources.pro: - -2010-01-19 Brian Weinstein - - Reviewed by Tim Hatcher. - - When JavaScriptCore calls Debugger::Exception, have it pass a - hasHandler variable that represents if exception is being handled - in the same function (not in a parent on the call stack). - - This just adds a new parameter, no behavior is changed. - - * debugger/Debugger.h: - * interpreter/Interpreter.cpp: - (JSC::Interpreter::throwException): - -2010-01-18 Maciej Stachowiak - - Reviewed by Adam Barth. - - Inline functions that are hot in DOM manipulation - https://bugs.webkit.org/show_bug.cgi?id=33820 - - (3% speedup on Dromaeo DOM Core tests) - - * runtime/WeakGCMap.h: - (JSC::::get): inline - -2010-01-19 Laszlo Gombos - - Unreviewed build fix for JIT with RVCT. - - Remove IMPORT statement; cti_vm_throw is already defined in JITStubs.h. - Remove extra ')'. - - * jit/JITStubs.cpp: - (JSC::ctiVMThrowTrampoline): - -2010-01-19 Geoffrey Garen - - Reviewed by Oliver Hunt. - - REGRESSION (52082): Crash on worker thread when reloading http://radnan.public.iastate.edu/procedural/ - https://bugs.webkit.org/show_bug.cgi?id=33826 - - This bug was caused by a GC-protected object being destroyed early by - Heap::destroy. Clients of the GC protect APIs (reasonably) expect pointers - to GC-protected memory to be valid. - - The solution is to do two passes of tear-down in Heap::destroy. The first - pass tears down all unprotected objects. The second pass ASSERTs that all - previously protected objects are now unprotected, and then tears down - all perviously protected objects. These two passes simulate the two passes - that would have been required to free a protected object during normal GC. - - * API/JSContextRef.cpp: Removed some ASSERTs that have moved into Heap. - - * runtime/Collector.cpp: - (JSC::Heap::destroy): Moved ASSERTs to here. - (JSC::Heap::freeBlock): Tidied up the use of didShrink by moving its - setter to the function that does the shrinking. - (JSC::Heap::freeBlocks): Implemented above algorithm. - (JSC::Heap::shrinkBlocks): Tidied up the use of didShrink. - -2010-01-19 Gavin Barraclough - - Reviewed by NOBODY (build fix). - - Reverting r53455, breaks 2 javascriptcore tests. - - * API/JSContextRef.cpp: - * runtime/Collector.cpp: - (JSC::Heap::destroy): - (JSC::Heap::freeBlock): - (JSC::Heap::freeBlocks): - (JSC::Heap::shrinkBlocks): - -2010-01-18 Gavin Barraclough - - Reviewed by NOBODY (build fix). - - Revert r53454, since it causes much sadness in this world. - - * runtime/UString.cpp: - (JSC::UString::spliceSubstringsWithSeparators): - (JSC::UString::replaceRange): - * runtime/UStringImpl.cpp: - (JSC::UStringImpl::baseSharedBuffer): - (JSC::UStringImpl::sharedBuffer): - (JSC::UStringImpl::~UStringImpl): - * runtime/UStringImpl.h: - (JSC::UntypedPtrAndBitfield::UntypedPtrAndBitfield): - (JSC::UntypedPtrAndBitfield::asPtr): - (JSC::UntypedPtrAndBitfield::operator&=): - (JSC::UntypedPtrAndBitfield::operator|=): - (JSC::UntypedPtrAndBitfield::operator&): - (JSC::UStringImpl::create): - (JSC::UStringImpl::cost): - (JSC::UStringImpl::isIdentifier): - (JSC::UStringImpl::setIsIdentifier): - (JSC::UStringImpl::ref): - (JSC::UStringImpl::deref): - (JSC::UStringImpl::checkConsistency): - (JSC::UStringImpl::UStringImpl): - (JSC::UStringImpl::bufferOwnerString): - (JSC::UStringImpl::bufferOwnership): - (JSC::UStringImpl::isStatic): - * wtf/StringHashFunctions.h: - (WTF::stringHash): - -2010-01-18 Geoffrey Garen - - Reviewed by Oliver Hunt. - - REGRESSION (52082): Crash on worker thread when reloading http://radnan.public.iastate.edu/procedural/ - https://bugs.webkit.org/show_bug.cgi?id=33826 - - This bug was caused by a GC-protected object being destroyed early by - Heap::destroy. Clients of the GC protect APIs (reasonably) expect pointers - to GC-protected memory to be valid. - - The solution is to do two passes of tear-down in Heap::destroy. The first - pass tears down all unprotected objects. The second pass ASSERTs that all - previously protected objects are now unprotected, and then tears down - all perviously protected objects. These two passes simulate the two passes - that would have been required to free a protected object during normal GC. - - * API/JSContextRef.cpp: Removed some ASSERTs that have moved into Heap. - - * runtime/Collector.cpp: - (JSC::Heap::destroy): Moved ASSERTs to here. - (JSC::Heap::freeBlock): Tidied up the use of didShrink by moving its - setter to the function that does the shrinking. - (JSC::Heap::freeBlocks): Implemented above algorithm. - (JSC::Heap::shrinkBlocks): Tidied up the use of didShrink. - -2010-01-18 Gavin Barraclough - - Reviewed by Oliver Hunt. - - https://bugs.webkit.org/show_bug.cgi?id=33731 - Remove UntypedPtrAndBitfield from UStringImpl (akin to PtrAndFlags). - - This break the OS X Leaks tool. Instead, free up some more bits from the refCount. - - * runtime/UStringImpl.cpp: - (JSC::UStringImpl::sharedBuffer): - (JSC::UStringImpl::~UStringImpl): - * runtime/UStringImpl.h: - (JSC::UStringImpl::cost): - (JSC::UStringImpl::checkConsistency): - (JSC::UStringImpl::UStringImpl): - (JSC::UStringImpl::bufferOwnerString): - (JSC::UStringImpl::): - * wtf/StringHashFunctions.h: - (WTF::stringHash): - -2010-01-18 Kent Tamura - - Reviewed by Darin Adler. - - HTMLInputElement::valueAsDate setter support for type=month. - https://bugs.webkit.org/show_bug.cgi?id=33021 - - Expose the following functions to be used by WebCore: - - WTF::msToyear() - - WTF::dayInYear() - - WTF::monthFromDayInYear() - - WTF::dayInMonthFromDayInYear() - - * JavaScriptCore.exp: - * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: - * wtf/DateMath.cpp: - (WTF::msToYear): Remove "static inline". - (WTF::dayInYear): Remove "static inline". - (WTF::monthFromDayInYear): Remove "static inline". - (WTF::dayInMonthFromDayInYear): Remove "static inline". - * wtf/DateMath.h: Declare the above functions. - -2010-01-18 Darin Adler - - Fix build by reverting the previous change. - - * runtime/UString.h: Rolled out the FastAllocBase base class. - It was making UString larger, and therefore JSString larger, - and too big for a garbage collection cell. - - This raises the unpleasant possibility that many classes became - larger because we added the FastAllocBase base class. I am - worried about this, and it needs to be investigated. - -2010-01-18 Zoltan Horvath - - Reviewed by Darin Adler. - - Allow custom memory allocation control for UString class - https://bugs.webkit.org/show_bug.cgi?id=27831 - - Inherits the following class from FastAllocBase because it is - instantiated by 'new' and no need to be copyable: - - class name - instantiated at: - classs UString - JavaScriptCore/runtime/UString.cpp:160 - - * runtime/UString.h: - -2010-01-18 Evan Cheng - - Reviewed by Darin Adler. - - Add some ALWAYS_INLINE for key functions not inlined by some versions of GCC. - rdar://problem/7553780 - - * runtime/JSObject.h: - (JSC::JSObject::getPropertySlot): ALWAYS_INLINE both overloads. - * runtime/JSString.h: - (JSC::JSString::JSString): ALWAYS_INLINE the version that takes a UString. - * runtime/UString.h: - (JSC::operator==): ALWAYS_INLINE the version that compares two UString objects. - -2010-01-18 Csaba Osztrogonác - - Reviewed by Darin Adler. - - Delete dftables-xxxxxxxx.in files automatically. - https://bugs.webkit.org/show_bug.cgi?id=33796 - - * pcre/dftables: unlink unnecessary temporary file. - -2010-01-18 Tor Arne Vestbø - - Reviewed by Simon Hausmann. - - [Qt] Force qmake to generate a single makefile for DerivedSources.pro - - * DerivedSources.pro: - -2010-01-18 Csaba Osztrogonác - - Rubber-stamped by Gustavo Noronha Silva. - - Rolling out r53391 and r53392 because of random crashes on buildbots. - https://bugs.webkit.org/show_bug.cgi?id=33731 - - * bytecode/CodeBlock.h: - (JSC::CallLinkInfo::seenOnce): - (JSC::CallLinkInfo::setSeen): - (JSC::MethodCallLinkInfo::MethodCallLinkInfo): - (JSC::MethodCallLinkInfo::seenOnce): - (JSC::MethodCallLinkInfo::setSeen): - * jit/JIT.cpp: - (JSC::JIT::unlinkCall): - * jit/JITPropertyAccess.cpp: - (JSC::JIT::patchMethodCallProto): - * runtime/UString.cpp: - (JSC::UString::spliceSubstringsWithSeparators): - (JSC::UString::replaceRange): - * runtime/UString.h: - * runtime/UStringImpl.cpp: - (JSC::UStringImpl::baseSharedBuffer): - (JSC::UStringImpl::sharedBuffer): - (JSC::UStringImpl::~UStringImpl): - * runtime/UStringImpl.h: - (JSC::UntypedPtrAndBitfield::UntypedPtrAndBitfield): - (JSC::UntypedPtrAndBitfield::asPtr): - (JSC::UntypedPtrAndBitfield::operator&=): - (JSC::UntypedPtrAndBitfield::operator|=): - (JSC::UntypedPtrAndBitfield::operator&): - (JSC::UStringImpl::create): - (JSC::UStringImpl::cost): - (JSC::UStringImpl::isIdentifier): - (JSC::UStringImpl::setIsIdentifier): - (JSC::UStringImpl::ref): - (JSC::UStringImpl::deref): - (JSC::UStringImpl::checkConsistency): - (JSC::UStringImpl::UStringImpl): - (JSC::UStringImpl::bufferOwnerString): - (JSC::UStringImpl::bufferOwnership): - (JSC::UStringImpl::isStatic): - * wtf/StringHashFunctions.h: - (WTF::stringHash): - -2010-01-18 Simon Hausmann - - Reviewed by Kenneth Rohde Christiansen. - - Fix the build with strict gcc and RVCT versions: It's not legal to cast a - pointer to a function to a void* without an intermediate cast to a non-pointer - type. A cast to a ptrdiff_t inbetween fixes it. - - * runtime/JSString.h: - (JSC::Fiber::JSString): - -2010-01-15 Gavin Barraclough - - Reviewed by Oliver Hunt. - - https://bugs.webkit.org/show_bug.cgi?id=33731 - Remove UntypedPtrAndBitfield from UStringImpl (akin to PtrAndFlags). - - This break the OS X Leaks tool. Instead, free up some more bits from the refCount. - - * runtime/UStringImpl.cpp: - (JSC::UStringImpl::sharedBuffer): - (JSC::UStringImpl::~UStringImpl): - * runtime/UStringImpl.h: - (JSC::UStringImpl::cost): - (JSC::UStringImpl::checkConsistency): - (JSC::UStringImpl::UStringImpl): - (JSC::UStringImpl::bufferOwnerString): - (JSC::UStringImpl::): - * wtf/StringHashFunctions.h: - (WTF::stringHash): - -2010-01-15 Gavin Barraclough - - Reviewed by Oliver Hunt. - - https://bugs.webkit.org/show_bug.cgi?id=33731 - Remove uses of PtrAndFlags from JIT data stuctures. - - These break the OS X Leaks tool. Free up a bit in CallLinkInfo, and invalid - permutation of pointer states in MethodCallLinkInfo to represent the removed bits. - - * bytecode/CodeBlock.h: - (JSC::CallLinkInfo::seenOnce): - (JSC::CallLinkInfo::setSeen): - (JSC::MethodCallLinkInfo::MethodCallLinkInfo): - (JSC::MethodCallLinkInfo::seenOnce): - (JSC::MethodCallLinkInfo::setSeen): - * jit/JIT.cpp: - (JSC::JIT::unlinkCall): - * jit/JITPropertyAccess.cpp: - (JSC::JIT::patchMethodCallProto): - * runtime/UString.h: - -2010-01-16 Maciej Stachowiak - - Reviewed by Oliver Hunt. - - Cache JS string values made from DOM strings (Dromaeo speedup) - https://bugs.webkit.org/show_bug.cgi?id=33768 - - - * runtime/JSString.h: - (JSC::jsStringWithFinalizer): Added new mechanism for a string to have an optional - finalizer callback, for the benefit of weak-referencing caches. - (JSC::): - (JSC::Fiber::JSString): - (JSC::Fiber::~JSString): - * runtime/JSString.cpp: - (JSC::JSString::resolveRope): Clear fibers so this doesn't look like a string with a finalizer. - * runtime/WeakGCMap.h: Include "Collector.h" to make this header includable by itself. - -2010-01-15 Sam Weinig - - Reviewed by Maciej Stachowiak. - - Fix for - Add ALWAYS_INLINE to jsLess for a 1% speedup on llvm-gcc. - - * runtime/Operations.h: - (JSC::jsLess): - -2010-01-14 Geoffrey Garen - - Reviewed by Oliver Hunt. - - REGRESISON: Google maps buttons not working properly - https://bugs.webkit.org/show_bug.cgi?id=31871 - - REGRESSION(r52948): JavaScript exceptions thrown on Google Maps when - getting directions for a second time - https://bugs.webkit.org/show_bug.cgi?id=33446 - - SunSpider and v8 report no change. - - * interpreter/Interpreter.cpp: - (JSC::Interpreter::tryCacheGetByID): Update our cached offset in case - flattening the dictionary changed any of its offsets. - - * jit/JITStubs.cpp: - (JSC::JITThunks::tryCacheGetByID): - (JSC::DEFINE_STUB_FUNCTION): - * runtime/Operations.h: - (JSC::normalizePrototypeChain): ditto - -2010-01-14 Gavin Barraclough - - Reviewed by Oliver Hunt. - - https://bugs.webkit.org/show_bug.cgi?id=33705 - UStringImpl::create() should use internal storage - - When creating a UStringImpl copying of a UChar*, we can use an internal buffer, - by calling UStringImpl::tryCreateUninitialized(). - - Also, remove duplicate of copyChars from JSString, call UStringImpl's version. - - Small (max 0.5%) progression on Sunspidey. - - * runtime/JSString.cpp: - (JSC::JSString::resolveRope): - * runtime/UStringImpl.h: - (JSC::UStringImpl::create): - -2010-01-14 Gavin Barraclough - - Reviewed by Sam Weinig. - - Make naming & behaviour of UString[Impl] methods more consistent. - https://bugs.webkit.org/show_bug.cgi?id=33702 - - UString::create() creates a copy of the UChar* passed, but UStringImpl::create() assumes - that it should assume ownership of the provided buffer (with UString::createNonCopying() - and UStringImpl::createCopying() providing the alternate behaviours). Unify on create() - taking a copy of the provided buffer. For non-copying cases, use the name 'adopt', and - make this method take a Vector&. For cases where non-copying construction was being - used, other than from a Vector, change the code to allocate the storage along with - the UStringImpl using UStringImpl::createUninitialized(). (The adopt() method also more - closely matches that of WebCore::StringImpl). - - Also, UString::createUninitialized() and UStringImpl::createUninitialized() have incompatible - behaviours, in that the UString form sets the provided UChar* to a null or non-null value to - indicate success or failure, but UStringImpl uses the returned PassRefPtr to - indicate when allocation has failed (potentially leaving the output Char* uninitialized). - This is also incompatible with WebCore::StringImpl's behaviour, in that - StringImpl::createUninitialized() will CRASH() if unable to allocate. Some uses of - createUninitialized() in JSC are unsafe, since they do not test the result for null. - UStringImpl's indication is preferable, since we may want a successful call to set the result - buffer to 0 (specifically, StringImpl returns 0 for the buffer where createUninitialized() - returns the empty string, which seems reasonable to catch bugs early). UString's method - cannot support UStringImpl's behaviour directly, since it returns an object rather than a - pointer. - - remove UString::createUninitialized(), replace with calls to UStringImpl::createUninitialized() - - create a UStringImpl::tryCreateUninitialized() form UStringImpl::createUninitialized(), - with current behaviour, make createUninitialized() crash on failure to allocate. - - make cases in JSC that do not check the result call createUninitialized(), and cases that do - check call tryCreateUninitialized(). - - Rename computedHash() to existingHash(), to bring this in line wih WebCore::StringImpl. - - * API/JSClassRef.cpp: - (OpaqueJSClassContextData::OpaqueJSClassContextData): - * JavaScriptCore.exp: - * runtime/ArrayPrototype.cpp: - (JSC::arrayProtoFuncToString): - * runtime/Identifier.cpp: - (JSC::CStringTranslator::translate): - (JSC::UCharBufferTranslator::translate): - * runtime/JSString.cpp: - (JSC::JSString::resolveRope): - * runtime/Lookup.cpp: - (JSC::HashTable::createTable): - * runtime/Lookup.h: - (JSC::HashTable::entry): - * runtime/StringBuilder.h: - (JSC::StringBuilder::release): - * runtime/StringConstructor.cpp: - (JSC::stringFromCharCodeSlowCase): - * runtime/StringPrototype.cpp: - (JSC::substituteBackreferencesSlow): - (JSC::stringProtoFuncToLowerCase): - (JSC::stringProtoFuncToUpperCase): - (JSC::stringProtoFuncFontsize): - (JSC::stringProtoFuncLink): - * runtime/Structure.cpp: - (JSC::Structure::despecifyDictionaryFunction): - (JSC::Structure::get): - (JSC::Structure::despecifyFunction): - (JSC::Structure::put): - (JSC::Structure::remove): - (JSC::Structure::insertIntoPropertyMapHashTable): - (JSC::Structure::checkConsistency): - * runtime/Structure.h: - (JSC::Structure::get): - * runtime/StructureTransitionTable.h: - (JSC::StructureTransitionTableHash::hash): - * runtime/UString.cpp: - (JSC::createRep): - (JSC::UString::UString): - (JSC::UString::spliceSubstringsWithSeparators): - (JSC::UString::replaceRange): - (JSC::UString::operator=): - * runtime/UString.h: - (JSC::UString::adopt): - (JSC::IdentifierRepHash::hash): - (JSC::makeString): - * runtime/UStringImpl.h: - (JSC::UStringImpl::adopt): - (JSC::UStringImpl::create): - (JSC::UStringImpl::createUninitialized): - (JSC::UStringImpl::tryCreateUninitialized): - (JSC::UStringImpl::existingHash): - -2010-01-13 Kent Hansen - - Reviewed by Oliver Hunt. - - JSON.stringify and JSON.parse needlessly process properties in the prototype chain - https://bugs.webkit.org/show_bug.cgi?id=33053 - - * runtime/JSONObject.cpp: - (JSC::Stringifier::Holder::appendNextProperty): - (JSC::Walker::walk): - -2010-01-13 Gavin Barraclough - - Reviewed by NOBODY (buildfix). - - * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: - -2010-01-13 Alexey Proskuryakov - - Reviewed by Darin Adler. - - https://bugs.webkit.org/show_bug.cgi?id=33641 - Assertion failure in Lexer.cpp if input stream ends while in string escape - - Test: fast/js/end-in-string-escape.html - - * parser/Lexer.cpp: (JSC::Lexer::lex): Bail out quickly on end of stream, not giving the - assertion a chance to fire. - -2010-01-13 Gavin Barraclough - - Reviewed by NOBODY (buildfix). - - * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: - -2010-01-13 Gavin Barraclough - - Rubber stamped by Sam Weinig & Darin Adler. - - Three quick fixes to UStringImpl. - - The destroy() method can be switched back to a normal destructor; since we've switched - the way we protect static strings to be using an odd ref-count the destroy() won't abort. - - The cost() calculation logic was wrong. If you have multiple JSStrings wrapping substrings - of a base string, they would each report the full cost of the base string to the heap. - Instead we should only be reporting once for the base string. - - Remove the overloaded new operator calling fastMalloc, replace this with a 'using' to pick - up the implementation from the parent class. - - * JavaScriptCore.exp: - * runtime/UStringImpl.cpp: - (JSC::UStringImpl::~UStringImpl): - * runtime/UStringImpl.h: - (JSC::UStringImpl::cost): - (JSC::UStringImpl::deref): - -2010-01-13 Jocelyn Turcotte - - Reviewed by Simon Hausmann. - - [Qt] Split the build process in two different .pro files. - This allows qmake to be run once all source files are available. - - * DerivedSources.pro: Added. - * JavaScriptCore.pri: Moved source generation to DerivedSources.pro - * pcre/pcre.pri: Moved source generation to DerivedSources.pro - -2010-01-12 Kent Hansen - - Reviewed by Geoffrey Garen. - - [ES5] Implement Object.getOwnPropertyNames - https://bugs.webkit.org/show_bug.cgi?id=32242 - - Add an extra argument to getPropertyNames() and getOwnPropertyNames() - (and all reimplementations thereof) that indicates whether non-enumerable - properties should be added. - - * API/JSCallbackObject.h: - * API/JSCallbackObjectFunctions.h: - (JSC::::getOwnPropertyNames): - * JavaScriptCore.exp: - * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: - * debugger/DebuggerActivation.cpp: - (JSC::DebuggerActivation::getOwnPropertyNames): - * debugger/DebuggerActivation.h: - * runtime/Arguments.cpp: - (JSC::Arguments::getOwnPropertyNames): - * runtime/Arguments.h: - * runtime/CommonIdentifiers.h: - * runtime/JSArray.cpp: - (JSC::JSArray::getOwnPropertyNames): - * runtime/JSArray.h: - * runtime/JSByteArray.cpp: - (JSC::JSByteArray::getOwnPropertyNames): - * runtime/JSByteArray.h: - * runtime/JSFunction.cpp: - (JSC::JSFunction::getOwnPropertyNames): - * runtime/JSFunction.h: - * runtime/JSNotAnObject.cpp: - (JSC::JSNotAnObject::getOwnPropertyNames): - * runtime/JSNotAnObject.h: - * runtime/JSObject.cpp: - (JSC::getClassPropertyNames): - (JSC::JSObject::getPropertyNames): - (JSC::JSObject::getOwnPropertyNames): - * runtime/JSObject.h: - * runtime/JSVariableObject.cpp: - (JSC::JSVariableObject::getOwnPropertyNames): - * runtime/JSVariableObject.h: - * runtime/ObjectConstructor.cpp: - (JSC::ObjectConstructor::ObjectConstructor): - (JSC::objectConstructorGetOwnPropertyNames): - * runtime/RegExpMatchesArray.h: - (JSC::RegExpMatchesArray::getOwnPropertyNames): - * runtime/StringObject.cpp: - (JSC::StringObject::getOwnPropertyNames): - * runtime/StringObject.h: - * runtime/Structure.cpp: Rename getEnumerablePropertyNames() to getPropertyNames(), which takes an extra argument. - (JSC::Structure::getPropertyNames): - * runtime/Structure.h: - (JSC::): - -2010-01-12 Alexey Proskuryakov - - Reviewed by Darin Adler. - - https://bugs.webkit.org/show_bug.cgi?id=33540 - Make it possible to build in debug mode with assertions disabled - - * jit/JITStubs.cpp: (JSC::DEFINE_STUB_FUNCTION): - * runtime/Identifier.cpp: (JSC::Identifier::checkSameIdentifierTable): - * wtf/FastMalloc.cpp: - * wtf/HashTable.h: (WTF::HashTableConstIterator::checkValidity): - * yarr/RegexCompiler.cpp: (JSC::Yarr::compileRegex): - -2009-11-23 Yong Li - - Reviewed by Adam Treat. - - Make GIF decoder support down-sampling - https://bugs.webkit.org/show_bug.cgi?id=31806 - - * platform/image-decoders/ImageDecoder.cpp: - (WebCore::ImageDecoder::upperBoundScaledY): - (WebCore::ImageDecoder::lowerBoundScaledY): - * platform/image-decoders/ImageDecoder.h: - (WebCore::RGBA32Buffer::scaledRect): - (WebCore::RGBA32Buffer::setScaledRect): - (WebCore::ImageDecoder::scaledSize): - * platform/image-decoders/gif/GIFImageDecoder.cpp: - (WebCore::GIFImageDecoder::sizeNowAvailable): - (WebCore::GIFImageDecoder::initFrameBuffer): - (WebCore::copyOnePixel): - (WebCore::GIFImageDecoder::haveDecodedRow): - (WebCore::GIFImageDecoder::frameComplete): - -2010-01-12 Adam Barth - - Reviewed by Eric Seidel. - - ecma/Date/15.9.5.12-1.js fails every night at midnight - https://bugs.webkit.org/show_bug.cgi?id=28041 - - Change the test to use a concrete time instead of "now". - - * tests/mozilla/ecma/Date/15.9.5.10-1.js: - * tests/mozilla/ecma/Date/15.9.5.12-1.js: - -2010-01-11 Csaba Osztrogonác - - Reviewed by Ariya Hidayat. - - [Qt] Enable JIT and YARR_JIT if (CPU(X86_64) && OS(LINUX) && GCC_VERSION >= 40100) - - * wtf/Platform.h: - -2010-01-11 Geoffrey Garen - - Reviewed by Alexey Proskuryakov. - - https://bugs.webkit.org/show_bug.cgi?id=33481 - Uninitialized data members in ArrayStorage - - SunSpider reports no change. - - * runtime/JSArray.cpp: - (JSC::JSArray::JSArray): Initialize missing data members in the two cases - where we don't use fastZeroedMalloc, so it doesn't happen automatically. - -2010-01-11 Steve Falkenburg - - Reviewed by Sam Weinig. - - https://bugs.webkit.org/show_bug.cgi?id=33480 - - Improve debugging reliability for WTF on Windows. - Store WTF static library's PDB file into a better location. - - * JavaScriptCore.vcproj/WTF/WTF.vcproj: - -2010-01-11 Steve Falkenburg - - Windows build fix. - Remove extraneous entries from def file causing build warning. - - * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: - -2010-01-10 Kent Hansen - - Reviewed by Darin Adler. - - RegExp.prototype.toString returns "//" for empty regular expressions - https://bugs.webkit.org/show_bug.cgi?id=33319 - - "//" starts a single-line comment, hence "/(?:)/" should be used, according to ECMA. - - * runtime/RegExpPrototype.cpp: - (JSC::regExpProtoFuncToString): - - * tests/mozilla/ecma_2/RegExp/properties-001.js: - (AddRegExpCases): - * tests/mozilla/js1_2/regexp/toString.js: - Update relevant Mozilla tests (Mozilla has had this behavior since November 2003). - -2010-01-10 Darin Adler - - * tests/mozilla/ecma/Array/15.4.1.1.js: Added property allow-tabs. - * tests/mozilla/ecma/Array/15.4.1.2.js: Added property allow-tabs. - * tests/mozilla/ecma/Array/15.4.2.1-1.js: Added property allow-tabs. - * tests/mozilla/ecma/Array/15.4.2.2-1.js: Added property allow-tabs. - * tests/mozilla/ecma/Array/15.4.2.2-2.js: Added property allow-tabs. - * tests/mozilla/ecma/Array/15.4.2.3.js: Added property allow-tabs. - * tests/mozilla/ecma/Array/15.4.3.2.js: Added property allow-tabs. - * tests/mozilla/ecma/Array/15.4.3.js: Added property allow-tabs. - * tests/mozilla/ecma/Array/15.4.4.1.js: Added property allow-tabs. - * tests/mozilla/ecma/Array/15.4.4.js: Added property allow-tabs. - * tests/mozilla/ecma/LexicalConventions/7.7.4.js: Added property allow-tabs. - * tests/mozilla/ecma/Math/15.8.2.13.js: Added property allow-tabs. - * tests/mozilla/ecma/Math/15.8.2.16.js: Added property allow-tabs. - * tests/mozilla/ecma/Math/15.8.2.18.js: Added property allow-tabs. - * tests/mozilla/ecma/Math/15.8.2.2.js: Added property allow-tabs. - * tests/mozilla/ecma/Math/15.8.2.4.js: Added property allow-tabs. - * tests/mozilla/ecma/Math/15.8.2.5.js: Added property allow-tabs. - * tests/mozilla/ecma/Math/15.8.2.7.js: Added property allow-tabs. - * tests/mozilla/ecma/String/15.5.1.js: Added property allow-tabs. - * tests/mozilla/ecma/String/15.5.2.js: Added property allow-tabs. - * tests/mozilla/ecma/String/15.5.3.1-3.js: Added property allow-tabs. - * tests/mozilla/ecma/String/15.5.3.1-4.js: Added property allow-tabs. - * tests/mozilla/ecma/String/15.5.3.js: Added property allow-tabs. - * tests/mozilla/ecma/TypeConversion/9.5-2.js: Added property allow-tabs. - * tests/mozilla/ecma/jsref.js: Modified property allow-tabs. - * tests/mozilla/ecma/shell.js: Modified property allow-tabs. - * tests/mozilla/ecma_2/LexicalConventions/keywords-001.js: Added property allow-tabs. - * tests/mozilla/ecma_2/RegExp/exec-001.js: Added property allow-tabs. - * tests/mozilla/ecma_2/String/match-004.js: Added property allow-tabs. - * tests/mozilla/ecma_2/String/replace-001.js: Added property allow-tabs. - * tests/mozilla/ecma_2/String/split-002.js: Added property allow-tabs. - * tests/mozilla/ecma_2/jsref.js: Modified property allow-tabs. - * tests/mozilla/ecma_2/shell.js: Added property allow-tabs. - * tests/mozilla/ecma_3/Date/shell.js: Modified property allow-tabs. - * tests/mozilla/ecma_3/Exceptions/regress-181654.js: Added property allow-tabs. - * tests/mozilla/ecma_3/RegExp/regress-209067.js: Added property allow-tabs. - * tests/mozilla/ecma_3/RegExp/regress-85721.js: Added property allow-tabs. - * tests/mozilla/importList.html: Added property allow-tabs. - * tests/mozilla/js1_1/shell.js: Added property allow-tabs. - * tests/mozilla/js1_2/Array/general1.js: Added property allow-tabs. - * tests/mozilla/js1_2/Array/general2.js: Added property allow-tabs. - * tests/mozilla/js1_2/Array/slice.js: Added property allow-tabs. - * tests/mozilla/js1_2/Array/splice1.js: Added property allow-tabs. - * tests/mozilla/js1_2/Array/splice2.js: Added property allow-tabs. - * tests/mozilla/js1_2/Objects/toString-001.js: Added property allow-tabs. - * tests/mozilla/js1_2/String/charCodeAt.js: Added property allow-tabs. - * tests/mozilla/js1_2/String/concat.js: Modified property allow-tabs. - * tests/mozilla/js1_2/String/match.js: Added property allow-tabs. - * tests/mozilla/js1_2/String/slice.js: Added property allow-tabs. - * tests/mozilla/js1_2/function/Function_object.js: Added property allow-tabs. - * tests/mozilla/js1_2/function/Number.js: Modified property allow-tabs. - * tests/mozilla/js1_2/function/String.js: Modified property allow-tabs. - * tests/mozilla/js1_2/function/nesting.js: Added property allow-tabs. - * tests/mozilla/js1_2/function/regexparg-1.js: Added property allow-tabs. - * tests/mozilla/js1_2/function/regexparg-2-n.js: Added property allow-tabs. - * tests/mozilla/js1_2/jsref.js: Added property allow-tabs. - * tests/mozilla/js1_2/operator/equality.js: Added property allow-tabs. - * tests/mozilla/js1_2/operator/strictEquality.js: Added property allow-tabs. - * tests/mozilla/js1_2/regexp/RegExp_dollar_number.js: Added property allow-tabs. - * tests/mozilla/js1_2/regexp/RegExp_input.js: Added property allow-tabs. - * tests/mozilla/js1_2/regexp/RegExp_input_as_array.js: Added property allow-tabs. - * tests/mozilla/js1_2/regexp/RegExp_lastIndex.js: Added property allow-tabs. - * tests/mozilla/js1_2/regexp/RegExp_lastMatch.js: Added property allow-tabs. - * tests/mozilla/js1_2/regexp/RegExp_lastMatch_as_array.js: Added property allow-tabs. - * tests/mozilla/js1_2/regexp/RegExp_lastParen.js: Added property allow-tabs. - * tests/mozilla/js1_2/regexp/RegExp_lastParen_as_array.js: Added property allow-tabs. - * tests/mozilla/js1_2/regexp/RegExp_leftContext.js: Added property allow-tabs. - * tests/mozilla/js1_2/regexp/RegExp_leftContext_as_array.js: Added property allow-tabs. - * tests/mozilla/js1_2/regexp/RegExp_multiline.js: Added property allow-tabs. - * tests/mozilla/js1_2/regexp/RegExp_multiline_as_array.js: Added property allow-tabs. - * tests/mozilla/js1_2/regexp/RegExp_object.js: Added property allow-tabs. - * tests/mozilla/js1_2/regexp/RegExp_rightContext.js: Added property allow-tabs. - * tests/mozilla/js1_2/regexp/RegExp_rightContext_as_array.js: Added property allow-tabs. - * tests/mozilla/js1_2/regexp/alphanumeric.js: Added property allow-tabs. - * tests/mozilla/js1_2/regexp/asterisk.js: Added property allow-tabs. - * tests/mozilla/js1_2/regexp/backslash.js: Added property allow-tabs. - * tests/mozilla/js1_2/regexp/backspace.js: Added property allow-tabs. - * tests/mozilla/js1_2/regexp/beginLine.js: Added property allow-tabs. - * tests/mozilla/js1_2/regexp/character_class.js: Added property allow-tabs. - * tests/mozilla/js1_2/regexp/compile.js: Added property allow-tabs. - * tests/mozilla/js1_2/regexp/control_characters.js: Added property allow-tabs. - * tests/mozilla/js1_2/regexp/digit.js: Added property allow-tabs. - * tests/mozilla/js1_2/regexp/dot.js: Added property allow-tabs. - * tests/mozilla/js1_2/regexp/endLine.js: Added property allow-tabs. - * tests/mozilla/js1_2/regexp/everything.js: Added property allow-tabs. - * tests/mozilla/js1_2/regexp/exec.js: Added property allow-tabs. - * tests/mozilla/js1_2/regexp/flags.js: Added property allow-tabs. - * tests/mozilla/js1_2/regexp/global.js: Added property allow-tabs. - * tests/mozilla/js1_2/regexp/hexadecimal.js: Added property allow-tabs. - * tests/mozilla/js1_2/regexp/ignoreCase.js: Added property allow-tabs. - * tests/mozilla/js1_2/regexp/interval.js: Added property allow-tabs. - * tests/mozilla/js1_2/regexp/octal.js: Added property allow-tabs. - * tests/mozilla/js1_2/regexp/parentheses.js: Added property allow-tabs. - * tests/mozilla/js1_2/regexp/plus.js: Added property allow-tabs. - * tests/mozilla/js1_2/regexp/question_mark.js: Added property allow-tabs. - * tests/mozilla/js1_2/regexp/simple_form.js: Added property allow-tabs. - * tests/mozilla/js1_2/regexp/source.js: Added property allow-tabs. - * tests/mozilla/js1_2/regexp/special_characters.js: Added property allow-tabs. - * tests/mozilla/js1_2/regexp/string_replace.js: Added property allow-tabs. - * tests/mozilla/js1_2/regexp/string_search.js: Added property allow-tabs. - * tests/mozilla/js1_2/regexp/string_split.js: Added property allow-tabs. - * tests/mozilla/js1_2/regexp/test.js: Added property allow-tabs. - * tests/mozilla/js1_2/regexp/toString.js: Added property allow-tabs. - * tests/mozilla/js1_2/regexp/vertical_bar.js: Added property allow-tabs. - * tests/mozilla/js1_2/regexp/whitespace.js: Added property allow-tabs. - * tests/mozilla/js1_2/regexp/word_boundary.js: Added property allow-tabs. - * tests/mozilla/js1_2/shell.js: Added property allow-tabs. - * tests/mozilla/js1_2/statements/break.js: Added property allow-tabs. - * tests/mozilla/js1_2/statements/continue.js: Added property allow-tabs. - * tests/mozilla/js1_2/statements/do_while.js: Added property allow-tabs. - * tests/mozilla/js1_2/statements/switch.js: Added property allow-tabs. - * tests/mozilla/js1_2/statements/switch2.js: Added property allow-tabs. - * tests/mozilla/js1_3/shell.js: Added property allow-tabs. - * tests/mozilla/js1_4/shell.js: Added property allow-tabs. - * tests/mozilla/js1_5/Regress/regress-111557.js: Added property allow-tabs. - * tests/mozilla/js1_5/Regress/regress-216320.js: Added property allow-tabs. - * tests/mozilla/menuhead.html: Added property allow-tabs. - * tests/mozilla/mklistpage.pl: Added property allow-tabs. - * tests/mozilla/runtests.pl: Added property allow-tabs. - -2010-01-08 Daniel Bates - - Reviewed by Adam Barth. - - https://bugs.webkit.org/show_bug.cgi?id=33417 - - Cleans up style errors exposed by the patch for bug #33198. - Moreover, fixes all "Weird number of spaces at line-start. Are you using a 4-space indent?" - errors reported by check-webkit-style. - - No functionality was changed. So, no new tests. - - * wtf/Platform.h: - -2010-01-08 Kent Hansen - - Reviewed by Eric Seidel. - - Don't store RegExp flags string representation - https://bugs.webkit.org/show_bug.cgi?id=33321 - - It's unused; the string representation is reconstructed from flags. - - * runtime/RegExp.cpp: - (JSC::RegExp::RegExp): - * runtime/RegExp.h: - -2010-01-08 Geoffrey Garen - - Reviewed by Oliver Hunt. - - Memory use grows grows possibly unbounded in this JavaScript Array test case - https://bugs.webkit.org/show_bug.cgi?id=31675 - - This fixes one observed bug in this test case, which is that - arrays don't report extra cost for the sparse value maps. - - SunSpider reports a small speedup. - - * runtime/JSArray.cpp: - (JSC::JSArray::putSlowCase): Report extra memory cost for - the sparse value map. - * runtime/JSArray.h: - -2010-01-08 Yong Li - - Reviewed by Darin Adler. - - Remove unnecessary #include from FastMalloc.cpp - https://bugs.webkit.org/show_bug.cgi?id=33393 - - * wtf/FastMalloc.cpp: - -2010-01-08 Eric Seidel - - No review, rolling out r52983. - http://trac.webkit.org/changeset/52983 - https://bugs.webkit.org/show_bug.cgi?id=33321 - - Broke 59 JavaScriptCore tests. I don't think Kent knew about - run-javascriptcore-tests. Sadly neither does the commit-bot, - yet. - - * runtime/RegExp.cpp: - (JSC::RegExp::RegExp): - * runtime/RegExp.h: - (JSC::RegExp::flags): - -2010-01-08 Eric Seidel - - No review, rolling out r52981. - http://trac.webkit.org/changeset/52981 - https://bugs.webkit.org/show_bug.cgi?id=33319 - - Caused two JS tests to start failing: - ecma_2/RegExp/properties-001.js and js1_2/regexp/toString.js - - * runtime/RegExpPrototype.cpp: - (JSC::regExpProtoFuncToString): - -2010-01-08 Kent Hansen - - Reviewed by Darin Adler. - - Don't store RegExp flags string representation - https://bugs.webkit.org/show_bug.cgi?id=33321 - - It's unused; the string representation is reconstructed from flags. - - * runtime/RegExp.cpp: - (JSC::RegExp::RegExp): - * runtime/RegExp.h: - -2010-01-08 Kent Hansen - - Reviewed by Darin Adler. - - RegExp.prototype.toString returns "//" for empty regular expressions - https://bugs.webkit.org/show_bug.cgi?id=33319 - - "//" starts a single-line comment, hence "/(?:)/" should be used, according to ECMA. - - * runtime/RegExpPrototype.cpp: - (JSC::regExpProtoFuncToString): - -2010-01-08 Norbert Leser - - Reviewed by Darin Adler. - - RVCT compiler with "-Otime -O3" optimization tries to optimize out - inline new'ed pointers that are passed as arguments. - Proposed patch assigns new'ed pointer explicitly outside function call. - - https://bugs.webkit.org/show_bug.cgi?id=33084 - - * API/JSClassRef.cpp: - (OpaqueJSClass::OpaqueJSClass): - (OpaqueJSClassContextData::OpaqueJSClassContextData): - -2010-01-08 Gabor Loki - - Reviewed by Gavin Barraclough. - - Remove an unnecessary cacheFlush from ARM_TRADITIONAL JIT - https://bugs.webkit.org/show_bug.cgi?id=33203 - - * assembler/ARMAssembler.cpp: Remove obsolete linkBranch function. - (JSC::ARMAssembler::executableCopy): Inline a clean linkBranch code. - * assembler/ARMAssembler.h: - (JSC::ARMAssembler::getLdrImmAddress): Use inline function. - (JSC::ARMAssembler::getLdrImmAddressOnPool): Ditto. - (JSC::ARMAssembler::patchPointerInternal): Remove an unnecessary cacheFlush. - (JSC::ARMAssembler::linkJump): Use patchPointerInternal instead of linkBranch. - (JSC::ARMAssembler::linkCall): Ditto. - (JSC::ARMAssembler::relinkCall): Ditto. - -2010-01-07 Gabor Loki - - Reviewed by Gavin Barraclough. - - Build fix for JSVALUE32 when ENABLE_JIT_OPTIMIZE* are disabled - https://bugs.webkit.org/show_bug.cgi?id=33311 - - Move compileGetDirectOffset function to common part of JSVALUE32 - - * jit/JITPropertyAccess.cpp: - (JSC::JIT::compileGetDirectOffset): - -2010-01-07 Laszlo Gombos - - Reviewed by Maciej Stachowiak. - - Allow call sites to determine if ASSERT_* and LOG_* macros are operational - https://bugs.webkit.org/show_bug.cgi?id=33020 - - * wtf/Assertions.h: Set ASSERT_MSG_DISABLED, FATAL_DISABLED, - ERROR_DISABLED, LOG_DISABLED to 1 if the compiler does not support - variadic macros. Refactor for better readibility. - -2010-01-07 Daniel Bates - - Reviewed by Eric Seidel. - - https://bugs.webkit.org/show_bug.cgi?id=32987 - - Added ENABLE_XHTMLMP flag. Disabled by default. - - * Configurations/FeatureDefines.xcconfig: - -2010-01-07 Laszlo Gombos - - Reviewed by Gavin Barraclough. - - [Symbian] Port ARM traditional JIT Trampolines to RVCT - https://bugs.webkit.org/show_bug.cgi?id=30552 - - Take the GCC implementation and mechanically convert - it to RVCT syntax. - - Use 'bx rX' instead of 'mov pc, rX' when it is available. - - Developed in cooperation with Iain Campbell and Gabor Loki. - - * JavaScriptCore.pri: Extra step to generate RVCT stubs. The - script generation intentionally executed all the time not just - for RVCT targets. - - * create_rvct_stubs: Added. Perl script to expand precompiler macros - for RVCT assembler - the template is defined in JITStubs.cpp. - - * jit/JITStubs.cpp: - (JSC::ctiTrampoline): - (JSC::ctiVMThrowTrampoline): - (JSC::ctiOpThrowNotCaught): - -2010-01-07 Geoffrey Garen - - Reviewed by Sam Weinig. - - Fix a crash seen on the buildbots. - - * runtime/JSGlobalObject.cpp: - (JSC::JSGlobalObject::init): Disable specific function tracking here, - instead of in WebCore, to ensure that the disabling happens before a - specific function can be registered. - -2010-01-07 Alexey Proskuryakov - - Mac build fix. - - * JavaScriptCore.exp: Export new JSGlobalData static data members. - -2010-01-07 Alexey Proskuryakov - - Reviewed by Geoffrey Garen. - - https://bugs.webkit.org/show_bug.cgi?id=33057 - REGRESSION(r49365): typeof(xhr.responseText) != "string" in Windows - - REGRESSION: WebKit fails to start PeaceKeeper benchmark - - Test: fast/js/webcore-string-comparison.html - - In r49365, some code was moved from JSString.cpp to JSString.h, and as a result, WebCore - got a way to directly instantiate JSStrings over DLL borders. Since vftable for JSString was - not exported, objects created from WebCore got a different vptr, and JavaScriptCore - optimizations that relied on vptr of all JSString objects being equal failed. - - * config.h: Added a JS_EXPORTCLASS macro for exporting classes. It's currently the same as - JS_EXPORTDATA, but it clearly needed a new name. - - * runtime/InitializeThreading.cpp: - (JSC::initializeThreadingOnce): - * runtime/JSGlobalData.cpp: - (JSC::JSGlobalData::storeVPtrs): - (JSC::JSGlobalData::JSGlobalData): - (JSC::JSGlobalData::createNonDefault): - (JSC::JSGlobalData::create): - (JSC::JSGlobalData::sharedInstance): - * runtime/JSGlobalData.h: - Store vptrs just once, no need to repeatedly pick and copy them. This makes it possible to - assert vptr correctness in object destructors (which don't have access to JSGlobalData, - and even Heap::heap(this) will fail for fake objects created from storeVPtrs()). - - * runtime/JSArray.cpp: (JSC::JSArray::~JSArray): Assert that vptr is what we expect it to be. - It's important to assert in destructor, because MSVC changes the vptr after constructor - is invoked. - * runtime/JSByteArray.cpp: (JSC::JSByteArray::~JSByteArray): Ditto. - * runtime/JSByteArray.h: Ditto. - * runtime/JSFunction.h: Ditto. - * runtime/JSFunction.cpp: (JSC::JSFunction::~JSFunction): Ditto. - - * runtime/JSCell.h: (JSC::JSCell::setVPtr): Added a method to substitute vptr for another - one. - - * runtime/JSString.h: Export JSString class together with its vftable, and tell other - libraries tp import it. This is needed on platforms that have a separate JavaScriptCore - dynamic library - and on Mac, we already did the export via JavaScriptCore.exp. - (JSC::JSString::~JSString): Assert tha vptr is what we expect it to be. - (JSC::fixupVPtr): Store a previously saved primary vftable pointer (do nothing if building - JavaScriptCore itself). - (JSC::jsSingleCharacterString): Call fixupVPtr in case this is call across DLL boundary. - (JSC::jsSingleCharacterSubstring): Ditto. - (JSC::jsNontrivialString): Ditto. - (JSC::jsString): Ditto. - (JSC::jsSubstring): Ditto. - (JSC::jsOwnedString): Ditto. - - * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: Export the new static - JSGlobalData members that are used in WebCore via inline functions. - -2010-01-07 Geoffrey Garen - - Reviewed by Sam Weinig. - - Safari memory usage skyrockets using new Google AdWords interface - https://bugs.webkit.org/show_bug.cgi?id=33343 - - The memory use was caused by the global object creating too many structures - as it thrashed between different specific functions. - - * runtime/Structure.cpp: - (JSC::Structure::Structure): - (JSC::Structure::addPropertyTransition): - (JSC::Structure::changePrototypeTransition): - (JSC::Structure::despecifyFunctionTransition): - (JSC::Structure::addAnonymousSlotsTransition): - (JSC::Structure::getterSetterTransition): - (JSC::Structure::toDictionaryTransition): - (JSC::Structure::addPropertyWithoutTransition): - (JSC::Structure::despecifyAllFunctions): - * runtime/Structure.h: - (JSC::Structure::disableSpecificFunctionTracking): Track a thrash count - for specific functions. Disable specific function tracking once the - thrash count has been hit. - -2010-01-07 Csaba Osztrogonác - - Reviewed by Simon Hausmann. - - [Qt] Enable JIT in debug mode on win32 after r51141 fixed the crashes. - - * JavaScriptCore.pri: - -2010-01-07 Zoltan Horvath - - Reviewed by Holger Freyther. - - [Mac] Build fix when FAST_MALLOC_MATCH_VALIDATION=1 - https://bugs.webkit.org/show_bug.cgi?id=33312 - - Using of operator += cause compile error on Mac, so it is changed to - "= static_cast(old_ptr) + 1". - - * wtf/FastMalloc.cpp: - (WTF::TCMallocStats::realloc): - -2010-01-07 Zoltan Horvath - - Reviewed by Holger Freyther. - - [Qt] Build fix when FAST_MALLOC_MATCH_VALIDATION=1 - https://bugs.webkit.org/show_bug.cgi?id=33312 - - Remove pByte (committed in r42344 from #20422), because pByte doesn't - exist and it is unnecessary. - - * wtf/FastMalloc.cpp: - (WTF::TCMallocStats::realloc): - -2010-01-06 Gavin Barraclough - - QT build fix. - - * runtime/Identifier.cpp: - (JSC::createIdentifierTableSpecific): - -2010-01-06 Gavin Barraclough - - Windows build fix part I. - - * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: - -2010-01-06 Dan Bernstein - - Build fix - - * runtime/Identifier.cpp: - (JSC::createIdentifierTableSpecificCallback): - -2010-01-05 Gavin Barraclough - - Reviewed by Sam Weinig. - - https://bugs.webkit.org/show_bug.cgi?id=33236 - Remove m_identifierTable pointer from UString - - Currently every string holds a pointer so that during destruction, - if a string has been used as an identifier, it can remove itself - from the table. By instead accessing the identifierTable via a - thread specific tracking the table associated with the current - globaldata, we can save the memory cost of this pointer. - - * API/APIShims.h: - (JSC::APIEntryShimWithoutLock::APIEntryShimWithoutLock): - (JSC::APIEntryShimWithoutLock::~APIEntryShimWithoutLock): - (JSC::APICallbackShim::APICallbackShim): - (JSC::APICallbackShim::~APICallbackShim): - - - change the API shims to track the identifierTable of the current JSGlobalData. - - * API/JSContextRef.cpp: - (JSContextGroupCreate): - - - update creation of JSGlobalData for API usage to use new create method. - - fix shim instanciation bug in JSGlobalContextCreateInGroup. - - * JavaScriptCore.exp: - * runtime/Completion.cpp: - (JSC::checkSyntax): - (JSC::evaluate): - - - add asserts to check the identifierTable is being tracked correctly. - - * runtime/Identifier.cpp: - (JSC::IdentifierTable::~IdentifierTable): - (JSC::IdentifierTable::add): - (JSC::Identifier::remove): - (JSC::Identifier::checkSameIdentifierTable): - (JSC::createIdentifierTableSpecificCallback): - (JSC::createIdentifierTableSpecific): - (JSC::createDefaultDataSpecific): - - - Use currentIdentifierTable() instead of UStringImpl::m_identifierTable. - - Define methods to access the thread specific identifier tables. - - * runtime/Identifier.h: - (JSC::ThreadIdentifierTableData::ThreadIdentifierTableData): - (JSC::defaultIdentifierTable): - (JSC::setDefaultIdentifierTable): - (JSC::currentIdentifierTable): - (JSC::setCurrentIdentifierTable): - (JSC::resetCurrentIdentifierTable): - - - Declare methods to access the thread specific identifier tables. - - * runtime/JSGlobalData.cpp: - (JSC::JSGlobalData::createNonDefault): - (JSC::JSGlobalData::create): - (JSC::JSGlobalData::sharedInstance): - - - creation of JSGlobalData objects, other than for API usage, associate themselves with the current thread. - - * runtime/JSGlobalData.h: - * runtime/UStringImpl.cpp: - (JSC::UStringImpl::destroy): - - - destroy() method should be using isIdentifier(). - - * runtime/UStringImpl.h: - (JSC::UStringImpl::isIdentifier): - (JSC::UStringImpl::setIsIdentifier): - (JSC::UStringImpl::checkConsistency): - (JSC::UStringImpl::UStringImpl): - - - replace m_identifierTable with a single m_isIdentifier bit. - - * wtf/StringHashFunctions.h: - (WTF::stringHash): - - - change string hash result from 32-bit to 31-bit, to free a bit in UStringImpl for m_isIdentifier. - -2009-12-25 Patrick Gansterer - - Reviewed by Eric Seidel. - - Buildfix for WinCE + style fixes. - https://bugs.webkit.org/show_bug.cgi?id=32939 - - * jsc.cpp: - (functionPrint): - (functionQuit): - (parseArguments): - (fillBufferWithContentsOfFile): - -2010-01-05 Patrick Gansterer - - Reviewed by Eric Seidel. - - WinCE buildfix after r52791 (renamed PLATFORM(WINCE) to OS(WINCE)). - https://bugs.webkit.org/show_bug.cgi?id=33205 - - * jit/ExecutableAllocator.h: - -2010-01-05 Patrick Gansterer - - Reviewed by Darin Adler. - - Added compiler error for unsupported platforms. - https://bugs.webkit.org/show_bug.cgi?id=33112 - - * jit/JITStubs.cpp: - -2010-01-05 Gabor Loki - - Reviewed by Maciej Stachowiak. - - Follow r52729 in ARMAssembler. - https://bugs.webkit.org/show_bug.cgi?id=33208 - - Use WTF_ARM_ARCH_AT_LEAST instead of ARM_ARCH_VERSION - - * assembler/ARMAssembler.cpp: - (JSC::ARMAssembler::encodeComplexImm): Move tmp declaration to ARMv7 - * assembler/ARMAssembler.h: - (JSC::ARMAssembler::): - (JSC::ARMAssembler::bkpt): - -2010-01-05 Maciej Stachowiak - - Unreviewed build fix for Gtk+ - - Don't use // comments in Platform.h, at least some of them seem to make the version of GCC - used on the Gtk buildbot unhappy. - - * wtf/Platform.h: - -2010-01-04 Maciej Stachowiak - - Reviewed by Darin Fisher. - - Reorganize, document and rename OS() platform macros. - https://bugs.webkit.org/show_bug.cgi?id=33198 - - * wtf/Platform.h: Rename, reorganize and document OS() macros. - - Adapt to name changes. Also fixed a few incorrect OS checks. - - * API/JSContextRef.cpp: - * assembler/MacroAssemblerARM.cpp: - (JSC::isVFPPresent): - * assembler/MacroAssemblerX86Common.h: - * bytecode/SamplingTool.cpp: - * config.h: - * interpreter/RegisterFile.cpp: - (JSC::RegisterFile::~RegisterFile): - * interpreter/RegisterFile.h: - (JSC::RegisterFile::RegisterFile): - (JSC::RegisterFile::grow): - * jit/ExecutableAllocator.h: - * jit/ExecutableAllocatorFixedVMPool.cpp: - * jit/ExecutableAllocatorPosix.cpp: - * jit/ExecutableAllocatorSymbian.cpp: - * jit/ExecutableAllocatorWin.cpp: - * jit/JITOpcodes.cpp: - (JSC::JIT::privateCompileCTIMachineTrampolines): - * jit/JITStubs.cpp: - * jsc.cpp: - (main): - * parser/Grammar.y: - * profiler/ProfileNode.cpp: - (JSC::getCount): - * runtime/Collector.cpp: - (JSC::Heap::Heap): - (JSC::Heap::allocateBlock): - (JSC::Heap::freeBlockPtr): - (JSC::currentThreadStackBase): - (JSC::getCurrentPlatformThread): - (JSC::suspendThread): - (JSC::resumeThread): - (JSC::getPlatformThreadRegisters): - (JSC::otherThreadStackPointer): - * runtime/Collector.h: - * runtime/DateConstructor.cpp: - * runtime/DatePrototype.cpp: - (JSC::formatLocaleDate): - * runtime/InitializeThreading.cpp: - (JSC::initializeThreading): - * runtime/MarkStack.h: - (JSC::MarkStack::MarkStackArray::shrinkAllocation): - * runtime/MarkStackPosix.cpp: - * runtime/MarkStackSymbian.cpp: - * runtime/MarkStackWin.cpp: - * runtime/StringPrototype.cpp: - (JSC::stringProtoFuncLastIndexOf): - * runtime/TimeoutChecker.cpp: - (JSC::getCPUTime): - * runtime/UString.cpp: - (JSC::UString::from): - * wtf/Assertions.cpp: - * wtf/Assertions.h: - * wtf/CurrentTime.cpp: - (WTF::lowResUTCTime): - * wtf/CurrentTime.h: - (WTF::getLocalTime): - * wtf/DateMath.cpp: - * wtf/FastMalloc.cpp: - (WTF::TCMalloc_ThreadCache::InitModule): - (WTF::TCMallocStats::): - * wtf/FastMalloc.h: - * wtf/MathExtras.h: - * wtf/RandomNumber.cpp: - (WTF::randomNumber): - * wtf/RandomNumberSeed.h: - (WTF::initializeRandomNumberGenerator): - * wtf/StringExtras.h: - * wtf/TCSpinLock.h: - (TCMalloc_SpinLock::Unlock): - (TCMalloc_SlowLock): - * wtf/TCSystemAlloc.cpp: - * wtf/ThreadSpecific.h: - (WTF::::destroy): - * wtf/Threading.h: - * wtf/ThreadingPthreads.cpp: - (WTF::initializeThreading): - (WTF::isMainThread): - * wtf/ThreadingWin.cpp: - (WTF::wtfThreadEntryPoint): - (WTF::createThreadInternal): - * wtf/VMTags.h: - * wtf/unicode/icu/CollatorICU.cpp: - (WTF::Collator::userDefault): - * wtf/win/MainThreadWin.cpp: - (WTF::initializeMainThreadPlatform): - -2010-01-04 Gustavo Noronha Silva - - Add missing files to the build system - make distcheck build fix. - - * GNUmakefile.am: - -2010-01-04 Gavin Barraclough - - Reviewed by Sam Weinig, additional coding by Mark Rowe. - - https://bugs.webkit.org/show_bug.cgi?id=33163 - Add string hashing functions to WTF. - Use WTF's string hashing functions from UStringImpl. - - * GNUmakefile.am: - * JavaScriptCore.exp: - * JavaScriptCore.gypi: - * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: - * JavaScriptCore.xcodeproj/project.pbxproj: - * runtime/UStringImpl.cpp: - * runtime/UStringImpl.h: - (JSC::UStringImpl::computeHash): - * wtf/HashFunctions.h: - * wtf/StringHashFunctions.h: Added. - (WTF::stringHash): - -2010-01-04 Dmitry Titov - - Not reviewed, attempt to fix ARM bulid. - - * wtf/Platform.h: - -2010-01-04 Gavin Barraclough - - Rubber stamped by Geoff Garen. - - Add an 'isIdentifier' to UStringImpl, use this where appropriate - (where previously 'identifierTable' was being tested). - - * API/JSClassRef.cpp: - (OpaqueJSClass::~OpaqueJSClass): - (OpaqueJSClassContextData::OpaqueJSClassContextData): - * runtime/Identifier.cpp: - (JSC::Identifier::addSlowCase): - * runtime/Identifier.h: - (JSC::Identifier::add): - * runtime/PropertyNameArray.cpp: - (JSC::PropertyNameArray::add): - * runtime/UStringImpl.h: - (JSC::UStringImpl::isIdentifier): - -2010-01-04 Gavin Barraclough - - Reviewed by Sam "Shimmey Shimmey" Weinig. - - https://bugs.webkit.org/show_bug.cgi?id=33158 - Refactor JSC API entry/exit to use RAII instead of copy/pasting code. - Make it easier to change set of actions taken when passing across the API boundary. - - * API/APIShims.h: Added. - (JSC::APIEntryShimWithoutLock::APIEntryShimWithoutLock): - (JSC::APIEntryShimWithoutLock::~APIEntryShimWithoutLock): - (JSC::APIEntryShim::APIEntryShim): - (JSC::APICallbackShim::APICallbackShim): - (JSC::APICallbackShim::~APICallbackShim): - * API/JSBase.cpp: - (JSEvaluateScript): - (JSCheckScriptSyntax): - (JSGarbageCollect): - (JSReportExtraMemoryCost): - * API/JSCallbackConstructor.cpp: - (JSC::constructJSCallback): - * API/JSCallbackFunction.cpp: - (JSC::JSCallbackFunction::call): - * API/JSCallbackObjectFunctions.h: - (JSC::::init): - (JSC::::getOwnPropertySlot): - (JSC::::put): - (JSC::::deleteProperty): - (JSC::::construct): - (JSC::::hasInstance): - (JSC::::call): - (JSC::::getOwnPropertyNames): - (JSC::::toNumber): - (JSC::::toString): - (JSC::::staticValueGetter): - (JSC::::callbackGetter): - * API/JSContextRef.cpp: - * API/JSObjectRef.cpp: - (JSObjectMake): - (JSObjectMakeFunctionWithCallback): - (JSObjectMakeConstructor): - (JSObjectMakeFunction): - (JSObjectMakeArray): - (JSObjectMakeDate): - (JSObjectMakeError): - (JSObjectMakeRegExp): - (JSObjectGetPrototype): - (JSObjectSetPrototype): - (JSObjectHasProperty): - (JSObjectGetProperty): - (JSObjectSetProperty): - (JSObjectGetPropertyAtIndex): - (JSObjectSetPropertyAtIndex): - (JSObjectDeleteProperty): - (JSObjectCallAsFunction): - (JSObjectCallAsConstructor): - (JSObjectCopyPropertyNames): - (JSPropertyNameArrayRelease): - (JSPropertyNameAccumulatorAddName): - * API/JSValueRef.cpp: - (JSValueGetType): - (JSValueIsUndefined): - (JSValueIsNull): - (JSValueIsBoolean): - (JSValueIsNumber): - (JSValueIsString): - (JSValueIsObject): - (JSValueIsObjectOfClass): - (JSValueIsEqual): - (JSValueIsStrictEqual): - (JSValueIsInstanceOfConstructor): - (JSValueMakeUndefined): - (JSValueMakeNull): - (JSValueMakeBoolean): - (JSValueMakeNumber): - (JSValueMakeString): - (JSValueToBoolean): - (JSValueToNumber): - (JSValueToStringCopy): - (JSValueToObject): - (JSValueProtect): - (JSValueUnprotect): - * JavaScriptCore.xcodeproj/project.pbxproj: - -2010-01-04 Dan Bernstein - - Reviewed by Ada Chan and Mark Rowe. - - Updated copyright string - - * Info.plist: - * JavaScriptCore.vcproj/JavaScriptCore.resources/Info.plist: - * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.rc: - -2010-01-04 Adam Roben - - No review, rolling out r52741. - http://trac.webkit.org/changeset/52741 - https://bugs.webkit.org/show_bug.cgi?id=33056 - - * wtf/AlwaysInline.h: - -2010-01-04 Patrick Gansterer - - Reviewed by Darin Adler. - - Add cacheFlush support for WinCE - https://bugs.webkit.org/show_bug.cgi?id=33110 - - * jit/ExecutableAllocator.h: - (JSC::ExecutableAllocator::cacheFlush): - -2010-01-04 Patrick Gansterer - - Reviewed by Adam Roben. - - Implement NO_RETURN for COMPILER(MSVC). - https://bugs.webkit.org/show_bug.cgi?id=33056 - - * wtf/AlwaysInline.h: - -2010-01-04 Maciej Stachowiak - - Reviewed by Simon Hausmann. - - Fix some PLATFORM(*_ENDIAN) uses to CPU() - https://bugs.webkit.org/show_bug.cgi?id=33148 - - * runtime/JSCell.cpp: - (JSC::): - * runtime/JSValue.h: - (JSC::JSValue::): - -2010-01-04 Maciej Stachowiak - - Reviewed by Adam Barth. - - Document CPU() macros in comments. - https://bugs.webkit.org/show_bug.cgi?id=33147 - - * wtf/Platform.h: - -2010-01-04 Maciej Stachowiak - - Reviewed by Adam Barth. - - Reorganize, document and rename CPU() platform macros. - https://bugs.webkit.org/show_bug.cgi?id=33145 - ExecutableAllocatorSymbian appears to have buggy ARM version check - https://bugs.webkit.org/show_bug.cgi?id=33138 - - * wtf/Platform.h: - Rename all macros related to detection of particular CPUs or - classes of CPUs to CPU(), reorganize and document them. - - All remaining changes are adapting to the renames, plus fixing the - second bug cited above. - - * assembler/ARMAssembler.cpp: - * assembler/ARMAssembler.h: - * assembler/ARMv7Assembler.h: - * assembler/AbstractMacroAssembler.h: - (JSC::AbstractMacroAssembler::Imm32::Imm32): - * assembler/MacroAssembler.h: - * assembler/MacroAssemblerARM.cpp: - * assembler/MacroAssemblerARM.h: - * assembler/MacroAssemblerCodeRef.h: - (JSC::MacroAssemblerCodePtr::MacroAssemblerCodePtr): - * assembler/MacroAssemblerX86.h: - * assembler/MacroAssemblerX86Common.h: - * assembler/MacroAssemblerX86_64.h: - * assembler/X86Assembler.h: - (JSC::X86Registers::): - (JSC::X86Assembler::): - (JSC::X86Assembler::movl_mEAX): - (JSC::X86Assembler::movl_EAXm): - (JSC::X86Assembler::repatchLoadPtrToLEA): - (JSC::X86Assembler::X86InstructionFormatter::memoryModRM): - * jit/ExecutableAllocator.h: - * jit/ExecutableAllocatorFixedVMPool.cpp: - * jit/ExecutableAllocatorPosix.cpp: - * jit/ExecutableAllocatorSymbian.cpp: - (JSC::ExecutableAllocator::intializePageSize): - * jit/JIT.cpp: - * jit/JIT.h: - * jit/JITArithmetic.cpp: - * jit/JITInlineMethods.h: - (JSC::JIT::beginUninterruptedSequence): - (JSC::JIT::restoreArgumentReferenceForTrampoline): - (JSC::JIT::emitCount): - * jit/JITOpcodes.cpp: - (JSC::JIT::privateCompileCTIMachineTrampolines): - * jit/JITPropertyAccess.cpp: - (JSC::JIT::privateCompileGetByIdProto): - (JSC::JIT::privateCompileGetByIdProtoList): - (JSC::JIT::privateCompileGetByIdChainList): - (JSC::JIT::privateCompileGetByIdChain): - * jit/JITStubs.cpp: - (JSC::JITThunks::JITThunks): - * jit/JITStubs.h: - * runtime/Collector.cpp: - (JSC::currentThreadStackBase): - (JSC::getPlatformThreadRegisters): - (JSC::otherThreadStackPointer): - * wrec/WREC.h: - * wrec/WRECGenerator.cpp: - (JSC::WREC::Generator::generateEnter): - (JSC::WREC::Generator::generateReturnSuccess): - (JSC::WREC::Generator::generateReturnFailure): - * wrec/WRECGenerator.h: - * wtf/FastMalloc.cpp: - * wtf/TCSpinLock.h: - (TCMalloc_SpinLock::Lock): - (TCMalloc_SpinLock::Unlock): - (TCMalloc_SlowLock): - * wtf/Threading.h: - * wtf/dtoa.cpp: - * yarr/RegexJIT.cpp: - (JSC::Yarr::RegexGenerator::generateEnter): - (JSC::Yarr::RegexGenerator::generateReturn): - * yarr/RegexJIT.h: - -2010-01-04 Maciej Stachowiak - - Reviewed by Adam Barth. - - Clean up COMPILER macros and remove unused ones. - https://bugs.webkit.org/show_bug.cgi?id=33132 - - Removed values are COMPILER(BORLAND) and COMPILER(CYGWIN) - they were - not used anywhere. - - * wtf/Platform.h: - -2010-01-03 Maciej Stachowiak - - Reviewed by Eric Seidel. - - Update wtf/Platform.h to document the new system for porting macros. - https://bugs.webkit.org/show_bug.cgi?id=33130 - - * wtf/Platform.h: - -2009-12-29 Laszlo Gombos - - Reviewed by Maciej Stachowiak. - - PLATFORM(CAIRO) should be defined by WIN_CAIRO define - https://bugs.webkit.org/show_bug.cgi?id=22250 - - * wtf/Platform.h: Define WTF_PLATFORM_CAIRO for GTK port only - For the WinCairo port WTF_PLATFORM_CAIRO is already defined in config.h - -2009-12-28 Shu Chang - - Reviewed by Laszlo Gombos. - - [Qt] Delete ThreadPrivate instance after it is finished. - https://bugs.webkit.org/show_bug.cgi?id=32614 - - * wtf/qt/ThreadingQt.cpp: - (WTF::ThreadMonitor::instance): - (WTF::ThreadMonitor::threadFinished): - (WTF::createThreadInternal): - (WTF::detachThread): - -2009-12-28 Patrick Gansterer - - Reviewed by Maciej Stachowiak. - - Cleanup of #define JS_EXPORT. - - * API/JSBase.h: - -2009-12-27 Patrick Gansterer - - Reviewed by Adam Barth. - - WinCE buildfix (HWND_MESSAGE isn't supported there) - - * wtf/win/MainThreadWin.cpp: - (WTF::initializeMainThreadPlatform): - -2009-12-27 Patrick Gansterer - - Reviewed by Adam Barth. - - Added a file with WinMain function to link agains in WinCE. - - * os-win32/WinMain.cpp: Added. - (convertToUtf8): - (WinMain): - -2009-12-24 Laszlo Gombos - - Unreviewed; revert of r52550. - - The change regressed the following LayoutTests for QtWebKit. - - fast/workers/worker-call.html -> crashed - fast/workers/worker-close.html -> crashed - - * wtf/qt/ThreadingQt.cpp: - (WTF::waitForThreadCompletion): - (WTF::detachThread): - -2009-12-24 Shu Chang - - Reviewed by Laszlo Gombos. - - [Qt] Fix memory leak by deleting instance of ThreadPrivate - in function waitForThreadCompletion(), synchronously, or in - detachThread(), asynchronously. - https://bugs.webkit.org/show_bug.cgi?id=32614 - - * wtf/qt/ThreadingQt.cpp: - (WTF::waitForThreadCompletion): - (WTF::detachThread): - -2009-12-23 Kwang Yul Seo - - Reviewed by Laszlo Gombos. - - Include stddef.h for ptrdiff_t - https://bugs.webkit.org/show_bug.cgi?id=32891 - - ptrdiff_t is typedef-ed in stddef.h. - Include stddef.h in jit/ExecutableAllocator.h. - - * jit/ExecutableAllocator.h: - -2009-12-23 Patrick Gansterer - - Reviewed by Eric Seidel. - - Buildfix after r47092. - - * wtf/wince/MemoryManager.cpp: - (WTF::tryFastMalloc): - (WTF::tryFastZeroedMalloc): - (WTF::tryFastCalloc): - (WTF::tryFastRealloc): - -2009-12-23 Kent Tamura - - Reviewed by Darin Adler. - - HTMLInputElement::valueAsDate getter support. - https://bugs.webkit.org/show_bug.cgi?id=32876 - - Expose dateToDaysFrom1970(). - - * JavaScriptCore.exp: - * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: - * wtf/DateMath.cpp: - (WTF::dateToDaysFrom1970): - * wtf/DateMath.h: - -2009-12-22 Darin Adler - - Reviewed by Mark Rowe. - - Turn off datagrid by default, at least for all platforms Apple ships. - The datagrid implementation isn't ready for general web use yet. - - * Configurations/FeatureDefines.xcconfig: Turn off datagrid by default. - -2009-12-22 Steve Block - - Reviewed by David Levin. - - Updates Android's scheduleDispatchFunctionsOnMainThread() to use new - AndroidThreading class, rather than using JavaSharedClient directly. - This fixes the current layering violation. - https://bugs.webkit.org/show_bug.cgi?id=32651 - - The pattern is copied from Chromium, which uses the ChromiumThreading - class. This patch also fixes the style in ChromiumThreading.h. - - * wtf/android/AndroidThreading.h: Added. Declares AndroidThreading. - * wtf/android/MainThreadAndroid.cpp: Modified - (WTF::scheduleDispatchFunctionsOnMainThread): Uses AndroidThreading. - * wtf/chromium/ChromiumThreading.h: Modified. Fixes style. - -2009-12-22 Gavin Barraclough - - Reviewed by Sam Weinig. - - Fix a couple of problems with UntypedPtrAndBitfield. - - Add a m_leaksPtr to reduce false positives from leaks in debug builds - (this isn't perfect because we'd like a solution for release builds, - but this is now at least as good as a PtrAndFlags would be). - - Switch SmallStringsto use a regular string for the base, rather than - a static one. UntypedPtrAndBitfield assumes all strings are at least - 8 byte aligned; this migt not be true of static strings. Shared buffers - are heap allocated, as are all UStringImpls other than static strings. - Static strings cannot end up being the owner string of substrings, - since the only static strings are length 0. - - * runtime/SmallStrings.cpp: - (JSC::SmallStringsStorage::SmallStringsStorage): - * runtime/UStringImpl.h: - (JSC::UntypedPtrAndBitfield::UntypedPtrAndBitfield): - (JSC::UStringImpl::UStringImpl): - -2009-12-22 Kwang Yul Seo - - Reviewed by Darin Adler. - - RVCT (__ARMCC_VERSION < 400000) does not provide strcasecmp and strncasecmp - https://bugs.webkit.org/show_bug.cgi?id=32857 - - Add implementation of strcasecmp and strncasecmp for RVCT < 4.0 - because earlier versions of RVCT 4.0 does not provide these functions. - - * wtf/StringExtras.cpp: Added. - (strcasecmp): - (strncasecmp): - * wtf/StringExtras.h: - -2009-12-22 Kwang Yul Seo - - Reviewed by Darin Adler. - - Define ALWAYS_INLINE and WTF_PRIVATE_INLINE to __forceinline for RVCT - https://bugs.webkit.org/show_bug.cgi?id=32853 - - Use __forceinline forces RVCT to compile a C or C++ function - inline. The compiler attempts to inline the function, regardless of - the characteristics of the function. - - * wtf/AlwaysInline.h: - * wtf/FastMalloc.h: - -2009-12-21 Simon Hausmann - - Prospective GTK build fix: Add UStringImpl.cpp/h to the build. - - * GNUmakefile.am: - -2009-12-21 Simon Hausmann - - Fix the Qt build, add UStringImpl.cpp to the build. - - * JavaScriptCore.pri: - -2009-12-21 Gavin Barraclough - - Windows Build fix part 5. - * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: - -2009-12-21 Gavin Barraclough - - Reviewed by NOBODY (build fix). - Fix breakage of world introduced in build fix to r52463. - - * runtime/UStringImpl.h: - -2009-12-21 Gavin Barraclough - - Reviewed by Darin Adler. - - https://bugs.webkit.org/show_bug.cgi?id=32831 - Replace UString::Rep implementation, following introduction of ropes to JSC. - - * Remove redundant overcapacity mechanisms. - * Reduce memory cost of Rep's. - * Add an inline storage mechanism akin to that in WebCore's StringImpl. - - ~1% Sunspider progression. - - * JavaScriptCore.exp: - * JavaScriptCore.xcodeproj/project.pbxproj: - * runtime/JSString.cpp: - (JSC::JSString::resolveRope): - * runtime/SmallStrings.cpp: - (JSC::SmallStringsStorage::SmallStringsStorage): - * runtime/UString.cpp: - (JSC::initializeUString): - (JSC::createRep): - (JSC::UString::createFromUTF8): - (JSC::UString::createUninitialized): - (JSC::UString::spliceSubstringsWithSeparators): - (JSC::UString::replaceRange): - (JSC::UString::ascii): - (JSC::UString::operator=): - (JSC::UString::toStrictUInt32): - (JSC::equal): - * runtime/UString.h: - (JSC::UString::isEmpty): - (JSC::UString::cost): - (JSC::makeString): - * runtime/UStringImpl.cpp: Added. - (JSC::UStringImpl::baseSharedBuffer): - (JSC::UStringImpl::sharedBuffer): - (JSC::UStringImpl::destroy): - (JSC::UStringImpl::computeHash): - * runtime/UStringImpl.h: Added. - (JSC::UntypedPtrAndBitfield::UntypedPtrAndBitfield): - (JSC::UntypedPtrAndBitfield::asPtr): - (JSC::UntypedPtrAndBitfield::operator&=): - (JSC::UntypedPtrAndBitfield::operator|=): - (JSC::UntypedPtrAndBitfield::operator&): - (JSC::UStringImpl::create): - (JSC::UStringImpl::createCopying): - (JSC::UStringImpl::createUninitialized): - (JSC::UStringImpl::data): - (JSC::UStringImpl::size): - (JSC::UStringImpl::cost): - (JSC::UStringImpl::hash): - (JSC::UStringImpl::computedHash): - (JSC::UStringImpl::setHash): - (JSC::UStringImpl::identifierTable): - (JSC::UStringImpl::setIdentifierTable): - (JSC::UStringImpl::ref): - (JSC::UStringImpl::deref): - (JSC::UStringImpl::allocChars): - (JSC::UStringImpl::copyChars): - (JSC::UStringImpl::computeHash): - (JSC::UStringImpl::null): - (JSC::UStringImpl::empty): - (JSC::UStringImpl::checkConsistency): - (JSC::UStringImpl::): - (JSC::UStringImpl::UStringImpl): - (JSC::UStringImpl::operator new): - (JSC::UStringImpl::bufferOwnerString): - (JSC::UStringImpl::bufferOwnership): - (JSC::UStringImpl::isStatic): - -2009-12-18 Laszlo Gombos - - Reviewed by Kenneth Rohde Christiansen. - - Move some build decisions from Qt build system into source files - https://bugs.webkit.org/show_bug.cgi?id=31956 - - * JavaScriptCore.pri: Compile files unconditionally - * jit/ExecutableAllocatorPosix.cpp: Guard with PLATFORM(UNIX) && !PLATFORM(SYMBIAN) - * jit/ExecutableAllocatorWin.cpp: Guard with PLATFORM(WIN_OS) - * runtime/MarkStackPosix.cpp: Guard with PLATFORM(UNIX) && !PLATFORM(SYMBIAN) - * runtime/MarkStackSymbian.cpp: Guard with PLATFORM(SYMBIAN) - * runtime/MarkStackWin.cpp: Guard with PLATFORM(WIN_OS) - * wtf/Platform.h: Guard ENABLE_JSC_MULTIPLE_THREADS with ENABLE_SINGLE_THREADED for the Qt port - * wtf/ThreadingNone.cpp: Guard with ENABLE(SINGLE_THREADED) - * wtf/qt/ThreadingQt.cpp: Guard with !ENABLE(SINGLE_THREADED) - -2009-12-18 Gavin Barraclough - - Reviewed by Sam Weinig. - - Add createNonCopying method to UString to make replace constructor passed bool, - to make behaviour more explicit. Add createFromUTF8 to UString (wrapping method - on UString::Rep), since other cases of transliteration (e.g. from ascii) are - performed in UString constructors. Add/use setHash & size() accessors on Rep, - rather than accessing _hash/len directly. - - * API/JSClassRef.cpp: - (OpaqueJSClass::OpaqueJSClass): - * API/OpaqueJSString.cpp: - (OpaqueJSString::ustring): - * JavaScriptCore.exp: - * runtime/ArrayPrototype.cpp: - (JSC::arrayProtoFuncToString): - * runtime/Identifier.cpp: - (JSC::Identifier::equal): - (JSC::CStringTranslator::translate): - (JSC::UCharBufferTranslator::translate): - (JSC::Identifier::addSlowCase): - * runtime/JSString.cpp: - (JSC::JSString::resolveRope): - * runtime/JSString.h: - (JSC::JSString::Rope::Fiber::refAndGetLength): - (JSC::JSString::Rope::append): - * runtime/StringBuilder.h: - (JSC::StringBuilder::release): - * runtime/StringConstructor.cpp: - (JSC::stringFromCharCodeSlowCase): - * runtime/StringPrototype.cpp: - (JSC::substituteBackreferencesSlow): - (JSC::stringProtoFuncToLowerCase): - (JSC::stringProtoFuncToUpperCase): - (JSC::stringProtoFuncFontsize): - (JSC::stringProtoFuncLink): - * runtime/UString.cpp: - (JSC::UString::UString): - (JSC::UString::createNonCopying): - (JSC::UString::createFromUTF8): - * runtime/UString.h: - (JSC::UString::Rep::setHash): - (JSC::UString::~UString): - (JSC::makeString): - -2009-12-18 Geoffrey Garen - - Reviewed by Cameron Zwarich and Gavin Barraclough. - - Changed Register constructors to assignment operators, to streamline - moving values into registers. (In theory, there's no difference between - the two, since the constructor should just inline away, but there seems - to be a big difference in the addled mind of the GCC optimizer.) - - In the interpreter, this is a 3.5% SunSpider speedup and a 1K-2K - reduction in stack usage per privateExecute stack frame. - - * interpreter/CallFrame.h: - (JSC::ExecState::setCalleeArguments): - (JSC::ExecState::setCallerFrame): - (JSC::ExecState::setScopeChain): - (JSC::ExecState::init): - (JSC::ExecState::setArgumentCount): - (JSC::ExecState::setCallee): - (JSC::ExecState::setCodeBlock): Added a little bit of casting so these - functions could use the new Register assignment operators. - - * interpreter/Register.h: - (JSC::Register::withInt): - (JSC::Register::Register): - (JSC::Register::operator=): Swapped in assignment operators for constructors. - -2009-12-18 Yongjun Zhang - - Reviewed by Simon Hausmann. - - https://bugs.webkit.org/show_bug.cgi?id=32713 - [Qt] make wtf/Assertions.h compile in winscw compiler. - - Add string arg before ellipsis to help winscw compiler resolve variadic - macro definitions in wtf/Assertions.h. - - * wtf/Assertions.h: - -2009-12-18 Geoffrey Garen - - Reviewed by Adam Roben. - - Fixed intermittent failure seen on Windows buildbot, and in other JSC - API clients. - - Added a WeakGCPtr class and changed OpaqueJSClass::cachedPrototype to - use it, to avoid vending a stale object as a prototype. - - * API/JSClassRef.cpp: - (OpaqueJSClassContextData::OpaqueJSClassContextData): - (OpaqueJSClass::prototype): - * API/JSClassRef.h: Use WeakGCPtr. - - * JavaScriptCore.xcodeproj/project.pbxproj: - * runtime/WeakGCPtr.h: Added. - (JSC::WeakGCPtr::WeakGCPtr): - (JSC::WeakGCPtr::get): - (JSC::WeakGCPtr::clear): - (JSC::WeakGCPtr::operator*): - (JSC::WeakGCPtr::operator->): - (JSC::WeakGCPtr::operator!): - (JSC::WeakGCPtr::operator bool): - (JSC::WeakGCPtr::operator UnspecifiedBoolType): - (JSC::WeakGCPtr::assign): - (JSC::::operator): - (JSC::operator==): - (JSC::operator!=): - (JSC::static_pointer_cast): - (JSC::const_pointer_cast): - (JSC::getPtr): Added WeakGCPtr to the project. - -2009-12-18 Gavin Barraclough - - Reviewed by Sam Weinig. - - https://bugs.webkit.org/show_bug.cgi?id=32720 - - * JavaScriptCore.exp: - - Remove exports for UString::append - * JavaScriptCore.xcodeproj/project.pbxproj: - - Make StringBuilder a private header (was project). - -2009-12-18 Martin Robinson - - Reviewed by Gustavo Noronha Silva. - - [GTK] GRefPtr does not take a reference when assigned a raw pointer - https://bugs.webkit.org/show_bug.cgi?id=32709 - - Ensure that when assigning a raw pointer to a GRefPtr, the reference - count is incremented. Also remove the GRefPtr conversion overload as - GRefPtr types have necessarily incompatible reference counting. - - * wtf/gtk/GRefPtr.h: - (WTF::GRefPtr::operator=): - -2009-12-18 Simon Hausmann - - Reviewed by Tor Arne Vestbø. - - [Qt] Clean up the qmake build system to distinguish between trunk builds and package builds - - https://bugs.webkit.org/show_bug.cgi?id=32716 - - * pcre/pcre.pri: Use standalone_package instead of QTDIR_build - -2009-12-18 Martin Robinson - - Reviewed by Gustavo Noronha Silva. - - [GTK] Compile warning from line 29 of GRefPtr.cpp - https://bugs.webkit.org/show_bug.cgi?id=32703 - - Fix memory leak and compiler warning in GRefPtr GHashTable template - specialization. - - * wtf/gtk/GRefPtr.cpp: - (WTF::refGPtr): - -2009-12-17 Sam Weinig - - Reviewed by Mark Rowe. - - Add BUILDING_ON_SNOW_LEOPARD and TARGETING_SNOW_LEOPARD #defines. - - * wtf/Platform.h: - -2009-12-17 Adam Roben - - Sync JavaScriptCore.vcproj with JavaScriptCore.xcodeproj and the - source tree - - Fixes . - - Reviewed by Ada Chan. - - * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Moved - around files and filters so that the structure matches - JavaScriptCore.xcodeproj and the source tree. A few headers that were - previously omitted have been added, as well as JSZombie.{cpp,h}. - -2009-12-17 Adam Roben - - Remove HeavyProfile and TreeProfile completely - - These were mostly removed in r42808, but the empty files were left in - place. - - Fixes . - - Reviewed by John Sullivan. - - * Android.mk: - * GNUmakefile.am: - * JavaScriptCore.gypi: - * JavaScriptCore.pri: - * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: - * JavaScriptCoreSources.bkl: - Removed HeavyProfile/TreeProfile source files. - - * profiler/HeavyProfile.cpp: Removed. - * profiler/HeavyProfile.h: Removed. - * profiler/TreeProfile.cpp: Removed. - * profiler/TreeProfile.h: Removed. - -2009-12-17 Martin Robinson - - Reviewed by Gustavo Noronha Silva. - - [GTK] WebKit GTK needs a wrapper for ref counted glib/gobject structs - https://bugs.webkit.org/show_bug.cgi?id=21599 - - Implement GRefPtr, a smart pointer for reference counted GObject types. - - * GNUmakefile.am: - * wtf/gtk/GOwnPtr.cpp: - (WTF::GDir): - * wtf/gtk/GRefPtr.h: Added. - (WTF::): - (WTF::GRefPtr::GRefPtr): - (WTF::GRefPtr::~GRefPtr): - (WTF::GRefPtr::clear): - (WTF::GRefPtr::get): - (WTF::GRefPtr::operator*): - (WTF::GRefPtr::operator->): - (WTF::GRefPtr::operator!): - (WTF::GRefPtr::operator UnspecifiedBoolType): - (WTF::GRefPtr::hashTableDeletedValue): - (WTF::::operator): - (WTF::::swap): - (WTF::swap): - (WTF::operator==): - (WTF::operator!=): - (WTF::static_pointer_cast): - (WTF::const_pointer_cast): - (WTF::getPtr): - (WTF::adoptGRef): - (WTF::refGPtr): - (WTF::derefGPtr): - -2009-12-17 Gustavo Noronha Silva - - Unreviewed. Build fixes for make distcheck. - - * GNUmakefile.am: - -2009-12-16 Geoffrey Garen - - Reviewed by Oliver Hunt. - - Fixed Interpreter::privateExecute macro generates - bloated code - - This patch cuts Interpreter stack use by about a third. - - * bytecode/Opcode.h: Changed Opcode to const void* to work with the - const static initiliazation we want to do in Interpreter::privateExecute. - - * interpreter/Interpreter.cpp: - (JSC::Interpreter::Interpreter): Moved hashtable initialization here to - avoid polluting Interpreter::privateExecute's stack, and changed it from a - series of add() calls to one add() call in a loop, to cut down on code size. - - (JSC::Interpreter::privateExecute): Changed a series of label computations - to a copy of a compile-time constant array to cut down on code size. - -2009-12-16 Mark Rowe - - Build fix. Disable debug variants of WebKit frameworks. - - * JavaScriptCore.xcodeproj/project.pbxproj: - -2009-12-15 Geoffrey Garen - - Reviewed by Sam "r=me" Weinig. - - https://bugs.webkit.org/show_bug.cgi?id=32498 - - REGRESSION(r51978-r52039): AJAX "Mark This Forum Read" function no longer - works - - Fixed a tyop. - - * runtime/Operations.h: - (JSC::jsAdd): Use the '&&' operator, not the ',' operator. - -2009-12-15 Geoffrey Garen - - Try to fix the windows build: don't export this inlined function. - - * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: - -2009-12-15 Geoffrey Garen - - Reviewed by Beth Dakin. - - Inlined JSCell's operator new. - - 3.7% speedup on bench-allocate-nonretained.js. - - * JavaScriptCore.exp: - * runtime/JSCell.cpp: - * runtime/JSCell.h: - (JSC::JSCell::operator new): - -2009-12-15 Geoffrey Garen - - Reviewed by Oliver Hunt. - - Removed the number heap, replacing it with a one-item free list for - numbers, taking advantage of the fact that two number cells fit inside - the space for one regular cell, and number cells don't require destruction. - - SunSpider says 1.6% faster in JSVALUE32 mode (the only mode that - heap-allocates numbers). - - SunSpider says 1.1% faster in JSVALUE32_64 mode. v8 says 0.8% faster - in JSVALUE32_64 mode. 10% speedup on bench-alloc-nonretained.js. 6% - speedup on bench-alloc-retained.js. - - There's a lot of formulaic change in this patch, but not much substance. - - * JavaScriptCore.exp: - * debugger/Debugger.cpp: - (JSC::Debugger::recompileAllJSFunctions): - * runtime/Collector.cpp: - (JSC::Heap::Heap): - (JSC::Heap::destroy): - (JSC::Heap::allocateBlock): - (JSC::Heap::freeBlock): - (JSC::Heap::freeBlockPtr): - (JSC::Heap::freeBlocks): - (JSC::Heap::recordExtraCost): - (JSC::Heap::allocate): - (JSC::Heap::resizeBlocks): - (JSC::Heap::growBlocks): - (JSC::Heap::shrinkBlocks): - (JSC::Heap::markConservatively): - (JSC::Heap::clearMarkBits): - (JSC::Heap::markedCells): - (JSC::Heap::sweep): - (JSC::Heap::markRoots): - (JSC::Heap::objectCount): - (JSC::Heap::addToStatistics): - (JSC::Heap::statistics): - (JSC::Heap::isBusy): - (JSC::Heap::reset): - (JSC::Heap::collectAllGarbage): - (JSC::Heap::primaryHeapBegin): - (JSC::Heap::primaryHeapEnd): - * runtime/Collector.h: - (JSC::): Removed all code pertaining to the number heap, and changed all - heap template functions and classes to non-template functions and classes. - - (JSC::Heap::allocateNumber): A new optimization to replace the number - heap: allocate half-sized number cells in pairs, returning the first - cell and caching the second cell for the next allocation. - - * runtime/CollectorHeapIterator.h: - (JSC::LiveObjectIterator::LiveObjectIterator): - (JSC::LiveObjectIterator::operator++): - (JSC::DeadObjectIterator::DeadObjectIterator): - (JSC::DeadObjectIterator::operator++): - (JSC::ObjectIterator::ObjectIterator): - (JSC::ObjectIterator::operator++): - * runtime/JSCell.h: - (JSC::JSCell::isNumber): Removed all code pertaining to the number heap, - and changed all heap template functions and classes to non-template functions - and classes. - -2009-12-15 Zoltan Horvath - - Reviewed by Darin Adler. - - Allow custom memory allocation control for WeakGCMap class - https://bugs.webkit.org/show_bug.cgi?id=32547 - - Inherits WeakGCMap from FastAllocBase because it is instantiated by - 'new' at: WebCore/dom/Document.cpp:512. - - * runtime/WeakGCMap.h: - -2009-12-15 Zoltan Horvath - - Reviewed by Darin Adler. - - Allow custom memory allocation control for dtoa's P5Node struct - https://bugs.webkit.org/show_bug.cgi?id=32544 - - Inherits P5Node struct from Noncopyable because it is instantiated by - 'new' at wtf/dtoa.cpp:588 and don't need to be copyable. - - * wtf/dtoa.cpp: - -2009-12-14 Geoffrey Garen - - Reviewed by Simon Fraser. - - https://bugs.webkit.org/show_bug.cgi?id=32524 - REGRESSION(52084): fast/dom/prototypes.html failing two CSS tests - - * wtf/StdLibExtras.h: - (WTF::bitCount): The original patch put the parentheses in the wrong - place, completely changing the calculation and making it almost always - wrong. Moved the parentheses around the '+' operation, like the original - compiler warning suggested. - -2009-12-14 Gabor Loki - - Unreviewed trivial buildfix. - - Fix crosses initialization of usedPrimaryBlocks for JSValue32 - - * runtime/Collector.cpp: - (JSC::Heap::markConservatively): - -2009-12-14 Csaba Osztrogonác - - Reviewed by Simon Hausmann. - - GCC 4.3.x warning fixed. Suggested parantheses added. - warning: ../../../JavaScriptCore/wtf/StdLibExtras.h:77: warning: suggest parentheses around + or - in operand of & - - * wtf/StdLibExtras.h: - (WTF::bitCount): - -2009-12-13 Geoffrey Garen - - Reviewed by Sam Weinig. - - Changed GC from mark-sweep to mark-allocate. - - Added WeakGCMap to keep WebCore blissfully ignorant about objects that - have become garbage but haven't run their destructors yet. - - 1% SunSpider speedup. - 7.6% v8 speedup (37% splay speedup). - 17% speedup on bench-alloc-nonretained.js. - 18% speedup on bench-alloc-retained.js. - - * API/JSBase.cpp: - (JSGarbageCollect): - * API/JSContextRef.cpp: - * JavaScriptCore.exp: - * JavaScriptCore.xcodeproj/project.pbxproj: Updated for renames and new - files. - - * debugger/Debugger.cpp: - (JSC::Debugger::recompileAllJSFunctions): Updated to use the Collector - iterator abstraction. - - * jsc.cpp: - (functionGC): Updated for rename. - - * runtime/Collector.cpp: Slightly reduced the number of allocations per - collection, so that small workloads only allocate on collector block, - rather than two. - - (JSC::Heap::Heap): Updated to use the new allocateBlock function. - - (JSC::Heap::destroy): Updated to use the new freeBlocks function. - - (JSC::Heap::allocateBlock): New function to initialize a block when - allocating it. - - (JSC::Heap::freeBlock): Consolidated the responsibility for running - destructors into this function. - - (JSC::Heap::freeBlocks): Updated to use freeBlock. - - (JSC::Heap::recordExtraCost): Sweep the heap in this reporting function, - so that allocation, which is more common, doesn't have to check extraCost. - - (JSC::Heap::heapAllocate): Run destructors right before recycling a - garbage cell. This has better cache utilization than a separate sweep phase. - - (JSC::Heap::resizeBlocks): - (JSC::Heap::growBlocks): - (JSC::Heap::shrinkBlocks): New set of functions for managing the size of - the heap, now that the heap doesn't maintain any information about its - size. - - (JSC::isPointerAligned): - (JSC::isHalfCellAligned): - (JSC::isPossibleCell): - (JSC::isCellAligned): - (JSC::Heap::markConservatively): Cleaned up this code a bit. - - (JSC::Heap::clearMarkBits): - (JSC::Heap::markedCells): Some helper functions for examining the the mark - bitmap. - - (JSC::Heap::sweep): Simplified this function by using a DeadObjectIterator. - - (JSC::Heap::markRoots): Reordered some operations for clarity. - - (JSC::Heap::objectCount): - (JSC::Heap::addToStatistics): - (JSC::Heap::statistics): Rewrote these functions to calculate an object - count on demand, since the heap doesn't maintain this information by - itself. - - (JSC::Heap::reset): New function for resetting the heap once we've - exhausted heap space. - - (JSC::Heap::collectAllGarbage): This function matches the old collect() - behavior, but it's now an uncommon function used only by API. - - * runtime/Collector.h: - (JSC::CollectorBitmap::count): - (JSC::CollectorBitmap::isEmpty): Added some helper functions for managing - the collector mark bitmap. - - (JSC::Heap::reportExtraMemoryCost): Changed reporting from cell equivalents - to bytes, so it's easier to understand. - - * runtime/CollectorHeapIterator.h: - (JSC::CollectorHeapIterator::CollectorHeapIterator): - (JSC::CollectorHeapIterator::operator!=): - (JSC::CollectorHeapIterator::operator*): - (JSC::CollectorHeapIterator::advance): - (JSC::::LiveObjectIterator): - (JSC::::operator): - (JSC::::DeadObjectIterator): - (JSC::::ObjectIterator): New iterators for encapsulating details about - heap layout, and what's live and dead on the heap. - - * runtime/JSArray.cpp: - (JSC::JSArray::putSlowCase): - (JSC::JSArray::increaseVectorLength): Delay reporting extra cost until - we're fully constructed, so the heap mark phase won't visit us in an - invalid state. - - * runtime/JSCell.h: - (JSC::JSCell::): - (JSC::JSCell::createDummyStructure): - (JSC::JSCell::JSCell): - * runtime/JSGlobalData.cpp: - (JSC::JSGlobalData::JSGlobalData): - * runtime/JSGlobalData.h: Added a dummy cell to simplify allocation logic. - - * runtime/JSString.h: - (JSC::jsSubstring): Don't report extra cost for substrings, since they - share a buffer that's already reported extra cost. - - * runtime/Tracing.d: - * runtime/Tracing.h: Changed these dtrace hooks not to report object - counts, since they're no longer cheap to compute. - - * runtime/UString.h: Updated for renames. - - * runtime/WeakGCMap.h: Added. - (JSC::WeakGCMap::isEmpty): - (JSC::WeakGCMap::uncheckedGet): - (JSC::WeakGCMap::uncheckedBegin): - (JSC::WeakGCMap::uncheckedEnd): - (JSC::::get): - (JSC::::take): - (JSC::::set): - (JSC::::uncheckedRemove): Mentioned above. - - * wtf/StdLibExtras.h: - (WTF::bitCount): Added a bit population count function, so the heap can - count live objects to fulfill statistics questions. - -The very last cell in the block is not allocated -- should not be marked. - -2009-12-13 Geoffrey Garen - - Windows build fix: Export some new symbols. - - * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: - -2009-12-13 Geoffrey Garen - - Windows build fix: Removed some old exports. - - * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: - -2009-12-13 Geoffrey Garen - - Windows build fix: Use unsigned instead of uint32_t to avoid dependencies. - - * wtf/StdLibExtras.h: - (WTF::bitCount): - -2009-12-13 Gavin Barraclough - - Reviewed by NOBODY (speculative Windows build fix). - - * runtime/JSGlobalObjectFunctions.cpp: - -2009-12-13 Gavin Barraclough - - Reviewed by Sam Weinig. - - https://bugs.webkit.org/show_bug.cgi?id=32496 - Switch remaining cases of string construction to use StringBuilder. - Builds strings using a vector rather than using string append / addition. - - * JavaScriptCore.exp: - * JavaScriptCore.xcodeproj/project.pbxproj: - * runtime/Executable.cpp: - (JSC::FunctionExecutable::paramString): - * runtime/FunctionConstructor.cpp: - (JSC::constructFunction): - * runtime/JSGlobalObjectFunctions.cpp: - (JSC::encode): - (JSC::decode): - (JSC::globalFuncEscape): - (JSC::globalFuncUnescape): - * runtime/JSONObject.cpp: - (JSC::Stringifier::stringify): - (JSC::Stringifier::indent): - * runtime/JSString.h: - * runtime/LiteralParser.cpp: - (JSC::LiteralParser::Lexer::lexString): - * runtime/NumberPrototype.cpp: - (JSC::integerPartNoExp): - (JSC::numberProtoFuncToFixed): - (JSC::numberProtoFuncToPrecision): - * runtime/Operations.h: - (JSC::jsString): - * runtime/StringPrototype.cpp: - (JSC::substituteBackreferencesSlow): - (JSC::substituteBackreferences): - (JSC::stringProtoFuncConcat): - -2009-12-08 Jeremy Moskovich - - Reviewed by Eric Seidel. - - Add code to allow toggling ATSUI/Core Text rendering at runtime in ComplexTextController. - https://bugs.webkit.org/show_bug.cgi?id=31802 - - The goal here is to allow for a zero runtime hit for ports that decide to select - the API at compile time. - When both USE(ATSUI) and USE(CORE_TEXT) are true, the API is toggled - at runtime. Core Text is used for OS Versions >= 10.6. - - * wtf/Platform.h: #define USE_CORE_TEXT and USE_ATSUI on Chrome/Mac. - -2009-12-11 Maciej Stachowiak - - Reviewed by Oliver Hunt. - - Unify codegen for forward and backward variants of branches - https://bugs.webkit.org/show_bug.cgi?id=32463 - - * jit/JIT.h: - (JSC::JIT::emit_op_loop): Implemented in terms of forward variant. - (JSC::JIT::emit_op_loop_if_true): ditto - (JSC::JIT::emitSlow_op_loop_if_true): ditto - (JSC::JIT::emit_op_loop_if_false): ditto - (JSC::JIT::emitSlow_op_loop_if_false): ditto - (JSC::JIT::emit_op_loop_if_less): ditto - (JSC::JIT::emitSlow_op_loop_if_less): ditto - * jit/JITOpcodes.cpp: - -2009-12-11 Sam Weinig - - Reviewed by Anders Carlsson. - - Allow WTFs concept of the main thread to differ from pthreads when necessary. - - * wtf/ThreadingPthreads.cpp: - (WTF::initializeThreading): - (WTF::isMainThread): - * wtf/mac/MainThreadMac.mm: - (WTF::initializeMainThreadPlatform): - (WTF::scheduleDispatchFunctionsOnMainThread): - -2009-12-11 Gavin Barraclough - - Reviewed by Oliver Hunt. - - https://bugs.webkit.org/show_bug.cgi?id=32454 - Refactor construction of simple strings to avoid string concatenation. - - Building strings through concatenation has a memory and performance cost - - a memory cost since we must over-allocate the buffer to leave space to append - into, and performance in that the string may still require reallocation (and - thus copying during construction). Instead move the full construction to - within a single function call (makeString), so that the arguments' lengths - can be calculated and an appropriate sized buffer allocated before copying - any characters. - - ~No performance change (~2% progression on date tests). - - * bytecode/CodeBlock.cpp: - (JSC::escapeQuotes): - (JSC::valueToSourceString): - (JSC::constantName): - (JSC::idName): - (JSC::CodeBlock::registerName): - (JSC::regexpToSourceString): - (JSC::regexpName): - * bytecompiler/NodesCodegen.cpp: - (JSC::substitute): - * profiler/Profiler.cpp: - (JSC::Profiler::createCallIdentifier): - * runtime/DateConstructor.cpp: - (JSC::callDate): - * runtime/DateConversion.cpp: - (JSC::formatDate): - (JSC::formatDateUTCVariant): - (JSC::formatTime): - (JSC::formatTimeUTC): - * runtime/DateConversion.h: - (JSC::): - * runtime/DatePrototype.cpp: - (JSC::dateProtoFuncToString): - (JSC::dateProtoFuncToUTCString): - (JSC::dateProtoFuncToDateString): - (JSC::dateProtoFuncToTimeString): - (JSC::dateProtoFuncToGMTString): - * runtime/ErrorPrototype.cpp: - (JSC::errorProtoFuncToString): - * runtime/ExceptionHelpers.cpp: - (JSC::createUndefinedVariableError): - (JSC::createErrorMessage): - (JSC::createInvalidParamError): - * runtime/FunctionPrototype.cpp: - (JSC::insertSemicolonIfNeeded): - (JSC::functionProtoFuncToString): - * runtime/ObjectPrototype.cpp: - (JSC::objectProtoFuncToString): - * runtime/RegExpConstructor.cpp: - (JSC::constructRegExp): - * runtime/RegExpObject.cpp: - (JSC::RegExpObject::match): - * runtime/RegExpPrototype.cpp: - (JSC::regExpProtoFuncCompile): - (JSC::regExpProtoFuncToString): - * runtime/StringPrototype.cpp: - (JSC::stringProtoFuncBig): - (JSC::stringProtoFuncSmall): - (JSC::stringProtoFuncBlink): - (JSC::stringProtoFuncBold): - (JSC::stringProtoFuncFixed): - (JSC::stringProtoFuncItalics): - (JSC::stringProtoFuncStrike): - (JSC::stringProtoFuncSub): - (JSC::stringProtoFuncSup): - (JSC::stringProtoFuncFontcolor): - (JSC::stringProtoFuncFontsize): - (JSC::stringProtoFuncAnchor): - * runtime/UString.h: - (JSC::): - (JSC::makeString): - -2009-12-10 Gavin Barraclough - - Reviewed by Oliver Hunt. - - https://bugs.webkit.org/show_bug.cgi?id=32400 - Switch remaining cases of string addition to use ropes. - - Re-landing r51975 - added toPrimitiveString method, - performs toPrimitive then subsequent toString operations. - - ~1% progression on Sunspidey. - - * jit/JITStubs.cpp: - (JSC::DEFINE_STUB_FUNCTION): - * runtime/JSString.h: - (JSC::JSString::JSString): - (JSC::JSString::appendStringInConstruct): - * runtime/Operations.cpp: - (JSC::jsAddSlowCase): - * runtime/Operations.h: - (JSC::jsString): - (JSC::jsAdd): - -2009-12-11 Adam Roben - - Windows build fix - - * JavaScriptCore.vcproj/jsc/jscCommon.vsprops: Added - $(WebKitOutputDir)/include/private to the include path. - -2009-12-11 Adam Roben - - Move QuartzCorePresent.h to include/private - - This fixes other projects that use wtf/Platform.h - - Rubber-stamped by Steve Falkenburg. - - * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Let VS do its thang. - * JavaScriptCore.vcproj/JavaScriptCore/build-generated-files.sh: Write - QuartzCorePresent.h to $(WebKitOutputDir)/include/private. - - * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops: - * JavaScriptCore.vcproj/WTF/WTFCommon.vsprops: - Added $(WebKitOutputDir)/include/private to the include path. - -2009-12-11 Adam Roben - - Fix clean builds and everything rebuilding on every build - - Reviewed by Sam Weinig. - - * JavaScriptCore.vcproj/JavaScriptCore/build-generated-files.sh: Don't - write out QuartzCorePresent.h if it exists but is older than - QuartzCore.h. Also, create the directory we write QuartzCorePresent.h - into first. - -2009-12-11 Adam Roben - - Windows build fix for systems with spaces in their paths - - * JavaScriptCore.vcproj/JavaScriptCore/build-generated-files.sh: Quote some paths. - -2009-12-11 Chris Marrin - - Reviewed by Adam Roben. - - Add check for presence of QuartzCore headers - https://bugs.webkit.org/show_bug.cgi?id=31856 - - The script now checks for the presence of QuartzCore.h. If present - it will turn on ACCELERATED_COMPOSITING and 3D_RENDERING to enable - HW compositing on Windows. The script writes QuartzCorePresent.h to - the build directory which has a define telling whether QuartzCore is - present. - - * JavaScriptCore.vcproj/JavaScriptCore/build-generated-files.sh: - * wtf/Platform.h: - -2009-12-11 Kent Tamura - - Reviewed by Darin Adler. - - Fix a problem that JSC::gregorianDateTimeToMS() returns a negative - value for a huge year value. - https://bugs.webkit.org/show_bug.cgi?id=32304 - - * wtf/DateMath.cpp: - (WTF::dateToDaysFrom1970): Renamed from dateToDayInYear, and changed the return type to double. - (WTF::calculateDSTOffset): Follow the dateToDaysFrom1970() change. - (WTF::timeClip): Use maxECMAScriptTime. - (JSC::gregorianDateTimeToMS): Follow the dateToDaysFrom1970() change. - -2009-12-10 Adam Barth - - No review, rolling out r51975. - http://trac.webkit.org/changeset/51975 - - * jit/JITStubs.cpp: - (JSC::DEFINE_STUB_FUNCTION): - * runtime/JSString.h: - (JSC::JSString::JSString): - (JSC::JSString::appendStringInConstruct): - * runtime/Operations.cpp: - (JSC::jsAddSlowCase): - * runtime/Operations.h: - (JSC::jsString): - (JSC::jsAdd): - -2009-12-10 Oliver Hunt - - Reviewed by Gavin Barraclough. - - Incorrect caching of prototype lookup with dictionary base - https://bugs.webkit.org/show_bug.cgi?id=32402 - - Make sure we don't add cached prototype lookup to the proto_list - lookup chain if the top level object is a dictionary. - - * jit/JITStubs.cpp: - (JSC::JITThunks::tryCacheGetByID): - -2009-12-10 Gavin Barraclough - - Reviewed by Oliver Hunt. - - https://bugs.webkit.org/show_bug.cgi?id=32400 - Switch remaining cases of string addition to use ropes. - - ~1% progression on Sunspidey. - - * jit/JITStubs.cpp: - (JSC::DEFINE_STUB_FUNCTION): - * runtime/JSString.h: - (JSC::JSString::JSString): - (JSC::JSString::appendStringInConstruct): - * runtime/Operations.cpp: - (JSC::jsAddSlowCase): - * runtime/Operations.h: - (JSC::jsString): - (JSC::jsAdd): - -2009-12-10 Kent Hansen - - Reviewed by Geoffrey Garen. - - Remove JSObject::getPropertyAttributes() and all usage of it. - https://bugs.webkit.org/show_bug.cgi?id=31933 - - getOwnPropertyDescriptor() should be used instead. - - * JavaScriptCore.exp: - * JavaScriptCore.order: - * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: - * debugger/DebuggerActivation.cpp: - (JSC::DebuggerActivation::getOwnPropertyDescriptor): - * debugger/DebuggerActivation.h: - * runtime/JSObject.cpp: - (JSC::JSObject::propertyIsEnumerable): - * runtime/JSObject.h: - * runtime/JSVariableObject.cpp: - * runtime/JSVariableObject.h: - -2009-12-10 Gavin Barraclough - - Reviewed by Oliver Hunt & Mark Rowe. - - https://bugs.webkit.org/show_bug.cgi?id=32367 - Add support for short Ropes (up to 3 entries) inline within JSString. - (rather than externally allocating an object to hold the rope). - Switch jsAdd of (JSString* + JSString*) to now make use of Ropes. - - ~1% progression on Sunspidey. - - * interpreter/Interpreter.cpp: - (JSC::Interpreter::privateExecute): - * jit/JITOpcodes.cpp: - (JSC::JIT::privateCompileCTIMachineTrampolines): - * jit/JITStubs.cpp: - (JSC::DEFINE_STUB_FUNCTION): - * runtime/JSString.cpp: - (JSC::JSString::resolveRope): - (JSC::JSString::toBoolean): - (JSC::JSString::getStringPropertyDescriptor): - * runtime/JSString.h: - (JSC::JSString::Rope::Fiber::deref): - (JSC::JSString::Rope::Fiber::ref): - (JSC::JSString::Rope::Fiber::refAndGetLength): - (JSC::JSString::Rope::append): - (JSC::JSString::JSString): - (JSC::JSString::~JSString): - (JSC::JSString::value): - (JSC::JSString::tryGetValue): - (JSC::JSString::length): - (JSC::JSString::canGetIndex): - (JSC::JSString::appendStringInConstruct): - (JSC::JSString::appendValueInConstructAndIncrementLength): - (JSC::JSString::isRope): - (JSC::JSString::string): - (JSC::JSString::ropeLength): - (JSC::JSString::getStringPropertySlot): - * runtime/Operations.h: - (JSC::jsString): - (JSC::jsAdd): - (JSC::resolveBase): - -2009-12-09 Anders Carlsson - - Reviewed by Geoffrey Garen. - - Fix three more things found by compiling with clang++. - - * runtime/Structure.h: - (JSC::StructureTransitionTable::reifySingleTransition): - Add the 'std' qualifier to the call to make_pair. - - * wtf/DateMath.cpp: - (WTF::initializeDates): - Incrementing a bool is deprecated according to the C++ specification. - - * wtf/PtrAndFlags.h: - (WTF::PtrAndFlags::PtrAndFlags): - Name lookup should not be done in dependent bases, so explicitly qualify the call to set. - -2009-12-09 Maciej Stachowiak - - Reviewed by Oliver Hunt. - - Google reader gets stuck in the "Loading..." state and does not complete - https://bugs.webkit.org/show_bug.cgi?id=32256 - - - * jit/JITArithmetic.cpp: - (JSC::JIT::emitSlow_op_jless): Fix some backward branches. - -2009-12-09 Gavin Barraclough - - Reviewed by Oliver Hunt. - - https://bugs.webkit.org/show_bug.cgi?id=32228 - Make destruction of ropes non-recursive to prevent stack exhaustion. - Also, pass a UString& into initializeFiber rather than a Ustring::Rep*, - since the Rep is not being ref counted this could result in usage of a - Rep with refcount zero (where the Rep comes from a temporary UString - returned from a function). - - * runtime/JSString.cpp: - (JSC::JSString::Rope::destructNonRecursive): - (JSC::JSString::Rope::~Rope): - * runtime/JSString.h: - (JSC::JSString::Rope::initializeFiber): - * runtime/Operations.h: - (JSC::concatenateStrings): - -2009-12-09 Zoltan Herczeg - - Reviewed by Eric Seidel. - - https://bugs.webkit.org/show_bug.cgi?id=31930 - - Update to r51457. ASSERTs changed to COMPILE_ASSERTs. - The speedup is 25%. - - * runtime/JSGlobalData.cpp: - (JSC::VPtrSet::VPtrSet): - -2009-12-09 Steve Block - - Reviewed by Adam Barth. - - Updates Android Makefiles with latest additions. - https://bugs.webkit.org/show_bug.cgi?id=32278 - - * Android.mk: Modified. - * Android.v8.wtf.mk: Modified. - -2009-12-09 Sam Weinig - - Reviewed by Gavin Barraclough. - - Fix a bug found while trying to compile JavaScriptCore with clang++. - - * yarr/RegexPattern.h: - (JSC::Yarr::PatternTerm::PatternTerm): Don't self assign here. Use false instead. - -2009-12-09 Anders Carlsson - - Reviewed by Sam Weinig. - - Attempt to fix the Windows build. - - * wtf/FastMalloc.h: - -2009-12-09 Anders Carlsson - - Reviewed by Sam Weinig. - - Fix some things found while trying to compile JavaScriptCore with clang++. - - * wtf/FastMalloc.h: - Add correct exception specifications for the allocation/deallocation operators. - - * wtf/Vector.h: - * wtf/VectorTraits.h: - Fix a bunch of struct/class mismatches. - -2009-12-08 Maciej Stachowiak - - Reviewed by Darin Adler. - - move code generation portions of Nodes.cpp to bytecompiler directory - https://bugs.webkit.org/show_bug.cgi?id=32284 - - * bytecompiler/NodesCodegen.cpp: Copied from parser/Nodes.cpp. Removed parts that - are not about codegen. - * parser/Nodes.cpp: Removed everything that is about codegen. - - Update build systems: - - * Android.mk: - * GNUmakefile.am: - * JavaScriptCore.gypi: - * JavaScriptCore.pri: - * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: - * JavaScriptCore.xcodeproj/project.pbxproj: - * JavaScriptCoreSources.bkl: - -2009-12-08 Kevin Watters - - Reviewed by Kevin Ollivier. - - [wx] Mac plugins support. - - https://bugs.webkit.org/show_bug.cgi?id=32236 - - * wtf/Platform.h: - -2009-12-08 Dmitry Titov - - Rubber-stamped by David Levin. - - Revert and reopen "Add asserts to RefCounted to make sure ref/deref happens on the right thread." - It may have caused massive increase of reported leaks on the bots. - https://bugs.webkit.org/show_bug.cgi?id=31639 - - * GNUmakefile.am: - * JavaScriptCore.gypi: - * JavaScriptCore.vcproj/WTF/WTF.vcproj: - * JavaScriptCore.xcodeproj/project.pbxproj: - * runtime/Structure.cpp: - (JSC::Structure::Structure): - * wtf/RefCounted.h: - (WTF::RefCountedBase::ref): - (WTF::RefCountedBase::hasOneRef): - (WTF::RefCountedBase::refCount): - (WTF::RefCountedBase::derefBase): - * wtf/ThreadVerifier.h: Removed. - -2009-12-08 Gustavo Noronha Silva - - Reviewed by Darin Adler. - - Make WebKit build correctly on FreeBSD, IA64, and Alpha. - Based on work by Petr Salinger , - and Colin Watson . - - * wtf/Platform.h: - -2009-12-08 Dmitry Titov - - Reviewed by Darin Adler. - - Add asserts to RefCounted to make sure ref/deref happens on the right thread. - https://bugs.webkit.org/show_bug.cgi?id=31639 - - * runtime/Structure.cpp: - (JSC::Structure::Structure): Disable thread verification on this class since it uses addressOfCount(). - * wtf/RefCounted.h: - (WTF::RefCountedBase::ref): Add ASSERT. - (WTF::RefCountedBase::hasOneRef): Ditto. - (WTF::RefCountedBase::refCount): Ditto. - (WTF::RefCountedBase::derefBase): Ditto. - (WTF::RefCountedBase::disableThreadVerification): delegate to ThreadVerifier method. - * wtf/ThreadVerifier.h: Added. - (WTF::ThreadVerifier::ThreadVerifier): New Debug-only class to verify that ref/deref of RefCounted is done on the same thread. - (WTF::ThreadVerifier::activate): Activates checks. Called when ref count becomes above 2. - (WTF::ThreadVerifier::deactivate): Deactivates checks. Called when ref count drops below 2. - (WTF::ThreadVerifier::disableThreadVerification): used on objects that should not be checked (StringImpl etc) - (WTF::ThreadVerifier::verifyThread): - * GNUmakefile.am: Add ThreadVerifier.h to the build file. - * JavaScriptCore.gypi: Ditto. - * JavaScriptCore.vcproj/WTF/WTF.vcproj: Ditto. - * JavaScriptCore.xcodeproj/project.pbxproj: Ditto. - -2009-12-08 Steve Block - - Reviewed by Adam Barth. - - [Android] Adds Makefiles for Android port. - https://bugs.webkit.org/show_bug.cgi?id=31325 - - * Android.mk: Added. - * Android.v8.wtf.mk: Added. - -2009-12-07 Dmitry Titov - - Rubber-stamped by Darin Adler. - - Remove ENABLE_SHARED_SCRIPT flags - https://bugs.webkit.org/show_bug.cgi?id=32245 - This patch was obtained by "git revert" command and then un-reverting of ChangeLog files. - - * Configurations/FeatureDefines.xcconfig: - * wtf/Platform.h: - -2009-12-07 Gavin Barraclough - - Reviewed by NOBODY (Windows build fixage part I). - - * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: - -2009-12-05 Gavin Barraclough - - Reviewed by Oliver Hunt. - - https://bugs.webkit.org/show_bug.cgi?id=32184 - 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. - - * 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): - -2009-12-07 Nikolas Zimmermann - - Reviewed by Holger Freyther. - - Turn on (SVG) Filters support, by default. - https://bugs.webkit.org/show_bug.cgi?id=32224 - - * Configurations/FeatureDefines.xcconfig: Enable FILTERS build flag. - -2009-12-07 Steve Falkenburg - - Build fix. Be flexible about which version of ICU is used on Windows. - - * JavaScriptCore.vcproj/jsc/jscCommon.vsprops: Add optional xcopy commands to copy ICU 4.2. - -2009-12-07 Maciej Stachowiak - - Reviewed by Oliver Hunt. - - op_loop_if_less JIT codegen is broken for 64-bit - https://bugs.webkit.org/show_bug.cgi?id=32221 - - * jit/JITOpcodes.cpp: - (JSC::JIT::emit_op_loop_if_false): Fix codegen in this version - test was backwards. - -2009-12-07 Oliver Hunt - - Reviewed by Maciej Stachowiak. - - Object.create fails if properties on the descriptor are getters - https://bugs.webkit.org/show_bug.cgi?id=32219 - - Correctly initialise the PropertySlots with the descriptor object. - - * runtime/ObjectConstructor.cpp: - (JSC::toPropertyDescriptor): - -2009-12-06 Maciej Stachowiak - - Not reviewed, build fix. - - Actually tested 64-bit *and* 32-bit build this time. - - * jit/JITOpcodes.cpp: - (JSC::JIT::emit_op_loop_if_false): - -2009-12-06 Maciej Stachowiak - - Not reviewed, build fix. - - Really really fix 64-bit build for prior patch (actually tested this time). - - * jit/JITOpcodes.cpp: - (JSC::JIT::emit_op_loop_if_false): - (JSC::JIT::emitSlow_op_loop_if_false): - -2009-12-06 Maciej Stachowiak - - Not reviewed, build fix. - - Really fix 64-bit build for prior patch. - - * jit/JITArithmetic.cpp: - (JSC::JIT::emitSlow_op_jless): - -2009-12-06 Maciej Stachowiak - - Not reviewed, build fix. - - Fix 64-bit build for prior patch. - - * jit/JITOpcodes.cpp: - (JSC::JIT::emitSlow_op_loop_if_less): - -2009-12-05 Maciej Stachowiak - - Reviewed by Oliver Hunt. - - conway benchmark spends half it's time in op_less (jump fusion fails) - https://bugs.webkit.org/show_bug.cgi?id=32190 - - <1% speedup on SunSpider and V8 - 2x speedup on "conway" benchmark - - Two optimizations: - 1) Improve codegen for logical operators &&, || and ! in a condition context - - When generating code for combinations of &&, || and !, in a - condition context (i.e. in an if statement or loop condition), we - used to produce a value, and then separately jump based on its - truthiness. Now we pass the false and true targets in, and let the - logical operators generate jumps directly. This helps in four - ways: - - a) Individual clauses of a short-circuit logical operator can now - jump directly to the then or else clause of an if statement (or to - the top or exit of a loop) instead of jumping to a jump. - - b) It used to be that jump fusion with the condition of the first - clause of a logical operator was inhibited, because the register - was ref'd to be used later, in the actual condition jump; this no - longer happens since a jump straight to the final target is - generated directly. - - c) It used to be that jump fusion with the condition of the second - clause of a logical operator was inhibited, because there was a - jump target right after the second clause and before the actual - condition jump. But now it's no longer necessary for the first - clause to jump there so jump fusion is not blocked. - - d) We avoid generating excess mov statements in some cases. - - As a concrete example this source: - - if (!((x < q && y < q) || (t < q && z < q))) { - // ... - } - - Used to generate this bytecode: - - [ 34] less r1, r-15, r-19 - [ 38] jfalse r1, 7(->45) - [ 41] less r1, r-16, r-19 - [ 45] jtrue r1, 14(->59) - [ 48] less r1, r-17, r-19 - [ 52] jfalse r1, 7(->59) - [ 55] less r1, r-18, r-19 - [ 59] jtrue r1, 17(->76) - - And now generates this bytecode (also taking advantage of the second optimization below): - - [ 34] jnless r-15, r-19, 8(->42) - [ 38] jless r-16, r-19, 26(->64) - [ 42] jnless r-17, r-19, 8(->50) - [ 46] jless r-18, r-19, 18(->64) - - Note the jump fusion and the fact that there's less jump - indirection - three of the four jumps go straight to the target - clause instead of indirecting through another jump. - - 2) Implement jless opcode to take advantage of the above, since we'll now often generate - a less followed by a jtrue where fusion is not forbidden. - - * parser/Nodes.h: - (JSC::ExpressionNode::hasConditionContextCodegen): Helper function to determine - whether a node supports special conditional codegen. Return false as this is the default. - (JSC::ExpressionNode::emitBytecodeInConditionContext): Assert not reached - only really - defined for nodes that do have conditional codegen. - (JSC::UnaryOpNode::expr): Add const version. - (JSC::LogicalNotNode::hasConditionContextCodegen): Returne true only if subexpression - supports it. - (JSC::LogicalOpNode::hasConditionContextCodegen): Return true. - * parser/Nodes.cpp: - (JSC::LogicalNotNode::emitBytecodeInConditionContext): Implemented - just swap - the true and false targets for the child node. - (JSC::LogicalOpNode::emitBytecodeInConditionContext): Implemented - handle jumps - directly, improving codegen quality. Also handles further nested conditional codegen. - (JSC::ConditionalNode::emitBytecode): Use condition context codegen when available. - (JSC::IfNode::emitBytecode): ditto - (JSC::IfElseNode::emitBytecode): ditto - (JSC::DoWhileNode::emitBytecode): ditto - (JSC::WhileNode::emitBytecode): ditto - (JSC::ForNode::emitBytecode): ditto - - * bytecode/Opcode.h: - - Added loop_if_false opcode - needed now that falsey jumps can be backwards. - - Added jless opcode to take advantage of new fusion opportunities. - * bytecode/CodeBlock.cpp: - (JSC::CodeBlock::dump): Handle above. - * bytecompiler/BytecodeGenerator.cpp: - (JSC::BytecodeGenerator::emitJumpIfTrue): Add peephole for less + jtrue ==> jless. - (JSC::BytecodeGenerator::emitJumpIfFalse): Add handling of backwrds falsey jumps. - * bytecompiler/BytecodeGenerator.h: - (JSC::BytecodeGenerator::emitNodeInConditionContext): Wrapper to handle tracking of - overly deep expressions etc. - * interpreter/Interpreter.cpp: - (JSC::Interpreter::privateExecute): Implement the two new opcodes (loop_if_false, jless). - * jit/JIT.cpp: - (JSC::JIT::privateCompileMainPass): Implement JIT support for the two new opcodes. - (JSC::JIT::privateCompileSlowCases): ditto - * jit/JIT.h: - * jit/JITArithmetic.cpp: - (JSC::JIT::emit_op_jless): - (JSC::JIT::emitSlow_op_jless): ditto - (JSC::JIT::emitBinaryDoubleOp): ditto - * jit/JITOpcodes.cpp: - (JSC::JIT::emitSlow_op_loop_if_less): ditto - (JSC::JIT::emit_op_loop_if_false): ditto - (JSC::JIT::emitSlow_op_loop_if_false): ditto - * jit/JITStubs.cpp: - * jit/JITStubs.h: - (JSC::): - -2009-12-04 Kent Hansen - - Reviewed by Darin Adler. - - JavaScript delete operator should return false for string properties - https://bugs.webkit.org/show_bug.cgi?id=32012 - - * runtime/StringObject.cpp: - (JSC::StringObject::deleteProperty): - -2009-12-03 Drew Wilson - - Rolled back r51633 because it causes a perf regression in Chromium. - - * wtf/Platform.h: - -2009-12-03 Gavin Barraclough - - Try and fix the Windows build. - - * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: Export a symbol that should be exported. - -2009-12-03 Mark Rowe - - Try and fix the Mac build. - - * JavaScriptCore.exp: Export a symbol that should be exported. - -2009-12-03 Oliver Hunt - - Reviewed by Gavin Barraclough. - - REGRESSION(4.0.3-48777): Crash in JSC::ExecState::propertyNames() (Debug-only?) - https://bugs.webkit.org/show_bug.cgi?id=32133 - - Work around odd GCC-ism and correct the scopechain for use by - calls made while a cachedcall is active on the callstack. - - * interpreter/CachedCall.h: - (JSC::CachedCall::newCallFrame): - * runtime/JSArray.cpp: - (JSC::AVLTreeAbstractorForArrayCompare::compare_key_key): - * runtime/StringPrototype.cpp: - (JSC::stringProtoFuncReplace): - -2009-12-03 Gavin Barraclough - - Reviewed by Oliver "Brraaaaiiiinnnnnzzzzzzzz" Hunt. - - https://bugs.webkit.org/show_bug.cgi?id=32136 - Add a rope representation to JSString. Presently JSString always holds its data in UString form. - Instead, allow the result of a string concatenation to be represented in a tree form - with a - variable sized, reference-counted rope node retaining a set of UString::Reps (or other rope nopes). - - Strings must still currently be resolved down to a flat UString representation before being used, - but by holding the string in a rope representation during construction we can avoid copying data - until we know the final size of the string. - - ~2% progression on SunSpider (~25% on date-format-xparb, ~20% on string-validate-input). - - * JavaScriptCore.exp: - - - Update exports. - - * interpreter/Interpreter.cpp: - (JSC::Interpreter::privateExecute): - - - Make use of new JSString::length() method to avoid prematurely resolving ropes. - - * jit/JITOpcodes.cpp: - (JSC::JIT::privateCompileCTIMachineTrampolines): - - - Switch the string length trampoline to read the length directly from JSString::m_length, - rather than from the JSString's UString::Rep's 'len' property. - - * jit/JITStubs.cpp: - (JSC::DEFINE_STUB_FUNCTION): - - - Modify op_add such that addition of two strings, where either or both strings are already - in rope representation, produces a rope as a result. - - * runtime/JSString.cpp: - (JSC::JSString::Rope::~Rope): - (JSC::copyChars): - (JSC::JSString::resolveRope): - (JSC::JSString::getPrimitiveNumber): - (JSC::JSString::toBoolean): - (JSC::JSString::toNumber): - (JSC::JSString::toString): - (JSC::JSString::toThisString): - (JSC::JSString::getStringPropertyDescriptor): - * runtime/JSString.h: - (JSC::JSString::Rope::Fiber::Fiber): - (JSC::JSString::Rope::Fiber::destroy): - (JSC::JSString::Rope::Fiber::isRope): - (JSC::JSString::Rope::Fiber::rope): - (JSC::JSString::Rope::Fiber::string): - (JSC::JSString::Rope::create): - (JSC::JSString::Rope::initializeFiber): - (JSC::JSString::Rope::ropeLength): - (JSC::JSString::Rope::stringLength): - (JSC::JSString::Rope::fibers): - (JSC::JSString::Rope::Rope): - (JSC::JSString::Rope::operator new): - (JSC::JSString::JSString): - (JSC::JSString::value): - (JSC::JSString::length): - (JSC::JSString::isRope): - (JSC::JSString::rope): - (JSC::JSString::string): - (JSC::JSString::canGetIndex): - (JSC::jsSingleCharacterSubstring): - (JSC::JSString::getIndex): - (JSC::jsSubstring): - (JSC::JSString::getStringPropertySlot): - - - Add rope form. - - * runtime/Operations.h: - (JSC::jsAdd): - (JSC::concatenateStrings): - - - Update string concatenation, and addition of ropes, to produce ropes. - - * runtime/StringObject.cpp: - (JSC::StringObject::getOwnPropertyNames): - - - Make use of new JSString::length() method to avoid prematurely resolving ropes. - -2009-11-23 Jeremy Moskovich - - Reviewed by Eric Seidel. - - Switch Chrome/Mac to use Core Text APIs rather than ATSUI APIs. - https://bugs.webkit.org/show_bug.cgi?id=31802 - - No test since this is already covered by existing pixel tests. - - * wtf/Platform.h: #define USE_CORE_TEXT for Chrome/Mac. - -2009-12-02 Oliver Hunt - - Reviewed by Gavin Barraclough. - - Add files missed in prior patch. - - * runtime/JSZombie.cpp: - (JSC::): - (JSC::JSZombie::leakedZombieStructure): - * runtime/JSZombie.h: Added. - (JSC::JSZombie::JSZombie): - (JSC::JSZombie::isZombie): - (JSC::JSZombie::classInfo): - (JSC::JSZombie::isGetterSetter): - (JSC::JSZombie::isAPIValueWrapper): - (JSC::JSZombie::isPropertyNameIterator): - (JSC::JSZombie::getCallData): - (JSC::JSZombie::getConstructData): - (JSC::JSZombie::getUInt32): - (JSC::JSZombie::toPrimitive): - (JSC::JSZombie::getPrimitiveNumber): - (JSC::JSZombie::toBoolean): - (JSC::JSZombie::toNumber): - (JSC::JSZombie::toString): - (JSC::JSZombie::toObject): - (JSC::JSZombie::markChildren): - (JSC::JSZombie::put): - (JSC::JSZombie::deleteProperty): - (JSC::JSZombie::toThisObject): - (JSC::JSZombie::toThisString): - (JSC::JSZombie::toThisJSString): - (JSC::JSZombie::getJSNumber): - (JSC::JSZombie::getOwnPropertySlot): - -2009-12-02 Oliver Hunt - - Reviewed by Gavin Barraclough. - - Add zombies to JSC - https://bugs.webkit.org/show_bug.cgi?id=32103 - - Add a compile time flag to make the JSC collector replace "unreachable" - objects with zombie objects. The zombie object is a JSCell subclass that - ASSERTs on any attempt to use the JSCell methods. In addition there are - a number of additional assertions in bottleneck code to catch zombie usage - as quickly as possible. - - Grrr. Argh. Brains. - - * JavaScriptCore.xcodeproj/project.pbxproj: - * interpreter/Register.h: - (JSC::Register::Register): - * runtime/ArgList.h: - (JSC::MarkedArgumentBuffer::append): - (JSC::ArgList::ArgList): - * runtime/Collector.cpp: - (JSC::Heap::destroy): - (JSC::Heap::sweep): - * runtime/Collector.h: - * runtime/JSCell.h: - (JSC::JSCell::isZombie): - (JSC::JSValue::isZombie): - * runtime/JSValue.h: - (JSC::JSValue::decode): - (JSC::JSValue::JSValue): - * wtf/Platform.h: - -2009-12-01 Jens Alfke - - Reviewed by Darin Adler. - - Added variants of find/contains/add that allow a foreign key type to be used. - This will allow AtomicString-keyed maps to be queried by C string without - having to create a temporary AtomicString (see HTTPHeaderMap.) - The code for this is adapted from the equivalent in HashSet.h. - - * wtf/HashMap.h: - (WTF::HashMap::find): - (WTF::HashMap::contains): - (WTF::HashMap::add): - * wtf/HashSet.h: Changed "method" to "function member" in a comment. - -2009-12-01 Gustavo Noronha Silva - - Revert 51551 because it broke GTK+. - - * wtf/Platform.h: - -2009-11-30 Gavin Barraclough - - Windows Build fix. Reviewed by NOBODY. - - * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: - -2009-11-24 Gavin Barraclough - - Reviewed by Geoff Garen. - - Bug 31859 - Make world selection for JSC IsolatedWorlds automagical. - - WebCore presently has to explicitly specify the world before entering into JSC, - which is a little fragile (particularly since property access via a - getter/setter might invoke execution). Instead derive the current world from - the lexical global object. - - Remove the temporary duct tape of willExecute/didExecute virtual hooks on the JSGlobalData::ClientData - these are no longer necessary. - - * API/JSBase.cpp: - (JSEvaluateScript): - * API/JSObjectRef.cpp: - (JSObjectCallAsFunction): - * JavaScriptCore.exp: - * runtime/JSGlobalData.cpp: - * runtime/JSGlobalData.h: - -2009-11-30 Laszlo Gombos - - Reviewed by Kenneth Rohde Christiansen. - - [Qt] Remove obsolete PLATFORM(KDE) code - https://bugs.webkit.org/show_bug.cgi?id=31958 - - KDE is now using unpatched QtWebKit. - - * parser/Lexer.cpp: Remove obsolete KDE_USE_FINAL guard - * wtf/Platform.h: Remove PLATFORM(KDE) definition and code - section that is guarded with it. - -2009-11-30 Jan-Arve Sæther - - Reviewed by Simon Hausmann. - - [Qt] Fix compilation with win32-icc - - The Intel compiler does not support the __has_trivial_constructor type - trait. The Intel Compiler can report itself as _MSC_VER >= 1400. The - reason for that is that the Intel Compiler depends on the Microsoft - Platform SDK, and in order to try to be "fully" MS compatible it will - "pretend" to be the same MS compiler as was shipped with the MS PSDK. - (Thus, compiling with win32-icc with VC8 SDK will make the source code - "think" the compiler at hand supports this type trait). - - * wtf/TypeTraits.h: - -2009-11-29 Laszlo Gombos - - Reviewed by Eric Seidel. - - [Qt] Mac build has JIT disabled - https://bugs.webkit.org/show_bug.cgi?id=31828 - - * wtf/Platform.h: Enable JIT for Qt Mac builds - -2009-11-28 Laszlo Gombos - - Reviewed by Eric Seidel. - - Apply workaround for the limitation of VirtualFree with MEM_RELEASE to all ports running on Windows - https://bugs.webkit.org/show_bug.cgi?id=31943 - - * runtime/MarkStack.h: - (JSC::MarkStack::MarkStackArray::shrinkAllocation): - -2009-11-28 Zoltan Herczeg - - Reviewed by Gavin Barraclough. - - https://bugs.webkit.org/show_bug.cgi?id=31930 - - Seems a typo. We don't need ~270k memory to determine the vptrs. - - * runtime/JSGlobalData.cpp: - (JSC::VPtrSet::VPtrSet): - -2009-11-27 Shinichiro Hamaji - - Unreviewed. - - Move GOwnPtr* from wtf to wtf/gtk - https://bugs.webkit.org/show_bug.cgi?id=31793 - - Build fix for chromium after r51423. - Exclude gtk directory from chromium build. - - * JavaScriptCore.gyp/JavaScriptCore.gyp: - -2009-11-25 Oliver Hunt - - Reviewed by Gavin Barraclough. - - Incorrect behaviour of jneq_null in the interpreter - https://bugs.webkit.org/show_bug.cgi?id=31901 - - Correct the logic of jneq_null. This is already covered by existing tests. - - * interpreter/Interpreter.cpp: - (JSC::Interpreter::privateExecute): - -2009-11-26 Laszlo Gombos - - Reviewed by Oliver Hunt. - - Move GOwnPtr* from wtf to wtf/gtk - https://bugs.webkit.org/show_bug.cgi?id=31793 - - * GNUmakefile.am: Change the path for GOwnPtr.*. - * JavaScriptCore.gyp/JavaScriptCore.gyp: Remove - GOwnPtr.cpp from the exclude list. - * JavaScriptCore.gypi: Change the path for GOwnPtr.*. - * wscript: Remove GOwnPtr.cpp from the exclude list. - * wtf/GOwnPtr.cpp: Removed. - * wtf/GOwnPtr.h: Removed. - * wtf/Threading.h: Change the path for GOwnPtr.h. - * wtf/gtk/GOwnPtr.cpp: Copied from JavaScriptCore/wtf/GOwnPtr.cpp. - * wtf/gtk/GOwnPtr.h: Copied from JavaScriptCore/wtf/GOwnPtr.h. - * wtf/unicode/glib/UnicodeGLib.h: Change the path for GOwnPtr.h. - -2009-11-24 Dmitry Titov - - Reviewed by Eric Seidel. - - Add ENABLE_SHARED_SCRIPT feature define and flag for build-webkit - https://bugs.webkit.org/show_bug.cgi?id=31444 - - * Configurations/FeatureDefines.xcconfig: - * wtf/Platform.h: - -2009-11-24 Chris Marrin - - Reviewed by Simon Fraser. - - Add ability to enable ACCELERATED_COMPOSITING on Windows (currently disabled) - https://bugs.webkit.org/show_bug.cgi?id=27314 - - * wtf/Platform.h: - -2009-11-24 Jason Smith - - Reviewed by Alexey Proskuryakov. - - RegExp#exec's returned Array-like object behaves differently from - regular Arrays - https://bugs.webkit.org/show_bug.cgi?id=31689 - - * JavaScriptCore/runtime/RegExpConstructor.cpp: ensure that undefined - values are added to the returned RegExpMatchesArray - -2009-11-24 Oliver Hunt - - Reviewed by Alexey Proskuryakov. - - JSON.stringify performance on undefined is very poor - https://bugs.webkit.org/show_bug.cgi?id=31839 - - Switch from a UString to a Vector when building - the JSON string, allowing us to safely remove the substr-copy - we otherwise did when unwinding an undefined property. - - Also turns out to be a ~5% speedup on stringification. - - * runtime/JSONObject.cpp: - (JSC::Stringifier::StringBuilder::append): - (JSC::Stringifier::stringify): - (JSC::Stringifier::Holder::appendNextProperty): - -2009-11-24 Mark Rowe - - Fix production builds where the source tree may be read-only. - - * JavaScriptCore.xcodeproj/project.pbxproj: - -2009-11-23 Laszlo Gombos - - Reviewed by Kenneth Rohde Christiansen. - - Include "config.h" to meet Coding Style Guidelines - https://bugs.webkit.org/show_bug.cgi?id=31792 - - * wtf/unicode/UTF8.cpp: - * wtf/unicode/glib/UnicodeGLib.cpp: - * wtf/unicode/wince/UnicodeWince.cpp: - -2009-11-23 Geoffrey Garen - - Reviewed by Oliver Hunt. - - Streamlined some Math functions where we expect or know the result not - to be representable as an int. - - SunSpider says 0.6% faster. - - * runtime/JSNumberCell.h: - (JSC::JSValue::JSValue): - * runtime/JSValue.h: - (JSC::JSValue::): - (JSC::jsDoubleNumber): - (JSC::JSValue::JSValue): Added a function for making a numeric JSValue - and skipping the "can I encode this as an int?" check, avoiding the - overhead of int <-> double roundtripping and double <-> double comparison - and branching. - - * runtime/MathObject.cpp: - (JSC::mathProtoFuncACos): - (JSC::mathProtoFuncASin): - (JSC::mathProtoFuncATan): - (JSC::mathProtoFuncATan2): - (JSC::mathProtoFuncCos): - (JSC::mathProtoFuncExp): - (JSC::mathProtoFuncLog): - (JSC::mathProtoFuncRandom): - (JSC::mathProtoFuncSin): - (JSC::mathProtoFuncSqrt): - (JSC::mathProtoFuncTan): For these functions, which we expect or know - to produce results not representable as ints, call jsDoubleNumber instead - of jsNumber. - -2009-11-23 Mark Rowe - - Unreviewed. Unbreak the regression tests after r51329. - - * API/JSBase.cpp: - (JSEvaluateScript): Null-check clientData before dereferencing it. - * API/JSObjectRef.cpp: - (JSObjectCallAsFunction): Ditto. - -2009-11-23 Gavin Barraclough - - Reviewed by Geoff Garen. - - Part 1/3 of REGRESSION: Many web pages fail to render after interesting script runs in isolated world - - Some clients of the JavaScriptCore API expect to be able to make callbacks over the JSC API, - and for this to automagically cause execution to take place in the world associated with the - global object associated with the ExecState (JSContextRef) passed. However this is not how - things work - the world must be explicitly set within WebCore. - - Making this work just for API calls to evaluate & call will be a far from perfect solution, - since direct (non-API) use of JSC still relies on WebCore setting the current world correctly. - A better solution would be to make this all work automagically all throughout WebCore, but this - will require more refactoring. - - Since the API is in JSC but worlds only exist in WebCore, add callbacks on the JSGlobalData::ClientData - to allow it to update the current world on entry/exit via the JSC API. This is temporary duck - tape, and should be removed once the current world no longer needs to be explicitly tracked. - - * API/JSBase.cpp: - (JSEvaluateScript): - * API/JSObjectRef.cpp: - (JSObjectCallAsFunction): - * JavaScriptCore.exp: - * runtime/JSGlobalData.cpp: - (JSC::JSGlobalData::ClientData::beginningExecution): - (JSC::JSGlobalData::ClientData::completedExecution): - * runtime/JSGlobalData.h: - -2009-11-23 Steve Block - - Reviewed by Dmitry Titov. - - Adds MainThreadAndroid.cpp with Android-specific WTF threading functions. - https://bugs.webkit.org/show_bug.cgi?id=31807 - - * wtf/android: Added. - * wtf/android/MainThreadAndroid.cpp: Added. - (WTF::timeoutFired): - (WTF::initializeMainThreadPlatform): - (WTF::scheduleDispatchFunctionsOnMainThread): - -2009-11-23 Alexey Proskuryakov - - Reviewed by Brady Eidson. - - https://bugs.webkit.org/show_bug.cgi?id=31748 - Make WebSocketHandleCFNet respect proxy auto-configuration files via CFProxySupport - - * JavaScriptCore.exp: Export callOnMainThreadAndWait. - -2009-11-23 Laszlo Gombos - - Reviewed by Kenneth Rohde Christiansen. - - [Symbian] Fix lastIndexOf() for Symbian - https://bugs.webkit.org/show_bug.cgi?id=31773 - - Symbian soft floating point library has problems with operators - comparing NaN to numbers. Without a workaround lastIndexOf() - function does not work. - - Patch developed by David Leong. - - * runtime/StringPrototype.cpp: - (JSC::stringProtoFuncLastIndexOf):Add an extra test - to check for NaN for Symbian. - -2009-11-23 Steve Block - - Reviewed by Eric Seidel. - - Android port lacks implementation of atomicIncrement and atomicDecrement. - https://bugs.webkit.org/show_bug.cgi?id=31715 - - * wtf/Threading.h: Modified. - (WTF::atomicIncrement): Added Android implementation. - (WTF::atomicDecrement): Added Android implementation. - -2009-11-22 Laszlo Gombos - - Unreviewed. - - [Qt] Sort source lists and remove obsolete comments - from the build system. - - * JavaScriptCore.pri: - -2009-11-21 Laszlo Gombos - - Reviewed by Eric Seidel. - - [Qt][Mac] Turn on multiple JavaScript threads for QtWebkit on Mac - https://bugs.webkit.org/show_bug.cgi?id=31753 - - * wtf/Platform.h: - -2009-11-19 Steve Block - - Android port lacks configuration in Platform.h and config.h. - https://bugs.webkit.org/show_bug.cgi?id=31671 - - * wtf/Platform.h: Modified. Added Android-specific configuration. - -2009-11-19 Alexey Proskuryakov - - Reviewed by Darin Adler. - - https://bugs.webkit.org/show_bug.cgi?id=31690 - Make SocketStreamHandleCFNet work on Windows - - * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: - * wtf/MainThread.cpp: - (WTF::FunctionWithContext::FunctionWithContext): - (WTF::dispatchFunctionsFromMainThread): - (WTF::callOnMainThreadAndWait): - * wtf/MainThread.h: - Re-add callOnMainThreadAndWait(), which was removed in bug 23926. - -2009-11-19 Dmitry Titov - - Reviewed by David Levin. - - isMainThread() on Chromium (Mac and Linux) is so slow it timeouts LayoutTests.. - https://bugs.webkit.org/show_bug.cgi?id=31693 - - * wtf/ThreadingPthreads.cpp: - (WTF::initializeThreading): grab and use the pthread_t of the main thread instead of ThreadIdentifier. - (WTF::isMainThread): Ditto. - -2009-11-19 Laszlo Gombos - - Reviewed by Darin Adler. - - Remove HAVE(STRING_H) guard from JavaScriptCore - https://bugs.webkit.org/show_bug.cgi?id=31668 - - * config.h: - * runtime/UString.cpp: - -2009-11-19 Dumitru Daniliuc - - Reviewed by Dmitry Titov. - - Fixing a bug in MessageQueue::removeIf() that leads to an - assertion failure. - - https://bugs.webkit.org/show_bug.cgi?id=31657 - - * wtf/MessageQueue.h: - (WTF::MessageQueue::removeIf): - -2009-11-19 Laszlo Gombos - - Reviewed by Darin Adler. - - Remove HAVE(FLOAT_H) guard - https://bugs.webkit.org/show_bug.cgi?id=31661 - - JavaScriptCore has a dependency on float.h, there is - no need to guard float.h. - - * runtime/DatePrototype.cpp: Remove include directive - for float.h as it is included in MathExtras.h already. - * runtime/Operations.cpp: Ditto. - * runtime/UString.cpp: Ditto. - * wtf/dtoa.cpp: Ditto. - * wtf/MathExtras.h: Remove HAVE(FLOAT_H) guard. - * wtf/Platform.h: Ditto. - -2009-11-19 Thiago Macieira - - Reviewed by Simon Hausmann. - - Build fix for 32-bit Sparc machines: these machines are big-endian. - - * wtf/Platform.h: - -2009-11-18 Laszlo Gombos - - Reviewed by Kenneth Rohde Christiansen. - - [Qt] Remove support for Qt v4.3 or older versions - https://bugs.webkit.org/show_bug.cgi?id=29469 - - * JavaScriptCore.pro: - * jsc.pro: - * wtf/unicode/qt4/UnicodeQt4.h: - -2009-11-18 Kent Tamura - - Reviewed by Darin Adler. - - Move UString::from(double) implementation to new - WTF::doubleToStringInJavaScriptFormat(), and expose it because WebCore - code will use it. - https://bugs.webkit.org/show_bug.cgi?id=31330 - - - Introduce new function createRep(const char*, unsigned) and - UString::UString(const char*, unsigned) to reduce 2 calls to strlen(). - - Fix a bug that dtoa() doesn't update *rve if the input value is NaN - or Infinity. - - No new tests because this doesn't change the behavior. - - * JavaScriptCore.exp: - * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: - * runtime/UString.cpp: - (JSC::createRep): - (JSC::UString::UString): - (JSC::UString::from): Move the code to doubleToStringInJavaScriptFormat(). - * runtime/UString.h: - * wtf/dtoa.cpp: - (WTF::dtoa): Fix a bug about rve. - (WTF::append): A helper for doubleToStringInJavaScriptFormat(). - (WTF::doubleToStringInJavaScriptFormat): Move the code from UString::from(double). - * wtf/dtoa.h: - -2009-11-18 Laszlo Gombos - - Reviewed by Kenneth Rohde Christiansen. - - [Qt] Remove WTF_USE_JAVASCRIPTCORE_BINDINGS as it is no longer used - https://bugs.webkit.org/show_bug.cgi?id=31643 - - * JavaScriptCore.pro: - -2009-11-18 Nate Chapin - - Reviewed by Darin Fisher. - - Remove Chromium's unnecessary dependency on wtf's tcmalloc files. - - https://bugs.webkit.org/show_bug.cgi?id=31648 - - * JavaScriptCore.gyp/JavaScriptCore.gyp: - -2009-11-18 Thiago Macieira - - Reviewed by Gavin Barraclough. - - [Qt] Implement symbol hiding for JSC's JIT functions. - - These functions are implemented directly in assembly, so they need the - proper directives to enable/disable visibility. On ELF systems, it's - .hidden, whereas on Mach-O systems (Mac) it's .private_extern. On - Windows, it's not necessary since you have to explicitly export. I - also implemented the AIX idiom, though it's unlikely anyone will - implement AIX/POWER JIT. - https://bugs.webkit.org/show_bug.cgi?id=30864 - - * jit/JITStubs.cpp: - -2009-11-18 Oliver Hunt - - Reviewed by Alexey Proskuryakov. - - Interpreter may do an out of range access when throwing an exception in the profiler. - https://bugs.webkit.org/show_bug.cgi?id=31635 - - Add bounds check. - - * interpreter/Interpreter.cpp: - (JSC::Interpreter::throwException): - -2009-11-18 Gabor Loki - - Reviewed by Darin Adler. - - Fix the clobber list of cacheFlush for ARM and Thumb2 on Linux - https://bugs.webkit.org/show_bug.cgi?id=31631 - - * jit/ExecutableAllocator.h: - (JSC::ExecutableAllocator::cacheFlush): - -2009-11-18 Harald Fernengel - - Reviewed by Simon Hausmann. - - [Qt] Fix detection of linux-g++ - - Never use "linux-g++*" to check for linux-g++, since this will break embedded - builds which use linux-arm-g++ and friends. Use 'linux*-g++*' to check for any - g++ on linux mkspec. - - * JavaScriptCore.pri: - -2009-11-17 Jon Honeycutt - - Add JSContextRefPrivate.h to list of copied files. - - Reviewed by Mark Rowe. - - * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.make: - -2009-11-17 Martin Robinson - - Reviewed by Adam Barth. - - [GTK] Style cleanup for GOwnPtr - https://bugs.webkit.org/show_bug.cgi?id=31506 - - Remove forward declaration in GOwnPtr and do some style cleanup. - - * wtf/GOwnPtr.cpp: - * wtf/GOwnPtr.h: - (WTF::GOwnPtr::GOwnPtr): - (WTF::GOwnPtr::~GOwnPtr): - (WTF::GOwnPtr::get): - (WTF::GOwnPtr::release): - (WTF::GOwnPtr::outPtr): - (WTF::GOwnPtr::set): - (WTF::GOwnPtr::clear): - (WTF::GOwnPtr::operator*): - (WTF::GOwnPtr::operator->): - (WTF::GOwnPtr::operator!): - (WTF::GOwnPtr::operator UnspecifiedBoolType): - (WTF::GOwnPtr::swap): - (WTF::swap): - (WTF::operator==): - (WTF::operator!=): - (WTF::getPtr): - (WTF::freeOwnedGPtr): - -2009-11-17 Oliver Hunt - - Reviewed by Maciej Stachowiak. - - Incorrect use of JavaScriptCore API in DumpRenderTree - https://bugs.webkit.org/show_bug.cgi?id=31577 - - Add assertions to the 'toJS' functions to catch mistakes like - this early. Restructure existing code which blindly passed potentially - null values to toJS when forwarding exceptions so that a null check is - performed first. - - * API/APICast.h: - (toJS): - (toJSForGC): - * API/JSCallbackObjectFunctions.h: - (JSC::::getOwnPropertySlot): - (JSC::::put): - (JSC::::deleteProperty): - (JSC::::construct): - (JSC::::hasInstance): - (JSC::::call): - (JSC::::toNumber): - (JSC::::toString): - (JSC::::staticValueGetter): - (JSC::::callbackGetter): - * API/tests/testapi.c: Fix errors in the API tester. - (MyObject_getProperty): - (MyObject_convertToType): - (EvilExceptionObject_convertToType): - -2009-11-16 Zoltan Herczeg - - Reviewed by Gavin Barraclough. - - https://bugs.webkit.org/show_bug.cgi?id=31050 - - Minor fixes for JSVALUE32_64: branchConvertDoubleToInt32 - failed on a CortexA8 CPU, but not on a simulator; and - JITCall.cpp modifications was somehow not committed to mainline. - - * assembler/ARMAssembler.h: - (JSC::ARMAssembler::fmrs_r): - * assembler/MacroAssemblerARM.h: - (JSC::MacroAssemblerARM::branchConvertDoubleToInt32): - * jit/JITCall.cpp: - (JSC::JIT::compileOpCall): - -2009-11-16 Joerg Bornemann - - Reviewed by Simon Hausmann. - - Fix Qt build on Windows CE 6. - - * JavaScriptCore.pri: Add missing include path. - * wtf/Platform.h: Include ce_time.h for Windows CE 6. - -2009-11-13 Zoltan Herczeg - - Reviewed by Gavin Barraclough. - - https://bugs.webkit.org/show_bug.cgi?id=31050 - - Adding optimization support for mode JSVALUE32_64 - on ARM systems. - - * jit/JIT.h: - * jit/JITCall.cpp: - (JSC::JIT::compileOpCall): - * jit/JITPropertyAccess.cpp: - (JSC::JIT::emit_op_method_check): - (JSC::JIT::compileGetByIdHotPath): - (JSC::JIT::compileGetByIdSlowCase): - (JSC::JIT::emit_op_put_by_id): - -2009-11-14 Zoltan Herczeg - - Reviewed by Gavin Barraclough. - - https://bugs.webkit.org/show_bug.cgi?id=31050 - - Adding JSVALUE32_64 support for ARM (but not turning it - on by default). All optimizations must be disabled, since - this patch is only the first of a series of patches. - - During the work, a lot of x86 specific code revealed and - made platform independent. - See revisions: 50531 50541 50593 50594 50595 - - * assembler/ARMAssembler.h: - (JSC::ARMAssembler::): - (JSC::ARMAssembler::fdivd_r): - * assembler/MacroAssemblerARM.h: - (JSC::MacroAssemblerARM::lshift32): - (JSC::MacroAssemblerARM::neg32): - (JSC::MacroAssemblerARM::rshift32): - (JSC::MacroAssemblerARM::branchOr32): - (JSC::MacroAssemblerARM::set8): - (JSC::MacroAssemblerARM::setTest8): - (JSC::MacroAssemblerARM::loadDouble): - (JSC::MacroAssemblerARM::divDouble): - (JSC::MacroAssemblerARM::convertInt32ToDouble): - (JSC::MacroAssemblerARM::zeroDouble): - * jit/JIT.cpp: - * jit/JIT.h: - * jit/JITOpcodes.cpp: - (JSC::JIT::privateCompileCTIMachineTrampolines): - * jit/JITStubs.cpp: - * wtf/StdLibExtras.h: - -2009-11-13 Dominik Röttsches - - Reviewed by Eric Seidel. - - Unify TextBoundaries implementations by only relying on WTF Unicode abstractions - https://bugs.webkit.org/show_bug.cgi?id=31468 - - Adding isAlphanumeric abstraction, required - by TextBoundaries.cpp. - - * wtf/unicode/glib/UnicodeGLib.h: - (WTF::Unicode::isAlphanumeric): - * wtf/unicode/icu/UnicodeIcu.h: - (WTF::Unicode::isAlphanumeric): - -2009-11-13 Norbert Leser - - Reviewed by Eric Seidel. - - Added macros for USERINCLUDE paths within symbian blocks - to guarantee inclusion of respective header files from local path - first (to avoid clashes with same names of header files in system include path). - - * JavaScriptCore.pri: - -2009-11-13 Oliver Hunt - - Reviewed by Geoff Garen. - - JSValueProtect and JSValueUnprotect don't protect API wrapper values - https://bugs.webkit.org/show_bug.cgi?id=31485 - - Make JSValueProtect/Unprotect use a new 'toJS' function, 'toJSForGC' that - does not attempt to to strip out API wrapper objects. - - * API/APICast.h: - (toJSForGC): - * API/JSValueRef.cpp: - (JSValueProtect): - (JSValueUnprotect): - * API/tests/testapi.c: - (makeGlobalNumberValue): - (main): - -2009-11-13 İsmail Dönmez - - Reviewed by Antti Koivisto. - - Fix typo, ce_time.cpp should be ce_time.c - - * JavaScriptCore.pri: - -2009-11-12 Steve VanDeBogart - - Reviewed by Adam Barth. - - Calculate the time offset only if we were able to parse - the date string. This saves an IPC in Chromium for - invalid date strings. - https://bugs.webkit.org/show_bug.cgi?id=31416 - - * wtf/DateMath.cpp: - (WTF::parseDateFromNullTerminatedCharacters): - (JSC::parseDateFromNullTerminatedCharacters): - -2009-11-12 Oliver Hunt - - Rollout r50896 until i can work out why it causes failures. - - * bytecompiler/BytecodeGenerator.cpp: - (JSC::BytecodeGenerator::emitReturn): - * interpreter/Interpreter.cpp: - (JSC::Interpreter::execute): - * parser/Nodes.cpp: - (JSC::EvalNode::emitBytecode): - -2009-11-12 Steve Falkenburg - - Reviewed by Stephanie Lewis. - - Remove LIBRARY directive from def file to fix Debug_All target. - - * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: - -2009-11-12 Gustavo Noronha Silva - - Rubber-stamped by Holger Freyther. - - Revert r50204, since it makes DRT crash on 32 bits release builds - for GTK+. - - * wtf/FastMalloc.h: - -2009-11-12 Oliver Hunt - - Reviewed by Gavin Barraclough. - - Start unifying entry logic for function and eval code. - - Eval now uses a ret instruction to end execution, and sets up - a callframe more in line with what we do for function entry. - - * bytecompiler/BytecodeGenerator.cpp: - (JSC::BytecodeGenerator::emitReturn): - * interpreter/Interpreter.cpp: - (JSC::Interpreter::execute): - * parser/Nodes.cpp: - (JSC::EvalNode::emitBytecode): - -2009-11-12 Richard Moe Gustavsen - - Reviewed by Kenneth Rohde Christiansen. - - [Qt] Disable pthread_setname_np. - - This allows Qt builds on Mac from 10.6 to run on earlier version - where this symbol is not present. - https://bugs.webkit.org/show_bug.cgi?id=31403 - - * wtf/Platform.h: - -2009-11-12 Thiago Macieira - - Reviewed by Kenneth Rohde Christiansen. - - [Qt] Fix linking on Linux 32-bit. - - It was missing the ".text" directive at the top of the file, - indicating that code would follow. Without it, the assembler created - "NOTYPE" symbols, which would result in linker errors. - https://bugs.webkit.org/show_bug.cgi?id=30863 - - * jit/JITStubs.cpp: - -2009-11-11 Laszlo Gombos - - Reviewed by Alexey Proskuryakov. - - Refactor multiple JavaScriptCore threads - https://bugs.webkit.org/show_bug.cgi?id=31328 - - Remove the id field from the PlatformThread structure - as it is not used. - - * runtime/Collector.cpp: - (JSC::getCurrentPlatformThread): - (JSC::suspendThread): - (JSC::resumeThread): - (JSC::getPlatformThreadRegisters): - -2009-11-10 Geoffrey Garen - - Linux build fix: Added an #include for UINT_MAX. - - * runtime/WeakRandom.h: - -2009-11-10 Geoffrey Garen - - JavaScriptGlue build fix: Marked a file 'private' instead of 'project'. - - * JavaScriptCore.xcodeproj/project.pbxproj: - -2009-11-10 Geoffrey Garen - - Reviewed by Gavin "avGni arBalroguch" Barraclough. - - Faster Math.random, based on GameRand. - - SunSpider says 1.4% faster. - - * GNUmakefile.am: - * JavaScriptCore.gypi: - * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: - * JavaScriptCore.xcodeproj/project.pbxproj: Added the header to the project. - - * runtime/JSGlobalData.cpp: - (JSC::JSGlobalData::JSGlobalData): - * runtime/JSGlobalData.h: Use an object to track random number generation - state, initialized to the current time. - - * runtime/MathObject.cpp: - (JSC::MathObject::MathObject): - (JSC::mathProtoFuncRandom): Use the new hotness. - - * runtime/WeakRandom.h: Added. - (JSC::WeakRandom::WeakRandom): - (JSC::WeakRandom::get): - (JSC::WeakRandom::advance): The new hotness. - -2009-11-09 Geoffrey Garen - - Reviewed by Oliver Hunt. - - Imported the v8 DST cache. - - SunSpider says 1.5% faster. - - * runtime/JSGlobalData.cpp: - (JSC::JSGlobalData::resetDateCache): Reset the DST cache when resetting - other date data. - - * runtime/JSGlobalData.h: - (JSC::DSTOffsetCache::DSTOffsetCache): - (JSC::DSTOffsetCache::reset): Added a struct for the DST cache. - - * wtf/DateMath.cpp: - (WTF::calculateDSTOffsetSimple): - (WTF::calculateDSTOffset): - (WTF::parseDateFromNullTerminatedCharacters): - (JSC::getDSTOffset): - (JSC::gregorianDateTimeToMS): - (JSC::msToGregorianDateTime): - (JSC::parseDateFromNullTerminatedCharacters): - * wtf/DateMath.h: The imported code for probing and updating the cache. - -2009-11-09 Geoffrey Garen - - Reviewed by Oliver Hunt. - - Fixed an edge case that could cause the engine not to notice a timezone - change. - - No test because this case would require manual intervention to change - the timezone during the test. - - SunSpider reports no change. - - * runtime/DateInstanceCache.h: - (JSC::DateInstanceCache::DateInstanceCache): - (JSC::DateInstanceCache::reset): Added a helper function for resetting - this cache. Also, shrank the cache, since we'll be resetting it often. - - * runtime/JSGlobalData.cpp: - (JSC::JSGlobalData::resetDateCache): Include resetting the DateInstanceCache - in resetting Date data. (Otherwise, a cache hit could bypass a necessary - timezone update check.) - -2009-11-09 Geoffrey Garen - - Reviewed by Sam Weinig. - - Some manual inlining and constant propogation in Date code. - - SunSpider reports a 0.4% speedup on date-*, no overall speedup. Shark - says some previously evident stalls are now gone. - - * runtime/DateConstructor.cpp: - (JSC::callDate): - * runtime/DateConversion.cpp: - (JSC::formatTime): - (JSC::formatTimeUTC): Split formatTime into UTC and non-UTC variants. - - * runtime/DateConversion.h: - * runtime/DateInstance.cpp: - (JSC::DateInstance::calculateGregorianDateTime): - (JSC::DateInstance::calculateGregorianDateTimeUTC): - * runtime/DateInstance.h: - (JSC::DateInstance::gregorianDateTime): - (JSC::DateInstance::gregorianDateTimeUTC): Split gregorianDateTime into - a UTC and non-UTC variant, and split each variant into a fast inline - case and a slow out-of-line case. - - * runtime/DatePrototype.cpp: - (JSC::formatLocaleDate): - (JSC::dateProtoFuncToString): - (JSC::dateProtoFuncToUTCString): - (JSC::dateProtoFuncToISOString): - (JSC::dateProtoFuncToDateString): - (JSC::dateProtoFuncToTimeString): - (JSC::dateProtoFuncGetFullYear): - (JSC::dateProtoFuncGetUTCFullYear): - (JSC::dateProtoFuncToGMTString): - (JSC::dateProtoFuncGetMonth): - (JSC::dateProtoFuncGetUTCMonth): - (JSC::dateProtoFuncGetDate): - (JSC::dateProtoFuncGetUTCDate): - (JSC::dateProtoFuncGetDay): - (JSC::dateProtoFuncGetUTCDay): - (JSC::dateProtoFuncGetHours): - (JSC::dateProtoFuncGetUTCHours): - (JSC::dateProtoFuncGetMinutes): - (JSC::dateProtoFuncGetUTCMinutes): - (JSC::dateProtoFuncGetSeconds): - (JSC::dateProtoFuncGetUTCSeconds): - (JSC::dateProtoFuncGetTimezoneOffset): - (JSC::setNewValueFromTimeArgs): - (JSC::setNewValueFromDateArgs): - (JSC::dateProtoFuncSetYear): - (JSC::dateProtoFuncGetYear): Updated for the gregorianDateTime change above. - -2009-11-09 Geoffrey Garen - - Build fix: export a new symbol. - - * JavaScriptCore.exp: - * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: - -2009-11-09 Geoffrey Garen - - Reviewed by Sam "Home Wrecker" Weinig. - - Added a tiny cache for Date parsing. - - SunSpider says 1.2% faster. - - * runtime/DateConversion.cpp: - (JSC::parseDate): Try to reuse the last parsed Date, if present. - - * runtime/JSGlobalData.cpp: - (JSC::JSGlobalData::resetDateCache): - * runtime/JSGlobalData.h: Added storage for last parsed Date. Refactored - this code to make resetting the date cache easier. - - * runtime/JSGlobalObject.h: - (JSC::DynamicGlobalObjectScope::DynamicGlobalObjectScope): Updated for - refactoring. - - * wtf/DateMath.cpp: - (JSC::parseDateFromNullTerminatedCharacters): - * wtf/DateMath.h: Changed ExecState to be first parameter, as is the JSC custom. - -2009-11-09 Oliver Hunt - - Reviewed by Gavin Barraclough. - - Can cache prototype lookups on uncacheable dictionaries. - https://bugs.webkit.org/show_bug.cgi?id=31198 - - Replace fromDictionaryTransition with flattenDictionaryObject and - flattenDictionaryStructure. This change is necessary as we need to - guarantee that our attempt to convert away from a dictionary structure - will definitely succeed, and in some cases this requires mutating the - object storage itself. - - * interpreter/Interpreter.cpp: - (JSC::Interpreter::tryCacheGetByID): - * jit/JITStubs.cpp: - (JSC::JITThunks::tryCacheGetByID): - (JSC::DEFINE_STUB_FUNCTION): - * runtime/BatchedTransitionOptimizer.h: - (JSC::BatchedTransitionOptimizer::~BatchedTransitionOptimizer): - * runtime/JSObject.h: - (JSC::JSObject::flattenDictionaryObject): - * runtime/Operations.h: - (JSC::normalizePrototypeChain): - * runtime/Structure.cpp: - (JSC::Structure::flattenDictionaryStructure): - (JSC::comparePropertyMapEntryIndices): - * runtime/Structure.h: - -2009-11-09 Laszlo Gombos - - Not reviewed, build fix. - - Remove extra character from r50701. - - * JavaScriptCore.pri: - -2009-11-09 Laszlo Gombos - - Not reviewed, build fix. - - Revert r50695 because it broke QtWebKit (clean builds). - - * JavaScriptCore.pri: - -2009-11-09 Norbert Leser - - Reviewed by Kenneth Rohde Christiansen. - - Prepended $$PWD to GENERATED_SOURCES_DIR to avoid potential ambiguities when included from WebCore.pro. - Some preprocessors consider this GENERATED_SOURCES_DIR relative to current invoking dir (e.g., ./WebCore), - and not the working dir of JavaCriptCore.pri (i.e., ../JavaScriptCore/). - - * JavaScriptCore.pri: - -2009-11-09 Laszlo Gombos - - Reviewed by Kenneth Rohde Christiansen. - - Use explicit parentheses to silence gcc 4.4 -Wparentheses warnings - https://bugs.webkit.org/show_bug.cgi?id=31040 - - * interpreter/Interpreter.cpp: - (JSC::Interpreter::privateExecute): - -2009-11-08 David Levin - - Reviewed by NOBODY (speculative snow leopard and windows build fixes). - - * wtf/DateMath.cpp: - (WTF::parseDateFromNullTerminatedCharacters): - (JSC::gregorianDateTimeToMS): - (JSC::msToGregorianDateTime): - (JSC::parseDateFromNullTerminatedCharacters): - * wtf/DateMath.h: - (JSC::GregorianDateTime::GregorianDateTime): - -2009-11-08 David Levin - - Reviewed by NOBODY (chromium build fix). - - Hopefully, the last build fix. - - Create better separation in DateMath about the JSC - and non-JSC portions. Also, only expose the non-JSC - version in the exports. - - * JavaScriptCore.exp: - * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: - * wtf/DateMath.cpp: - (WTF::parseDateFromNullTerminatedCharacters): - (JSC::getUTCOffset): - (JSC::gregorianDateTimeToMS): - (JSC::msToGregorianDateTime): - (JSC::parseDateFromNullTerminatedCharacters): - * wtf/DateMath.h: - (JSC::gmtoffset): - -2009-11-08 David Levin - - Reviewed by NOBODY (chromium build fix). - - For the change in DateMath. - - * config.h: - * wtf/DateMath.cpp: - -2009-11-06 Geoffrey Garen - - Windows build fix: export some symbols. - - * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: - -2009-11-06 Geoffrey Garen - - Build fix: updated export file. - - * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: - -2009-11-06 Geoffrey Garen - - Build fix: added some #includes. - - * wtf/CurrentTime.h: - * wtf/DateMath.h: - -2009-11-06 Geoffrey Garen - - Reviewed by Oliver Hunt. - - https://bugs.webkit.org/show_bug.cgi?id=31197 - Implemented a timezone cache not based on Mac OS X's notify_check API. - - If the VM calculates the local timezone offset from UTC, it caches the - result until the end of the current VM invocation. (We don't want to cache - forever, because the user's timezone may change over time.) - - This removes notify_* overhead on Mac, and, more significantly, removes - OS time and date call overhead on non-Mac platforms. - - ~8% speedup on Date microbenchmark on Mac. SunSpider reports maybe a tiny - speedup on Mac. (Speedup on non-Mac platforms should be even more noticeable.) - - * JavaScriptCore.exp: - - * interpreter/CachedCall.h: - (JSC::CachedCall::CachedCall): - * interpreter/Interpreter.cpp: - (JSC::Interpreter::execute): - * runtime/JSGlobalObject.h: - (JSC::DynamicGlobalObjectScope::DynamicGlobalObjectScope): Made the - DynamicGlobalObjectScope constructor responsible for checking whether a - dynamicGlobalObject has already been set. This eliminated some duplicate - client code, and allowed me to avoid adding even more duplicate client - code. Made DynamicGlobalObjectScope responsible for resetting the - local timezone cache upon first entry to the VM. - - * runtime/DateConstructor.cpp: - (JSC::constructDate): - (JSC::callDate): - (JSC::dateParse): - (JSC::dateUTC): - * runtime/DateConversion.cpp: - (JSC::parseDate): - * runtime/DateConversion.h: - * runtime/DateInstance.cpp: - (JSC::DateInstance::gregorianDateTime): - * runtime/DateInstance.h: - * runtime/DateInstanceCache.h: - * runtime/DatePrototype.cpp: - (JSC::setNewValueFromTimeArgs): - (JSC::setNewValueFromDateArgs): - (JSC::dateProtoFuncSetYear): - * runtime/InitializeThreading.cpp: - (JSC::initializeThreadingOnce): - * runtime/JSGlobalData.cpp: - (JSC::JSGlobalData::JSGlobalData): - * runtime/JSGlobalData.h: - * wtf/DateMath.cpp: - (WTF::getCurrentUTCTime): - (WTF::getCurrentUTCTimeWithMicroseconds): - (WTF::getLocalTime): - (JSC::getUTCOffset): Use the new cache. Also, see below. - (JSC::gregorianDateTimeToMS): - (JSC::msToGregorianDateTime): - (JSC::initializeDates): - (JSC::parseDateFromNullTerminatedCharacters): Simplified the way this function - accounts for the local timezone offset, to accomodate our new caching API, - and a (possibly misguided) caller in WebCore. Also, see below. - * wtf/DateMath.h: - (JSC::GregorianDateTime::GregorianDateTime): Moved most of the code in - DateMath.* into the JSC namespace. The code needed to move so it could - naturally interact with ExecState and JSGlobalData to support caching. - Logically, it seemed right to move it, too, since this code is not really - as low-level as the WTF namespace might imply -- it implements a set of - date parsing and conversion quirks that are finely tuned to the JavaScript - language. Also removed the Mac OS X notify_* infrastructure. - - * wtf/CurrentTime.h: - (WTF::currentTimeMS): - (WTF::getLocalTime): Moved the rest of the DateMath code here, and renamed - it to make it consistent with WTF's currentTime function. - -2009-11-06 Gabor Loki - - Unreviewed trivial buildfix after r50595. - - Rename the remaining rshiftPtr calls to rshift32 - - * jit/JITArithmetic.cpp: - (JSC::JIT::emit_op_rshift): - * jit/JITInlineMethods.h: - (JSC::JIT::emitFastArithImmToInt): +2010-02-09 Janne Koskinen -2009-11-06 Gavin Barraclough + Reviewed by Laszlo Gombos. - Reviewed by Oliver Hunt. + [Qt] use nanval() for Symbian as nonInlineNaN + https://bugs.webkit.org/show_bug.cgi?id=34170 - Tidy up the shift methods on the macro-assembler interface. + numeric_limits::quiet_NaN is broken in Symbian + causing NaN to be evaluated as a number. - Currently behaviour of shifts of a magnitude > 0x1f is undefined. - Instead defined that all shifts are masked to this range. This makes a lot of - practical sense, both since having undefined behaviour is not particularly - desirable, and because this behaviour is commonly required (particularly since - it is required bt ECMA-262 for shifts). + * runtime/JSValue.cpp: + (JSC::nonInlineNaN): - Update the ARM assemblers to provide this behaviour. Remove (now) redundant - masks from JITArithmetic, and remove rshiftPtr (this was used in case that - could be rewritten in a simpler form using rshift32, only optimized JSVALUE32 - on x86-64, which uses JSVALUE64!) +2010-01-07 Norbert Leser - * assembler/MacroAssembler.h: - * assembler/MacroAssemblerARM.h: - (JSC::MacroAssemblerARM::lshift32): - (JSC::MacroAssemblerARM::rshift32): - * assembler/MacroAssemblerARMv7.h: - (JSC::MacroAssemblerARMv7::lshift32): - (JSC::MacroAssemblerARMv7::rshift32): - * assembler/MacroAssemblerX86_64.h: - * jit/JITArithmetic.cpp: - (JSC::JIT::emit_op_lshift): - (JSC::JIT::emit_op_rshift): + Reviewed by NOBODY (OOPS!). -2009-11-05 Gavin Barraclough + RVCT compiler with "-Otime -O3" optimization tries to optimize out + inline new'ed pointers that are passed as arguments. + Proposed patch assigns new'ed pointer explicitly outside function call. - Rubber Stamped by Oliver Hunt. + * API/JSClassRef.cpp: + (OpaqueJSClass::OpaqueJSClass): + (OpaqueJSClassContextData::OpaqueJSClassContextData): - Remove a magic number (1) from the JIT, instead compute the value with OBJECT_OFFSET. +2009-11-19 Thiago Macieira - * jit/JITInlineMethods.h: - (JSC::JIT::emitPutJITStubArg): - (JSC::JIT::emitPutJITStubArgConstant): - (JSC::JIT::emitGetJITStubArg): - (JSC::JIT::emitPutJITStubArgFromVirtualRegister): - * jit/JITStubCall.h: - (JSC::JITStubCall::JITStubCall): - (JSC::JITStubCall::getArgument): - * jit/JITStubs.h: + Reviewed by Simon Hausmann. -2009-11-05 Zoltan Herczeg + Build fix for 32-bit Sparc machines: these machines are big-endian. - Reviewed by Gavin Barraclough. + * wtf/Platform.h: - https://bugs.webkit.org/show_bug.cgi?id=31159 - Fix branchDouble behaviour on ARM THUMB2 JIT. +2009-12-08 Gustavo Noronha Silva - The x86 branchDouble behaviour is reworked, and all JIT - ports should follow the x86 port. See bug 31104 and 31151 + Reviewed by Darin Adler. - This patch contains a fix for the traditional ARM port + Make WebKit build correctly on FreeBSD, IA64, and Alpha. + Based on work by Petr Salinger , + and Colin Watson . - * assembler/ARMAssembler.h: - (JSC::ARMAssembler::): - (JSC::ARMAssembler::fmrs_r): - (JSC::ARMAssembler::ftosid_r): - * assembler/MacroAssemblerARM.h: - (JSC::MacroAssemblerARM::): - (JSC::MacroAssemblerARM::branchDouble): - (JSC::MacroAssemblerARM::branchConvertDoubleToInt32): + * wtf/Platform.h: -2009-11-05 Chris Jerdonek +2009-12-18 Yongjun Zhang - Reviewed by Eric Seidel. + Reviewed by Simon Hausmann. - Removed the "this is part of the KDE project" comments from - all *.h, *.cpp, *.idl, and *.pm files. - - https://bugs.webkit.org/show_bug.cgi?id=31167 - - The maintenance and architecture page in the project wiki lists - this as a task. - - This change includes no changes or additions to test cases - since the change affects only comments. - - * wtf/wince/FastMallocWince.h: + https://bugs.webkit.org/show_bug.cgi?id=32713 + [Qt] make wtf/Assertions.h compile in winscw compiler. -2009-11-05 Gabor Loki + Add string arg before ellipsis to help winscw compiler resolve variadic + macro definitions in wtf/Assertions.h. - Reviewed by Gavin Barraclough. + * wtf/Assertions.h: - Use ARMv7 specific encoding for immediate constants on ARMv7 target - https://bugs.webkit.org/show_bug.cgi?id=31060 +2009-11-30 Jan-Arve Sæther - * assembler/ARMAssembler.cpp: - (JSC::ARMAssembler::getOp2): Use INVALID_IMM - (JSC::ARMAssembler::getImm): Use encodeComplexImm for complex immediate - (JSC::ARMAssembler::moveImm): Ditto. - (JSC::ARMAssembler::encodeComplexImm): Encode a constant by one or two - instructions or a PC relative load. - * assembler/ARMAssembler.h: Use INVALID_IMM if a constant cannot be - encoded as an immediate constant. - (JSC::ARMAssembler::): - (JSC::ARMAssembler::movw_r): 16-bit immediate load - (JSC::ARMAssembler::movt_r): High halfword 16-bit immediate load - (JSC::ARMAssembler::getImm16Op2): Encode immediate constant for - movw_r and mowt_r + Reviewed by Simon Hausmann. -2009-11-04 Mark Mentovai + [Qt] Fix compilation with win32-icc - Reviewed by Mark Rowe. + The Intel compiler does not support the __has_trivial_constructor type + trait. The Intel Compiler can report itself as _MSC_VER >= 1400. The + reason for that is that the Intel Compiler depends on the Microsoft + Platform SDK, and in order to try to be "fully" MS compatible it will + "pretend" to be the same MS compiler as was shipped with the MS PSDK. + (Thus, compiling with win32-icc with VC8 SDK will make the source code + "think" the compiler at hand supports this type trait). - Provide TARGETING_TIGER and TARGETING_LEOPARD as analogues to - BUILDING_ON_TIGER and BUILDING_ON_LEOPARD. The TARGETING_ macros - consider the deployment target; the BUILDING_ON_ macros consider the - headers being built against. + * wtf/TypeTraits.h: - * wtf/Platform.h: +2009-11-28 Laszlo Gombos -2009-11-04 Gavin Barraclough + Reviewed by Eric Seidel. - Reviewed by Oliver Hunt. + Apply workaround for the limitation of VirtualFree with MEM_RELEASE to all ports running on Windows + https://bugs.webkit.org/show_bug.cgi?id=31943 - https://bugs.webkit.org/show_bug.cgi?id=31151 - Fix branchDouble behaviour on ARM THUMB2 JIT. + * runtime/MarkStack.h: + (JSC::MarkStack::MarkStackArray::shrinkAllocation): - The ARMv7 JIT is currently using ARMv7Assembler::ConditionEQ to branch - for DoubleEqualOrUnordered, however this is incorrect – ConditionEQ won't - branch on unordered operands. Similarly, DoubleLessThanOrUnordered & - DoubleLessThanOrEqualOrUnordered use ARMv7Assembler::ConditionLO & - ARMv7Assembler::ConditionLS, whereas they should be using - ARMv7Assembler::ConditionLT & ARMv7Assembler::ConditionLE. +2009-11-18 Gabor Loki - Fix these, and fill out the missing DoubleConditions. + Reviewed by Darin Adler. - * assembler/MacroAssemblerARMv7.h: - (JSC::MacroAssemblerARMv7::): - (JSC::MacroAssemblerARMv7::branchDouble): + Fix the clobber list of cacheFlush for ARM and Thumb2 on Linux + https://bugs.webkit.org/show_bug.cgi?id=31631 -2009-11-04 Gavin Barraclough + * jit/ExecutableAllocator.h: + (JSC::ExecutableAllocator::cacheFlush): - Rubber Stamped by Oliver Hunt. +2009-11-23 Laszlo Gombos - Enable native call optimizations on ARMv7. (Existing ARM_TRADITIONAL - implementation was generic, worked perfectly, just needed turning on). + Reviewed by Kenneth Rohde Christiansen. - * jit/JITOpcodes.cpp: - * wtf/Platform.h: + [Symbian] Fix lastIndexOf() for Symbian + https://bugs.webkit.org/show_bug.cgi?id=31773 -2009-11-04 Gavin Barraclough + Symbian soft floating point library has problems with operators + comparing NaN to numbers. Without a workaround lastIndexOf() + function does not work. - Rubber Stamped by Mark Rowe, Oliver Hunt, and Sam Weinig. + Patch developed by David Leong. - Add a missing assert to the ARMv7 JIT. + * runtime/StringPrototype.cpp: + (JSC::stringProtoFuncLastIndexOf):Add an extra test + to check for NaN for Symbian. - * assembler/ARMv7Assembler.h: - (JSC::ARMThumbImmediate::ARMThumbImmediate): +2009-11-18 Harald Fernengel -2009-11-04 Mark Rowe + Reviewed by Simon Hausmann. - Rubber-stamped by Oliver Hunt. + [Qt] Fix detection of linux-g++ - Remove bogus op_ prefix on dumped version of three opcodes. + Never use "linux-g++*" to check for linux-g++, since this will break embedded + builds which use linux-arm-g++ and friends. Use 'linux*-g++*' to check for any + g++ on linux mkspec. - * bytecode/CodeBlock.cpp: - (JSC::CodeBlock::dump): + * JavaScriptCore.pri: -2009-11-04 Mark Rowe +2009-11-16 Joerg Bornemann - Reviewed by Sam Weinig. + Reviewed by Simon Hausmann. - Fix dumping of constants in bytecode so that they aren't printed as large positive register numbers. + Fix Qt build on Windows CE 6. - We do this by having the registerName function return information about the constant if the register - number corresponds to a constant. This requires that registerName, and several functions that call it, - be converted to member functions of CodeBlock so that the constant value can be retrieved. The - ExecState also needs to be threaded down through these functions so that it can be passed on to - constantName when needed. + * JavaScriptCore.pri: Add missing include path. + * wtf/Platform.h: Include ce_time.h for Windows CE 6. - * bytecode/CodeBlock.cpp: - (JSC::constantName): - (JSC::CodeBlock::registerName): - (JSC::CodeBlock::printUnaryOp): - (JSC::CodeBlock::printBinaryOp): - (JSC::CodeBlock::printConditionalJump): - (JSC::CodeBlock::printGetByIdOp): - (JSC::CodeBlock::printPutByIdOp): - (JSC::CodeBlock::dump): - * bytecode/CodeBlock.h: - (JSC::CodeBlock::isConstantRegisterIndex): +2009-11-12 Thiago Macieira -2009-11-04 Pavel Heimlich + Reviewed by Kenneth Rohde Christiansen. - Reviewed by Alexey Proskuryakov. + [Qt] Fix linking on Linux 32-bit. - https://bugs.webkit.org/show_bug.cgi?id=30647 - Solaris build failure due to strnstr. + It was missing the ".text" directive at the top of the file, + indicating that code would follow. Without it, the assembler created + "NOTYPE" symbols, which would result in linker errors. + https://bugs.webkit.org/show_bug.cgi?id=30863 - * wtf/StringExtras.h: Enable strnstr on Solaris, too. + * jit/JITStubs.cpp: -2009-11-04 Gavin Barraclough +2009-11-13 İsmail Dönmez - Reviewed by Oliver Hunt. + Reviewed by Antti Koivisto. - https://bugs.webkit.org/show_bug.cgi?id=31104 - Refactor x86-specific behaviour out of the JIT. + Fix typo, ce_time.cpp should be ce_time.c - - Add explicit double branch conditions for ordered and unordered comparisons (presently the brehaviour is a mix). - - Refactor double to int conversion out into the MacroAssembler. - - Remove broken double to int conversion for !JSVALUE32_64 builds - this code was broken and slowing us down, fixing it showed it not to be an improvement. - - Remove exclusion of double to int conversion from (1 % X) cases in JSVALUE32_64 builds - if this was of benefit this is no longer the case; simplify. + * JavaScriptCore.pri: - * assembler/MacroAssemblerARM.h: - (JSC::MacroAssemblerARM::): - * assembler/MacroAssemblerARMv7.h: - (JSC::MacroAssemblerARMv7::): - * assembler/MacroAssemblerX86Common.h: - (JSC::MacroAssemblerX86Common::): - (JSC::MacroAssemblerX86Common::convertInt32ToDouble): - (JSC::MacroAssemblerX86Common::branchDouble): - (JSC::MacroAssemblerX86Common::branchConvertDoubleToInt32): - * jit/JITArithmetic.cpp: - (JSC::JIT::emitBinaryDoubleOp): - (JSC::JIT::emit_op_div): - (JSC::JIT::emitSlow_op_jnless): - (JSC::JIT::emitSlow_op_jnlesseq): - * jit/JITOpcodes.cpp: - (JSC::JIT::emit_op_jfalse): +2009-11-12 Richard Moe Gustavsen -2009-11-04 Mark Mentovai + Reviewed by Kenneth Rohde Christiansen. - Reviewed by Eric Seidel. + [Qt] Disable pthread_setname_np. - Remove BUILDING_ON_LEOPARD from JavaScriptCore.gyp. This is supposed - to be set as needed only in wtf/Platform.h. + This allows Qt builds on Mac from 10.6 to run on earlier version + where this symbol is not present. + https://bugs.webkit.org/show_bug.cgi?id=31403 - * JavaScriptCore.gyp/JavaScriptCore.gyp: + * wtf/Platform.h: 2009-11-02 Oliver Hunt @@ -7852,161 +177,19 @@ The very last cell in the block is not allocated -- should not be marked. * jit/JITStubs.cpp: (JSC::JITThunks::tryCacheGetByID): -2009-11-02 Laszlo Gombos - - Reviewed by Darin Adler. - - PLATFORM(CF) should be set when building for Qt on Darwin - https://bugs.webkit.org/show_bug.cgi?id=23671 - - * wtf/Platform.h: Turn on CF support if both QT and DARWIN - platforms are defined. - -2009-11-02 Dmitry Titov - - Reviewed by David Levin. - - Remove threadsafe refcounting from tasks used with WTF::MessageQueue. - https://bugs.webkit.org/show_bug.cgi?id=30612 - - * wtf/MessageQueue.h: - (WTF::MessageQueue::alwaysTruePredicate): - (WTF::MessageQueue::~MessageQueue): - (WTF::MessageQueue::append): - (WTF::MessageQueue::appendAndCheckEmpty): - (WTF::MessageQueue::prepend): - (WTF::MessageQueue::waitForMessage): - (WTF::MessageQueue::waitForMessageFilteredWithTimeout): - (WTF::MessageQueue::tryGetMessage): - (WTF::MessageQueue::removeIf): - The MessageQueue is changed to act as a queue of OwnPtr. It takes ownership - of posted tasks and passes it to the new owner (in another thread) when the task is fetched. - All methods have arguments of type PassOwnPtr and return the same type. - - * wtf/Threading.cpp: - (WTF::createThread): - Superficial change to trigger rebuild of JSC project on Windows, - workaround for https://bugs.webkit.org/show_bug.cgi?id=30890 - -2009-10-30 Geoffrey Garen - - Reviewed by Oliver Hunt. - - Fixed failing layout test: restore a special case I accidentally deleted. - - * runtime/DatePrototype.cpp: - (JSC::setNewValueFromDateArgs): In the case of applying a change to a date - that is NaN, reset the date to 0 *and* then apply the change; don't just - reset the date to 0. - -2009-10-30 Geoffrey Garen - - Windows build fix: update for object-to-pointer change. - - * runtime/DatePrototype.cpp: - (JSC::formatLocaleDate): - -2009-10-29 Geoffrey Garen - - Reviewed by Darin Adler. - - https://bugs.webkit.org/show_bug.cgi?id=30942 - Use pointers instead of copies to pass GregorianDateTime objects around. - - SunSpider reports a shocking 4.5% speedup on date-format-xparb, and 1.3% - speedup on date-format-tofte. - - * runtime/DateInstance.cpp: - (JSC::DateInstance::gregorianDateTime): - * runtime/DateInstance.h: - * runtime/DatePrototype.cpp: - (JSC::formatLocaleDate): - (JSC::dateProtoFuncToString): - (JSC::dateProtoFuncToUTCString): - (JSC::dateProtoFuncToISOString): - (JSC::dateProtoFuncToDateString): - (JSC::dateProtoFuncToTimeString): - (JSC::dateProtoFuncGetFullYear): - (JSC::dateProtoFuncGetUTCFullYear): - (JSC::dateProtoFuncToGMTString): - (JSC::dateProtoFuncGetMonth): - (JSC::dateProtoFuncGetUTCMonth): - (JSC::dateProtoFuncGetDate): - (JSC::dateProtoFuncGetUTCDate): - (JSC::dateProtoFuncGetDay): - (JSC::dateProtoFuncGetUTCDay): - (JSC::dateProtoFuncGetHours): - (JSC::dateProtoFuncGetUTCHours): - (JSC::dateProtoFuncGetMinutes): - (JSC::dateProtoFuncGetUTCMinutes): - (JSC::dateProtoFuncGetSeconds): - (JSC::dateProtoFuncGetUTCSeconds): - (JSC::dateProtoFuncGetTimezoneOffset): - (JSC::setNewValueFromTimeArgs): - (JSC::setNewValueFromDateArgs): - (JSC::dateProtoFuncSetYear): - (JSC::dateProtoFuncGetYear): Renamed getGregorianDateTime to gregorianDateTime, - since it no longer has an out parameter. Uses 0 to indicate invalid dates. - -2009-10-30 Zoltan Horvath - - Reviewed by Darin Adler. - - Allow custom memory allocation control for JavaScriptCore's ListHashSet - https://bugs.webkit.org/show_bug.cgi?id=30853 - - Inherits ListHashSet class from FastAllocBase because it is - instantiated by 'new' in WebCore/rendering/RenderBlock.cpp:1813. - - * wtf/ListHashSet.h: - -2009-10-30 Oliver Hunt - - Reviewed by Gavin Barraclough. - - Regression: crash enumerating properties of an object with getters or setters - https://bugs.webkit.org/show_bug.cgi?id=30948 - - Add a guard to prevent us trying to cache property enumeration on - objects with getters or setters. - - * runtime/JSPropertyNameIterator.cpp: - (JSC::JSPropertyNameIterator::create): - -2009-10-30 Roland Steiner - - Reviewed by Eric Seidel. - - Remove ENABLE_RUBY guards as discussed with Dave Hyatt and Maciej Stachowiak. - - Bug 28420 - Implement HTML5 rendering - (https://bugs.webkit.org/show_bug.cgi?id=28420) - - No new tests (no functional change). - - * Configurations/FeatureDefines.xcconfig: +2009-10-30 Tor Arne Vestbø -2009-10-29 Oliver Hunt + Reviewed by NOBODY (OOPS!). - Reviewed by Maciej Stachowiak. + [Qt] Use the default timeout interval for JS as the HTML tokenizer delay for setHtml() - REGRESSION (r50218-r50262): E*TRADE accounts page is missing content - https://bugs.webkit.org/show_bug.cgi?id=30947 - + This ensures that long-running JavaScript (for example due to a modal alert() dialog), + will not trigger a deferred load after only 500ms (the default tokenizer delay) while + still giving a reasonable timeout (10 seconds) to prevent deadlock. - The logic for flagging that a structure has non-enumerable properties - was in addPropertyWithoutTransition, rather than in the core Structure::put - method. Despite this I was unable to produce a testcase that caused - the failure that etrade was experiencing, but the new assertion in - getEnumerablePropertyNames triggers on numerous layout tests without - the fix, so in effecti all for..in enumeration in any test ends up - doing the required consistency check. + https://bugs.webkit.org/show_bug.cgi?id=29381 - * runtime/Structure.cpp: - (JSC::Structure::addPropertyWithoutTransition): - (JSC::Structure::put): - (JSC::Structure::getEnumerablePropertyNames): - (JSC::Structure::checkConsistency): + * runtime/TimeoutChecker.h: Add getter for the timeout interval 2009-10-29 Gabor Loki diff --git a/src/3rdparty/webkit/JavaScriptCore/Info.plist b/src/3rdparty/webkit/JavaScriptCore/Info.plist index 77c9eb8..17949b0 100644 --- a/src/3rdparty/webkit/JavaScriptCore/Info.plist +++ b/src/3rdparty/webkit/JavaScriptCore/Info.plist @@ -1,5 +1,5 @@ - + CFBundleDevelopmentRegion @@ -7,7 +7,7 @@ CFBundleExecutable ${PRODUCT_NAME} CFBundleGetInfoString - ${BUNDLE_VERSION}, Copyright 2003-2010 Apple Inc.; Copyright 1999-2001 Harri Porten <porten@kde.org>; Copyright 2001 Peter Kelly <pmk@post.com>; Copyright 1997-2005 University of Cambridge; Copyright 1991, 2000, 2001 by Lucent Technologies. + ${BUNDLE_VERSION}, Copyright 2003-2009 Apple Inc.; Copyright 1999-2001 Harri Porten <porten@kde.org>; Copyright 2001 Peter Kelly <pmk@post.com>; Copyright 1997-2005 University of Cambridge; Copyright 1991, 2000, 2001 by Lucent Technologies. CFBundleIdentifier com.apple.${PRODUCT_NAME} CFBundleInfoDictionaryVersion diff --git a/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.gypi b/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.gypi index c0eb086..03c23c3 100644 --- a/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.gypi +++ b/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.gypi @@ -64,7 +64,6 @@ 'bytecode/StructureStubInfo.h', 'bytecompiler/BytecodeGenerator.cpp', 'bytecompiler/BytecodeGenerator.h', - 'bytecompiler/NodesCodegen.cpp', 'bytecompiler/Label.h', 'bytecompiler/LabelScope.h', 'bytecompiler/RegisterID.h', @@ -120,7 +119,6 @@ 'jit/JITInlineMethods.h', 'jit/JITOpcodes.cpp', 'jit/JITPropertyAccess.cpp', - 'jit/JITPropertyAccess32_64.cpp', 'jit/JITStubCall.h', 'jit/JITStubs.cpp', 'jit/JITStubs.h', @@ -150,6 +148,8 @@ 'pcre/ucpinternal.h', 'pcre/ucptable.cpp', 'profiler/CallIdentifier.h', + 'profiler/HeavyProfile.cpp', + 'profiler/HeavyProfile.h', 'profiler/Profile.cpp', 'profiler/Profile.h', 'profiler/ProfileGenerator.cpp', @@ -159,6 +159,8 @@ 'profiler/Profiler.cpp', 'profiler/Profiler.h', 'profiler/ProfilerServer.h', + 'profiler/TreeProfile.cpp', + 'profiler/TreeProfile.h', 'runtime/ArgList.cpp', 'runtime/ArgList.h', 'runtime/Arguments.cpp', @@ -330,7 +332,6 @@ 'runtime/Tracing.h', 'runtime/UString.cpp', 'runtime/UString.h', - 'runtime/WeakRandom.h', 'wrec/CharacterClass.cpp', 'wrec/CharacterClass.h', 'wrec/CharacterClassConstructor.cpp', @@ -368,8 +369,8 @@ 'wtf/FastMalloc.h', 'wtf/Forward.h', 'wtf/GetPtr.h', - 'wtf/gtk/GOwnPtr.cpp', - 'wtf/gtk/GOwnPtr.h', + 'wtf/GOwnPtr.cpp', + 'wtf/GOwnPtr.h', 'wtf/gtk/MainThreadGtk.cpp', 'wtf/gtk/ThreadingGtk.cpp', 'wtf/HashCountedSet.h', @@ -399,6 +400,8 @@ 'wtf/PassRefPtr.h', 'wtf/Platform.h', 'wtf/PtrAndFlags.h', + 'wtf/qt/MainThreadQt.cpp', + 'wtf/qt/ThreadingQt.cpp', 'wtf/RandomNumber.cpp', 'wtf/RandomNumber.h', 'wtf/RandomNumberSeed.h', @@ -411,16 +414,11 @@ 'wtf/SegmentedVector.h', 'wtf/StdLibExtras.h', 'wtf/StringExtras.h', - 'wtf/StringHashFunctions.h', 'wtf/TCPackedCache.h', - 'wtf/qt/MainThreadQt.cpp', - 'wtf/qt/ThreadingQt.cpp', 'wtf/TCPageMap.h', 'wtf/TCSpinLock.h', 'wtf/TCSystemAlloc.cpp', 'wtf/TCSystemAlloc.h', - 'wtf/ThreadIdentifierDataPthreads.cpp', - 'wtf/ThreadIdentifierDataPthreads.h', 'wtf/Threading.cpp', 'wtf/Threading.h', 'wtf/ThreadingNone.cpp', @@ -442,7 +440,6 @@ 'wtf/unicode/UTF8.cpp', 'wtf/unicode/UTF8.h', 'wtf/UnusedParam.h', - 'wtf/ValueCheck.h', 'wtf/Vector.h', 'wtf/VectorTraits.h', 'wtf/VMTags.h', diff --git a/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.order b/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.order index d6f6caa..3ae3ec6 100644 --- a/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.order +++ b/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.order @@ -1625,6 +1625,7 @@ __ZN3JSC18EmptyStatementNode12emitBytecodeERNS_17BytecodeGeneratorEPNS_10Registe __ZN3JSCL27compareByStringPairForQSortEPKvS1_ __Z22jsc_pcre_ucp_othercasej __ZN3JSCL35objectProtoFuncPropertyIsEnumerableEPNS_9ExecStateEPNS_8JSObjectENS_7JSValueERKNS_7ArgListE +__ZNK3JSC8JSObject21getPropertyAttributesEPNS_9ExecStateERKNS_10IdentifierERj __ZN3WTF7HashMapIjN3JSC7JSValueENS_7IntHashIjEENS_10HashTraitsIjEENS5_IS2_EEE3setERKjRKS2_ __ZN3WTF9HashTableIjSt4pairIjN3JSC7JSValueEENS_18PairFirstExtractorIS4_EENS_7IntHashIjEENS_14PairHashTraitsINS_10HashTraitsIjEE __ZN3JSC12RegisterFile21releaseExcessCapacityEv @@ -1840,6 +1841,7 @@ __ZN3JSC6JSCell14toThisJSStringEPNS_9ExecStateE __ZNK3JSC6JSCell12toThisStringEPNS_9ExecStateE __ZN3JSCL27objectProtoFuncLookupSetterEPNS_9ExecStateEPNS_8JSObjectENS_7JSValueERKNS_7ArgListE __ZN3JSC8JSObject12lookupSetterEPNS_9ExecStateERKNS_10IdentifierE +__ZNK3JSC16JSVariableObject21getPropertyAttributesEPNS_9ExecStateERKNS_10IdentifierERj __ZN3JSC9ExecState22regExpConstructorTableEPS0_ __ZN3JSCL24regExpConstructorDollar7EPNS_9ExecStateERKNS_10IdentifierERKNS_12PropertySlotE __ZN3JSCL24regExpConstructorDollar8EPNS_9ExecStateERKNS_10IdentifierERKNS_12PropertySlotE diff --git a/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pri b/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pri index d4cfe10..bb531e5 100644 --- a/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pri +++ b/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pri @@ -1,23 +1,14 @@ # JavaScriptCore - Qt4 build info VPATH += $$PWD -CONFIG(standalone_package) { - isEmpty(JSC_GENERATED_SOURCES_DIR):JSC_GENERATED_SOURCES_DIR = $$PWD/generated -} else { - isEmpty(JSC_GENERATED_SOURCES_DIR):JSC_GENERATED_SOURCES_DIR = generated -} - CONFIG(debug, debug|release) { + isEmpty(GENERATED_SOURCES_DIR):GENERATED_SOURCES_DIR = generated$${QMAKE_DIR_SEP}debug OBJECTS_DIR = obj/debug } else { # Release + isEmpty(GENERATED_SOURCES_DIR):GENERATED_SOURCES_DIR = generated$${QMAKE_DIR_SEP}release OBJECTS_DIR = obj/release } -symbian: { - # Need to guarantee this comes before system includes of /epoc32/include - MMP_RULES += "USERINCLUDE ../JavaScriptCore/profiler" -} - INCLUDEPATH = \ $$PWD \ $$PWD/.. \ @@ -28,7 +19,6 @@ INCLUDEPATH = \ $$PWD/interpreter \ $$PWD/jit \ $$PWD/parser \ - $$PWD/pcre \ $$PWD/profiler \ $$PWD/runtime \ $$PWD/wrec \ @@ -37,11 +27,12 @@ INCLUDEPATH = \ $$PWD/yarr \ $$PWD/API \ $$PWD/ForwardingHeaders \ - $$JSC_GENERATED_SOURCES_DIR \ + $$GENERATED_SOURCES_DIR \ $$INCLUDEPATH DEFINES += BUILDING_QT__ BUILDING_JavaScriptCore BUILDING_WTF +GENERATED_SOURCES_DIR_SLASH = $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP} win32-* { LIBS += -lwinmm } @@ -56,6 +47,11 @@ contains(JAVASCRIPTCORE_JIT,no) { DEFINES+=ENABLE_YARR=0 } +# In debug mode JIT disabled until crash fixed +win32-* { + CONFIG(debug):!contains(DEFINES, ENABLE_JIT=1): DEFINES+=ENABLE_JIT=0 +} + # Rules when JIT enabled (not disabled) !contains(DEFINES, ENABLE_JIT=0) { linux*-g++*:greaterThan(QT_GCC_MAJOR_VERSION,3):greaterThan(QT_GCC_MINOR_VERSION,0) { @@ -72,7 +68,33 @@ wince* { include(pcre/pcre.pri) +LUT_FILES += \ + runtime/DatePrototype.cpp \ + runtime/JSONObject.cpp \ + runtime/NumberConstructor.cpp \ + runtime/StringPrototype.cpp \ + runtime/ArrayPrototype.cpp \ + runtime/MathObject.cpp \ + runtime/RegExpConstructor.cpp \ + runtime/RegExpObject.cpp + +KEYWORDLUT_FILES += \ + parser/Keywords.table + +JSCBISON += \ + parser/Grammar.y + SOURCES += \ + wtf/Assertions.cpp \ + wtf/ByteArray.cpp \ + wtf/HashTable.cpp \ + wtf/MainThread.cpp \ + wtf/RandomNumber.cpp \ + wtf/RefCountedLeakCounter.cpp \ + wtf/TypeTraits.cpp \ + wtf/unicode/CollatorDefault.cpp \ + wtf/unicode/icu/CollatorICU.cpp \ + wtf/unicode/UTF8.cpp \ API/JSBase.cpp \ API/JSCallbackConstructor.cpp \ API/JSCallbackFunction.cpp \ @@ -83,40 +105,60 @@ SOURCES += \ API/JSStringRef.cpp \ API/JSValueRef.cpp \ API/OpaqueJSString.cpp \ - assembler/ARMAssembler.cpp \ - assembler/MacroAssemblerARM.cpp \ + runtime/InitializeThreading.cpp \ + runtime/JSGlobalData.cpp \ + runtime/JSGlobalObject.cpp \ + runtime/JSStaticScopeObject.cpp \ + runtime/JSVariableObject.cpp \ + runtime/JSActivation.cpp \ + runtime/JSNotAnObject.cpp \ + runtime/JSONObject.cpp \ + runtime/LiteralParser.cpp \ + runtime/MarkStack.cpp \ + runtime/TimeoutChecker.cpp \ bytecode/CodeBlock.cpp \ - bytecode/JumpTable.cpp \ - bytecode/Opcode.cpp \ - bytecode/SamplingTool.cpp \ bytecode/StructureStubInfo.cpp \ - bytecompiler/BytecodeGenerator.cpp \ - bytecompiler/NodesCodegen.cpp \ - debugger/DebuggerActivation.cpp \ - debugger/DebuggerCallFrame.cpp \ - debugger/Debugger.cpp \ - interpreter/CallFrame.cpp \ - interpreter/Interpreter.cpp \ - interpreter/RegisterFile.cpp \ - jit/ExecutableAllocatorPosix.cpp \ - jit/ExecutableAllocatorSymbian.cpp \ - jit/ExecutableAllocatorWin.cpp \ - jit/ExecutableAllocator.cpp \ - jit/JITArithmetic.cpp \ - jit/JITCall.cpp \ + bytecode/JumpTable.cpp \ + assembler/ARMAssembler.cpp \ + assembler/MacroAssemblerARM.cpp \ jit/JIT.cpp \ + jit/JITCall.cpp \ + jit/JITArithmetic.cpp \ jit/JITOpcodes.cpp \ jit/JITPropertyAccess.cpp \ - jit/JITPropertyAccess32_64.cpp \ + jit/ExecutableAllocator.cpp \ jit/JITStubs.cpp \ - parser/Lexer.cpp \ - parser/Nodes.cpp \ - parser/ParserArena.cpp \ - parser/Parser.cpp \ - profiler/Profile.cpp \ - profiler/ProfileGenerator.cpp \ - profiler/ProfileNode.cpp \ - profiler/Profiler.cpp \ + bytecompiler/BytecodeGenerator.cpp \ + runtime/ExceptionHelpers.cpp \ + runtime/JSPropertyNameIterator.cpp \ + interpreter/Interpreter.cpp \ + bytecode/Opcode.cpp \ + bytecode/SamplingTool.cpp \ + yarr/RegexCompiler.cpp \ + yarr/RegexInterpreter.cpp \ + yarr/RegexJIT.cpp \ + interpreter/RegisterFile.cpp + +symbian { + SOURCES += jit/ExecutableAllocatorSymbian.cpp \ + runtime/MarkStackSymbian.cpp +} else { + win32-*|wince* { + SOURCES += jit/ExecutableAllocatorWin.cpp \ + runtime/MarkStackWin.cpp + } else { + SOURCES += jit/ExecutableAllocatorPosix.cpp \ + runtime/MarkStackPosix.cpp + } +} + +!contains(DEFINES, USE_SYSTEM_MALLOC) { + SOURCES += wtf/TCSystemAlloc.cpp +} + +# AllInOneFile.cpp helps gcc analize and optimize code +# Other compilers may be able to do this at link time +SOURCES += \ runtime/ArgList.cpp \ runtime/Arguments.cpp \ runtime/ArrayConstructor.cpp \ @@ -127,67 +169,62 @@ SOURCES += \ runtime/CallData.cpp \ runtime/Collector.cpp \ runtime/CommonIdentifiers.cpp \ - runtime/Completion.cpp \ runtime/ConstructData.cpp \ + wtf/CurrentTime.cpp \ runtime/DateConstructor.cpp \ runtime/DateConversion.cpp \ runtime/DateInstance.cpp \ runtime/DatePrototype.cpp \ - runtime/ErrorConstructor.cpp \ + debugger/Debugger.cpp \ + debugger/DebuggerCallFrame.cpp \ + debugger/DebuggerActivation.cpp \ + wtf/dtoa.cpp \ runtime/Error.cpp \ + runtime/ErrorConstructor.cpp \ runtime/ErrorInstance.cpp \ runtime/ErrorPrototype.cpp \ - runtime/ExceptionHelpers.cpp \ + interpreter/CallFrame.cpp \ runtime/Executable.cpp \ runtime/FunctionConstructor.cpp \ runtime/FunctionPrototype.cpp \ runtime/GetterSetter.cpp \ runtime/GlobalEvalFunction.cpp \ runtime/Identifier.cpp \ - runtime/InitializeThreading.cpp \ runtime/InternalFunction.cpp \ - runtime/JSActivation.cpp \ - runtime/JSAPIValueWrapper.cpp \ + runtime/Completion.cpp \ runtime/JSArray.cpp \ + runtime/JSAPIValueWrapper.cpp \ runtime/JSByteArray.cpp \ runtime/JSCell.cpp \ runtime/JSFunction.cpp \ - runtime/JSGlobalData.cpp \ - runtime/JSGlobalObject.cpp \ runtime/JSGlobalObjectFunctions.cpp \ runtime/JSImmediate.cpp \ runtime/JSLock.cpp \ - runtime/JSNotAnObject.cpp \ runtime/JSNumberCell.cpp \ runtime/JSObject.cpp \ - runtime/JSONObject.cpp \ - runtime/JSPropertyNameIterator.cpp \ - runtime/JSStaticScopeObject.cpp \ runtime/JSString.cpp \ runtime/JSValue.cpp \ - runtime/JSVariableObject.cpp \ runtime/JSWrapperObject.cpp \ - runtime/LiteralParser.cpp \ + parser/Lexer.cpp \ runtime/Lookup.cpp \ - runtime/MarkStackPosix.cpp \ - runtime/MarkStackSymbian.cpp \ - runtime/MarkStackWin.cpp \ - runtime/MarkStack.cpp \ runtime/MathObject.cpp \ runtime/NativeErrorConstructor.cpp \ runtime/NativeErrorPrototype.cpp \ + parser/Nodes.cpp \ runtime/NumberConstructor.cpp \ runtime/NumberObject.cpp \ runtime/NumberPrototype.cpp \ runtime/ObjectConstructor.cpp \ runtime/ObjectPrototype.cpp \ runtime/Operations.cpp \ + parser/Parser.cpp \ + parser/ParserArena.cpp \ runtime/PropertyDescriptor.cpp \ runtime/PropertyNameArray.cpp \ runtime/PropertySlot.cpp \ runtime/PrototypeFunction.cpp \ - runtime/RegExpConstructor.cpp \ runtime/RegExp.cpp \ + runtime/RegExpConstructor.cpp \ runtime/RegExpObject.cpp \ runtime/RegExpPrototype.cpp \ runtime/ScopeChain.cpp \ @@ -195,38 +232,50 @@ SOURCES += \ runtime/StringConstructor.cpp \ runtime/StringObject.cpp \ runtime/StringPrototype.cpp \ - runtime/StructureChain.cpp \ runtime/Structure.cpp \ - runtime/TimeoutChecker.cpp \ + runtime/StructureChain.cpp \ runtime/UString.cpp \ - runtime/UStringImpl.cpp \ - wtf/Assertions.cpp \ - wtf/ByteArray.cpp \ - wtf/CurrentTime.cpp \ + profiler/HeavyProfile.cpp \ + profiler/Profile.cpp \ + profiler/ProfileGenerator.cpp \ + profiler/ProfileNode.cpp \ + profiler/Profiler.cpp \ + profiler/TreeProfile.cpp \ wtf/DateMath.cpp \ - wtf/dtoa.cpp \ wtf/FastMalloc.cpp \ - wtf/HashTable.cpp \ - wtf/MainThread.cpp \ - wtf/qt/MainThreadQt.cpp \ - wtf/qt/ThreadingQt.cpp \ - wtf/RandomNumber.cpp \ - wtf/RefCountedLeakCounter.cpp \ - wtf/ThreadingNone.cpp \ wtf/Threading.cpp \ - wtf/TypeTraits.cpp \ - wtf/unicode/CollatorDefault.cpp \ - wtf/unicode/icu/CollatorICU.cpp \ - wtf/unicode/UTF8.cpp \ - yarr/RegexCompiler.cpp \ - yarr/RegexInterpreter.cpp \ - yarr/RegexJIT.cpp - -# Generated files, simply list them for JavaScriptCore -SOURCES += \ - $${JSC_GENERATED_SOURCES_DIR}/Grammar.cpp + wtf/qt/MainThreadQt.cpp -!contains(DEFINES, USE_SYSTEM_MALLOC) { - SOURCES += wtf/TCSystemAlloc.cpp +!contains(DEFINES, ENABLE_SINGLE_THREADED=1) { + SOURCES += wtf/qt/ThreadingQt.cpp +} else { + DEFINES += ENABLE_JSC_MULTIPLE_THREADS=0 + SOURCES += wtf/ThreadingNone.cpp } +# GENERATOR 1-A: LUT creator +lut.output = $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}.lut.h +lut.commands = perl $$PWD/create_hash_table ${QMAKE_FILE_NAME} -i > ${QMAKE_FILE_OUT} +lut.depend = ${QMAKE_FILE_NAME} +lut.input = LUT_FILES +lut.CONFIG += no_link +addExtraCompiler(lut) + +# GENERATOR 1-B: particular LUT creator (for 1 file only) +keywordlut.output = $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}Lexer.lut.h +keywordlut.commands = perl $$PWD/create_hash_table ${QMAKE_FILE_NAME} -i > ${QMAKE_FILE_OUT} +keywordlut.depend = ${QMAKE_FILE_NAME} +keywordlut.input = KEYWORDLUT_FILES +keywordlut.CONFIG += no_link +addExtraCompiler(keywordlut) + +# GENERATOR 2: bison grammar +jscbison.output = $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}.cpp +jscbison.commands = bison -d -p jscyy ${QMAKE_FILE_NAME} -o $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}.tab.c && $(MOVE) $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}.tab.c ${QMAKE_FILE_OUT} && $(MOVE) $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}.tab.h $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}.h +jscbison.depend = ${QMAKE_FILE_NAME} +jscbison.input = JSCBISON +jscbison.variable_out = GENERATED_SOURCES +jscbison.dependency_type = TYPE_C +jscbison.CONFIG = target_predeps +addExtraCompilerWithHeader(jscbison) + diff --git a/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pro b/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pro index 0d6becb..a1affd4 100644 --- a/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pro +++ b/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pro @@ -52,11 +52,17 @@ win32-g++ { QMAKE_LIBDIR_POST += $$split(TMPPATH,";") } +DEFINES += WTF_USE_JAVASCRIPTCORE_BINDINGS=1 + DEFINES += WTF_CHANGES=1 include(JavaScriptCore.pri) QMAKE_EXTRA_TARGETS += generated_files +lessThan(QT_MINOR_VERSION, 4) { + DEFINES += QT_BEGIN_NAMESPACE="" QT_END_NAMESPACE="" +} + *-g++*:QMAKE_CXXFLAGS_RELEASE -= -O2 *-g++*:QMAKE_CXXFLAGS_RELEASE += -O3 diff --git a/src/3rdparty/webkit/JavaScriptCore/assembler/ARMAssembler.cpp b/src/3rdparty/webkit/JavaScriptCore/assembler/ARMAssembler.cpp index 6dd2b87..1324586 100644 --- a/src/3rdparty/webkit/JavaScriptCore/assembler/ARMAssembler.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/assembler/ARMAssembler.cpp @@ -26,7 +26,7 @@ #include "config.h" -#if ENABLE(ASSEMBLER) && CPU(ARM_TRADITIONAL) +#if ENABLE(ASSEMBLER) && PLATFORM(ARM_TRADITIONAL) #include "ARMAssembler.h" @@ -34,6 +34,39 @@ namespace JSC { // Patching helpers +ARMWord* ARMAssembler::getLdrImmAddress(ARMWord* insn, uint32_t* constPool) +{ + // Must be an ldr ..., [pc +/- imm] + ASSERT((*insn & 0x0f7f0000) == 0x051f0000); + + if (constPool && (*insn & 0x1)) + return reinterpret_cast(constPool + ((*insn & SDT_OFFSET_MASK) >> 1)); + + ARMWord addr = reinterpret_cast(insn) + 2 * sizeof(ARMWord); + if (*insn & DT_UP) + return reinterpret_cast(addr + (*insn & SDT_OFFSET_MASK)); + else + return reinterpret_cast(addr - (*insn & SDT_OFFSET_MASK)); +} + +void ARMAssembler::linkBranch(void* code, JmpSrc from, void* to, int useConstantPool) +{ + ARMWord* insn = reinterpret_cast(code) + (from.m_offset / sizeof(ARMWord)); + + if (!useConstantPool) { + int diff = reinterpret_cast(to) - reinterpret_cast(insn + 2); + + if ((diff <= BOFFSET_MAX && diff >= BOFFSET_MIN)) { + *insn = B | getConditionalField(*insn) | (diff & BRANCH_MASK); + ExecutableAllocator::cacheFlush(insn, sizeof(ARMWord)); + return; + } + } + ARMWord* addr = getLdrImmAddress(insn); + *addr = reinterpret_cast(to); + ExecutableAllocator::cacheFlush(addr, sizeof(ARMWord)); +} + void ARMAssembler::patchConstantPoolLoad(void* loadAddr, void* constPoolAddr) { ARMWord *ldr = reinterpret_cast(loadAddr); @@ -85,7 +118,7 @@ ARMWord ARMAssembler::getOp2(ARMWord imm) if ((imm & 0x00ffffff) == 0) return OP2_IMM | (imm >> 24) | (rol << 8); - return INVALID_IMM; + return 0; } int ARMAssembler::genInt(int reg, ARMWord imm, bool positive) @@ -203,18 +236,25 @@ ARMWord ARMAssembler::getImm(ARMWord imm, int tmpReg, bool invert) // Do it by 1 instruction tmp = getOp2(imm); - if (tmp != INVALID_IMM) + if (tmp) return tmp; tmp = getOp2(~imm); - if (tmp != INVALID_IMM) { + if (tmp) { if (invert) return tmp | OP2_INV_IMM; mvn_r(tmpReg, tmp); return tmpReg; } - return encodeComplexImm(imm, tmpReg); + // Do it by 2 instruction + if (genInt(tmpReg, imm, true)) + return tmpReg; + if (genInt(tmpReg, ~imm, false)) + return tmpReg; + + ldr_imm(tmpReg, imm); + return tmpReg; } void ARMAssembler::moveImm(ARMWord imm, int dest) @@ -223,41 +263,24 @@ void ARMAssembler::moveImm(ARMWord imm, int dest) // Do it by 1 instruction tmp = getOp2(imm); - if (tmp != INVALID_IMM) { + if (tmp) { mov_r(dest, tmp); return; } tmp = getOp2(~imm); - if (tmp != INVALID_IMM) { + if (tmp) { mvn_r(dest, tmp); return; } - encodeComplexImm(imm, dest); -} - -ARMWord ARMAssembler::encodeComplexImm(ARMWord imm, int dest) -{ -#if WTF_ARM_ARCH_AT_LEAST(7) - ARMWord tmp = getImm16Op2(imm); - if (tmp != INVALID_IMM) { - movw_r(dest, tmp); - return dest; - } - movw_r(dest, getImm16Op2(imm & 0xffff)); - movt_r(dest, getImm16Op2(imm >> 16)); - return dest; -#else // Do it by 2 instruction if (genInt(dest, imm, true)) - return dest; + return; if (genInt(dest, ~imm, false)) - return dest; + return; ldr_imm(dest, imm); - return dest; -#endif } // Memory load/store helpers @@ -355,17 +378,10 @@ void* ARMAssembler::executableCopy(ExecutablePool* allocator) // The last bit is set if the constant must be placed on constant pool. int pos = (*iter) & (~0x1); ARMWord* ldrAddr = reinterpret_cast(data + pos); - ARMWord* addr = getLdrImmAddress(ldrAddr); - if (*addr != 0xffffffff) { - if (!(*iter & 1)) { - int diff = reinterpret_cast(data + *addr) - (ldrAddr + DefaultPrefetching); - - if ((diff <= BOFFSET_MAX && diff >= BOFFSET_MIN)) { - *ldrAddr = B | getConditionalField(*ldrAddr) | (diff & BRANCH_MASK); - continue; - } - } - *addr = reinterpret_cast(data + *addr); + ARMWord offset = *getLdrImmAddress(ldrAddr); + if (offset != 0xffffffff) { + JmpSrc jmpSrc(pos); + linkBranch(data, jmpSrc, data + offset, ((*iter) & 1)); } } @@ -374,4 +390,4 @@ void* ARMAssembler::executableCopy(ExecutablePool* allocator) } // namespace JSC -#endif // ENABLE(ASSEMBLER) && CPU(ARM_TRADITIONAL) +#endif // ENABLE(ASSEMBLER) && PLATFORM(ARM_TRADITIONAL) diff --git a/src/3rdparty/webkit/JavaScriptCore/assembler/ARMAssembler.h b/src/3rdparty/webkit/JavaScriptCore/assembler/ARMAssembler.h index 6967b37..9f9a450 100644 --- a/src/3rdparty/webkit/JavaScriptCore/assembler/ARMAssembler.h +++ b/src/3rdparty/webkit/JavaScriptCore/assembler/ARMAssembler.h @@ -29,7 +29,7 @@ #include -#if ENABLE(ASSEMBLER) && CPU(ARM_TRADITIONAL) +#if ENABLE(ASSEMBLER) && PLATFORM(ARM_TRADITIONAL) #include "AssemblerBufferWithConstantPool.h" #include @@ -121,7 +121,6 @@ namespace JSC { MUL = 0x00000090, MULL = 0x00c00090, FADDD = 0x0e300b00, - FDIVD = 0x0e800b00, FSUBD = 0x0e300b40, FMULD = 0x0e200b00, FCMPD = 0x0eb40b40, @@ -134,18 +133,12 @@ namespace JSC { B = 0x0a000000, BL = 0x0b000000, FMSR = 0x0e000a10, - FMRS = 0x0e100a10, FSITOD = 0x0eb80bc0, - FTOSID = 0x0ebd0b40, FMSTAT = 0x0ef1fa10, -#if WTF_ARM_ARCH_AT_LEAST(5) +#if ARM_ARCH_VERSION >= 5 CLZ = 0x016f0f10, BKPT = 0xe120070, #endif -#if WTF_ARM_ARCH_AT_LEAST(7) - MOVW = 0x03000000, - MOVT = 0x03400000, -#endif }; enum { @@ -182,9 +175,6 @@ namespace JSC { padForAlign32 = 0xee120070, }; - static const ARMWord INVALID_IMM = 0xf0000000; - static const int DefaultPrefetching = 2; - class JmpSrc { friend class ARMAssembler; public: @@ -343,20 +333,6 @@ namespace JSC { emitInst(static_cast(cc) | MOV, rd, ARMRegisters::r0, op2); } -#if WTF_ARM_ARCH_AT_LEAST(7) - void movw_r(int rd, ARMWord op2, Condition cc = AL) - { - ASSERT((op2 | 0xf0fff) == 0xf0fff); - m_buffer.putInt(static_cast(cc) | MOVW | RD(rd) | op2); - } - - void movt_r(int rd, ARMWord op2, Condition cc = AL) - { - ASSERT((op2 | 0xf0fff) == 0xf0fff); - m_buffer.putInt(static_cast(cc) | MOVT | RD(rd) | op2); - } -#endif - void movs_r(int rd, ARMWord op2, Condition cc = AL) { emitInst(static_cast(cc) | MOV | SET_CC, rd, ARMRegisters::r0, op2); @@ -402,11 +378,6 @@ namespace JSC { emitInst(static_cast(cc) | FADDD, dd, dn, dm); } - void fdivd_r(int dd, int dn, int dm, Condition cc = AL) - { - emitInst(static_cast(cc) | FDIVD, dd, dn, dm); - } - void fsubd_r(int dd, int dn, int dm, Condition cc = AL) { emitInst(static_cast(cc) | FSUBD, dd, dn, dm); @@ -511,27 +482,17 @@ namespace JSC { emitInst(static_cast(cc) | FMSR, rn, dd, 0); } - void fmrs_r(int rd, int dn, Condition cc = AL) - { - emitInst(static_cast(cc) | FMRS, rd, dn, 0); - } - void fsitod_r(int dd, int dm, Condition cc = AL) { emitInst(static_cast(cc) | FSITOD, dd, 0, dm); } - void ftosid_r(int fd, int dm, Condition cc = AL) - { - emitInst(static_cast(cc) | FTOSID, fd, 0, dm); - } - void fmstat(Condition cc = AL) { m_buffer.putInt(static_cast(cc) | FMSTAT); } -#if WTF_ARM_ARCH_AT_LEAST(5) +#if ARM_ARCH_VERSION >= 5 void clz_r(int rd, int rm, Condition cc = AL) { m_buffer.putInt(static_cast(cc) | CLZ | RD(rd) | RM(rm)); @@ -540,7 +501,7 @@ namespace JSC { void bkpt(ARMWord value) { -#if WTF_ARM_ARCH_AT_LEAST(5) +#if ARM_ARCH_VERSION >= 5 m_buffer.putInt(BKPT | ((value & 0xff0) << 4) | (value & 0xf)); #else // Cannot access to Zero memory address @@ -633,32 +594,15 @@ namespace JSC { // Patching helpers - static ARMWord* getLdrImmAddress(ARMWord* insn) - { - // Must be an ldr ..., [pc +/- imm] - ASSERT((*insn & 0x0f7f0000) == 0x051f0000); - - ARMWord addr = reinterpret_cast(insn) + DefaultPrefetching * sizeof(ARMWord); - if (*insn & DT_UP) - return reinterpret_cast(addr + (*insn & SDT_OFFSET_MASK)); - return reinterpret_cast(addr - (*insn & SDT_OFFSET_MASK)); - } - - static ARMWord* getLdrImmAddressOnPool(ARMWord* insn, uint32_t* constPool) - { - // Must be an ldr ..., [pc +/- imm] - ASSERT((*insn & 0x0f7f0000) == 0x051f0000); - - if (*insn & 0x1) - return reinterpret_cast(constPool + ((*insn & SDT_OFFSET_MASK) >> 1)); - return getLdrImmAddress(insn); - } + static ARMWord* getLdrImmAddress(ARMWord* insn, uint32_t* constPool = 0); + static void linkBranch(void* code, JmpSrc from, void* to, int useConstantPool = 0); static void patchPointerInternal(intptr_t from, void* to) { ARMWord* insn = reinterpret_cast(from); ARMWord* addr = getLdrImmAddress(insn); *addr = reinterpret_cast(to); + ExecutableAllocator::cacheFlush(addr, sizeof(ARMWord)); } static ARMWord patchConstantPoolLoad(ARMWord load, ARMWord value) @@ -703,13 +647,12 @@ namespace JSC { void linkJump(JmpSrc from, JmpDst to) { ARMWord* insn = reinterpret_cast(m_buffer.data()) + (from.m_offset / sizeof(ARMWord)); - ARMWord* addr = getLdrImmAddressOnPool(insn, m_buffer.poolAddress()); - *addr = static_cast(to.m_offset); + *getLdrImmAddress(insn, m_buffer.poolAddress()) = static_cast(to.m_offset); } static void linkJump(void* code, JmpSrc from, void* to) { - patchPointerInternal(reinterpret_cast(code) + from.m_offset, to); + linkBranch(code, from, to); } static void relinkJump(void* from, void* to) @@ -719,12 +662,12 @@ namespace JSC { static void linkCall(void* code, JmpSrc from, void* to) { - patchPointerInternal(reinterpret_cast(code) + from.m_offset, to); + linkBranch(code, from, to, true); } static void relinkCall(void* from, void* to) { - patchPointerInternal(reinterpret_cast(from) - sizeof(ARMWord), to); + relinkJump(from, to); } // Address operations @@ -765,18 +708,8 @@ namespace JSC { } static ARMWord getOp2(ARMWord imm); - -#if WTF_ARM_ARCH_AT_LEAST(7) - static ARMWord getImm16Op2(ARMWord imm) - { - if (imm <= 0xffff) - return (imm & 0xf000) << 4 | (imm & 0xfff); - return INVALID_IMM; - } -#endif ARMWord getImm(ARMWord imm, int tmpReg, bool invert = false); void moveImm(ARMWord imm, int dest); - ARMWord encodeComplexImm(ARMWord imm, int dest); // Memory load/store helpers @@ -831,6 +764,6 @@ namespace JSC { } // namespace JSC -#endif // ENABLE(ASSEMBLER) && CPU(ARM_TRADITIONAL) +#endif // ENABLE(ASSEMBLER) && PLATFORM(ARM_TRADITIONAL) #endif // ARMAssembler_h diff --git a/src/3rdparty/webkit/JavaScriptCore/assembler/ARMv7Assembler.h b/src/3rdparty/webkit/JavaScriptCore/assembler/ARMv7Assembler.h index 4e394b2..02ce2e9 100644 --- a/src/3rdparty/webkit/JavaScriptCore/assembler/ARMv7Assembler.h +++ b/src/3rdparty/webkit/JavaScriptCore/assembler/ARMv7Assembler.h @@ -28,7 +28,7 @@ #include -#if ENABLE(ASSEMBLER) && CPU(ARM_THUMB2) +#if ENABLE(ASSEMBLER) && PLATFORM(ARM_THUMB2) #include "AssemblerBuffer.h" #include @@ -201,10 +201,10 @@ class ARMThumbImmediate { ALWAYS_INLINE static void countLeadingZerosPartial(uint32_t& value, int32_t& zeros, const int N) { - if (value & ~((1 << N) - 1)) /* check for any of the top N bits (of 2N bits) are set */ - value >>= N; /* if any were set, lose the bottom N */ - else /* if none of the top N bits are set, */ - zeros += N; /* then we have identified N leading zeros */ + if (value & ~((1<>= N; /* if any were set, lose the bottom N */ \ + else /* if none of the top N bits are set, */ \ + zeros += N; /* then we have identified N leading zeros */ } static int32_t countLeadingZeros(uint32_t value) @@ -236,11 +236,6 @@ class ARMThumbImmediate { ARMThumbImmediate(ThumbImmediateType type, uint16_t value) : m_type(TypeUInt16) { - // Make sure this constructor is only reached with type TypeUInt16; - // this extra parameter makes the code a little clearer by making it - // explicit at call sites which type is being constructed - ASSERT_UNUSED(type, type == TypeUInt16); - m_value.asInt = value; } @@ -1832,6 +1827,6 @@ private: } // namespace JSC -#endif // ENABLE(ASSEMBLER) && CPU(ARM_THUMB2) +#endif // ENABLE(ASSEMBLER) && PLATFORM(ARM_THUMB2) #endif // ARMAssembler_h diff --git a/src/3rdparty/webkit/JavaScriptCore/assembler/AbstractMacroAssembler.h b/src/3rdparty/webkit/JavaScriptCore/assembler/AbstractMacroAssembler.h index 198e8d1..525fe98 100644 --- a/src/3rdparty/webkit/JavaScriptCore/assembler/AbstractMacroAssembler.h +++ b/src/3rdparty/webkit/JavaScriptCore/assembler/AbstractMacroAssembler.h @@ -173,16 +173,16 @@ public: struct Imm32 { explicit Imm32(int32_t value) : m_value(value) -#if CPU(ARM) +#if PLATFORM(ARM) , m_isPointer(false) #endif { } -#if !CPU(X86_64) +#if !PLATFORM(X86_64) explicit Imm32(ImmPtr ptr) : m_value(ptr.asIntptr()) -#if CPU(ARM) +#if PLATFORM(ARM) , m_isPointer(true) #endif { @@ -190,7 +190,7 @@ public: #endif int32_t m_value; -#if CPU(ARM) +#if PLATFORM(ARM) // We rely on being able to regenerate code to recover exception handling // information. Since ARMv7 supports 16-bit immediates there is a danger // that if pointer values change the layout of the generated code will change. diff --git a/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssembler.h b/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssembler.h index 76bd205..2743ab4 100644 --- a/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssembler.h +++ b/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssembler.h @@ -30,19 +30,19 @@ #if ENABLE(ASSEMBLER) -#if CPU(ARM_THUMB2) +#if PLATFORM(ARM_THUMB2) #include "MacroAssemblerARMv7.h" namespace JSC { typedef MacroAssemblerARMv7 MacroAssemblerBase; }; -#elif CPU(ARM_TRADITIONAL) +#elif PLATFORM(ARM_TRADITIONAL) #include "MacroAssemblerARM.h" namespace JSC { typedef MacroAssemblerARM MacroAssemblerBase; }; -#elif CPU(X86) +#elif PLATFORM(X86) #include "MacroAssemblerX86.h" namespace JSC { typedef MacroAssemblerX86 MacroAssemblerBase; }; -#elif CPU(X86_64) +#elif PLATFORM(X86_64) #include "MacroAssemblerX86_64.h" namespace JSC { typedef MacroAssemblerX86_64 MacroAssemblerBase; }; @@ -60,7 +60,7 @@ public: using MacroAssemblerBase::jump; using MacroAssemblerBase::branch32; using MacroAssemblerBase::branch16; -#if CPU(X86_64) +#if PLATFORM(X86_64) using MacroAssemblerBase::branchPtr; using MacroAssemblerBase::branchTestPtr; #endif @@ -133,8 +133,7 @@ public: // Ptr methods // On 32-bit platforms (i.e. x86), these methods directly map onto their 32-bit equivalents. - // FIXME: should this use a test for 32-bitness instead of this specific exception? -#if !CPU(X86_64) +#if !PLATFORM(X86_64) void addPtr(RegisterID src, RegisterID dest) { add32(src, dest); @@ -180,6 +179,16 @@ public: or32(imm, dest); } + void rshiftPtr(RegisterID shift_amount, RegisterID dest) + { + rshift32(shift_amount, dest); + } + + void rshiftPtr(Imm32 imm, RegisterID dest) + { + rshift32(imm, dest); + } + void subPtr(RegisterID src, RegisterID dest) { sub32(src, dest); diff --git a/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARM.cpp b/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARM.cpp index b5b20fa..d726ecd 100644 --- a/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARM.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARM.cpp @@ -26,11 +26,11 @@ #include "config.h" -#if ENABLE(ASSEMBLER) && CPU(ARM_TRADITIONAL) +#if ENABLE(ASSEMBLER) && PLATFORM(ARM_TRADITIONAL) #include "MacroAssemblerARM.h" -#if OS(LINUX) +#if PLATFORM(LINUX) #include #include #include @@ -43,7 +43,7 @@ namespace JSC { static bool isVFPPresent() { -#if OS(LINUX) +#if PLATFORM(LINUX) int fd = open("/proc/self/auxv", O_RDONLY); if (fd > 0) { Elf32_auxv_t aux; @@ -62,8 +62,7 @@ static bool isVFPPresent() const bool MacroAssemblerARM::s_isVFPPresent = isVFPPresent(); -#if CPU(ARMV5_OR_LOWER) -/* On ARMv5 and below, natural alignment is required. */ +#if defined(ARM_REQUIRE_NATURAL_ALIGNMENT) && ARM_REQUIRE_NATURAL_ALIGNMENT void MacroAssemblerARM::load32WithUnalignedHalfWords(BaseIndex address, RegisterID dest) { ARMWord op2; @@ -92,4 +91,4 @@ void MacroAssemblerARM::load32WithUnalignedHalfWords(BaseIndex address, Register } -#endif // ENABLE(ASSEMBLER) && CPU(ARM_TRADITIONAL) +#endif // ENABLE(ASSEMBLER) && PLATFORM(ARM_TRADITIONAL) diff --git a/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARM.h b/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARM.h index 21b8de8..7a72b06 100644 --- a/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARM.h +++ b/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARM.h @@ -30,7 +30,7 @@ #include -#if ENABLE(ASSEMBLER) && CPU(ARM_TRADITIONAL) +#if ENABLE(ASSEMBLER) && PLATFORM(ARM_TRADITIONAL) #include "ARMAssembler.h" #include "AbstractMacroAssembler.h" @@ -38,9 +38,6 @@ namespace JSC { class MacroAssemblerARM : public AbstractMacroAssembler { - static const int DoubleConditionMask = 0x0f; - static const int DoubleConditionBitSpecial = 0x10; - COMPILE_ASSERT(!(DoubleConditionBitSpecial & DoubleConditionMask), DoubleConditionBitSpecial_should_not_interfere_with_ARMAssembler_Condition_codes); public: enum Condition { Equal = ARMAssembler::EQ, @@ -60,20 +57,11 @@ public: }; enum DoubleCondition { - // These conditions will only evaluate to true if the comparison is ordered - i.e. neither operand is NaN. DoubleEqual = ARMAssembler::EQ, - DoubleNotEqual = ARMAssembler::NE | DoubleConditionBitSpecial, DoubleGreaterThan = ARMAssembler::GT, DoubleGreaterThanOrEqual = ARMAssembler::GE, - DoubleLessThan = ARMAssembler::CC, - DoubleLessThanOrEqual = ARMAssembler::LS, - // If either operand is NaN, these conditions always evaluate to true. - DoubleEqualOrUnordered = ARMAssembler::EQ | DoubleConditionBitSpecial, - DoubleNotEqualOrUnordered = ARMAssembler::NE, - DoubleGreaterThanOrUnordered = ARMAssembler::HI, - DoubleGreaterThanOrEqualOrUnordered = ARMAssembler::CS, - DoubleLessThanOrUnordered = ARMAssembler::LT, - DoubleLessThanOrEqualOrUnordered = ARMAssembler::LE, + DoubleLessThan = ARMAssembler::LT, + DoubleLessThanOrEqual = ARMAssembler::LE, }; static const RegisterID stackPointerRegister = ARMRegisters::sp; @@ -118,18 +106,14 @@ public: m_assembler.ands_r(dest, dest, w); } - void lshift32(RegisterID shift_amount, RegisterID dest) + void lshift32(Imm32 imm, RegisterID dest) { - ARMWord w = ARMAssembler::getOp2(0x1f); - ASSERT(w != ARMAssembler::INVALID_IMM); - m_assembler.and_r(ARMRegisters::S0, shift_amount, w); - - m_assembler.movs_r(dest, m_assembler.lsl_r(dest, ARMRegisters::S0)); + m_assembler.movs_r(dest, m_assembler.lsl(dest, imm.m_value & 0x1f)); } - void lshift32(Imm32 imm, RegisterID dest) + void lshift32(RegisterID shift_amount, RegisterID dest) { - m_assembler.movs_r(dest, m_assembler.lsl(dest, imm.m_value & 0x1f)); + m_assembler.movs_r(dest, m_assembler.lsl_r(dest, shift_amount)); } void mul32(RegisterID src, RegisterID dest) @@ -147,11 +131,6 @@ public: m_assembler.muls_r(dest, src, ARMRegisters::S0); } - void neg32(RegisterID srcDest) - { - m_assembler.rsbs_r(srcDest, srcDest, ARMAssembler::getOp2(0)); - } - void not32(RegisterID dest) { m_assembler.mvns_r(dest, dest); @@ -169,11 +148,7 @@ public: void rshift32(RegisterID shift_amount, RegisterID dest) { - ARMWord w = ARMAssembler::getOp2(0x1f); - ASSERT(w != ARMAssembler::INVALID_IMM); - m_assembler.and_r(ARMRegisters::S0, shift_amount, w); - - m_assembler.movs_r(dest, m_assembler.asr_r(dest, ARMRegisters::S0)); + m_assembler.movs_r(dest, m_assembler.asr_r(dest, shift_amount)); } void rshift32(Imm32 imm, RegisterID dest) @@ -224,7 +199,7 @@ public: m_assembler.baseIndexTransfer32(true, dest, address.base, address.index, static_cast(address.scale), address.offset); } -#if CPU(ARMV5_OR_LOWER) +#if defined(ARM_REQUIRE_NATURAL_ALIGNMENT) && ARM_REQUIRE_NATURAL_ALIGNMENT void load32WithUnalignedHalfWords(BaseIndex address, RegisterID dest); #else void load32WithUnalignedHalfWords(BaseIndex address, RegisterID dest) @@ -530,13 +505,6 @@ public: return Jump(m_assembler.jmp(ARMCondition(cond))); } - Jump branchOr32(Condition cond, RegisterID src, RegisterID dest) - { - ASSERT((cond == Signed) || (cond == Zero) || (cond == NonZero)); - or32(src, dest); - return Jump(m_assembler.jmp(ARMCondition(cond))); - } - void breakpoint() { m_assembler.bkpt(0); @@ -580,25 +548,6 @@ public: m_assembler.mov_r(dest, ARMAssembler::getOp2(1), ARMCondition(cond)); } - void set8(Condition cond, RegisterID left, RegisterID right, RegisterID dest) - { - // ARM doesn't have byte registers - set32(cond, left, right, dest); - } - - void set8(Condition cond, Address left, RegisterID right, RegisterID dest) - { - // ARM doesn't have byte registers - load32(left, ARMRegisters::S1); - set32(cond, ARMRegisters::S1, right, dest); - } - - void set8(Condition cond, RegisterID left, Imm32 right, RegisterID dest) - { - // ARM doesn't have byte registers - set32(cond, left, right, dest); - } - void setTest32(Condition cond, Address address, Imm32 mask, RegisterID dest) { load32(address, ARMRegisters::S1); @@ -610,12 +559,6 @@ public: m_assembler.mov_r(dest, ARMAssembler::getOp2(1), ARMCondition(cond)); } - void setTest8(Condition cond, Address address, Imm32 mask, RegisterID dest) - { - // ARM doesn't have byte registers - setTest32(cond, address, mask, dest); - } - void add32(Imm32 imm, RegisterID src, RegisterID dest) { m_assembler.add_r(dest, src, m_assembler.getImm(imm.m_value, ARMRegisters::S0)); @@ -723,12 +666,6 @@ public: m_assembler.doubleTransfer(true, dest, address.base, address.offset); } - void loadDouble(void* address, FPRegisterID dest) - { - m_assembler.ldr_un_imm(ARMRegisters::S0, (ARMWord)address); - m_assembler.fdtr_u(true, dest, ARMRegisters::S0, 0); - } - void storeDouble(FPRegisterID src, ImplicitAddress address) { m_assembler.doubleTransfer(false, src, address.base, address.offset); @@ -745,18 +682,6 @@ public: addDouble(ARMRegisters::SD0, dest); } - void divDouble(FPRegisterID src, FPRegisterID dest) - { - m_assembler.fdivd_r(dest, dest, src); - } - - void divDouble(Address src, FPRegisterID dest) - { - ASSERT_NOT_REACHED(); // Untested - loadDouble(src, ARMRegisters::SD0); - divDouble(ARMRegisters::SD0, dest); - } - void subDouble(FPRegisterID src, FPRegisterID dest) { m_assembler.fsubd_r(dest, dest, src); @@ -785,30 +710,11 @@ public: m_assembler.fsitod_r(dest, dest); } - void convertInt32ToDouble(Address src, FPRegisterID dest) - { - ASSERT_NOT_REACHED(); // Untested - // flds does not worth the effort here - load32(src, ARMRegisters::S1); - convertInt32ToDouble(ARMRegisters::S1, dest); - } - - void convertInt32ToDouble(AbsoluteAddress src, FPRegisterID dest) - { - ASSERT_NOT_REACHED(); // Untested - // flds does not worth the effort here - m_assembler.ldr_un_imm(ARMRegisters::S1, (ARMWord)src.m_ptr); - m_assembler.dtr_u(true, ARMRegisters::S1, ARMRegisters::S1, 0); - convertInt32ToDouble(ARMRegisters::S1, dest); - } - Jump branchDouble(DoubleCondition cond, FPRegisterID left, FPRegisterID right) { m_assembler.fcmpd_r(left, right); m_assembler.fmstat(); - if (cond & DoubleConditionBitSpecial) - m_assembler.cmp_r(ARMRegisters::S0, ARMRegisters::S0, ARMAssembler::VS); - return Jump(m_assembler.jmp(static_cast(cond & ~DoubleConditionMask))); + return Jump(m_assembler.jmp(static_cast(cond))); } // Truncates 'src' to an integer, and places the resulting 'dest'. @@ -823,29 +729,6 @@ public: return jump(); } - // Convert 'src' to an integer, and places the resulting 'dest'. - // If the result is not representable as a 32 bit value, branch. - // May also branch for some values that are representable in 32 bits - // (specifically, in this case, 0). - void branchConvertDoubleToInt32(FPRegisterID src, RegisterID dest, JumpList& failureCases, FPRegisterID fpTemp) - { - m_assembler.ftosid_r(ARMRegisters::SD0, src); - m_assembler.fmrs_r(dest, ARMRegisters::SD0); - - // Convert the integer result back to float & compare to the original value - if not equal or unordered (NaN) then jump. - m_assembler.fsitod_r(ARMRegisters::SD0, ARMRegisters::SD0); - failureCases.append(branchDouble(DoubleNotEqualOrUnordered, src, ARMRegisters::SD0)); - - // If the result is zero, it might have been -0.0, and 0.0 equals to -0.0 - failureCases.append(branchTest32(Zero, dest)); - } - - void zeroDouble(FPRegisterID srcDest) - { - m_assembler.mov_r(ARMRegisters::S0, ARMAssembler::getOp2(0)); - convertInt32ToDouble(ARMRegisters::S0, srcDest); - } - protected: ARMAssembler::Condition ARMCondition(Condition cond) { @@ -928,6 +811,6 @@ private: } -#endif // ENABLE(ASSEMBLER) && CPU(ARM_TRADITIONAL) +#endif // ENABLE(ASSEMBLER) && PLATFORM(ARM_TRADITIONAL) #endif // MacroAssemblerARM_h diff --git a/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARMv7.h b/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARMv7.h index 532a9cf..c479517 100644 --- a/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARMv7.h +++ b/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARMv7.h @@ -93,21 +93,13 @@ public: Zero = ARMv7Assembler::ConditionEQ, NonZero = ARMv7Assembler::ConditionNE }; + enum DoubleCondition { - // These conditions will only evaluate to true if the comparison is ordered - i.e. neither operand is NaN. DoubleEqual = ARMv7Assembler::ConditionEQ, - DoubleNotEqual = ARMv7Assembler::ConditionVC, // Not the right flag! check for this & handle differently. DoubleGreaterThan = ARMv7Assembler::ConditionGT, DoubleGreaterThanOrEqual = ARMv7Assembler::ConditionGE, DoubleLessThan = ARMv7Assembler::ConditionLO, DoubleLessThanOrEqual = ARMv7Assembler::ConditionLS, - // If either operand is NaN, these conditions always evaluate to true. - DoubleEqualOrUnordered = ARMv7Assembler::ConditionVS, // Not the right flag! check for this & handle differently. - DoubleNotEqualOrUnordered = ARMv7Assembler::ConditionNE, - DoubleGreaterThanOrUnordered = ARMv7Assembler::ConditionHI, - DoubleGreaterThanOrEqualOrUnordered = ARMv7Assembler::ConditionHS, - DoubleLessThanOrUnordered = ARMv7Assembler::ConditionLT, - DoubleLessThanOrEqualOrUnordered = ARMv7Assembler::ConditionLE, }; static const RegisterID stackPointerRegister = ARMRegisters::sp; @@ -197,19 +189,14 @@ public: } } - void lshift32(RegisterID shift_amount, RegisterID dest) + void lshift32(Imm32 imm, RegisterID dest) { - // Clamp the shift to the range 0..31 - ARMThumbImmediate armImm = ARMThumbImmediate::makeEncodedImm(0x1f); - ASSERT(armImm.isValid()); - m_assembler.ARM_and(dataTempRegister, shift_amount, armImm); - - m_assembler.lsl(dest, dest, dataTempRegister); + m_assembler.lsl(dest, dest, imm.m_value); } - void lshift32(Imm32 imm, RegisterID dest) + void lshift32(RegisterID shift_amount, RegisterID dest) { - m_assembler.lsl(dest, dest, imm.m_value & 0x1f); + m_assembler.lsl(dest, dest, shift_amount); } void mul32(RegisterID src, RegisterID dest) @@ -246,17 +233,12 @@ public: void rshift32(RegisterID shift_amount, RegisterID dest) { - // Clamp the shift to the range 0..31 - ARMThumbImmediate armImm = ARMThumbImmediate::makeEncodedImm(0x1f); - ASSERT(armImm.isValid()); - m_assembler.ARM_and(dataTempRegister, shift_amount, armImm); - - m_assembler.asr(dest, dest, dataTempRegister); + m_assembler.asr(dest, dest, shift_amount); } void rshift32(Imm32 imm, RegisterID dest) { - m_assembler.asr(dest, dest, imm.m_value & 0x1f); + m_assembler.asr(dest, dest, imm.m_value); } void sub32(RegisterID src, RegisterID dest) @@ -549,23 +531,6 @@ public: { m_assembler.vcmp_F64(left, right); m_assembler.vmrs_APSR_nzcv_FPSCR(); - - if (cond == DoubleNotEqual) { - // ConditionNE jumps if NotEqual *or* unordered - force the unordered cases not to jump. - Jump unordered = makeBranch(ARMv7Assembler::ConditionVS); - Jump result = makeBranch(ARMv7Assembler::ConditionNE); - unordered.link(this); - return result; - } - if (cond == DoubleEqualOrUnordered) { - Jump unordered = makeBranch(ARMv7Assembler::ConditionVS); - Jump notEqual = makeBranch(ARMv7Assembler::ConditionNE); - unordered.link(this); - // We get here if either unordered, or equal. - Jump result = makeJump(); - notEqual.link(this); - return result; - } return makeBranch(cond); } diff --git a/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerCodeRef.h b/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerCodeRef.h index cae8bf6..3681af8 100644 --- a/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerCodeRef.h +++ b/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerCodeRef.h @@ -37,7 +37,7 @@ // ASSERT_VALID_CODE_POINTER checks that ptr is a non-null pointer, and that it is a valid // instruction address on the platform (for example, check any alignment requirements). -#if CPU(ARM_THUMB2) +#if PLATFORM(ARM_THUMB2) // ARM/thumb instructions must be 16-bit aligned, but all code pointers to be loaded // into the processor are decorated with the bottom bit set, indicating that this is // thumb code (as oposed to 32-bit traditional ARM). The first test checks for both @@ -130,7 +130,7 @@ public: } explicit MacroAssemblerCodePtr(void* value) -#if CPU(ARM_THUMB2) +#if PLATFORM(ARM_THUMB2) // Decorate the pointer as a thumb code pointer. : m_value(reinterpret_cast(value) + 1) #else @@ -147,7 +147,7 @@ public: } void* executableAddress() const { return m_value; } -#if CPU(ARM_THUMB2) +#if PLATFORM(ARM_THUMB2) // To use this pointer as a data address remove the decoration. void* dataLocation() const { ASSERT_VALID_CODE_POINTER(m_value); return reinterpret_cast(m_value) - 1; } #else diff --git a/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerX86.h b/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerX86.h index ca7c31a..6e96240 100644 --- a/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerX86.h +++ b/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerX86.h @@ -28,7 +28,7 @@ #include -#if ENABLE(ASSEMBLER) && CPU(X86) +#if ENABLE(ASSEMBLER) && PLATFORM(X86) #include "MacroAssemblerX86Common.h" diff --git a/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerX86Common.h b/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerX86Common.h index 449df86..5ebefa7 100644 --- a/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerX86Common.h +++ b/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerX86Common.h @@ -36,10 +36,6 @@ namespace JSC { class MacroAssemblerX86Common : public AbstractMacroAssembler { - static const int DoubleConditionBitInvert = 0x10; - static const int DoubleConditionBitSpecial = 0x20; - static const int DoubleConditionBits = DoubleConditionBitInvert | DoubleConditionBitSpecial; - public: enum Condition { @@ -60,24 +56,13 @@ public: }; enum DoubleCondition { - // These conditions will only evaluate to true if the comparison is ordered - i.e. neither operand is NaN. - DoubleEqual = X86Assembler::ConditionE | DoubleConditionBitSpecial, + DoubleEqual = X86Assembler::ConditionE, DoubleNotEqual = X86Assembler::ConditionNE, DoubleGreaterThan = X86Assembler::ConditionA, DoubleGreaterThanOrEqual = X86Assembler::ConditionAE, - DoubleLessThan = X86Assembler::ConditionA | DoubleConditionBitInvert, - DoubleLessThanOrEqual = X86Assembler::ConditionAE | DoubleConditionBitInvert, - // If either operand is NaN, these conditions always evaluate to true. - DoubleEqualOrUnordered = X86Assembler::ConditionE, - DoubleNotEqualOrUnordered = X86Assembler::ConditionNE | DoubleConditionBitSpecial, - DoubleGreaterThanOrUnordered = X86Assembler::ConditionB | DoubleConditionBitInvert, - DoubleGreaterThanOrEqualOrUnordered = X86Assembler::ConditionBE | DoubleConditionBitInvert, - DoubleLessThanOrUnordered = X86Assembler::ConditionB, - DoubleLessThanOrEqualOrUnordered = X86Assembler::ConditionBE, + DoubleLessThan = X86Assembler::ConditionB, + DoubleLessThanOrEqual = X86Assembler::ConditionBE, }; - COMPILE_ASSERT( - !((X86Assembler::ConditionE | X86Assembler::ConditionNE | X86Assembler::ConditionA | X86Assembler::ConditionAE | X86Assembler::ConditionB | X86Assembler::ConditionBE) & DoubleConditionBits), - DoubleConditionBits_should_not_interfere_with_X86Assembler_Condition_codes); static const RegisterID stackPointerRegister = X86Registers::esp; @@ -431,35 +416,20 @@ public: void convertInt32ToDouble(Address src, FPRegisterID dest) { - ASSERT(isSSE2Present()); m_assembler.cvtsi2sd_mr(src.offset, src.base, dest); } Jump branchDouble(DoubleCondition cond, FPRegisterID left, FPRegisterID right) { ASSERT(isSSE2Present()); + m_assembler.ucomisd_rr(right, left); + return Jump(m_assembler.jCC(x86Condition(cond))); + } - if (cond & DoubleConditionBitInvert) - m_assembler.ucomisd_rr(left, right); - else - m_assembler.ucomisd_rr(right, left); - - if (cond == DoubleEqual) { - Jump isUnordered(m_assembler.jp()); - Jump result = Jump(m_assembler.je()); - isUnordered.link(this); - return result; - } else if (cond == DoubleNotEqualOrUnordered) { - Jump isUnordered(m_assembler.jp()); - Jump isEqual(m_assembler.je()); - isUnordered.link(this); - Jump result = jump(); - isEqual.link(this); - return result; - } - - ASSERT(!(cond & DoubleConditionBitSpecial)); - return Jump(m_assembler.jCC(static_cast(cond & ~DoubleConditionBits))); + Jump branchDouble(DoubleCondition cond, FPRegisterID left, Address right) + { + m_assembler.ucomisd_mr(right.offset, right.base, left); + return Jump(m_assembler.jCC(x86Condition(cond))); } // Truncates 'src' to an integer, and places the resulting 'dest'. @@ -473,25 +443,6 @@ public: return branch32(Equal, dest, Imm32(0x80000000)); } - // Convert 'src' to an integer, and places the resulting 'dest'. - // If the result is not representable as a 32 bit value, branch. - // May also branch for some values that are representable in 32 bits - // (specifically, in this case, 0). - void branchConvertDoubleToInt32(FPRegisterID src, RegisterID dest, JumpList& failureCases, FPRegisterID fpTemp) - { - ASSERT(isSSE2Present()); - m_assembler.cvttsd2si_rr(src, dest); - - // If the result is zero, it might have been -0.0, and the double comparison won't catch this! - failureCases.append(branchTest32(Zero, dest)); - - // Convert the integer result back to float & compare to the original value - if not equal or unordered (NaN) then jump. - convertInt32ToDouble(dest, fpTemp); - m_assembler.ucomisd_rr(fpTemp, src); - failureCases.append(m_assembler.jp()); - failureCases.append(m_assembler.jne()); - } - void zeroDouble(FPRegisterID srcDest) { ASSERT(isSSE2Present()); @@ -542,7 +493,7 @@ public: m_assembler.movl_i32r(imm.m_value, dest); } -#if CPU(X86_64) +#if PLATFORM(X86_64) void move(RegisterID src, RegisterID dest) { // Note: on 64-bit this is is a full register move; perhaps it would be @@ -558,8 +509,7 @@ public: void swap(RegisterID reg1, RegisterID reg2) { - if (reg1 != reg2) - m_assembler.xchgq_rr(reg1, reg2); + m_assembler.xchgq_rr(reg1, reg2); } void signExtend32ToPtr(RegisterID src, RegisterID dest) @@ -939,13 +889,18 @@ protected: return static_cast(cond); } + X86Assembler::Condition x86Condition(DoubleCondition cond) + { + return static_cast(cond); + } + private: // Only MacroAssemblerX86 should be using the following method; SSE2 is always available on // x86_64, and clients & subclasses of MacroAssembler should be using 'supportsFloatingPoint()'. friend class MacroAssemblerX86; -#if CPU(X86) -#if OS(MAC_OS_X) +#if PLATFORM(X86) +#if PLATFORM(MAC) // All X86 Macs are guaranteed to support at least SSE2, static bool isSSE2Present() @@ -953,7 +908,7 @@ private: return true; } -#else // OS(MAC_OS_X) +#else // PLATFORM(MAC) enum SSE2CheckState { NotCheckedSSE2, @@ -996,8 +951,8 @@ private: static SSE2CheckState s_sse2CheckState; -#endif // OS(MAC_OS_X) -#elif !defined(NDEBUG) // CPU(X86) +#endif // PLATFORM(MAC) +#elif !defined(NDEBUG) // PLATFORM(X86) // On x86-64 we should never be checking for SSE2 in a non-debug build, // but non debug add this method to keep the asserts above happy. diff --git a/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerX86_64.h b/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerX86_64.h index ec93f8c..0f95fe6 100644 --- a/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerX86_64.h +++ b/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerX86_64.h @@ -28,7 +28,7 @@ #include -#if ENABLE(ASSEMBLER) && CPU(X86_64) +#if ENABLE(ASSEMBLER) && PLATFORM(X86_64) #include "MacroAssemblerX86Common.h" @@ -192,6 +192,33 @@ public: m_assembler.orq_ir(imm.m_value, dest); } + void rshiftPtr(RegisterID shift_amount, RegisterID dest) + { + // On x86 we can only shift by ecx; if asked to shift by another register we'll + // need rejig the shift amount into ecx first, and restore the registers afterwards. + if (shift_amount != X86Registers::ecx) { + swap(shift_amount, X86Registers::ecx); + + // E.g. transform "shll %eax, %eax" -> "xchgl %eax, %ecx; shll %ecx, %ecx; xchgl %eax, %ecx" + if (dest == shift_amount) + m_assembler.sarq_CLr(X86Registers::ecx); + // E.g. transform "shll %eax, %ecx" -> "xchgl %eax, %ecx; shll %ecx, %eax; xchgl %eax, %ecx" + else if (dest == X86Registers::ecx) + m_assembler.sarq_CLr(shift_amount); + // E.g. transform "shll %eax, %ebx" -> "xchgl %eax, %ecx; shll %ecx, %ebx; xchgl %eax, %ecx" + else + m_assembler.sarq_CLr(dest); + + swap(shift_amount, X86Registers::ecx); + } else + m_assembler.sarq_CLr(dest); + } + + void rshiftPtr(Imm32 imm, RegisterID dest) + { + m_assembler.sarq_i8r(imm.m_value, dest); + } + void subPtr(RegisterID src, RegisterID dest) { m_assembler.subq_rr(src, dest); diff --git a/src/3rdparty/webkit/JavaScriptCore/assembler/X86Assembler.h b/src/3rdparty/webkit/JavaScriptCore/assembler/X86Assembler.h index ab3d05f..cbbaaa5 100644 --- a/src/3rdparty/webkit/JavaScriptCore/assembler/X86Assembler.h +++ b/src/3rdparty/webkit/JavaScriptCore/assembler/X86Assembler.h @@ -28,7 +28,7 @@ #include -#if ENABLE(ASSEMBLER) && (CPU(X86) || CPU(X86_64)) +#if ENABLE(ASSEMBLER) && (PLATFORM(X86) || PLATFORM(X86_64)) #include "AssemblerBuffer.h" #include @@ -50,7 +50,7 @@ namespace X86Registers { esi, edi, -#if CPU(X86_64) +#if PLATFORM(X86_64) r8, r9, r10, @@ -118,12 +118,12 @@ private: OP_XOR_GvEv = 0x33, OP_CMP_EvGv = 0x39, OP_CMP_GvEv = 0x3B, -#if CPU(X86_64) +#if PLATFORM(X86_64) PRE_REX = 0x40, #endif OP_PUSH_EAX = 0x50, OP_POP_EAX = 0x58, -#if CPU(X86_64) +#if PLATFORM(X86_64) OP_MOVSXD_GvEv = 0x63, #endif PRE_OPERAND_SIZE = 0x66, @@ -296,7 +296,7 @@ public: // Arithmetic operations: -#if !CPU(X86_64) +#if !PLATFORM(X86_64) void adcl_im(int imm, void* addr) { if (CAN_SIGN_EXTEND_8_32(imm)) { @@ -346,7 +346,7 @@ public: } } -#if CPU(X86_64) +#if PLATFORM(X86_64) void addq_rr(RegisterID src, RegisterID dst) { m_formatter.oneByteOp64(OP_ADD_EvGv, src, dst); @@ -423,7 +423,7 @@ public: } } -#if CPU(X86_64) +#if PLATFORM(X86_64) void andq_rr(RegisterID src, RegisterID dst) { m_formatter.oneByteOp64(OP_AND_EvGv, src, dst); @@ -509,7 +509,7 @@ public: } } -#if CPU(X86_64) +#if PLATFORM(X86_64) void orq_rr(RegisterID src, RegisterID dst) { m_formatter.oneByteOp64(OP_OR_EvGv, src, dst); @@ -575,7 +575,7 @@ public: } } -#if CPU(X86_64) +#if PLATFORM(X86_64) void subq_rr(RegisterID src, RegisterID dst) { m_formatter.oneByteOp64(OP_SUB_EvGv, src, dst); @@ -641,7 +641,7 @@ public: } } -#if CPU(X86_64) +#if PLATFORM(X86_64) void xorq_rr(RegisterID src, RegisterID dst) { m_formatter.oneByteOp64(OP_XOR_EvGv, src, dst); @@ -689,7 +689,7 @@ public: m_formatter.oneByteOp(OP_GROUP2_EvCL, GROUP2_OP_SHL, dst); } -#if CPU(X86_64) +#if PLATFORM(X86_64) void sarq_CLr(RegisterID dst) { m_formatter.oneByteOp64(OP_GROUP2_EvCL, GROUP2_OP_SAR, dst); @@ -789,7 +789,7 @@ public: m_formatter.immediate32(imm); } -#if CPU(X86_64) +#if PLATFORM(X86_64) void cmpq_rr(RegisterID src, RegisterID dst) { m_formatter.oneByteOp64(OP_CMP_EvGv, src, dst); @@ -897,7 +897,7 @@ public: m_formatter.immediate32(imm); } -#if CPU(X86_64) +#if PLATFORM(X86_64) void testq_rr(RegisterID src, RegisterID dst) { m_formatter.oneByteOp64(OP_TEST_EvGv, src, dst); @@ -971,7 +971,7 @@ public: m_formatter.oneByteOp(OP_XCHG_EvGv, src, dst); } -#if CPU(X86_64) +#if PLATFORM(X86_64) void xchgq_rr(RegisterID src, RegisterID dst) { m_formatter.oneByteOp64(OP_XCHG_EvGv, src, dst); @@ -1001,7 +1001,7 @@ public: void movl_mEAX(void* addr) { m_formatter.oneByteOp(OP_MOV_EAXOv); -#if CPU(X86_64) +#if PLATFORM(X86_64) m_formatter.immediate64(reinterpret_cast(addr)); #else m_formatter.immediate32(reinterpret_cast(addr)); @@ -1038,14 +1038,14 @@ public: void movl_EAXm(void* addr) { m_formatter.oneByteOp(OP_MOV_OvEAX); -#if CPU(X86_64) +#if PLATFORM(X86_64) m_formatter.immediate64(reinterpret_cast(addr)); #else m_formatter.immediate32(reinterpret_cast(addr)); #endif } -#if CPU(X86_64) +#if PLATFORM(X86_64) void movq_rr(RegisterID src, RegisterID dst) { m_formatter.oneByteOp64(OP_MOV_EvGv, src, dst); @@ -1157,7 +1157,7 @@ public: { m_formatter.oneByteOp(OP_LEA, dst, base, offset); } -#if CPU(X86_64) +#if PLATFORM(X86_64) void leaq_mr(int offset, RegisterID base, RegisterID dst) { m_formatter.oneByteOp64(OP_LEA, dst, base, offset); @@ -1323,7 +1323,7 @@ public: m_formatter.twoByteOp(OP2_CVTSI2SD_VsdEd, (RegisterID)dst, base, offset); } -#if !CPU(X86_64) +#if !PLATFORM(X86_64) void cvtsi2sd_mr(void* address, XMMRegisterID dst) { m_formatter.prefix(PRE_SSE_F2); @@ -1343,7 +1343,7 @@ public: m_formatter.twoByteOp(OP2_MOVD_EdVd, (RegisterID)src, dst); } -#if CPU(X86_64) +#if PLATFORM(X86_64) void movq_rr(XMMRegisterID src, RegisterID dst) { m_formatter.prefix(PRE_SSE_66); @@ -1369,7 +1369,7 @@ public: m_formatter.twoByteOp(OP2_MOVSD_VsdWsd, (RegisterID)dst, base, offset); } -#if !CPU(X86_64) +#if !PLATFORM(X86_64) void movsd_mr(void* address, XMMRegisterID dst) { m_formatter.prefix(PRE_SSE_F2); @@ -1535,7 +1535,7 @@ public: static void repatchLoadPtrToLEA(void* where) { -#if CPU(X86_64) +#if PLATFORM(X86_64) // On x86-64 pointer memory accesses require a 64-bit operand, and as such a REX prefix. // Skip over the prefix byte. where = reinterpret_cast(where) + 1; @@ -1679,7 +1679,7 @@ private: memoryModRM(reg, base, index, scale, offset); } -#if !CPU(X86_64) +#if !PLATFORM(X86_64) void oneByteOp(OneByteOpcodeID opcode, int reg, void* address) { m_buffer.ensureSpace(maxInstructionSize); @@ -1722,7 +1722,7 @@ private: memoryModRM(reg, base, index, scale, offset); } -#if !CPU(X86_64) +#if !PLATFORM(X86_64) void twoByteOp(TwoByteOpcodeID opcode, int reg, void* address) { m_buffer.ensureSpace(maxInstructionSize); @@ -1732,7 +1732,7 @@ private: } #endif -#if CPU(X86_64) +#if PLATFORM(X86_64) // Quad-word-sized operands: // // Used to format 64-bit operantions, planting a REX.w prefix. @@ -1891,7 +1891,7 @@ private: static const RegisterID noBase = X86Registers::ebp; static const RegisterID hasSib = X86Registers::esp; static const RegisterID noIndex = X86Registers::esp; -#if CPU(X86_64) +#if PLATFORM(X86_64) static const RegisterID noBase2 = X86Registers::r13; static const RegisterID hasSib2 = X86Registers::r12; @@ -1967,7 +1967,7 @@ private: void memoryModRM(int reg, RegisterID base, int offset) { // A base of esp or r12 would be interpreted as a sib, so force a sib with no index & put the base in there. -#if CPU(X86_64) +#if PLATFORM(X86_64) if ((base == hasSib) || (base == hasSib2)) { #else if (base == hasSib) { @@ -1982,7 +1982,7 @@ private: m_buffer.putIntUnchecked(offset); } } else { -#if CPU(X86_64) +#if PLATFORM(X86_64) if (!offset && (base != noBase) && (base != noBase2)) #else if (!offset && (base != noBase)) @@ -2001,7 +2001,7 @@ private: void memoryModRM_disp32(int reg, RegisterID base, int offset) { // A base of esp or r12 would be interpreted as a sib, so force a sib with no index & put the base in there. -#if CPU(X86_64) +#if PLATFORM(X86_64) if ((base == hasSib) || (base == hasSib2)) { #else if (base == hasSib) { @@ -2018,7 +2018,7 @@ private: { ASSERT(index != noIndex); -#if CPU(X86_64) +#if PLATFORM(X86_64) if (!offset && (base != noBase) && (base != noBase2)) #else if (!offset && (base != noBase)) @@ -2033,7 +2033,7 @@ private: } } -#if !CPU(X86_64) +#if !PLATFORM(X86_64) void memoryModRM(int reg, void* address) { // noBase + ModRmMemoryNoDisp means noBase + ModRmMemoryDisp32! @@ -2048,6 +2048,6 @@ private: } // namespace JSC -#endif // ENABLE(ASSEMBLER) && CPU(X86) +#endif // ENABLE(ASSEMBLER) && PLATFORM(X86) #endif // X86Assembler_h diff --git a/src/3rdparty/webkit/JavaScriptCore/bytecode/CodeBlock.cpp b/src/3rdparty/webkit/JavaScriptCore/bytecode/CodeBlock.cpp index 68debb2..c915934 100644 --- a/src/3rdparty/webkit/JavaScriptCore/bytecode/CodeBlock.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/bytecode/CodeBlock.cpp @@ -49,9 +49,9 @@ namespace JSC { static UString escapeQuotes(const UString& str) { UString result = str; - unsigned pos = 0; - while ((pos = result.find('\"', pos)) != UString::NotFound) { - result = makeString(result.substr(0, pos), "\"\\\"\"", result.substr(pos + 1)); + int pos = 0; + while ((pos = result.find('\"', pos)) >= 0) { + result = result.substr(0, pos) + "\"\\\"\"" + result.substr(pos + 1); pos += 4; } return result; @@ -62,50 +62,49 @@ static UString valueToSourceString(ExecState* exec, JSValue val) if (!val) return "0"; - if (val.isString()) - return makeString("\"", escapeQuotes(val.toString(exec)), "\""); + if (val.isString()) { + UString result("\""); + result += escapeQuotes(val.toString(exec)) + "\""; + return result; + } return val.toString(exec); } -static CString constantName(ExecState* exec, int k, JSValue value) +static CString registerName(int r) { - return makeString(valueToSourceString(exec, value), "(@k", UString::from(k - FirstConstantRegisterIndex), ")").UTF8String(); + if (r == missingThisObjectMarker()) + return ""; + + return (UString("r") + UString::from(r)).UTF8String(); } -static CString idName(int id0, const Identifier& ident) +static CString constantName(ExecState* exec, int k, JSValue value) { - return makeString(ident.ustring(), "(@id", UString::from(id0), ")").UTF8String(); + return (valueToSourceString(exec, value) + "(@k" + UString::from(k) + ")").UTF8String(); } -CString CodeBlock::registerName(ExecState* exec, int r) const +static CString idName(int id0, const Identifier& ident) { - if (r == missingThisObjectMarker()) - return ""; - - if (isConstantRegisterIndex(r)) - return constantName(exec, r, getConstant(r)); - - return makeString("r", UString::from(r)).UTF8String(); + return (ident.ustring() + "(@id" + UString::from(id0) +")").UTF8String(); } static UString regexpToSourceString(RegExp* regExp) { - char postfix[5] = { '/', 0, 0, 0, 0 }; - int index = 1; + UString pattern = UString("/") + regExp->pattern() + "/"; if (regExp->global()) - postfix[index++] = 'g'; + pattern += "g"; if (regExp->ignoreCase()) - postfix[index++] = 'i'; + pattern += "i"; if (regExp->multiline()) - postfix[index] = 'm'; + pattern += "m"; - return makeString("/", regExp->pattern(), postfix); + return pattern; } static CString regexpName(int re, RegExp* regexp) { - return makeString(regexpToSourceString(regexp), "(@re", UString::from(re), ")").UTF8String(); + return (regexpToSourceString(regexp) + "(@re" + UString::from(re) + ")").UTF8String(); } static UString pointerToSourceString(void* p) @@ -136,44 +135,44 @@ NEVER_INLINE static const char* debugHookName(int debugHookID) return ""; } -void CodeBlock::printUnaryOp(ExecState* exec, int location, Vector::const_iterator& it, const char* op) const +static void printUnaryOp(int location, Vector::const_iterator& it, const char* op) { int r0 = (++it)->u.operand; int r1 = (++it)->u.operand; - printf("[%4d] %s\t\t %s, %s\n", location, op, registerName(exec, r0).c_str(), registerName(exec, r1).c_str()); + printf("[%4d] %s\t\t %s, %s\n", location, op, registerName(r0).c_str(), registerName(r1).c_str()); } -void CodeBlock::printBinaryOp(ExecState* exec, int location, Vector::const_iterator& it, const char* op) const +static void printBinaryOp(int location, Vector::const_iterator& it, const char* op) { int r0 = (++it)->u.operand; int r1 = (++it)->u.operand; int r2 = (++it)->u.operand; - printf("[%4d] %s\t\t %s, %s, %s\n", location, op, registerName(exec, r0).c_str(), registerName(exec, r1).c_str(), registerName(exec, r2).c_str()); + printf("[%4d] %s\t\t %s, %s, %s\n", location, op, registerName(r0).c_str(), registerName(r1).c_str(), registerName(r2).c_str()); } -void CodeBlock::printConditionalJump(ExecState* exec, const Vector::const_iterator&, Vector::const_iterator& it, int location, const char* op) const +static void printConditionalJump(const Vector::const_iterator&, Vector::const_iterator& it, int location, const char* op) { int r0 = (++it)->u.operand; int offset = (++it)->u.operand; - printf("[%4d] %s\t\t %s, %d(->%d)\n", location, op, registerName(exec, r0).c_str(), offset, location + offset); + printf("[%4d] %s\t\t %s, %d(->%d)\n", location, op, registerName(r0).c_str(), offset, location + offset); } -void CodeBlock::printGetByIdOp(ExecState* exec, int location, Vector::const_iterator& it, const char* op) const +static void printGetByIdOp(int location, Vector::const_iterator& it, const Vector& m_identifiers, const char* op) { int r0 = (++it)->u.operand; int r1 = (++it)->u.operand; int id0 = (++it)->u.operand; - printf("[%4d] %s\t %s, %s, %s\n", location, op, registerName(exec, r0).c_str(), registerName(exec, r1).c_str(), idName(id0, m_identifiers[id0]).c_str()); + printf("[%4d] %s\t %s, %s, %s\n", location, op, registerName(r0).c_str(), registerName(r1).c_str(), idName(id0, m_identifiers[id0]).c_str()); it += 4; } -void CodeBlock::printPutByIdOp(ExecState* exec, int location, Vector::const_iterator& it, const char* op) const +static void printPutByIdOp(int location, Vector::const_iterator& it, const Vector& m_identifiers, const char* op) { int r0 = (++it)->u.operand; int id0 = (++it)->u.operand; int r1 = (++it)->u.operand; - printf("[%4d] %s\t %s, %s, %s\n", location, op, registerName(exec, r0).c_str(), idName(id0, m_identifiers[id0]).c_str(), registerName(exec, r1).c_str()); + printf("[%4d] %s\t %s, %s, %s\n", location, op, registerName(r0).c_str(), idName(id0, m_identifiers[id0]).c_str(), registerName(r1).c_str()); it += 4; } @@ -358,7 +357,7 @@ void CodeBlock::dump(ExecState* exec) const unsigned registerIndex = m_numVars; size_t i = 0; do { - printf(" k%u = %s\n", registerIndex, valueToSourceString(exec, m_constantRegisters[i].jsValue()).ascii()); + printf(" r%u = %s\n", registerIndex, valueToSourceString(exec, m_constantRegisters[i].jsValue()).ascii()); ++i; ++registerIndex; } while (i < m_constantRegisters.size()); @@ -482,7 +481,7 @@ void CodeBlock::dump(ExecState* exec, const Vector::const_iterator& } case op_enter_with_activation: { int r0 = (++it)->u.operand; - printf("[%4d] enter_with_activation %s\n", location, registerName(exec, r0).c_str()); + printf("[%4d] enter_with_activation %s\n", location, registerName(r0).c_str()); break; } case op_create_arguments: { @@ -495,148 +494,148 @@ void CodeBlock::dump(ExecState* exec, const Vector::const_iterator& } case op_convert_this: { int r0 = (++it)->u.operand; - printf("[%4d] convert_this %s\n", location, registerName(exec, r0).c_str()); + printf("[%4d] convert_this %s\n", location, registerName(r0).c_str()); break; } case op_new_object: { int r0 = (++it)->u.operand; - printf("[%4d] new_object\t %s\n", location, registerName(exec, r0).c_str()); + printf("[%4d] new_object\t %s\n", location, registerName(r0).c_str()); break; } case op_new_array: { int dst = (++it)->u.operand; int argv = (++it)->u.operand; int argc = (++it)->u.operand; - printf("[%4d] new_array\t %s, %s, %d\n", location, registerName(exec, dst).c_str(), registerName(exec, argv).c_str(), argc); + printf("[%4d] new_array\t %s, %s, %d\n", location, registerName(dst).c_str(), registerName(argv).c_str(), argc); break; } case op_new_regexp: { int r0 = (++it)->u.operand; int re0 = (++it)->u.operand; - printf("[%4d] new_regexp\t %s, %s\n", location, registerName(exec, r0).c_str(), regexpName(re0, regexp(re0)).c_str()); + printf("[%4d] new_regexp\t %s, %s\n", location, registerName(r0).c_str(), regexpName(re0, regexp(re0)).c_str()); break; } case op_mov: { int r0 = (++it)->u.operand; int r1 = (++it)->u.operand; - printf("[%4d] mov\t\t %s, %s\n", location, registerName(exec, r0).c_str(), registerName(exec, r1).c_str()); + printf("[%4d] mov\t\t %s, %s\n", location, registerName(r0).c_str(), registerName(r1).c_str()); break; } case op_not: { - printUnaryOp(exec, location, it, "not"); + printUnaryOp(location, it, "not"); break; } case op_eq: { - printBinaryOp(exec, location, it, "eq"); + printBinaryOp(location, it, "eq"); break; } case op_eq_null: { - printUnaryOp(exec, location, it, "eq_null"); + printUnaryOp(location, it, "eq_null"); break; } case op_neq: { - printBinaryOp(exec, location, it, "neq"); + printBinaryOp(location, it, "neq"); break; } case op_neq_null: { - printUnaryOp(exec, location, it, "neq_null"); + printUnaryOp(location, it, "neq_null"); break; } case op_stricteq: { - printBinaryOp(exec, location, it, "stricteq"); + printBinaryOp(location, it, "stricteq"); break; } case op_nstricteq: { - printBinaryOp(exec, location, it, "nstricteq"); + printBinaryOp(location, it, "nstricteq"); break; } case op_less: { - printBinaryOp(exec, location, it, "less"); + printBinaryOp(location, it, "less"); break; } case op_lesseq: { - printBinaryOp(exec, location, it, "lesseq"); + printBinaryOp(location, it, "lesseq"); break; } case op_pre_inc: { int r0 = (++it)->u.operand; - printf("[%4d] pre_inc\t\t %s\n", location, registerName(exec, r0).c_str()); + printf("[%4d] pre_inc\t\t %s\n", location, registerName(r0).c_str()); break; } case op_pre_dec: { int r0 = (++it)->u.operand; - printf("[%4d] pre_dec\t\t %s\n", location, registerName(exec, r0).c_str()); + printf("[%4d] pre_dec\t\t %s\n", location, registerName(r0).c_str()); break; } case op_post_inc: { - printUnaryOp(exec, location, it, "post_inc"); + printUnaryOp(location, it, "post_inc"); break; } case op_post_dec: { - printUnaryOp(exec, location, it, "post_dec"); + printUnaryOp(location, it, "post_dec"); break; } case op_to_jsnumber: { - printUnaryOp(exec, location, it, "to_jsnumber"); + printUnaryOp(location, it, "to_jsnumber"); break; } case op_negate: { - printUnaryOp(exec, location, it, "negate"); + printUnaryOp(location, it, "negate"); break; } case op_add: { - printBinaryOp(exec, location, it, "add"); + printBinaryOp(location, it, "add"); ++it; break; } case op_mul: { - printBinaryOp(exec, location, it, "mul"); + printBinaryOp(location, it, "mul"); ++it; break; } case op_div: { - printBinaryOp(exec, location, it, "div"); + printBinaryOp(location, it, "div"); ++it; break; } case op_mod: { - printBinaryOp(exec, location, it, "mod"); + printBinaryOp(location, it, "mod"); break; } case op_sub: { - printBinaryOp(exec, location, it, "sub"); + printBinaryOp(location, it, "sub"); ++it; break; } case op_lshift: { - printBinaryOp(exec, location, it, "lshift"); + printBinaryOp(location, it, "lshift"); break; } case op_rshift: { - printBinaryOp(exec, location, it, "rshift"); + printBinaryOp(location, it, "rshift"); break; } case op_urshift: { - printBinaryOp(exec, location, it, "urshift"); + printBinaryOp(location, it, "urshift"); break; } case op_bitand: { - printBinaryOp(exec, location, it, "bitand"); + printBinaryOp(location, it, "bitand"); ++it; break; } case op_bitxor: { - printBinaryOp(exec, location, it, "bitxor"); + printBinaryOp(location, it, "bitxor"); ++it; break; } case op_bitor: { - printBinaryOp(exec, location, it, "bitor"); + printBinaryOp(location, it, "bitor"); ++it; break; } case op_bitnot: { - printUnaryOp(exec, location, it, "bitnot"); + printUnaryOp(location, it, "bitnot"); break; } case op_instanceof: { @@ -644,59 +643,59 @@ void CodeBlock::dump(ExecState* exec, const Vector::const_iterator& int r1 = (++it)->u.operand; int r2 = (++it)->u.operand; int r3 = (++it)->u.operand; - printf("[%4d] instanceof\t\t %s, %s, %s, %s\n", location, registerName(exec, r0).c_str(), registerName(exec, r1).c_str(), registerName(exec, r2).c_str(), registerName(exec, r3).c_str()); + printf("[%4d] instanceof\t\t %s, %s, %s, %s\n", location, registerName(r0).c_str(), registerName(r1).c_str(), registerName(r2).c_str(), registerName(r3).c_str()); break; } case op_typeof: { - printUnaryOp(exec, location, it, "typeof"); + printUnaryOp(location, it, "typeof"); break; } case op_is_undefined: { - printUnaryOp(exec, location, it, "is_undefined"); + printUnaryOp(location, it, "is_undefined"); break; } case op_is_boolean: { - printUnaryOp(exec, location, it, "is_boolean"); + printUnaryOp(location, it, "is_boolean"); break; } case op_is_number: { - printUnaryOp(exec, location, it, "is_number"); + printUnaryOp(location, it, "is_number"); break; } case op_is_string: { - printUnaryOp(exec, location, it, "is_string"); + printUnaryOp(location, it, "is_string"); break; } case op_is_object: { - printUnaryOp(exec, location, it, "is_object"); + printUnaryOp(location, it, "is_object"); break; } case op_is_function: { - printUnaryOp(exec, location, it, "is_function"); + printUnaryOp(location, it, "is_function"); break; } case op_in: { - printBinaryOp(exec, location, it, "in"); + printBinaryOp(location, it, "in"); break; } case op_resolve: { int r0 = (++it)->u.operand; int id0 = (++it)->u.operand; - printf("[%4d] resolve\t\t %s, %s\n", location, registerName(exec, r0).c_str(), idName(id0, m_identifiers[id0]).c_str()); + printf("[%4d] resolve\t\t %s, %s\n", location, registerName(r0).c_str(), idName(id0, m_identifiers[id0]).c_str()); break; } case op_resolve_skip: { int r0 = (++it)->u.operand; int id0 = (++it)->u.operand; int skipLevels = (++it)->u.operand; - printf("[%4d] resolve_skip\t %s, %s, %d\n", location, registerName(exec, r0).c_str(), idName(id0, m_identifiers[id0]).c_str(), skipLevels); + printf("[%4d] resolve_skip\t %s, %s, %d\n", location, registerName(r0).c_str(), idName(id0, m_identifiers[id0]).c_str(), skipLevels); break; } case op_resolve_global: { int r0 = (++it)->u.operand; JSValue scope = JSValue((++it)->u.jsCell); int id0 = (++it)->u.operand; - printf("[%4d] resolve_global\t %s, %s, %s\n", location, registerName(exec, r0).c_str(), valueToSourceString(exec, scope).ascii(), idName(id0, m_identifiers[id0]).c_str()); + printf("[%4d] resolve_global\t %s, %s, %s\n", location, registerName(r0).c_str(), valueToSourceString(exec, scope).ascii(), idName(id0, m_identifiers[id0]).c_str()); it += 2; break; } @@ -704,145 +703,125 @@ void CodeBlock::dump(ExecState* exec, const Vector::const_iterator& int r0 = (++it)->u.operand; int index = (++it)->u.operand; int skipLevels = (++it)->u.operand; - printf("[%4d] get_scoped_var\t %s, %d, %d\n", location, registerName(exec, r0).c_str(), index, skipLevels); + printf("[%4d] get_scoped_var\t %s, %d, %d\n", location, registerName(r0).c_str(), index, skipLevels); break; } case op_put_scoped_var: { int index = (++it)->u.operand; int skipLevels = (++it)->u.operand; int r0 = (++it)->u.operand; - printf("[%4d] put_scoped_var\t %d, %d, %s\n", location, index, skipLevels, registerName(exec, r0).c_str()); + printf("[%4d] put_scoped_var\t %d, %d, %s\n", location, index, skipLevels, registerName(r0).c_str()); break; } case op_get_global_var: { int r0 = (++it)->u.operand; JSValue scope = JSValue((++it)->u.jsCell); int index = (++it)->u.operand; - printf("[%4d] get_global_var\t %s, %s, %d\n", location, registerName(exec, r0).c_str(), valueToSourceString(exec, scope).ascii(), index); + printf("[%4d] get_global_var\t %s, %s, %d\n", location, registerName(r0).c_str(), valueToSourceString(exec, scope).ascii(), index); break; } case op_put_global_var: { JSValue scope = JSValue((++it)->u.jsCell); int index = (++it)->u.operand; int r0 = (++it)->u.operand; - printf("[%4d] put_global_var\t %s, %d, %s\n", location, valueToSourceString(exec, scope).ascii(), index, registerName(exec, r0).c_str()); + printf("[%4d] put_global_var\t %s, %d, %s\n", location, valueToSourceString(exec, scope).ascii(), index, registerName(r0).c_str()); break; } case op_resolve_base: { int r0 = (++it)->u.operand; int id0 = (++it)->u.operand; - printf("[%4d] resolve_base\t %s, %s\n", location, registerName(exec, r0).c_str(), idName(id0, m_identifiers[id0]).c_str()); + printf("[%4d] resolve_base\t %s, %s\n", location, registerName(r0).c_str(), idName(id0, m_identifiers[id0]).c_str()); break; } case op_resolve_with_base: { int r0 = (++it)->u.operand; int r1 = (++it)->u.operand; int id0 = (++it)->u.operand; - printf("[%4d] resolve_with_base %s, %s, %s\n", location, registerName(exec, r0).c_str(), registerName(exec, r1).c_str(), idName(id0, m_identifiers[id0]).c_str()); + printf("[%4d] resolve_with_base %s, %s, %s\n", location, registerName(r0).c_str(), registerName(r1).c_str(), idName(id0, m_identifiers[id0]).c_str()); break; } case op_get_by_id: { - printGetByIdOp(exec, location, it, "get_by_id"); + printGetByIdOp(location, it, m_identifiers, "get_by_id"); break; } case op_get_by_id_self: { - printGetByIdOp(exec, location, it, "get_by_id_self"); + printGetByIdOp(location, it, m_identifiers, "get_by_id_self"); break; } case op_get_by_id_self_list: { - printGetByIdOp(exec, location, it, "get_by_id_self_list"); + printGetByIdOp(location, it, m_identifiers, "get_by_id_self_list"); break; } case op_get_by_id_proto: { - printGetByIdOp(exec, location, it, "get_by_id_proto"); + printGetByIdOp(location, it, m_identifiers, "get_by_id_proto"); break; } case op_get_by_id_proto_list: { - printGetByIdOp(exec, location, it, "op_get_by_id_proto_list"); + printGetByIdOp(location, it, m_identifiers, "op_get_by_id_proto_list"); break; } case op_get_by_id_chain: { - printGetByIdOp(exec, location, it, "get_by_id_chain"); - break; - } - case op_get_by_id_getter_self: { - printGetByIdOp(exec, location, it, "get_by_id_getter_self"); - break; - } - case op_get_by_id_getter_self_list: { - printGetByIdOp(exec, location, it, "get_by_id_getter_self_list"); - break; - } - case op_get_by_id_getter_proto: { - printGetByIdOp(exec, location, it, "get_by_id_getter_proto"); - break; - } - case op_get_by_id_getter_proto_list: { - printGetByIdOp(exec, location, it, "get_by_id_getter_proto_list"); - break; - } - case op_get_by_id_getter_chain: { - printGetByIdOp(exec, location, it, "get_by_id_getter_chain"); + printGetByIdOp(location, it, m_identifiers, "get_by_id_chain"); break; } case op_get_by_id_generic: { - printGetByIdOp(exec, location, it, "get_by_id_generic"); + printGetByIdOp(location, it, m_identifiers, "get_by_id_generic"); break; } case op_get_array_length: { - printGetByIdOp(exec, location, it, "get_array_length"); + printGetByIdOp(location, it, m_identifiers, "get_array_length"); break; } case op_get_string_length: { - printGetByIdOp(exec, location, it, "get_string_length"); + printGetByIdOp(location, it, m_identifiers, "get_string_length"); break; } case op_put_by_id: { - printPutByIdOp(exec, location, it, "put_by_id"); + printPutByIdOp(location, it, m_identifiers, "put_by_id"); break; } case op_put_by_id_replace: { - printPutByIdOp(exec, location, it, "put_by_id_replace"); + printPutByIdOp(location, it, m_identifiers, "put_by_id_replace"); break; } case op_put_by_id_transition: { - printPutByIdOp(exec, location, it, "put_by_id_transition"); + printPutByIdOp(location, it, m_identifiers, "put_by_id_transition"); break; } case op_put_by_id_generic: { - printPutByIdOp(exec, location, it, "put_by_id_generic"); + printPutByIdOp(location, it, m_identifiers, "put_by_id_generic"); break; } case op_put_getter: { int r0 = (++it)->u.operand; int id0 = (++it)->u.operand; int r1 = (++it)->u.operand; - printf("[%4d] put_getter\t %s, %s, %s\n", location, registerName(exec, r0).c_str(), idName(id0, m_identifiers[id0]).c_str(), registerName(exec, r1).c_str()); + printf("[%4d] put_getter\t %s, %s, %s\n", location, registerName(r0).c_str(), idName(id0, m_identifiers[id0]).c_str(), registerName(r1).c_str()); break; } case op_put_setter: { int r0 = (++it)->u.operand; int id0 = (++it)->u.operand; int r1 = (++it)->u.operand; - printf("[%4d] put_setter\t %s, %s, %s\n", location, registerName(exec, r0).c_str(), idName(id0, m_identifiers[id0]).c_str(), registerName(exec, r1).c_str()); + printf("[%4d] put_setter\t %s, %s, %s\n", location, registerName(r0).c_str(), idName(id0, m_identifiers[id0]).c_str(), registerName(r1).c_str()); break; } case op_method_check: { - printf("[%4d] method_check\n", location); + printf("[%4d] op_method_check\n", location); break; } case op_del_by_id: { int r0 = (++it)->u.operand; int r1 = (++it)->u.operand; int id0 = (++it)->u.operand; - printf("[%4d] del_by_id\t %s, %s, %s\n", location, registerName(exec, r0).c_str(), registerName(exec, r1).c_str(), idName(id0, m_identifiers[id0]).c_str()); + printf("[%4d] del_by_id\t %s, %s, %s\n", location, registerName(r0).c_str(), registerName(r1).c_str(), idName(id0, m_identifiers[id0]).c_str()); break; } case op_get_by_val: { int r0 = (++it)->u.operand; int r1 = (++it)->u.operand; int r2 = (++it)->u.operand; - printf("[%4d] get_by_val\t %s, %s, %s\n", location, registerName(exec, r0).c_str(), registerName(exec, r1).c_str(), registerName(exec, r2).c_str()); + printf("[%4d] get_by_val\t %s, %s, %s\n", location, registerName(r0).c_str(), registerName(r1).c_str(), registerName(r2).c_str()); break; } case op_get_by_pname: { @@ -852,28 +831,28 @@ void CodeBlock::dump(ExecState* exec, const Vector::const_iterator& int r3 = (++it)->u.operand; int r4 = (++it)->u.operand; int r5 = (++it)->u.operand; - printf("[%4d] get_by_pname\t %s, %s, %s, %s, %s, %s\n", location, registerName(exec, r0).c_str(), registerName(exec, r1).c_str(), registerName(exec, r2).c_str(), registerName(exec, r3).c_str(), registerName(exec, r4).c_str(), registerName(exec, r5).c_str()); + printf("[%4d] get_by_pname\t %s, %s, %s, %s, %s, %s\n", location, registerName(r0).c_str(), registerName(r1).c_str(), registerName(r2).c_str(), registerName(r3).c_str(), registerName(r4).c_str(), registerName(r5).c_str()); break; } case op_put_by_val: { int r0 = (++it)->u.operand; int r1 = (++it)->u.operand; int r2 = (++it)->u.operand; - printf("[%4d] put_by_val\t %s, %s, %s\n", location, registerName(exec, r0).c_str(), registerName(exec, r1).c_str(), registerName(exec, r2).c_str()); + printf("[%4d] put_by_val\t %s, %s, %s\n", location, registerName(r0).c_str(), registerName(r1).c_str(), registerName(r2).c_str()); break; } case op_del_by_val: { int r0 = (++it)->u.operand; int r1 = (++it)->u.operand; int r2 = (++it)->u.operand; - printf("[%4d] del_by_val\t %s, %s, %s\n", location, registerName(exec, r0).c_str(), registerName(exec, r1).c_str(), registerName(exec, r2).c_str()); + printf("[%4d] del_by_val\t %s, %s, %s\n", location, registerName(r0).c_str(), registerName(r1).c_str(), registerName(r2).c_str()); break; } case op_put_by_index: { int r0 = (++it)->u.operand; unsigned n0 = (++it)->u.operand; int r1 = (++it)->u.operand; - printf("[%4d] put_by_index\t %s, %u, %s\n", location, registerName(exec, r0).c_str(), n0, registerName(exec, r1).c_str()); + printf("[%4d] put_by_index\t %s, %u, %s\n", location, registerName(r0).c_str(), n0, registerName(r1).c_str()); break; } case op_jmp: { @@ -887,102 +866,91 @@ void CodeBlock::dump(ExecState* exec, const Vector::const_iterator& break; } case op_jtrue: { - printConditionalJump(exec, begin, it, location, "jtrue"); + printConditionalJump(begin, it, location, "jtrue"); break; } case op_loop_if_true: { - printConditionalJump(exec, begin, it, location, "loop_if_true"); - break; - } - case op_loop_if_false: { - printConditionalJump(exec, begin, it, location, "loop_if_false"); + printConditionalJump(begin, it, location, "loop_if_true"); break; } case op_jfalse: { - printConditionalJump(exec, begin, it, location, "jfalse"); + printConditionalJump(begin, it, location, "jfalse"); break; } case op_jeq_null: { - printConditionalJump(exec, begin, it, location, "jeq_null"); + printConditionalJump(begin, it, location, "jeq_null"); break; } case op_jneq_null: { - printConditionalJump(exec, begin, it, location, "jneq_null"); + printConditionalJump(begin, it, location, "jneq_null"); break; } case op_jneq_ptr: { int r0 = (++it)->u.operand; int r1 = (++it)->u.operand; int offset = (++it)->u.operand; - printf("[%4d] jneq_ptr\t\t %s, %s, %d(->%d)\n", location, registerName(exec, r0).c_str(), registerName(exec, r1).c_str(), offset, location + offset); + printf("[%4d] jneq_ptr\t\t %s, %s, %d(->%d)\n", location, registerName(r0).c_str(), registerName(r1).c_str(), offset, location + offset); break; } case op_jnless: { int r0 = (++it)->u.operand; int r1 = (++it)->u.operand; int offset = (++it)->u.operand; - printf("[%4d] jnless\t\t %s, %s, %d(->%d)\n", location, registerName(exec, r0).c_str(), registerName(exec, r1).c_str(), offset, location + offset); + printf("[%4d] jnless\t\t %s, %s, %d(->%d)\n", location, registerName(r0).c_str(), registerName(r1).c_str(), offset, location + offset); break; } case op_jnlesseq: { int r0 = (++it)->u.operand; int r1 = (++it)->u.operand; int offset = (++it)->u.operand; - printf("[%4d] jnlesseq\t\t %s, %s, %d(->%d)\n", location, registerName(exec, r0).c_str(), registerName(exec, r1).c_str(), offset, location + offset); + printf("[%4d] jnlesseq\t\t %s, %s, %d(->%d)\n", location, registerName(r0).c_str(), registerName(r1).c_str(), offset, location + offset); break; } case op_loop_if_less: { int r0 = (++it)->u.operand; int r1 = (++it)->u.operand; int offset = (++it)->u.operand; - printf("[%4d] loop_if_less\t %s, %s, %d(->%d)\n", location, registerName(exec, r0).c_str(), registerName(exec, r1).c_str(), offset, location + offset); - break; - } - case op_jless: { - int r0 = (++it)->u.operand; - int r1 = (++it)->u.operand; - int offset = (++it)->u.operand; - printf("[%4d] jless\t\t %s, %s, %d(->%d)\n", location, registerName(exec, r0).c_str(), registerName(exec, r1).c_str(), offset, location + offset); + printf("[%4d] loop_if_less\t %s, %s, %d(->%d)\n", location, registerName(r0).c_str(), registerName(r1).c_str(), offset, location + offset); break; } case op_loop_if_lesseq: { int r0 = (++it)->u.operand; int r1 = (++it)->u.operand; int offset = (++it)->u.operand; - printf("[%4d] loop_if_lesseq\t %s, %s, %d(->%d)\n", location, registerName(exec, r0).c_str(), registerName(exec, r1).c_str(), offset, location + offset); + printf("[%4d] loop_if_lesseq\t %s, %s, %d(->%d)\n", location, registerName(r0).c_str(), registerName(r1).c_str(), offset, location + offset); break; } case op_switch_imm: { int tableIndex = (++it)->u.operand; int defaultTarget = (++it)->u.operand; int scrutineeRegister = (++it)->u.operand; - printf("[%4d] switch_imm\t %d, %d(->%d), %s\n", location, tableIndex, defaultTarget, location + defaultTarget, registerName(exec, scrutineeRegister).c_str()); + printf("[%4d] switch_imm\t %d, %d(->%d), %s\n", location, tableIndex, defaultTarget, location + defaultTarget, registerName(scrutineeRegister).c_str()); break; } case op_switch_char: { int tableIndex = (++it)->u.operand; int defaultTarget = (++it)->u.operand; int scrutineeRegister = (++it)->u.operand; - printf("[%4d] switch_char\t %d, %d(->%d), %s\n", location, tableIndex, defaultTarget, location + defaultTarget, registerName(exec, scrutineeRegister).c_str()); + printf("[%4d] switch_char\t %d, %d(->%d), %s\n", location, tableIndex, defaultTarget, location + defaultTarget, registerName(scrutineeRegister).c_str()); break; } case op_switch_string: { int tableIndex = (++it)->u.operand; int defaultTarget = (++it)->u.operand; int scrutineeRegister = (++it)->u.operand; - printf("[%4d] switch_string\t %d, %d(->%d), %s\n", location, tableIndex, defaultTarget, location + defaultTarget, registerName(exec, scrutineeRegister).c_str()); + printf("[%4d] switch_string\t %d, %d(->%d), %s\n", location, tableIndex, defaultTarget, location + defaultTarget, registerName(scrutineeRegister).c_str()); break; } case op_new_func: { int r0 = (++it)->u.operand; int f0 = (++it)->u.operand; - printf("[%4d] new_func\t\t %s, f%d\n", location, registerName(exec, r0).c_str(), f0); + printf("[%4d] new_func\t\t %s, f%d\n", location, registerName(r0).c_str(), f0); break; } case op_new_func_exp: { int r0 = (++it)->u.operand; int f0 = (++it)->u.operand; - printf("[%4d] new_func_exp\t %s, f%d\n", location, registerName(exec, r0).c_str(), f0); + printf("[%4d] new_func_exp\t %s, f%d\n", location, registerName(r0).c_str(), f0); break; } case op_call: { @@ -990,7 +958,7 @@ void CodeBlock::dump(ExecState* exec, const Vector::const_iterator& int func = (++it)->u.operand; int argCount = (++it)->u.operand; int registerOffset = (++it)->u.operand; - printf("[%4d] call\t\t %s, %s, %d, %d\n", location, registerName(exec, dst).c_str(), registerName(exec, func).c_str(), argCount, registerOffset); + printf("[%4d] call\t\t %s, %s, %d, %d\n", location, registerName(dst).c_str(), registerName(func).c_str(), argCount, registerOffset); break; } case op_call_eval: { @@ -998,7 +966,7 @@ void CodeBlock::dump(ExecState* exec, const Vector::const_iterator& int func = (++it)->u.operand; int argCount = (++it)->u.operand; int registerOffset = (++it)->u.operand; - printf("[%4d] call_eval\t %s, %s, %d, %d\n", location, registerName(exec, dst).c_str(), registerName(exec, func).c_str(), argCount, registerOffset); + printf("[%4d] call_eval\t %s, %s, %d, %d\n", location, registerName(dst).c_str(), registerName(func).c_str(), argCount, registerOffset); break; } case op_call_varargs: { @@ -1006,16 +974,16 @@ void CodeBlock::dump(ExecState* exec, const Vector::const_iterator& int func = (++it)->u.operand; int argCount = (++it)->u.operand; int registerOffset = (++it)->u.operand; - printf("[%4d] call_varargs\t %s, %s, %s, %d\n", location, registerName(exec, dst).c_str(), registerName(exec, func).c_str(), registerName(exec, argCount).c_str(), registerOffset); + printf("[%4d] call_varargs\t %s, %s, %s, %d\n", location, registerName(dst).c_str(), registerName(func).c_str(), registerName(argCount).c_str(), registerOffset); break; } case op_load_varargs: { - printUnaryOp(exec, location, it, "load_varargs"); + printUnaryOp(location, it, "load_varargs"); break; } case op_tear_off_activation: { int r0 = (++it)->u.operand; - printf("[%4d] tear_off_activation\t %s\n", location, registerName(exec, r0).c_str()); + printf("[%4d] tear_off_activation\t %s\n", location, registerName(r0).c_str()); break; } case op_tear_off_arguments: { @@ -1024,7 +992,7 @@ void CodeBlock::dump(ExecState* exec, const Vector::const_iterator& } case op_ret: { int r0 = (++it)->u.operand; - printf("[%4d] ret\t\t %s\n", location, registerName(exec, r0).c_str()); + printf("[%4d] ret\t\t %s\n", location, registerName(r0).c_str()); break; } case op_construct: { @@ -1034,26 +1002,26 @@ void CodeBlock::dump(ExecState* exec, const Vector::const_iterator& int registerOffset = (++it)->u.operand; int proto = (++it)->u.operand; int thisRegister = (++it)->u.operand; - printf("[%4d] construct\t %s, %s, %d, %d, %s, %s\n", location, registerName(exec, dst).c_str(), registerName(exec, func).c_str(), argCount, registerOffset, registerName(exec, proto).c_str(), registerName(exec, thisRegister).c_str()); + printf("[%4d] construct\t %s, %s, %d, %d, %s, %s\n", location, registerName(dst).c_str(), registerName(func).c_str(), argCount, registerOffset, registerName(proto).c_str(), registerName(thisRegister).c_str()); break; } case op_construct_verify: { int r0 = (++it)->u.operand; int r1 = (++it)->u.operand; - printf("[%4d] construct_verify\t %s, %s\n", location, registerName(exec, r0).c_str(), registerName(exec, r1).c_str()); + printf("[%4d] construct_verify\t %s, %s\n", location, registerName(r0).c_str(), registerName(r1).c_str()); break; } case op_strcat: { int r0 = (++it)->u.operand; int r1 = (++it)->u.operand; int count = (++it)->u.operand; - printf("[%4d] strcat\t\t %s, %s, %d\n", location, registerName(exec, r0).c_str(), registerName(exec, r1).c_str(), count); + printf("[%4d] op_strcat\t %s, %s, %d\n", location, registerName(r0).c_str(), registerName(r1).c_str(), count); break; } case op_to_primitive: { int r0 = (++it)->u.operand; int r1 = (++it)->u.operand; - printf("[%4d] to_primitive\t %s, %s\n", location, registerName(exec, r0).c_str(), registerName(exec, r1).c_str()); + printf("[%4d] op_to_primitive\t %s, %s\n", location, registerName(r0).c_str(), registerName(r1).c_str()); break; } case op_get_pnames: { @@ -1062,7 +1030,7 @@ void CodeBlock::dump(ExecState* exec, const Vector::const_iterator& int r2 = it[3].u.operand; int r3 = it[4].u.operand; int offset = it[5].u.operand; - printf("[%4d] get_pnames\t %s, %s, %s, %s, %d(->%d)\n", location, registerName(exec, r0).c_str(), registerName(exec, r1).c_str(), registerName(exec, r2).c_str(), registerName(exec, r3).c_str(), offset, location + offset); + printf("[%4d] get_pnames\t %s, %s, %s, %s, %d(->%d)\n", location, registerName(r0).c_str(), registerName(r1).c_str(), registerName(r2).c_str(), registerName(r3).c_str(), offset, location + offset); it += OPCODE_LENGTH(op_get_pnames) - 1; break; } @@ -1070,13 +1038,13 @@ void CodeBlock::dump(ExecState* exec, const Vector::const_iterator& int dest = it[1].u.operand; int iter = it[4].u.operand; int offset = it[5].u.operand; - printf("[%4d] next_pname\t %s, %s, %d(->%d)\n", location, registerName(exec, dest).c_str(), registerName(exec, iter).c_str(), offset, location + offset); + printf("[%4d] next_pname\t %s, %s, %d(->%d)\n", location, registerName(dest).c_str(), registerName(iter).c_str(), offset, location + offset); it += OPCODE_LENGTH(op_next_pname) - 1; break; } case op_push_scope: { int r0 = (++it)->u.operand; - printf("[%4d] push_scope\t %s\n", location, registerName(exec, r0).c_str()); + printf("[%4d] push_scope\t %s\n", location, registerName(r0).c_str()); break; } case op_pop_scope: { @@ -1087,7 +1055,7 @@ void CodeBlock::dump(ExecState* exec, const Vector::const_iterator& int r0 = (++it)->u.operand; int id0 = (++it)->u.operand; int r1 = (++it)->u.operand; - printf("[%4d] push_new_scope \t%s, %s, %s\n", location, registerName(exec, r0).c_str(), idName(id0, m_identifiers[id0]).c_str(), registerName(exec, r1).c_str()); + printf("[%4d] push_new_scope \t%s, %s, %s\n", location, registerName(r0).c_str(), idName(id0, m_identifiers[id0]).c_str(), registerName(r1).c_str()); break; } case op_jmp_scopes: { @@ -1098,30 +1066,30 @@ void CodeBlock::dump(ExecState* exec, const Vector::const_iterator& } case op_catch: { int r0 = (++it)->u.operand; - printf("[%4d] catch\t\t %s\n", location, registerName(exec, r0).c_str()); + printf("[%4d] catch\t\t %s\n", location, registerName(r0).c_str()); break; } case op_throw: { int r0 = (++it)->u.operand; - printf("[%4d] throw\t\t %s\n", location, registerName(exec, r0).c_str()); + printf("[%4d] throw\t\t %s\n", location, registerName(r0).c_str()); break; } case op_new_error: { int r0 = (++it)->u.operand; int errorType = (++it)->u.operand; int k0 = (++it)->u.operand; - printf("[%4d] new_error\t %s, %d, %s\n", location, registerName(exec, r0).c_str(), errorType, constantName(exec, k0, getConstant(k0)).c_str()); + printf("[%4d] new_error\t %s, %d, %s\n", location, registerName(r0).c_str(), errorType, constantName(exec, k0, getConstant(k0)).c_str()); break; } case op_jsr: { int retAddrDst = (++it)->u.operand; int offset = (++it)->u.operand; - printf("[%4d] jsr\t\t %s, %d(->%d)\n", location, registerName(exec, retAddrDst).c_str(), offset, location + offset); + printf("[%4d] jsr\t\t %s, %d(->%d)\n", location, registerName(retAddrDst).c_str(), offset, location + offset); break; } case op_sret: { int retAddrSrc = (++it)->u.operand; - printf("[%4d] sret\t\t %s\n", location, registerName(exec, retAddrSrc).c_str()); + printf("[%4d] sret\t\t %s\n", location, registerName(retAddrSrc).c_str()); break; } case op_debug: { @@ -1133,17 +1101,17 @@ void CodeBlock::dump(ExecState* exec, const Vector::const_iterator& } case op_profile_will_call: { int function = (++it)->u.operand; - printf("[%4d] profile_will_call %s\n", location, registerName(exec, function).c_str()); + printf("[%4d] profile_will_call %s\n", location, registerName(function).c_str()); break; } case op_profile_did_call: { int function = (++it)->u.operand; - printf("[%4d] profile_did_call\t %s\n", location, registerName(exec, function).c_str()); + printf("[%4d] profile_did_call\t %s\n", location, registerName(function).c_str()); break; } case op_end: { int r0 = (++it)->u.operand; - printf("[%4d] end\t\t %s\n", location, registerName(exec, r0).c_str()); + printf("[%4d] end\t\t %s\n", location, registerName(r0).c_str()); break; } } @@ -1375,16 +1343,16 @@ void CodeBlock::derefStructures(Instruction* vPC) const { Interpreter* interpreter = m_globalData->interpreter; - if (vPC[0].u.opcode == interpreter->getOpcode(op_get_by_id_self) || vPC[0].u.opcode == interpreter->getOpcode(op_get_by_id_getter_self)) { + if (vPC[0].u.opcode == interpreter->getOpcode(op_get_by_id_self)) { vPC[4].u.structure->deref(); return; } - if (vPC[0].u.opcode == interpreter->getOpcode(op_get_by_id_proto) || vPC[0].u.opcode == interpreter->getOpcode(op_get_by_id_getter_proto)) { + if (vPC[0].u.opcode == interpreter->getOpcode(op_get_by_id_proto)) { vPC[4].u.structure->deref(); vPC[5].u.structure->deref(); return; } - if (vPC[0].u.opcode == interpreter->getOpcode(op_get_by_id_chain) || vPC[0].u.opcode == interpreter->getOpcode(op_get_by_id_getter_chain)) { + if (vPC[0].u.opcode == interpreter->getOpcode(op_get_by_id_chain)) { vPC[4].u.structure->deref(); vPC[5].u.structureChain->deref(); return; @@ -1405,9 +1373,7 @@ void CodeBlock::derefStructures(Instruction* vPC) const return; } if ((vPC[0].u.opcode == interpreter->getOpcode(op_get_by_id_proto_list)) - || (vPC[0].u.opcode == interpreter->getOpcode(op_get_by_id_self_list)) - || (vPC[0].u.opcode == interpreter->getOpcode(op_get_by_id_getter_proto_list)) - || (vPC[0].u.opcode == interpreter->getOpcode(op_get_by_id_getter_self_list))) { + || (vPC[0].u.opcode == interpreter->getOpcode(op_get_by_id_self_list))) { PolymorphicAccessStructureList* polymorphicStructures = vPC[4].u.polymorphicStructures; polymorphicStructures->derefStructures(vPC[5].u.operand); delete polymorphicStructures; @@ -1422,16 +1388,16 @@ void CodeBlock::refStructures(Instruction* vPC) const { Interpreter* interpreter = m_globalData->interpreter; - if (vPC[0].u.opcode == interpreter->getOpcode(op_get_by_id_self) || vPC[0].u.opcode == interpreter->getOpcode(op_get_by_id_getter_self)) { + if (vPC[0].u.opcode == interpreter->getOpcode(op_get_by_id_self)) { vPC[4].u.structure->ref(); return; } - if (vPC[0].u.opcode == interpreter->getOpcode(op_get_by_id_proto) || vPC[0].u.opcode == interpreter->getOpcode(op_get_by_id_getter_proto)) { + if (vPC[0].u.opcode == interpreter->getOpcode(op_get_by_id_proto)) { vPC[4].u.structure->ref(); vPC[5].u.structure->ref(); return; } - if (vPC[0].u.opcode == interpreter->getOpcode(op_get_by_id_chain) || vPC[0].u.opcode == interpreter->getOpcode(op_get_by_id_getter_chain)) { + if (vPC[0].u.opcode == interpreter->getOpcode(op_get_by_id_chain)) { vPC[4].u.structure->ref(); vPC[5].u.structureChain->ref(); return; diff --git a/src/3rdparty/webkit/JavaScriptCore/bytecode/CodeBlock.h b/src/3rdparty/webkit/JavaScriptCore/bytecode/CodeBlock.h index d92dc9d..4ba58d7 100644 --- a/src/3rdparty/webkit/JavaScriptCore/bytecode/CodeBlock.h +++ b/src/3rdparty/webkit/JavaScriptCore/bytecode/CodeBlock.h @@ -36,6 +36,7 @@ #include "JSGlobalObject.h" #include "JumpTable.h" #include "Nodes.h" +#include "PtrAndFlags.h" #include "RegExp.h" #include "UString.h" #include @@ -109,54 +110,44 @@ namespace JSC { CodeLocationNearCall callReturnLocation; CodeLocationDataLabelPtr hotPathBegin; CodeLocationNearCall hotPathOther; - CodeBlock* ownerCodeBlock; + PtrAndFlags ownerCodeBlock; CodeBlock* callee; - unsigned position : 31; - unsigned hasSeenShouldRepatch : 1; + unsigned position; void setUnlinked() { callee = 0; } bool isLinked() { return callee; } bool seenOnce() { - return hasSeenShouldRepatch; + return ownerCodeBlock.isFlagSet(hasSeenShouldRepatch); } void setSeen() { - hasSeenShouldRepatch = true; + ownerCodeBlock.setFlag(hasSeenShouldRepatch); } }; struct MethodCallLinkInfo { MethodCallLinkInfo() : cachedStructure(0) - , cachedPrototypeStructure(0) { } bool seenOnce() { - ASSERT(!cachedStructure); - return cachedPrototypeStructure; + return cachedPrototypeStructure.isFlagSet(hasSeenShouldRepatch); } void setSeen() { - ASSERT(!cachedStructure && !cachedPrototypeStructure); - // We use the values of cachedStructure & cachedPrototypeStructure to indicate the - // current state. - // - In the initial state, both are null. - // - Once this transition has been taken once, cachedStructure is - // null and cachedPrototypeStructure is set to a nun-null value. - // - Once the call is linked both structures are set to non-null values. - cachedPrototypeStructure = (Structure*)1; + cachedPrototypeStructure.setFlag(hasSeenShouldRepatch); } CodeLocationCall callReturnLocation; CodeLocationDataLabelPtr structureLabel; Structure* cachedStructure; - Structure* cachedPrototypeStructure; + PtrAndFlags cachedPrototypeStructure; }; struct FunctionRegisterInfo { @@ -447,7 +438,7 @@ namespace JSC { size_t numberOfConstantRegisters() const { return m_constantRegisters.size(); } void addConstantRegister(const Register& r) { return m_constantRegisters.append(r); } Register& constantRegister(int index) { return m_constantRegisters[index - FirstConstantRegisterIndex]; } - ALWAYS_INLINE bool isConstantRegisterIndex(int index) const { return index >= FirstConstantRegisterIndex; } + ALWAYS_INLINE bool isConstantRegisterIndex(int index) { return index >= FirstConstantRegisterIndex; } ALWAYS_INLINE JSValue getConstant(int index) const { return m_constantRegisters[index - FirstConstantRegisterIndex].jsValue(); } unsigned addFunctionDecl(NonNullPassRefPtr n) { unsigned size = m_functionDecls.size(); m_functionDecls.append(n); return size; } @@ -491,13 +482,6 @@ namespace JSC { private: #if !defined(NDEBUG) || ENABLE(OPCODE_SAMPLING) void dump(ExecState*, const Vector::const_iterator& begin, Vector::const_iterator&) const; - - CString registerName(ExecState*, int r) const; - void printUnaryOp(ExecState*, int location, Vector::const_iterator&, const char* op) const; - void printBinaryOp(ExecState*, int location, Vector::const_iterator&, const char* op) const; - void printConditionalJump(ExecState*, const Vector::const_iterator&, Vector::const_iterator&, int location, const char* op) const; - void printGetByIdOp(ExecState*, int location, Vector::const_iterator&, const char* op) const; - void printPutByIdOp(ExecState*, int location, Vector::const_iterator&, const char* op) const; #endif void reparseForExceptionInfoIfNecessary(CallFrame*); diff --git a/src/3rdparty/webkit/JavaScriptCore/bytecode/EvalCodeCache.h b/src/3rdparty/webkit/JavaScriptCore/bytecode/EvalCodeCache.h index a036dd4..05834fc 100644 --- a/src/3rdparty/webkit/JavaScriptCore/bytecode/EvalCodeCache.h +++ b/src/3rdparty/webkit/JavaScriptCore/bytecode/EvalCodeCache.h @@ -65,7 +65,7 @@ namespace JSC { bool isEmpty() const { return m_cacheMap.isEmpty(); } private: - static const unsigned maxCacheableSourceLength = 256; + static const int maxCacheableSourceLength = 256; static const int maxCacheEntries = 64; typedef HashMap, RefPtr > EvalCacheMap; diff --git a/src/3rdparty/webkit/JavaScriptCore/bytecode/Opcode.h b/src/3rdparty/webkit/JavaScriptCore/bytecode/Opcode.h index 56555f3..4facbef 100644 --- a/src/3rdparty/webkit/JavaScriptCore/bytecode/Opcode.h +++ b/src/3rdparty/webkit/JavaScriptCore/bytecode/Opcode.h @@ -104,11 +104,6 @@ namespace JSC { macro(op_get_by_id_proto, 8) \ macro(op_get_by_id_proto_list, 8) \ macro(op_get_by_id_chain, 8) \ - macro(op_get_by_id_getter_self, 8) \ - macro(op_get_by_id_getter_self_list, 8) \ - macro(op_get_by_id_getter_proto, 8) \ - macro(op_get_by_id_getter_proto_list, 8) \ - macro(op_get_by_id_getter_chain, 8) \ macro(op_get_by_id_generic, 8) \ macro(op_get_array_length, 8) \ macro(op_get_string_length, 8) \ @@ -133,11 +128,9 @@ namespace JSC { macro(op_jneq_ptr, 4) \ macro(op_jnless, 4) \ macro(op_jnlesseq, 4) \ - macro(op_jless, 4) \ macro(op_jmp_scopes, 3) \ macro(op_loop, 2) \ macro(op_loop_if_true, 3) \ - macro(op_loop_if_false, 3) \ macro(op_loop_if_less, 4) \ macro(op_loop_if_lesseq, 4) \ macro(op_switch_imm, 4) \ @@ -201,12 +194,8 @@ namespace JSC { #undef VERIFY_OPCODE_ID #if HAVE(COMPUTED_GOTO) -#if COMPILER(RVCT) typedef void* Opcode; #else - typedef const void* Opcode; -#endif -#else typedef OpcodeID Opcode; #endif diff --git a/src/3rdparty/webkit/JavaScriptCore/bytecode/SamplingTool.cpp b/src/3rdparty/webkit/JavaScriptCore/bytecode/SamplingTool.cpp index 3f0babc..865c919 100644 --- a/src/3rdparty/webkit/JavaScriptCore/bytecode/SamplingTool.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/bytecode/SamplingTool.cpp @@ -33,7 +33,7 @@ #include "Interpreter.h" #include "Opcode.h" -#if !OS(WINDOWS) +#if !PLATFORM(WIN_OS) #include #endif @@ -91,7 +91,7 @@ void SamplingFlags::stop() {} uint32_t SamplingFlags::s_flags = 1 << 15; -#if OS(WINDOWS) +#if PLATFORM(WIN_OS) static void sleepForMicroseconds(unsigned us) { diff --git a/src/3rdparty/webkit/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp b/src/3rdparty/webkit/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp index f2193b0..04dae15 100644 --- a/src/3rdparty/webkit/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp @@ -616,7 +616,7 @@ PassRefPtr