<?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>170782</bug_id>
          
          <creation_ts>2017-04-12 11:31:40 -0700</creation_ts>
          <short_desc>WebAssembly: don&apos;t expose any WebAssembly JS object if JIT is off</short_desc>
          <delta_ts>2017-04-19 10:12:42 -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>
          
          <blocked>159775</blocked>
    
    <blocked>170998</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="JF Bastien">jfbastien</reporter>
          <assigned_to name="JF Bastien">jfbastien</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>fpizlo</cc>
    
    <cc>jfbastien</cc>
    
    <cc>joepeck</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1296788</commentid>
    <comment_count>0</comment_count>
    <who name="JF Bastien">jfbastien</who>
    <bug_when>2017-04-12 11:31:40 -0700</bug_when>
    <thetext>It&apos;s kinda misleading of `typeof WebAssembly !== &quot;undefined&quot;` but we know that compilation will never succeed. It&apos;s also weird to have WebAssembly.Memory if JIT is off.

A WebKit1 embedding would be a weird place to expose WebAssembly JS objects.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1298615</commentid>
    <comment_count>1</comment_count>
      <attachid>307465</attachid>
    <who name="JF Bastien">jfbastien</who>
    <bug_when>2017-04-19 00:07:25 -0700</bug_when>
    <thetext>Created attachment 307465
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1298679</commentid>
    <comment_count>2</comment_count>
    <who name="JF Bastien">jfbastien</who>
    <bug_when>2017-04-19 08:26:08 -0700</bug_when>
    <thetext>One thing I noticed when writing this: our tests run with useFTLJIT=0! That&apos;s because of BASE_OPTIONS which runWithOutputHandler uses (and in turn run calls runWithOutputHandler).

Initially I&apos;d disabled WebAssembly if useJIT or useFTLJIT was false, but that would require changing the tests and I&apos;m not sure the distinction matters. B3 is really what&apos;s used by wasm, and a special blend of it, so I&apos;m not sure useFTLJIT=false is relevant to wasm.

Thoughts?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1298707</commentid>
    <comment_count>3</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-04-19 09:52:42 -0700</bug_when>
    <thetext>(In reply to JF Bastien from comment #2)
&gt; One thing I noticed when writing this: our tests run with useFTLJIT=0!
&gt; That&apos;s because of BASE_OPTIONS which runWithOutputHandler uses (and in turn
&gt; run calls runWithOutputHandler).
&gt; 
&gt; Initially I&apos;d disabled WebAssembly if useJIT or useFTLJIT was false, but
&gt; that would require changing the tests and I&apos;m not sure the distinction
&gt; matters. B3 is really what&apos;s used by wasm, and a special blend of it, so I&apos;m
&gt; not sure useFTLJIT=false is relevant to wasm.
&gt; 
&gt; Thoughts?

I would not tie Wasm being enabled to the ftl being enabled. That said, Wasm tests should run with the FTL enabled.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1298713</commentid>
    <comment_count>4</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2017-04-19 09:57:26 -0700</bug_when>
    <thetext>Does this prevent me from doing --useJIT=0 --dumpDisassembly=1 --useWebAssembly=1? I like doing that because it lets me see the wasm disassembly. I guess we could just add a dumpWebAssemblyDisassembly (wow! that&apos;s a mouthful) option.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1298715</commentid>
    <comment_count>5</comment_count>
    <who name="JF Bastien">jfbastien</who>
    <bug_when>2017-04-19 10:02:00 -0700</bug_when>
    <thetext>(In reply to Saam Barati from comment #3)
&gt; (In reply to JF Bastien from comment #2)
&gt; &gt; One thing I noticed when writing this: our tests run with useFTLJIT=0!
&gt; &gt; That&apos;s because of BASE_OPTIONS which runWithOutputHandler uses (and in turn
&gt; &gt; run calls runWithOutputHandler).
&gt; &gt; 
&gt; &gt; Initially I&apos;d disabled WebAssembly if useJIT or useFTLJIT was false, but
&gt; &gt; that would require changing the tests and I&apos;m not sure the distinction
&gt; &gt; matters. B3 is really what&apos;s used by wasm, and a special blend of it, so I&apos;m
&gt; &gt; not sure useFTLJIT=false is relevant to wasm.
&gt; &gt; 
&gt; &gt; Thoughts?
&gt; 
&gt; I would not tie Wasm being enabled to the ftl being enabled. That said, Wasm
&gt; tests should run with the FTL enabled.

Sounds good.

I filed a bug:
  https://bugs.webkit.org/show_bug.cgi?id=170998
Will address later.



(In reply to Keith Miller from comment #4)
&gt; Does this prevent me from doing --useJIT=0 --dumpDisassembly=1
&gt; --useWebAssembly=1? I like doing that because it lets me see the wasm
&gt; disassembly. I guess we could just add a dumpWebAssemblyDisassembly (wow!
&gt; that&apos;s a mouthful) option.

Correct. Without JIT it won&apos;t generate the stubs to C++ code anyways, no?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1298717</commentid>
    <comment_count>6</comment_count>
      <attachid>307465</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-04-19 10:12:41 -0700</bug_when>
    <thetext>Comment on attachment 307465
patch

Clearing flags on attachment: 307465

Committed r215517: &lt;http://trac.webkit.org/changeset/215517&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1298718</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-04-19 10:12:42 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>307465</attachid>
            <date>2017-04-19 00:07:25 -0700</date>
            <delta_ts>2017-04-19 10:12:41 -0700</delta_ts>
            <desc>patch</desc>
            <filename>0001-noJIT.patch</filename>
            <type>text/plain</type>
            <size>3870</size>
            <attacher name="JF Bastien">jfbastien</attacher>
            
              <data encoding="base64">RnJvbSAzMDRiZjZiYjRkMjVmZTdhN2JhY2UxMjJmMDA2NmRmNTQxZjhhZDgzIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKRiBCYXN0aWVuIDxqZmJhc3RpZW5AYXBwbGUuY29tPgpEYXRl
OiBXZWQsIDE5IEFwciAyMDE3IDAwOjA2OjQyIC0wNzAwClN1YmplY3Q6IFtQQVRDSF0gbm9KSVQK
Ci0tLQogSlNUZXN0cy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgfCAxMCArKysr
KysrKysrCiBKU1Rlc3RzL3dhc20ueWFtbCAgICAgICAgICAgICAgICAgICAgICAgICB8ICA0ICsr
Ky0KIEpTVGVzdHMvd2FzbS9ub0pJVC9ub0pJVC5qcyAgICAgICAgICAgICAgIHwgIDIgKysKIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgICAgICAgICAgIHwgMTkgKysrKysrKysrKysr
KysrKysrKwogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5jcHAgfCAgOSAr
KysrKysrKysKIDUgZmlsZXMgY2hhbmdlZCwgNDMgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigt
KQogY3JlYXRlIG1vZGUgMTAwNjQ0IEpTVGVzdHMvd2FzbS9ub0pJVC9ub0pJVC5qcwoKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvQ2hhbmdlTG9nIGIvSlNUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZWNkZTI5
NC4uNGVkNWE4OSAxMDA2NDQKLS0tIGEvSlNUZXN0cy9DaGFuZ2VMb2cKKysrIGIvSlNUZXN0cy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxNy0wNC0xOSAgSkYgQmFzdGllbiAgPGpmYmFz
dGllbkBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViQXNzZW1ibHk6IGRvbid0IGV4cG9zZSBhbnkg
V2ViQXNzZW1ibHkgSlMgb2JqZWN0IGlmIEpJVCBpcyBvZmYKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MDc4MgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2FzbS55YW1sOgorICAgICAgICAqIHdhc20v
bm9KSVQvbm9KSVQuanM6IEFkZGVkLgorCiAyMDE3LTA0LTE4ICBNYXJrIExhbSAgPG1hcmsubGFt
QGFwcGxlLmNvbT4KIAogICAgICAgICByMjExNjcwIGJyb2tlIGRvdWJsZSB0byBpbnQgY29udmVy
c2lvbi4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvd2FzbS55YW1sIGIvSlNUZXN0cy93YXNtLnlhbWwK
aW5kZXggNmJmN2QwNS4uNWJjN2ZmMyAxMDA2NDQKLS0tIGEvSlNUZXN0cy93YXNtLnlhbWwKKysr
IGIvSlNUZXN0cy93YXNtLnlhbWwKQEAgLTEsNCArMSw0IEBACi0jIENvcHlyaWdodCAoQykgMjAx
NiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjIENvcHlyaWdodCAoQykgMjAxNi0y
MDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICMKICMgUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAjIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwpAQCAtMjUsNiArMjUsOCBAQAogICBjbWQ6IHJ1bldlYkFzc2VtYmx5IHVubGVzcyBw
YXJzZVJ1bkNvbW1hbmRzCiAtIHBhdGg6IHdhc20vanMtYXBpLwogICBjbWQ6IHJ1bldlYkFzc2Vt
Ymx5IHVubGVzcyBwYXJzZVJ1bkNvbW1hbmRzCistIHBhdGg6IHdhc20vbm9KSVQvCisgIGNtZDog
cnVuTm9KSVQgdW5sZXNzIHBhcnNlUnVuQ29tbWFuZHMKIC0gcGF0aDogd2FzbS9mdW5jdGlvbi10
ZXN0cwogICBjbWQ6IHJ1bldlYkFzc2VtYmx5IHVubGVzcyBwYXJzZVJ1bkNvbW1hbmRzCiAtIHBh
dGg6IHdhc20vZnV6egpkaWZmIC0tZ2l0IGEvSlNUZXN0cy93YXNtL25vSklUL25vSklULmpzIGIv
SlNUZXN0cy93YXNtL25vSklUL25vSklULmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAuLmFmNmQwZTQKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3dhc20vbm9KSVQvbm9K
SVQuanMKQEAgLTAsMCArMSwyIEBACitpZiAodHlwZW9mIFdlYkFzc2VtYmx5ICE9PSAidW5kZWZp
bmVkIikKKyAgICB0aHJvdyBuZXcgRXJyb3IoIkV4cGVjdCBXZWJBc3NlbWJseSBnbG9iYWwgb2Jq
ZWN0IGlzIHVuZGVmaW5lZCBpZiBKSVQgaXMgb2ZmIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpp
bmRleCBmNDZhY2YzLi5jOGRjZmNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyMiBAQAorMjAxNy0wNC0xOSAgSkYgQmFzdGllbiAgPGpmYmFzdGllbkBhcHBsZS5jb20+CisK
KyAgICAgICAgV2ViQXNzZW1ibHk6IGRvbid0IGV4cG9zZSBhbnkgV2ViQXNzZW1ibHkgSlMgb2Jq
ZWN0IGlmIEpJVCBpcyBvZmYKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE3MDc4MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEl0J3MgdW5leHBlY3RlZCB0aGF0IHdlIGV4cG9zZSB0aGUgZ2xvYmFsIFdlYkFz
c2VtYmx5IG9iamVjdCBpZiBubworICAgICAgICBKSVQgaXMgcHJlc2VudCBiZWNhdXNlIGl0IGNh
bid0IGJlIHVzZWQgdG8gY29tcGlsZSBvcgorICAgICAgICBpbnN0YW50aWF0ZS4gT3RoZXIgQVBJ
cyBzdWNoIGFzIE1lbW9yeSBzaG91bGQgYWxzbyBiZSBJbmFjY2Vzc2libGUKKyAgICAgICAgaW4g
dGhvc2UgY2lyY3Vtc3RhbmNlcy4KKworICAgICAgICBBbHNvIGVuc3VyZSB0aGF0IHdlIGRvbid0
IHByZS1hbGxvY2F0ZSBmYXN0IG1lbW9yaWVzIGlmCisgICAgICAgIFdlYkFzc2VtYmx5IHdvbid0
IGJlIHVzZWQsIGFuZCBkb24ndCBtYXJrIG91ciBpbnRlbnRpb24gdG8gdXNlIGEKKyAgICAgICAg
ZmFzdCBUTFMgc2xvdCBmb3IgV2ViQXNzZW1ibHkuCisKKyAgICAgICAgKiBydW50aW1lL09wdGlv
bnMuY3BwOgorICAgICAgICAoSlNDOjpyZWNvbXB1dGVEZXBlbmRlbnRPcHRpb25zKToKKwogMjAx
Ny0wNC0xOCAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+CiAKICAgICAgICAgcjIxMTY3
MCBicm9rZSBkb3VibGUgdG8gaW50IGNvbnZlcnNpb24uCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL09wdGlvbnMuY3BwCmluZGV4IGZlNTQwNzUuLjMyMDIwNGMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMuY3BwCkBAIC0zODgsNiArMzg4LDE1IEBAIHN0YXRp
YyB2b2lkIHJlY29tcHV0ZURlcGVuZGVudE9wdGlvbnMoKQogICAgIGlmICghTWFjcm9Bc3NlbWJs
ZXJYODY6OnN1cHBvcnRzRmxvYXRpbmdQb2ludCgpKQogICAgICAgICBPcHRpb25zOjp1c2VKSVQo
KSA9IGZhbHNlOwogI2VuZGlmCisKKyAgICBpZiAoIU9wdGlvbnM6OnVzZUpJVCgpKQorICAgICAg
ICBPcHRpb25zOjp1c2VXZWJBc3NlbWJseSgpID0gZmFsc2U7CisKKyAgICBpZiAoIU9wdGlvbnM6
OnVzZVdlYkFzc2VtYmx5KCkpIHsKKyAgICAgICAgT3B0aW9uczo6d2ViQXNzZW1ibHlGYXN0TWVt
b3J5UHJlYWxsb2NhdGVDb3VudCgpID0gMDsKKyAgICAgICAgT3B0aW9uczo6dXNlV2ViQXNzZW1i
bHlGYXN0VExTKCkgPSBmYWxzZTsKKyAgICB9CisgICAgCiAgICAgaWYgKE9wdGlvbnM6OmR1bXBE
aXNhc3NlbWJseSgpCiAgICAgICAgIHx8IE9wdGlvbnM6OmR1bXBERkdEaXNhc3NlbWJseSgpCiAg
ICAgICAgIHx8IE9wdGlvbnM6OmR1bXBGVExEaXNhc3NlbWJseSgpCi0tIAoyLjkuMwoK
</data>

          </attachment>
      

    </bug>

</bugzilla>