From fc37eedfd376ed5978d6b700e69ab17bdbc6af81 Mon Sep 17 00:00:00 2001 From: Elliot Glaysher Date: Mon, 26 Nov 2018 11:31:34 -0800 Subject: [PATCH] Additional caching in the arvo kernel --- sys/arvo.hoon | 8 +++++--- sys/hoon.hoon | 7 ++++++- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/sys/arvo.hoon b/sys/arvo.hoon index 1bff1ab22b..b17e36826e 100644 --- a/sys/arvo.hoon +++ b/sys/arvo.hoon @@ -132,7 +132,7 @@ :: ++ wink :: deploy |= {now/@da eny/@ ski/slyd} - =+ rig=(slym q.sew +<) :: activate vane + =^ rig p.sew (~(slym wa p.sew) q.sew +<) :: activate vane ~% %wink +>+> ~ |% ++ doze @@ -159,12 +159,14 @@ |= {gat/vase hil/mill} ^- (unit (pair vase worm)) =^ sam p.sew (~(slot wa p.sew) 6 gat) - =+ ^= hig + =^ hig p.sew ?- -.hil %& (~(nest 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-b ~/(%slur-b |=({gat/vase hil/mill} =+(%b (slur gat hil)))) diff --git a/sys/hoon.hoon b/sys/hoon.hoon index 6ee10f8a0d..87670629a2 100644 --- a/sys/hoon.hoon +++ b/sys/hoon.hoon @@ -13901,7 +13901,7 @@ ++ wa !: :: cached compile |_ worm ++ nell |=(ref/type (nest [%cell %noun %noun] ref)) :: nest in cell - ++ nest :: nest:ut + ++ nest :: nest:ut, cached |= {sut/type ref/type} ^- {? worm} ?: (~(has in nes) [sut ref]) [& +>+<] @@ -13992,6 +13992,11 @@ =^ gun +>+< (mint p.vax [%$ axe]) [[p.gun .*(q.vax [0 axe])] +>+<.$] :: + ++ slym :: ++slym, cached + |= {gat/vase sam/*} + ^- [vase worm] + (slap gat(+<.q sam) [%limb %$]) + :: ++ sped :: specialize vase |= vax/vase ^- {vase worm}