<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[185346] trunk/Source</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/185346">185346</a></dd>
<dt>Author</dt> <dd>gyuyoung.kim@webkit.org</dd>
<dt>Date</dt> <dd>2015-06-08 19:17:48 -0700 (Mon, 08 Jun 2015)</dd>
</dl>

<h3>Log Message</h3>
<pre>Purge PassRefPtr in JavaScriptCore
https://bugs.webkit.org/show_bug.cgi?id=145750

Source/JavaScriptCore:

As a step to purge PassRefPtr, this patch replaces PassRefPtr with Ref or RefPtr.

Reviewed by Darin Adler.

* API/JSClassRef.cpp:
(OpaqueJSClass::createNoAutomaticPrototype):
* API/JSClassRef.h:
* API/JSContextRef.cpp:
* API/JSScriptRef.cpp:
(OpaqueJSScript::create):
* API/JSStringRef.cpp:
(JSStringCreateWithCharacters):
(JSStringCreateWithUTF8CString):
* API/OpaqueJSString.cpp:
(OpaqueJSString::create):
* API/OpaqueJSString.h:
(OpaqueJSString::create):
* bytecompiler/StaticPropertyAnalysis.h:
(JSC::StaticPropertyAnalysis::create):
* debugger/DebuggerCallFrame.h:
(JSC::DebuggerCallFrame::create):
* dfg/DFGToFTLDeferredCompilationCallback.cpp:
(JSC::DFG::ToFTLDeferredCompilationCallback::create):
* dfg/DFGToFTLDeferredCompilationCallback.h:
* dfg/DFGToFTLForOSREntryDeferredCompilationCallback.cpp:
(JSC::DFG::Ref&lt;ToFTLForOSREntryDeferredCompilationCallback&gt;ToFTLForOSREntryDeferredCompilationCallback::create):
(JSC::DFG::ToFTLForOSREntryDeferredCompilationCallback::create): Deleted.
* dfg/DFGToFTLForOSREntryDeferredCompilationCallback.h:
* dfg/DFGWorklist.cpp:
(JSC::DFG::Worklist::create):
(JSC::DFG::ensureGlobalDFGWorklist):
(JSC::DFG::ensureGlobalFTLWorklist):
* dfg/DFGWorklist.h:
* heap/EdenGCActivityCallback.h:
(JSC::GCActivityCallback::createEdenTimer):
* heap/FullGCActivityCallback.h:
(JSC::GCActivityCallback::createFullTimer):
* heap/GCActivityCallback.h:
* inspector/InjectedScriptHost.h:
* inspector/JavaScriptCallFrame.h:
(Inspector::JavaScriptCallFrame::create):
* inspector/ScriptArguments.cpp:
(Inspector::ScriptArguments::create):
* inspector/ScriptArguments.h:
* jit/JITStubRoutine.h:
(JSC::JITStubRoutine::createSelfManagedRoutine):
* jit/JITToDFGDeferredCompilationCallback.cpp:
(JSC::JITToDFGDeferredCompilationCallback::create):
* jit/JITToDFGDeferredCompilationCallback.h:
* jsc.cpp:
(jscmain):
* parser/NodeConstructors.h:
(JSC::ArrayPatternNode::create):
(JSC::ObjectPatternNode::create):
(JSC::BindingNode::create):
* parser/Nodes.cpp:
(JSC::FunctionParameters::create):
* parser/Nodes.h:
* parser/SourceProvider.h:
(JSC::StringSourceProvider::create):
* profiler/Profile.cpp:
(JSC::Profile::create):
* profiler/Profile.h:
* profiler/ProfileGenerator.cpp:
(JSC::ProfileGenerator::create):
* profiler/ProfileGenerator.h:
* profiler/ProfileNode.h:
(JSC::ProfileNode::create):
* runtime/DataView.cpp:
(JSC::DataView::create):
* runtime/DataView.h:
* runtime/DateInstanceCache.h:
(JSC::DateInstanceData::create):
* runtime/JSPromiseReaction.cpp:
(JSC::createExecutePromiseReactionMicrotask):
* runtime/JSPromiseReaction.h:
* runtime/PropertyNameArray.h:
(JSC::PropertyNameArrayData::create):
* runtime/TypeSet.h:
(JSC::StructureShape::create):
(JSC::TypeSet::create):
* runtime/TypedArrayBase.h:
(JSC::TypedArrayBase::create):
(JSC::TypedArrayBase::createUninitialized):
(JSC::TypedArrayBase::subarrayImpl):
* runtime/VM.cpp:
(JSC::VM::createContextGroup):
(JSC::VM::create):
(JSC::VM::createLeaked):
* runtime/VM.h:
* yarr/RegularExpression.cpp:
(JSC::Yarr::RegularExpression::Private::create):

Source/WebCore:

Reviewed by Darin Adler.

As a step to purge PassRefPtr, this patch replaces PassRefPtr with Ref or RefPtr.

No new tests, no behavior changes.

* bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::commonVM):</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceJavaScriptCoreAPIJSClassRefcpp">trunk/Source/JavaScriptCore/API/JSClassRef.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreAPIJSClassRefh">trunk/Source/JavaScriptCore/API/JSClassRef.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreAPIJSContextRefcpp">trunk/Source/JavaScriptCore/API/JSContextRef.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreAPIJSScriptRefcpp">trunk/Source/JavaScriptCore/API/JSScriptRef.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreAPIJSStringRefcpp">trunk/Source/JavaScriptCore/API/JSStringRef.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreAPIJSStringRefCFcpp">trunk/Source/JavaScriptCore/API/JSStringRefCF.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreAPIOpaqueJSStringcpp">trunk/Source/JavaScriptCore/API/OpaqueJSString.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreAPIOpaqueJSStringh">trunk/Source/JavaScriptCore/API/OpaqueJSString.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreChangeLog">trunk/Source/JavaScriptCore/ChangeLog</a></li>
<li><a href="#trunkSourceJavaScriptCorebytecompilerStaticPropertyAnalysish">trunk/Source/JavaScriptCore/bytecompiler/StaticPropertyAnalysis.h</a></li>
<li><a href="#trunkSourceJavaScriptCoredebuggerDebuggerCallFrameh">trunk/Source/JavaScriptCore/debugger/DebuggerCallFrame.h</a></li>
<li><a href="#trunkSourceJavaScriptCoredfgDFGToFTLDeferredCompilationCallbackcpp">trunk/Source/JavaScriptCore/dfg/DFGToFTLDeferredCompilationCallback.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoredfgDFGToFTLDeferredCompilationCallbackh">trunk/Source/JavaScriptCore/dfg/DFGToFTLDeferredCompilationCallback.h</a></li>
<li><a href="#trunkSourceJavaScriptCoredfgDFGToFTLForOSREntryDeferredCompilationCallbackcpp">trunk/Source/JavaScriptCore/dfg/DFGToFTLForOSREntryDeferredCompilationCallback.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoredfgDFGToFTLForOSREntryDeferredCompilationCallbackh">trunk/Source/JavaScriptCore/dfg/DFGToFTLForOSREntryDeferredCompilationCallback.h</a></li>
<li><a href="#trunkSourceJavaScriptCoredfgDFGWorklistcpp">trunk/Source/JavaScriptCore/dfg/DFGWorklist.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoredfgDFGWorklisth">trunk/Source/JavaScriptCore/dfg/DFGWorklist.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreheapEdenGCActivityCallbackh">trunk/Source/JavaScriptCore/heap/EdenGCActivityCallback.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreheapFullGCActivityCallbackh">trunk/Source/JavaScriptCore/heap/FullGCActivityCallback.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreheapGCActivityCallbackh">trunk/Source/JavaScriptCore/heap/GCActivityCallback.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorInjectedScriptHosth">trunk/Source/JavaScriptCore/inspector/InjectedScriptHost.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorJavaScriptCallFrameh">trunk/Source/JavaScriptCore/inspector/JavaScriptCallFrame.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorScriptArgumentscpp">trunk/Source/JavaScriptCore/inspector/ScriptArguments.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorScriptArgumentsh">trunk/Source/JavaScriptCore/inspector/ScriptArguments.h</a></li>
<li><a href="#trunkSourceJavaScriptCorejitJITStubRoutineh">trunk/Source/JavaScriptCore/jit/JITStubRoutine.h</a></li>
<li><a href="#trunkSourceJavaScriptCorejitJITToDFGDeferredCompilationCallbackcpp">trunk/Source/JavaScriptCore/jit/JITToDFGDeferredCompilationCallback.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCorejitJITToDFGDeferredCompilationCallbackh">trunk/Source/JavaScriptCore/jit/JITToDFGDeferredCompilationCallback.h</a></li>
<li><a href="#trunkSourceJavaScriptCorejsccpp">trunk/Source/JavaScriptCore/jsc.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreparserNodeConstructorsh">trunk/Source/JavaScriptCore/parser/NodeConstructors.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreparserNodescpp">trunk/Source/JavaScriptCore/parser/Nodes.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreparserNodesh">trunk/Source/JavaScriptCore/parser/Nodes.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreparserSourceProviderh">trunk/Source/JavaScriptCore/parser/SourceProvider.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreprofilerProfilecpp">trunk/Source/JavaScriptCore/profiler/Profile.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreprofilerProfileh">trunk/Source/JavaScriptCore/profiler/Profile.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreprofilerProfileGeneratorcpp">trunk/Source/JavaScriptCore/profiler/ProfileGenerator.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreprofilerProfileGeneratorh">trunk/Source/JavaScriptCore/profiler/ProfileGenerator.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreprofilerProfileNodeh">trunk/Source/JavaScriptCore/profiler/ProfileNode.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeDataViewcpp">trunk/Source/JavaScriptCore/runtime/DataView.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeDataViewh">trunk/Source/JavaScriptCore/runtime/DataView.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeDateInstanceCacheh">trunk/Source/JavaScriptCore/runtime/DateInstanceCache.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSPromiseReactioncpp">trunk/Source/JavaScriptCore/runtime/JSPromiseReaction.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSPromiseReactionh">trunk/Source/JavaScriptCore/runtime/JSPromiseReaction.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimePropertyNameArrayh">trunk/Source/JavaScriptCore/runtime/PropertyNameArray.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeTypeSeth">trunk/Source/JavaScriptCore/runtime/TypeSet.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeTypedArrayBaseh">trunk/Source/JavaScriptCore/runtime/TypedArrayBase.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeVMcpp">trunk/Source/JavaScriptCore/runtime/VM.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeVMh">trunk/Source/JavaScriptCore/runtime/VM.h</a></li>
<li><a href="#trunkSourceJavaScriptCoretestRegExpcpp">trunk/Source/JavaScriptCore/testRegExp.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreyarrRegularExpressioncpp">trunk/Source/JavaScriptCore/yarr/RegularExpression.cpp</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSDOMWindowBasecpp">trunk/Source/WebCore/bindings/js/JSDOMWindowBase.cpp</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceJavaScriptCoreAPIJSClassRefcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/API/JSClassRef.cpp (185345 => 185346)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/API/JSClassRef.cpp        2015-06-09 00:47:25 UTC (rev 185345)
+++ trunk/Source/JavaScriptCore/API/JSClassRef.cpp        2015-06-09 02:17:48 UTC (rev 185346)
</span><span class="lines">@@ -108,9 +108,9 @@
</span><span class="cx">         JSClassRelease(prototypeClass);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;OpaqueJSClass&gt; OpaqueJSClass::createNoAutomaticPrototype(const JSClassDefinition* definition)
</del><ins>+Ref&lt;OpaqueJSClass&gt; OpaqueJSClass::createNoAutomaticPrototype(const JSClassDefinition* definition)
</ins><span class="cx"> {
</span><del>-    return adoptRef(new OpaqueJSClass(definition, 0));
</del><ins>+    return adoptRef(*new OpaqueJSClass(definition, 0));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> PassRefPtr&lt;OpaqueJSClass&gt; OpaqueJSClass::create(const JSClassDefinition* clientDefinition)
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreAPIJSClassRefh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/API/JSClassRef.h (185345 => 185346)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/API/JSClassRef.h        2015-06-09 00:47:25 UTC (rev 185345)
+++ trunk/Source/JavaScriptCore/API/JSClassRef.h        2015-06-09 02:17:48 UTC (rev 185346)
</span><span class="lines">@@ -86,7 +86,7 @@
</span><span class="cx"> 
</span><span class="cx"> struct OpaqueJSClass : public ThreadSafeRefCounted&lt;OpaqueJSClass&gt; {
</span><span class="cx">     static PassRefPtr&lt;OpaqueJSClass&gt; create(const JSClassDefinition*);
</span><del>-    static PassRefPtr&lt;OpaqueJSClass&gt; createNoAutomaticPrototype(const JSClassDefinition*);
</del><ins>+    static Ref&lt;OpaqueJSClass&gt; createNoAutomaticPrototype(const JSClassDefinition*);
</ins><span class="cx">     JS_EXPORT_PRIVATE ~OpaqueJSClass();
</span><span class="cx">     
</span><span class="cx">     String className();
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreAPIJSContextRefcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/API/JSContextRef.cpp (185345 => 185346)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/API/JSContextRef.cpp        2015-06-09 00:47:25 UTC (rev 185345)
+++ trunk/Source/JavaScriptCore/API/JSContextRef.cpp        2015-06-09 02:17:48 UTC (rev 185346)
</span><span class="lines">@@ -76,7 +76,7 @@
</span><span class="cx"> JSContextGroupRef JSContextGroupCreate()
</span><span class="cx"> {
</span><span class="cx">     initializeThreading();
</span><del>-    return toRef(VM::createContextGroup().leakRef());
</del><ins>+    return toRef(&amp;VM::createContextGroup().leakRef());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> JSContextGroupRef JSContextGroupRetain(JSContextGroupRef group)
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreAPIJSScriptRefcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/API/JSScriptRef.cpp (185345 => 185346)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/API/JSScriptRef.cpp        2015-06-09 00:47:25 UTC (rev 185345)
+++ trunk/Source/JavaScriptCore/API/JSScriptRef.cpp        2015-06-09 02:17:48 UTC (rev 185346)
</span><span class="lines">@@ -41,9 +41,9 @@
</span><span class="cx"> 
</span><span class="cx"> struct OpaqueJSScript : public SourceProvider {
</span><span class="cx"> public:
</span><del>-    static WTF::PassRefPtr&lt;OpaqueJSScript&gt; create(VM* vm, const String&amp; url, int startingLineNumber, const String&amp; source)
</del><ins>+    static WTF::RefPtr&lt;OpaqueJSScript&gt; create(VM* vm, const String&amp; url, int startingLineNumber, const String&amp; source)
</ins><span class="cx">     {
</span><del>-        return WTF::adoptRef(new OpaqueJSScript(vm, url, startingLineNumber, source));
</del><ins>+        return WTF::adoptRef(*new OpaqueJSScript(vm, url, startingLineNumber, source));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     virtual const String&amp; source() const override
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreAPIJSStringRefcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/API/JSStringRef.cpp (185345 => 185346)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/API/JSStringRef.cpp        2015-06-09 00:47:25 UTC (rev 185345)
+++ trunk/Source/JavaScriptCore/API/JSStringRef.cpp        2015-06-09 02:17:48 UTC (rev 185346)
</span><span class="lines">@@ -37,7 +37,7 @@
</span><span class="cx"> JSStringRef JSStringCreateWithCharacters(const JSChar* chars, size_t numChars)
</span><span class="cx"> {
</span><span class="cx">     initializeThreading();
</span><del>-    return OpaqueJSString::create(chars, numChars).leakRef();
</del><ins>+    return &amp;OpaqueJSString::create(chars, numChars).leakRef();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> JSStringRef JSStringCreateWithUTF8CString(const char* string)
</span><span class="lines">@@ -51,12 +51,12 @@
</span><span class="cx">         const LChar* stringStart = reinterpret_cast&lt;const LChar*&gt;(string);
</span><span class="cx">         if (conversionOK == convertUTF8ToUTF16(&amp;string, string + length, &amp;p, p + length, &amp;sourceIsAllASCII)) {
</span><span class="cx">             if (sourceIsAllASCII)
</span><del>-                return OpaqueJSString::create(stringStart, length).leakRef();
-            return OpaqueJSString::create(buffer.data(), p - buffer.data()).leakRef();
</del><ins>+                return &amp;OpaqueJSString::create(stringStart, length).leakRef();
+            return &amp;OpaqueJSString::create(buffer.data(), p - buffer.data()).leakRef();
</ins><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    return OpaqueJSString::create().leakRef();
</del><ins>+    return &amp;OpaqueJSString::create().leakRef();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> JSStringRef JSStringCreateWithCharactersNoCopy(const JSChar* chars, size_t numChars)
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreAPIJSStringRefCFcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/API/JSStringRefCF.cpp (185345 => 185346)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/API/JSStringRefCF.cpp        2015-06-09 00:47:25 UTC (rev 185345)
+++ trunk/Source/JavaScriptCore/API/JSStringRefCF.cpp        2015-06-09 02:17:48 UTC (rev 185346)
</span><span class="lines">@@ -41,18 +41,18 @@
</span><span class="cx">     // it can hold.  (&lt;rdar://problem/6806478&gt;)
</span><span class="cx">     size_t length = CFStringGetLength(string);
</span><span class="cx">     if (!length)
</span><del>-        return OpaqueJSString::create(reinterpret_cast&lt;const LChar*&gt;(&quot;&quot;), 0).leakRef();
</del><ins>+        return &amp;OpaqueJSString::create(reinterpret_cast&lt;const LChar*&gt;(&quot;&quot;), 0).leakRef();
</ins><span class="cx"> 
</span><span class="cx">     Vector&lt;LChar, 1024&gt; lcharBuffer(length);
</span><span class="cx">     CFIndex usedBufferLength;
</span><span class="cx">     CFIndex convertedSize = CFStringGetBytes(string, CFRangeMake(0, length), kCFStringEncodingISOLatin1, 0, false, lcharBuffer.data(), length, &amp;usedBufferLength);
</span><span class="cx">     if (static_cast&lt;size_t&gt;(convertedSize) == length &amp;&amp; static_cast&lt;size_t&gt;(usedBufferLength) == length)
</span><del>-        return OpaqueJSString::create(lcharBuffer.data(), length).leakRef();
</del><ins>+        return &amp;OpaqueJSString::create(lcharBuffer.data(), length).leakRef();
</ins><span class="cx"> 
</span><span class="cx">     auto buffer = std::make_unique&lt;UniChar[]&gt;(length);
</span><span class="cx">     CFStringGetCharacters(string, CFRangeMake(0, length), buffer.get());
</span><span class="cx">     static_assert(sizeof(UniChar) == sizeof(UChar), &quot;UniChar and UChar must be same size&quot;);
</span><del>-    return OpaqueJSString::create(reinterpret_cast&lt;UChar*&gt;(buffer.get()), length).leakRef();
</del><ins>+    return &amp;OpaqueJSString::create(reinterpret_cast&lt;UChar*&gt;(buffer.get()), length).leakRef();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> CFStringRef JSStringCopyCFString(CFAllocatorRef allocator, JSStringRef string)
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreAPIOpaqueJSStringcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/API/OpaqueJSString.cpp (185345 => 185346)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/API/OpaqueJSString.cpp        2015-06-09 00:47:25 UTC (rev 185345)
+++ trunk/Source/JavaScriptCore/API/OpaqueJSString.cpp        2015-06-09 02:17:48 UTC (rev 185346)
</span><span class="lines">@@ -34,7 +34,7 @@
</span><span class="cx"> 
</span><span class="cx"> using namespace JSC;
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;OpaqueJSString&gt; OpaqueJSString::create(const String&amp; string)
</del><ins>+RefPtr&lt;OpaqueJSString&gt; OpaqueJSString::create(const String&amp; string)
</ins><span class="cx"> {
</span><span class="cx">     if (string.isNull())
</span><span class="cx">         return nullptr;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreAPIOpaqueJSStringh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/API/OpaqueJSString.h (185345 => 185346)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/API/OpaqueJSString.h        2015-06-09 00:47:25 UTC (rev 185345)
+++ trunk/Source/JavaScriptCore/API/OpaqueJSString.h        2015-06-09 02:17:48 UTC (rev 185346)
</span><span class="lines">@@ -36,22 +36,22 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> struct OpaqueJSString : public ThreadSafeRefCounted&lt;OpaqueJSString&gt; {
</span><del>-    static PassRefPtr&lt;OpaqueJSString&gt; create()
</del><ins>+    static Ref&lt;OpaqueJSString&gt; create()
</ins><span class="cx">     {
</span><del>-        return adoptRef(new OpaqueJSString);
</del><ins>+        return adoptRef(*new OpaqueJSString);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    static PassRefPtr&lt;OpaqueJSString&gt; create(const LChar* characters, unsigned length)
</del><ins>+    static Ref&lt;OpaqueJSString&gt; create(const LChar* characters, unsigned length)
</ins><span class="cx">     {
</span><del>-        return adoptRef(new OpaqueJSString(characters, length));
</del><ins>+        return adoptRef(*new OpaqueJSString(characters, length));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    static PassRefPtr&lt;OpaqueJSString&gt; create(const UChar* characters, unsigned length)
</del><ins>+    static Ref&lt;OpaqueJSString&gt; create(const UChar* characters, unsigned length)
</ins><span class="cx">     {
</span><del>-        return adoptRef(new OpaqueJSString(characters, length));
</del><ins>+        return adoptRef(*new OpaqueJSString(characters, length));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    JS_EXPORT_PRIVATE static PassRefPtr&lt;OpaqueJSString&gt; create(const String&amp;);
</del><ins>+    JS_EXPORT_PRIVATE static RefPtr&lt;OpaqueJSString&gt; create(const String&amp;);
</ins><span class="cx"> 
</span><span class="cx">     JS_EXPORT_PRIVATE ~OpaqueJSString();
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/ChangeLog (185345 => 185346)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/ChangeLog        2015-06-09 00:47:25 UTC (rev 185345)
+++ trunk/Source/JavaScriptCore/ChangeLog        2015-06-09 02:17:48 UTC (rev 185346)
</span><span class="lines">@@ -1,3 +1,101 @@
</span><ins>+2015-06-08  Gyuyoung Kim  &lt;gyuyoung.kim@webkit.org&gt;
+
+        Purge PassRefPtr in JavaScriptCore
+        https://bugs.webkit.org/show_bug.cgi?id=145750
+
+        As a step to purge PassRefPtr, this patch replaces PassRefPtr with Ref or RefPtr.
+
+        Reviewed by Darin Adler.
+
+        * API/JSClassRef.cpp:
+        (OpaqueJSClass::createNoAutomaticPrototype):
+        * API/JSClassRef.h:
+        * API/JSContextRef.cpp:
+        * API/JSScriptRef.cpp:
+        (OpaqueJSScript::create):
+        * API/JSStringRef.cpp:
+        (JSStringCreateWithCharacters):
+        (JSStringCreateWithUTF8CString):
+        * API/OpaqueJSString.cpp:
+        (OpaqueJSString::create):
+        * API/OpaqueJSString.h:
+        (OpaqueJSString::create):
+        * bytecompiler/StaticPropertyAnalysis.h:
+        (JSC::StaticPropertyAnalysis::create):
+        * debugger/DebuggerCallFrame.h:
+        (JSC::DebuggerCallFrame::create):
+        * dfg/DFGToFTLDeferredCompilationCallback.cpp:
+        (JSC::DFG::ToFTLDeferredCompilationCallback::create):
+        * dfg/DFGToFTLDeferredCompilationCallback.h:
+        * dfg/DFGToFTLForOSREntryDeferredCompilationCallback.cpp:
+        (JSC::DFG::Ref&lt;ToFTLForOSREntryDeferredCompilationCallback&gt;ToFTLForOSREntryDeferredCompilationCallback::create):
+        (JSC::DFG::ToFTLForOSREntryDeferredCompilationCallback::create): Deleted.
+        * dfg/DFGToFTLForOSREntryDeferredCompilationCallback.h:
+        * dfg/DFGWorklist.cpp:
+        (JSC::DFG::Worklist::create):
+        (JSC::DFG::ensureGlobalDFGWorklist):
+        (JSC::DFG::ensureGlobalFTLWorklist):
+        * dfg/DFGWorklist.h:
+        * heap/EdenGCActivityCallback.h:
+        (JSC::GCActivityCallback::createEdenTimer):
+        * heap/FullGCActivityCallback.h:
+        (JSC::GCActivityCallback::createFullTimer):
+        * heap/GCActivityCallback.h:
+        * inspector/InjectedScriptHost.h:
+        * inspector/JavaScriptCallFrame.h:
+        (Inspector::JavaScriptCallFrame::create):
+        * inspector/ScriptArguments.cpp:
+        (Inspector::ScriptArguments::create):
+        * inspector/ScriptArguments.h:
+        * jit/JITStubRoutine.h:
+        (JSC::JITStubRoutine::createSelfManagedRoutine):
+        * jit/JITToDFGDeferredCompilationCallback.cpp:
+        (JSC::JITToDFGDeferredCompilationCallback::create):
+        * jit/JITToDFGDeferredCompilationCallback.h:
+        * jsc.cpp:
+        (jscmain):
+        * parser/NodeConstructors.h:
+        (JSC::ArrayPatternNode::create):
+        (JSC::ObjectPatternNode::create):
+        (JSC::BindingNode::create):
+        * parser/Nodes.cpp:
+        (JSC::FunctionParameters::create):
+        * parser/Nodes.h:
+        * parser/SourceProvider.h:
+        (JSC::StringSourceProvider::create):
+        * profiler/Profile.cpp:
+        (JSC::Profile::create):
+        * profiler/Profile.h:
+        * profiler/ProfileGenerator.cpp:
+        (JSC::ProfileGenerator::create):
+        * profiler/ProfileGenerator.h:
+        * profiler/ProfileNode.h:
+        (JSC::ProfileNode::create):
+        * runtime/DataView.cpp:
+        (JSC::DataView::create):
+        * runtime/DataView.h:
+        * runtime/DateInstanceCache.h:
+        (JSC::DateInstanceData::create):
+        * runtime/JSPromiseReaction.cpp:
+        (JSC::createExecutePromiseReactionMicrotask):
+        * runtime/JSPromiseReaction.h:
+        * runtime/PropertyNameArray.h:
+        (JSC::PropertyNameArrayData::create):
+        * runtime/TypeSet.h:
+        (JSC::StructureShape::create):
+        (JSC::TypeSet::create):
+        * runtime/TypedArrayBase.h:
+        (JSC::TypedArrayBase::create):
+        (JSC::TypedArrayBase::createUninitialized):
+        (JSC::TypedArrayBase::subarrayImpl):
+        * runtime/VM.cpp:
+        (JSC::VM::createContextGroup):
+        (JSC::VM::create):
+        (JSC::VM::createLeaked):
+        * runtime/VM.h:
+        * yarr/RegularExpression.cpp:
+        (JSC::Yarr::RegularExpression::Private::create):
+
</ins><span class="cx"> 2015-06-08  Filip Pizlo  &lt;fpizlo@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         It should be possible to hoist all constants in DFG SSA
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorebytecompilerStaticPropertyAnalysish"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/bytecompiler/StaticPropertyAnalysis.h (185345 => 185346)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/bytecompiler/StaticPropertyAnalysis.h        2015-06-09 00:47:25 UTC (rev 185345)
+++ trunk/Source/JavaScriptCore/bytecompiler/StaticPropertyAnalysis.h        2015-06-09 02:17:48 UTC (rev 185346)
</span><span class="lines">@@ -35,9 +35,9 @@
</span><span class="cx"> // Reference count indicates number of live registers that alias this object.
</span><span class="cx"> class StaticPropertyAnalysis : public RefCounted&lt;StaticPropertyAnalysis&gt; {
</span><span class="cx"> public:
</span><del>-    static PassRefPtr&lt;StaticPropertyAnalysis&gt; create(Vector&lt;UnlinkedInstruction, 0, UnsafeVectorOverflow&gt;* instructions, unsigned target)
</del><ins>+    static Ref&lt;StaticPropertyAnalysis&gt; create(Vector&lt;UnlinkedInstruction, 0, UnsafeVectorOverflow&gt;* instructions, unsigned target)
</ins><span class="cx">     {
</span><del>-        return adoptRef(new StaticPropertyAnalysis(instructions, target)); 
</del><ins>+        return adoptRef(*new StaticPropertyAnalysis(instructions, target)); 
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     void addPropertyIndex(unsigned propertyIndex) { m_propertyIndexes.add(propertyIndex); }
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoredebuggerDebuggerCallFrameh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/debugger/DebuggerCallFrame.h (185345 => 185346)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/debugger/DebuggerCallFrame.h        2015-06-09 00:47:25 UTC (rev 185345)
+++ trunk/Source/JavaScriptCore/debugger/DebuggerCallFrame.h        2015-06-09 02:17:48 UTC (rev 185346)
</span><span class="lines">@@ -46,9 +46,9 @@
</span><span class="cx"> public:
</span><span class="cx">     enum Type { ProgramType, FunctionType };
</span><span class="cx"> 
</span><del>-    static PassRefPtr&lt;DebuggerCallFrame&gt; create(CallFrame* callFrame)
</del><ins>+    static Ref&lt;DebuggerCallFrame&gt; create(CallFrame* callFrame)
</ins><span class="cx">     {
</span><del>-        return adoptRef(new DebuggerCallFrame(callFrame));
</del><ins>+        return adoptRef(*new DebuggerCallFrame(callFrame));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     JS_EXPORT_PRIVATE explicit DebuggerCallFrame(CallFrame*);
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoredfgDFGToFTLDeferredCompilationCallbackcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/dfg/DFGToFTLDeferredCompilationCallback.cpp (185345 => 185346)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/dfg/DFGToFTLDeferredCompilationCallback.cpp        2015-06-09 00:47:25 UTC (rev 185345)
+++ trunk/Source/JavaScriptCore/dfg/DFGToFTLDeferredCompilationCallback.cpp        2015-06-09 02:17:48 UTC (rev 185346)
</span><span class="lines">@@ -43,10 +43,9 @@
</span><span class="cx"> 
</span><span class="cx"> ToFTLDeferredCompilationCallback::~ToFTLDeferredCompilationCallback() { }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;ToFTLDeferredCompilationCallback&gt; ToFTLDeferredCompilationCallback::create(
-    PassRefPtr&lt;CodeBlock&gt; dfgCodeBlock)
</del><ins>+Ref&lt;ToFTLDeferredCompilationCallback&gt; ToFTLDeferredCompilationCallback::create(PassRefPtr&lt;CodeBlock&gt; dfgCodeBlock)
</ins><span class="cx"> {
</span><del>-    return adoptRef(new ToFTLDeferredCompilationCallback(dfgCodeBlock));
</del><ins>+    return adoptRef(*new ToFTLDeferredCompilationCallback(dfgCodeBlock));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void ToFTLDeferredCompilationCallback::compilationDidBecomeReadyAsynchronously(
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoredfgDFGToFTLDeferredCompilationCallbackh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/dfg/DFGToFTLDeferredCompilationCallback.h (185345 => 185346)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/dfg/DFGToFTLDeferredCompilationCallback.h        2015-06-09 00:47:25 UTC (rev 185345)
+++ trunk/Source/JavaScriptCore/dfg/DFGToFTLDeferredCompilationCallback.h        2015-06-09 02:17:48 UTC (rev 185346)
</span><span class="lines">@@ -45,8 +45,7 @@
</span><span class="cx"> public:
</span><span class="cx">     virtual ~ToFTLDeferredCompilationCallback();
</span><span class="cx"> 
</span><del>-    static PassRefPtr&lt;ToFTLDeferredCompilationCallback&gt; create(
-        PassRefPtr&lt;CodeBlock&gt; dfgCodeBlock);
</del><ins>+    static Ref&lt;ToFTLDeferredCompilationCallback&gt; create(PassRefPtr&lt;CodeBlock&gt; dfgCodeBlock);
</ins><span class="cx">     
</span><span class="cx">     virtual void compilationDidBecomeReadyAsynchronously(CodeBlock*);
</span><span class="cx">     virtual void compilationDidComplete(CodeBlock*, CompilationResult);
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoredfgDFGToFTLForOSREntryDeferredCompilationCallbackcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/dfg/DFGToFTLForOSREntryDeferredCompilationCallback.cpp (185345 => 185346)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/dfg/DFGToFTLForOSREntryDeferredCompilationCallback.cpp        2015-06-09 00:47:25 UTC (rev 185345)
+++ trunk/Source/JavaScriptCore/dfg/DFGToFTLForOSREntryDeferredCompilationCallback.cpp        2015-06-09 02:17:48 UTC (rev 185346)
</span><span class="lines">@@ -45,11 +45,10 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;ToFTLForOSREntryDeferredCompilationCallback&gt;
-ToFTLForOSREntryDeferredCompilationCallback::create(
</del><ins>+Ref&lt;ToFTLForOSREntryDeferredCompilationCallback&gt;ToFTLForOSREntryDeferredCompilationCallback::create(
</ins><span class="cx">     PassRefPtr&lt;CodeBlock&gt; dfgCodeBlock)
</span><span class="cx"> {
</span><del>-    return adoptRef(new ToFTLForOSREntryDeferredCompilationCallback(dfgCodeBlock));
</del><ins>+    return adoptRef(*new ToFTLForOSREntryDeferredCompilationCallback(dfgCodeBlock));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void ToFTLForOSREntryDeferredCompilationCallback::compilationDidBecomeReadyAsynchronously(
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoredfgDFGToFTLForOSREntryDeferredCompilationCallbackh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/dfg/DFGToFTLForOSREntryDeferredCompilationCallback.h (185345 => 185346)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/dfg/DFGToFTLForOSREntryDeferredCompilationCallback.h        2015-06-09 00:47:25 UTC (rev 185345)
+++ trunk/Source/JavaScriptCore/dfg/DFGToFTLForOSREntryDeferredCompilationCallback.h        2015-06-09 02:17:48 UTC (rev 185346)
</span><span class="lines">@@ -45,8 +45,7 @@
</span><span class="cx"> public:
</span><span class="cx">     virtual ~ToFTLForOSREntryDeferredCompilationCallback();
</span><span class="cx"> 
</span><del>-    static PassRefPtr&lt;ToFTLForOSREntryDeferredCompilationCallback&gt; create(
-        PassRefPtr&lt;CodeBlock&gt; dfgCodeBlock);
</del><ins>+    static Ref&lt;ToFTLForOSREntryDeferredCompilationCallback&gt; create(PassRefPtr&lt;CodeBlock&gt; dfgCodeBlock);
</ins><span class="cx">     
</span><span class="cx">     virtual void compilationDidBecomeReadyAsynchronously(CodeBlock*);
</span><span class="cx">     virtual void compilationDidComplete(CodeBlock*, CompilationResult);
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoredfgDFGWorklistcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/dfg/DFGWorklist.cpp (185345 => 185346)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/dfg/DFGWorklist.cpp        2015-06-09 00:47:25 UTC (rev 185345)
+++ trunk/Source/JavaScriptCore/dfg/DFGWorklist.cpp        2015-06-09 02:17:48 UTC (rev 185346)
</span><span class="lines">@@ -68,9 +68,9 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;Worklist&gt; Worklist::create(CString worklistName, unsigned numberOfThreads, int relativePriority)
</del><ins>+Ref&lt;Worklist&gt; Worklist::create(CString worklistName, unsigned numberOfThreads, int relativePriority)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;Worklist&gt; result = adoptRef(new Worklist(worklistName));
</del><ins>+    Ref&lt;Worklist&gt; result = adoptRef(*new Worklist(worklistName));
</ins><span class="cx">     result-&gt;finishCreation(numberOfThreads, relativePriority);
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="lines">@@ -406,7 +406,7 @@
</span><span class="cx"> {
</span><span class="cx">     static std::once_flag initializeGlobalWorklistOnceFlag;
</span><span class="cx">     std::call_once(initializeGlobalWorklistOnceFlag, [] {
</span><del>-        theGlobalDFGWorklist = Worklist::create(&quot;DFG Worklist&quot;, Options::numberOfDFGCompilerThreads(), Options::priorityDeltaOfDFGCompilerThreads()).leakRef();
</del><ins>+        theGlobalDFGWorklist = &amp;Worklist::create(&quot;DFG Worklist&quot;, Options::numberOfDFGCompilerThreads(), Options::priorityDeltaOfDFGCompilerThreads()).leakRef();
</ins><span class="cx">     });
</span><span class="cx">     return theGlobalDFGWorklist;
</span><span class="cx"> }
</span><span class="lines">@@ -422,7 +422,7 @@
</span><span class="cx"> {
</span><span class="cx">     static std::once_flag initializeGlobalWorklistOnceFlag;
</span><span class="cx">     std::call_once(initializeGlobalWorklistOnceFlag, [] {
</span><del>-        theGlobalFTLWorklist = Worklist::create(&quot;FTL Worklist&quot;, Options::numberOfFTLCompilerThreads(), Options::priorityDeltaOfFTLCompilerThreads()).leakRef();
</del><ins>+        theGlobalFTLWorklist = &amp;Worklist::create(&quot;FTL Worklist&quot;, Options::numberOfFTLCompilerThreads(), Options::priorityDeltaOfFTLCompilerThreads()).leakRef();
</ins><span class="cx">     });
</span><span class="cx">     return theGlobalFTLWorklist;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoredfgDFGWorklisth"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/dfg/DFGWorklist.h (185345 => 185346)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/dfg/DFGWorklist.h        2015-06-09 00:47:25 UTC (rev 185345)
+++ trunk/Source/JavaScriptCore/dfg/DFGWorklist.h        2015-06-09 02:17:48 UTC (rev 185346)
</span><span class="lines">@@ -48,7 +48,7 @@
</span><span class="cx"> 
</span><span class="cx">     ~Worklist();
</span><span class="cx">     
</span><del>-    static PassRefPtr&lt;Worklist&gt; create(CString worklistName, unsigned numberOfThreads, int relativePriority = 0);
</del><ins>+    static Ref&lt;Worklist&gt; create(CString worklistName, unsigned numberOfThreads, int relativePriority = 0);
</ins><span class="cx">     
</span><span class="cx">     void enqueue(PassRefPtr&lt;Plan&gt;);
</span><span class="cx">     
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreheapEdenGCActivityCallbackh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/heap/EdenGCActivityCallback.h (185345 => 185346)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/heap/EdenGCActivityCallback.h        2015-06-09 00:47:25 UTC (rev 185345)
+++ trunk/Source/JavaScriptCore/heap/EdenGCActivityCallback.h        2015-06-09 02:17:48 UTC (rev 185346)
</span><span class="lines">@@ -49,7 +49,7 @@
</span><span class="cx">     virtual double deathRate() override;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-inline PassRefPtr&lt;GCActivityCallback&gt; GCActivityCallback::createEdenTimer(Heap* heap)
</del><ins>+inline RefPtr&lt;GCActivityCallback&gt; GCActivityCallback::createEdenTimer(Heap* heap)
</ins><span class="cx"> {
</span><span class="cx">     return s_shouldCreateGCTimer ? adoptRef(new EdenGCActivityCallback(heap)) : nullptr;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreheapFullGCActivityCallbackh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/heap/FullGCActivityCallback.h (185345 => 185346)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/heap/FullGCActivityCallback.h        2015-06-09 00:47:25 UTC (rev 185345)
+++ trunk/Source/JavaScriptCore/heap/FullGCActivityCallback.h        2015-06-09 02:17:48 UTC (rev 185346)
</span><span class="lines">@@ -49,7 +49,7 @@
</span><span class="cx">     virtual double deathRate() override;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-inline PassRefPtr&lt;GCActivityCallback&gt; GCActivityCallback::createFullTimer(Heap* heap)
</del><ins>+inline RefPtr&lt;GCActivityCallback&gt; GCActivityCallback::createFullTimer(Heap* heap)
</ins><span class="cx"> {
</span><span class="cx">     return s_shouldCreateGCTimer ? adoptRef(new FullGCActivityCallback(heap)) : nullptr;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreheapGCActivityCallbackh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/heap/GCActivityCallback.h (185345 => 185346)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/heap/GCActivityCallback.h        2015-06-09 00:47:25 UTC (rev 185345)
+++ trunk/Source/JavaScriptCore/heap/GCActivityCallback.h        2015-06-09 02:17:48 UTC (rev 185346)
</span><span class="lines">@@ -30,7 +30,7 @@
</span><span class="cx"> #define GCActivityCallback_h
</span><span class="cx"> 
</span><span class="cx"> #include &quot;HeapTimer.h&quot;
</span><del>-#include &lt;wtf/PassRefPtr.h&gt;
</del><ins>+#include &lt;wtf/RefPtr.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> #if USE(CF)
</span><span class="cx"> #include &lt;CoreFoundation/CoreFoundation.h&gt;
</span><span class="lines">@@ -43,8 +43,8 @@
</span><span class="cx"> class JS_EXPORT_PRIVATE GCActivityCallback : public HeapTimer, public ThreadSafeRefCounted&lt;GCActivityCallback&gt; {
</span><span class="cx">     WTF_MAKE_FAST_ALLOCATED;
</span><span class="cx"> public:
</span><del>-    static PassRefPtr&lt;GCActivityCallback&gt; createFullTimer(Heap*);
-    static PassRefPtr&lt;GCActivityCallback&gt; createEdenTimer(Heap*);
</del><ins>+    static RefPtr&lt;GCActivityCallback&gt; createFullTimer(Heap*);
+    static RefPtr&lt;GCActivityCallback&gt; createEdenTimer(Heap*);
</ins><span class="cx"> 
</span><span class="cx">     GCActivityCallback(Heap*);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorInjectedScriptHosth"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/InjectedScriptHost.h (185345 => 185346)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/InjectedScriptHost.h        2015-06-09 00:47:25 UTC (rev 185345)
+++ trunk/Source/JavaScriptCore/inspector/InjectedScriptHost.h        2015-06-09 02:17:48 UTC (rev 185346)
</span><span class="lines">@@ -36,7 +36,7 @@
</span><span class="cx"> 
</span><span class="cx"> class JS_EXPORT_PRIVATE InjectedScriptHost : public RefCounted&lt;InjectedScriptHost&gt; {
</span><span class="cx"> public:
</span><del>-    static PassRefPtr&lt;InjectedScriptHost&gt; create() { return adoptRef(new InjectedScriptHost); }
</del><ins>+    static Ref&lt;InjectedScriptHost&gt; create() { return adoptRef(*new InjectedScriptHost); }
</ins><span class="cx">     virtual ~InjectedScriptHost();
</span><span class="cx"> 
</span><span class="cx">     virtual JSC::JSValue subtype(JSC::ExecState*, JSC::JSValue) { return JSC::jsUndefined(); }
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorJavaScriptCallFrameh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/JavaScriptCallFrame.h (185345 => 185346)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/JavaScriptCallFrame.h        2015-06-09 00:47:25 UTC (rev 185345)
+++ trunk/Source/JavaScriptCore/inspector/JavaScriptCallFrame.h        2015-06-09 02:17:48 UTC (rev 185346)
</span><span class="lines">@@ -38,9 +38,9 @@
</span><span class="cx"> 
</span><span class="cx"> class JavaScriptCallFrame : public RefCounted&lt;JavaScriptCallFrame&gt; {
</span><span class="cx"> public:
</span><del>-    static PassRefPtr&lt;JavaScriptCallFrame&gt; create(PassRefPtr&lt;JSC::DebuggerCallFrame&gt; debuggerCallFrame)
</del><ins>+    static Ref&lt;JavaScriptCallFrame&gt; create(PassRefPtr&lt;JSC::DebuggerCallFrame&gt; debuggerCallFrame)
</ins><span class="cx">     {
</span><del>-        return adoptRef(new JavaScriptCallFrame(debuggerCallFrame));
</del><ins>+        return adoptRef(*new JavaScriptCallFrame(debuggerCallFrame));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     JavaScriptCallFrame* caller();
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorScriptArgumentscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/ScriptArguments.cpp (185345 => 185346)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/ScriptArguments.cpp        2015-06-09 00:47:25 UTC (rev 185345)
+++ trunk/Source/JavaScriptCore/inspector/ScriptArguments.cpp        2015-06-09 02:17:48 UTC (rev 185346)
</span><span class="lines">@@ -37,9 +37,9 @@
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;ScriptArguments&gt; ScriptArguments::create(JSC::ExecState* scriptState, Vector&lt;Deprecated::ScriptValue&gt;&amp; arguments)
</del><ins>+Ref&lt;ScriptArguments&gt; ScriptArguments::create(JSC::ExecState* scriptState, Vector&lt;Deprecated::ScriptValue&gt;&amp; arguments)
</ins><span class="cx"> {
</span><del>-    return adoptRef(new ScriptArguments(scriptState, arguments));
</del><ins>+    return adoptRef(*new ScriptArguments(scriptState, arguments));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> ScriptArguments::ScriptArguments(JSC::ExecState* execState, Vector&lt;Deprecated::ScriptValue&gt;&amp; arguments)
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorScriptArgumentsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/ScriptArguments.h (185345 => 185346)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/ScriptArguments.h        2015-06-09 00:47:25 UTC (rev 185345)
+++ trunk/Source/JavaScriptCore/inspector/ScriptArguments.h        2015-06-09 02:17:48 UTC (rev 185346)
</span><span class="lines">@@ -51,7 +51,7 @@
</span><span class="cx"> 
</span><span class="cx"> class JS_EXPORT_PRIVATE ScriptArguments : public RefCounted&lt;ScriptArguments&gt; {
</span><span class="cx"> public:
</span><del>-    static PassRefPtr&lt;ScriptArguments&gt; create(JSC::ExecState*, Vector&lt;Deprecated::ScriptValue&gt;&amp; arguments);
</del><ins>+    static Ref&lt;ScriptArguments&gt; create(JSC::ExecState*, Vector&lt;Deprecated::ScriptValue&gt;&amp; arguments);
</ins><span class="cx">     ~ScriptArguments();
</span><span class="cx"> 
</span><span class="cx">     const Deprecated::ScriptValue&amp; argumentAt(size_t) const;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorejitJITStubRoutineh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/jit/JITStubRoutine.h (185345 => 185346)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/jit/JITStubRoutine.h        2015-06-09 00:47:25 UTC (rev 185345)
+++ trunk/Source/JavaScriptCore/jit/JITStubRoutine.h        2015-06-09 02:17:48 UTC (rev 185346)
</span><span class="lines">@@ -60,10 +60,10 @@
</span><span class="cx">     
</span><span class="cx">     // Use this if you want to pass a CodePtr to someone who insists on taking
</span><span class="cx">     // a RefPtr&lt;JITStubRoutine&gt;.
</span><del>-    static PassRefPtr&lt;JITStubRoutine&gt; createSelfManagedRoutine(
</del><ins>+    static Ref&lt;JITStubRoutine&gt; createSelfManagedRoutine(
</ins><span class="cx">         MacroAssemblerCodePtr rawCodePointer)
</span><span class="cx">     {
</span><del>-        return adoptRef(new JITStubRoutine(MacroAssemblerCodeRef::createSelfManagedCodeRef(rawCodePointer)));
</del><ins>+        return adoptRef(*new JITStubRoutine(MacroAssemblerCodeRef::createSelfManagedCodeRef(rawCodePointer)));
</ins><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     virtual ~JITStubRoutine();
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorejitJITToDFGDeferredCompilationCallbackcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/jit/JITToDFGDeferredCompilationCallback.cpp (185345 => 185346)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/jit/JITToDFGDeferredCompilationCallback.cpp        2015-06-09 00:47:25 UTC (rev 185345)
+++ trunk/Source/JavaScriptCore/jit/JITToDFGDeferredCompilationCallback.cpp        2015-06-09 02:17:48 UTC (rev 185346)
</span><span class="lines">@@ -37,9 +37,9 @@
</span><span class="cx"> JITToDFGDeferredCompilationCallback::JITToDFGDeferredCompilationCallback() { }
</span><span class="cx"> JITToDFGDeferredCompilationCallback::~JITToDFGDeferredCompilationCallback() { }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;JITToDFGDeferredCompilationCallback&gt; JITToDFGDeferredCompilationCallback::create()
</del><ins>+Ref&lt;JITToDFGDeferredCompilationCallback&gt; JITToDFGDeferredCompilationCallback::create()
</ins><span class="cx"> {
</span><del>-    return adoptRef(new JITToDFGDeferredCompilationCallback());
</del><ins>+    return adoptRef(*new JITToDFGDeferredCompilationCallback());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void JITToDFGDeferredCompilationCallback::compilationDidBecomeReadyAsynchronously(
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorejitJITToDFGDeferredCompilationCallbackh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/jit/JITToDFGDeferredCompilationCallback.h (185345 => 185346)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/jit/JITToDFGDeferredCompilationCallback.h        2015-06-09 00:47:25 UTC (rev 185345)
+++ trunk/Source/JavaScriptCore/jit/JITToDFGDeferredCompilationCallback.h        2015-06-09 02:17:48 UTC (rev 185346)
</span><span class="lines">@@ -42,7 +42,7 @@
</span><span class="cx"> public:
</span><span class="cx">     virtual ~JITToDFGDeferredCompilationCallback();
</span><span class="cx"> 
</span><del>-    static PassRefPtr&lt;JITToDFGDeferredCompilationCallback&gt; create();
</del><ins>+    static Ref&lt;JITToDFGDeferredCompilationCallback&gt; create();
</ins><span class="cx">     
</span><span class="cx">     virtual void compilationDidBecomeReadyAsynchronously(CodeBlock*) override;
</span><span class="cx">     virtual void compilationDidComplete(CodeBlock*, CompilationResult) override;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorejsccpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/jsc.cpp (185345 => 185346)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/jsc.cpp        2015-06-09 00:47:25 UTC (rev 185345)
+++ trunk/Source/JavaScriptCore/jsc.cpp        2015-06-09 02:17:48 UTC (rev 185346)
</span><span class="lines">@@ -1504,7 +1504,7 @@
</span><span class="cx">     // Note that the options parsing can affect VM creation, and thus
</span><span class="cx">     // comes first.
</span><span class="cx">     CommandLine options(argc, argv);
</span><del>-    VM* vm = VM::create(LargeHeap).leakRef();
</del><ins>+    VM* vm = &amp;VM::create(LargeHeap).leakRef();
</ins><span class="cx">     int result;
</span><span class="cx">     {
</span><span class="cx">         JSLockHolder locker(vm);
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreparserNodeConstructorsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/parser/NodeConstructors.h (185345 => 185346)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/parser/NodeConstructors.h        2015-06-09 00:47:25 UTC (rev 185345)
+++ trunk/Source/JavaScriptCore/parser/NodeConstructors.h        2015-06-09 02:17:48 UTC (rev 185346)
</span><span class="lines">@@ -943,9 +943,9 @@
</span><span class="cx">     {
</span><span class="cx">     }
</span><span class="cx">     
</span><del>-    inline PassRefPtr&lt;ArrayPatternNode&gt; ArrayPatternNode::create()
</del><ins>+    inline Ref&lt;ArrayPatternNode&gt; ArrayPatternNode::create()
</ins><span class="cx">     {
</span><del>-        return adoptRef(new ArrayPatternNode);
</del><ins>+        return adoptRef(*new ArrayPatternNode);
</ins><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     inline ObjectPatternNode::ObjectPatternNode()
</span><span class="lines">@@ -953,14 +953,14 @@
</span><span class="cx">     {
</span><span class="cx">     }
</span><span class="cx">     
</span><del>-    inline PassRefPtr&lt;ObjectPatternNode&gt; ObjectPatternNode::create()
</del><ins>+    inline Ref&lt;ObjectPatternNode&gt; ObjectPatternNode::create()
</ins><span class="cx">     {
</span><del>-        return adoptRef(new ObjectPatternNode);
</del><ins>+        return adoptRef(*new ObjectPatternNode);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    inline PassRefPtr&lt;BindingNode&gt; BindingNode::create(const Identifier&amp; boundProperty, const JSTextPosition&amp; start, const JSTextPosition&amp; end)
</del><ins>+    inline Ref&lt;BindingNode&gt; BindingNode::create(const Identifier&amp; boundProperty, const JSTextPosition&amp; start, const JSTextPosition&amp; end)
</ins><span class="cx">     {
</span><del>-        return adoptRef(new BindingNode(boundProperty, start, end));
</del><ins>+        return adoptRef(*new BindingNode(boundProperty, start, end));
</ins><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     inline BindingNode::BindingNode(const Identifier&amp; boundProperty, const JSTextPosition&amp; start, const JSTextPosition&amp; end)
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreparserNodescpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/parser/Nodes.cpp (185345 => 185346)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/parser/Nodes.cpp        2015-06-09 00:47:25 UTC (rev 185345)
+++ trunk/Source/JavaScriptCore/parser/Nodes.cpp        2015-06-09 02:17:48 UTC (rev 185346)
</span><span class="lines">@@ -139,7 +139,7 @@
</span><span class="cx"> 
</span><span class="cx"> // ------------------------------ FunctionBodyNode -----------------------------
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;FunctionParameters&gt; FunctionParameters::create(ParameterNode* firstParameter)
</del><ins>+Ref&lt;FunctionParameters&gt; FunctionParameters::create(ParameterNode* firstParameter)
</ins><span class="cx"> {
</span><span class="cx">     unsigned parameterCount = 0;
</span><span class="cx">     for (ParameterNode* parameter = firstParameter; parameter; parameter = parameter-&gt;nextParam())
</span><span class="lines">@@ -147,7 +147,7 @@
</span><span class="cx"> 
</span><span class="cx">     size_t objectSize = sizeof(FunctionParameters) - sizeof(void*) + sizeof(DeconstructionPatternNode*) * parameterCount;
</span><span class="cx">     void* slot = fastMalloc(objectSize);
</span><del>-    return adoptRef(new (slot) FunctionParameters(firstParameter, parameterCount));
</del><ins>+    return adoptRef(*new (slot) FunctionParameters(firstParameter, parameterCount));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> FunctionParameters::FunctionParameters(ParameterNode* firstParameter, unsigned size)
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreparserNodesh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/parser/Nodes.h (185345 => 185346)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/parser/Nodes.h        2015-06-09 00:47:25 UTC (rev 185345)
+++ trunk/Source/JavaScriptCore/parser/Nodes.h        2015-06-09 02:17:48 UTC (rev 185346)
</span><span class="lines">@@ -1634,7 +1634,7 @@
</span><span class="cx">         WTF_MAKE_FAST_ALLOCATED;
</span><span class="cx">         WTF_MAKE_NONCOPYABLE(FunctionParameters);
</span><span class="cx">     public:
</span><del>-        static PassRefPtr&lt;FunctionParameters&gt; create(ParameterNode*);
</del><ins>+        static Ref&lt;FunctionParameters&gt; create(ParameterNode*);
</ins><span class="cx">         ~FunctionParameters();
</span><span class="cx"> 
</span><span class="cx">         unsigned size() const { return m_size; }
</span><span class="lines">@@ -1782,7 +1782,7 @@
</span><span class="cx"> 
</span><span class="cx">     class ArrayPatternNode : public DeconstructionPatternNode {
</span><span class="cx">     public:
</span><del>-        static PassRefPtr&lt;ArrayPatternNode&gt; create();
</del><ins>+        static Ref&lt;ArrayPatternNode&gt; create();
</ins><span class="cx">         void appendIndex(const JSTokenLocation&amp;, DeconstructionPatternNode* node)
</span><span class="cx">         {
</span><span class="cx">             m_targetPatterns.append(node);
</span><span class="lines">@@ -1800,7 +1800,7 @@
</span><span class="cx">     
</span><span class="cx">     class ObjectPatternNode : public DeconstructionPatternNode {
</span><span class="cx">     public:
</span><del>-        static PassRefPtr&lt;ObjectPatternNode&gt; create();
</del><ins>+        static Ref&lt;ObjectPatternNode&gt; create();
</ins><span class="cx">         void appendEntry(const JSTokenLocation&amp;, const Identifier&amp; identifier, bool wasString, DeconstructionPatternNode* pattern)
</span><span class="cx">         {
</span><span class="cx">             m_targetPatterns.append(Entry(identifier, wasString, pattern));
</span><span class="lines">@@ -1827,7 +1827,7 @@
</span><span class="cx"> 
</span><span class="cx">     class BindingNode : public DeconstructionPatternNode {
</span><span class="cx">     public:
</span><del>-        static PassRefPtr&lt;BindingNode&gt; create(const Identifier&amp; boundProperty, const JSTextPosition&amp; start, const JSTextPosition&amp; end);
</del><ins>+        static Ref&lt;BindingNode&gt; create(const Identifier&amp; boundProperty, const JSTextPosition&amp; start, const JSTextPosition&amp; end);
</ins><span class="cx">         const Identifier&amp; boundProperty() const { return m_boundProperty; }
</span><span class="cx"> 
</span><span class="cx">         const JSTextPosition&amp; divotStart() const { return m_divotStart; }
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreparserSourceProviderh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/parser/SourceProvider.h (185345 => 185346)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/parser/SourceProvider.h        2015-06-09 00:47:25 UTC (rev 185345)
+++ trunk/Source/JavaScriptCore/parser/SourceProvider.h        2015-06-09 02:17:48 UTC (rev 185346)
</span><span class="lines">@@ -74,9 +74,9 @@
</span><span class="cx"> 
</span><span class="cx">     class StringSourceProvider : public SourceProvider {
</span><span class="cx">     public:
</span><del>-        static PassRefPtr&lt;StringSourceProvider&gt; create(const String&amp; source, const String&amp; url, const TextPosition&amp; startPosition = TextPosition::minimumPosition())
</del><ins>+        static Ref&lt;StringSourceProvider&gt; create(const String&amp; source, const String&amp; url, const TextPosition&amp; startPosition = TextPosition::minimumPosition())
</ins><span class="cx">         {
</span><del>-            return adoptRef(new StringSourceProvider(source, url, startPosition));
</del><ins>+            return adoptRef(*new StringSourceProvider(source, url, startPosition));
</ins><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         virtual const String&amp; source() const override
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreprofilerProfilecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/profiler/Profile.cpp (185345 => 185346)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/profiler/Profile.cpp        2015-06-09 00:47:25 UTC (rev 185345)
+++ trunk/Source/JavaScriptCore/profiler/Profile.cpp        2015-06-09 02:17:48 UTC (rev 185346)
</span><span class="lines">@@ -31,9 +31,9 @@
</span><span class="cx"> 
</span><span class="cx"> namespace JSC {
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;Profile&gt; Profile::create(const String&amp; title, unsigned uid, double startTime)
</del><ins>+Ref&lt;Profile&gt; Profile::create(const String&amp; title, unsigned uid, double startTime)
</ins><span class="cx"> {
</span><del>-    return adoptRef(new Profile(title, uid, startTime));
</del><ins>+    return adoptRef(*new Profile(title, uid, startTime));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> Profile::Profile(const String&amp; title, unsigned uid, double startTime)
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreprofilerProfileh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/profiler/Profile.h (185345 => 185346)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/profiler/Profile.h        2015-06-09 00:47:25 UTC (rev 185345)
+++ trunk/Source/JavaScriptCore/profiler/Profile.h        2015-06-09 02:17:48 UTC (rev 185346)
</span><span class="lines">@@ -35,7 +35,7 @@
</span><span class="cx"> 
</span><span class="cx"> class JS_EXPORT_PRIVATE Profile : public RefCounted&lt;Profile&gt; {
</span><span class="cx"> public:
</span><del>-    static PassRefPtr&lt;Profile&gt; create(const String&amp; title, unsigned uid, double);
</del><ins>+    static Ref&lt;Profile&gt; create(const String&amp; title, unsigned uid, double);
</ins><span class="cx">     virtual ~Profile();
</span><span class="cx"> 
</span><span class="cx">     const String&amp; title() const { return m_title; }
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreprofilerProfileGeneratorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/profiler/ProfileGenerator.cpp (185345 => 185346)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/profiler/ProfileGenerator.cpp        2015-06-09 00:47:25 UTC (rev 185345)
+++ trunk/Source/JavaScriptCore/profiler/ProfileGenerator.cpp        2015-06-09 02:17:48 UTC (rev 185346)
</span><span class="lines">@@ -39,9 +39,9 @@
</span><span class="cx"> 
</span><span class="cx"> namespace JSC {
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;ProfileGenerator&gt; ProfileGenerator::create(ExecState* exec, const String&amp; title, unsigned uid, PassRefPtr&lt;Stopwatch&gt; stopwatch)
</del><ins>+Ref&lt;ProfileGenerator&gt; ProfileGenerator::create(ExecState* exec, const String&amp; title, unsigned uid, PassRefPtr&lt;Stopwatch&gt; stopwatch)
</ins><span class="cx"> {
</span><del>-    return adoptRef(new ProfileGenerator(exec, title, uid, stopwatch));
</del><ins>+    return adoptRef(*new ProfileGenerator(exec, title, uid, stopwatch));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> ProfileGenerator::ProfileGenerator(ExecState* exec, const String&amp; title, unsigned uid, PassRefPtr&lt;Stopwatch&gt; stopwatch)
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreprofilerProfileGeneratorh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/profiler/ProfileGenerator.h (185345 => 185346)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/profiler/ProfileGenerator.h        2015-06-09 00:47:25 UTC (rev 185345)
+++ trunk/Source/JavaScriptCore/profiler/ProfileGenerator.h        2015-06-09 02:17:48 UTC (rev 185346)
</span><span class="lines">@@ -43,7 +43,7 @@
</span><span class="cx"> 
</span><span class="cx">     class ProfileGenerator : public RefCounted&lt;ProfileGenerator&gt;  {
</span><span class="cx">     public:
</span><del>-        static PassRefPtr&lt;ProfileGenerator&gt; create(ExecState*, const WTF::String&amp; title, unsigned uid, PassRefPtr&lt;Stopwatch&gt;);
</del><ins>+        static Ref&lt;ProfileGenerator&gt; create(ExecState*, const WTF::String&amp; title, unsigned uid, PassRefPtr&lt;Stopwatch&gt;);
</ins><span class="cx"> 
</span><span class="cx">         // Members
</span><span class="cx">         const WTF::String&amp; title() const;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreprofilerProfileNodeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/profiler/ProfileNode.h (185345 => 185346)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/profiler/ProfileNode.h        2015-06-09 00:47:25 UTC (rev 185345)
+++ trunk/Source/JavaScriptCore/profiler/ProfileNode.h        2015-06-09 02:17:48 UTC (rev 185346)
</span><span class="lines">@@ -44,14 +44,14 @@
</span><span class="cx"> 
</span><span class="cx">     class ProfileNode : public RefCounted&lt;ProfileNode&gt; {
</span><span class="cx">     public:
</span><del>-        static PassRefPtr&lt;ProfileNode&gt; create(ExecState* callerCallFrame, const CallIdentifier&amp; callIdentifier, ProfileNode* parentNode)
</del><ins>+        static Ref&lt;ProfileNode&gt; create(ExecState* callerCallFrame, const CallIdentifier&amp; callIdentifier, ProfileNode* parentNode)
</ins><span class="cx">         {
</span><del>-            return adoptRef(new ProfileNode(callerCallFrame, callIdentifier, parentNode));
</del><ins>+            return adoptRef(*new ProfileNode(callerCallFrame, callIdentifier, parentNode));
</ins><span class="cx">         }
</span><span class="cx"> 
</span><del>-        static PassRefPtr&lt;ProfileNode&gt; create(ExecState* callerCallFrame, ProfileNode* node)
</del><ins>+        static Ref&lt;ProfileNode&gt; create(ExecState* callerCallFrame, ProfileNode* node)
</ins><span class="cx">         {
</span><del>-            return adoptRef(new ProfileNode(callerCallFrame, node));
</del><ins>+            return adoptRef(*new ProfileNode(callerCallFrame, node));
</ins><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         struct Call {
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeDataViewcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/DataView.cpp (185345 => 185346)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/DataView.cpp        2015-06-09 00:47:25 UTC (rev 185345)
+++ trunk/Source/JavaScriptCore/runtime/DataView.cpp        2015-06-09 02:17:48 UTC (rev 185346)
</span><span class="lines">@@ -37,13 +37,13 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;DataView&gt; DataView::create(
</del><ins>+Ref&lt;DataView&gt; DataView::create(
</ins><span class="cx">     PassRefPtr&lt;ArrayBuffer&gt; buffer, unsigned byteOffset, unsigned byteLength)
</span><span class="cx"> {
</span><del>-    return adoptRef(new DataView(buffer, byteOffset, byteLength));
</del><ins>+    return adoptRef(*new DataView(buffer, byteOffset, byteLength));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;DataView&gt; DataView::create(PassRefPtr&lt;ArrayBuffer&gt; passedBuffer)
</del><ins>+Ref&lt;DataView&gt; DataView::create(PassRefPtr&lt;ArrayBuffer&gt; passedBuffer)
</ins><span class="cx"> {
</span><span class="cx">     RefPtr&lt;ArrayBuffer&gt; buffer = passedBuffer;
</span><span class="cx">     return create(buffer, 0, buffer-&gt;byteLength());
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeDataViewh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/DataView.h (185345 => 185346)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/DataView.h        2015-06-09 00:47:25 UTC (rev 185345)
+++ trunk/Source/JavaScriptCore/runtime/DataView.h        2015-06-09 02:17:48 UTC (rev 185346)
</span><span class="lines">@@ -37,8 +37,8 @@
</span><span class="cx">     DataView(PassRefPtr&lt;ArrayBuffer&gt;, unsigned byteOffset, unsigned byteLength);
</span><span class="cx">     
</span><span class="cx"> public:
</span><del>-    JS_EXPORT_PRIVATE static PassRefPtr&lt;DataView&gt; create(PassRefPtr&lt;ArrayBuffer&gt;, unsigned byteOffset, unsigned length);
-    static PassRefPtr&lt;DataView&gt; create(PassRefPtr&lt;ArrayBuffer&gt;);
</del><ins>+    JS_EXPORT_PRIVATE static Ref&lt;DataView&gt; create(PassRefPtr&lt;ArrayBuffer&gt;, unsigned byteOffset, unsigned length);
+    static Ref&lt;DataView&gt; create(PassRefPtr&lt;ArrayBuffer&gt;);
</ins><span class="cx">     
</span><span class="cx">     virtual unsigned byteLength() const override
</span><span class="cx">     {
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeDateInstanceCacheh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/DateInstanceCache.h (185345 => 185346)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/DateInstanceCache.h        2015-06-09 00:47:25 UTC (rev 185345)
+++ trunk/Source/JavaScriptCore/runtime/DateInstanceCache.h        2015-06-09 02:17:48 UTC (rev 185346)
</span><span class="lines">@@ -37,7 +37,7 @@
</span><span class="cx"> 
</span><span class="cx"> class DateInstanceData : public RefCounted&lt;DateInstanceData&gt; {
</span><span class="cx"> public:
</span><del>-    static PassRefPtr&lt;DateInstanceData&gt; create() { return adoptRef(new DateInstanceData); }
</del><ins>+    static Ref&lt;DateInstanceData&gt; create() { return adoptRef(*new DateInstanceData); }
</ins><span class="cx"> 
</span><span class="cx">     double m_gregorianDateTimeCachedForMS;
</span><span class="cx">     GregorianDateTime m_cachedGregorianDateTime;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSPromiseReactioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSPromiseReaction.cpp (185345 => 185346)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSPromiseReaction.cpp        2015-06-09 00:47:25 UTC (rev 185345)
+++ trunk/Source/JavaScriptCore/runtime/JSPromiseReaction.cpp        2015-06-09 02:17:48 UTC (rev 185346)
</span><span class="lines">@@ -59,9 +59,9 @@
</span><span class="cx">     Strong&lt;Unknown&gt; m_argument;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;Microtask&gt; createExecutePromiseReactionMicrotask(VM&amp; vm, JSPromiseReaction* reaction, JSValue argument)
</del><ins>+Ref&lt;Microtask&gt; createExecutePromiseReactionMicrotask(VM&amp; vm, JSPromiseReaction* reaction, JSValue argument)
</ins><span class="cx"> {
</span><del>-    return adoptRef(new ExecutePromiseReactionMicrotask(vm, reaction, argument));
</del><ins>+    return adoptRef(*new ExecutePromiseReactionMicrotask(vm, reaction, argument));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void ExecutePromiseReactionMicrotask::run(ExecState* exec)
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSPromiseReactionh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSPromiseReaction.h (185345 => 185346)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSPromiseReaction.h        2015-06-09 00:47:25 UTC (rev 185345)
+++ trunk/Source/JavaScriptCore/runtime/JSPromiseReaction.h        2015-06-09 02:17:48 UTC (rev 185346)
</span><span class="lines">@@ -61,7 +61,7 @@
</span><span class="cx">     WriteBarrier&lt;Unknown&gt; m_handler;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;Microtask&gt; createExecutePromiseReactionMicrotask(VM&amp;, JSPromiseReaction*, JSValue);
</del><ins>+Ref&lt;Microtask&gt; createExecutePromiseReactionMicrotask(VM&amp;, JSPromiseReaction*, JSValue);
</ins><span class="cx"> 
</span><span class="cx"> } // namespace JSC
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimePropertyNameArrayh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/PropertyNameArray.h (185345 => 185346)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/PropertyNameArray.h        2015-06-09 00:47:25 UTC (rev 185345)
+++ trunk/Source/JavaScriptCore/runtime/PropertyNameArray.h        2015-06-09 02:17:48 UTC (rev 185346)
</span><span class="lines">@@ -33,7 +33,7 @@
</span><span class="cx"> public:
</span><span class="cx">     typedef Vector&lt;Identifier, 20&gt; PropertyNameVector;
</span><span class="cx"> 
</span><del>-    static PassRefPtr&lt;PropertyNameArrayData&gt; create() { return adoptRef(new PropertyNameArrayData); }
</del><ins>+    static Ref&lt;PropertyNameArrayData&gt; create() { return adoptRef(*new PropertyNameArrayData); }
</ins><span class="cx"> 
</span><span class="cx">     PropertyNameVector&amp; propertyNameVector() { return m_propertyNameVector; }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeTypeSeth"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/TypeSet.h (185345 => 185346)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/TypeSet.h        2015-06-09 00:47:25 UTC (rev 185345)
+++ trunk/Source/JavaScriptCore/runtime/TypeSet.h        2015-06-09 02:17:48 UTC (rev 185346)
</span><span class="lines">@@ -53,7 +53,7 @@
</span><span class="cx"> public:
</span><span class="cx">     StructureShape();
</span><span class="cx"> 
</span><del>-    static PassRefPtr&lt;StructureShape&gt; create() { return adoptRef(new StructureShape); }
</del><ins>+    static Ref&lt;StructureShape&gt; create() { return adoptRef(*new StructureShape); }
</ins><span class="cx">     String propertyHash();
</span><span class="cx">     void markAsFinal();
</span><span class="cx">     void addProperty(UniquedStringImpl&amp;);
</span><span class="lines">@@ -82,7 +82,7 @@
</span><span class="cx"> class TypeSet : public RefCounted&lt;TypeSet&gt; {
</span><span class="cx"> 
</span><span class="cx"> public:
</span><del>-    static PassRefPtr&lt;TypeSet&gt; create() { return adoptRef(new TypeSet); }
</del><ins>+    static Ref&lt;TypeSet&gt; create() { return adoptRef(*new TypeSet); }
</ins><span class="cx">     TypeSet();
</span><span class="cx">     void addTypeInformation(RuntimeType, PassRefPtr&lt;StructureShape&gt;, Structure*);
</span><span class="cx">     void invalidateCache();
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeTypedArrayBaseh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/TypedArrayBase.h (185345 => 185346)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/TypedArrayBase.h        2015-06-09 00:47:25 UTC (rev 185345)
+++ trunk/Source/JavaScriptCore/runtime/TypedArrayBase.h        2015-06-09 02:17:48 UTC (rev 185346)
</span><span class="lines">@@ -108,26 +108,26 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     template &lt;class Subclass&gt;
</span><del>-    static PassRefPtr&lt;Subclass&gt; create(PassRefPtr&lt;ArrayBuffer&gt; buffer, unsigned byteOffset, unsigned length)
</del><ins>+    static RefPtr&lt;Subclass&gt; create(PassRefPtr&lt;ArrayBuffer&gt; buffer, unsigned byteOffset, unsigned length)
</ins><span class="cx">     {
</span><span class="cx">         RefPtr&lt;ArrayBuffer&gt; buf(buffer);
</span><span class="cx">         if (!verifySubRange&lt;T&gt;(buf, byteOffset, length))
</span><del>-            return 0;
</del><ins>+            return nullptr;
</ins><span class="cx"> 
</span><span class="cx">         return adoptRef(new Subclass(buf.release(), byteOffset, length));
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     template &lt;class Subclass&gt;
</span><del>-    static PassRefPtr&lt;Subclass&gt; createUninitialized(unsigned length)
</del><ins>+    static RefPtr&lt;Subclass&gt; createUninitialized(unsigned length)
</ins><span class="cx">     {
</span><span class="cx">         RefPtr&lt;ArrayBuffer&gt; buffer = ArrayBuffer::createUninitialized(length, sizeof(T));
</span><span class="cx">         if (!buffer.get())
</span><del>-            return 0;
</del><ins>+            return nullptr;
</ins><span class="cx">         return create&lt;Subclass&gt;(buffer.release(), 0, length);
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     template &lt;class Subclass&gt;
</span><del>-    PassRefPtr&lt;Subclass&gt; subarrayImpl(int start, int end) const
</del><ins>+    RefPtr&lt;Subclass&gt; subarrayImpl(int start, int end) const
</ins><span class="cx">     {
</span><span class="cx">         unsigned offset, length;
</span><span class="cx">         calculateOffsetAndLength(start, end, m_length, &amp;offset, &amp;length);
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeVMcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/VM.cpp (185345 => 185346)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/VM.cpp        2015-06-09 00:47:25 UTC (rev 185345)
+++ trunk/Source/JavaScriptCore/runtime/VM.cpp        2015-06-09 02:17:48 UTC (rev 185346)
</span><span class="lines">@@ -340,17 +340,17 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;VM&gt; VM::createContextGroup(HeapType heapType)
</del><ins>+Ref&lt;VM&gt; VM::createContextGroup(HeapType heapType)
</ins><span class="cx"> {
</span><del>-    return adoptRef(new VM(APIContextGroup, heapType));
</del><ins>+    return adoptRef(*new VM(APIContextGroup, heapType));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;VM&gt; VM::create(HeapType heapType)
</del><ins>+Ref&lt;VM&gt; VM::create(HeapType heapType)
</ins><span class="cx"> {
</span><del>-    return adoptRef(new VM(Default, heapType));
</del><ins>+    return adoptRef(*new VM(Default, heapType));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;VM&gt; VM::createLeaked(HeapType heapType)
</del><ins>+Ref&lt;VM&gt; VM::createLeaked(HeapType heapType)
</ins><span class="cx"> {
</span><span class="cx">     return create(heapType);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeVMh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/VM.h (185345 => 185346)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/VM.h        2015-06-09 00:47:25 UTC (rev 185345)
+++ trunk/Source/JavaScriptCore/runtime/VM.h        2015-06-09 02:17:48 UTC (rev 185346)
</span><span class="lines">@@ -213,9 +213,9 @@
</span><span class="cx">     JS_EXPORT_PRIVATE static bool sharedInstanceExists();
</span><span class="cx">     JS_EXPORT_PRIVATE static VM&amp; sharedInstance();
</span><span class="cx"> 
</span><del>-    JS_EXPORT_PRIVATE static PassRefPtr&lt;VM&gt; create(HeapType = SmallHeap);
-    JS_EXPORT_PRIVATE static PassRefPtr&lt;VM&gt; createLeaked(HeapType = SmallHeap);
-    static PassRefPtr&lt;VM&gt; createContextGroup(HeapType = SmallHeap);
</del><ins>+    JS_EXPORT_PRIVATE static Ref&lt;VM&gt; create(HeapType = SmallHeap);
+    JS_EXPORT_PRIVATE static Ref&lt;VM&gt; createLeaked(HeapType = SmallHeap);
+    static Ref&lt;VM&gt; createContextGroup(HeapType = SmallHeap);
</ins><span class="cx">     JS_EXPORT_PRIVATE ~VM();
</span><span class="cx"> 
</span><span class="cx"> private:
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoretestRegExpcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/testRegExp.cpp (185345 => 185346)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/testRegExp.cpp        2015-06-09 00:47:25 UTC (rev 185345)
+++ trunk/Source/JavaScriptCore/testRegExp.cpp        2015-06-09 02:17:48 UTC (rev 185346)
</span><span class="lines">@@ -519,7 +519,7 @@
</span><span class="cx"> 
</span><span class="cx"> int realMain(int argc, char** argv)
</span><span class="cx"> {
</span><del>-    VM* vm = VM::create(LargeHeap).leakRef();
</del><ins>+    VM* vm = &amp;VM::create(LargeHeap).leakRef();
</ins><span class="cx">     JSLockHolder locker(vm);
</span><span class="cx"> 
</span><span class="cx">     CommandLine options;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreyarrRegularExpressioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/yarr/RegularExpression.cpp (185345 => 185346)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/yarr/RegularExpression.cpp        2015-06-09 00:47:25 UTC (rev 185345)
+++ trunk/Source/JavaScriptCore/yarr/RegularExpression.cpp        2015-06-09 02:17:48 UTC (rev 185346)
</span><span class="lines">@@ -37,9 +37,9 @@
</span><span class="cx"> 
</span><span class="cx"> class RegularExpression::Private : public RefCounted&lt;RegularExpression::Private&gt; {
</span><span class="cx"> public:
</span><del>-    static PassRefPtr&lt;Private&gt; create(const String&amp; pattern, TextCaseSensitivity caseSensitivity, MultilineMode multilineMode)
</del><ins>+    static Ref&lt;Private&gt; create(const String&amp; pattern, TextCaseSensitivity caseSensitivity, MultilineMode multilineMode)
</ins><span class="cx">     {
</span><del>-        return adoptRef(new Private(pattern, caseSensitivity, multilineMode));
</del><ins>+        return adoptRef(*new Private(pattern, caseSensitivity, multilineMode));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     int lastMatchLength;
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (185345 => 185346)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2015-06-09 00:47:25 UTC (rev 185345)
+++ trunk/Source/WebCore/ChangeLog        2015-06-09 02:17:48 UTC (rev 185346)
</span><span class="lines">@@ -1,3 +1,17 @@
</span><ins>+2015-06-08  Gyuyoung Kim  &lt;gyuyoung.kim@webkit.org&gt;
+
+        Purge PassRefPtr in JavaScriptCore
+        https://bugs.webkit.org/show_bug.cgi?id=145750
+
+        Reviewed by Darin Adler.
+
+        As a step to purge PassRefPtr, this patch replaces PassRefPtr with Ref or RefPtr.
+
+        No new tests, no behavior changes.
+
+        * bindings/js/JSDOMWindowBase.cpp:
+        (WebCore::JSDOMWindowBase::commonVM):
+
</ins><span class="cx"> 2015-06-08  Zalan Bujtas  &lt;zalan@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Subpixel rendering: Clip-path does not work properly on subpixel positions.
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSDOMWindowBasecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSDOMWindowBase.cpp (185345 => 185346)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSDOMWindowBase.cpp        2015-06-09 00:47:25 UTC (rev 185345)
+++ trunk/Source/WebCore/bindings/js/JSDOMWindowBase.cpp        2015-06-09 02:17:48 UTC (rev 185346)
</span><span class="lines">@@ -201,7 +201,7 @@
</span><span class="cx">     static VM* vm = nullptr;
</span><span class="cx">     if (!vm) {
</span><span class="cx">         ScriptController::initializeThreading();
</span><del>-        vm = VM::createLeaked(LargeHeap).leakRef();
</del><ins>+        vm = &amp;VM::createLeaked(LargeHeap).leakRef();
</ins><span class="cx"> #if !PLATFORM(IOS)
</span><span class="cx">         vm-&gt;setExclusiveThread(std::this_thread::get_id());
</span><span class="cx"> #else
</span></span></pre>
</div>
</div>

</body>
</html>