[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Gcl-devel] Re: [axiom] Gcl roadmap
From: |
Camm Maguire |
Subject: |
Re: [Gcl-devel] Re: [axiom] Gcl roadmap |
Date: |
11 Jun 2002 21:07:52 -0400 |
Greetings! It would be straightforward to add the output of objdump
-d to gcl's disassemble, should that prove useful. Its roughly the
output you are seeing with cmucl. Any thoughts on the list? objdump
available in mingw?
take care,
root <address@hidden> writes:
> Yes, it is. However note difference between GCL and CMUCL:
>
> GCL (GNU Common Lisp) Version(2.4.0) Mon Mar 4 22:59:00 EST 2002
> Licensed under GNU Library General Public License
> Contains Enhancements by W. Schelter
>
> >(defun foo (x y ) (+ x y))
>
> FOO
>
> >(disassemble 'foo)
>
> Compiling gazonk0.lsp.
> End of Pass 1.
>
> #include <cmpinclude.h>
> #include "gazonk0.h"
> init_gazonk0(){do_init(VV);}
> /* function definition for FOO */
>
> static L1()
> {register object *base=vs_base;
> register object *sup=base+VM1; VC1
> vs_check;
> {object V1;
> object V2;
> V1=(base[0]);
> V2=(base[1]);
> vs_top=sup;
> TTL:;
> base[2]= number_plus((V1),(V2));
> vs_top=(vs_base=base+2)+1;
> return;
> }
> }
>
> #ifdef SYSTEM_SPECIAL_INIT
> SYSTEM_SPECIAL_INIT
> #endif
>
> End of Pass 2.
> OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3
> Finished compiling gazonk0.lsp.
>
> #(
> #((system::%init . #((system::mf (lisp::quote user::foo) 0) (system::debug
> (lisp::quote user::foo) (lisp::quote (user::x user::y))))))
> )
>
> static L1();
> #define VC1
> #define VM1 3
> static char * VVi[1]={
> #define Cdata VV[0]
> (char *)(L1)
> };
> #define VV ((object *)VVi)
> T
>
> >(bye)
> address@hidden Axiom]# lisp
> CMU Common Lisp release x86-linux 2.4.19 8 February 2000 build 456, running
> on localhost.localdomain
> Send bug reports and questions to your local CMU CL maintainer,
> or to address@hidden
> or to address@hidden (prefered)
>
> type (help) for help, (quit) to exit, and (demo) to see the demos
>
> Loaded subsystems:
> Python 1.0, target Intel x86
> CLOS based on PCL version: September 16 92 PCL (f)
> * (defun foo (x y) (+ x y))
>
> FOO
> * (disassemble 'foo)
> Compiling LAMBDA (X Y):
> Compiling Top-Level Form:
>
> 48035B20: .ENTRY "LAMBDA (X Y)"(x y) ; (FUNCTION (T T) NUMBER)
> 38: POP DWORD PTR [EBP-8]
> 3B: LEA ESP, [EBP-32]
>
> 3E: CMP ECX, 8
> 41: JNE L0
> 43: MOV [EBP-12], EDX
> 46: MOV [EBP-16], EDI
> 49: MOV EDX, [EBP-12] ; No-arg-parsing entry point
> 4C: MOV EDI, [EBP-16]
> 4F: CALL #x100001C8
> 54: MOV ESP, EBX
> 56: MOV ECX, [EBP-8]
> 59: MOV EAX, [EBP-4]
> 5C: ADD ECX, 2
> 5F: MOV ESP, EBP
> 61: MOV EBP, EAX
> 63: JMP ECX
> 65: NOP
> 66: NOP
> 67: NOP
> 68: L0: BREAK 10 ; Error trap
> 6A: BYTE #x02
> 6B: BYTE #x19 ; INVALID-ARGUMENT-COUNT-ERROR
> 6C: BYTE #x4D ; ECX
>
> Tim
>
> _______________________________________________
> Gcl-devel mailing list
> address@hidden
> http://mail.gnu.org/mailman/listinfo/gcl-devel
>
>
--
Camm Maguire address@hidden
==========================================================================
"The earth is but one country, and mankind its citizens." -- Baha'u'llah