tree/equal?

a b


Summary

Compares two trees for equality

Bytecode

Probably only interesting to you if you want to understand more about the Nujel VM or care very much about performance.

(    0 ($push/val :tree))
(    2 ($get/val 'type-of))
(    4 ($get/val 'a))
(    6 ($apply 1))
(    8 ($=))
(    9 ($dup))
(   10 ($jf* 13))
(   13 ($drop))
(   14 ($push/val :tree))
(   16 ($get/val 'type-of))
(   18 ($get/val 'b))
(   20 ($apply 1))
(   22 ($=))
(   23 ($jf* 82))
(   26 ($get/val 'tree/key*))
(   28 ($get/val 'a))
(   30 ($apply 1))
(   32 ($get/val 'tree/key*))
(   34 ($get/val 'b))
(   36 ($apply 1))
(   38 ($=))
(   39 ($dup))
(   40 ($jf* 62))
(   43 ($drop))
(   44 ($get/val 'equal?))
(   46 ($get/val 'tree/value*))
(   48 ($get/val 'a))
(   50 ($apply 1))
(   52 ($get/val 'tree/value*))
(   54 ($get/val 'b))
(   56 ($apply 1))
(   58 ($apply 2))
(   60 ($dup))
(   61 ($jf* 41))
(   64 ($drop))
(   65 ($get/val 'tree/equal?))
(   67 ($get/val 'tree/left*))
(   69 ($get/val 'a))
(   71 ($apply 1))
(   73 ($get/val 'tree/left*))
(   75 ($get/val 'b))
(   77 ($apply 1))
(   79 ($apply 2))
(   81 ($dup))
(   82 ($jf* 20))
(   85 ($drop))
(   86 ($get/val 'tree/equal?))
(   88 ($get/val 'tree/right*))
(   90 ($get/val 'a))
(   92 ($apply 1))
(   94 ($get/val 'tree/right*))
(   96 ($get/val 'b))
(   98 ($apply 1))
(  100 ($apply 2))
(  102 ($jmp* 11))
(  105 ($get/val 'equal?))
(  107 ($get/val 'a))
(  109 ($get/val 'b))
(  111 ($apply 2))
(  113 ($ret))