<?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>210176</bug_id>
          
          <creation_ts>2020-04-08 00:42:22 -0700</creation_ts>
          <short_desc>[JSC][32-bits] Build failure after r259676 (Not using strict mode within ClassDeclaration statement)</short_desc>
          <delta_ts>2020-04-08 09:52:02 -0700</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>
          
          
          <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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Pablo Saavedra">psaavedra</reporter>
          <assigned_to name="Guillaume Emont">guijemont</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>guijemont</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>pmatos</cc>
    
    <cc>saam</cc>
    
    <cc>ticaiolima</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1638960</commentid>
    <comment_count>0</comment_count>
    <who name="Pablo Saavedra">psaavedra</who>
    <bug_when>2020-04-08 00:42:22 -0700</bug_when>
    <thetext>Buildjob: https://build.webkit.org/builders/JSCOnly%20Linux%20ARMv7%20Thumb2%20Release/builds/11260

```
Category	None
Changed by	tzagallo@apple.com
Changed at	Tue 07 Apr 2020 15:32:22
Repository	/var/svn/webkit
Branch	trunk
Revision	259676
Comments
Not using strict mode within ClassDeclaration statement
https://bugs.webkit.org/show_bug.cgi?id=205578
&lt;rdar://problem/58194589&gt;

Reviewed by Yusuke Suzuki.
```

Errors:

```
6303-FAILED: Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/dfg/DFGSpeculativeJIT32_64.cpp.o 
6304-/usr/bin/ccache /home/bot/toolchain_env_wandboard-mesa-wpe-nightly/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-g++   -march=armv7-a -mthumb -mfpu=neon -mfloat-abi=hard -fstack-protector-strong  -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=/home/bot/toolchain_env_wandboard-mesa-wpe-nightly/sysroots/armv7at2hf-neon-poky-linux-gnueabi --sysroot=/home/bot/toolchain_env_wandboard-mesa-wpe-nightly/sysroots/armv7at2hf-neon-poky-linux-gnueabi  -DBUILDING_JavaScriptCore -DBUILDING_WITH_CMAKE=1 -DBUILDING_WPE__=1 -DGETTEXT_PACKAGE=\&quot;WPE\&quot; -DHAVE_CONFIG_H=1 -DJSC_COMPILATION -DJSC_GLIB_API_ENABLED -DPKGLIBDIR=\&quot;/usr/local/lib/wpe-webkit-1.0\&quot; -DSVN_REVISION=\&quot;r259680\&quot; -DU_SHOW_CPLUSPLUS_API=0 -IDerivedSources/ForwardingHeaders -I. -I../../Source/JavaScriptCore -I../../Source/JavaScriptCore/API -I../../Source/JavaScriptCore/assembler -I../../Source/JavaScriptCore/b3 -I../../Source/JavaScriptCore/b3/air -I../../Source/JavaScriptCore/bindings -I../../Source/JavaScriptCore/builtins -I../../Source/JavaScriptCore/bytecode -I../../Source/JavaScriptCore/bytecompiler -I../../Source/JavaScriptCore/dfg -I../../Source/JavaScriptCore/disassembler -I../../Source/JavaScriptCore/disassembler/ARM64 -I../../Source/JavaScriptCore/disassembler/udis86 -I../../Source/JavaScriptCore/domjit -I../../Source/JavaScriptCore/ftl -I../../Source/JavaScriptCore/heap -I../../Source/JavaScriptCore/debugger -I../../Source/JavaScriptCore/inspector -I../../Source/JavaScriptCore/inspector/agents -I../../Source/JavaScriptCore/inspector/augmentable -I../../Source/JavaScriptCore/inspector/remote -I../../Source/JavaScriptCore/interpreter -I../../Source/JavaScriptCore/jit -I../../Source/JavaScriptCore/llint -I../../Source/JavaScriptCore/parser -I../../Source/JavaScriptCore/profiler -I../../Source/JavaScriptCore/runtime -I../../Source/JavaScriptCore/tools -I../../Source/JavaScriptCore/wasm -I../../Source/JavaScriptCore/wasm/js -I../../Source/JavaScriptCore/yarr -IDerivedSources/JavaScriptCore -IDerivedSources/JavaScriptCore/inspector -IDerivedSources/JavaScriptCore/runtime -IDerivedSources/JavaScriptCore/yarr -I../../Source/ThirdParty/capstone/Source/include -IDerivedSources/ForwardingHeaders/JavaScriptCore/glib -IDerivedSources/JavaScriptCore/javascriptcorewpe/jsc -I../../Source/JavaScriptCore/API/glib -IDerivedSources -I../../Source/ThirdParty -isystem /home/bot/toolchain_env_wandboard-mesa-wpe-nightly/sysroots/armv7at2hf-neon-poky-linux-gnueabi/usr/include/glib-2.0 -isystem /home/bot/toolchain_env_wandboard-mesa-wpe-nightly/sysroots/armv7at2hf-neon-poky-linux-gnueabi/usr/lib/glib-2.0/include -fdiagnostics-color=always -Wextra -Wall -Wno-expansion-to-defined -Wno-noexcept-type -Wno-psabi -Wno-maybe-uninitialized -Wwrite-strings -Wundef -Wpointer-arith -Wmissing-format-attribute -Wformat-security -Wcast-align  -O2 -pipe -g -feliminate-unused-debug-types  -fno-strict-aliasing -fno-exceptions -fno-rtti -O3 -DNDEBUG -fPIC   -ffp-contract=off -std=c++17 -MD -MT Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/dfg/DFGSpeculativeJIT32_64.cpp.o -MF Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/dfg/DFGSpeculativeJIT32_64.cpp.o.d -o Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/dfg/DFGSpeculativeJIT32_64.cpp.o -c ../../Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp
6305-../../Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp: In member function â€˜void JSC::DFG::SpeculativeJIT::compileContiguousPutByVal(JSC::DFG::Node*, BaseOperandType&amp;, PropertyOperandType&amp;, ValueOperandType&amp;, JSC::GPRReg, TagType)â€™:
6306:../../Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp:1787:23: error: â€˜class JSC::DFG::JITCompilerâ€™ has no member named â€˜isStrictModeForâ€™
6307- 1787 |                 m_jit.isStrictModeFor(node-&gt;origin.semantic) ? operationPutByValDirectBeyondArrayBoundsStrict : operationPutByValDirectBeyondArrayBoundsNonStrict,
6308-      |                       ^~~~~~~~~~~~~~~
6309:../../Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp:1792:23: error: â€˜class JSC::DFG::JITCompilerâ€™ has no member named â€˜isStrictModeForâ€™
6310- 1792 |                 m_jit.isStrictModeFor(node-&gt;origin.semantic) ? operationPutByValBeyondArrayBoundsStrict : operationPutByValBeyondArrayBoundsNonStrict,
6311-      |                       ^~~~~~~~~~~~~~~
6312-../../Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp: In member function â€˜void JSC::DFG::SpeculativeJIT::compile(JSC::DFG::Node*)â€™:
6313:../../Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp:2632:37: error: â€˜class JSC::DFG::JITCompilerâ€™ has no member named â€˜isStrictModeForâ€™
6314- 2632 |                 callOperation(m_jit.isStrictModeFor(node-&gt;origin.semantic) ? operationPutByValDirectCellStrict : operationPutByValDirectCellNonStrict, TrustedImmPtr::weakPointer(m_graph, m_graph.globalObjectFor(node-&gt;origin.semantic)), baseGPR, propertyRegs, valueRegs);
6315-      |                                     ^~~~~~~~~~~~~~~
6316:../../Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp:2634:37: error: â€˜class JSC::DFG::JITCompilerâ€™ has no member named â€˜isStrictModeForâ€™
6317- 2634 |                 callOperation(m_jit.isStrictModeFor(node-&gt;origin.semantic) ? operationPutByValCellStrict : operationPutByValCellNonStrict, TrustedImmPtr::weakPointer(m_graph, m_graph.globalObjectFor(node-&gt;origin.semantic)), baseGPR, propertyRegs, valueRegs);
6318-      |                                     ^~~~~~~~~~~~~~~
6319:../../Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp:2745:31: error: â€˜class JSC::DFG::JITCompilerâ€™ has no member named â€˜isStrictModeForâ€™
6320- 2745 |                         m_jit.isStrictModeFor(node-&gt;origin.semantic) ? operationPutByValDirectBeyondArrayBoundsStrict : operationPutByValDirectBeyondArrayBoundsNonStrict,
6321-      |                               ^~~~~~~~~~~~~~~
6322:../../Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp:2750:31: error: â€˜class JSC::DFG::JITCompilerâ€™ has no member named â€˜isStrictModeForâ€™
6323- 2750 |                         m_jit.isStrictModeFor(node-&gt;origin.semantic) ? operationPutByValBeyondArrayBoundsStrict : operationPutByValBeyondArrayBoundsNonStrict,
6324-      |                               ^~~~~~~~~~~~~~~
6325:../../Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp:2785:29: error: â€˜class JSC::DFG::JITCompilerâ€™ has no member named â€˜isStrictModeForâ€™
6326- 2785 |         callOperation(m_jit.isStrictModeFor(node-&gt;origin.semantic) ? operationPutByValWithThisStrict : operationPutByValWithThis,
6327-      |         
```

also:

```
6393:../../Source/JavaScriptCore/jit/CCallHelpers.h:635:60: error: static assertion failed: One last sanity check
6394-  635 |         static_assert(FunctionTraits&lt;OperationType&gt;::arity == numGPRArgs + numFPRArgs, &quot;One last sanity check&quot;);
6395-      |                                                      ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
6396-../../Source/JavaScriptCore/jit/CCallHelpers.h: In instantiation of â€˜void JSC::CCallHelpers::setupArgumentsImpl(JSC::CCallHelpers::ArgCollection&lt;numGPRArgs, numGPRSources, numFPRArgs, numFPRSources, numCrossSources, extraGPRArgs, extraPoke&gt;) [with OperationType = long long int(JSC::JSGlobalObject*, JSC::CallFrame*, JSC::ECMAMode); unsigned int numGPRArgs = 2; unsigned int numGPRSources = 0; unsigned int numFPRArgs = 0; unsigned int numFPRSources = 0; unsigned int numCrossSources = 0; unsigned int extraGPRArgs = 0; unsigned int extraPoke = 0]â€™:
6397-../../Source/JavaScriptCore/jit/CCallHelpers.h:491:9:   required from â€˜std::enable_if_t&lt;(sizeof (typename WTF::FunctionTraits&lt;T&gt;::ArgumentType&lt;(numGPRArgs + numFPRArgs)&gt;) &lt;= 4)&gt; JSC::CCallHelpers::setupArgumentsImpl(JSC::CCallHelpers::ArgCollection&lt;numGPRArgs, numGPRSources, numFPRArgs, numFPRSources, numCrossSources, extraGPRArgs, extraPoke&gt;, JSC::GPRReg, Args ...) [with OperationType = long long int(JSC::JSGlobalObject*, JSC::CallFrame*, JSC::ECMAMode); unsigned int numGPRArgs = 1; unsigned int numGPRSources = 0; unsigned int numFPRArgs = 0; unsigned int numFPRSources = 0; unsigned int numCrossSources = 0; unsigned int extraGPRArgs = 0; unsigned int extraPoke = 0; Args = {}; std::enable_if_t&lt;(sizeof (typename WTF::FunctionTraits&lt;T&gt;::ArgumentType&lt;(numGPRArgs + numFPRArgs)&gt;) &lt;= 4)&gt; = void; JSC::GPRReg = JSC::ARMRegisters::RegisterID]â€™
6398-../../Source/JavaScriptCore/jit/CCallHelpers.h:579:13:   required from â€˜std::enable_if_t&lt;(std::is_base_of&lt;JSC::AbstractMacroAssembler&lt;JSC::ARMv7Assembler&gt;::TrustedImm, Arg&gt;::value || std::is_convertible&lt;Arg, JSC::AbstractMacroAssembler&lt;JSC::ARMv7Assembler&gt;::TrustedImm&gt;::value)&gt; JSC::CCallHelpers::setupArgumentsImpl(JSC::CCallHelpers::ArgCollection&lt;numGPRArgs, numGPRSources, numFPRArgs, numFPRSources, numCrossSources, extraGPRArgs, extraPoke&gt;, Arg, Args ...) [with OperationType = long long int(JSC::JSGlobalObject*, JSC::CallFrame*, JSC::ECMAMode); unsigned int numGPRArgs = 0; unsigned int numGPRSources = 0; unsigned int numFPRArgs = 0; unsigned int numFPRSources = 0; unsigned int numCrossSources = 0; unsigned int extraGPRArgs = 0; unsigned int extraPoke = 0; Arg = JSC::DFG::SpeculativeJIT::TrustedImmPtr; Args = {JSC::ARMRegisters::RegisterID}; std::enable_if_t&lt;(std::is_base_of&lt;JSC::AbstractMacroAssembler&lt;JSC::ARMv7Assembler&gt;::TrustedImm, Arg&gt;::value || std::is_convertible&lt;Arg, JSC::AbstractMacroAssembler&lt;JSC::ARMv7Assembler&gt;::TrustedImm&gt;::value)&gt; = void]â€™
6399-../../Source/JavaScriptCore/jit/CCallHelpers.h:669:9:   required from â€˜std::enable_if_t&lt;(! std::is_same&lt;typename WTF::FunctionTraits&lt;T&gt;::ArgumentType&lt;0&gt;, JSC::CallFrame*&gt;::value)&gt; JSC::CCallHelpers::setupArguments(Args ...) [with OperationType = long long int(JSC::JSGlobalObject*, JSC::CallFrame*, JSC::ECMAMode); Args = {JSC::DFG::SpeculativeJIT::TrustedImmPtr, JSC::ARMRegisters::RegisterID}; std::enable_if_t&lt;(! std::is_same&lt;typename WTF::FunctionTraits&lt;T&gt;::ArgumentType&lt;0&gt;, JSC::CallFrame*&gt;::value)&gt; = void]â€™
6400-../../Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp:811:124:   required from here
6401:../../Source/JavaScriptCore/jit/CCallHelpers.h:635:60: error: static assertion failed: One last sanity check
6402-In file included from ../../Source/JavaScriptCore/heap/BlockDirectoryBits.h:30,
6403-                 from ../../Source/JavaScriptCore/heap/BlockDirectory.h:29,
6404-                 from ../../Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h:30,
6405-                 from ../../Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp:28:
6406-DerivedSources/ForwardingHeaders/wtf/Vector.h: In instantiation of â€˜static void WTF::VectorMover&lt;false, T&gt;::move(T*, T*, T*) [with T = JSC::ARMv7Assembler::LinkRecord]â€™:
6407-DerivedSources/ForwardingHeaders/wtf/Vector.h:257:65:   required from â€˜static void WTF::VectorTypeOperations&lt;T&gt;::move(T*, T*, T*) [with T = JSC::ARMv7Assembler::LinkRecord]â€™
6408-DerivedSources/ForwardingHeaders/wtf/Vector.h:1194:25:   required from â€˜void WTF::Vector&lt; &lt;template-parameter-1-1&gt;, &lt;anonymous&gt;, &lt;template-parameter-1-3&gt;, &lt;anonymous&gt;, Malloc&gt;::reserveCapacity(size_t) [with T = JSC::ARMv7Assembler::LinkRecord; unsigned int inlineCapacity = 0; OverflowHandler = WTF::UnsafeVectorOverflow; unsigned int minCapacity = 16; Malloc = WTF::FastMalloc; size_t = unsigned int]â€™
6409-DerivedSources/ForwardingHeaders/wtf/Vector.h:1047:5:   required from â€˜void WTF::Vector&lt; &lt;template-parameter-1-1&gt;, &lt;anonymous&gt;, &lt;template-parameter-1-3&gt;, &lt;anonymous&gt;, Malloc&gt;::expandCapacity(size_t) [with T = JSC::ARMv7Assembler::LinkRecord; unsigned int inlineCapacity = 0; OverflowHandler = WTF::UnsafeVectorOverflow; unsigned int minCapacity = 16; Malloc = WTF::FastMalloc; size_t = unsigned int]â€™
6410-DerivedSources/ForwardingHeaders/wtf/Vector.h:1054:9:   required from â€˜T* WTF::Vector&lt; &lt;template-parameter-1-1&gt;, &lt;anonymous&gt;, &lt;template-parameter-1-3&gt;, &lt;anonymous&gt;, Malloc&gt;::expandCapacity(size_t, T*) [with T = JSC::ARMv7Assembler::LinkRecord; unsigned int inlineCapacity = 0; OverflowHandler = WTF::UnsafeVectorOverflow; unsigned int minCapacity = 16; Malloc = WTF::FastMalloc; size_t = unsigned int]â€™
6411-DerivedSources/ForwardingHeaders/wtf/Vector.h:1347:9:   required from â€˜void WTF::Vector&lt; &lt;template-parameter-1-1&gt;, &lt;anonymous&gt;, &lt;template-parameter-1-3&gt;, &lt;anonymous&gt;, Malloc&gt;::appendSlowCase(U&amp;&amp;) [with U = JSC::ARMv7Assembler::LinkRecord; T = JSC::ARMv7Assembler::LinkRecord; unsigned int inlineCapacity = 0; OverflowHandler = WTF::UnsafeVectorOverflow; unsigned int minCapacity = 16; Malloc = WTF::FastMalloc]â€™
6412-DerivedSources/ForwardingHeaders/wtf/Vector.h:1309:5:   required from â€˜void WTF::Vector&lt; &lt;template-parameter-1-1&gt;, &lt;anonymous&gt;, &lt;template-parameter-1-3&gt;, &lt;anonymous&gt;, Malloc&gt;::append(U&amp;&amp;) [with U = JSC::ARMv7Assembler::LinkRecord; T = 
JSC::ARMv7Assembler::LinkRecord; unsigned int inlineCapacity = 0; OverflowHandler = WTF::UnsafeVectorOverflow; unsigned int minCapacity = 16; Malloc = WTF::FastMalloc]â€™
6413-DerivedSources/ForwardingHeaders/wtf/Vector.h:773:52:   required from â€˜void WTF::Vector&lt; &lt;template-parameter-1-1&gt;, &lt;anonymous&gt;, &lt;template-parameter-1-3&gt;, &lt;anonymous&gt;, Malloc&gt;::append(WTF::Vector&lt; &lt;template-parameter-1-1&gt;, &lt;anonymous&gt;, &lt;template-parameter-1-3&gt;, &lt;anonymous&gt;, Malloc&gt;::ValueType&amp;&amp;) [with T = JSC::ARMv7Assembler::LinkRecord; unsigned int inlineCapacity = 0; OverflowHandler = WTF::UnsafeVectorOverflow; unsigned int minCapacity = 16; Malloc = WTF::FastMalloc; WTF::Vector&lt; &lt;template-parameter-1-1&gt;, &lt;anonymous&gt;, &lt;template-parameter-1-3&gt;, &lt;anonymous&gt;, Malloc&gt;::ValueType = JSC::ARMv7Assembler::LinkRecord]â€™

```</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1638998</commentid>
    <comment_count>1</comment_count>
      <attachid>395789</attachid>
    <who name="Guillaume Emont">guijemont</who>
    <bug_when>2020-04-08 04:13:25 -0700</bug_when>
    <thetext>Created attachment 395789
Patch

First attempt at the patch. This fixes building on armv7, relying on EWS to run tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639002</commentid>
    <comment_count>2</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2020-04-08 04:21:56 -0700</bug_when>
    <thetext>*** Bug 210181 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639027</commentid>
    <comment_count>3</comment_count>
      <attachid>395789</attachid>
    <who name="Caio Lima">ticaiolima</who>
    <bug_when>2020-04-08 06:42:48 -0700</bug_when>
    <thetext>Comment on attachment 395789
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=395789&amp;action=review

Informal review there. LGTM.

&gt; Source/JavaScriptCore/jit/JITPropertyAccess32_64.cpp:404
&gt; +    ECMAMode ecmaMode = ECMAMode::strict();

Is there a reason to initialize it? IIUC, load will set a value below based on `bytecode.m_ecmaMode`;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639036</commentid>
    <comment_count>4</comment_count>
      <attachid>395789</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2020-04-08 07:08:25 -0700</bug_when>
    <thetext>Comment on attachment 395789
Patch

setting r+ and cq+ since it passes EWS and fix the build breakage. Further improvements (if any) can be done in follow-up patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639044</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-04-08 07:32:19 -0700</bug_when>
    <thetext>Committed r259715: &lt;https://trac.webkit.org/changeset/259715&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 395789.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639045</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-04-08 07:33:13 -0700</bug_when>
    <thetext>&lt;rdar://problem/61453881&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639047</commentid>
    <comment_count>7</comment_count>
    <who name="Guillaume Emont">guijemont</who>
    <bug_when>2020-04-08 07:38:00 -0700</bug_when>
    <thetext>(In reply to Caio Lima from comment #3)
&gt; Comment on attachment 395789 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=395789&amp;action=review
&gt; 
&gt; Informal review there. LGTM.
&gt; 
&gt; &gt; Source/JavaScriptCore/jit/JITPropertyAccess32_64.cpp:404
&gt; &gt; +    ECMAMode ecmaMode = ECMAMode::strict();
&gt; 
&gt; Is there a reason to initialize it? IIUC, load will set a value below based
&gt; on `bytecode.m_ecmaMode`;

That&apos;s a good question I&apos;d like to forward to Tadeu, since I basically cut and paste his code from JITPropertyAccess.cpp:

https://github.com/WebKit/webkit/blob/master/Source/JavaScriptCore/jit/JITPropertyAccess.cpp#L308

but yeah, it doesn&apos;t look like it&apos;s needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639103</commentid>
    <comment_count>8</comment_count>
    <who name="Tadeu Zagallo">tzagallo</who>
    <bug_when>2020-04-08 09:52:02 -0700</bug_when>
    <thetext>(In reply to Guillaume Emont from comment #7)
&gt; (In reply to Caio Lima from comment #3)
&gt; &gt; Comment on attachment 395789 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=395789&amp;action=review
&gt; &gt; 
&gt; &gt; Informal review there. LGTM.
&gt; &gt; 
&gt; &gt; &gt; Source/JavaScriptCore/jit/JITPropertyAccess32_64.cpp:404
&gt; &gt; &gt; +    ECMAMode ecmaMode = ECMAMode::strict();
&gt; &gt; 
&gt; &gt; Is there a reason to initialize it? IIUC, load will set a value below based
&gt; &gt; on `bytecode.m_ecmaMode`;
&gt; 
&gt; That&apos;s a good question I&apos;d like to forward to Tadeu, since I basically cut
&gt; and paste his code from JITPropertyAccess.cpp:
&gt; 
&gt; https://github.com/WebKit/webkit/blob/master/Source/JavaScriptCore/jit/
&gt; JITPropertyAccess.cpp#L308
&gt; 
&gt; but yeah, it doesn&apos;t look like it&apos;s needed.

The reason is that ECMAMode doesn&apos;t have a default initializer. I found it easier to not add one while refactoring so I&apos;d look at all usages of it.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>395789</attachid>
            <date>2020-04-08 04:13:25 -0700</date>
            <delta_ts>2020-04-08 07:32:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210176-20200408131323.patch</filename>
            <type>text/plain</type>
            <size>13873</size>
            <attacher name="Guillaume Emont">guijemont</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU5NzA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBm
NTA3MzI5MjM3ODMwOWI1YTM0NmY5OTUwYTdiYTdmZDQ5MzQ0NjQwLi5lMGI3NTQzZThmYmNmOTc5
NGQwZTRlM2Y2NjQxNjliZGI1NmYzMzIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNyBAQAorMjAyMC0wNC0wOCAgR3VpbGxhdW1lIEVtb250ICA8Z3VpamVtb250QGlnYWxp
YS5jb20+CisKKyAgICAgICAgW0pTQ11bMzItYml0c10gQnVpbGQgZmFpbHVyZSBhZnRlciByMjU5
Njc2IChOb3QgdXNpbmcgc3RyaWN0IG1vZGUgd2l0aGluIENsYXNzRGVjbGFyYXRpb24gc3RhdGVt
ZW50KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEw
MTc2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRml4
ZWQgMzItYml0IHBhdGhzIHRvIG1hdGNoIGNoYW5nZXMgaW4gcjI1OTY3Ni4KKworICAgICAgICAq
IGRmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVj
dWxhdGl2ZUpJVDo6ZW1pdENhbGwpOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklU
Ojpjb21waWxlQ29udGlndW91c1B1dEJ5VmFsKToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxh
dGl2ZUpJVDo6Y29tcGlsZSk6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNv
bXBpbGVEZWxldGVCeUlkKToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29t
cGlsZURlbGV0ZUJ5VmFsKToKKyAgICAgICAgKiBqaXQvSklUQ2FsbDMyXzY0LmNwcDoKKyAgICAg
ICAgKEpTQzo6SklUOjpjb21waWxlQ2FsbEV2YWwpOgorICAgICAgICAqIGppdC9KSVRQcm9wZXJ0
eUFjY2VzczMyXzY0LmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjplbWl0X29wX2RlbF9ieV9pZCk6
CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9vcF9kZWxfYnlfdmFsKToKKyAgICAgICAgKEpTQzo6
SklUOjplbWl0UHV0QnlWYWxXaXRoQ2FjaGVkSWQpOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRT
bG93X29wX3B1dF9ieV92YWwpOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRfb3BfcHV0X2J5X2lk
KToKKwogMjAyMC0wNC0wNyAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAg
ICAgICAgIFtKU0NdIENvbGxlY3QtY29udGludW91c2x5IHRocmVhZCBzaG91bGQgdGFrZSBtX2Nv
bGxlY3RDb250aW51b3VzbHlMb2NrIHdoaWxlIGl0IGlzIHdha2luZyB1cCBjb25jdXJyZW50IGNv
bGxlY3RvciB0aHJlYWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
U3BlY3VsYXRpdmVKSVQzMl82NC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nw
ZWN1bGF0aXZlSklUMzJfNjQuY3BwCmluZGV4IDhkYWIzZDA0YmMwMmViYWY2MDg4MzVhNDFiMzE5
MjI5MTU4MWI3NDQuLjg5Y2M5ZWYzZmUzMzM2NmJiMGEwZDQwNGY5YmRkNjRlNjg2MjkzMjYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82
NC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMy
XzY0LmNwcApAQCAtODA4LDcgKzgwOCw4IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmVtaXRDYWxs
KE5vZGUqIG5vZGUpCiAgICAgICAgIHVuc2lnbmVkIHJlcXVpcmVkQnl0ZXMgPSBzaXplb2YoQ2Fs
bGVyRnJhbWVBbmRQQykgKyBzaXplb2YoQ2FsbEZyYW1lKikgKiAyOwogICAgICAgICByZXF1aXJl
ZEJ5dGVzID0gV1RGOjpyb3VuZFVwVG9NdWx0aXBsZU9mKHN0YWNrQWxpZ25tZW50Qnl0ZXMoKSwg
cmVxdWlyZWRCeXRlcyk7CiAgICAgICAgIG1faml0LnN1YlB0cihUcnVzdGVkSW1tMzIocmVxdWly
ZWRCeXRlcyksIEpJVENvbXBpbGVyOjpzdGFja1BvaW50ZXJSZWdpc3Rlcik7Ci0gICAgICAgIG1f
aml0LnNldHVwQXJndW1lbnRzPGRlY2x0eXBlKG9wZXJhdGlvbkNhbGxFdmFsKT4oVHJ1c3RlZElt
bVB0cjo6d2Vha1BvaW50ZXIobV9ncmFwaCwgZ2xvYmFsT2JqZWN0KSwgR1BSSW5mbzo6cmVnVDAp
OworICAgICAgICBtX2ppdC5tb3ZlKFRydXN0ZWRJbW0zMihub2RlLT5lY21hTW9kZSgpLnZhbHVl
KCkpLCBHUFJJbmZvOjpyZWdUMSk7CisgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzPGRlY2x0
eXBlKG9wZXJhdGlvbkNhbGxFdmFsKT4oVHJ1c3RlZEltbVB0cjo6d2Vha1BvaW50ZXIobV9ncmFw
aCwgZ2xvYmFsT2JqZWN0KSwgR1BSSW5mbzo6cmVnVDAsIEdQUkluZm86OnJlZ1QxKTsKICAgICAg
ICAgcHJlcGFyZUZvckV4dGVybmFsQ2FsbCgpOwogICAgICAgICBtX2ppdC5hcHBlbmRDYWxsKG9w
ZXJhdGlvbkNhbGxFdmFsKTsKICAgICAgICAgbV9qaXQuZXhjZXB0aW9uQ2hlY2soKTsKQEAgLTE3
ODQsMTIgKzE3ODUsMTIgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUNvbnRpZ3VvdXNQ
dXRCeVZhbChOb2RlKiBub2RlLCBCYXNlT3BlcmFuZFR5cGUmIGJhc2UKICAgICAgICAgaWYgKG5v
ZGUtPm9wKCkgPT0gUHV0QnlWYWxEaXJlY3QpIHsKICAgICAgICAgICAgIGFkZFNsb3dQYXRoR2Vu
ZXJhdG9yKHNsb3dQYXRoQ2FsbCgKICAgICAgICAgICAgICAgICBzbG93Q2FzZSwgdGhpcywKLSAg
ICAgICAgICAgICAgICBtX2ppdC5pc1N0cmljdE1vZGVGb3Iobm9kZS0+b3JpZ2luLnNlbWFudGlj
KSA/IG9wZXJhdGlvblB1dEJ5VmFsRGlyZWN0QmV5b25kQXJyYXlCb3VuZHNTdHJpY3QgOiBvcGVy
YXRpb25QdXRCeVZhbERpcmVjdEJleW9uZEFycmF5Qm91bmRzTm9uU3RyaWN0LAorICAgICAgICAg
ICAgICAgIG5vZGUtPmVjbWFNb2RlKCkuaXNTdHJpY3QoKSA/IG9wZXJhdGlvblB1dEJ5VmFsRGly
ZWN0QmV5b25kQXJyYXlCb3VuZHNTdHJpY3QgOiBvcGVyYXRpb25QdXRCeVZhbERpcmVjdEJleW9u
ZEFycmF5Qm91bmRzTm9uU3RyaWN0LAogICAgICAgICAgICAgICAgIE5vUmVzdWx0LCBUcnVzdGVk
SW1tUHRyOjp3ZWFrUG9pbnRlcihtX2dyYXBoLCBtX2dyYXBoLmdsb2JhbE9iamVjdEZvcihub2Rl
LT5vcmlnaW4uc2VtYW50aWMpKSwgYmFzZVJlZywgcHJvcGVydHlSZWcsIEpTVmFsdWVSZWdzKHZh
bHVlVGFnLCB2YWx1ZVBheWxvYWRSZWcpKSk7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAg
ICBhZGRTbG93UGF0aEdlbmVyYXRvcihzbG93UGF0aENhbGwoCiAgICAgICAgICAgICAgICAgc2xv
d0Nhc2UsIHRoaXMsCi0gICAgICAgICAgICAgICAgbV9qaXQuaXNTdHJpY3RNb2RlRm9yKG5vZGUt
Pm9yaWdpbi5zZW1hbnRpYykgPyBvcGVyYXRpb25QdXRCeVZhbEJleW9uZEFycmF5Qm91bmRzU3Ry
aWN0IDogb3BlcmF0aW9uUHV0QnlWYWxCZXlvbmRBcnJheUJvdW5kc05vblN0cmljdCwKKyAgICAg
ICAgICAgICAgICBub2RlLT5lY21hTW9kZSgpLmlzU3RyaWN0KCkgPyBvcGVyYXRpb25QdXRCeVZh
bEJleW9uZEFycmF5Qm91bmRzU3RyaWN0IDogb3BlcmF0aW9uUHV0QnlWYWxCZXlvbmRBcnJheUJv
dW5kc05vblN0cmljdCwKICAgICAgICAgICAgICAgICBOb1Jlc3VsdCwgVHJ1c3RlZEltbVB0cjo6
d2Vha1BvaW50ZXIobV9ncmFwaCwgbV9ncmFwaC5nbG9iYWxPYmplY3RGb3Iobm9kZS0+b3JpZ2lu
LnNlbWFudGljKSksIGJhc2VSZWcsIHByb3BlcnR5UmVnLCBKU1ZhbHVlUmVncyh2YWx1ZVRhZywg
dmFsdWVQYXlsb2FkUmVnKSkpOwogICAgICAgICB9CiAgICAgfQpAQCAtMjYyOSw5ICsyNjMwLDkg
QEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBub2RlKQogICAgICAgICAgICAg
CiAgICAgICAgICAgICBmbHVzaFJlZ2lzdGVycygpOwogICAgICAgICAgICAgaWYgKG5vZGUtPm9w
KCkgPT0gUHV0QnlWYWxEaXJlY3QpCi0gICAgICAgICAgICAgICAgY2FsbE9wZXJhdGlvbihtX2pp
dC5pc1N0cmljdE1vZGVGb3Iobm9kZS0+b3JpZ2luLnNlbWFudGljKSA/IG9wZXJhdGlvblB1dEJ5
VmFsRGlyZWN0Q2VsbFN0cmljdCA6IG9wZXJhdGlvblB1dEJ5VmFsRGlyZWN0Q2VsbE5vblN0cmlj
dCwgVHJ1c3RlZEltbVB0cjo6d2Vha1BvaW50ZXIobV9ncmFwaCwgbV9ncmFwaC5nbG9iYWxPYmpl
Y3RGb3Iobm9kZS0+b3JpZ2luLnNlbWFudGljKSksIGJhc2VHUFIsIHByb3BlcnR5UmVncywgdmFs
dWVSZWdzKTsKKyAgICAgICAgICAgICAgICBjYWxsT3BlcmF0aW9uKG5vZGUtPmVjbWFNb2RlKCku
aXNTdHJpY3QoKSA/IG9wZXJhdGlvblB1dEJ5VmFsRGlyZWN0Q2VsbFN0cmljdCA6IG9wZXJhdGlv
blB1dEJ5VmFsRGlyZWN0Q2VsbE5vblN0cmljdCwgVHJ1c3RlZEltbVB0cjo6d2Vha1BvaW50ZXIo
bV9ncmFwaCwgbV9ncmFwaC5nbG9iYWxPYmplY3RGb3Iobm9kZS0+b3JpZ2luLnNlbWFudGljKSks
IGJhc2VHUFIsIHByb3BlcnR5UmVncywgdmFsdWVSZWdzKTsKICAgICAgICAgICAgIGVsc2UKLSAg
ICAgICAgICAgICAgICBjYWxsT3BlcmF0aW9uKG1faml0LmlzU3RyaWN0TW9kZUZvcihub2RlLT5v
cmlnaW4uc2VtYW50aWMpID8gb3BlcmF0aW9uUHV0QnlWYWxDZWxsU3RyaWN0IDogb3BlcmF0aW9u
UHV0QnlWYWxDZWxsTm9uU3RyaWN0LCBUcnVzdGVkSW1tUHRyOjp3ZWFrUG9pbnRlcihtX2dyYXBo
LCBtX2dyYXBoLmdsb2JhbE9iamVjdEZvcihub2RlLT5vcmlnaW4uc2VtYW50aWMpKSwgYmFzZUdQ
UiwgcHJvcGVydHlSZWdzLCB2YWx1ZVJlZ3MpOworICAgICAgICAgICAgICAgIGNhbGxPcGVyYXRp
b24obm9kZS0+ZWNtYU1vZGUoKS5pc1N0cmljdCgpID8gb3BlcmF0aW9uUHV0QnlWYWxDZWxsU3Ry
aWN0IDogb3BlcmF0aW9uUHV0QnlWYWxDZWxsTm9uU3RyaWN0LCBUcnVzdGVkSW1tUHRyOjp3ZWFr
UG9pbnRlcihtX2dyYXBoLCBtX2dyYXBoLmdsb2JhbE9iamVjdEZvcihub2RlLT5vcmlnaW4uc2Vt
YW50aWMpKSwgYmFzZUdQUiwgcHJvcGVydHlSZWdzLCB2YWx1ZVJlZ3MpOwogICAgICAgICAgICAg
bV9qaXQuZXhjZXB0aW9uQ2hlY2soKTsKICAgICAgICAgICAgIAogICAgICAgICAgICAgbm9SZXN1
bHQobm9kZSk7CkBAIC0yNzQyLDEyICsyNzQzLDEyIEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNv
bXBpbGUoTm9kZSogbm9kZSkKICAgICAgICAgICAgICAgICBpZiAobm9kZS0+b3AoKSA9PSBQdXRC
eVZhbERpcmVjdCkgewogICAgICAgICAgICAgICAgICAgICBhZGRTbG93UGF0aEdlbmVyYXRvcihz
bG93UGF0aENhbGwoCiAgICAgICAgICAgICAgICAgICAgICAgICBzbG93Q2FzZXMsIHRoaXMsCi0g
ICAgICAgICAgICAgICAgICAgICAgICBtX2ppdC5pc1N0cmljdE1vZGVGb3Iobm9kZS0+b3JpZ2lu
LnNlbWFudGljKSA/IG9wZXJhdGlvblB1dEJ5VmFsRGlyZWN0QmV5b25kQXJyYXlCb3VuZHNTdHJp
Y3QgOiBvcGVyYXRpb25QdXRCeVZhbERpcmVjdEJleW9uZEFycmF5Qm91bmRzTm9uU3RyaWN0LAor
ICAgICAgICAgICAgICAgICAgICAgICAgbm9kZS0+ZWNtYU1vZGUoKS5pc1N0cmljdCgpID8gb3Bl
cmF0aW9uUHV0QnlWYWxEaXJlY3RCZXlvbmRBcnJheUJvdW5kc1N0cmljdCA6IG9wZXJhdGlvblB1
dEJ5VmFsRGlyZWN0QmV5b25kQXJyYXlCb3VuZHNOb25TdHJpY3QsCiAgICAgICAgICAgICAgICAg
ICAgICAgICBOb1Jlc3VsdCwgVHJ1c3RlZEltbVB0cjo6d2Vha1BvaW50ZXIobV9ncmFwaCwgbV9n
cmFwaC5nbG9iYWxPYmplY3RGb3Iobm9kZS0+b3JpZ2luLnNlbWFudGljKSksIGJhc2VSZWcsIHBy
b3BlcnR5UmVnLCBKU1ZhbHVlUmVncyh2YWx1ZVRhZ1JlZywgdmFsdWVQYXlsb2FkUmVnKSkpOwog
ICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgIGFkZFNsb3dQYXRo
R2VuZXJhdG9yKHNsb3dQYXRoQ2FsbCgKICAgICAgICAgICAgICAgICAgICAgICAgIHNsb3dDYXNl
cywgdGhpcywKLSAgICAgICAgICAgICAgICAgICAgICAgIG1faml0LmlzU3RyaWN0TW9kZUZvcihu
b2RlLT5vcmlnaW4uc2VtYW50aWMpID8gb3BlcmF0aW9uUHV0QnlWYWxCZXlvbmRBcnJheUJvdW5k
c1N0cmljdCA6IG9wZXJhdGlvblB1dEJ5VmFsQmV5b25kQXJyYXlCb3VuZHNOb25TdHJpY3QsCisg
ICAgICAgICAgICAgICAgICAgICAgICBub2RlLT5lY21hTW9kZSgpLmlzU3RyaWN0KCkgPyBvcGVy
YXRpb25QdXRCeVZhbEJleW9uZEFycmF5Qm91bmRzU3RyaWN0IDogb3BlcmF0aW9uUHV0QnlWYWxC
ZXlvbmRBcnJheUJvdW5kc05vblN0cmljdCwKICAgICAgICAgICAgICAgICAgICAgICAgIE5vUmVz
dWx0LCBUcnVzdGVkSW1tUHRyOjp3ZWFrUG9pbnRlcihtX2dyYXBoLCBtX2dyYXBoLmdsb2JhbE9i
amVjdEZvcihub2RlLT5vcmlnaW4uc2VtYW50aWMpKSwgYmFzZVJlZywgcHJvcGVydHlSZWcsIEpT
VmFsdWVSZWdzKHZhbHVlVGFnUmVnLCB2YWx1ZVBheWxvYWRSZWcpKSk7CiAgICAgICAgICAgICAg
ICAgfQogICAgICAgICAgICAgfQpAQCAtMjc4Miw3ICsyNzgzLDcgQEAgdm9pZCBTcGVjdWxhdGl2
ZUpJVDo6Y29tcGlsZShOb2RlKiBub2RlKQogICAgICAgICBKU1ZhbHVlUmVncyB2YWx1ZVJlZ3Mg
PSB2YWx1ZS5qc1ZhbHVlUmVncygpOwogCiAgICAgICAgIGZsdXNoUmVnaXN0ZXJzKCk7Ci0gICAg
ICAgIGNhbGxPcGVyYXRpb24obV9qaXQuaXNTdHJpY3RNb2RlRm9yKG5vZGUtPm9yaWdpbi5zZW1h
bnRpYykgPyBvcGVyYXRpb25QdXRCeVZhbFdpdGhUaGlzU3RyaWN0IDogb3BlcmF0aW9uUHV0QnlW
YWxXaXRoVGhpcywKKyAgICAgICAgY2FsbE9wZXJhdGlvbihub2RlLT5lY21hTW9kZSgpLmlzU3Ry
aWN0KCkgPyBvcGVyYXRpb25QdXRCeVZhbFdpdGhUaGlzU3RyaWN0IDogb3BlcmF0aW9uUHV0QnlW
YWxXaXRoVGhpcywKICAgICAgICAgICAgIFRydXN0ZWRJbW1QdHI6OndlYWtQb2ludGVyKG1fZ3Jh
cGgsIG1fZ3JhcGguZ2xvYmFsT2JqZWN0Rm9yKG5vZGUtPm9yaWdpbi5zZW1hbnRpYykpLCBiYXNl
UmVncywgdGhpc1JlZ3MsIHByb3BlcnR5UmVncywgdmFsdWVSZWdzKTsKICAgICAgICAgbV9qaXQu
ZXhjZXB0aW9uQ2hlY2soKTsKIApAQCAtNDI5Myw3ICs0Mjk0LDcgQEAgdm9pZCBTcGVjdWxhdGl2
ZUpJVDo6Y29tcGlsZURlbGV0ZUJ5SWQoTm9kZSogbm9kZSkKICAgICB2YWx1ZS51c2UoKTsKIAog
ICAgIGZsdXNoUmVnaXN0ZXJzKCk7Ci0gICAgY2FsbE9wZXJhdGlvbihvcGVyYXRpb25EZWxldGVC
eUlkR2VuZXJpYywgcmVzdWx0R1BSLCBUcnVzdGVkSW1tUHRyOjp3ZWFrUG9pbnRlcihtX2dyYXBo
LCBtX2dyYXBoLmdsb2JhbE9iamVjdEZvcihub2RlLT5vcmlnaW4uc2VtYW50aWMpKSwgbnVsbHB0
ciwgdmFsdWVSZWdzLCBub2RlLT5jYWNoZWFibGVJZGVudGlmaWVyKCkucmF3Qml0cygpKTsKKyAg
ICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvbkRlbGV0ZUJ5SWRHZW5lcmljLCByZXN1bHRHUFIsIFRy
dXN0ZWRJbW1QdHI6OndlYWtQb2ludGVyKG1fZ3JhcGgsIG1fZ3JhcGguZ2xvYmFsT2JqZWN0Rm9y
KG5vZGUtPm9yaWdpbi5zZW1hbnRpYykpLCBudWxscHRyLCB2YWx1ZVJlZ3MsIG5vZGUtPmNhY2hl
YWJsZUlkZW50aWZpZXIoKS5yYXdCaXRzKCksIFRydXN0ZWRJbW0zMihub2RlLT5lY21hTW9kZSgp
LnZhbHVlKCkpKTsKICAgICBtX2ppdC5leGNlcHRpb25DaGVjaygpOwogCiAgICAgdW5ibGVzc2Vk
Qm9vbGVhblJlc3VsdChyZXN1bHRHUFIsIG5vZGUsIFVzZUNoaWxkcmVuQ2FsbGVkRXhwbGljaXRs
eSk7CkBAIC00MzEzLDcgKzQzMTQsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlRGVs
ZXRlQnlWYWwoTm9kZSogbm9kZSkKICAgICBrZXkudXNlKCk7CiAKICAgICBmbHVzaFJlZ2lzdGVy
cygpOwotICAgIGNhbGxPcGVyYXRpb24ob3BlcmF0aW9uRGVsZXRlQnlWYWxHZW5lcmljLCByZXN1
bHRHUFIsIFRydXN0ZWRJbW1QdHI6OndlYWtQb2ludGVyKG1fZ3JhcGgsIG1fZ3JhcGguZ2xvYmFs
T2JqZWN0Rm9yKG5vZGUtPm9yaWdpbi5zZW1hbnRpYykpLCBudWxscHRyLCBiYXNlUmVncywga2V5
UmVncyk7CisgICAgY2FsbE9wZXJhdGlvbihvcGVyYXRpb25EZWxldGVCeVZhbEdlbmVyaWMsIHJl
c3VsdEdQUiwgVHJ1c3RlZEltbVB0cjo6d2Vha1BvaW50ZXIobV9ncmFwaCwgbV9ncmFwaC5nbG9i
YWxPYmplY3RGb3Iobm9kZS0+b3JpZ2luLnNlbWFudGljKSksIG51bGxwdHIsIGJhc2VSZWdzLCBr
ZXlSZWdzLCBUcnVzdGVkSW1tMzIobm9kZS0+ZWNtYU1vZGUoKS52YWx1ZSgpKSk7CiAgICAgbV9q
aXQuZXhjZXB0aW9uQ2hlY2soKTsKIAogICAgIHVuYmxlc3NlZEJvb2xlYW5SZXN1bHQocmVzdWx0
R1BSLCBub2RlLCBVc2VDaGlsZHJlbkNhbGxlZEV4cGxpY2l0bHkpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRDYWxsMzJfNjQuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVRDYWxsMzJfNjQuY3BwCmluZGV4IGEzMjA4MWNiNjlkYjAxM2Y3OTNlYzQy
NWIxNTk2YWNmOTRlYjNmYTUuLjkwNjk2Y2JlYzEwZTM5M2I5OTcwZjBlYjIwMTE4ZDIxOTc0YzM1
MjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQ2FsbDMyXzY0LmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVENhbGwzMl82NC5jcHAKQEAgLTIy
OSw3ICsyMjksOCBAQCBib29sIEpJVDo6Y29tcGlsZUNhbGxFdmFsKGNvbnN0IE9wQ2FsbEV2YWwm
IGJ5dGVjb2RlKQogCiAgICAgYWRkUHRyKFRydXN0ZWRJbW0zMihzdGFja1BvaW50ZXJPZmZzZXRG
b3IobV9jb2RlQmxvY2spICogc2l6ZW9mKFJlZ2lzdGVyKSksIGNhbGxGcmFtZVJlZ2lzdGVyLCBz
dGFja1BvaW50ZXJSZWdpc3Rlcik7CiAKLSAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvbkNhbGxF
dmFsLCBtX2NvZGVCbG9jay0+Z2xvYmFsT2JqZWN0KCksIHJlZ1QxKTsKKyAgICBtb3ZlKFRydXN0
ZWRJbW0zMihieXRlY29kZS5tX2VjbWFNb2RlLnZhbHVlKCkpLCByZWdUMik7CisgICAgY2FsbE9w
ZXJhdGlvbihvcGVyYXRpb25DYWxsRXZhbCwgbV9jb2RlQmxvY2stPmdsb2JhbE9iamVjdCgpLCBy
ZWdUMSwgcmVnVDIpOwogCiAgICAgYWRkU2xvd0Nhc2UoYnJhbmNoSWZFbXB0eShyZWdUMSkpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNz
MzJfNjQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2VzczMy
XzY0LmNwcAppbmRleCA1MzU0ODZjZDhmMTUzMmFkMWJlYjUxNWE4NmI5MDhhYmM4MzY5NmUwLi40
MDkxYzQ0ZjdkNzE3ZmMyYjNhMDFiMjQxMTJlZmE4ZDM3YTlmNTA1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzMzJfNjQuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MzMl82NC5jcHAKQEAgLTEy
NCw3ICsxMjQsNyBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9kZWxfYnlfaWQoY29uc3QgSW5zdHJ1Y3Rp
b24qIGN1cnJlbnRJbnN0cnVjdGlvbikKICAgICBjb25zdCBJZGVudGlmaWVyKiBpZGVudCA9ICYo
bV9jb2RlQmxvY2stPmlkZW50aWZpZXIoYnl0ZWNvZGUubV9wcm9wZXJ0eSkpOwogCiAgICAgZW1p
dExvYWQoYmFzZSwgcmVnVDEsIHJlZ1QwKTsKLSAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvbkRl
bGV0ZUJ5SWRHZW5lcmljLCBtX2NvZGVCbG9jay0+Z2xvYmFsT2JqZWN0KCksIG51bGxwdHIsIEpT
VmFsdWVSZWdzKHJlZ1QxLCByZWdUMCksIENhY2hlYWJsZUlkZW50aWZpZXI6OmNyZWF0ZUZyb21J
ZGVudGlmaWVyT3duZWRCeUNvZGVCbG9jayhtX2NvZGVCbG9jaywgKmlkZW50KS5yYXdCaXRzKCkp
OworICAgIGNhbGxPcGVyYXRpb24ob3BlcmF0aW9uRGVsZXRlQnlJZEdlbmVyaWMsIG1fY29kZUJs
b2NrLT5nbG9iYWxPYmplY3QoKSwgbnVsbHB0ciwgSlNWYWx1ZVJlZ3MocmVnVDEsIHJlZ1QwKSwg
Q2FjaGVhYmxlSWRlbnRpZmllcjo6Y3JlYXRlRnJvbUlkZW50aWZpZXJPd25lZEJ5Q29kZUJsb2Nr
KG1fY29kZUJsb2NrLCAqaWRlbnQpLnJhd0JpdHMoKSwgVHJ1c3RlZEltbTMyKGJ5dGVjb2RlLm1f
ZWNtYU1vZGUudmFsdWUoKSkpOwogICAgIGJveEJvb2xlYW4ocmVnVDAsIEpTVmFsdWVSZWdzKHJl
Z1QxLCByZWdUMCkpOwogICAgIGVtaXRQdXRWaXJ0dWFsUmVnaXN0ZXIoZHN0LCBKU1ZhbHVlUmVn
cyhyZWdUMSwgcmVnVDApKTsKIH0KQEAgLTEzNiw3ICsxMzYsNyBAQCB2b2lkIEpJVDo6ZW1pdF9v
cF9kZWxfYnlfdmFsKGNvbnN0IEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiAgICAg
VmlydHVhbFJlZ2lzdGVyIGJhc2UgPSBieXRlY29kZS5tX2Jhc2U7CiAgICAgVmlydHVhbFJlZ2lz
dGVyIHByb3BlcnR5ID0gYnl0ZWNvZGUubV9wcm9wZXJ0eTsKICAgICBlbWl0TG9hZDIoYmFzZSwg
cmVnVDEsIHJlZ1QwLCBwcm9wZXJ0eSwgcmVnVDMsIHJlZ1QyKTsKLSAgICBjYWxsT3BlcmF0aW9u
KG9wZXJhdGlvbkRlbGV0ZUJ5VmFsR2VuZXJpYywgbV9jb2RlQmxvY2stPmdsb2JhbE9iamVjdCgp
LCBudWxscHRyLCBKU1ZhbHVlUmVncyhyZWdUMSwgcmVnVDApLCBKU1ZhbHVlUmVncyhyZWdUMywg
cmVnVDIpKTsKKyAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvbkRlbGV0ZUJ5VmFsR2VuZXJpYywg
bV9jb2RlQmxvY2stPmdsb2JhbE9iamVjdCgpLCBudWxscHRyLCBKU1ZhbHVlUmVncyhyZWdUMSwg
cmVnVDApLCBKU1ZhbHVlUmVncyhyZWdUMywgcmVnVDIpLCBUcnVzdGVkSW1tMzIoYnl0ZWNvZGUu
bV9lY21hTW9kZS52YWx1ZSgpKSk7CiAgICAgYm94Qm9vbGVhbihyZWdUMCwgSlNWYWx1ZVJlZ3Mo
cmVnVDEsIHJlZ1QwKSk7CiAgICAgZW1pdFB1dFZpcnR1YWxSZWdpc3Rlcihkc3QsIEpTVmFsdWVS
ZWdzKHJlZ1QxLCByZWdUMCkpOwogfQpAQCAtMzc4LDcgKzM3OCw3IEBAIEpJVFB1dEJ5SWRHZW5l
cmF0b3IgSklUOjplbWl0UHV0QnlWYWxXaXRoQ2FjaGVkSWQoT3AgYnl0ZWNvZGUsIFB1dEtpbmQg
cHV0S2luZCwKIAogICAgIEpJVFB1dEJ5SWRHZW5lcmF0b3IgZ2VuKAogICAgICAgICBtX2NvZGVC
bG9jaywgQ29kZU9yaWdpbihtX2J5dGVjb2RlSW5kZXgpLCBDYWxsU2l0ZUluZGV4KG1fYnl0ZWNv
ZGVJbmRleCksIFJlZ2lzdGVyU2V0OjpzdHViVW5hdmFpbGFibGVSZWdpc3RlcnMoKSwgcHJvcGVy
dHlOYW1lLAotICAgICAgICBKU1ZhbHVlUmVnczo6cGF5bG9hZE9ubHkocmVnVDApLCBKU1ZhbHVl
UmVncyhyZWdUMywgcmVnVDIpLCByZWdUMSwgbV9jb2RlQmxvY2stPmVjbWFNb2RlKCksIHB1dEtp
bmQpOworICAgICAgICBKU1ZhbHVlUmVnczo6cGF5bG9hZE9ubHkocmVnVDApLCBKU1ZhbHVlUmVn
cyhyZWdUMywgcmVnVDIpLCByZWdUMSwgYnl0ZWNvZGUubV9lY21hTW9kZSwgcHV0S2luZCk7CiAg
ICAgZ2VuLmdlbmVyYXRlRmFzdFBhdGgoKnRoaXMpOwogICAgIGRvbmVDYXNlcy5hcHBlbmQoanVt
cCgpKTsKIApAQCAtNDAxLDExICs0MDEsMTMgQEAgdm9pZCBKSVQ6OmVtaXRTbG93X29wX3B1dF9i
eV92YWwoY29uc3QgSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbiwgVmVjdG9yPFMKICAg
ICBWaXJ0dWFsUmVnaXN0ZXIgYmFzZTsKICAgICBWaXJ0dWFsUmVnaXN0ZXIgcHJvcGVydHk7CiAg
ICAgVmlydHVhbFJlZ2lzdGVyIHZhbHVlOworICAgIEVDTUFNb2RlIGVjbWFNb2RlID0gRUNNQU1v
ZGU6OnN0cmljdCgpOwogCiAgICAgYXV0byBsb2FkID0gWyZdKGF1dG8gYnl0ZWNvZGUpIHsKICAg
ICAgICAgYmFzZSA9IGJ5dGVjb2RlLm1fYmFzZTsKICAgICAgICAgcHJvcGVydHkgPSBieXRlY29k
ZS5tX3Byb3BlcnR5OwogICAgICAgICB2YWx1ZSA9IGJ5dGVjb2RlLm1fdmFsdWU7CisgICAgICAg
IGVjbWFNb2RlID0gYnl0ZWNvZGUubV9lY21hTW9kZTsKICAgICB9OwogCiAgICAgaWYgKGlzRGly
ZWN0KQpAQCAtNDIzLDcgKzQyNSw3IEBAIHZvaWQgSklUOjplbWl0U2xvd19vcF9wdXRfYnlfdmFs
KGNvbnN0IEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24sIFZlY3RvcjxTCiAgICAgZW1p
dExvYWQoYmFzZSwgcmVnVDIsIHJlZ1QxKTsKICAgICBlbWl0TG9hZChwcm9wZXJ0eSwgcmVnVDMs
IHJlZ1QwKTsKICAgICBlbWl0TG9hZCh2YWx1ZSwgcmVnVDUsIHJlZ1Q0KTsKLSAgICBDYWxsIGNh
bGwgPSBjYWxsT3BlcmF0aW9uKGlzRGlyZWN0ID8gb3BlcmF0aW9uRGlyZWN0UHV0QnlWYWxPcHRp
bWl6ZSA6IG9wZXJhdGlvblB1dEJ5VmFsT3B0aW1pemUsIG1fY29kZUJsb2NrLT5nbG9iYWxPYmpl
Y3QoKSwgSlNWYWx1ZVJlZ3MocmVnVDIsIHJlZ1QxKSwgSlNWYWx1ZVJlZ3MocmVnVDMsIHJlZ1Qw
KSwgSlNWYWx1ZVJlZ3MocmVnVDUsIHJlZ1Q0KSwgYnlWYWxJbmZvLCBieXRlY29kZS5tX2lzU3Ry
aWN0TW9kZSk7CisgICAgQ2FsbCBjYWxsID0gY2FsbE9wZXJhdGlvbihpc0RpcmVjdCA/IG9wZXJh
dGlvbkRpcmVjdFB1dEJ5VmFsT3B0aW1pemUgOiBvcGVyYXRpb25QdXRCeVZhbE9wdGltaXplLCBt
X2NvZGVCbG9jay0+Z2xvYmFsT2JqZWN0KCksIEpTVmFsdWVSZWdzKHJlZ1QyLCByZWdUMSksIEpT
VmFsdWVSZWdzKHJlZ1QzLCByZWdUMCksIEpTVmFsdWVSZWdzKHJlZ1Q1LCByZWdUNCksIGJ5VmFs
SW5mbywgVHJ1c3RlZEltbTMyKGVjbWFNb2RlLnZhbHVlKCkpKTsKIAogICAgIG1fYnlWYWxDb21w
aWxhdGlvbkluZm9bbV9ieVZhbEluc3RydWN0aW9uSW5kZXhdLnNsb3dQYXRoVGFyZ2V0ID0gc2xv
d1BhdGg7CiAgICAgbV9ieVZhbENvbXBpbGF0aW9uSW5mb1ttX2J5VmFsSW5zdHJ1Y3Rpb25JbmRl
eF0ucmV0dXJuQWRkcmVzcyA9IGNhbGw7CkBAIC02MDMsNyArNjA1LDcgQEAgdm9pZCBKSVQ6OmVt
aXRfb3BfcHV0X2J5X2lkKGNvbnN0IEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiAg
ICAgYXV0byBieXRlY29kZSA9IGN1cnJlbnRJbnN0cnVjdGlvbi0+YXM8T3BQdXRCeUlkPigpOwog
ICAgIFZpcnR1YWxSZWdpc3RlciBiYXNlID0gYnl0ZWNvZGUubV9iYXNlOwogICAgIFZpcnR1YWxS
ZWdpc3RlciB2YWx1ZSA9IGJ5dGVjb2RlLm1fdmFsdWU7Ci0gICAgYm9vbCBkaXJlY3QgPSAhIShi
eXRlY29kZS5tX2ZsYWdzICYgUHV0QnlJZElzRGlyZWN0KTsKKyAgICBib29sIGRpcmVjdCA9IGJ5
dGVjb2RlLm1fZmxhZ3MuaXNEaXJlY3QoKTsKICAgICBjb25zdCBJZGVudGlmaWVyKiBpZGVudCA9
ICYobV9jb2RlQmxvY2stPmlkZW50aWZpZXIoYnl0ZWNvZGUubV9wcm9wZXJ0eSkpOwogICAgIAog
ICAgIGVtaXRMb2FkMihiYXNlLCByZWdUMSwgcmVnVDAsIHZhbHVlLCByZWdUMywgcmVnVDIpOwpA
QCAtNjE0LDcgKzYxNiw3IEBAIHZvaWQgSklUOjplbWl0X29wX3B1dF9ieV9pZChjb25zdCBJbnN0
cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQogICAgICAgICBtX2NvZGVCbG9jaywgQ29kZU9y
aWdpbihtX2J5dGVjb2RlSW5kZXgpLCBDYWxsU2l0ZUluZGV4KG1fYnl0ZWNvZGVJbmRleCksIFJl
Z2lzdGVyU2V0OjpzdHViVW5hdmFpbGFibGVSZWdpc3RlcnMoKSwKICAgICAgICAgQ2FjaGVhYmxl
SWRlbnRpZmllcjo6Y3JlYXRlRnJvbUlkZW50aWZpZXJPd25lZEJ5Q29kZUJsb2NrKG1fY29kZUJs
b2NrLCAqaWRlbnQpLAogICAgICAgICBKU1ZhbHVlUmVnczo6cGF5bG9hZE9ubHkocmVnVDApLCBK
U1ZhbHVlUmVncyhyZWdUMywgcmVnVDIpLAotICAgICAgICByZWdUMSwgbV9jb2RlQmxvY2stPmVj
bWFNb2RlKCksIGRpcmVjdCA/IERpcmVjdCA6IE5vdERpcmVjdCk7CisgICAgICAgIHJlZ1QxLCBi
eXRlY29kZS5tX2ZsYWdzLmVjbWFNb2RlKCksIGRpcmVjdCA/IERpcmVjdCA6IE5vdERpcmVjdCk7
CiAgICAgCiAgICAgZ2VuLmdlbmVyYXRlRmFzdFBhdGgoKnRoaXMpOwogICAgIGFkZFNsb3dDYXNl
KGdlbi5zbG93UGF0aEp1bXAoKSk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>