<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>217139</bug_id>
          
          <creation_ts>2020-09-30 12:06:05 -0700</creation_ts>
          <short_desc>[JSC] String#at should be optimized like String#charAt</short_desc>
          <delta_ts>2024-12-12 12:30:19 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=284488</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>217115</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ross Kirsling">ross.kirsling</reporter>
          <assigned_to name="Ross Kirsling">ross.kirsling</assigned_to>
          <cc>fujii</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1693477</commentid>
    <comment_count>0</comment_count>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2020-09-30 12:06:05 -0700</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1695613</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-10-07 12:07:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/70059276&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1695730</commentid>
    <comment_count>2</comment_count>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2020-10-07 15:59:43 -0700</bug_when>
    <thetext>Closing since this method is being scrapped in bug 217449.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1708779</commentid>
    <comment_count>3</comment_count>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2020-11-18 14:31:47 -0800</bug_when>
    <thetext>Reopening since this is alive again, but under a new name.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2028498</commentid>
    <comment_count>4</comment_count>
    <who name="Sosuke Suzuki">sosuke</who>
    <bug_when>2024-04-15 06:03:14 -0700</bug_when>
    <thetext>Pull request: https://github.com/WebKit/WebKit/pull/27258</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2071877</commentid>
    <comment_count>5</comment_count>
    <who name="Sosuke Suzuki">sosuke</who>
    <bug_when>2024-10-31 07:58:57 -0700</bug_when>
    <thetext>Pull request: https://github.com/WebKit/WebKit/pull/35997</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2080751</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2024-12-10 21:56:34 -0800</bug_when>
    <thetext>Committed 287653@main (a509a5dd2a1c): &lt;https://commits.webkit.org/287653@main&gt;

Reviewed commits have been landed. Closing PR #35997 and removing active labels.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2080902</commentid>
    <comment_count>7</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2024-12-11 11:52:22 -0800</bug_when>
    <thetext>Regressed.

ASSERTION FAILED: node-&gt;op() == GetByVal || node-&gt;op() == StringCharAt || node-&gt;op() == StringAt
C:\BW\Windows-64-bit-Debug-Build\build\Source\JavaScriptCore\dfg\DFGSpeculativeJIT.cpp(2509) : void JSC::DFG::SpeculativeJIT::compileGetByValOnString(Node *, const ScopedLambda&lt;std::tuple&lt;JSValueRegs, DataFormat&gt; (DataFormat, bool)&gt; &amp;)
1   00007FFED58D07B8 JSC::numberOfOSRExitFuzzChecks
2   00007FFED5A82CBC JSC::numberOfOSRExitFuzzChecks
3   00007FFED5922877 JSC::numberOfOSRExitFuzzChecks
4   00007FFED592269E JSC::numberOfOSRExitFuzzChecks
5   00007FFED5A8E97C JSC::numberOfOSRExitFuzzChecks
6   00007FFED58B7B77 JSC::numberOfOSRExitFuzzChecks
7   00007FFED58AB345 JSC::numberOfOSRExitFuzzChecks
8   00007FFED58ABE8B JSC::numberOfOSRExitFuzzChecks
9   00007FFED58572D5 JSC::numberOfOSRExitFuzzChecks
10  00007FFED61E0C38 JSC::OpaqueByproducts::~OpaqueByproducts
11  00007FFED624CC3D JSC::JITSizeStatistics::dump
12  00007FFED72A449A WTF::AutomaticThread::threadIsStopping
13  00007FFED72A4197 WTF::AutomaticThread::threadIsStopping
14  00007FFED592DC4C JSC::numberOfOSRExitFuzzChecks
15  00007FFED73F5E26 WTF::Thread::allThreadsLock
16  00007FFED74CA2D3 WTF::Thread::~Thread
17  00007FFEFA176B4C recalloc
18  00007FFF00114CB0 BaseThreadInitThunk
19  00007FFF0F6FEC4B RtlUserThreadStart
ERROR: 000001E82B7A3BD0 - [PID=3288] WebProcessProxy::didClose (web process crash)
C:\BW\Windows-64-bit-Debug-Build\build\Source\WebKit\UIProcess/WebProcessProxy.cpp(1278) : virtual void WebKit::WebProcessProxy::didClose(IPC::Connection &amp;)
ERROR: 000001E82B7A3BD0 - [PID=3288] WebProcessProxy::processDidTerminateOrFailedToLaunch: reason=Crash
C:\BW\Windows-64-bit-Debug-Build\build\Source\WebKit\UIProcess/WebProcessProxy.cpp(1293) : void WebKit::WebProcessProxy::processDidTerminateOrFailedToLaunch(ProcessTerminationReason)
ERROR: 000001E82B789E20 - [pageProxyID=8, webPageID=9, PID=3288] WebPageProxy::processDidTerminate: (pid 3288), reason=Crash
C:\BW\Windows-64-bit-Debug-Build\build\Source\WebKit\UIProcess/WebPageProxy.cpp(10633) : void WebKit::WebPageProxy::resetStateAfterProcessTermination(ProcessTerminationReason)
ERROR: 000001E82B789E20 - [pageProxyID=8, webPageID=9, PID=3288] WebPageProxy::dispatchProcessDidTerminate: reason=Crash
C:\BW\Windows-64-bit-Debug-Build\build\Source\WebKit\UIProcess/WebPageProxy.cpp(10687) : void WebKit::WebPageProxy::dispatchProcessDidTerminate(WebProcessProxy &amp;, ProcessTerminationReason)
WebProcess terminated (pid 3288) for reason: crash

Regressions: Unexpected crashes (2)
  jquery/attributes.html [ Crash ]
  jquery/event.html [ Crash ]

https://results.webkit.org/?suite=layout-tests&amp;test=jquery%2Fevent.html&amp;style=debug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2080906</commentid>
    <comment_count>8</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2024-12-11 12:04:54 -0800</bug_when>
    <thetext>https://build.webkit.org/results/Apple-Sequoia-Debug-WK2-Tests/287653@main%20(519)/jquery/event-crash-log.txt

ASSERTION FAILED: node-&gt;op() == GetByVal || node-&gt;op() == StringCharAt || node-&gt;op() == StringAt
/Volumes/Data/worker/Apple-Sequoia-Debug-Build/build/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp(2509) : void JSC::DFG::SpeculativeJIT::compileGetByValOnString(Node *, const ScopedLambda&lt;std::tuple&lt;JSValueRegs, DataFormat&gt; (DataFormat, bool)&gt; &amp;)
1   0x58afcb4f6 JSC::DFG::SpeculativeJIT::compileGetByValOnString(JSC::DFG::Node*, WTF::ScopedLambda&lt;std::__1::tuple&lt;JSC::JSValueRegs, JSC::DataFormat&gt; (JSC::DataFormat, bool)&gt; const&amp;)
2   0x58b2190cf JSC::DFG::SpeculativeJIT::compileGetByVal(JSC::DFG::Node*, WTF::ScopedLambda&lt;std::__1::tuple&lt;JSC::JSValueRegs, JSC::DataFormat&gt; (JSC::DataFormat, bool)&gt; const&amp;)
3   0x58b0357b5 JSC::DFG::SpeculativeJIT::compileEnumeratorGetByVal(JSC::DFG::Node*)::$_0::operator()(JSC::JSValueRegs) const
4   0x58b035641 JSC::DFG::SpeculativeJIT::compileEnumeratorGetByVal(JSC::DFG::Node*)
5   0x58b224751 JSC::DFG::SpeculativeJIT::compile(JSC::DFG::Node*)
6   0x58afaef80 JSC::DFG::SpeculativeJIT::compileCurrentBlock()
7   0x58af9b2cb JSC::DFG::SpeculativeJIT::compileBody()
8   0x58af9c814 JSC::DFG::SpeculativeJIT::compileFunction()
9   0x58c45fb98 JSC::DFG::Plan::compileInThreadImpl()
10  0x58c9776a0 JSC::JITPlan::compileInThread(JSC::JITWorklistThread*)
11  0x58c9d8bdf JSC::JITWorklistThread::work()
12  0x58ad1bbab WTF::AutomaticThread::start(WTF::AbstractLocker const&amp;)::$_0::operator()() const
13  0x58ad1b769 WTF::Detail::CallableWrapper&lt;WTF::AutomaticThread::start(WTF::AbstractLocker const&amp;)::$_0, void&gt;::call()
14  0x58ad38187 WTF::Function&lt;void ()&gt;::operator()() const
15  0x58af1c9f9 WTF::Thread::entryPoint(WTF::Thread::NewThreadContext*)
16  0x58af288f5 WTF::wtfThreadEntryPoint(void*)
17  0x7ff804e9a253 _pthread_start
18  0x7ff804e95bef thread_start
com.apple.WebKit.WebContent.Development terminated (pid 98655) for reason: crash</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2081285</commentid>
    <comment_count>9</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2024-12-12 12:29:40 -0800</bug_when>
    <thetext>bug#284488 follows up.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>