about summary refs log tree commit diff stats
path: root/html/subx/038---literal_strings.cc.html
diff options
context:
space:
mode:
authorKartik Agaram <vc@akkartik.com>2018-09-26 10:48:44 -0700
committerKartik Agaram <vc@akkartik.com>2018-09-26 10:48:44 -0700
commit7e274cf2be2afcd54b187a3184b5aefe79ebf0c9 (patch)
tree4196eddb28953c4ecbecdd48df0282d27c6a5c8d /html/subx/038---literal_strings.cc.html
parentd7d0546f22893e8cbe84a734e2f349af62af634b (diff)
downloadmu-7e274cf2be2afcd54b187a3184b5aefe79ebf0c9.tar.gz
4520
Diffstat (limited to 'html/subx/038---literal_strings.cc.html')
-rw-r--r--html/subx/038---literal_strings.cc.html14
1 files changed, 7 insertions, 7 deletions
diff --git a/html/subx/038---literal_strings.cc.html b/html/subx/038---literal_strings.cc.html
index 70494c30..16a42c35 100644
--- a/html/subx/038---literal_strings.cc.html
+++ b/html/subx/038---literal_strings.cc.html
@@ -86,7 +86,7 @@ if ('onhashchange' in window) {
 <span id="L24" class="LineNr"> 24 </span><span class="Normal">int</span> <a href='038---literal_strings.cc.html#L24'>Next_auto_global</a> = <span class="Constant">1</span><span class="Delimiter">;</span>
 <span id="L25" class="LineNr"> 25 </span><span class="Delimiter">:(code)</span>
 <span id="L26" class="LineNr"> 26 </span><span class="Normal">void</span> <a href='038---literal_strings.cc.html#L26'>transform_literal_strings</a><span class="Delimiter">(</span>program&amp; p<span class="Delimiter">)</span> <span class="Delimiter">{</span>
-<span id="L27" class="LineNr"> 27 </span>  <a href='003trace.cc.html#L196'>trace</a><span class="Delimiter">(</span><span class="Constant">99</span><span class="Delimiter">,</span> <span class="Constant">&quot;transform&quot;</span><span class="Delimiter">)</span> &lt;&lt; <span class="Constant">&quot;-- move literal strings to <a href='011run.cc.html#L125'>data</a> segment&quot;</span> &lt;&lt; <a href='003trace.cc.html#L222'>end</a><span class="Delimiter">();</span>
+<span id="L27" class="LineNr"> 27 </span>  <a href='003trace.cc.html#L204'>trace</a><span class="Delimiter">(</span><span class="Constant">99</span><span class="Delimiter">,</span> <span class="Constant">&quot;transform&quot;</span><span class="Delimiter">)</span> &lt;&lt; <span class="Constant">&quot;-- move literal strings to <a href='011run.cc.html#L125'>data</a> segment&quot;</span> &lt;&lt; <a href='003trace.cc.html#L230'>end</a><span class="Delimiter">();</span>
 <span id="L28" class="LineNr"> 28 </span>  <span class="Normal">if</span> <span class="Delimiter">(</span>p<span class="Delimiter">.</span><a href='011run.cc.html#L100'>segments</a><span class="Delimiter">.</span>empty<span class="Delimiter">())</span> <span class="Identifier">return</span><span class="Delimiter">;</span>
 <span id="L29" class="LineNr"> 29 </span>  segment&amp; <a href='031check_operands.cc.html#L14'>code</a> = p<span class="Delimiter">.</span><a href='011run.cc.html#L100'>segments</a><span class="Delimiter">.</span>at<span class="Delimiter">(</span><span class="Constant">0</span><span class="Delimiter">);</span>
 <span id="L30" class="LineNr"> 30 </span>  segment <a href='011run.cc.html#L125'>data</a><span class="Delimiter">;</span>
@@ -101,7 +101,7 @@ if ('onhashchange' in window) {
 <span id="L39" class="LineNr"> 39 </span>      <a href='038---literal_strings.cc.html#L53'>add_global_to_data_segment</a><span class="Delimiter">(</span>global_name<span class="Delimiter">.</span>str<span class="Delimiter">(),</span> curr<span class="Delimiter">,</span> <a href='011run.cc.html#L125'>data</a><span class="Delimiter">);</span>
 <span id="L40" class="LineNr"> 40 </span>      curr<span class="Delimiter">.</span><a href='011run.cc.html#L125'>data</a> = global_name<span class="Delimiter">.</span>str<span class="Delimiter">();</span>
 <span id="L41" class="LineNr"> 41 </span>    <span class="Delimiter">}</span>
-<span id="L42" class="LineNr"> 42 </span>    <a href='003trace.cc.html#L196'>trace</a><span class="Delimiter">(</span><span class="Constant">99</span><span class="Delimiter">,</span> <span class="Constant">&quot;transform&quot;</span><span class="Delimiter">)</span> &lt;&lt; <span class="Constant">&quot;instruction after <a href='011run.cc.html#L209'>transform</a>: '&quot;</span> &lt;&lt; data_to_string<span class="Delimiter">(</span>inst<span class="Delimiter">)</span> &lt;&lt; <span class="Constant">&quot;'&quot;</span> &lt;&lt; <a href='003trace.cc.html#L222'>end</a><span class="Delimiter">();</span>
+<span id="L42" class="LineNr"> 42 </span>    <a href='003trace.cc.html#L204'>trace</a><span class="Delimiter">(</span><span class="Constant">99</span><span class="Delimiter">,</span> <span class="Constant">&quot;transform&quot;</span><span class="Delimiter">)</span> &lt;&lt; <span class="Constant">&quot;instruction after <a href='011run.cc.html#L209'>transform</a>: '&quot;</span> &lt;&lt; data_to_string<span class="Delimiter">(</span>inst<span class="Delimiter">)</span> &lt;&lt; <span class="Constant">&quot;'&quot;</span> &lt;&lt; <a href='003trace.cc.html#L230'>end</a><span class="Delimiter">();</span>
 <span id="L43" class="LineNr"> 43 </span>  <span class="Delimiter">}</span>
 <span id="L44" class="LineNr"> 44 </span>  <span class="Normal">if</span> <span class="Delimiter">(</span><a href='011run.cc.html#L125'>data</a><span class="Delimiter">.</span><a href='011run.cc.html#L109'>lines</a><span class="Delimiter">.</span>empty<span class="Delimiter">())</span> <span class="Identifier">return</span><span class="Delimiter">;</span>
 <span id="L45" class="LineNr"> 45 </span>  <span class="Normal">if</span> <span class="Delimiter">(</span><a href='001help.cc.html#L157'>SIZE</a><span class="Delimiter">(</span>p<span class="Delimiter">.</span><a href='011run.cc.html#L100'>segments</a><span class="Delimiter">)</span> &lt; <span class="Constant">2</span><span class="Delimiter">)</span> <span class="Delimiter">{</span>
@@ -109,11 +109,11 @@ if ('onhashchange' in window) {
 <span id="L47" class="LineNr"> 47 </span>    p<span class="Delimiter">.</span><a href='011run.cc.html#L100'>segments</a><span class="Delimiter">.</span>at<span class="Delimiter">(</span><span class="Constant">1</span><span class="Delimiter">).</span><a href='011run.cc.html#L109'>lines</a><span class="Delimiter">.</span>swap<span class="Delimiter">(</span><a href='011run.cc.html#L125'>data</a><span class="Delimiter">.</span><a href='011run.cc.html#L109'>lines</a><span class="Delimiter">);</span>
 <span id="L48" class="LineNr"> 48 </span>  <span class="Delimiter">}</span>
 <span id="L49" class="LineNr"> 49 </span>  vector&lt;line&gt;&amp; existing_data = p<span class="Delimiter">.</span><a href='011run.cc.html#L100'>segments</a><span class="Delimiter">.</span>at<span class="Delimiter">(</span><span class="Constant">1</span><span class="Delimiter">).</span><a href='011run.cc.html#L109'>lines</a><span class="Delimiter">;</span>
-<span id="L50" class="LineNr"> 50 </span>  existing_data<span class="Delimiter">.</span>insert<span class="Delimiter">(</span>existing_data<span class="Delimiter">.</span><a href='003trace.cc.html#L222'>end</a><span class="Delimiter">(),</span> <a href='011run.cc.html#L125'>data</a><span class="Delimiter">.</span><a href='011run.cc.html#L109'>lines</a><span class="Delimiter">.</span>begin<span class="Delimiter">(),</span> <a href='011run.cc.html#L125'>data</a><span class="Delimiter">.</span><a href='011run.cc.html#L109'>lines</a><span class="Delimiter">.</span><a href='003trace.cc.html#L222'>end</a><span class="Delimiter">());</span>
+<span id="L50" class="LineNr"> 50 </span>  existing_data<span class="Delimiter">.</span>insert<span class="Delimiter">(</span>existing_data<span class="Delimiter">.</span><a href='003trace.cc.html#L230'>end</a><span class="Delimiter">(),</span> <a href='011run.cc.html#L125'>data</a><span class="Delimiter">.</span><a href='011run.cc.html#L109'>lines</a><span class="Delimiter">.</span>begin<span class="Delimiter">(),</span> <a href='011run.cc.html#L125'>data</a><span class="Delimiter">.</span><a href='011run.cc.html#L109'>lines</a><span class="Delimiter">.</span><a href='003trace.cc.html#L230'>end</a><span class="Delimiter">());</span>
 <span id="L51" class="LineNr"> 51 </span><span class="Delimiter">}</span>
 <span id="L52" class="LineNr"> 52 </span>
 <span id="L53" class="LineNr"> 53 </span><span class="Normal">void</span> <a href='038---literal_strings.cc.html#L53'>add_global_to_data_segment</a><span class="Delimiter">(</span><span class="Normal">const</span> string&amp; <a href='010---vm.cc.html#L228'>name</a><span class="Delimiter">,</span> <span class="Normal">const</span> word&amp; value<span class="Delimiter">,</span> segment&amp; <a href='011run.cc.html#L125'>data</a><span class="Delimiter">)</span> <span class="Delimiter">{</span>
-<span id="L54" class="LineNr"> 54 </span>  <a href='003trace.cc.html#L196'>trace</a><span class="Delimiter">(</span><span class="Constant">99</span><span class="Delimiter">,</span> <span class="Constant">&quot;transform&quot;</span><span class="Delimiter">)</span> &lt;&lt; <span class="Constant">&quot;adding global variable '&quot;</span> &lt;&lt; name &lt;&lt; <span class="Constant">&quot;' containing &quot;</span> &lt;&lt; value<span class="Delimiter">.</span><a href='011run.cc.html#L125'>data</a> &lt;&lt; <a href='003trace.cc.html#L222'>end</a><span class="Delimiter">();</span>
+<span id="L54" class="LineNr"> 54 </span>  <a href='003trace.cc.html#L204'>trace</a><span class="Delimiter">(</span><span class="Constant">99</span><span class="Delimiter">,</span> <span class="Constant">&quot;transform&quot;</span><span class="Delimiter">)</span> &lt;&lt; <span class="Constant">&quot;adding global variable '&quot;</span> &lt;&lt; name &lt;&lt; <span class="Constant">&quot;' containing &quot;</span> &lt;&lt; value<span class="Delimiter">.</span><a href='011run.cc.html#L125'>data</a> &lt;&lt; <a href='003trace.cc.html#L230'>end</a><span class="Delimiter">();</span>
 <span id="L55" class="LineNr"> 55 </span>  <span class="Comment">// emit label</span>
 <span id="L56" class="LineNr"> 56 </span>  <a href='011run.cc.html#L125'>data</a><span class="Delimiter">.</span><a href='011run.cc.html#L109'>lines</a><span class="Delimiter">.</span>push_back<span class="Delimiter">(</span>label<span class="Delimiter">(</span><a href='010---vm.cc.html#L228'>name</a><span class="Delimiter">));</span>
 <span id="L57" class="LineNr"> 57 </span>  <span class="Comment">// emit size for size-prefixed array</span>
@@ -122,7 +122,7 @@ if ('onhashchange' in window) {
 <span id="L60" class="LineNr"> 60 </span>  <span class="Comment">// emit data byte by byte</span>
 <span id="L61" class="LineNr"> 61 </span>  <a href='011run.cc.html#L125'>data</a><span class="Delimiter">.</span><a href='011run.cc.html#L109'>lines</a><span class="Delimiter">.</span>push_back<span class="Delimiter">(</span><a href='011run.cc.html#L117'>line</a><span class="Delimiter">());</span>
 <span id="L62" class="LineNr"> 62 </span>  line&amp; curr = <a href='011run.cc.html#L125'>data</a><span class="Delimiter">.</span><a href='011run.cc.html#L109'>lines</a><span class="Delimiter">.</span>back<span class="Delimiter">();</span>
-<span id="L63" class="LineNr"> 63 </span>  <span class="Normal">for</span> <span class="Delimiter">(</span><span class="Normal">int</span> i = <span class="Comment">/*</span><span class="Comment">skip <a href='011run.cc.html#L108'>start</a> quote</span><span class="Comment">*/</span><span class="Constant">1</span><span class="Delimiter">;</span>  i &lt; <a href='001help.cc.html#L157'>SIZE</a><span class="Delimiter">(</span>value<span class="Delimiter">.</span><a href='011run.cc.html#L125'>data</a><span class="Delimiter">)</span>-<span class="Comment">/*</span><span class="Comment">skip <a href='003trace.cc.html#L222'>end</a> quote</span><span class="Comment">*/</span><span class="Constant">1</span><span class="Delimiter">;</span>  ++i<span class="Delimiter">)</span> <span class="Delimiter">{</span>
+<span id="L63" class="LineNr"> 63 </span>  <span class="Normal">for</span> <span class="Delimiter">(</span><span class="Normal">int</span> i = <span class="Comment">/*</span><span class="Comment">skip <a href='011run.cc.html#L108'>start</a> quote</span><span class="Comment">*/</span><span class="Constant">1</span><span class="Delimiter">;</span>  i &lt; <a href='001help.cc.html#L157'>SIZE</a><span class="Delimiter">(</span>value<span class="Delimiter">.</span><a href='011run.cc.html#L125'>data</a><span class="Delimiter">)</span>-<span class="Comment">/*</span><span class="Comment">skip <a href='003trace.cc.html#L230'>end</a> quote</span><span class="Comment">*/</span><span class="Constant">1</span><span class="Delimiter">;</span>  ++i<span class="Delimiter">)</span> <span class="Delimiter">{</span>
 <span id="L64" class="LineNr"> 64 </span>    <span class="Normal">char</span> c = value<span class="Delimiter">.</span><a href='011run.cc.html#L125'>data</a><span class="Delimiter">.</span>at<span class="Delimiter">(</span>i<span class="Delimiter">);</span>
 <span id="L65" class="LineNr"> 65 </span>    curr<span class="Delimiter">.</span><a href='011run.cc.html#L118'>words</a><span class="Delimiter">.</span>push_back<span class="Delimiter">(</span><a href='011run.cc.html#L123'>word</a><span class="Delimiter">());</span>
 <span id="L66" class="LineNr"> 66 </span>    curr<span class="Delimiter">.</span><a href='011run.cc.html#L118'>words</a><span class="Delimiter">.</span>back<span class="Delimiter">().</span><a href='011run.cc.html#L125'>data</a> = <a href='030---operands.cc.html#L274'>hex_byte_to_string</a><span class="Delimiter">(</span>c<span class="Delimiter">);</span>
@@ -190,7 +190,7 @@ if ('onhashchange' in window) {
 <span id="L128" class="LineNr">128 </span>    <span class="Delimiter">}</span>
 <span id="L129" class="LineNr">129 </span>    result<span class="Delimiter">.</span><a href='011run.cc.html#L118'>words</a><span class="Delimiter">.</span>push_back<span class="Delimiter">(</span><a href='011run.cc.html#L123'>word</a><span class="Delimiter">());</span>
 <span id="L130" class="LineNr">130 </span>    <a href='011run.cc.html#L184'>parse_word</a><span class="Delimiter">(</span>w<span class="Delimiter">.</span>str<span class="Delimiter">(),</span> result<span class="Delimiter">.</span><a href='011run.cc.html#L118'>words</a><span class="Delimiter">.</span>back<span class="Delimiter">());</span>
-<span id="L131" class="LineNr">131 </span>    <a href='003trace.cc.html#L196'>trace</a><span class="Delimiter">(</span><span class="Constant">99</span><span class="Delimiter">,</span> <span class="Constant">&quot;parse2&quot;</span><span class="Delimiter">)</span> &lt;&lt; <span class="Constant">&quot;word: &quot;</span> &lt;&lt; to_string<span class="Delimiter">(</span>result<span class="Delimiter">.</span><a href='011run.cc.html#L118'>words</a><span class="Delimiter">.</span>back<span class="Delimiter">())</span> &lt;&lt; <a href='003trace.cc.html#L222'>end</a><span class="Delimiter">();</span>
+<span id="L131" class="LineNr">131 </span>    <a href='003trace.cc.html#L204'>trace</a><span class="Delimiter">(</span><span class="Constant">99</span><span class="Delimiter">,</span> <span class="Constant">&quot;parse2&quot;</span><span class="Delimiter">)</span> &lt;&lt; <span class="Constant">&quot;word: &quot;</span> &lt;&lt; to_string<span class="Delimiter">(</span>result<span class="Delimiter">.</span><a href='011run.cc.html#L118'>words</a><span class="Delimiter">.</span>back<span class="Delimiter">())</span> &lt;&lt; <a href='003trace.cc.html#L230'>end</a><span class="Delimiter">();</span>
 <span id="L132" class="LineNr">132 </span>  <span class="Delimiter">}</span>
 <span id="L133" class="LineNr">133 </span>  <span class="Normal">if</span> <span class="Delimiter">(</span>!result<span class="Delimiter">.</span><a href='011run.cc.html#L118'>words</a><span class="Delimiter">.</span>empty<span class="Delimiter">())</span>
 <span id="L134" class="LineNr">134 </span>    out<span class="Delimiter">.</span>push_back<span class="Delimiter">(</span>result<span class="Delimiter">);</span>
@@ -270,7 +270,7 @@ if ('onhashchange' in window) {
 <span id="L208" class="LineNr">208 </span>  parse_instruction_character_by_character<span class="Delimiter">(</span>
 <span id="L209" class="LineNr">209 </span>      <span class="Constant">&quot;68/push </span><span class="cSpecial">\&quot;</span><span class="Constant">test</span><span class="cSpecial">\&quot;</span><span class="Constant">/f&quot;</span>  <span class="Comment">// no newline, which is how calls from parse() will look</span>
 <span id="L210" class="LineNr">210 </span>  <span class="Delimiter">);</span>
-<span id="L211" class="LineNr">211 </span>  <a href='003trace.cc.html#L250'>CHECK_TRACE_CONTENTS</a><span class="Delimiter">(</span>
+<span id="L211" class="LineNr">211 </span>  <a href='003trace.cc.html#L258'>CHECK_TRACE_CONTENTS</a><span class="Delimiter">(</span>
 <span id="L212" class="LineNr">212 </span>      <span class="Constant">&quot;parse2: <a href='011run.cc.html#L123'>word</a>: 68 /push^D&quot;</span>
 <span id="L213" class="LineNr">213 </span>      <span class="Constant">&quot;parse2: <a href='011run.cc.html#L123'>word</a>: </span><span class="cSpecial">\&quot;</span><span class="Constant">test</span><span class="cSpecial">\&quot;</span><span class="Constant"> /f^D&quot;</span>
 <span id="L214" class="LineNr">214 </span>  <span class="Delimiter">);</span>