Timeline
Jan 14, 2018:
- 3:02 PM Changeset in webkit [226943] by
-
- 2 edits in trunk/LayoutTests
[macOS] [WK2] Unskip some consistently-passing tests
https://bugs.webkit.org/show_bug.cgi?id=181226
<rdar://problem/23023848>
Reviewed by Simon Fraser.
According to the flakiness dashboard, these tests consistently pass now.
- platform/mac-wk2/TestExpectations:
- 11:43 AM Changeset in webkit [226942] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed. r226928 broke the CLOOP build. This patch fixes the CLOOP build.
- bytecode/CallLinkStatus.cpp:
(JSC::CallLinkStatus::computeFromLLInt):
(JSC::CallLinkStatus::computeExitSiteData):
Jan 13, 2018:
- 11:16 PM Changeset in webkit [226941] by
-
- 3 edits in trunk/LayoutTests
Extend testing added in r226842
https://bugs.webkit.org/show_bug.cgi?id=181634
Reviewed by Darin Adler.
I have verified that the behavior is consistent with Chrome and Firefox.
- fast/dom/Window/window-opener-shadowing-expected.txt:
- fast/dom/Window/window-opener-shadowing.html:
- 10:11 PM Changeset in webkit [226940] by
-
- 62 edits1 move2 deletes in trunk
Replace all use of ConstExprPoisoned with Poisoned.
https://bugs.webkit.org/show_bug.cgi?id=181542
<rdar://problem/36442138>
Reviewed by JF Bastien.
Source/JavaScriptCore:
- All JSC poisons are now defined in JSCPoison.h.
- Change all clients to use the new poison values via the POISON() macro.
- The LLInt code has been updated to handle CodeBlock poison. Some of this code uses the t5 temp register, which is not available on the Windows port. Fortunately, we don't currently do poisoning on the Windows port yet. So, it will just work for now.
When poisoning is enabled for the Windows port, this LLInt code will need a
Windows specific implementation to workaround its lack of a t5 register.
- API/JSAPIWrapperObject.h:
- API/JSCallbackFunction.h:
- API/JSCallbackObject.h:
- JavaScriptCore.xcodeproj/project.pbxproj:
- Sources.txt:
- assembler/MacroAssemblerCodeRef.h:
(JSC::MacroAssemblerCodePtr::emptyValue):
(JSC::MacroAssemblerCodePtr::deletedValue):
- b3/B3LowerMacros.cpp:
- b3/testb3.cpp:
(JSC::B3::testInterpreter):
- bytecode/CodeBlock.h:
(JSC::CodeBlock::instructions):
(JSC::CodeBlock::instructions const):
(JSC::CodeBlock::makePoisonedUnique):
- dfg/DFGOSRExitCompilerCommon.h:
(JSC::DFG::adjustFrameAndStackInOSRExitCompilerThunk):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileCheckSubClass):
(JSC::DFG::SpeculativeJIT::emitSwitchIntJump):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileCheckSubClass):
- jit/JIT.h:
- jit/ThunkGenerators.cpp:
(JSC::virtualThunkFor):
(JSC::nativeForGenerator):
(JSC::boundThisNoArgsFunctionCallGenerator):
- llint/LowLevelInterpreter.asm:
- llint/LowLevelInterpreter32_64.asm:
- llint/LowLevelInterpreter64.asm:
- parser/UnlinkedSourceCode.h:
- runtime/ArrayPrototype.h:
- runtime/CustomGetterSetter.h:
- runtime/DateInstance.h:
- runtime/InternalFunction.h:
- runtime/JSArrayBuffer.h:
- runtime/JSCPoison.cpp: Copied from Source/JavaScriptCore/runtime/JSCPoisonedPtr.cpp.
(JSC::initializePoison):
- runtime/JSCPoison.h:
(): Deleted.
- runtime/JSCPoisonedPtr.cpp: Removed.
- runtime/JSCPoisonedPtr.h: Removed.
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::makePoisonedUnique):
- runtime/JSScriptFetchParameters.h:
- runtime/JSScriptFetcher.h:
- runtime/NativeExecutable.h:
- runtime/StructureTransitionTable.h:
(JSC::StructureTransitionTable::map const):
(JSC::StructureTransitionTable::weakImpl const):
- runtime/WriteBarrier.h:
(JSC::WriteBarrier::poison):
- wasm/js/JSToWasm.cpp:
(JSC::Wasm::createJSToWasmWrapper):
- wasm/js/JSWebAssemblyCodeBlock.cpp:
(JSC::JSWebAssemblyCodeBlock::JSWebAssemblyCodeBlock):
- wasm/js/JSWebAssemblyCodeBlock.h:
- wasm/js/JSWebAssemblyInstance.h:
- wasm/js/JSWebAssemblyMemory.h:
- wasm/js/JSWebAssemblyModule.h:
- wasm/js/JSWebAssemblyTable.h:
- wasm/js/WasmToJS.cpp:
(JSC::Wasm::handleBadI64Use):
(JSC::Wasm::wasmToJS):
- wasm/js/WebAssemblyFunctionBase.h:
- wasm/js/WebAssemblyModuleRecord.h:
- wasm/js/WebAssemblyToJSCallee.h:
- wasm/js/WebAssemblyWrapperFunction.h:
Source/WTF:
- Removed ConstExprPoisoned and its artifacts.
- Consolidated Poisoned into PoisonedImpl. PoisonedImpl is not more.
- Changed all clients of ConstExprPoisoned to use Poisoned instead.
- Worked around the GCC and Clang compiler bug that confuses an intptr_t& template arg with intptr_t. See use of std::enable_if_t<Other::isPoisoned> in Poisoned.h.
- Removed ENABLE(MIXED_POISON) since we now have a workaround (3) that makes it possible to use the mixed poison code.
- Also fixed broken implementation of comparison operators in Poisoned.
- wtf/Bag.h:
- wtf/DumbPtrTraits.h:
(WTF::DumbPtrTraits::poison):
- wtf/DumbValueTraits.h:
(WTF::DumbValueTraits::poison):
- wtf/Poisoned.h:
(WTF::Poisoned::Poisoned):
(WTF::Poisoned::operator== const):
(WTF::Poisoned::operator!= const):
(WTF::Poisoned::operator< const):
(WTF::Poisoned::operator<= const):
(WTF::Poisoned::operator> const):
(WTF::Poisoned::operator>= const):
(WTF::Poisoned::operator=):
(WTF::Poisoned::swap):
(WTF::swap):
(WTF::PoisonedPtrTraits::poison):
(WTF::PoisonedPtrTraits::swap):
(WTF::PoisonedValueTraits::poison):
(WTF::PoisonedValueTraits::swap):
(WTF::PoisonedImpl::PoisonedImpl): Deleted.
(WTF::PoisonedImpl::assertIsPoisoned const): Deleted.
(WTF::PoisonedImpl::assertIsNotPoisoned const): Deleted.
(WTF::PoisonedImpl::unpoisoned const): Deleted.
(WTF::PoisonedImpl::clear): Deleted.
(WTF::PoisonedImpl::operator* const): Deleted.
(WTF::PoisonedImpl::operator-> const): Deleted.
(WTF::PoisonedImpl::bits const): Deleted.
(WTF::PoisonedImpl::operator! const): Deleted.
(WTF::PoisonedImpl::operator bool const): Deleted.
(WTF::PoisonedImpl::operator== const): Deleted.
(WTF::PoisonedImpl::operator!= const): Deleted.
(WTF::PoisonedImpl::operator< const): Deleted.
(WTF::PoisonedImpl::operator<= const): Deleted.
(WTF::PoisonedImpl::operator> const): Deleted.
(WTF::PoisonedImpl::operator>= const): Deleted.
(WTF::PoisonedImpl::operator=): Deleted.
(WTF::PoisonedImpl::swap): Deleted.
(WTF::PoisonedImpl::exchange): Deleted.
(WTF::PoisonedImpl::poison): Deleted.
(WTF::PoisonedImpl::unpoison): Deleted.
(WTF::constExprPoisonRandom): Deleted.
(WTF::makeConstExprPoison): Deleted.
(WTF::ConstExprPoisonedPtrTraits::exchange): Deleted.
(WTF::ConstExprPoisonedPtrTraits::swap): Deleted.
(WTF::ConstExprPoisonedPtrTraits::unwrap): Deleted.
(WTF::ConstExprPoisonedValueTraits::exchange): Deleted.
(WTF::ConstExprPoisonedValueTraits::swap): Deleted.
(WTF::ConstExprPoisonedValueTraits::unwrap): Deleted.
- wtf/PoisonedUniquePtr.h:
(WTF::PoisonedUniquePtr::PoisonedUniquePtr):
(WTF::PoisonedUniquePtr::operator=):
- wtf/Ref.h:
- wtf/RefCountedArray.h:
(WTF::RefCountedArray::RefCountedArray):
- wtf/RefPtr.h:
- wtf/WTFAssertions.cpp:
Tools:
- Converted tests to using new uintptr_t& poison type.
- Added tests for Poisoned comparison operators.
- TestWebKitAPI/CMakeLists.txt:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WTF/ConstExprPoisoned.cpp: Removed.
- TestWebKitAPI/Tests/WTF/Poisoned.cpp:
(TestWebKitAPI::TEST):
(TestWebKitAPI::initializeTestPoison): Deleted.
- TestWebKitAPI/Tests/WTF/PoisonedRef.cpp:
(TestWebKitAPI::TEST):
(TestWebKitAPI::passWithRef):
- TestWebKitAPI/Tests/WTF/PoisonedRefPtr.cpp:
(TestWebKitAPI::TEST):
(TestWebKitAPI::f1):
- TestWebKitAPI/Tests/WTF/PoisonedUniquePtr.cpp:
(TestWebKitAPI::TEST):
(TestWebKitAPI::poisonedPtrFoo):
- TestWebKitAPI/Tests/WTF/PoisonedUniquePtrForNonTriviallyDestructibleArrays.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WTF/PoisonedUniquePtrForTriviallyDestructibleArrays.cpp:
(TestWebKitAPI::TEST):
- 8:06 PM Changeset in webkit [226939] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: Styles Redesign: properties should never be semitransparent or crossed out while editing
https://bugs.webkit.org/show_bug.cgi?id=180793
<rdar://problem/36038813>
Reviewed by Devin Rousso.
- UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
(.spreadsheet-style-declaration-editor .value.editing):
(.spreadsheet-style-declaration-editor .property:matches(.invalid-name, .other-vendor, .overridden):not(.disabled) .content > *):
(.spreadsheet-style-declaration-editor .property.invalid-name:not(.disabled) .content > *):
(.spreadsheet-style-declaration-editor .property.invalid-value:not(.disabled) .content .value):
(.spreadsheet-style-declaration-editor .property.not-inherited .content > *):
- UserInterface/Views/SpreadsheetStyleProperty.js:
(WI.SpreadsheetStyleProperty.prototype._update):
- 12:38 PM Changeset in webkit [226938] by
-
- 3 edits in trunk/Tools
check-webkit-style: false positive for [whitespace/braces] with os_log format string
<https://webkit.org/b/181606>
Reviewed by Darin Adler.
- Scripts/webkitpy/style/checkers/cpp.py:
(check_spacing): Modify regular expression to ignore
os_log format strings like '%{public}'.
- Scripts/webkitpy/style/checkers/cpp_unittest.py:
(CppStyleTest.test_spacing_before_braces): Add os_log
format string test.
- 7:16 AM Changeset in webkit [226937] by
-
- 7 edits6 adds in trunk
[JSC] NumberPrototype::extractRadixFromArgs incorrectly cast double to int32_t
https://bugs.webkit.org/show_bug.cgi?id=181182
Reviewed by Darin Adler.
JSTests:
- bigIntTests.yaml:
- stress/big-int-constructor.js:
- stress/big-int-prototype-to-string-cast-overflow.js: Added.
(assert):
(assertThrowRangeError):
- stress/number-prototype-to-string-cast-overflow.js: Added.
(assert):
(assertThrowRangeError):
Source/JavaScriptCore:
Casting double to integer is undefined behavior when the truncation
results into a value that doesn't fit into integer size, according C++
spec[1]. Thus, we are changing bigIntProtoFuncToString and
numberProtoFuncToString to remove these source of undefined behavior.
[1] - http://en.cppreference.com/w/cpp/language/implicit_conversion
- runtime/BigIntPrototype.cpp:
(JSC::bigIntProtoFuncToString):
- runtime/NumberPrototype.cpp:
(JSC::numberProtoFuncToString):
(JSC::extractRadixFromArgs): Deleted.
(JSC::extractToStringRadixArgument): Added.
- 4:07 AM Changeset in webkit [226936] by
-
- 3 edits2 adds in trunk
MathML Lengths should take zoom level into account
https://bugs.webkit.org/show_bug.cgi?id=180029
Patch by Minsheng Liu <lambda@liu.ms> on 2018-01-13
Reviewed by Frédéric Wang.
Source/WebCore:
The patch applies the effective zoom factor to physical units in toUserUnits().
Test: mathml/presentation/mspace-units-with-zoom.html
- rendering/mathml/RenderMathMLBlock.cpp:
(WebCore::toUserUnits):
LayoutTests:
Add a testcase for MathML lengths where zoom factor is set.
- mathml/presentation/mspace-units-with-zoom-expected.html: Added.
- mathml/presentation/mspace-units-with-zoom.html: Added.