<?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>98893</bug_id>
          
          <creation_ts>2012-10-10 06:12:12 -0700</creation_ts>
          <short_desc>Replace (typeof(x) != &lt;&gt;) with !(typeof(x) == &lt;&gt;)</short_desc>
          <delta_ts>2022-02-27 23:26:35 -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>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Valery Ignatyev">valery.ignatyev</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>barraclough</cc>
    
    <cc>bfulgham</cc>
    
    <cc>fpizlo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>738887</commentid>
    <comment_count>0</comment_count>
    <who name="Valery Ignatyev">valery.ignatyev</who>
    <bug_when>2012-10-10 06:12:12 -0700</bug_when>
    <thetext>Replace (typeof(x) != &lt;&quot;object&quot;, &quot;undefined&quot;, ...&gt;) with !(typeof(x) == {&quot;object&quot;,..}). Later is_object, is_&lt;...&gt;  bytecode operation will be used. 

This eliminates expensive typeof implementation and allows to use DFG optimizations, which doesn&apos;t support &apos;typeof&apos;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>738888</commentid>
    <comment_count>1</comment_count>
      <attachid>167986</attachid>
    <who name="Valery Ignatyev">valery.ignatyev</who>
    <bug_when>2012-10-10 06:15:09 -0700</bug_when>
    <thetext>Created attachment 167986
patch with fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>739137</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-10-10 11:07:34 -0700</bug_when>
    <thetext>Is this patch ready for review? If so, please mark is as &quot;review?&quot;, so that it doesn&apos;t get overlooked.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>739320</commentid>
    <comment_count>3</comment_count>
      <attachid>167986</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-10-10 15:05:35 -0700</bug_when>
    <thetext>Comment on attachment 167986
patch with fix

Attachment 167986 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/14244735

New failing tests:
sputnik/Conformance/15_Native_Objects/15.1_The_Global_Object/15.1.1/15.1.1.1_NaN/S15.1.1.1_A2_T2.html
platform/mac/plugins/bindings-test-objc.html
fast/workers/worker-close.html
sputnik/Conformance/09_Type_Conversion/9.8_ToString/S9.8_A4_T2.html
fast/js/webcore-string-comparison.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>739321</commentid>
    <comment_count>4</comment_count>
      <attachid>167986</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-10-10 15:07:11 -0700</bug_when>
    <thetext>Comment on attachment 167986
patch with fix

It seems like you&apos;re making tests fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>739849</commentid>
    <comment_count>5</comment_count>
      <attachid>168201</attachid>
    <who name="Valery Ignatyev">valery.ignatyev</who>
    <bug_when>2012-10-11 05:44:04 -0700</bug_when>
    <thetext>Created attachment 168201
patch second attempt</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>740039</commentid>
    <comment_count>6</comment_count>
      <attachid>168201</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-10-11 09:25:25 -0700</bug_when>
    <thetext>Comment on attachment 168201
patch second attempt

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

&gt; Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp:1060
&gt; +        if (opcodeID == op_nstricteq)

This should be &quot;else if&quot;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>740056</commentid>
    <comment_count>7</comment_count>
      <attachid>168242</attachid>
    <who name="Valery Ignatyev">valery.ignatyev</who>
    <bug_when>2012-10-11 09:36:28 -0700</bug_when>
    <thetext>Created attachment 168242
fixed patch

Thank you very much for a feedback.
Is it codestyle violation?
I didn&apos;t understand why &apos;else if&apos; is necessary.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>740063</commentid>
    <comment_count>8</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-10-11 09:39:08 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; Created an attachment (id=168242) [details]
&gt; fixed patch
&gt; 
&gt; Thank you very much for a feedback.
&gt; Is it codestyle violation?
&gt; I didn&apos;t understand why &apos;else if&apos; is necessary.

1) Style.  At first, since there wasn&apos;t an &quot;else&quot;, it seemed like both &apos;if&apos; statements could be taken, which is not the case.  It makes the code less clear on first glance.

2) Performance.  We care about it.  So even in code that isn&apos;t known to be hot (though all of the bytecode generator is hot and is subject to continuous interest from the standpoint of optimization), we aim to write the code in a way that will be naturally performant especially if it&apos;s super easy to do so - like making sure that the second branch isn&apos;t taken if the first one is (by using &quot;else&quot;).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>757123</commentid>
    <comment_count>9</comment_count>
    <who name="Valery Ignatyev">valery.ignatyev</who>
    <bug_when>2012-11-02 05:27:15 -0700</bug_when>
    <thetext>ping</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>765815</commentid>
    <comment_count>10</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2012-11-13 10:58:09 -0800</bug_when>
    <thetext>This patch looks good to me.  Filip, is there anything else you want to see before this is approved?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>766667</commentid>
    <comment_count>11</comment_count>
      <attachid>168242</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-14 02:31:07 -0800</bug_when>
    <thetext>Comment on attachment 168242
fixed patch

Rejecting attachment 168242 from commit-queue.

valery.ignatyev@ispras.ru does not have committer permissions according to http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/config/committers.py.

- If you do not have committer rights please read http://webkit.org/coding/contributing.html for instructions on how to use bugzilla flags.

- If you have committer rights please correct the error in Tools/Scripts/webkitpy/common/config/committers.py by adding yourself to the file (no review needed).  The commit-queue restarts itself every 2 hours.  After restart the commit-queue will correctly respect your committer rights.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767098</commentid>
    <comment_count>12</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2012-11-14 11:26:35 -0800</bug_when>
    <thetext>Committed r134634: &lt;http://trac.webkit.org/changeset/134634&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767100</commentid>
    <comment_count>13</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2012-11-14 11:27:24 -0800</bug_when>
    <thetext>I have committed the change; please watch the build bots for any test failures created by this change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767101</commentid>
    <comment_count>14</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2012-11-14 11:28:20 -0800</bug_when>
    <thetext>Out of curiosity, did you run any profiling to see what benefit this provided?  It would be nice to document them in this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767903</commentid>
    <comment_count>15</comment_count>
    <who name="Valery Ignatyev">valery.ignatyev</who>
    <bug_when>2012-11-15 03:28:54 -0800</bug_when>
    <thetext>Generally, this patch is only the first part of &apos;typeof&apos; support in DFG, which I&apos;am trying to implement in the bug https://bugs.webkit.org/show_bug.cgi?id=98898 , but still have no final success. 
I have separated this part not only by sense, but to familiarize with your patch contributing procedures.                    

We are working on performance improvement of customer&apos;s set of tests and this patch allows to use DFG on several functions. It gives 40% speedup on that tests. I can provide only reduced examples if it&apos;s necessary.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>167986</attachid>
            <date>2012-10-10 06:15:09 -0700</date>
            <delta_ts>2012-10-11 05:44:04 -0700</delta_ts>
            <desc>patch with fix</desc>
            <filename>typeof_p1.patch</filename>
            <type>text/plain</type>
            <size>1958</size>
            <attacher name="Valery Ignatyev">valery.ignatyev</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGYxMjJjN2UuLjg3OGViOTMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTEwLTEwICBWYWxlcnkgSWduYXR5
ZXYgIDx2YWxlcnkuaWduYXR5ZXZAaXNwcmFzLnJ1PgorCisgICAgICAgIFJlcGxhY2UgKHR5cGVv
Zih4KSAhPSA8Im9iamVjdCIsICJ1bmRlZmluZWQiLCAuLi4+KSB3aXRoCisgICAgICAgICEodHlw
ZW9mKHgpID09IDwib2JqZWN0IiwuLj4pLiBMYXRlciBpc19vYmplY3QsIGlzXzwuLi4+ICBieXRl
Y29kZSBvcGVyYXRpb24KKyAgICAgICAgd2lsbCBiZSB1c2VkLgorCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODg5MworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgZWxpbWluYXRlcyBleHBlbnNpdmUg
IHR5cGVvZiBpbXBsZW1lbnRhdGlvbiBhbmQKKyAgICAgICAgYWxsb3dzIHRvIHVzZSBERkcgb3B0
aW1pemF0aW9ucywgd2hpY2ggZG9lc24ndCBzdXBwb3J0ICd0eXBlb2YnLgorCisgICAgICAgICog
Ynl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHA6CisgICAgICAgIChKU0M6OkJpbmFyeU9wTm9k
ZTo6ZW1pdEJ5dGVjb2RlKToKKwogMjAxMi0xMC0xMCAgUGV0ZXIgR2FsICA8Z2FscGV0ZXJAaW5m
LnUtc3plZ2VkLmh1PgogCiAgICAgICAgIEFkZCBtb3ZlRG91YmxlVG9JbnRzIGFuZCBtb3ZlSW50
c1RvRG91YmxlIHRvIE1hY3JvQXNzZW1ibGVyQVJNCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKaW5kZXggMGFjNDE0OS4uNjY3ZDc4
MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0Nv
ZGVnZW4uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXND
b2RlZ2VuLmNwcApAQCAtMTA1Myw2ICsxMDUzLDExIEBAIFJlZ2lzdGVySUQqIEJpbmFyeU9wTm9k
ZTo6ZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiBnZW5lcmF0b3IsIFJlZ2lzdGVySUQq
CiAKICAgICBSZWZQdHI8UmVnaXN0ZXJJRD4gc3JjMSA9IGdlbmVyYXRvci5lbWl0Tm9kZUZvckxl
ZnRIYW5kU2lkZShtX2V4cHIxLCBtX3JpZ2h0SGFzQXNzaWdubWVudHMsIG1fZXhwcjItPmlzUHVy
ZShnZW5lcmF0b3IpKTsKICAgICBSZWdpc3RlcklEKiBzcmMyID0gZ2VuZXJhdG9yLmVtaXROb2Rl
KG1fZXhwcjIpOworICAgIGlmIChnZW5lcmF0b3IubV9sYXN0T3Bjb2RlSUQgPT0gb3BfdHlwZW9m
KSB7CisgICAgICAgIFJlZlB0cjxSZWdpc3RlcklEPiB0bXAgPSBnZW5lcmF0b3IudGVtcERlc3Rp
bmF0aW9uKGRzdCk7CisgICAgICAgIGdlbmVyYXRvci5lbWl0RXF1YWxpdHlPcChvcF9lcSwgZ2Vu
ZXJhdG9yLmZpbmFsRGVzdGluYXRpb24odG1wLmdldCgpLCBzcmMxLmdldCgpKSwgc3JjMS5nZXQo
KSwgc3JjMik7CisgICAgICAgIHJldHVybiBnZW5lcmF0b3IuZW1pdFVuYXJ5T3Aob3Bfbm90LCBn
ZW5lcmF0b3IuZmluYWxEZXN0aW5hdGlvbihkc3QsIHRtcC5nZXQoKSksIHRtcC5nZXQoKSk7Cisg
ICAgfQogICAgIHJldHVybiBnZW5lcmF0b3IuZW1pdEJpbmFyeU9wKG9wY29kZUlELCBnZW5lcmF0
b3IuZmluYWxEZXN0aW5hdGlvbihkc3QsIHNyYzEuZ2V0KCkpLCBzcmMxLmdldCgpLCBzcmMyLCBP
cGVyYW5kVHlwZXMobV9leHByMS0+cmVzdWx0RGVzY3JpcHRvcigpLCBtX2V4cHIyLT5yZXN1bHRE
ZXNjcmlwdG9yKCkpKTsKIH0KIAo=
</data>
<flag name="review"
          id="180937"
          type_id="1"
          status="-"
          setter="fpizlo"
    />
    <flag name="commit-queue"
          id="180966"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>168201</attachid>
            <date>2012-10-11 05:44:04 -0700</date>
            <delta_ts>2012-10-11 09:36:28 -0700</delta_ts>
            <desc>patch second attempt</desc>
            <filename>typeof_p1.patch</filename>
            <type>text/plain</type>
            <size>2185</size>
            <attacher name="Valery Ignatyev">valery.ignatyev</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGNlNmVmNjYuLjIxZDNjMzIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTEwLTExICBWYWxlcnkgSWduYXR5
ZXYgIDx2YWxlcnkuaWduYXR5ZXZAaXNwcmFzLnJ1PgorCisgICAgICAgIFJlcGxhY2UgKHR5cGVv
Zih4KSAhPSA8Im9iamVjdCIsICJ1bmRlZmluZWQiLCAuLi4+KSB3aXRoCisgICAgICAgICEodHlw
ZW9mKHgpID09IDwib2JqZWN0IiwuLj4pLiBMYXRlciBpc19vYmplY3QsIGlzXzwuLi4+ICBieXRl
Y29kZSBvcGVyYXRpb24KKyAgICAgICAgd2lsbCBiZSB1c2VkLgorCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODg5MworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgZWxpbWluYXRlcyBleHBlbnNpdmUg
IHR5cGVvZiBpbXBsZW1lbnRhdGlvbiBhbmQKKyAgICAgICAgYWxsb3dzIHRvIHVzZSBERkcgb3B0
aW1pemF0aW9ucywgd2hpY2ggZG9lc24ndCBzdXBwb3J0ICd0eXBlb2YnLgorCisgICAgICAgICog
Ynl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHA6CisgICAgICAgIChKU0M6OkJpbmFyeU9wTm9k
ZTo6ZW1pdEJ5dGVjb2RlKToKKwogMjAxMi0xMC0xMCAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5A
d2Via2l0Lm9yZz4KIAogICAgICAgICBQYWdlbG9hZCB0ZXN0cyBzaG91bGQgbWVhc3VyZSBtZW1v
cnkgdXNhZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIv
Tm9kZXNDb2RlZ2VuLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9k
ZXNDb2RlZ2VuLmNwcAppbmRleCAwYWM0MTQ5Li4yMDM0ZDI5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCkBAIC0xMDUzLDYg
KzEwNTMsMTQgQEAgUmVnaXN0ZXJJRCogQmluYXJ5T3BOb2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNv
ZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0ZXJJRCoKIAogICAgIFJlZlB0cjxSZWdpc3Rl
cklEPiBzcmMxID0gZ2VuZXJhdG9yLmVtaXROb2RlRm9yTGVmdEhhbmRTaWRlKG1fZXhwcjEsIG1f
cmlnaHRIYXNBc3NpZ25tZW50cywgbV9leHByMi0+aXNQdXJlKGdlbmVyYXRvcikpOwogICAgIFJl
Z2lzdGVySUQqIHNyYzIgPSBnZW5lcmF0b3IuZW1pdE5vZGUobV9leHByMik7CisgICAgaWYgKGdl
bmVyYXRvci5tX2xhc3RPcGNvZGVJRCA9PSBvcF90eXBlb2YgJiYgKG9wY29kZUlEID09IG9wX25l
cSB8fCBvcGNvZGVJRCA9PSBvcF9uc3RyaWN0ZXEpKSB7CisgICAgICAgIFJlZlB0cjxSZWdpc3Rl
cklEPiB0bXAgPSBnZW5lcmF0b3IudGVtcERlc3RpbmF0aW9uKGRzdCk7CisgICAgICAgIGlmIChv
cGNvZGVJRCA9PSBvcF9uZXEpCisgICAgICAgICAgICBnZW5lcmF0b3IuZW1pdEVxdWFsaXR5T3Ao
b3BfZXEsIGdlbmVyYXRvci5maW5hbERlc3RpbmF0aW9uKHRtcC5nZXQoKSwgc3JjMS5nZXQoKSks
IHNyYzEuZ2V0KCksIHNyYzIpOworICAgICAgICBpZiAob3Bjb2RlSUQgPT0gb3BfbnN0cmljdGVx
KQorICAgICAgICAgICAgZ2VuZXJhdG9yLmVtaXRFcXVhbGl0eU9wKG9wX3N0cmljdGVxLCBnZW5l
cmF0b3IuZmluYWxEZXN0aW5hdGlvbih0bXAuZ2V0KCksIHNyYzEuZ2V0KCkpLCBzcmMxLmdldCgp
LCBzcmMyKTsKKyAgICAgICAgcmV0dXJuIGdlbmVyYXRvci5lbWl0VW5hcnlPcChvcF9ub3QsIGdl
bmVyYXRvci5maW5hbERlc3RpbmF0aW9uKGRzdCwgdG1wLmdldCgpKSwgdG1wLmdldCgpKTsKKyAg
ICB9CiAgICAgcmV0dXJuIGdlbmVyYXRvci5lbWl0QmluYXJ5T3Aob3Bjb2RlSUQsIGdlbmVyYXRv
ci5maW5hbERlc3RpbmF0aW9uKGRzdCwgc3JjMS5nZXQoKSksIHNyYzEuZ2V0KCksIHNyYzIsIE9w
ZXJhbmRUeXBlcyhtX2V4cHIxLT5yZXN1bHREZXNjcmlwdG9yKCksIG1fZXhwcjItPnJlc3VsdERl
c2NyaXB0b3IoKSkpOwogfQogCg==
</data>
<flag name="review"
          id="181122"
          type_id="1"
          status="-"
          setter="fpizlo"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>168242</attachid>
            <date>2012-10-11 09:36:28 -0700</date>
            <delta_ts>2022-02-27 23:26:35 -0800</delta_ts>
            <desc>fixed patch</desc>
            <filename>typeof_p1.patch</filename>
            <type>text/plain</type>
            <size>2239</size>
            <attacher name="Valery Ignatyev">valery.ignatyev</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGNlNmVmNjYuLjIxZDNjMzIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTEwLTExICBWYWxlcnkgSWduYXR5
ZXYgIDx2YWxlcnkuaWduYXR5ZXZAaXNwcmFzLnJ1PgorCisgICAgICAgIFJlcGxhY2UgKHR5cGVv
Zih4KSAhPSA8Im9iamVjdCIsICJ1bmRlZmluZWQiLCAuLi4+KSB3aXRoCisgICAgICAgICEodHlw
ZW9mKHgpID09IDwib2JqZWN0IiwuLj4pLiBMYXRlciBpc19vYmplY3QsIGlzXzwuLi4+ICBieXRl
Y29kZSBvcGVyYXRpb24KKyAgICAgICAgd2lsbCBiZSB1c2VkLgorCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODg5MworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgZWxpbWluYXRlcyBleHBlbnNpdmUg
IHR5cGVvZiBpbXBsZW1lbnRhdGlvbiBhbmQKKyAgICAgICAgYWxsb3dzIHRvIHVzZSBERkcgb3B0
aW1pemF0aW9ucywgd2hpY2ggZG9lc24ndCBzdXBwb3J0ICd0eXBlb2YnLgorCisgICAgICAgICog
Ynl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHA6CisgICAgICAgIChKU0M6OkJpbmFyeU9wTm9k
ZTo6ZW1pdEJ5dGVjb2RlKToKKwogMjAxMi0xMC0xMCAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5A
d2Via2l0Lm9yZz4KIAogICAgICAgICBQYWdlbG9hZCB0ZXN0cyBzaG91bGQgbWVhc3VyZSBtZW1v
cnkgdXNhZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIv
Tm9kZXNDb2RlZ2VuLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9k
ZXNDb2RlZ2VuLmNwcAppbmRleCAwYWM0MTQ5Li4yMDM0ZDI5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCkBAIC0xMDUzLDYg
KzEwNTMsMTYgQEAgUmVnaXN0ZXJJRCogQmluYXJ5T3BOb2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNv
ZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0ZXJJRCoKIAogICAgIFJlZlB0cjxSZWdpc3Rl
cklEPiBzcmMxID0gZ2VuZXJhdG9yLmVtaXROb2RlRm9yTGVmdEhhbmRTaWRlKG1fZXhwcjEsIG1f
cmlnaHRIYXNBc3NpZ25tZW50cywgbV9leHByMi0+aXNQdXJlKGdlbmVyYXRvcikpOwogICAgIFJl
Z2lzdGVySUQqIHNyYzIgPSBnZW5lcmF0b3IuZW1pdE5vZGUobV9leHByMik7CisgICAgaWYgKGdl
bmVyYXRvci5tX2xhc3RPcGNvZGVJRCA9PSBvcF90eXBlb2YgJiYgKG9wY29kZUlEID09IG9wX25l
cSB8fCBvcGNvZGVJRCA9PSBvcF9uc3RyaWN0ZXEpKSB7CisgICAgICAgIFJlZlB0cjxSZWdpc3Rl
cklEPiB0bXAgPSBnZW5lcmF0b3IudGVtcERlc3RpbmF0aW9uKGRzdCk7CisgICAgICAgIGlmIChv
cGNvZGVJRCA9PSBvcF9uZXEpCisgICAgICAgICAgICBnZW5lcmF0b3IuZW1pdEVxdWFsaXR5T3Ao
b3BfZXEsIGdlbmVyYXRvci5maW5hbERlc3RpbmF0aW9uKHRtcC5nZXQoKSwgc3JjMS5nZXQoKSks
IHNyYzEuZ2V0KCksIHNyYzIpOworICAgICAgICBlbHNlIGlmIChvcGNvZGVJRCA9PSBvcF9uc3Ry
aWN0ZXEpCisgICAgICAgICAgICBnZW5lcmF0b3IuZW1pdEVxdWFsaXR5T3Aob3Bfc3RyaWN0ZXEs
IGdlbmVyYXRvci5maW5hbERlc3RpbmF0aW9uKHRtcC5nZXQoKSwgc3JjMS5nZXQoKSksIHNyYzEu
Z2V0KCksIHNyYzIpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsKKyAgICAgICAgcmV0dXJuIGdlbmVyYXRvci5lbWl0VW5hcnlPcChvcF9ub3QsIGdlbmVy
YXRvci5maW5hbERlc3RpbmF0aW9uKGRzdCwgdG1wLmdldCgpKSwgdG1wLmdldCgpKTsKKyAgICB9
CiAgICAgcmV0dXJuIGdlbmVyYXRvci5lbWl0QmluYXJ5T3Aob3Bjb2RlSUQsIGdlbmVyYXRvci5m
aW5hbERlc3RpbmF0aW9uKGRzdCwgc3JjMS5nZXQoKSksIHNyYzEuZ2V0KCksIHNyYzIsIE9wZXJh
bmRUeXBlcyhtX2V4cHIxLT5yZXN1bHREZXNjcmlwdG9yKCksIG1fZXhwcjItPnJlc3VsdERlc2Ny
aXB0b3IoKSkpOwogfQogCg==
</data>
<flag name="review"
          id="181166"
          type_id="1"
          status="+"
          setter="fpizlo"
    />
          </attachment>
      

    </bug>

</bugzilla>