<html>
    <head>
      <base href="https://bugs.webkit.org/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - WebAssembly: avoid pinning registers when no Memory is present"
   href="https://bugs.webkit.org/show_bug.cgi?id=166623">166623</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>WebAssembly: avoid pinning registers when no Memory is present
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>WebKit
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>WebKit Nightly Build
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>Unspecified
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Unspecified
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>Normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P2
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>JavaScriptCore
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>webkit-unassigned&#64;lists.webkit.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>jfbastien&#64;apple.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>jfbastien&#64;apple.com, keith_miller&#64;apple.com, sbarati&#64;apple.com
          </td>
        </tr>

        <tr>
          <th>Depends on</th>
          <td>165282
          </td>
        </tr>

        <tr>
          <th>Blocks</th>
          <td>161709
          </td>
        </tr></table>
      <p>
        <div>
        <pre>In <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - WebAssembly: handle and optimize wasm export → wasm import calls"
   href="show_bug.cgi?id=165282">bug #165282</a> I'm changing pinning so that we unconditionally pin registers for all Modules, even if we technically don't need to when no Memory is present. This makes it easier to implement the wasm -&gt; wasm call thunks because the thunk needs to set up the callee's pinned registers and therefore necessarily clobbers the caller's values. The caller thinks these registers are callee-saved, but that's annoying to do because wasm -&gt; wasm is a tail call. We could teach B3 that these calls clobber those registers.</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>