1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-04-30 03:40:34 +02:00

Updated loop disassembly

* benchmark/lib.scm: Update loop disassembly, with inlining. Neat!
This commit is contained in:
Andy Wingo 2008-05-25 13:43:26 +02:00
parent 6cc3f99e83
commit 87c4242ca8

View file

@ -28,7 +28,7 @@
;; Disassembly of `loop' ;; Disassembly of `loop'
;; ;;
;; Disassembly of #<objcode b7c017e8>: ;; Disassembly of #<objcode b79bdf28>:
;; nlocs = 0 nexts = 0 ;; nlocs = 0 nexts = 0
@ -37,35 +37,31 @@
;; 14 (list 0 1) ;; 1 element ;; 14 (list 0 1) ;; 1 element
;; 17 (load-symbol "loop") ;; loop ;; 17 (load-symbol "loop") ;; loop
;; 23 (link-later) ;; 23 (link-later)
;; 24 (load-symbol "guile-user") ;; guile-user ;; 24 (vector 0 1) ;; 1 element
;; 36 (list 0 1) ;; 1 element ;; 27 (make-int8 0) ;; 0
;; 39 (load-symbol "1-") ;; 1- ;; 29 (load-symbol "n") ;; n
;; 43 (link-later) ;; 32 (make-false) ;; #f
;; 44 (vector 0 2) ;; 2 elements ;; 33 (make-int8 0) ;; 0
;; 47 (make-int8 0) ;; 0 ;; 35 (list 0 3) ;; 3 elements
;; 49 (load-symbol "n") ;; n ;; 38 (list 0 2) ;; 2 elements
;; 52 (make-false) ;; #f ;; 41 (list 0 1) ;; 1 element
;; 53 (make-int8 0) ;; 0 ;; 44 (make-int8 5) ;; 5
;; 55 (list 0 3) ;; 3 elements ;; 46 (make-false) ;; #f
;; 58 (list 0 2) ;; 2 elements ;; 47 (cons)
;; 61 (list 0 1) ;; 1 element ;; 48 (make-int8 18) ;; 18
;; 64 (make-int8 5) ;; 5 ;; 50 (make-false) ;; #f
;; 66 (make-false) ;; #f ;; 51 (cons)
;; 67 (cons) ;; 52 (make-int8 20) ;; 20
;; 68 (make-int8 19) ;; 19 ;; 54 (make-false) ;; #f
;; 70 (make-false) ;; #f ;; 55 (cons)
;; 71 (cons) ;; 56 (list 0 4) ;; 4 elements
;; 72 (make-int8 21) ;; 21 ;; 59 (load-program ##{66}#)
;; 74 (make-false) ;; #f ;; 81 (define "loop")
;; 75 (cons) ;; 87 (variable-set)
;; 76 (list 0 4) ;; 4 elements ;; 88 (void)
;; 79 (load-program ##{70}#) ;; 89 (return)
;; 102 (define "loop")
;; 108 (variable-set)
;; 109 (void)
;; 110 (return)
;; Bytecode ##{70}#: ;; Bytecode ##{66}#:
;; 0 (make-int8 0) ;; 0 ;; 0 (make-int8 0) ;; 0
;; 2 (local-ref 0) ;; 2 (local-ref 0)
@ -74,10 +70,10 @@
;; 8 (make-int8 0) ;; 0 ;; 8 (make-int8 0) ;; 0
;; 10 (return) ;; 10 (return)
;; 11 (late-variable-ref 0) ;; 11 (late-variable-ref 0)
;; 13 (late-variable-ref 1) ;; 13 (local-ref 0)
;; 15 (local-ref 0) ;; 15 (make-int8 1) ;; 1
;; 17 (call 1) ;; 17 (sub)
;; 19 (tail-call 1) ;; 18 (tail-call 1)
(define (loopi n) (define (loopi n)
;; Same as `loop'. ;; Same as `loop'.