Title: [233065] trunk/Source/_javascript_Core
- Revision
- 233065
- Author
- [email protected]
- Date
- 2018-06-21 15:57:09 -0700 (Thu, 21 Jun 2018)
Log Message
Do some CoW cleanup
https://bugs.webkit.org/show_bug.cgi?id=186896
Reviewed by Mark Lam.
* bytecode/UnlinkedCodeBlock.h:
(JSC::UnlinkedCodeBlock::decompressArrayAllocationProfile):
We don't need to WTFMove() ints
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
remove a TODO.
* runtime/JSObject.cpp:
(JSC::JSObject::putByIndex):
We were checking for isCopyOnWrite even after we converted away
from CoW in above code.
(JSC::JSObject::ensureWritableInt32Slow):
Model this in the same way the other ensureWritableXSlow are modeled.
Modified Paths
Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (233064 => 233065)
--- trunk/Source/_javascript_Core/ChangeLog 2018-06-21 22:51:00 UTC (rev 233064)
+++ trunk/Source/_javascript_Core/ChangeLog 2018-06-21 22:57:09 UTC (rev 233065)
@@ -1,3 +1,25 @@
+2018-06-21 Saam Barati <[email protected]>
+
+ Do some CoW cleanup
+ https://bugs.webkit.org/show_bug.cgi?id=186896
+
+ Reviewed by Mark Lam.
+
+ * bytecode/UnlinkedCodeBlock.h:
+ (JSC::UnlinkedCodeBlock::decompressArrayAllocationProfile):
+ We don't need to WTFMove() ints
+
+ * dfg/DFGByteCodeParser.cpp:
+ (JSC::DFG::ByteCodeParser::parseBlock):
+ remove a TODO.
+
+ * runtime/JSObject.cpp:
+ (JSC::JSObject::putByIndex):
+ We were checking for isCopyOnWrite even after we converted away
+ from CoW in above code.
+ (JSC::JSObject::ensureWritableInt32Slow):
+ Model this in the same way the other ensureWritableXSlow are modeled.
+
2018-06-20 Keith Miller <[email protected]>
flattenDictionaryStruture needs to zero inline storage.
Modified: trunk/Source/_javascript_Core/bytecode/UnlinkedCodeBlock.h (233064 => 233065)
--- trunk/Source/_javascript_Core/bytecode/UnlinkedCodeBlock.h 2018-06-21 22:51:00 UTC (rev 233064)
+++ trunk/Source/_javascript_Core/bytecode/UnlinkedCodeBlock.h 2018-06-21 22:57:09 UTC (rev 233065)
@@ -309,7 +309,7 @@
{
unsigned profile = "" << 8) >> 8;
IndexingType recommendedIndexingType = compressedProfile >> 24;
- return std::make_tuple<unsigned, IndexingType>(WTFMove(profile), WTFMove(recommendedIndexingType));
+ return { profile, recommendedIndexingType };
}
unsigned numberOfObjectAllocationProfiles() { return m_objectAllocationProfileCount; }
Modified: trunk/Source/_javascript_Core/dfg/DFGByteCodeParser.cpp (233064 => 233065)
--- trunk/Source/_javascript_Core/dfg/DFGByteCodeParser.cpp 2018-06-21 22:51:00 UTC (rev 233064)
+++ trunk/Source/_javascript_Core/dfg/DFGByteCodeParser.cpp 2018-06-21 22:57:09 UTC (rev 233065)
@@ -4595,7 +4595,6 @@
JSImmutableButterfly* immutableButterfly = frozen->cast<JSImmutableButterfly*>();
NewArrayBufferData data { };
data.indexingMode = immutableButterfly->indexingMode();
- // TODO: Do I need this?
data.vectorLengthHint = immutableButterfly->toButterfly()->vectorLength();
set(VirtualRegister(bytecode.dst()), addToGraph(NewArrayBuffer, OpInfo(frozen), OpInfo(data.asQuadWord)));
Modified: trunk/Source/_javascript_Core/runtime/JSObject.cpp (233064 => 233065)
--- trunk/Source/_javascript_Core/runtime/JSObject.cpp 2018-06-21 22:51:00 UTC (rev 233064)
+++ trunk/Source/_javascript_Core/runtime/JSObject.cpp 2018-06-21 22:57:09 UTC (rev 233065)
@@ -851,7 +851,7 @@
}
case ALL_INT32_INDEXING_TYPES: {
- if (!value.isInt32() || isCopyOnWrite(thisObject->indexingMode())) {
+ if (!value.isInt32()) {
thisObject->convertInt32ForValue(vm, value);
return putByIndex(cell, exec, propertyName, value, shouldThrow);
}
@@ -1478,9 +1478,10 @@
{
ASSERT(inherits(vm, info()));
- if (isCopyOnWrite(indexingMode()) && hasInt32(indexingMode())) {
+ if (isCopyOnWrite(indexingMode())) {
convertFromCopyOnWrite(vm);
- return butterfly()->contiguousInt32();
+ if (hasInt32(indexingMode()))
+ return butterfly()->contiguousInt32();
}
if (structure(vm)->hijacksIndexingHeader())
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes