diff options
author | Kartik Agaram <vc@akkartik.com> | 2018-05-12 10:22:26 -0700 |
---|---|---|
committer | Kartik Agaram <vc@akkartik.com> | 2018-05-12 10:22:26 -0700 |
commit | cdf2822743b3beeb37ebc3deea8e08b6130698c5 (patch) | |
tree | b7946314d79e8df95eb16703b65832e20f7ee620 /html/063array.mu.html | |
parent | bd222553d7bc7d91d3eebae5639b01f58c8f7c75 (diff) | |
download | mu-cdf2822743b3beeb37ebc3deea8e08b6130698c5.tar.gz |
4242 - get rid of refcounts entirely
We're going to lean back into the experiment of commit 4179 back in Jan. If we delete memory it's up to us to ensure no pointers into it survive. Since deep-copy depends on our refcounting infrastructure, it's gone as well. So we're going to have to start watching out for pointers shared over channels.
Diffstat (limited to 'html/063array.mu.html')
-rw-r--r-- | html/063array.mu.html | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/html/063array.mu.html b/html/063array.mu.html index 80244daf..e194f20a 100644 --- a/html/063array.mu.html +++ b/html/063array.mu.html @@ -75,20 +75,20 @@ if ('onhashchange' in window) { <span id="L15" class="LineNr"> 15 </span><span class="Comment"># create an array out of a list of args</span> <span id="L16" class="LineNr"> 16 </span><span class="muRecipe">def</span> <a href='063array.mu.html#L16'>new-array</a><span class="muRecipe"> -> </span>result:&:@:_elem [ <span id="L17" class="LineNr"> 17 </span> <span class="Constant">local-scope</span> -<span id="L18" class="LineNr"> 18 </span> <a href='075channel.mu.html#L399'>capacity</a>:num <span class="Special"><-</span> copy<span class="Constant"> 0</span> +<span id="L18" class="LineNr"> 18 </span> <a href='075channel.mu.html#L391'>capacity</a>:num <span class="Special"><-</span> copy<span class="Constant"> 0</span> <span id="L19" class="LineNr"> 19 </span> <span class="Delimiter">{</span> <span id="L20" class="LineNr"> 20 </span> <span class="Comment"># while read curr-value</span> <span id="L21" class="LineNr"> 21 </span> curr-value:_elem, exists?:bool <span class="Special"><-</span> <span class="Constant">next-input</span> <span id="L22" class="LineNr"> 22 </span> <span class="muControl">break-unless</span> exists? -<span id="L23" class="LineNr"> 23 </span> <a href='075channel.mu.html#L399'>capacity</a> <span class="Special"><-</span> add <a href='075channel.mu.html#L399'>capacity</a>,<span class="Constant"> 1</span> +<span id="L23" class="LineNr"> 23 </span> <a href='075channel.mu.html#L391'>capacity</a> <span class="Special"><-</span> add <a href='075channel.mu.html#L391'>capacity</a>,<span class="Constant"> 1</span> <span id="L24" class="LineNr"> 24 </span> <span class="muControl"> loop</span> <span id="L25" class="LineNr"> 25 </span> <span class="Delimiter">}</span> -<span id="L26" class="LineNr"> 26 </span> result <span class="Special"><-</span> new <span class="Constant">_elem:type</span>, <a href='075channel.mu.html#L399'>capacity</a> +<span id="L26" class="LineNr"> 26 </span> result <span class="Special"><-</span> new <span class="Constant">_elem:type</span>, <a href='075channel.mu.html#L391'>capacity</a> <span id="L27" class="LineNr"> 27 </span> <span class="Constant">rewind-inputs</span> <span id="L28" class="LineNr"> 28 </span> i:num <span class="Special"><-</span> copy<span class="Constant"> 0</span> <span id="L29" class="LineNr"> 29 </span> <span class="Delimiter">{</span> <span id="L30" class="LineNr"> 30 </span> <span class="Comment"># while read curr-value</span> -<span id="L31" class="LineNr"> 31 </span> done?:bool <span class="Special"><-</span> greater-or-equal i, <a href='075channel.mu.html#L399'>capacity</a> +<span id="L31" class="LineNr"> 31 </span> done?:bool <span class="Special"><-</span> greater-or-equal i, <a href='075channel.mu.html#L391'>capacity</a> <span id="L32" class="LineNr"> 32 </span> <span class="muControl">break-if</span> done? <span id="L33" class="LineNr"> 33 </span> curr-value:_elem, exists?:bool <span class="Special"><-</span> <span class="Constant">next-input</span> <span id="L34" class="LineNr"> 34 </span> assert exists?, <span class="Constant">[error in rewinding inputs to new-array]</span> |