Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (184324 => 184325)
--- trunk/Source/_javascript_Core/ChangeLog 2015-05-14 01:32:25 UTC (rev 184324)
+++ trunk/Source/_javascript_Core/ChangeLog 2015-05-14 01:34:08 UTC (rev 184325)
@@ -1,5 +1,26 @@
2015-05-13 Joseph Pecoraro <[email protected]>
+ Clean up some possible RefPtr to PassRefPtr churn
+ https://bugs.webkit.org/show_bug.cgi?id=144779
+
+ Reviewed by Darin Adler.
+
+ * runtime/GenericTypedArrayViewInlines.h:
+ (JSC::GenericTypedArrayView<Adaptor>::create):
+ (JSC::GenericTypedArrayView<Adaptor>::createUninitialized):
+ * runtime/JSArrayBufferConstructor.cpp:
+ (JSC::constructArrayBuffer):
+ * runtime/Structure.cpp:
+ (JSC::Structure::toStructureShape):
+ * runtime/TypedArrayBase.h:
+ (JSC::TypedArrayBase::create):
+ (JSC::TypedArrayBase::createUninitialized):
+ * tools/FunctionOverrides.cpp:
+ (JSC::initializeOverrideInfo):
+ Release the last use of a RefPtr as it is passed on.
+
+2015-05-13 Joseph Pecoraro <[email protected]>
+
ES6: Allow duplicate property names
https://bugs.webkit.org/show_bug.cgi?id=142895
Modified: trunk/Source/_javascript_Core/runtime/GenericTypedArrayViewInlines.h (184324 => 184325)
--- trunk/Source/_javascript_Core/runtime/GenericTypedArrayViewInlines.h 2015-05-14 01:32:25 UTC (rev 184324)
+++ trunk/Source/_javascript_Core/runtime/GenericTypedArrayViewInlines.h 2015-05-14 01:34:08 UTC (rev 184325)
@@ -45,7 +45,7 @@
RefPtr<ArrayBuffer> buffer = ArrayBuffer::create(length, sizeof(typename Adaptor::Type));
if (!buffer)
return 0;
- return create(buffer, 0, length);
+ return create(buffer.release(), 0, length);
}
template<typename Adaptor>
@@ -54,7 +54,7 @@
{
RefPtr<GenericTypedArrayView> result = create(length);
memcpy(result->data(), array, length * sizeof(typename Adaptor::Type));
- return result;
+ return result.release();
}
template<typename Adaptor>
@@ -67,7 +67,7 @@
return nullptr;
}
- return adoptRef(new GenericTypedArrayView(buffer, byteOffset, length));
+ return adoptRef(new GenericTypedArrayView(buffer.release(), byteOffset, length));
}
template<typename Adaptor>
@@ -78,7 +78,7 @@
ArrayBuffer::createUninitialized(length, sizeof(typename Adaptor::Type));
if (!buffer)
return 0;
- return create(buffer, 0, length);
+ return create(buffer.release(), 0, length);
}
template<typename Adaptor>
Modified: trunk/Source/_javascript_Core/runtime/JSArrayBufferConstructor.cpp (184324 => 184325)
--- trunk/Source/_javascript_Core/runtime/JSArrayBufferConstructor.cpp 2015-05-14 01:32:25 UTC (rev 184324)
+++ trunk/Source/_javascript_Core/runtime/JSArrayBufferConstructor.cpp 2015-05-14 01:34:08 UTC (rev 184325)
@@ -95,7 +95,7 @@
return throwVMError(exec, createOutOfMemoryError(exec));
JSArrayBuffer* result = JSArrayBuffer::create(
- exec->vm(), constructor->globalObject()->arrayBufferStructure(), buffer);
+ exec->vm(), constructor->globalObject()->arrayBufferStructure(), buffer.release());
return JSValue::encode(result);
}
Modified: trunk/Source/_javascript_Core/runtime/Structure.cpp (184324 => 184325)
--- trunk/Source/_javascript_Core/runtime/Structure.cpp 2015-05-14 01:32:25 UTC (rev 184324)
+++ trunk/Source/_javascript_Core/runtime/Structure.cpp 2015-05-14 01:34:08 UTC (rev 184325)
@@ -1052,7 +1052,6 @@
curShape->addProperty(structure->m_nameInPrevious.get());
}
-
if (JSObject* curObject = curValue.getObject())
curShape->setConstructorName(JSObject::calculatedClassName(curObject));
else
@@ -1066,7 +1065,7 @@
if (curStructure->storedPrototypeStructure()) {
RefPtr<StructureShape> newShape = StructureShape::create();
curShape->setProto(newShape);
- curShape = newShape;
+ curShape = newShape.release();
curValue = curStructure->storedPrototype();
}
Modified: trunk/Source/_javascript_Core/runtime/TypedArrayBase.h (184324 => 184325)
--- trunk/Source/_javascript_Core/runtime/TypedArrayBase.h 2015-05-14 01:32:25 UTC (rev 184324)
+++ trunk/Source/_javascript_Core/runtime/TypedArrayBase.h 2015-05-14 01:34:08 UTC (rev 184325)
@@ -94,7 +94,7 @@
RefPtr<ArrayBuffer> buffer = ArrayBuffer::create(length, sizeof(T));
if (!buffer.get())
return 0;
- return create<Subclass>(buffer, 0, length);
+ return create<Subclass>(buffer.release(), 0, length);
}
template <class Subclass>
@@ -104,7 +104,7 @@
if (a)
for (unsigned i = 0; i < length; ++i)
a->set(i, array[i]);
- return a;
+ return a.release();
}
template <class Subclass>
@@ -114,7 +114,7 @@
if (!verifySubRange<T>(buf, byteOffset, length))
return 0;
- return adoptRef(new Subclass(buf, byteOffset, length));
+ return adoptRef(new Subclass(buf.release(), byteOffset, length));
}
template <class Subclass>
@@ -123,7 +123,7 @@
RefPtr<ArrayBuffer> buffer = ArrayBuffer::createUninitialized(length, sizeof(T));
if (!buffer.get())
return 0;
- return create<Subclass>(buffer, 0, length);
+ return create<Subclass>(buffer.release(), 0, length);
}
template <class Subclass>
Modified: trunk/Source/_javascript_Core/tools/FunctionOverrides.cpp (184324 => 184325)
--- trunk/Source/_javascript_Core/tools/FunctionOverrides.cpp 2015-05-14 01:32:25 UTC (rev 184324)
+++ trunk/Source/_javascript_Core/tools/FunctionOverrides.cpp 2015-05-14 01:34:08 UTC (rev 184325)
@@ -127,7 +127,7 @@
info.typeProfilingEndOffset = newProviderStr.length() - 1;
info.sourceCode =
- SourceCode(newProvider, info.typeProfilingStartOffset, info.typeProfilingEndOffset + 1, 1, 1);
+ SourceCode(newProvider.release(), info.typeProfilingStartOffset, info.typeProfilingEndOffset + 1, 1, 1);
}
bool FunctionOverrides::initializeOverrideFor(const SourceCode& origCode, FunctionOverrides::OverrideInfo& result)
Modified: trunk/Source/WebCore/platform/graphics/ISOVTTCue.cpp (184324 => 184325)
--- trunk/Source/WebCore/platform/graphics/ISOVTTCue.cpp 2015-05-14 01:32:25 UTC (rev 184324)
+++ trunk/Source/WebCore/platform/graphics/ISOVTTCue.cpp 2015-05-14 01:34:08 UTC (rev 184325)
@@ -30,6 +30,8 @@
#include <runtime/ArrayBuffer.h>
#include <runtime/DataView.h>
#include <runtime/Int8Array.h>
+#include <runtime/JSCInlines.h>
+#include <runtime/TypedArrayInlines.h>
#include <wtf/NeverDestroyed.h>
#include <wtf/text/CString.h>
#include <wtf/text/StringBuilder.h>