<?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>167950</bug_id>
          
          <creation_ts>2017-02-07 12:17:45 -0800</creation_ts>
          <short_desc>SigillCrashAnalyzer::analyze() should use a do-while loop instead of a lambda.</short_desc>
          <delta_ts>2017-02-07 13:23:55 -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 Local 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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Lam">mark.lam</reporter>
          <assigned_to name="Mark Lam">mark.lam</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>keith_miller</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1274100</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2017-02-07 12:17:45 -0800</bug_when>
    <thetext>Michael pointed out to me that lambda&apos;s aren&apos;t free, and suggested I use a do-while loop instead.  I didn&apos;t think to use a loop when I first wrote this code (brain malfunction), but had reasoned that the compiler should be able to realize that the lambda does not escape, and hence can be inlined complete.  However, a quick disassembly of the compiled code reveals that this is not the case: the compiler did not inline the lambda.  Even though this code is not in a performance critical path, I&apos;ll switch the code to using a do-while loop just so it doesn&apos;t encourage uses of lambda (like this) where not needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1274106</commentid>
    <comment_count>1</comment_count>
      <attachid>300834</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2017-02-07 12:24:39 -0800</bug_when>
    <thetext>Created attachment 300834
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1274126</commentid>
    <comment_count>2</comment_count>
      <attachid>300834</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-07 13:23:51 -0800</bug_when>
    <thetext>Comment on attachment 300834
proposed patch.

Clearing flags on attachment: 300834

Committed r211834: &lt;http://trac.webkit.org/changeset/211834&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1274127</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-07 13:23:55 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>300834</attachid>
            <date>2017-02-07 12:24:39 -0800</date>
            <delta_ts>2017-02-07 13:23:51 -0800</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-167950.patch</filename>
            <type>text/plain</type>
            <size>3749</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjExODI5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBA
CisyMDE3LTAyLTA3ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBT
aWdpbGxDcmFzaEFuYWx5emVyOjphbmFseXplKCkgc2hvdWxkIHVzZSBhIGRvLXdoaWxlIGxvb3Ag
aW5zdGVhZCBvZiBhIGxhbWJkYS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE2Nzk1MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIExhbWJkYXMgYXJlbid0IGZyZWUgKGFwcGFyZW50bHksIHRoZSBjb21waWxl
ciBpc24ndCBhYmxlIHRvIGRldGVjdCB0aGF0IHRoZQorICAgICAgICBsYW1iZGEgZG9lcyBub3Qg
ZXNjYXBlIGFuZCBjYW4gYmUgaW5saW5lZCBjb21wbGV0ZWx5KS4gIFNvLCB1c2UgYSBkby13aGls
ZSBsb29wCisgICAgICAgIGluc3RlYWQgc2luY2Ugd2UgZG9uJ3QgcmVhbGx5IG5lZWQgYSBsYW1i
ZGEgaGVyZS4KKworICAgICAgICAqIHRvb2xzL1NpZ2lsbENyYXNoQW5hbHl6ZXIuY3BwOgorCiAy
MDE3LTAyLTA1ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBUaGUg
U2lnaWxsQ3Jhc2hBbmFseXplciBzaG91bGQgcGxheSBuaWNlciB3aXRoIGNsaWVudCBjb2RlIHRo
YXQgbWF5IGluc3RhbGwgaXRzIG93biBTSUdJTEwgaGFuZGxlci4KSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS90b29scy9TaWdpbGxDcmFzaEFuYWx5emVyLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvdG9vbHMvU2lnaWxsQ3Jhc2hBbmFseXplci5jcHAJKHJldmlz
aW9uIDIxMTgyOCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90b29scy9TaWdpbGxDcmFzaEFu
YWx5emVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjcxLDcgKzI3MSw3IEBAIGF1dG8gU2lnaWxs
Q3Jhc2hBbmFseXplcjo6YW5hbHl6ZShTaWduYWwKICAgICBDcmFzaFNvdXJjZSBjcmFzaFNvdXJj
ZSA9IENyYXNoU291cmNlOjpVbmtub3duOwogICAgIGxvZygiQkVHSU4gU0lHSUxMIGFuYWx5c2lz
Iik7CiAKLSAgICBbJl0gKCkgeworICAgIGRvIHsKICAgICAgICAgLy8gRmlyc3QsIGR1bXAgdGhl
IHNpZ25hbCBjb250ZXh0IGluZm8gc28gdGhhdCB3ZSdsbCBhdCBsZWFzdCBoYXZlIHRoZSBzYW1l
IGluZm8KICAgICAgICAgLy8gdGhhdCB0aGUgZGVmYXVsdCBjcmFzaCBoYW5kbGVyIHdvdWxkIGdp
dmVuIHVzIGluIGNhc2UgdGhpcyBjcmFzaCBhbmFseXplcgogICAgICAgICAvLyBpdHNlbGYgY3Jh
c2hlcy4KQEAgLTI4NSw3ICsyODUsNyBAQCBhdXRvIFNpZ2lsbENyYXNoQW5hbHl6ZXI6OmFuYWx5
emUoU2lnbmFsCiAgICAgICAgIGlmICghZXhwZWN0ZWRMb2NrZXIpIHsKICAgICAgICAgICAgIEFT
U0VSVChleHBlY3RlZExvY2tlci5lcnJvcigpID09IFZNSW5zcGVjdG9yOjpFcnJvcjo6VGltZWRP
dXQpOwogICAgICAgICAgICAgbG9nKCJFUlJPUjogVW5hYmxlIHRvIGFuYWx5emUgU0lHSUxMLiBU
aW1lZCBvdXQgd2hpbGUgd2FpdGluZyB0byBpdGVyYXRlIFZNcy4iKTsKLSAgICAgICAgICAgIHJl
dHVybjsKKyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIGF1dG8mIGxvY2tl
ciA9IGV4cGVjdGVkTG9ja2VyLnZhbHVlKCk7CiAKQEAgLTI5MywxMiArMjkzLDEyIEBAIGF1dG8g
U2lnaWxsQ3Jhc2hBbmFseXplcjo6YW5hbHl6ZShTaWduYWwKICAgICAgICAgYXV0byBpc0luSklU
TWVtb3J5ID0gaW5zcGVjdG9yLmlzVmFsaWRFeGVjdXRhYmxlTWVtb3J5KGxvY2tlciwgcGMpOwog
ICAgICAgICBpZiAoIWlzSW5KSVRNZW1vcnkpIHsKICAgICAgICAgICAgIGxvZygiRVJST1I6IFRp
bWVkIG91dDogbm90IGFibGUgdG8gZGV0ZXJtaW5lIGlmIHBjICVwIGlzIGluIHZhbGlkIEpJVCBl
eGVjdXRhYmxlIG1lbW9yeSIsIHBjKTsKLSAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIGlmICghaXNJbkpJVE1lbW9yeS52YWx1ZSgpKSB7
CiAgICAgICAgICAgICBsb2coInBjICVwIGlzIE5PVCBpbiB2YWxpZCBKSVQgZXhlY3V0YWJsZSBt
ZW1vcnkiLCBwYyk7CiAgICAgICAgICAgICBjcmFzaFNvdXJjZSA9IENyYXNoU291cmNlOjpPdGhl
cjsKLSAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAg
ICAgICAgIGxvZygicGMgJXAgaXMgaW4gdmFsaWQgSklUIGV4ZWN1dGFibGUgbWVtb3J5IiwgcGMp
OwogICAgICAgICBjcmFzaFNvdXJjZSA9IENyYXNoU291cmNlOjpKYXZhU2NyaXB0Q29yZTsKQEAg
LTMwNyw3ICszMDcsNyBAQCBhdXRvIFNpZ2lsbENyYXNoQW5hbHl6ZXI6OmFuYWx5emUoU2lnbmFs
CiAgICAgICAgIHNpemVfdCBwY0FzU2l6ZSA9IHJlaW50ZXJwcmV0X2Nhc3Q8c2l6ZV90PihwYyk7
CiAgICAgICAgIGlmIChwY0FzU2l6ZSAhPSByb3VuZFVwVG9NdWx0aXBsZU9mPHNpemVvZih1aW50
MzJfdCk+KHBjQXNTaXplKSkgewogICAgICAgICAgICAgbG9nKCJwYyAlcCBpcyBOT1QgcHJvcGVy
bHkgYWxpZ25lZCIsIHBjKTsKLSAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICB9CiAKICAgICAgICAgLy8gV2Uga25vdyBpdCdzIHNhZmUgdG8gcmVhZCB0aGUg
d29yZCBhdCB0aGUgUEMgYmVjYXVzZSB3ZSdyZSBoYW5kbGluZyBhIFNJR0lMTC4KQEAgLTMyMiwx
OCArMzIyLDE4IEBAIGF1dG8gU2lnaWxsQ3Jhc2hBbmFseXplcjo6YW5hbHl6ZShTaWduYWwKICAg
ICAgICAgICAgICAgICBsb2coIkVSUk9SOiBUaW1lZCBvdXQ6IG5vdCBhYmxlIHRvIGRldGVybWlu
ZSBpZiBwYyAlcCBpcyBpbiBhIHZhbGlkIENvZGVCbG9jayIsIHBjKTsKICAgICAgICAgICAgIGVs
c2UKICAgICAgICAgICAgICAgICBsb2coIlRoZSBjdXJyZW50IHRocmVhZCBkb2VzIG5vdCBvd24g
YW55IFZNIEpTTG9jayIpOwotICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgIH0KICAgICAgICAgQ29kZUJsb2NrKiBjb2RlQmxvY2sgPSBleHBlY3RlZENvZGVC
bG9jay52YWx1ZSgpOwogICAgICAgICBpZiAoIWNvZGVCbG9jaykgewogICAgICAgICAgICAgbG9n
KCJtYWNoaW5lIFBDICVwIGRvZXMgbm90IGJlbG9uZyB0byBhbnkgQ29kZUJsb2NrIGluIHRoZSBj
dXJyZW50bHkgZW50ZXJlZCBWTSIsIHBjKTsKLSAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICB9CiAKICAgICAgICAgbG9nKCJwYyAlcCBiZWxvbmdzIHRvIENv
ZGVCbG9jayAlcCBvZiB0eXBlICVzIiwgcGMsIGNvZGVCbG9jaywgSklUQ29kZTo6dHlwZU5hbWUo
Y29kZUJsb2NrLT5qaXRUeXBlKCkpKTsKIAogICAgICAgICBkdW1wQ29kZUJsb2NrKGNvZGVCbG9j
aywgcGMpOwotICAgIH0gKCk7CisgICAgfSB3aGlsZSAoZmFsc2UpOwogCiAgICAgbG9nKCJFTkQg
U0lHSUxMIGFuYWx5c2lzIik7CiAgICAgcmV0dXJuIGNyYXNoU291cmNlOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>