<?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>170612</bug_id>
          
          <creation_ts>2017-04-07 12:07:49 -0700</creation_ts>
          <short_desc>WebAssembly: Module::getOrCreateCodeBlock is wrong</short_desc>
          <delta_ts>2017-04-07 12:43:16 -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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Saam Barati">saam</reporter>
          <assigned_to name="Saam Barati">saam</assigned_to>
          <cc>benjamin</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>gskachkov</cc>
    
    <cc>jfbastien</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>ticaiolima</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1295438</commentid>
    <comment_count>0</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-04-07 12:07:49 -0700</bug_when>
    <thetext>It needs to check something that isn&apos;t runnable()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295440</commentid>
    <comment_count>1</comment_count>
      <attachid>306526</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-04-07 12:14:09 -0700</bug_when>
    <thetext>Created attachment 306526
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295443</commentid>
    <comment_count>2</comment_count>
      <attachid>306526</attachid>
    <who name="JF Bastien">jfbastien</who>
    <bug_when>2017-04-07 12:20:21 -0700</bug_when>
    <thetext>Comment on attachment 306526
patch

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

&gt; Source/JavaScriptCore/wasm/WasmCodeBlock.h:65
&gt; +            return false;

&quot;don&apos;t know&quot; shouldn&apos;t be false? Can you use an optional instead?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295444</commentid>
    <comment_count>3</comment_count>
      <attachid>306526</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2017-04-07 12:21:30 -0700</bug_when>
    <thetext>Comment on attachment 306526
patch

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

&gt;&gt; Source/JavaScriptCore/wasm/WasmCodeBlock.h:65
&gt;&gt; +            return false;
&gt; 
&gt; &quot;don&apos;t know&quot; shouldn&apos;t be false? Can you use an optional instead?

I think we should just use a TriState.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295446</commentid>
    <comment_count>4</comment_count>
      <attachid>306526</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-04-07 12:24:38 -0700</bug_when>
    <thetext>Comment on attachment 306526
patch

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

&gt;&gt;&gt; Source/JavaScriptCore/wasm/WasmCodeBlock.h:65
&gt;&gt;&gt; +            return false;
&gt;&gt; 
&gt;&gt; &quot;don&apos;t know&quot; shouldn&apos;t be false? Can you use an optional instead?
&gt; 
&gt; I think we should just use a TriState.

Maybe I&apos;ll just make the caller do this. Since we just have one caller.
if (!codeBlock || (codeBlock-&gt;compilationFinished() &amp;&amp; !codeBlock-&gt;runnable())</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295452</commentid>
    <comment_count>5</comment_count>
      <attachid>306527</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-04-07 12:33:19 -0700</bug_when>
    <thetext>Created attachment 306527
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295453</commentid>
    <comment_count>6</comment_count>
      <attachid>306527</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2017-04-07 12:36:07 -0700</bug_when>
    <thetext>Comment on attachment 306527
patch

r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295455</commentid>
    <comment_count>7</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-04-07 12:43:16 -0700</bug_when>
    <thetext>landed in:
https://trac.webkit.org/changeset/215114/webkit</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>306526</attachid>
            <date>2017-04-07 12:14:09 -0700</date>
            <delta_ts>2017-04-07 12:33:19 -0700</delta_ts>
            <desc>patch</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>2756</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjE1MTA5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBA
CisyMDE3LTA0LTA3ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAg
IFdlYkFzc2VtYmx5OiBNb2R1bGU6OmdldE9yQ3JlYXRlQ29kZUJsb2NrIGlzIHdyb25nCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzA2MTIKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaGVuIHdlIHdlcmUg
Z2V0dGluZyBhIG1vZHVsZSdzIENvZGVCbG9jaywgd2Ugd2VyZSBjaGVja2luZyBpZiAhcnVubmFi
bGUoKSwKKyAgICAgICAgYW5kIGlmICFydW5uYWJsZSgpLCB3ZSB3ZXJlIHJlLWNyZWF0aW5nIHRo
ZSBDb2RlQmxvY2suIFRoaXMgaXMgd3JvbmcsIHNpbmNlCisgICAgICAgICFydW5uYWJsZSgpIGlz
IHRydWUgd2hpbGUgdGhlIENvZGVCbG9jayBpcyBjb21waWxpbmcuIEluc3RlYWQsIHdlIHNob3Vs
ZCBjaGVjaworICAgICAgICBpZiB3ZSd2ZSBmaW5pc2hlZCBjb21waWxpbmcsIGFuZCBpZiBzbywg
aWYgdGhhdCBjb21waWxhdGlvbiBmYWlsZWQuCisKKyAgICAgICAgKiB3YXNtL1dhc21Db2RlQmxv
Y2suaDoKKyAgICAgICAgKEpTQzo6V2FzbTo6Q29kZUJsb2NrOjpydW5uYWJsZSk6CisgICAgICAg
IChKU0M6Oldhc206OkNvZGVCbG9jazo6Y29tcGlsYXRpb25GYWlsZWQpOgorICAgICAgICAqIHdh
c20vV2FzbU1vZHVsZS5jcHA6CisgICAgICAgIChKU0M6Oldhc206Ok1vZHVsZTo6Z2V0T3JDcmVh
dGVDb2RlQmxvY2spOgorCiAyMDE3LTA0LTA3ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUu
Y29tPgogCiAgICAgICAgIFdlYkFzc2VtYmx5OiBNYWtlIHRvIGEgY29tcGlsYXRpb24gQVBJIHRo
YXQgYWxsb3dzIGZvciBtdWx0aS1WTSBjb25jdXJyZW50IGNvbXBpbGF0aW9ucyBvZiBXYXNtIE1v
ZHVsZXMKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21Db2RlQmxvY2suaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQ29kZUJsb2NrLmgJ
KHJldmlzaW9uIDIxNTEwMykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21Db2Rl
QmxvY2suaAkod29ya2luZyBjb3B5KQpAQCAtNTMsNyArNTMsMTkgQEAgcHVibGljOgogICAgICAg
ICBhdXRvIGxvY2tlciA9IGhvbGRMb2NrKG1fbG9jayk7CiAgICAgICAgIHJldHVybiAhbV9wbGFu
OwogICAgIH0KLSAgICBib29sIHJ1bm5hYmxlKCkgeyByZXR1cm4gY29tcGlsYXRpb25GaW5pc2hl
ZCgpICYmICFtX2Vycm9yTWVzc2FnZTsgfQorICAgIGJvb2wgcnVubmFibGUoKQorICAgIHsKKyAg
ICAgICAgcmV0dXJuIGNvbXBpbGF0aW9uRmluaXNoZWQoKSAmJiAhbV9lcnJvck1lc3NhZ2U7Cisg
ICAgfQorICAgIGJvb2wgY29tcGlsYXRpb25GYWlsZWQoKQorICAgIHsKKyAgICAgICAgYXV0byBs
b2NrZXIgPSBob2xkTG9jayhtX2xvY2spOworICAgICAgICBpZiAobV9wbGFuKSB7CisgICAgICAg
ICAgICAvLyBXZSBkb24ndCBrbm93IHlldCwgc2luY2Ugd2UncmUgc3RpbGwgY29tcGlsaW5nLgor
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisgICAgICAgIHJldHVybiAhIW1f
ZXJyb3JNZXNzYWdlOworICAgIH0KIAogICAgIC8vIE5vdGUsIHdlIGRvIHRoaXMgY29weSB0byBl
bnN1cmUgaXQncyB0aHJlYWQgc2FmZSB0byBoYXZlIHRoaXMKICAgICAvLyBjYWxsZWQgZnJvbSBt
dWx0aXBsZSB0aHJlYWRzIHNpbXVsdGFuZW91c2x5LgpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL3dhc20vV2FzbU1vZHVsZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL3dhc20vV2FzbU1vZHVsZS5jcHAJKHJldmlzaW9uIDIxNTEwMykKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS93YXNtL1dhc21Nb2R1bGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MSw3ICs2
MSw3IEBAIFJlZjxDb2RlQmxvY2s+IE1vZHVsZTo6Z2V0T3JDcmVhdGVDb2RlQmwKICAgICAvLyBJ
dCdzIHdvcnRoIHJldHJ5aW5nLgogICAgIC8vIEZJWE1FOiBXZSBtaWdodCB3YW50IHRvIGJhY2sg
b2ZmIHJldHJ5aW5nIGF0IHNvbWUgcG9pbnQ6CiAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE3MDYwNwotICAgIGlmICghY29kZUJsb2NrIHx8ICFjb2RlQmxv
Y2stPnJ1bm5hYmxlKCkpIHsKKyAgICBpZiAoIWNvZGVCbG9jayB8fCBjb2RlQmxvY2stPmNvbXBp
bGF0aW9uRmFpbGVkKCkpIHsKICAgICAgICAgY29kZUJsb2NrID0gQ29kZUJsb2NrOjpjcmVhdGUo
dm0sIG1vZGUsIGNvbnN0X2Nhc3Q8TW9kdWxlSW5mb3JtYXRpb24mPihtb2R1bGVJbmZvcm1hdGlv
bigpKSk7CiAgICAgICAgIG1fY29kZUJsb2Nrc1tzdGF0aWNfY2FzdDx1aW50OF90Pihtb2RlKV0g
PSBjb2RlQmxvY2s7CiAgICAgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>306527</attachid>
            <date>2017-04-07 12:33:19 -0700</date>
            <delta_ts>2017-04-07 12:36:07 -0700</delta_ts>
            <desc>patch</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>1777</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjE1MTEzKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBA
CisyMDE3LTA0LTA3ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAg
IFdlYkFzc2VtYmx5OiBNb2R1bGU6OmdldE9yQ3JlYXRlQ29kZUJsb2NrIGlzIHdyb25nCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzA2MTIKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaGVuIHdlIHdlcmUg
Z2V0dGluZyBhIG1vZHVsZSdzIENvZGVCbG9jaywgd2Ugd2VyZSBjaGVja2luZyBpZiAhcnVubmFi
bGUoKSwKKyAgICAgICAgYW5kIGlmICFydW5uYWJsZSgpLCB3ZSB3ZXJlIHJlLWNyZWF0aW5nIHRo
ZSBDb2RlQmxvY2suIFRoaXMgaXMgd3JvbmcsIHNpbmNlCisgICAgICAgICFydW5uYWJsZSgpIGlz
IHRydWUgd2hpbGUgdGhlIENvZGVCbG9jayBpcyBjb21waWxpbmcuIEluc3RlYWQsIHdlIHNob3Vs
ZCBjaGVjaworICAgICAgICBpZiB3ZSd2ZSBmaW5pc2hlZCBjb21waWxpbmcsIGFuZCBpZiBzbywg
aWYgdGhhdCBjb21waWxhdGlvbiBmYWlsZWQuCisKKyAgICAgICAgKiB3YXNtL1dhc21Nb2R1bGUu
Y3BwOgorICAgICAgICAoSlNDOjpXYXNtOjpNb2R1bGU6OmdldE9yQ3JlYXRlQ29kZUJsb2NrKToK
KwogMjAxNy0wNC0wNyAgU2FhbSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4KIAogICAgICAg
ICBXZWJBc3NlbWJseTogTWFrZSB0byBhIGNvbXBpbGF0aW9uIEFQSSB0aGF0IGFsbG93cyBmb3Ig
bXVsdGktVk0gY29uY3VycmVudCBjb21waWxhdGlvbnMgb2YgV2FzbSBNb2R1bGVzCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtTW9kdWxlLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtTW9kdWxlLmNwcAkocmV2aXNpb24gMjE1MTAz
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbU1vZHVsZS5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTYxLDcgKzYxLDcgQEAgUmVmPENvZGVCbG9jaz4gTW9kdWxlOjpnZXRPckNyZWF0
ZUNvZGVCbAogICAgIC8vIEl0J3Mgd29ydGggcmV0cnlpbmcuCiAgICAgLy8gRklYTUU6IFdlIG1p
Z2h0IHdhbnQgdG8gYmFjayBvZmYgcmV0cnlpbmcgYXQgc29tZSBwb2ludDoKICAgICAvLyBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcwNjA3Ci0gICAgaWYgKCFjb2Rl
QmxvY2sgfHwgIWNvZGVCbG9jay0+cnVubmFibGUoKSkgeworICAgIGlmICghY29kZUJsb2NrIHx8
IChjb2RlQmxvY2stPmNvbXBpbGF0aW9uRmluaXNoZWQoKSAmJiAhY29kZUJsb2NrLT5ydW5uYWJs
ZSgpKSkgewogICAgICAgICBjb2RlQmxvY2sgPSBDb2RlQmxvY2s6OmNyZWF0ZSh2bSwgbW9kZSwg
Y29uc3RfY2FzdDxNb2R1bGVJbmZvcm1hdGlvbiY+KG1vZHVsZUluZm9ybWF0aW9uKCkpKTsKICAg
ICAgICAgbV9jb2RlQmxvY2tzW3N0YXRpY19jYXN0PHVpbnQ4X3Q+KG1vZGUpXSA9IGNvZGVCbG9j
azsKICAgICB9Cg==
</data>
<flag name="review"
          id="327873"
          type_id="1"
          status="+"
          setter="keith_miller"
    />
          </attachment>
      

    </bug>

</bugzilla>