[Openmcl-devel] bytes of memory allocated

Tom Emerson tremerson at gmail.com
Sun Sep 23 11:16:27 PDT 2012


On Sun, Sep 23, 2012 at 12:54 PM, Taoufik Dachraoui
<dachraoui.taoufik at gmail.com> wrote:
> ;;; I am using taup function as an arbitrary example
> ? (time (taup '(+ 2) nil))
> (TAUP '(+ 2) NIL)
> took 0 milliseconds (0.000 seconds) to run.
> During that period, and with 2 available CPU cores,
>      0 milliseconds (0.000 seconds) were spent in user mode
>      0 milliseconds (0.000 seconds) were spent in system mode
>  128 bytes of memory allocated.
> (+ 2)
>
> As shown by the time function 128 bytes of memory is allocated while
> evaluating (taup '(+ 1 2) nil)

I suspect the memory was allocated for the '(+ 2), though without
knowing the implementation I don't know if that would be 128 bytes:

? (disassemble #'(lambda () (taup '(+ 2) nil)))
;;; #'(lambda () (taup '(+ 2) nil))
L0
     [0] (leaq (@ (:^ L0) (% rip)) (% fn))
     [7] (testl (% nargs) (% nargs))
     [9] (jne L49)
    [11] (pushq (% rbp))
    [12] (movq (% rsp) (% rbp))

;;; '(+ 2)
    [15] (movq (@ '(+ 2) (% fn)) (% arg_y))

;;; (taup '(+ 2) nil)
    [22] (movl ($ #x1300B) (% arg_z.l))
    [27] (movl ($ 16) (% nargs))
    [32] (movq (@ 'TAUP (% fn)) (% temp0))
    [39] (leaveq)
    [40] (jmpq (@ 10 (% temp0)))

;;; #<no source text>
L49
    [49] (uuo-error-wrong-number-of-args)




-- 
Tom Emerson
tremerson at gmail.com
http://www.dreamersrealm.net/tree



More information about the Openmcl-devel mailing list