<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<title>
GitLab
</title>



<style>img {
max-width: 100%; height: auto;
}
</style>
</head>
<body>
<div class="content">
<h3>
Raymond Toy pushed to branch sparc64-dev
at <a href="https://gitlab.common-lisp.net/cmucl/cmucl">cmucl / cmucl</a>
</h3>
<h4>
Commits:
</h4>
<ul>
<li>
<strong><a href="https://gitlab.common-lisp.net/cmucl/cmucl/commit/47d140f4b307a9b3f60822df6ec551dbf6619802">47d140f4</a></strong>
<div>
<span>by Raymond Toy</span>
<i>at 2018-01-03T10:53:22-08:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Adjust offset computation for lisp-return

The offset is the number of instructions to skip over, so the
multiplier should be 4 not word-bytes (8).  And the LRA header word is
8 bytes long, so we need to skip over that to get to the correct
instruction.

I think.
</pre>
</li>
</ul>
<h4>1 changed file:</h4>
<ul>
<li class="file-stats">
<a href="#d03a8c6f40da858f842772c2f1639c010d9e90d8">
src/compiler/sparc64/macros.lisp
</a>
</li>
</ul>
<h4>Changes:</h4>
<li id="d03a8c6f40da858f842772c2f1639c010d9e90d8">
<a href="https://gitlab.common-lisp.net/cmucl/cmucl/commit/47d140f4b307a9b3f60822df6ec551dbf6619802#d03a8c6f40da858f842772c2f1639c010d9e90d8"><strong>src/compiler/sparc64/macros.lisp</strong></a>
<hr>
<table class="code white" style="font-family: monospace; font-size: 12px;" bgcolor="#fff" width="100%" cellpadding="0" cellspacing="0">
<tr class="line_holder match" id="" style="line-height: 1.6;">
<td class="diff-line-num unfold js-unfold old_line" data-linenumber="133" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #f0f0f0; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#fafafa">...</td>
<td class="diff-line-num unfold js-unfold new_line" data-linenumber="133" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #f0f0f0; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#fafafa">...</td>
<td class="line_content match " style="padding-left: 0.5em; padding-right: 0.5em; color: rgba(0,0,0,0.3);" bgcolor="#fafafa">@@ -133,8 +133,10 @@</td>
</tr>
<tr class="line_holder" id="" style="line-height: 1.6;">
<td class="diff-line-num old_line" data-linenumber="133" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #f0f0f0; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#fafafa">
133
</td>
<td class="diff-line-num new_line" data-linenumber="133" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #f0f0f0; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#fafafa">
133
</td>
<td class="line_content noteable_line" style="padding-left: 0.5em; padding-right: 0.5em;">
<pre style="margin: 0;"> <span id="LC133" class="line" lang="common_lisp"><span class="p">(</span><span class="nb" style="color: #0086b3;">defmacro</span> <span class="nv" style="color: teal;">lisp-return</span> <span class="p">(</span><span class="nv" style="color: teal;">return-pc</span> <span class="k" style="font-weight: 600;">&key</span> <span class="p">(</span><span class="nv" style="color: teal;">offset</span> <span class="mi" style="color: #099;">0</span><span class="p">)</span> <span class="p">(</span><span class="nv" style="color: teal;">frob-code</span> <span class="no" style="color: teal;">t</span><span class="p">))</span></span>
</pre>
</td>
</tr>
<tr class="line_holder" id="" style="line-height: 1.6;">
<td class="diff-line-num old_line" data-linenumber="134" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #f0f0f0; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#fafafa">
134
</td>
<td class="diff-line-num new_line" data-linenumber="134" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #f0f0f0; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#fafafa">
134
</td>
<td class="line_content noteable_line" style="padding-left: 0.5em; padding-right: 0.5em;">
<pre style="margin: 0;"> <span id="LC134" class="line" lang="common_lisp">  <span class="s" style="color: #d14;">"Return to RETURN-PC."</span></span>
</pre>
</td>
</tr>
<tr class="line_holder" id="" style="line-height: 1.6;">
<td class="diff-line-num old_line" data-linenumber="135" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #f0f0f0; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#fafafa">
135
</td>
<td class="diff-line-num new_line" data-linenumber="135" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #f0f0f0; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#fafafa">
135
</td>
<td class="line_content noteable_line" style="padding-left: 0.5em; padding-right: 0.5em;">
<pre style="margin: 0;"> <span id="LC135" class="line" lang="common_lisp">  <span class="o" style="font-weight: 600;">`</span><span class="p">(</span><span class="k" style="font-weight: 600;">progn</span></span>
</pre>
</td>
</tr>
<tr class="line_holder new" id="" style="line-height: 1.6;">
<td class="diff-line-num new old_line" data-linenumber="136" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #c7f0d2; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#ddfbe6">
 
</td>
<td class="diff-line-num new new_line" data-linenumber="136" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #c7f0d2; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#ddfbe6">
136
</td>
<td class="line_content new noteable_line" style="padding-left: 0.5em; padding-right: 0.5em;" bgcolor="#ecfdf0">
<pre style="margin: 0;">+<span id="LC136" class="line" lang="common_lisp">     <span class="c1" style="color: #998; font-style: italic;">;; 8 to skip over the lra object, and 4*offset to get to the</span></span>
</pre>
</td>
</tr>
<tr class="line_holder new" id="" style="line-height: 1.6;">
<td class="diff-line-num new old_line" data-linenumber="136" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #c7f0d2; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#ddfbe6">
 
</td>
<td class="diff-line-num new new_line" data-linenumber="137" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #c7f0d2; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#ddfbe6">
137
</td>
<td class="line_content new noteable_line" style="padding-left: 0.5em; padding-right: 0.5em;" bgcolor="#ecfdf0">
<pre style="margin: 0;">+<span id="LC137" class="line" lang="common_lisp">     <span class="c1" style="color: #998; font-style: italic;">;; right instruction since each instruction is 4 bytes long.</span></span>
</pre>
</td>
</tr>
<tr class="line_holder" id="" style="line-height: 1.6;">
<td class="diff-line-num old_line" data-linenumber="136" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #f0f0f0; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#fafafa">
136
</td>
<td class="diff-line-num new_line" data-linenumber="138" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #f0f0f0; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#fafafa">
138
</td>
<td class="line_content noteable_line" style="padding-left: 0.5em; padding-right: 0.5em;">
<pre style="margin: 0;"> <span id="LC138" class="line" lang="common_lisp">     <span class="p">(</span><span class="nv" style="color: teal;">inst</span> <span class="nv" style="color: teal;">j</span> <span class="o" style="font-weight: 600;">,</span><span class="nv" style="color: teal;">return-pc</span></span>
</pre>
</td>
</tr>
<tr class="line_holder old" id="" style="line-height: 1.6;">
<td class="diff-line-num old old_line" data-linenumber="137" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #fac5cd; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#f9d7dc">
137
</td>
<td class="diff-line-num new_line old" data-linenumber="139" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #fac5cd; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#f9d7dc">
 
</td>
<td class="line_content noteable_line old" style="padding-left: 0.5em; padding-right: 0.5em;" bgcolor="#fbe9eb">
<pre style="margin: 0;">-<span id="LC137" class="line" lang="common_lisp">     <span class="p">(</span><span class="nb" style="color: #0086b3;">-</span> <span class="p">(</span><span class="nb" style="color: #0086b3;"><span class="idiff left">*</span></span><span class="idiff"> </span><span class="p"><span class="idiff">(</span></span><span class="nb" style="color: #0086b3;"><span class="idiff">1+</span></span><span class="idiff"> </span><span class="o" style="font-weight: 600;"><span class="idiff">,</span></span><span class="nv" style="color: teal;"><span class="idiff">offset</span></span><span class="p"><span class="idiff">)</span></span><span class="idiff"> </span><span class="nv" style="color: teal;"><span class="idiff right">word-bytes</span></span><span class="p">)</span> <span class="nv" style="color: teal;">other-pointer-type</span><span class="p">))</span></span>
</pre>
</td>
</tr>
<tr class="line_holder new" id="" style="line-height: 1.6;">
<td class="diff-line-num new old_line" data-linenumber="138" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #c7f0d2; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#ddfbe6">
 
</td>
<td class="diff-line-num new new_line" data-linenumber="139" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #c7f0d2; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#ddfbe6">
139
</td>
<td class="line_content new noteable_line" style="padding-left: 0.5em; padding-right: 0.5em;" bgcolor="#ecfdf0">
<pre style="margin: 0;">+<span id="LC139" class="line" lang="common_lisp">     <span class="p">(</span><span class="nb" style="color: #0086b3;">-</span> <span class="p">(</span><span class="nb" style="color: #0086b3;"><span class="idiff left">+</span></span><span class="idiff"> </span><span class="mi" style="color: #099;"><span class="idiff">8</span></span><span class="idiff"> </span><span class="p"><span class="idiff">(</span></span><span class="nb" style="color: #0086b3;"><span class="idiff">*</span></span><span class="idiff"> </span><span class="o" style="font-weight: 600;"><span class="idiff">,</span></span><span class="nv" style="color: teal;"><span class="idiff">offset</span></span><span class="idiff"> </span><span class="mi" style="color: #099;"><span class="idiff">4</span></span><span class="p"><span class="idiff right">)</span>)</span> <span class="nv" style="color: teal;">other-pointer-type</span><span class="p">))</span></span>
</pre>
</td>
</tr>
<tr class="line_holder" id="" style="line-height: 1.6;">
<td class="diff-line-num old_line" data-linenumber="138" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #f0f0f0; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#fafafa">
138
</td>
<td class="diff-line-num new_line" data-linenumber="140" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #f0f0f0; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#fafafa">
140
</td>
<td class="line_content noteable_line" style="padding-left: 0.5em; padding-right: 0.5em;">
<pre style="margin: 0;"> <span id="LC140" class="line" lang="common_lisp">     <span class="o" style="font-weight: 600;">,</span><span class="p">(</span><span class="k" style="font-weight: 600;">if</span> <span class="nv" style="color: teal;">frob-code</span></span>
</pre>
</td>
</tr>
<tr class="line_holder" id="" style="line-height: 1.6;">
<td class="diff-line-num old_line" data-linenumber="139" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #f0f0f0; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#fafafa">
139
</td>
<td class="diff-line-num new_line" data-linenumber="141" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #f0f0f0; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#fafafa">
141
</td>
<td class="line_content noteable_line" style="padding-left: 0.5em; padding-right: 0.5em;">
<pre style="margin: 0;"> <span id="LC141" class="line" lang="common_lisp">    <span class="o" style="font-weight: 600;">`</span><span class="p">(</span><span class="nv" style="color: teal;">move</span> <span class="nv" style="color: teal;">code-tn</span> <span class="o" style="font-weight: 600;">,</span><span class="nv" style="color: teal;">return-pc</span><span class="p">)</span></span>
</pre>
</td>
</tr>
<tr class="line_holder" id="" style="line-height: 1.6;">
<td class="diff-line-num old_line" data-linenumber="140" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #f0f0f0; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#fafafa">
140
</td>
<td class="diff-line-num new_line" data-linenumber="142" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #f0f0f0; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#fafafa">
142
</td>
<td class="line_content noteable_line" style="padding-left: 0.5em; padding-right: 0.5em;">
<pre style="margin: 0;"> <span id="LC142" class="line" lang="common_lisp">    <span class="o" style="font-weight: 600;">'</span><span class="p">(</span><span class="nv" style="color: teal;">inst</span> <span class="nv" style="color: teal;">nop</span><span class="p">))))</span></span>
</pre>
</td>
</tr>

</table>
<br>
</li>

</div>
<div class="footer" style="margin-top: 10px;">
<p style="font-size: small; color: #777;">

<br>
<a href="https://gitlab.common-lisp.net/cmucl/cmucl/commit/47d140f4b307a9b3f60822df6ec551dbf6619802">View it on GitLab</a>.
<br>
You're receiving this email because of your account on gitlab.common-lisp.net.
If you'd like to receive fewer emails, you can
adjust your notification settings.
<script type="application/ld+json">{"@context":"http://schema.org","@type":"EmailMessage","action":{"@type":"ViewAction","name":"View Commit","url":"https://gitlab.common-lisp.net/cmucl/cmucl/commit/47d140f4b307a9b3f60822df6ec551dbf6619802"}}</script>
</p>
</div>
</body>
</html>