Merge pull request #896 from urbit/more-arvo-cache

Additional caching in the arvo kernel
This commit is contained in:
Elliot Glaysher 2018-11-29 11:28:16 -08:00 committed by GitHub
commit 708396cfbf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 4 deletions

View File

@ -140,7 +140,7 @@
:: ::
++ wink :: deploy ++ wink :: deploy
|= {now/@da eny/@ ski/slyd} |= {now/@da eny/@ ski/slyd}
=+ rig=(slym q.sew +<) :: activate vane =^ rig p.sew (~(slym wa p.sew) q.sew +<) :: activate vane
~% %wink +>+> ~ ~% %wink +>+> ~
|% |%
++ slid ++ slid
@ -162,12 +162,14 @@
|= {gat/vase hil/mill} |= {gat/vase hil/mill}
^- (unit (pair vase worm)) ^- (unit (pair vase worm))
=^ sam p.sew (~(slot wa p.sew) 6 gat) =^ sam p.sew (~(slot wa p.sew) 6 gat)
=+ ^= hig =^ hig p.sew
?- -.hil ?- -.hil
%& (~(nest wa p.sew) p.sam p.p.hil) %& (~(nest wa p.sew) p.sam p.p.hil)
%| (~(nets wa p.sew) p.sam p.p.hil) %| (~(nets wa p.sew) p.sam p.p.hil)
== ==
?.(-.hig ~ `[(slym gat +>.hil) +.hig]) ?. hig
~
`(~(slym wa p.sew) gat +>.hil)
:: ::
++ slur-a ~/(%slur-a |=({gat/vase hil/mill} =+(%a (slur gat hil)))) ++ slur-a ~/(%slur-a |=({gat/vase hil/mill} =+(%a (slur gat hil))))
++ slur-b ~/(%slur-b |=({gat/vase hil/mill} =+(%b (slur gat hil)))) ++ slur-b ~/(%slur-b |=({gat/vase hil/mill} =+(%b (slur gat hil))))

View File

@ -13904,7 +13904,7 @@
++ wa !: :: cached compile ++ wa !: :: cached compile
|_ worm |_ worm
++ nell |=(ref/type (nest [%cell %noun %noun] ref)) :: nest in cell ++ nell |=(ref/type (nest [%cell %noun %noun] ref)) :: nest in cell
++ nest :: nest:ut ++ nest :: nest:ut, cached
|= {sut/type ref/type} |= {sut/type ref/type}
^- {? worm} ^- {? worm}
?: (~(has in nes) [sut ref]) [& +>+<] ?: (~(has in nes) [sut ref]) [& +>+<]
@ -13995,6 +13995,11 @@
=^ gun +>+< (mint p.vax [%$ axe]) =^ gun +>+< (mint p.vax [%$ axe])
[[p.gun .*(q.vax [0 axe])] +>+<.$] [[p.gun .*(q.vax [0 axe])] +>+<.$]
:: ::
++ slym :: ++slym, cached
|= {gat/vase sam/*}
^- [vase worm]
(slap gat(+<.q sam) [%limb %$])
::
++ sped :: specialize vase ++ sped :: specialize vase
|= vax/vase |= vax/vase
^- {vase worm} ^- {vase worm}