Optimizer Useless!?
20-Jul-93 20:29:58
Sb: #7243-Optimizer Useless!?
Fm: Ken Broomfield 70650,523
To: Ken Broomfield 70650,523
[continued]
0000002E: 3D6E FFD8 FFD6 MOVE.W $FFD8(A6),$FFD6(A6)
00000034: 486E FFD4 PEA $FFD4(A6)
00000038: 4EBA 0000 JSR takebase(CBase&)
0000003C: 3F03 MOVE.W D3,-(A7)
0000003E: 4EBA 0000 JSR localSysBeep(short)
00000042: 4CDF 0018 MOVEM.L (A7)+,D3/D4
00000046: 4E5E UNLK A6
00000048: 4E75 RTS
0000004A
Here is the disassembly of main() from the version that calls SysBeep()
(i.e., a single toolbox call is being made). The code has lots of unneeded
instructions:
main:
00000000: 4E56 FFDC LINK A6,#$FFDC
00000004: 48E7 1C38 MOVEM.L D3-D5/A2-A4,-(A7)
00000008: 47EE FFDC LEA $FFDC(A6),A3
0000000C: 284B MOVEA.L A3,A4
0000000E: 7601 MOVEQ #$01,D3
00000010: 3883 MOVE.W D3,(A4)
00000012: 7002 MOVEQ #$02,D0
00000014: 3940 0002 MOVE.W D0,$0002(A4)
00000018: 7803 MOVEQ #$03,D4
0000001A: 3944 0004 MOVE.W D4,$0004(A4)
0000001E: 45EE FFDC LEA $FFDC(A6),A2
00000022: 2D4A FFE4 MOVE.L A2,$FFE4(A6)
00000026: 3A2A 0002 MOVE.W $0002(A2),D5
0000002A: 3D45 FFFC MOVE.W D5,$FFFC(A6)
0000002E: CBFC 0007 MULS.W #$0007,D5
00000032: 302A 0004 MOVE.W $0004(A2),D0
00000036: E960 ASL.W D4,D0
00000038: DA40 ADD.W D0,D5
0000003A: 302E FFFC MOVE.W $FFFC(A6),D0
0000003E: DA40 ADD.W D0,D5
00000040: 3485 MOVE.W D5,(A2)
00000042: 41EE FFDC LEA $FFDC(A6),A0
00000046: 2D48 FFE8 MOVE.L A0,$FFE8(A6)
0000004A: 2D48 FFF4 MOVE.L A0,$FFF4(A6)
0000004E: 3028 0004 MOVE.W $0004(A0),D0
00000052: 3140 0002 MOVE.W D0,$0002(A0)
00000056: 41EE FFDC LEA $FFDC(A6),A0
0000005A: 2D48 FFF8 MOVE.L A0,$FFF8(A6)
0000005E: 486E FFDC PEA $FFDC(A6)
00000062: 4EBA 0000 JSR takebase(CBase&)
00000066: 3F03 MOVE.W D3,-(A7)
00000068: A9C8 _SysBeep
0000006A: 4CDF 1C38 MOVEM.L (A7)+,D3-D5/A2-A4
0000006E: 4E5E UNLK A6
00000070: 4E75 RTS
00000072
Lastly, it sure would have been nice to have gotten a response from you three
weeks ago.
–Ken
~~~~