<div dir="ltr"><div>I think all three can be implemented most cleanly in stack_remove by offloading the constant into a register when it is too big but that will require an extra reserved register.<br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Oct 17, 2016 at 4:38 AM, Magnus Myreen <span dir="ltr"><<a href="mailto:magnus.myreen@gmail.com" target="_blank">magnus.myreen@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">The following commit contains a comment:<br>
<br>
    need to assume something on all stack lookup/store sizes?<br>
<br>
I don't think there should be. Instead the implementation should break<br>
problematic stack load/store/shrinks into multiple instructions, eg if<br>
<br>
store arg, [sp+40000]<br>
<br>
is not encodable, then do something like:<br>
<br>
add sp, 20000<br>
add sp, 20000<br>
store arg, [sp]<br>
sub sp, 20000<br>
sub sp, 20000<br>
<br>
Is this possible?<br>
<br>
Cheers,<br>
Magnus<br>
<div><div class="h5"><br>
---------- Forwarded message ---------<br>
From: GitHub <<a href="mailto:noreply@github.com">noreply@github.com</a>><br>
Date: Mon, 17 Oct 2016 at 07:13<br>
Subject: [CakeML/cakeml] b835dc: Move asm_ok up to word_to_stack<br>
To: <<a href="mailto:commits@cakeml.org">commits@cakeml.org</a>><br>
<br>
<br>
  Branch: refs/heads/asm_ok<br>
  Home:   <a href="https://github.com/CakeML/cakeml" rel="noreferrer" target="_blank">https://github.com/CakeML/<wbr>cakeml</a><br>
  Commit: b835dc96e0442cc883b47044e01fd4<wbr>92253c0244<br>
      <a href="https://github.com/CakeML/cakeml/commit/b835dc96e0442cc883b47044e01fd492253c0244" rel="noreferrer" target="_blank">https://github.com/CakeML/<wbr>cakeml/commit/<wbr>b835dc96e0442cc883b47044e01fd4<wbr>92253c0244</a><br>
  Author: Yong Kiam <<a href="mailto:tanyongkiam@gmail.com">tanyongkiam@gmail.com</a>><br>
  Date:   2016-10-17 (Mon, 17 Oct 2016)<br>
<br>
  Changed paths:<br>
    M compiler/backend/lab_to_<wbr>targetScript.sml<br>
    M compiler/backend/proofs/stack_<wbr>to_labProofScript.sml<br>
    M compiler/backend/semantics/<wbr>labPropsScript.sml<br>
<br>
  Log Message:<br>
  -----------<br>
  Move asm_ok up to word_to_stack<br>
- there are 3 probably unprovable cheats to do with over sized stack arguments<br>
<br>
<br>
</div></div>______________________________<wbr>_________________<br>
Commits mailing list<br>
<a href="mailto:Commits@cakeml.org">Commits@cakeml.org</a><br>
<a href="https://lists.cakeml.org/listinfo/commits" rel="noreferrer" target="_blank">https://lists.cakeml.org/<wbr>listinfo/commits</a><br>
</blockquote></div><br></div>