%!PS-ADOBE-2.0 %%CREATOR: DVIPS 5.72 COPYRIGHT 1997 RADICAL EYE SOFTWARE (WWW.RADICALEYE.COM) %%TITLE: RI.DVI %%CREATIONDATE: TUE AUG 26 22:57:53 1997 %%PAGES: 10 %%PAGEORDER: ASCEND %%BOUNDINGBOX: 0 0 596 842 %%DOCUMENTFONTS: HELVETICA %%ENDCOMMENTS %DVIPSCOMMANDLINE: DVIPS -Z RI %DVIPSPARAMETERS: DPI=600, COMPRESSED %DVIPSSOURCE: TEX OUTPUT 1997.08.26:2255 %%BEGINPROCSET: TEXC.PRO %! /TEXDICT 250 DICT DEF TEXDICT BEGIN /N{DEF}DEF /B{BIND DEF}N /S{EXCH}N /X{S N}B /TR{TRANSLATE}N /ISLS FALSE N /VSIZE 11 72 MUL N /HSIZE 8.5 72 MUL N /LANDPLUS90{FALSE}DEF /@RIGIN{ISLS{[0 LANDPLUS90{1 -1}{-1 1} IFELSE 0 0 0]CONCAT}IF 72 RESOLUTION DIV 72 VRESOLUTION DIV NEG SCALE ISLS{LANDPLUS90{VRESOLUTION 72 DIV VSIZE MUL 0 EXCH}{RESOLUTION -72 DIV HSIZE MUL 0}IFELSE TR}IF RESOLUTION VRESOLUTION VSIZE -72 DIV 1 ADD MUL TR[MATRIX CURRENTMATRIX{DUP DUP ROUND SUB ABS 0.00001 LT{ROUND}IF} FORALL ROUND EXCH ROUND EXCH]SETMATRIX}N /@LANDSCAPE{/ISLS TRUE N}B /@MANUALFEED{STATUSDICT /MANUALFEED TRUE PUT}B /@COPIES{/#COPIES X}B /FMAT[1 0 0 -1 0 0]N /FBB[0 0 0 0]N /NN 0 N /IE 0 N /CTR 0 N /DF-TAIL{ /NN 8 DICT N NN BEGIN /FONTTYPE 3 N /FONTMATRIX FNTRX N /FONTBBOX FBB N STRING /BASE X ARRAY /BITMAPS X /BUILDCHAR{CHARBUILDER}N /ENCODING IE N END DUP{/FOO SETFONT}2 ARRAY COPY CVX N LOAD 0 NN PUT /CTR 0 N[}B /DF{ /SF 1 N /FNTRX FMAT N DF-TAIL}B /DFS{DIV /SF X /FNTRX[SF 0 0 SF NEG 0 0] N DF-TAIL}B /E{POP NN DUP DEFINEFONT SETFONT}B /CH-WIDTH{CH-DATA DUP LENGTH 5 SUB GET}B /CH-HEIGHT{CH-DATA DUP LENGTH 4 SUB GET}B /CH-XOFF{ 128 CH-DATA DUP LENGTH 3 SUB GET SUB}B /CH-YOFF{CH-DATA DUP LENGTH 2 SUB GET 127 SUB}B /CH-DX{CH-DATA DUP LENGTH 1 SUB GET}B /CH-IMAGE{CH-DATA DUP TYPE /STRINGTYPE NE{CTR GET /CTR CTR 1 ADD N}IF}B /ID 0 N /RW 0 N /RC 0 N /GP 0 N /CP 0 N /G 0 N /SF 0 N /CHARBUILDER{SAVE 3 1 ROLL S DUP /BASE GET 2 INDEX GET S /BITMAPS GET S GET /CH-DATA X POP /CTR 0 N CH-DX 0 CH-XOFF CH-YOFF CH-HEIGHT SUB CH-XOFF CH-WIDTH ADD CH-YOFF SETCACHEDEVICE CH-WIDTH CH-HEIGHT TRUE[1 0 0 -1 -.1 CH-XOFF SUB CH-YOFF .1 SUB]/ID CH-IMAGE N /RW CH-WIDTH 7 ADD 8 IDIV STRING N /RC 0 N /GP 0 N /CP 0 N{RC 0 NE{RC 1 SUB /RC X RW}{G}IFELSE}IMAGEMASK RESTORE}B /G{{ID GP GET /GP GP 1 ADD N DUP 18 MOD S 18 IDIV PL S GET EXEC}LOOP}B /ADV{CP ADD /CP X}B /CHG{RW CP ID GP 4 INDEX GETINTERVAL PUTINTERVAL DUP GP ADD /GP X ADV}B /ND{/CP 0 N RW EXIT}B /LSH{RW CP 2 COPY GET DUP 0 EQ{POP 1}{ DUP 255 EQ{POP 254}{DUP DUP ADD 255 AND S 1 AND OR}IFELSE}IFELSE PUT 1 ADV}B /RSH{RW CP 2 COPY GET DUP 0 EQ{POP 128}{DUP 255 EQ{POP 127}{DUP 2 IDIV S 128 AND OR}IFELSE}IFELSE PUT 1 ADV}B /CLR{RW CP 2 INDEX STRING PUTINTERVAL ADV}B /SET{RW CP FILLSTR 0 4 INDEX GETINTERVAL PUTINTERVAL ADV}B /FILLSTR 18 STRING 0 1 17{2 COPY 255 PUT POP}FOR N /PL[{ADV 1 CHG} {ADV 1 CHG ND}{1 ADD CHG}{1 ADD CHG ND}{ADV LSH}{ADV LSH ND}{ADV RSH}{ ADV RSH ND}{1 ADD ADV}{/RC X ND}{1 ADD SET}{1 ADD CLR}{ADV 2 CHG}{ADV 2 CHG ND}{POP ND}]DUP{BIND POP}FORALL N /D{/CC X DUP TYPE /STRINGTYPE NE{] }IF NN /BASE GET CC CTR PUT NN /BITMAPS GET S CTR S SF 1 NE{DUP DUP LENGTH 1 SUB DUP 2 INDEX S GET SF DIV PUT}IF PUT /CTR CTR 1 ADD N}B /I{ CC 1 ADD D}B /BOP{USERDICT /BOP-HOOK KNOWN{BOP-HOOK}IF /SI SAVE N @RIGIN 0 0 MOVETO /V MATRIX CURRENTMATRIX DUP 1 GET DUP MUL EXCH 0 GET DUP MUL ADD .99 LT{/QV}{/RV}IFELSE LOAD DEF POP POP}N /EOP{SI RESTORE USERDICT /EOP-HOOK KNOWN{EOP-HOOK}IF SHOWPAGE}N /@START{USERDICT /START-HOOK KNOWN{START-HOOK}IF POP /VRESOLUTION X /RESOLUTION X 1000 DIV /DVIMAG X /IE 256 ARRAY N 0 1 255{IE S 1 STRING DUP 0 3 INDEX PUT CVN PUT}FOR 65781.76 DIV /VSIZE X 65781.76 DIV /HSIZE X}N /P{SHOW}N /RMAT[1 0 0 -1 0 0]N /BDOT 260 STRING N /RULEX 0 N /RULEY 0 N /V{/RULEY X /RULEX X V}B /V {}B /RV STATUSDICT BEGIN /PRODUCT WHERE{POP FALSE[(DISPLAY)(NEXT) (LASERWRITER 16/600)]{DUP LENGTH PRODUCT LENGTH LE{DUP LENGTH PRODUCT EXCH 0 EXCH GETINTERVAL EQ{POP TRUE EXIT}IF}{POP}IFELSE}FORALL}{FALSE} IFELSE END{{GSAVE TR -.1 .1 TR 1 1 SCALE RULEX RULEY FALSE RMAT{BDOT} IMAGEMASK GRESTORE}}{{GSAVE TR -.1 .1 TR RULEX RULEY SCALE 1 1 FALSE RMAT{BDOT}IMAGEMASK GRESTORE}}IFELSE B /QV{GSAVE NEWPATH TRANSFORM ROUND EXCH ROUND EXCH ITRANSFORM MOVETO RULEX 0 RLINETO 0 RULEY NEG RLINETO RULEX NEG 0 RLINETO FILL GRESTORE}B /A{MOVETO}B /DELTA 0 N /TAIL{DUP /DELTA X 0 RMOVETO}B /M{S P DELTA ADD TAIL}B /B{S P TAIL}B /C{-4 M}B /D{ -3 M}B /E{-2 M}B /F{-1 M}B /G{0 M}B /H{1 M}B /I{2 M}B /J{3 M}B /K{4 M}B /W{0 RMOVETO}B /L{P -4 W}B /M{P -3 W}B /N{P -2 W}B /O{P -1 W}B /Q{P 1 W} B /R{P 2 W}B /S{P 3 W}B /T{P 4 W}B /X{0 S RMOVETO}B /Y{3 2 ROLL P A}B /BOS{/SS SAVE N}B /EOS{SS RESTORE}B END %%ENDPROCSET %%BEGINPROCSET: SPECIAL.PRO %! TEXDICT BEGIN /SDICT 200 DICT N SDICT BEGIN /@SPECIALDEFAULTS{/HS 612 N /VS 792 N /HO 0 N /VO 0 N /HSC 1 N /VSC 1 N /ANG 0 N /CLIP 0 N /RWISEEN FALSE N /RHISEEN FALSE N /LETTER{}N /NOTE{}N /A4{}N /LEGAL{}N}B /@SCALEUNIT 100 N /@HSCALE{@SCALEUNIT DIV /HSC X}B /@VSCALE{@SCALEUNIT DIV /VSC X}B /@HSIZE{/HS X /CLIP 1 N}B /@VSIZE{/VS X /CLIP 1 N}B /@CLIP{ /CLIP 2 N}B /@HOFFSET{/HO X}B /@VOFFSET{/VO X}B /@ANGLE{/ANG X}B /@RWI{ 10 DIV /RWI X /RWISEEN TRUE N}B /@RHI{10 DIV /RHI X /RHISEEN TRUE N}B /@LLX{/LLX X}B /@LLY{/LLY X}B /@URX{/URX X}B /@URY{/URY X}B /MAGSCALE TRUE DEF END /@MACSETUP{USERDICT /MD KNOWN{USERDICT /MD GET TYPE /DICTTYPE EQ{USERDICT BEGIN MD LENGTH 10 ADD MD MAXLENGTH GE{/MD MD DUP LENGTH 20 ADD DICT COPY DEF}IF END MD BEGIN /LETTER{}N /NOTE{}N /LEGAL{} N /OD{TXPOSE 1 0 MTX DEFAULTMATRIX DTRANSFORM S ATAN/PA X NEWPATH CLIPPATH MARK{TRANSFORM{ITRANSFORM MOVETO}}{TRANSFORM{ITRANSFORM LINETO} }{6 -2 ROLL TRANSFORM 6 -2 ROLL TRANSFORM 6 -2 ROLL TRANSFORM{ ITRANSFORM 6 2 ROLL ITRANSFORM 6 2 ROLL ITRANSFORM 6 2 ROLL CURVETO}}{{ CLOSEPATH}}PATHFORALL NEWPATH COUNTTOMARK ARRAY ASTORE /GC XDF POP CT 39 0 PUT 10 FZ 0 FS 2 F/|______COURIER FNT INVERTFLAG{PAINTBLACK}IF}N /TXPOSE{PXS PYS SCALE PPR ALOAD POP POR{NOFLIPS{POP S NEG S TR POP 1 -1 SCALE}IF XFLIP YFLIP AND{POP S NEG S TR 180 ROTATE 1 -1 SCALE PPR 3 GET PPR 1 GET NEG SUB NEG PPR 2 GET PPR 0 GET NEG SUB NEG TR}IF XFLIP YFLIP NOT AND{POP S NEG S TR POP 180 ROTATE PPR 3 GET PPR 1 GET NEG SUB NEG 0 TR}IF YFLIP XFLIP NOT AND{PPR 1 GET NEG PPR 0 GET NEG TR}IF}{NOFLIPS{TR POP POP 270 ROTATE 1 -1 SCALE}IF XFLIP YFLIP AND{TR POP POP 90 ROTATE 1 -1 SCALE PPR 3 GET PPR 1 GET NEG SUB NEG PPR 2 GET PPR 0 GET NEG SUB NEG TR}IF XFLIP YFLIP NOT AND{TR POP POP 90 ROTATE PPR 3 GET PPR 1 GET NEG SUB NEG 0 TR}IF YFLIP XFLIP NOT AND{TR POP POP 270 ROTATE PPR 2 GET PPR 0 GET NEG SUB NEG 0 S TR}IF}IFELSE SCALEBY96{PPR ALOAD POP 4 -1 ROLL ADD 2 DIV 3 1 ROLL ADD 2 DIV 2 COPY TR .96 DUP SCALE NEG S NEG S TR}IF}N /CP {POP POP SHOWPAGE PM RESTORE}N END}IF}IF}N /NORMALSCALE{RESOLUTION 72 DIV VRESOLUTION 72 DIV NEG SCALE MAGSCALE{DVIMAG DUP SCALE}IF 0 SETGRAY} N /PSFTS{S 65781.76 DIV N}N /STARTTEXFIG{/PSF$SAVEDSTATE SAVE N USERDICT MAXLENGTH DICT BEGIN /MAGSCALE TRUE DEF NORMALSCALE CURRENTPOINT TR /PSF$URY PSFTS /PSF$URX PSFTS /PSF$LLY PSFTS /PSF$LLX PSFTS /PSF$Y PSFTS /PSF$X PSFTS CURRENTPOINT /PSF$CY X /PSF$CX X /PSF$SX PSF$X PSF$URX PSF$LLX SUB DIV N /PSF$SY PSF$Y PSF$URY PSF$LLY SUB DIV N PSF$SX PSF$SY SCALE PSF$CX PSF$SX DIV PSF$LLX SUB PSF$CY PSF$SY DIV PSF$URY SUB TR /SHOWPAGE{}N /ERASEPAGE{}N /COPYPAGE{}N /P 3 DEF @MACSETUP}N /DOCLIP{ PSF$LLX PSF$LLY PSF$URX PSF$URY CURRENTPOINT 6 2 ROLL NEWPATH 4 COPY 4 2 ROLL MOVETO 6 -1 ROLL S LINETO S LINETO S LINETO CLOSEPATH CLIP NEWPATH MOVETO}N /ENDTEXFIG{END PSF$SAVEDSTATE RESTORE}N /@BEGINSPECIAL{SDICT BEGIN /SPECIALSAVE SAVE N GSAVE NORMALSCALE CURRENTPOINT TR @SPECIALDEFAULTS COUNT /OCOUNT X /DCOUNT COUNTDICTSTACK N}N /@SETSPECIAL {CLIP 1 EQ{NEWPATH 0 0 MOVETO HS 0 RLINETO 0 VS RLINETO HS NEG 0 RLINETO CLOSEPATH CLIP}IF HO VO TR HSC VSC SCALE ANG ROTATE RWISEEN{RWI URX LLX SUB DIV RHISEEN{RHI URY LLY SUB DIV}{DUP}IFELSE SCALE LLX NEG LLY NEG TR }{RHISEEN{RHI URY LLY SUB DIV DUP SCALE LLX NEG LLY NEG TR}IF}IFELSE CLIP 2 EQ{NEWPATH LLX LLY MOVETO URX LLY LINETO URX URY LINETO LLX URY LINETO CLOSEPATH CLIP}IF /SHOWPAGE{}N /ERASEPAGE{}N /COPYPAGE{}N NEWPATH }N /@ENDSPECIAL{COUNT OCOUNT SUB{POP}REPEAT COUNTDICTSTACK DCOUNT SUB{ END}REPEAT GRESTORE SPECIALSAVE RESTORE END}N /@DEFSPECIAL{SDICT BEGIN} N /@FEDSPECIAL{END}B /LI{LINETO}B /RL{RLINETO}B /RC{RCURVETO}B /NP{ /SAVEX CURRENTPOINT /SAVEY X N 1 SETLINECAP NEWPATH}N /ST{STROKE SAVEX SAVEY MOVETO}N /FIL{FILL SAVEX SAVEY MOVETO}N /ELLIPSE{/ENDANGLE X /STARTANGLE X /YRAD X /XRAD X /SAVEMATRIX MATRIX CURRENTMATRIX N TR XRAD YRAD SCALE 0 0 1 STARTANGLE ENDANGLE ARC SAVEMATRIX SETMATRIX}N END %%ENDPROCSET TEXDICT BEGIN 39158280 55380996 1000 600 600 (/HOME/ANTON/TEX/RAFTS-INTERNALS/RI.DVI) @START %DVIPSBITMAPFONT: FA CMTI7 7 2 /FA 2 117 DF<1378EA07FC5BEA0078A35BA4485AA4485AEBC1FCEBC7FEEBCE0F390798 078013B013E013C0EA0F80A21300A2001EEB0F00A3141E5A150C143C15184813381478EC 3830EC3C6048EB1FC00060EB0F801E287BA723>104 D<1318133C5BA45BA4485A387FFF C0B5FC3801E000485AA4485AA448C7FCA4121EEB0180A2EB0300123C1306EA1C0CEA1E38 EA0FF0EA03C012247AA317>116 D E %ENDDVIPSBITMAPFONT %DVIPSBITMAPFONT: FB CMCSC10 10 4 /FB 4 118 DF66 D<91383FE003903801FFF8 903907E01E0790391F00078F013EEB01DF01F8EB007F484880485A0007814848805B001F 81A248C8FC825A127EA200FE92C7FCA892383FFFF8127E03001380007FED3F007EA26C7E A2120F7F6C7E12036C7E6C6C5C013E14DF6DEB018F903907E00F07903901FFFE03902600 3FF0C7FC2D2D7BAB35>103 D114 D117 D E %ENDDVIPSBITMAPFONT %DVIPSBITMAPFONT: FC CMMI9 9 1 /FC 1 59 DF<123C127E12FFA4127E123C08087A8715>58 D E %ENDDVIPSBITMAPFONT %DVIPSBITMAPFONT: FD CMR9 9 24 /FD 24 125 DF48 D<13075B5B137FEA07FFEAFFBFEAF83F1200B3B3A3EBFFC0007FEBFF80A21931 7AB026>IIII<000C14C038 0FC00F90B5128015005C5C14F014C0D80C18C7FC90C8FCA9EB1FC0EB7FF8EBE07C380F80 1E497E000E1480000CEB07C0000814E0C7FCEC03F0A315F8A31218127C12FEA315F05A00 78EB07E0126015C06C130F6C1480001CEB1F006C133E380380F83801FFE038007F801D32 7CB026>I57 D<3803FFC0000F13F848C67E383F803F6E7E6E7EEA1F00000E6D7EC7FCA4EB01FF133FEB FF873803F807EA0FE0EA1F80EA3F00127EA24815C0A4140F127C007E131B6C903833F180 391FC0E1FF2607FFC01300C6EB007C22207D9F26>97 D99 D<153FEC0FFFA2EC007F81B0EB07F0EB3FFEEBFC0F3901E001BF3907C000FF48487F90C7 7E5A123EA2127E127C12FCA8127C127EA2123E7E5D6C6C5B00075B3903E003BF3A00F81E 3F80D97FFC13FCEB0FE026347DB32B>II<151F90391FC07F8090397FF1E3C03901F07F833903C01E033A07800F018092C7FC 48486C7EA24880A56C5CA26C6C48C7FCA23803C01EEBF07C38067FF0380E1FC090C9FCA5 EA0F80EBFFFE6CEBFFC06C14F06C80000780391F0001FE003EEB003F4880168048140FA4 00781500007C5C6C143E6C5C6C6C5B3903F007E0C6B51280D91FFCC7FC22317EA026> 103 DII108 D<2703F01FE013FF00FF 90267FF80313C0903BF1E07C0F03E03C07F3803E1C01F02803F6003F307F01FC90381F60 0004E07F495CA2495CB3A2486C496C487EB53BC7FFFE3FFFF0A23C207E9F41>I<3903F0 1FC000FFEBFFF09038F1E0F83907F3007CD803F6137E01FC133E153F5BA25BB3A2486CEB 7F80B538C7FFFCA226207E9F2B>II<3903F03F8039FFF1FFF09038F3C0F83907F6003ED803FC7F49EB0F8049EB07C0A2ED 03E016F0A2150116F8A8ED03F0A216E0150716C0ED0F807F6DEB1F0001F6137C9038F381 F89038F1FFE0D9F07FC7FC91C8FCAC487EB512C0A2252F7E9F2B>I<3803E07C00FF13FF 9038E38F800007EB1FC0EA03E613ECEC0F809038F8070091C7FCA25BB3487EB512E0A21A 207F9F1E>114 D<1330A51370A313F0A2120112031207121FB512FEA23803F000B01403 A80001130613F80000130CEB7E1CEB3FF8EB07E0182E7FAD1E>116 DII124 D E %ENDDVIPSBITMAPFONT %DVIPSBITMAPFONT: FE CMSS10 10 25 /FE 25 122 DF40 D<12F8127C7E7E6C7E7F12076C7E7F12017F6C7EA2137EA2133E133F7F1480A3EB 0FC0A4130714E0A5130314F0B214E01307A514C0130FA4EB1F80A314005B133E137EA25B A2485A5B12035B485A120F5B48C7FC123E5A5A14527CBD20>I<12FEA70707788617>46 D<12FEB3B3B3A4073A78B917>73 D<12FEB3B3B1B71280A5213A78B92D>76 DI97 D<12FCB3A2EB01FCEB0FFF013F13C090B57E00FD8039FFF01FF8EBC007496C7E496C 7E48130048147E157F81A21680151FA9ED3F00A35D157E6C14FE6C495A14039038C007F8 9038F03FF000FDB55A00FC5C6D5BD91FFEC7FC380007F8213B7AB92B>IIII<14FF010313C0130F5B5B148190387E00404913005BA2 1201ACB512FCA5D801F8C7FCB3AE1A3B7FBA19>I<903907E001F890383FFC1F90397FFE FFFC48B6FC5A9039F81FF8003907E007E048486C7EEB8001A248C77EA76C6C485AA2EBC0 036C6C485A3903F81FC048B5FC485C6D48C7FC6D5A381F07E090C9FCA46C7E90B512C015 FC6C14FF16804815C04815E03A3F80007FF048C7120F007E140300FE15F8481401A46C14 03007E15F0D87F80130FD83FE0EB3FE03A1FFC01FFC06CB612806C1500000114FC6C6C13 F0010790C7FC26387EA52A>I<12FCB3A2EB07F8EB1FFEEB7FFF90B5128000FD14C039FF F03FE0EBC00FEB8007010013F014035AA35AB3A71C3A79B92B>I<12FEA71200AD127EB3 B307397BB813>I<12FCB3B3B3A4063A7AB913>108 DIIII<14F0EAF807131F 133F137F13FF00F91300EAFBF8B45A13C05BA290C7FCA25AA25AB3A414267AA51C>114 DII<00FCEB03F0B3AA1407A2140F6C133F007F13FF90B5 FC14F36C13E36C1383D807F8C7FC1C2679A42B>I<00FEEC07E0007EEC0FC0A26C158015 1F7F001FEC3F007F120F157E6C7E5D7F12034A5AEA01F85D3800FC03A25DEB7E075D133E EB3F0F011F5BA292C7FCEB0F9FA2EB079EA2EB03DCA214FC6D5AA26D5AA213015C1303A2 5C13075C130F91C8FCEA201FEA383EEA3FFE5B5B5BEA0FE023367FA426>121 D E %ENDDVIPSBITMAPFONT %DVIPSBITMAPFONT: FF CMSY10 14.4 1 /FF 1 36 DF<1538157CB3B3B3B10060170C00FC177EB4EE01FE01C0150701F0151FD81F FCED7FF0D803FEEDFF802600FF80903803FE00D93FC0EB07F8D90FE0EB0FE0D907F0495A D903F8495AD901FC49C7FCD9007E13FC023E5BEC3F7D6EB45A6E5B6E5BA26E5B6E90C8FC A26E5AA3157CA41538A31518376A7ED23C>35 D E %ENDDVIPSBITMAPFONT %DVIPSBITMAPFONT: FG CMMI10 10 6 /FG 6 122 DF<0103B512F84914FC6D14F890390007F8005DA34A5AA44A5AA44A5AA44A C7FCA414FEA4495AA4495AA4495AA4495AA4495AA4495AA449C8FCA25BB6FCA25C26397D B824>73 D<147E903803FF8090390FC1C38090391F0067C0013C136F49133F13F84848EB 1F80485A1207485AED3F00485AA2123F90C7127E5AA300FE5CA448495A160CA3913803F0 18A2127C1407020F13306C131B001E013113606C13E1260783C013C03A03FF007F80D800 FCEB1F0026267DA42C>97 D<133FEA0FFF5AA2EA007EA45BA4485AA4485AA4485A14FCEB E3FF9038E707C0390FCC01E001D813F013F09038E000F8485A4913FCA348C7FCA4007E13 01A448EB03F8A315F014074814E0A2EC0FC0A2EC1F8015000078133EA26C5B14F06C485A 380F07C06CB4C7FCEA01FC1E3B7CB924>I110 D<903907E001F090391FF807FC9039 383C0E0E9039601E180F903AC00F301F80D80180143FD8030013E000061600EDC03E4815 1C93C7FC48495AA3C7FC4AC8FCA4147EA45C160CA349485B121C003E5DEA7E0300FE5DD9 06785B00FC4A5A27780C3C03C7FC3938381E0E391FF00FFC3907C003F029267EA42F> 120 D<13F8D801FE1470D8070F14F8000E1401000C138012181230ED03F0EA601FA33AC0 3F0007E0A3EA007EED0FC05BA34848EB1F80A44848EB3F00A4157EA45D00011301140338 00F80690387C1DF8EB3FF9EB0FE1EB00014A5AA25D000F1307D81F805B003F130F5D4948 C7FC003E133E00305B5C6C485A380E07C06CB4C8FCEA01FC25367EA429>I E %ENDDVIPSBITMAPFONT %DVIPSBITMAPFONT: FH CMTT9 9 27 /FH 27 118 DF<90383C03C090387E07E0A7EBFE0F01FC13C0A2007FB512FEB7FCA4003F 14FE3901F81F80AC003FB512FEB7FCA46C14FE3903F03F00A200075BEBE07EA73803C03C 202E7DAD27>35 D40 D<127012F812FE7E6C7E6C7EEA0F E06C7E12036C7E7F1200137EA27FA2EB1F80A3EB0FC0A4EB07E0ACEB0FC0A4EB1F80A3EB 3F00A2137EA25B12015B485A1207485AEA3FC0485A48C7FC5A12F81270133A7AB327>I< 120FEA3FC013E0EA7FF0A213F8A2123FA2120F120113F01203EA07E0120FEA7FC0EAFF80 13005A12700D14738927>44 D<007FB512F8B612FCA46C14F81E067C9927>I<130E131F A25BA25B5B5A5A123F5AB5FC13BFEA7C3F1200B3A9003FB512805A15C01580A21A2E79AD 27>49 D<121EEA7F80A2EAFFC0A4EA7F80A2EA1E00C7FCAC121EEA7F80A2EAFFC0A4EA7F 80A2EA1E000A20729F27>58 D<007FB512E0B612F0A36C14E039001F8000B3B2007FB512 E0B612F0A36C14E01C2E7BAD27>73 D<387FFFC080B5FC7E5CD803F0C8FCB3AAED0780ED 0FC0A7007FB6FCA2B7FC7E1680222E7FAD27>76 D<007FB5FCB612E081816C803907E003 FEEC00FF81ED3F80151F16C0150FA6151F1680153FED7F005DEC03FE90B55A5D5D5D92C7 FC01E0C8FCADEA7FFEB5FCA36C5A222E7FAD27>80 D<90383FC0E03901FFF9F0000713FF 5A5A383FC07FEB801F387E000F14075A1403A3EC01E06C90C7FCA2127F13C0EA3FF86CB4 7E6C13F86C13FE6CEBFF80C66C13C0010713E09038007FF0140FEC07F81403EC01FCA214 00127812FCA314016C14F86C130390388007F09038F00FE090B5FC15C0158000F9EBFE00 38701FF01E2E7CAD27>83 D<3A7FFE01FFF8B54813FCA36C486C13F83A07E0001F80B3AB 6D133F00031500A26D5B6C6C13FE6C6C485AEBFF036DB45A6D5B6D5B01071380D900FCC7 FC262E80AD27>85 D<007FB512F8B612FCA46C14F81E067C7E27>95 D<48B47E000F13F04813FC4813FF81EB807FEC1FC0381F000F00046D7EC7FCA2EB07FF13 7F0003B5FC120F5A383FF807EA7FC0130012FE5AA46C130F007F131F383F807F90B61280 6C15C07E000313F13A007F807F8022207C9F27>97 DIIII<90381FC03F90397FF1FFC048B612E05A5A390FF07FC73A1FC01FC3C0903980 0FC000A248486C7EA66C6C485AA2EBC01F390FF07F8090B5C7FC5C485BEB7FF0EB1FC090 C9FCA27F6CB5FC6C14E04814F84814FE5A90388000FF007EC7EA3F80007C140F00FC15C0 481407A46C140F007C1580007F143F6C6CEB7F00391FF003FE90B5FC000714F86C5CC66C 1380D90FFCC7FC23327E9F27>103 D<130F497E497EA46D5A6DC7FC90C8FCA7383FFF80 487FA37EEA000FB3A4007FB512F0A2B612F86C14F0A21D2F7BAE27>105 D<397F07C01F3AFF9FF07FC09039FFF9FFE091B57E7E3A0FFC7FF1F89038F03FC001E013 8001C01300A3EB803EB03A7FF0FFC3FF486C01E3138001F913E701F813E36C4801C31300 2920819F27>109 D<387FE03F39FFF1FFC001F77F90B57E6C80000313C1EC01FCEBFE00 5B5BA25BB03A7FFF83FFE0B500C713F0A36C018313E024207F9F27>II<397FFC01FC39FFFE0FFF023F13804A13C000 7F90B5FC39007FFE1F14F89138F00F809138E002004AC7FC5CA291C8FCA2137EAD007FB5 7EB67EA36C5C22207E9F27>114 D<90387FF3800007B512C0121F5AA2387F801F38FC00 0F5AA2EC07806C90C7FCEA7F8013FC383FFFE06C13FC000713FFC61480010F13C0903800 3FE014070078EB03F000FC1301A27E14036CEB07E0EBC01F90B512C01580150000FB13FC 38707FE01C207B9F27>I<133C137EA8007FB512F0B612F8A36C14F0D8007EC7FCAE1518 153C157EA315FE6D13FC148390381FFFF815F06D13E0010313C0903800FE001F297EA827 >I<397FE01FF8486C487EA3007F131F00031300B21401A21403EBF80F6CB612E06C15F0 A2EB3FFE90390FF07FE024207F9F27>I E %ENDDVIPSBITMAPFONT %DVIPSBITMAPFONT: FI CMTT12 12 5 /FI 5 89 DF<91391FE003809139FFFC07C0010313FF010F148F4914EF4914FF90387FF0 1F9038FFC00748EB00034913004848147F485A49143F485A49141F121F5B003F150F90C8 FCA25A007EED078093C7FCA212FEA25AAB7EA2127EA3007FED07806CED0FC0A27F121F7F 000F151F6D15806C7E6D143F6C6CEC7F006C6C14FE6D13016C9038C003FC90397FF00FF8 6DB55A6D5C6D5C010391C7FC010013FCEC1FE02A3F7CBD33>67 D<003FB712C04816E0B8 FCA27E7ED801F8C71207A8EE03C093C7FCA6151E153FA490B6FCA69038F8003FA4151E92 C8FCA817F0EE01F8A9003FB7FC5AB8FCA27E6C16F02D3D7DBC33>69 D<003FB712F84816FCB8FCA43AFC000FC000A800781678C71500B3B3A40107B57E498049 80A26D5C6D5C2E3D7EBC33>84 D<263FFFC090B5FC486D481480B56C4814C0A26C496C14 806C496C1400D801F8C7EA07E0B3B3A36D140F00005EA26D141F017E5D017F143F6D92C7 FC6E5B6D6C13FEECF00390390FFC0FFC6DB55A6D5C6D5C6D6C1380DA1FFEC8FCEC07F832 3E80BC33>I88 D E %ENDDVIPSBITMAPFONT %DVIPSBITMAPFONT: FJ CMBX12 12 36 /FJ 36 123 DF45 DI49 DII<161F5EA25E5E5DA25D5D5D5DA25D5D92B5FCEC01F715E7EC03C7EC0787 140FEC1F07141E143C147814F8EB01F014E0EB03C0EB0780130FEB1F00131E5B5B13F85B 485A485A485A120F90C7FC121E5A127C5AB91280A4C8000F90C7FCAC027FB61280A43141 7DC038>I<00031503D807E0143F01FFEB07FF91B55A5E5E5E5E5E93C7FC5D15F815E04A C8FC01C0C9FCAAEC3FF001C1B5FC01C714C09039DFC03FF09039FE000FF801F86D7E496D 7E496D7E4915806C4815C0C8FC6F13E0A217F0A317F8A21206EA1FC0487E487E12FF7FA2 17F05BA24915E06C485B5B003CC714C0003E4A1380001E16006C6C495A6C6C495AD803F0 EB3FF8D801FEEBFFF06CB65A013F1480010F01FCC7FC010113C02D427BC038>I<4AB47E 021F13F0027F13FC903901FF807E903907FC001FD90FF0EB07804948EB1FC04948137F49 48EBFFE049C7FC485C485A1207A248486D13C0A2001FED7F80EE1E00003F92C7FCA25B12 7FA3EC1FFE91383FFFC000FF497F9138E00FF89039F98007FC01FB6D7E4A6C7E01FE1580 17C0814915E0A217F0A25B17F8A3127FA6123FA217F0121F7F000F16E0A200074A13C0A2 6C6C15806C6C4913006C5D90397FC007FC90393FF03FF86DB55A010714C0010191C7FC90 38003FF82D427BC038>I65 D67 DII< B712E0A4D8001F90C7FCB3B3B3A6B712E0A423447DC32A>73 D76 D80 D<923807FFC092B512FE0207ECFFC0 91261FFE0013F0DA7FF0EB1FFC902601FFC0EB07FF010790C7000113C049486E7F49486F 7E49486F7E49486F7E49486F7E488448496F1380A248496F13C0A24890C96C13E0A24819 F04982003F19F8A3007F19FCA249177FA300FF19FEAD007F19FCA36D17FF003F19F8A300 1F19F06D5EA26C19E06E5D6C03FE15C06C912603FF8014806E486D5A6C9028E00F01E00F 13006C91261E00F05B90267FF01C9038781FFC6D6C486D485AD91FFC6E485AD90FFE4B5A D907FF6E5B010101DC92C7FC6D01FE495ADA3FFFEBFFF8020790B500E013020200170703 07EBC7F092C7EA03F872130F72131F9538FF80FF71EBFFFEA47114FCA27213F8A27213F0 A27213E07213C0721300F000FC48587AC454>III<903807FFF0017F13FF48B612C03A03FC007FF0486CEB1FF86F7E486C6D 7E6F7E83A26C487F836C5AEA00F090C7FCA4150F023FB5FC0103B6FC011F1301EB7FF038 01FFC000071300485A485A485A5B127F5B12FFA35DA26C6C5B15066C6C5B6C6C013813F0 3C0FFF80F07FFFC00003EBFFE0C6EC801F90390FFE0007322C7DAB36>97 D99 DII<177E9139 FFE001FF010FD9FE071380013F9038FF8F9F903BFFC07FFC3FC0489038001FF04848EB0F F84848EB07FC000F9238FE1F80490103EB0F00001F6FC7FCA2003F82A7001F93C7FCA200 0F5D6D130700075D6C6C495A6C6C495A6C9038C07FE0D801BFB51280D8038F49C8FC48C6 13E091CAFCA2487EA37F13F06CB612C016FE707E6C16E0836C826C8248821207D80FF0C7 EA3FFFD81FC01407484802011380007F8148C9127FA56C6CEDFF00A26C6C4A5A6C6C4A5A 6C6C4A5AD807FEEC3FF03B01FFC001FFC06C6CB6C7FC010F14F80100148032417DAC38> 103 DI<13 78EA01FE487E481380A24813C0A46C1380A26C13006C5AEA007890C7FCACEB7FC0EA7FFF A412037EB3B0B6FCA418467CC520>I108 D<90277F8007FFEC0FFEB5011F01C090383FFF80037F01F090B512E0913D81 F81FF803F03FF0913D83C00FFC07801FF80003903D870007FE0E000FFC6C018E6E488002 9C6D4913070298153002B003E080A202E05DA34A5DB3A8B60081B60003B512FEA4572C7C AB5E>I<90397F8007FEB590383FFFC04B7F913981F03FF0913983C00FF80003D987007F 6C018E80029C1307149802B080A214E0A35CB3A8B60083B512FEA4372C7CAB3E>II<90397FC01FF8B500C1B5FC02C714E09139CFC0 3FF09139FF000FFC000301FC6D7E6C01F06D7E4A6D13804A15C08218E0EF7FF0A218F8A2 173FA218FCAA18F8177FA218F0A2EFFFE0A24C13C018806E5B6E15006EEB0FFE02FEEB1F F89139CFC07FF002C7B512C002C191C7FC9138C03FF092C9FCAFB67EA4363F7DAB3E>I< 90387F807FB53881FFC0028313F091388787F891388E0FFC0003138C6C90389C1FFE1498 14B0A29138F00FFC14E0ED07F8ED01E092C7FC5CB3A7B612E0A4272C7DAB2E>114 D<90391FFE038090B512CF000314FF380FF003391F80007F90C7123F48141F007E140FA2 00FE1407A27EA201C090C7FC13F0EBFF806C13FCECFF806C14E06C14F86C806C806C80C6 1580013F14C01301EB000F020013E00070147F00F0141FA26C140FA36C15C07E16806C14 1F6D140001E0137E9038F801FC00F8B55AD8F03F13E026E007FEC7FC232C7CAB2C>III121 D<001FB71280A39026FC000F130001E0495A49133F495C90C7485A4B5A003E5B5E4A5B00 3C5B5E4A90C7FC4A5A143FC75B4A5A4A5A5B5D495B5B5D499038000780495A133F5C4948 130F494814005A5C48495B5A5C4890C75A48485C003F5D49EB03FE4848131FB7FCA3292C 7DAB32>I E %ENDDVIPSBITMAPFONT %DVIPSBITMAPFONT: FK CMTT8 8 8 /FK 8 81 DF<121FEA3F80EA7FC0A213E0A3123F121F120313C012071380121FEA7F0012 FE5A12700B12748823>44 D<90380FE06090387FF8F090B5FC5A3803F83F3807E00F380F C007EA1F80EB00035A003E1301127E127CEC00E0150012FC5AA97E127CA215E0007EEB01 F0123E123F6C1303018013E0380FC0073907E00FC03903F83F806CB512006C5B6D5AEB0F E01C297DA823>67 D69 D<387FFFFCB512FEA26C13FC38007C00B3AF387FFFFCB512FEA26C13FC17297AA823>73 D 76 D<397F8001FE00FF14FF6D5A007F14FE001F14F8391EE00778A3EBF00FEB700EA2EB 781EA2EB381CEB3C3CA2EB1C38EB1E78A2EB0E70A3EB07E0A3EB03C0A290C7FCAA397F80 01FE39FFC003FFA2397F8001FE20297FA823>I<3803FFF0000F13FC487F487F397F807F 80387E001F007C130FA348EB07C0B3A46C130F007C1480A3007E131F387F807F6CB51200 6C5B6C5B000313F01A297CA823>79 DI E %ENDDVIPSBITMAPFONT %DVIPSBITMAPFONT: FL CMR6 6 4 /FL 4 53 DF<13E01201120712FF12F91201B3A7487EB512C0A212217AA01E>49 DI<13FF000313C0380F03E0381C00F014F800 3E13FC147CA2001E13FC120CC712F8A2EB01F0EB03E0EB0FC03801FF00A2380003E0EB00 F01478147C143E143F1230127812FCA2143E48137E0060137C003813F8381E03F0380FFF C00001130018227DA01E>I<14E01301A213031307130F130D131913391371136113C112 01EA038113011206120E121C12181230127012E0B6FCA2380001E0A6EB03F0EB3FFFA218 217DA01E>I E %ENDDVIPSBITMAPFONT %DVIPSBITMAPFONT: FM CMITT10 10 15 /FM 15 117 DF<1378EA01FE12037F481380A37E1400C6FC133F133E137E5B1201485AEA 0FF0EA7FE0485A5B48C7FC1270111674892C>44 D<913901FC01C091390FFF83E0023F13 E391B512F74914FF491303903807F801903A0FF0007FC0495AD93F80133F49C7FC01FE15 805B1201485A491500120749141E000F92C7FC5B121F5B123F90CAFCA35A127EA412FE5A A4ED078082007E140FA2151F5E6C143F4BC7FC6D5B001F495A390FC007FC9038F01FF86C B55A6C14C06C5C26007FFCC8FCEB0FE02B3578B32C>67 D<010FB7FC18805B7FA2D900FE C7EA3F005CA201015D177E5CA20103153C94C7FC5CA21307ED01E04A487EA2010F1307A2 91B55AA25BA25EEC800F013F131FA24A6C5A93C8FC4990C9FCA2137EA213FE160F494A7E A20001153F94C7FC5BA200035D167E007FB612FEB7FCA25E7E31337EB22C>69 D<010FB6FC17805B7F170090260003F8C7FC5DA21407A25DA2140FA25DA2141FA25DA214 3FA292C8FCA25CA2147EA214FEA25CA21301A25CA21303A25CA21307A25CA2130FA2007F B512F8B6FC815D7E293379B22C>73 D<903807FFFE497FA36D5BD9007FC7FC147EA214FE A25CA21301A25CA21303A25CA21307A25CA2130FA25CA2131FA25CA2133FA291C8FCA25B 161E017E143FA201FE147F167E5BA2000115FE16FC007FB6FCA2B7FC6C15F8A228337EB2 2C>76 DI<91381FFF E049B512FC4980010F805BDAF001138090393FC0007F49C7123FA2137E5BA248481500A3 485AA2167E485AA448485CA44848495AA448C7485AA4484A5A127EA24B5AA300FE4A5A5A 153F6C92C7FC5D15FE6C13019038C00FFC90B55A6C5C6C5C6C1480000301FCC8FC293579 B32C>79 D<010FB512FCEEFF804915C06D15E017F0903A00FE001FF84A1307EE03FC0101 140116005CA21303A25CA21307EE01F84A130317F0010F1407EE0FE04AEB3FC0EE7F8001 1F903803FF0091B55A5E16F016C04949C7FC91C9FCA35B137EA313FE5BA312015BA31203 EA7FFFB57EA36C90C9FC2E337EB22C>I97 D<147F903803FFC0010F13F0013F13F85B9038FF81FC3801FE004848137E485AD80FE013 FE4913FC121F383F800190380007F848EB3FF090B5FC15E01580B5EAFE0014E000FCC8FC A6127E151C007F143E6C6C13FE381FC00790B5FC6C14FC6C14F0000114C039003FFC001F 2475A32C>101 D103 D<14FC903807FF80011F13E04913F090B5FC48EB83F8 3903FE01FCEBF800485A4848137E5B485A123F90C7FC5A127EA215FE12FE4814FCA21401 15F8140315F0EC07E0140F007EEB1FC0EC3F80007F13FFD83F8313006CB45A14F86C5B00 0313C0D8007EC7FC1F2476A32C>111 D<903907C007C090391FF03FF090393FF8FFFCEB 7FFD91B57E9039FC7FF87F4B7ED801F801E01380EDC01FECFF8000031400495AA23801E1 FCEA00015CA20103143FA24A1400A201075C167E16FE5E010F13014B5A4B5AECF80F011F 495A6E485A91B55A93C7FC495BEC9FF8EC07C091C9FC5BA2137EA213FEA25BA21201A25B A2387FFFE0A2B57E6C5BA2293680A32C>I114 D<14E0497E1303A21307A25CA2130FA25CA2131FA25C007FB5128015C0B6 FC7E1580C66CC7FCA2137EA213FEA25BA21201A25BA21203A25BA2000714C0EC01E09038 E003F0A2000F1307EC0FE09038C01FC0143FEC7F809038E1FF006CB45A5C6C5B6C13E0D8 003FC7FC1C3374B22C>116 D E %ENDDVIPSBITMAPFONT %DVIPSBITMAPFONT: FN CMTI10 10 47 /FN 47 122 DF39 D<1504151C1538156015C0EC 0380EC0700140E5CA25C5C5C1301495A5C130749C7FC130E131E5BA25BA25BA212015B12 035BA212075BA2120F90C8FCA25A121EA2123EA2123CA2127CA31278A312F8A35AAB1270 A21278A31238A2123C121CA27EA2120612076C7E12016C7E13401E5274BD22>I<140814 0C140E1406801580A2EC01C0A2EC00E0A315F01570A21578B115F8A315F0A31401A215E0 A21403A215C0A214071580A2140F1500A2141EA2143E143CA25CA25CA2495A5C1303495A 91C7FC5B130E5B133C5B13705B485A485A48C8FC120E5A5A5A12C05A1D527EBD22>I44 D<387FFFF014F8B512F0A26C13E015057993 1E>I<120E123FEA7F80A212FFA21300127E123C0909778819>I50 D52 D<01021410D9038013F0903907F007E091B512C0168016004913FC5D15C0D9 0E1CC7FC49C8FCA45BA45BA314FE9038E7FF809038EF03E09038F801F0EBF000D801C07F 6C487F90C7127CA2157EA215FEA5000C495A123E127F5D4813035A485C48130700E05C4A 5A5D6C49C7FC0070133E5C6C485A381E07F0380FFFC06C90C8FCEA01FC243877B62A>I< 15FE913803FF80020F13C091383F81E0EC7C0049481370903903E003F0903807C007EB0F 8090391F000FE01507013E14C04990C7FC13FC5B1201485AA212075B000F13FE9038E3FF 80391FC703C09038CC01E09038D800F048487F01E0137849137CA24848137EA290C7FCA2 15FE12FEA34A5A5AA25D1403A25D4813075D4A5A5D007C131F4AC7FC003C137C003E5B38 1F03F06CB45A6C1380D801FCC8FC243876B62A>I56 DI65 D67 D<0103B612FC49EDFF8018E0903B000FF0001FF04BEB07F8EF 01FC717E4A48147F841980181F4A4815C0A2180FA24AC813E0A414FEA44948151FA44948 16C0183FA349481680187FA2190049485D60A24D5A495A4D5A60170749484A5A604D5A4D C7FC49C85A17FEEE01F8EE07F001FE4A5AEE3F800001DA03FFC8FCB712FC16E093C9FC3B 397BB83F>I<0103B8FC5B7F903A000FF000034BEB007F183E181E4A5AA44A5A181CA34A C8FCEE0380A2181802FE49C7FCA35E4948130E161E167E91B512FE495CA2ECF800167C49 481338A4494849136018E0A293386001C049481300EF0380A34948EC0700A2170E171E49 C8FC5F177C5F01FE140116070001ED7FF0B8FC5FA238397BB838>I<0103B712FE5B7F90 3A000FF000074B1300187C183C4A5AA44A5A1838A34AC8FCA21603EF803002FE49C7FCA3 5E4948130E161EA216FE49B55AA3ECF80049481378A449481370A44948136093C8FCA349 5AA449CAFCA413FEA2487EB6FCA25C37397BB836>II<0103B512F8A216F090 390007F8005DA34A5AA44A5AA44A5AA44AC7FCA414FEA4495AA4495AA4495AA4495AA449 5AA4495AA449C8FCA25B007F13FEB5FC7E25397CB820>73 D<0103B512F849806D5C9026 000FF8C7FC15E0A34A5AA44A5AA44AC8FCA414FEA4495AA4495AA4495AA44948140C171C A21738495AA21770A2494814F017E01601A249C7EA03C01607A2EE1F8001FE143FEEFF00 00011407B8FC5EA22E397BB834>76 D<902603FFF8923807FFE0494D13F06D4D13E0D900 0FEFF0004F5AA21977021D4C5AA2DA1CFCEC01CFA202384B485AF0071FA2180E02704CC7 FC181CA2183802E0ED707EA2037E14E0A2D901C04A485AEF0380A2EF0700D903804B5A17 0EA2171CD907004A485AA26F1370A2010E4B485AEE01C0A2EE0380494C5AEE0700A2160E 494A495AA2ED1FB8A24902F049C8FC5EA201F05C187E00015DD807F816FEB500C0903900 7FFFFC151EDA800E5D4C397AB84A>I<902603FFF091B51280494B14C06F1680D9000F91 39000FF000F007C06F5DA2021D93C7FCEC1CFEA2814A6C140EA26F7EA202705D6F7EA282 DAE00F5CA26F7EA2D901C05D6F7EA349486C6C5BA282150049C7495A167FA3010E91383F 8380A217C3161F4903C7C8FCEE0FE7A349EC07FEA31603495DA2160113F0705A1201EA07 F8B500C014781770173042397BB83E>II<0103B612F84915FF6D1680903B000FF0003FE04BEB0FF0EF03F8 A24A48EB01FCA318FE4A5AA44AC7EA03FCA318F802FE140718F0EF0FE0A24948EC1FC0EF 3F80EFFE004C5A4948EB0FF091B612C04CC7FC02F8C9FC495AA4495AA4495AA4495AA449 CAFCA413FEA21201B512FCA25C37397BB838>I<0103B612E04915FC17FF903B000FF000 7F804BEB1FE0170FEF07F04A48EB03F8A318FC4A5AA44AC7EA07F8A3EF0FF002FE15E017 1F18C0EF3F804948EC7E004C5AEE03F0EE1FC049B6C7FC16F89138F8007E161F49486D7E 83160783495AA283A24948495AA44948131FA449C7485A180EA301FE161C041F13180001 1738B500FC90380FE070040713E0933801FFC0CAEA7F00373A7BB83D>82 D<92387F800C913801FFF00207EBF81C91391FC07C3C91393E001E780278EB07F85C4948 1303494814F0010714015C130F91C713E05BA34915C0A393C7FC80806D7E14FCECFF806D 13F06D13FF820101806D80023F7F02077FEC007FED0FFC150315011500A2167CA2120612 0EA3001E5DA25E1501003E5D1503003F5D4B5A486C49C7FC6D131ED879F0137C3970FE01 F839F07FFFE0D8E01F138026C003FEC8FC2E3B7AB92F>I<0003B812E05AA2260FF800EB 001F01C049EB07C090C71403121E4A5A121C003C178012384A5A12781270EF07004A5A5A A2481606C7484890C7FCA44A5AA44A5AA44AC9FCA414FEA4495AA4495AA4495AA4495AA2 EB3FF0007FB512F8A3333971B83B>I97 D<137EEA0FFE121F120FEA007CA45BA4485AA4 485AA4485AEBC1F0EBC7FCEBCE0E380F980701F013809038E003C013C0001F14E0138013 00A2123EA4481307A448EB0FC0A31580141F5A15005C143E5CA25C00705B387801E03838 03C0383C0780D81E1FC7FCEA0FFCEA03F01B3B76B926>I<147F903803FFC0903807C1E0 90381F0070013C13385B4913F83801E00100031303EA07C0000F14F090388001E0001F90 C7FC90C8FC5A123E127EA35AA55AA31510153800781470007C14F0EC01E0003CEB03C06C EB0F00000E133E380781F83803FFE0C690C7FC1D2677A426>II<147E903803FF8090380FC1C090381E00E0017C13 705B485A485A485AA2484813E0121F90380001C048EB0780EC1F00387E01FC387FFFF049 C7FC007EC8FC5AA8007C14101538157015F0003CEB01E06CEB03C0EC0F006C133E380781 F83803FFE0C690C7FC1D2677A426>IIIII108 DII<147F903803 FFC0903807C1E090381F0070013C137849133C49133E485A0003141E4848131F120F5B12 1F90C7FC48143F123E127EA348147EA3157C15FC4814F8140115F0140315E00078EB07C0 007C1480EC0F00003C131E6C5B000E13F8380783E06CB45AC648C7FC202677A42A>I<90 390F800F8090391FC03FE0903938E07070903970F0C0389138FB803C01E0EB001E14FED8 01C0141F5C5CA2380381F0A3EA00014948133FA44948137EA3167C494813FCA216F81501 011F14F0ED03E0A2ED07C0013F1480ED0F00ECC01E013E5B90387C70F8EC3FE0EC1F8091 C8FC5BA4485AA4485AA3387FFF80B5FC6C90C8FC28357FA42A>I<3903E003F03907F00F FC390E383C0E391C3C700F90393EE01F800038EBC03F133F007001801300EC003E151C01 3E90C7FCEAE07E137CA212005BA4485AA4485AA4485AA4485AA448C9FCA2120E212679A4 23>114 D<14FE903807FF8090380F03C090381C00E04913705B01F013F0EBE001000113 03A215E00003EB01C06DC7FC6C7E13FF14F06C13FC6D7E6D7E6D138013019038001FC014 0F1407A2123C127E00FE1480A25A48EB0F0000E0130E0060131E00705B6C5B381E03E06C B45AD801FEC7FC1C267AA422>I<1303EB0780130FA4EB1F00A4133EA45BA2B512FC14FE 14FC3800F800A3485AA4485AA4485AA4485AA448C7FC1438A21470123EA214E014C01301 1480EB0300EA1E06EA0E1CEA07F8EA03E0173578B31C>I<13F8D803FC14C0D8070EEB01 E0D80E0F1303120C121C1238ED07C0485AA3D8E03EEB0F80A3C65AED1F005BA34848133E A448485B160EA3EDF81CA31401163814030001010613703900F00C789039783838E09039 3FF01FC090390FC00F80272679A42D>I<01F81507D803FC903901800F80D8070E903903 C01FC0D80E0F1307000C160F121C00381607ED0F8048481503A3D8E03ED91F001380A3C6 5A033EEB07005BA3484849130EA44848495BA35FA21730020114701760020314E000015E 903AF007780180000090380E3C0390277C1C1E0FC7FC90391FF80FFC903907E003F03226 79A437>119 D<13F8D803FCEB0180D8070EEB03C0D80E0F1307120C121C1238ED0F8048 5AA3D8E03EEB1F00A3C65A153E5BA348485BA448485BA44A5AA213C0EBE0035D14070001 130F0000131F9038F07FC0EB3FE7EB1F87EB00074A5AA292C7FC001E5B003F131E48133E 143C007E5B007C5B00705B495A38380780D81C1FC8FCEA0FFCEA03F0223679A428>121 D E %ENDDVIPSBITMAPFONT %DVIPSBITMAPFONT: FO CMR7 7 4 /FO 4 53 DF<13381378EA01F8121F12FE12E01200B3AB487EB512F8A215267BA521>49 D<13FF000313E0380E03F0381800F848137C487F00787F12FC6C1480A2140FA2127CC712 1F1500A25C143E5C14785C495A495A495A49C7FC131C5B903870018013E0EA01C0390380 0300EA06005A001FB5FC5A485BB5FCA219267DA521>I<13FF000313E0380F01F8381C00 7C00307F123C007E133F80A25C123CC7123EA25C5C495AEB07E03801FF8091C7FC380001 E06D7E147C80143F801580A21238127C12FEA21500485B0078133E00705B6C5B381F01F0 3807FFC0C690C7FC19277DA521>I<14381478A214F81301A213031307130E130C131C13 381330136013E0EA01C013801203EA070012065A121C5A123012705AB612E0A2C7EAF800 A7497E90383FFFE0A21B267EA521>I E %ENDDVIPSBITMAPFONT %DVIPSBITMAPFONT: FP CMR8 8 56 /FP 56 123 DF<9138FF807E01079038E3FF80903A1F8077C3C0903A3E007F07E0017813 FE5B00019138FC03C0484890387C018093C7FCA9B712FCA22703E0007CC7FCB3A6486C13 FE3A7FFF0FFFF0A22B2E7FAD29>11 D<14FF010713E090381F80F090383E00380178137C 4913FC1201485A157892C7FCA8B612FCA23803E000157CB3A5486C13FE3A7FFF0FFFE0A2 232E7FAD27>I<13031307130C131C1338137013E0A2EA01C0EA0380A2EA0700A25A120E 121EA2121C123CA35AA512F8A25AAB7EA21278A57EA3121C121EA2120E120F7EA2EA0380 A2EA01C0EA00E0A213701338131C130C1307130310437AB11B>40 D<7E7E126012707E7E7EA27EEA0380A2EA01C0A213E0120013F0A213701378A3133CA513 3EA2131EAB133EA2133CA51378A3137013F0A213E0120113C0A2EA0380A2EA0700120EA2 5A5A5A12605A5A0F437BB11B>I<1238127C12FEA212FF127F123B1203A41206A3120CA2 121812301260124008147A8614>44 DI<1238127C12FEA3127C 123807077A8614>I<15C01401A2EC0380A3EC0700A2140EA35CA35CA35CA35CA2495AA3 495AA349C7FCA3130EA25BA35BA35BA35BA3485AA2485AA348C8FCA3120EA35AA35AA25A A35AA25A1A437CB123>I<130C133C137CEA03FC12FFEAFC7C1200B3B113FE387FFFFEA2 172C7AAB23>49 DII57 D<1238127C12FEA3127C12381200AF1238127C12FEA3127C1238071D7A9C 14>I<1238127C12FEA3127C12381200AF1238127C12FEA3127E123E1206A4120CA31218 A21230A212601240072A7A9C14>I<4A7E4A7EA34A7EA24A7EA3EC19F8A2EC39FC1430A2 4A7E157EA24A7EA2010180EC801FA249486C7EA2498001061307A2496D7EA2010FB5FC49 80903818000101388001301300A249147EA201E0147F4980A20001ED1F80A2000316C0D8 0FF0EC3FE0D8FFFC0103B5FCA2302E7EAD35>65 D70 D72 DI75 DIIIII<90383F80303801FFF03903C07C70390F000EF0001C1303481301A24813 00157012F0A21530A27EA26C1400127E127FEA3FE0EA1FFEEBFFE06C13FC000313FF6C14 80D8003F13C0010313E09038003FF01407EC01F81400157CA2124000C0143CA46C1438A2 6C147815706C14E000FEEB01C039F780038039E1F00F0038C07FFEEB0FF01E2F7CAD27> 83 D<007FB712F8A29039000FC003007C150000701638A200601618A200E0161CA24816 0CA5C71500B3A94A7E011FB512E0A22E2D7EAC33>I87 D<3B7FFFE003FFF8A2000390C713806C48EC7E0000001538017F14306D14706E5B6D6C5B 6D6C485A15036D6C48C7FC903803F80601015BECFC1C6D6C5AEC7F305DEC3FE06E5A140F 816E7E81140DEC1DFCEC38FEEC307F14609138E03F8049486C7EEC800FD903007F496D7E 010E6D7E130C011C6D7E496D7E0130147E49147F01E0EC3F80D803F015C0D80FF8EC7FE0 D8FFFE0103B5FCA2302D7EAC35>I 91 D93 D97 DII<15F8141FA214011400ADEB0F E0EB7FF83801F81C3803E00738078003380F0001481300123EA2127E127C12FCA7127CA2 127E123E6C13017E380780033803C00E3901F03CFC3A007FF0FFC0EB1FC0222E7EAD27> III<15F890383F03FC 3901FFE70E3903C0FC1E38078078390F003C0C48EB3E00001E131E003E131FA6001E131E 001F133E6C133C6C6C5A6D5A380DFFE0D81C3FC7FC90C8FCA47E380FFFFC6CEBFF806C14 C0000F14E0391E0007F00038EB00F80078147848143CA5007814786C14F0001FEB03E039 07E01F803901FFFE0038003FF01F2C7E9D23>II<1207EA0F80EA1FC0A3EA0F80EA0700C7FCAAEA07C012FFA2120F1207B3A4EA0F E0EAFFFCA20E2E7EAD14>I<1307EB0F80EB1FC0A3EB0F80EB070090C7FCAAEB07C013FF A2130F1307B3AC123000781380EAFC0F1400131EEA783CEA3FF8EA0FE0123B83AD16>I< EA07C012FFA2120F1207ADEC1FFEA2EC07F015C092C7FC140E5C5C14605CEBC180EBC3C0 13CFEBDDE0EBF1F0EBE0F8EBC07880143E80806E7E816E7E140181D80FE013FC3AFFFE07 FF80A2212E7EAD25>II< 2607C07FEB07F03BFFC3FFC03FFC903AC781E0781E3B0FCC00F0C00FD807D8D9F9801380 01F090397F0007C049137EA249137CB2486C01FEEB0FE03CFFFE0FFFE0FFFEA2371D7E9C 3C>I<3807C0FFD8FFC313C09038C703E0390FCC01F0EA07D89038F000F85BA25BB2486C 487E3AFFFE1FFFC0A2221D7E9C27>II<3807 C0FE39FFC7FF809038CF03E0390FD800F0D807F0137849137C497F811680A2150F16C0A7 1680151F16005D153E6D5B6D5B9038D801F09038CE07E09038C7FF80D9C1FCC7FC01C0C8 FCAA487EEAFFFEA2222A7E9C27>I<90380FE01890387FF8383801F81C3903E006783807 C003D80F8013F8381F00015A003E1300127E127C12FCA7127C127EA2123E6C1301380F80 0312073803C00E3801F03C38007FF0EB1FC090C7FCAA4A7E91381FFFC0A2222A7E9C25> I<380781F838FF83FCEB8E1E380F9C3FEA079813B0141EEBE000A35BB0487EB5FCA2181D 7E9C1C>I<3801FE18380FFFB8381E01F838380078481338141812F0A27E6C1300EA7F80 13FC383FFF806C13E0000713F0C613F8EB07FC13000040133E12C0141E7EA26C131C6C13 3C6C133838FF01F038E3FFC000C01300171D7E9C1C>I<1360A413E0A312011203A21207 121FB512F0A23803E000AF1418A70001133013F03800F860EB3FC0EB1F8015297FA81B> II<3AFFFC01FFC0A23A0FE0007E000007143C000314 3815306D137000011460A26C6C5BA2EBFC01017C5BEB7E03013E90C7FCA2EB1F06A2148E EB0F8CA2EB07D8A2EB03F0A36D5AA26D5A221D7F9C25>I<3BFFFC3FFE07FFA23B0FE003 F001F83B07C001E000F017E06D487E000316C0A23B01F007F80180EC0678157C3B00F80C 3C0300A2153E90397C181E06A290397E381F0E90393E300F0CA2D91F701398EC600716D8 90390FC003F0A36D486C5AA36DC75A301D7F9C33>I<3AFFFC07FF80A23A07F003FC0039 03E001E0D801F05B01F85B000049C7FCEB7C06EB3E0E6D5A14B8EB0FB0EB07E013036D7E 497E1307EB067C497EEB1C1F01387FEB700F90386007C0496C7E00016D7E000780001F49 7E3AFFF007FFC0A2221D7F9C25>I<3AFFFC01FFC0A23A0FE0007E000007143C00031438 15306D137000011460A26C6C5BA2EBFC01017C5BEB7E03013E90C7FCA2EB1F06A2148EEB 0F8CA2EB07D8A2EB03F0A36D5AA26D5AA2495AA2130391C8FC1278EAFC06130E130C5BEA 7870EA3FE0EA0F80222A7F9C25>I<003FB51280A29038001F00003C133E0038137E0030 137C00705B386001F013035C495AC6485A131F91C7FC133E5B9038FC018013F8EA01F0EA 03E00007130313C0D80F801300EA1F00485B003E5B48133FB6FCA2191D7E9C1F>I E %ENDDVIPSBITMAPFONT %DVIPSBITMAPFONT: FQ CMSY6 6 1 /FQ 1 4 DF<136013701360A20040132000E0137038F861F0387C63E0380F6F00EA03FC EA0060EA03FCEA0F6F387C63E038F861F038E060700040132000001300A2137013601415 7B9620>3 D E %ENDDVIPSBITMAPFONT %DVIPSBITMAPFONT: FR CMBX10 10 42 /FR 42 122 DF<913803FF80023F13E049B512F80107EB00FCD90FF8137ED93FE013FE49 48487E4A5A13FF481300A46F5A6F5A93C7FCA592383FFF80B8FCA4000190C7FCB3AB007F D9FC3F13FEA42F3A7EB935>12 D<912603FFC09038FFF1F0023FD9F00F13FF49B5EAFC7F 0107903A007FFFC01FD90FF89138FE003FD93FE0D9FFF8137F4948485B02805C13FF4801 004A133F6F151F167FAABBFCA4000190C7397FC0001FB3AB007FD9FC1FB50007B512C0A4 4A3A7EB950>15 D<141C143C147814F0EB01E0EB03C0EB0780130FEB1F00133E137E137C 13FC485AA2485AA2485AA2120FA25B121FA25B123FA3127FA290C7FCA45AAF7EA47FA212 3FA3121F7FA2120F7FA21207A26C7EA26C7EA26C7E137C137E133E7FEB0F801307EB03C0 EB01E0EB00F01478143C141C165377BD25>40 D<12C07E7E12787E7E7E7F6C7E6C7E7F12 017F6C7EA2137EA27FA21480A2131F14C0A2130F14E0A314F0A21307A414F8AF14F0A413 0FA214E0A314C0131FA21480133FA21400A2137EA25BA2485A5B12035B485A485A90C7FC 121E5A5A5A5A5A15537ABD25>I46 D<143C147CEB01FC1307137FB5FCA3138FEA000FB3B3A6 007FB61280A4213779B630>49 DIII65 D68 DI71 DII76 DI80 D82 D I<003FB91280A4D9F800EBF003D87FC09238007FC049161F007EC7150FA2007C1707A200 781703A400F818E0481701A4C892C7FCB3AE010FB7FCA43B387DB742>I97 D<903801FFE0010F13FC017F13FF9039FF807F803801FE00D807FCEBFFC0485AA2485A00 3FEC7F80ED3F004848130C92C7FCA212FFA9127FA27F123FED01E06C7E000FEC03C07F6C 6CEB0780D801FFEB0F006CEBC07E6DB45A010F13F00101138023257DA42A>99 D<167FED7FFFA4150381AF903801FF81010F13F1013F13F99038FFC07F3901FE001F4848 130748487F000F80485A123FA2485AA312FFA9127FA3123F7F121F5D6C6C5B6C6C5B6C6C 4913802700FF80FD13FC90387FFFF9011F13E1010113012E3A7DB935>I<49B47E011F13 F0017F13FC9038FF81FE3A03FE007F804848133F4848EB1FC0484814E0150F003F15F05B 127FED07F8A212FFA290B6FCA301E0C8FCA4127FA36C7E1678121F6C6C14F816F06C6CEB 03E0D801FF13076C9038C03F80013FB51200010F13FC010013C025257DA42C>II<161FD907FEEB7F80 903A7FFFE1FFC048B538FBE7E03A03FE07FF0F3907F801FE390FF000FF001FED87C04848 90387FC380EEC000007F81A6003F5DA26C6C495A000F92C7FC6C6C485A3903FE07FC48B5 5AD8067F13E0260E07FEC8FC001ECAFCA4121F13C090B512F8EDFF806C15E0826C816C81 82000F81391F80000F48C8138048157F00FE153FA5007FED7F006C6C14FE6C6C495AD80F F0EB07F8D807FEEB3FF00001B612C06C6C91C7FC010713F02B377DA530>I<13FE12FFA4 12071203AFEDFF80020713E04A7F91381E07F891383803FC02607FECC001D9FF807FA214 00A35BB3A3B5D8F87F13FCA42E3A7CB935>II<13FE12FFA4120712 03B3B3ACB512F8A4153A7DB91A>108 DII<903801FFC0010F13F8017F13FF D9FF807F3A03FE003FE048486D7E48486D7E48486D7EA2003F81491303007F81A300FF16 80A9007F1600A3003F5D6D1307001F5DA26C6C495A6C6C495A6C6C495A6C6C6CB45A6C6C B5C7FC011F13FC010113C029257DA430>I<9038FE03FF00FF011F13E0027F13F89039FF FC0FFC9138E003FF0007D9800113806C90C713C049EC7FE0A2EE3FF0A217F8A2161F17FC A917F8163FA217F0167F17E06D15C0EEFF806E4813009138E003FE9039FEF80FFC91387F FFF0021F13C0DA07FEC7FC91C9FCACB512F8A42E357DA435>I<49B4130F010FEBE01F01 3F6D5A9038FFC07C489038001E7F4848130F48486D5A48487F121F003F805B127FA25B12 FFA9127F7FA2123FA26C6C5B120F6D5B6C6C5B6C6C133FC6EBC0F990387FFFF1011F13C1 0101130190C7FCAC037F13FCA42E357DA432>I<3901FC03F000FFEB0FFC4AB4FC91383C 7F80147000079038E0FFC000035BEBFD80A201FFEB7F809138003F00150C92C7FC5BB3A2 B512FCA422257EA427>I<90387FF0383903FFFEF84813FF381FC00F383F0003003E1300 5A157812FCA27E6C140013E06CB47E14F86C13FF6C14806C14E06C14F0000114F86C6C13 FC13039038000FFE14030070130012F0157E7EA26C147C7E6C14F890388001F09038F00F E090B512C000F0140038C01FF81F257DA426>I<131EA5133EA4137EA213FEA212011203 1207001FB512E0B6FCA3D803FEC7FCB21578A8000114F07F6CEB01E090387F83C090383F FF806D1300EB03FC1D357EB425>I<01FE147F00FFEC7FFFA400071403000380B3A35DA3 00015C5D6C6C011D138090267F807913FC90383FFFF16D13C1010313012E257CA435>I< B539E001FFF8A4D803FEC7EA1F00161E6D143E6C153C6E137C6C15786E13F8017F5CECE0 01013F5CA26D6C485AA2ECF807010F5CECFC0F010791C7FC6E5A0103131EECFF3E6D133C A26D13F8A36E5AA26E5AA26E5AA26E5AA22D257EA432>I120 DI E %ENDDVIPSBITMAPFONT %DVIPSBITMAPFONT: FS CMBX12 14.4 33 /FS 33 122 DF<157815FC14031407141F14FF130F0007B5FCB6FCA2147F13F0EAF800C7 FCB3B3B3A6007FB712FEA52F4E76CD43>49 DI<91 380FFF8091B512FC010314FF010F15C090263FF00313F09026FF800013FC4848C76C7ED8 03F86E7E4980D807FC168001FF16C0487F82486D15E0A3805CA27E4A4913C07E6C90C7FC D800FC168090C85A18005F167F4C5A5F4B13E04B5B030F5BDB7FFEC7FC91B512F816C016 FCEEFF80DA000713E0030013F8707E70B4FC7013807013C018E07013F0A218F88218FCA3 18FEEA01C0EA0FF8487E487E487EA2B57E18FCA44C13F86C90C7FC18F0495C6C4816E001 F04A13C06C484A1380D80FF84A1300D807FE4A5A2703FFF0035BC690B612F0013F15C001 0F92C7FC010114F8D9001F1380374F7ACD43>I<177C17FE1601A216031607160FA2161F 163F167F16FFA25D5D5DA2ED0FBF151FED3F3F157E157C15F81401EC03F0EC07E015C014 0FEC1F80EC3F00143E5C14FC495A495A5C495A130F495A91C7FC133E137E5B485A5B485A 1207485A5B48C8FC5A127E5ABA12C0A5C96C48C7FCAF020FB712C0A53A4E7CCD43>I<00 03160ED807E0153E01FCEC03FED9FFE0137F91B65A5F5F5F5F5F94C7FC5E16F85E16C04B C8FC15F801E090C9FC91CAFCABEC0FFF027F13F001E3B512FC01E714FF9026FFF80713C0 DAC0017F49C713F8496E7E01F0143F496E7E49816C5AC9148018C082A218E0A318F0A3EA 07C0EA1FF0487E487EA2487EA318E0A25B18C06C485C49168013C0003EC81400003F5D6C 6C5D6C6C4A5A6D4A5AD807F8495B6C6C01075B2701FFC03F5B6C90B6C7FC013F14FC010F 14F0010314809026007FF8C8FC344F79CD43>II<171F4D7E4D7EA2 4D7EA34C7FA24C7FA34C7FA24C7FA34C7FA24C80A283047F80EE7E3F04FE8016FC830301 814C7E03038116F0830307814C7E030F8116C083031F814C7E033F8293C7FC844B82037E 8003FE825D840201834B800203835D840207834B80020F8392B8FCA24A83A24A8492C9FC 854A84027E8202FE845C850101854A820103855C850107854A82010F855C011F83D9FFFC 84B600F8020FB712E0A55B537BD266>65 DI<932601FFF8EC01C0047FD9FF8013030303B600F01307031F03FC131F92 B8133F0203DAE001EBC07F020F01FCC7383FF0FF023F01E0EC07F94A01806EB5FC4A48C9 FC010301F8824949824949824949824949824990CA7E4948835C48854849187FA2484918 3FA2485B1B1F5AA24849180FA45A4A95C7FCA3B5FCAE7EA3806CF207C0A46C7FA26C1A0F 1C806C7FA26C6DF01F00A26C6D183E7E6E606D6C18FC6D6D4C5A6D6D4C5A6D6D16076D6D 4C5A6D6D4C5A010001FE4C5A6E6C6C03FFC7FC6E01E0EC03FC020F01FCEC1FF80203903A FFE001FFE0020091B61280031F4BC8FC030315F8DB007F14C0040101FCC9FC525479D261 >II73 D80 D82 D<0103B5FC013F14F890B612FE486F7E48D9000713E0486DC67FEE 7FFC486D133F707E707EA2846C497F846C90C7FCEA00FC90C8FCA6037FB5FC020FB6FC91 B7FC01071407011F13C090387FFE003801FFF84813E0000F5B485B91C7FC485A485AA25B 12FFA45EA26C6C141D163D6C6C14796D02F97F6C90268001F113F800079026F00FE0EBFF E06C90B5D8807F13F0C64B7E011F01FC7F010101E0010713E03C357CB441>97 D I<913801FFFE021FEBFFF091B612FC010381010F90388003FF90273FFC00071380495A49 484913C0485B485B485B4890C7FC7013805A496E1300003FED00FC94C7FCA2485AA312FF AB127FA27F123FA36C6CED03E0A27E6EEC07C06C7F6CEE0F806C6D141F6C6DEC3F00D97F FC14FE6D6C495A903A0FFFC00FF8010390B512E001001580021F49C7FC020113E033357C B43C>I<4DB47E0407B5FCA5EE001F1707B3A5913801FFC0021F13FC91B6FC010315C701 0F9038C01FE790271FFE0003B5FCD97FF8130049488048498048498048498091C8FC5A5A 5B123FA3485AA312FFAB127FA46C7EA2121FA26C7EA26C6D5C6C5E6C6D5C6C6D91B5FC6D 6C1303D93FFCD907EF13E090280FFF803FCFEBFF806D90B5128F0101ECFE0FD9003F13F0 0203138041537CD24B>I<913807FFC0027F13FC49B6FC010715C0011F010113F0903A3F FC003FF8D97FF0EB0FFC49486D7E48491303484980486F13804890C7FC7013C0485A003F 17E0A2177F485A18F0A312FFA290B8FCA318E001FCCAFCA5127FA37F123FA2001F17E06D ED01F07E6C6D1403EF07E06C6D15C06C160F6C6DEC3F80D97FF8EC7F00D93FFEEB03FE90 3A0FFFC01FFC010390B512F0010015C0023F91C7FC020113F034357CB43D>II<187EDA1FFF903803FF8049B5D8F00F13C00107DAFC3F13E0 011F9138FF7F9F90263FF8039038FC1FF09026FFE00013F04849137F4849EB3FF891C700 1F14E0489338FC0FC0F0038048486E6CC7FCA2001F82A8000F5EA26C6C4A5AA26C5E6E13 3F6C6D495A6C6D495A90267FF803138090B7C8FCD801E714FC01E114F02603C01F90C9FC 91CBFC1207A37FA27F7F13FE90B7FC17F86C16FE717E6C17E018F86C837F6D8248B9FC12 07D80FFCC7000114804848EC001F4848150748486F13C0498100FF82A66C6C4B1380A26C 6C4B13006C6C4B5A6D150FD807FFED3FF86C01C0ECFFF0C601FC010F13C0013FB7C7FC01 0F15FC010115E0D9000F01FCC8FC3C4E7CB543>I<137F497E487F487F487F487FA76C5B 6C5B6C5B6C5B6DC7FC90C8FCAEEB3FF0B5FCA512017EB3B3A5B612E0A51B547BD325> 105 D107 DIII<913801FFE0023F13FF91B612C0010715F8499038807FFC903A3FFC00 0FFFD97FF001037F49486D7F48496D7F48496E7E4890C86C7E488349151F001F83A2003F 834981007F1880A400FF18C0AB007F1880A46C6C4B1300A3001F5F6C6C4B5AA26C6D4A5A 6C5F6E14FF6C6D495B6C6C6C491380D93FFC010F90C7FC903A1FFF807FFE010790B512F8 010115E0D9003F91C8FC020113E03A357CB443>II<90397FE001FCB590380FFF80033F13E0 4B13F09238FE1FF89139E1F03FFC0003EBE3E0C69138C07FFEECE780150014EF14EE02FE EB3FFC5CEE1FF8EE07E04A90C7FCA45CB3AAB612FCA52F357CB437>114 D<903901FFE007011FEBFE1F90B7FC12033907FE001FD80FF01303D81FC07F48487F8248 C87EA2825AA27F7F01F091C7FC13FEEBFFF06CEBFF8015FC6CECFF8016E06C816C15FC6C 810001816C6C1580011F15C01303D9003F14E01400150F030113F00078EC007F00F8153F 161F7E160FA26C16E0A27E6DEC1FC07F6DEC3F806D147F01FCECFF009039FF800FFE6DB5 12F8D8FC1F14E0D8F807148027E0007FF8C7FC2C357CB435>I<143EA6147EA414FEA213 01A313031307A2130F131F133F13FF5A000F90B6FCB8FCA426003FFEC8FCB3A9EE07C0AB 011FEC0F80806D15006F5A6D143E6DEBE07C6DEBFFFC6D6C13F0021F5B020190C7FC2A4C 7ECB34>II119 D121 D E %ENDDVIPSBITMAPFONT %DVIPSBITMAPFONT: FT CMTT10 10 66 /FT 66 122 DF<010F133C90381F807EA8013F13FE4A5AA4007FB612F0B712F8A4003F15 F03A007E01F800A5EBFE0301FC5BA6003FB612F0B712F8A46C15F03A01F807E000A30003 130F01F05BA86C486C5A25337DB22C>35 DI<143814FC13011303EB07F8EB0FF0EB1FC0EB3F80EB7F0013FE 485A5B485A12075B485AA2485AA2123F90C7FCA25A127EA312FE5AAC7E127EA3127F7EA2 7F121FA26C7EA26C7E7F12036C7E7F6C7E137FEB3F80EB1FC0EB0FF0EB07F8EB03FC1301 13001438164272B92C>40 D<127012FC7E7E6C7E6C7EEA0FE06C7E6C7E6C7E6C7E137E7F 1480131FEB0FC0A2EB07E0A214F01303A214F81301A314FC1300AC130114F8A3130314F0 A2130714E0A2EB0FC0A2EB1F80133F1400137E13FE485A485A485A485AEA3FC0485A48C7 FC5A5A1270164279B92C>I<147814FCAF007FB612F0B712F8A46C15F0C700FCC7FCAF14 7825267DAB2C>43 DI<007FB6FCB71280A46C 150021067B9B2C>I<121EEA7F80A2EAFFC0A4EA7F80A2EA1E000A0A6F892C>I<1507ED0F 80151FA2153F16005D157E15FE5D14015D14035DA214075D140F5D141F5D143F92C7FC5C 147E14FE5CA213015C13035C13075C130F5C131F5CA2133F91C8FC5B137E13FE5B12015B 12035B12075BA2120F5B121F5B123F90C9FC5A127E12FE5AA25A127821417BB92C>II<1307497EA2131FA2133F137F13FF5A5A 127FB5FC13DF139FEA7C1F1200B3AE007FB512E0A2B612F06C14E0A21C3477B32C>IIII<000FB512FE4880A35D0180 C8FCADEB83FE90389FFF8090B512E015F8819038FC03FEEBF00001C0137F49EB3F8090C7 121F6C15C0C8120FA2ED07E0A41210127C12FE150F16C05A6C141F007EEC3F80007FEC7F 006C6C5B6D485A391FF00FFC6CB55A6C5C000114C06C6C90C7FCEB0FF823347CB22C>I< EB07FC90383FFF8090B512E0000314F84880390FFC07FE391FF001FF9038C0007F4848EB 3F8090C7121F4815C0007E140FA56CEC1F80A26C6CEB3F006D5B390FF001FE3903FC07F8 6CB55A6C6C13C0D907FCC7FC90387FFFC048B512F03903FC07F8390FF001FE391FC0007F 497F48C7EA1F80007EEC0FC0A248EC07E0A7007EEC0FC0A2007F141F6C6CEB3F806C6CEB 7F009038F001FF390FFC07FE6CB55A6C5CC614E0013F1380D907FCC7FC23357CB32C>56 D<121EEA7F80A2EAFFC0A4EA7F80A2EA1E00C7FCB0121EEA7F80A2EAFFC0A4EA7F80A2EA 1E000A246FA32C>58 DI<147F903803FFE0010F7F013F7F497F9038FF80FE3901FE007FD803 F87F4848EB1F809038E00FCF390FC03FFF494813C0001F90B5FCEA3F01393E03F87F9138 F03FE0397E07E01F397C0FC00FEC8007A2EAFC1F00F8EB0003A900FCEB8007D87C0F14C0 A2ECC00F3A7E07E01F803A3E03F03F006E5A393F01FFFED81F805B000F6D5A6D6C5A3907 E00FC09039F00003C06C6CEB07E0D801FE131F3900FF807F6DB512C06D1480010FEBFE00 010313F89038007F8023337CB22C>64 D<14FE497EA4497F14EFA301077FA214C7A3010F 7FA31483011F7FA490383F01F8A590387E00FCA401FE7F90B5FCA34880A29038F8003FA3 4848EB1F80A4000715C049130FD87FFEEBFFFC6D5AB514FE6C15FC497E27337EB22C>I< 007FB512E015F8B612FE6C8016C03903F0003FED0FE0ED07F01503A2ED01F8A6ED03F0A2 1507ED0FE0ED1FC0EDFF8090B612005D5D15FF16C09039F0001FE0ED07F0ED03F81501ED 00FCA216FE167EA616FE16FC1501ED03F8150FED3FF0007FB612E016C0B712806CECFE00 15F027337FB22C>I<027F1370903903FFE0F8010F13F9013F13FD4913FFEBFF813901FE 007F4848131FD807F0130F491307120F491303485A150148C7FCA25A007EEC00F01600A2 12FE5AAB7E127EA3007F15F06CEC01F8A26C7EA26C6C13036D14F012076DEB07E0D803FC 131F6C6CEB3FC03A00FF80FF806DB512006D5B010F5B010313E0D9007FC7FC25357DB32C >I<007FB5FCB612C015F0816C803907E003FEEC00FFED7F80153FED1FC0ED0FE0A21507 16F0150316F81501A4ED00FCACED01F8A3150316F0A2150716E0150FED1FC0153FED7F80 EDFF00EC03FE007FB55AB65A5D15C06C91C7FC26337EB22C>I<007FB612F016F8B7FC7E A23903F00001A7ED00F01600A4EC01E04A7EA490B5FCA5EBF003A46E5A91C8FCA5163C16 7EA8007FB612FEA2B7FC7E16FC27337EB22C>I<007FB612F8B712FCA37ED803F0C7FCA7 16781600A515F04A7EA490B5FCA5EBF001A46E5A92C7FCAD387FFFE0B5FC805C7E26337E B22C>I<903901FC038090390FFF87C04913EF017F13FF90B6FC4813073803FC01497E48 48137F4848133F49131F121F5B003F140F90C7FCA2127EED078092C7FCA212FE5AA89138 03FFF84A13FCA27E007E6D13F89138000FC0A36C141FA27F121F6D133F120F6D137F6C7E 6C6C13FF6D5A3801FF076C90B5FC6D13EF011F13CF6DEB0780D901FCC7FC26357DB32C> II<007FB512F8B612FCA36C14F839000F C000B3B3A5007FB512F8B612FCA36C14F81E3379B22C>I<387FFFE0B57EA36C5BD803F0 C8FCB3AE16F0ED01F8A8007FB6FCB7FCA36C15F025337DB22C>76 DIII<007FB512C015F8B67E6C14FF16802603F00013C0153FED0FE0ED07F0A21503 16F81501A6150316F01507A2ED0FE0ED3FC015FF90B61280160015FC5D15C001F0C8FCB0 387FFF80A2B57E6C5BA225337EB22C>II<387FFFFCB67E15E015F86C803907 E007FE1401EC007F6F7E151FA26F7EA64B5AA2153F4BC7FCEC01FE140790B55A5D15E081 819038E007FC14016E7E157F81A81606EE1F80A5D87FFEEB1FBFB5ECFF006F5A15076C48 5CC912F029347EB22C>I<90380FF00790397FFE0F8048B512CF000714FF5A381FF00F38 3FC003497E48C7127F127E00FE143F5A151FA46CEC0F00007E91C7FC127F7FEA3FE0EA1F F8380FFFC014FC0003EBFF806C14F0D8003F7F01077F9038003FFEEC03FF02001380153F ED1FC0150F16E0A20078140712FCA56CEC0FC0A26CEC1F806D133F01E0EB7F009038FC01 FE90B5FC5D00F914F0D8F83F13C0267003FEC7FC23357CB32C>I<007FB612FCB712FEA4 3AFC007E007EA70078153CC71400B3AF90383FFFFCA2497F6D5BA227337EB22C>I<3B7F FF803FFFC0B56C4813E0A36C496C13C03B03F00001F800B3AF6D130300015DA26D130700 005D6D130F017F495A6D6C485AECE0FF6DB5C7FC6D5B010313F86D5B9038003F802B3480 B22C>II<3A3FFF03FFE04A13F04813876C13076E13E03A01F800FE007F0000495A13FE01 7E5BEB7F03013F5B1487011F5B14CF010F5B14FF6D5BA26D90C7FCA26D5AA26D5AA2497E A2497EA2497F81EB0FCF81EB1FC7EC87F0EB3F83EC03F8EB7F01017E7FEBFE00497F0001 147E49137F000380491480151FD87FFEEBFFFC5CB514FED87FFE14FC8027337EB22C>88 D<003FB612C04815E0A4007EC7EA1FC01680153FED7F00157E15FE4A5A003C5CC712034A 5A5D140F4A5A5D143F4AC7FC147E14FE5C495A13035C495A130F5C131F495A91C8FC5B13 FE5B12014848EB03C049EB07E01207485A5B121F485A90C7FC5AB7FCA46C15C023337CB2 2C>90 D<007FB6FCB71280A46C150021067B7D2C>95 D97 DI<903803FFC0011F13FC017F7F 48B5FC48803907FC007FEA0FF049133E4848131C484890C7FC90C9FC5A127EA25AA8127E A2127F6C140F6DEB1F806C7E6C6C133F6DEB7F003907FC01FF6CB55A6C5C6C6C5B011F13 E0D903FEC7FC21247AA32C>IIIIIII<140FEC1F80EC3F C0A4EC1F80EC0F0091C7FCA848B512804814C0A37EC7120FB3B3A2141F1580007C133F15 0000FE5BEB01FEB55A6C5B5C6C5B000790C7FC1A467CB32C>II<387FFFE0B57EA37EEA00 03B3B3A5007FB61280B712C0A36C158022337BB22C>I<3A7F81F003E09039CFFC1FF83A FFDFFE3FFCD87FFF13FF91B57E3A07FE1FFC3E01FCEBF83F9039F00FE01FA201E013C0A3 01C01380B33B7FFC3FF87FF0027F13FFD8FFFE6D13F8D87FFC4913F0023F137F2D2481A3 2C>I<397FF00FE039FFF87FFC9038F9FFFE01FB7F6CB6FC00019038F03F80ECC01F0280 7FEC000F5B5BA25BB3267FFFE0B5FCB500F11480A36C01E0140029247FA32C>II< 397FF01FC039FFF8FFF801FB13FE90B6FC6C158000019038E03FC09138801FE091380007 F049130349EB01F816FC491300A216FE167EA816FE6D14FCA2ED01F86D1303ED07F06D13 0F9138801FE09138E07FC091B51280160001FB5B01F813F0EC1F8091C8FCAD387FFFE0B5 7EA36C5B27367FA32C>I114 D<90383FF87048B512F8120F5A5A387FC00F387E00034813015AA36CEB00 F0007F140013E06CB47E6C13FC6CEBFF80000114E0D8003F13F8010113FCEB0007EC00FE 0078147F00FC143F151F7EA26C143F6D133E6D13FE9038F003FC90B5FC15F815E000F814 8039701FFC0020247AA32C>I<131E133FA9007FB6FCB71280A36C1500D8003FC8FCB1ED 03C0ED07E0A5EC800F011FEB1FC0ECE03F6DB512806D14006D5B6D13F89038003FC0232E 7EAD2C>I<3A7FF003FF80486C487FA3007F7F0001EB000FB3A3151FA2153F6D137F3900 FE01FF90B7FC6D15807F6D13CF902603FE07130029247FA32C>I<3A7FFF01FFFCB514FE 148314016C15FC3A03E0000F80A26D131F00011500A26D5B0000143EA26D137E017C137C A2017E13FC013E5BA2EB3F01011F5BA21483010F5BA214C701075BA214EF01035BA214FF 6D90C7FCA26D5A147C27247EA32C>I I<3A3FFF03FFF048018713F8A36C010313F03A00FC007E005D90387E01F8013F5BEB1F83 EC87E090380FCFC0903807EF80EB03FF6D90C7FC5C6D5A147C14FE130180903803EF8090 3807CFC0EB0FC7EC83E090381F01F0013F7FEB7E00017C137C49137E0001803A7FFF01FF FC1483B514FE6C15FC140127247EA32C>I<3A7FFF01FFFCB514FE148314016C15FC3A03 E0000F806C7E151F6D140012005D6D133E137C017E137E013E137CA2013F13FC6D5BA2EB 0F815DA2EB07C1ECC3E0A2EB03E35DEB01E714F75DEB00FFA292C7FC80A2143EA2147E14 7CA214FC5CA21301001C5BEA3E03387F07E0130F495AEBFF806C90C8FC5B6C5AEA07E027 367EA32C>I E %ENDDVIPSBITMAPFONT %DVIPSBITMAPFONT: FU CMSY10 10 4 /FU 4 104 DF<007FB81280B912C0A26C17803204799641>0 D15 D 102 D<127CEAFFC0EA07F0EA01FCEA007E7F6D7EA26D7EB3A86D7EA213036D7E6D7E147E EC1FF0EC07F8EC1FF0EC7E0014F8495A495A1307A2495AB3A8495AA249C7FC137E485AEA 07F0EAFFC0007CC8FC1D537ABD2A>I E %ENDDVIPSBITMAPFONT %DVIPSBITMAPFONT: FV CMR10 10 81 /FV 81 128 DF11 DIIII<14FF010713C090380F83F090383E00F849137C497F153F0001 158049131F000315C0A61680153F1600A2157E5D4A5AEC07E000FFEB3F80147FEC07E000 03EB01F06E7E157C81811680ED0FC0A2ED07E0A216F0A21503A216F8A816F0A2ECF007D9 F1F813E0A2ED0FC016803A07F0F01F0000FFEBC03EEC707CEC3FF0C7EA0FC0253C7EBA2A >25 D<121C127E127FEAFF80A213C0127FA2121C1200A4EA0180A3EA0300A312065AA25A 5A12200A1979B917>39 D<146014E0EB01C0EB0380EB0700130E5B133C13385B13F05B12 01485AA2485AA348C7FCA25A121EA2123EA2123CA2127CA5127812F8B01278127CA5123C A2123EA2121EA2121F7EA26C7EA36C7EA26C7E12007F13707F133C131C7F7FEB0380EB01 C0EB00E01460135278BD20>I<7E7E7E12707E7E7E120F7E6C7E7F12017F6C7EA21378A3 7FA2133E131EA2131FA27FA21480A5130714C0B01480130FA51400A25BA2131EA2133E13 3CA25BA35BA2485A5B12035B48C7FC5A120E5A5A5A5A5A5A12527BBD20>I<15301578B3 A6007FB812F8B912FCA26C17F8C80078C8FCB3A6153036367BAF41>43 D<121C127E127FEAFF80A213C0127FA2121C1200A4EA0180A3EA0300A312065AA25A5A12 200A19798817>II<121C123E127FEAFF80A3EA7F00123E121C09 09798817>I<150C151EA2153E153CA2157C1578A215F815F0A2140115E0A2140315C0A2 14071580A2140F15005C141EA2143E143CA2147C1478A214F85CA213015CA213035CA213 075CA2130F91C7FCA25B131EA2133E133CA2137C1378A213F85BA212015B12035BA21207 5BA2120F90C8FCA25A121EA2123E123CA2127C1278A212F85AA212601F537BBD2A>II<497E1307 130F133FEA01FFB5FC13DFEAFE1F1200B3B3A7497E007FB512E0A31B3779B62A>III<1570A215F01401A214031407A2140F141F14 1B1433147314E314C31301EB038314031307130E130C131C13381330137013E013C0EA01 80120313001206120E120C5A123812305A12E0B712F8A3C73803F000AB4A7E0103B512F0 A325387EB72A>I<0006140CD80780133C9038F003F890B55A5D5D5D92C7FC14FC38067F E090C9FCABEB07F8EB3FFF9038F80F803907C003C090380001F000066D7E1204C8127C15 7EA281A31680A3123C127EB4FCA316005A485C0060147EA26C5C00385C00181301000E49 5A6C495A3903E03F806CB5C7FC38007FFCEB1FE021387CB62A>II<12301238123E003FB612E0A316C048158016000070C71203006014065DA25D48 5C5DA2C85A4A5A4AC7FCA214065CA25C143814301470A25C1301A213035C1307A3130FA2 495AA4133FA5137FA86DC8FC131E233A7BB82A>III< 121C123E127FEAFF80A3EA7F00123E121CC7FCB2121C123E127FEAFF80A3EA7F00123E12 1C092479A317>I<121C123E127FEAFF80A3EA7F00123E121CC7FCB2121C127E127F5A13 80A2127FA2121D1201A4EA0300A41206A25AA25A5AA21220093479A317>I63 D<1538A3157CA315FEA24A7EA34A7F153FA202077FEC061FA2020C7F150FA24A6C7EA34A 6C7EA34A6C7EA34A6C7EA34948137FA201038191C7123FA249B67EA3010EC7EA1FE0010C 140FA249811607A2496E7EA3496E7EA301E06E7E1201486C81D80FFC02031380B56C017F 13FEA3373B7DBA3E>65 DI<913A01FF800180020F13E0027FEBF803903A01FF80 7E07903A03FC000F0FD90FF0EB038FD91FC0EB01DF4948EB007F49C8123F13FE4848151F 4848150F1207491507120F491503121FA2485A1701127FA25B94C7FC12FFAB127FA26DED 0180A2123FA26C7E1703000F17007F00075E6D150612036C6C5D6C6C5D017F15386D6C5C 6D6C5CD90FF0495AD903FCEB0780902701FF803EC7FC9039007FFFFC020F13F002011380 313B7BB93C>IIIIIII75 DIIIII82 DI<003FB812E0A3903AC003FE001F273E0001FC1303 48EE01F00078160000701770A300601730A400E01738481718A4C71600B3B0EC07FF011F B612C0A335397DB83C>II87 D<267FFFFE90381FFFFCA3C601F001071380D93FC0D901FCC7FCEE00F0 6D6C5C5F6D6C495A6D6C130394C8FC6D6C13066D6C130E160C6D6C5B6E1338ED80306E6C 5A021F13E06F5A91380FF180EC07F303FBC9FCEC03FE1401A26E7E81828215FFEDDFE091 38018FF01403ED07F891380603FC140E91380C01FEEC180002387F02306D7E4A133F02E0 804A6D7E4948130F01038191C76C7E01061403010E81010C6E7E011C1400013C8101FE82 D807FF02037FB500E0011FEBFF80A339397EB83E>II<003FB7FCA301FCC75A01C0495A5B003EC7485A003C14075E00384A5A007814 1F00705D153F5E00604AC7FC5D5D4A5AA2C7485A14075D4A5A141F5D4A5AA24AC8FC5C5C 495AA2495A13075C4948EB0180131F5C495AA249C7FC4914035B485A12035B0007ED0700 5B48485C001F5D495C48485C4B5A48C7120FB8FCA329397BB833>II 93 D97 DIIII<147E903803FF80903807C1C090380F07E0011E13 F0EB3E0F137C13FCEC07E09038F803C0000190C7FCADB512FCA3D801F8C7FCB3AB487E38 7FFFF8A31C3B7FBA19>I<90390FF003F090393FFC1FF89039F81F7C7C3901F00FE03A03 E007C0383A07C003E010160048486C7EA2001F80A6000F5CA26C6C485AA26C6C485A6C6C 485A486C48C7FC38063FFCEB0FF0000EC9FCA4120FA26C7E90B512C06C14F86C14FE6CEC FF80000315C03A0F80007FE0001EC7120F003EEC03F048140116F8481400A5007CEC01F0 A26CEC03E06CEC07C06C6CEB0F80D807E0EB3F003901FC01FC39007FFFF0010790C7FC26 377EA42A>IIIII< EA03F012FFA3120F1203B3B3AD487EB512C0A3123A7EB917>I<2703F00FF0EB1FE000FF D93FFCEB7FF8913AF03E01E07C903BF1C01F03803E3C0FF3000F86001FD803F602CC1480 0307140F01FC02F814C0495CA3495CB3A4486C496CEB1FE0B500C1B50083B5FCA340257E A445>I<3903F00FF000FFEB3FFCECF03E9038F1C01F3A0FF3000F80D803F680150701FC 805BA35BB3A4486C497EB500C1B51280A329257EA42E>II<3903F01F E000FFEB7FF89038F1E07E9038F3801F3A07F6000F80D803FCEB07C049EB03E016F049EB 01F816FC150016FEA3167E167FA8167E16FEA216FCA2ED01F8A26DEB03F016E06DEB07C0 01F6EB0F8001F3EB1F009038F1E07E9038F0FFF8EC1FC091C8FCAB487EB512C0A328357E A42E>II<3807E01F00FFEB7FC0ECE3E09038E183F0380FE307EA03E6A29038EC 03E0EC008001F81300A35BB3A3487EB512F0A31C257EA421>II<1318A51338A31378A313F8 120112031207001FB5FCB6FCA2D801F8C7FCB215C0A90000EB018013FC137C90383E0300 EB1F06EB0FFCEB01F81A347FB220>IIIIII<003FB512FCA290388001F8393E0003F0003C1307003814E00030EB0F C00070131F15800060EB3F005C14FE5C495AEA00035C495A130F495A5C49C7FC49130613 7E5B1201485A49130E485A000F140C49131C485A003F143C90C7127C007EEB03FCB6FCA2 1F247EA325>III<001C131C003E133E 007F137F39FF80FF80A3397F007F00003E133E001C131C190978B72A>127 D E %ENDDVIPSBITMAPFONT %DVIPSBITMAPFONT: FW CMR12 12 17 /FW 17 117 DF<121E123FEA7F80EAFFC0A4EA7F80EA3F00121E0A0A78891B>46 D<16C04B7EA34B7EA34B7EA34B7EA3ED19FEA2ED39FF1530A203707FED607FA203C07F16 3FA2DA01807F161FA24A486C7EA302066D7EA2020E80020C1303A2021C8002181301A24A 8082A24A81177FA291B77EA3D90180C7EA1FE0A201038291C8120FA2498201061507A249 821703A249821701A2496F7EA2137801F883486C83D80FFF03037FB500E0027FEBFFC0A3 42467DC549>65 D67 D69 D77 D80 D97 D101 D104 DI107 DI<3903F801FE00 FF90380FFFC091381E03E091383001F00007496C7E000349137C2601F980137E01FBC7FC 01FE143E163F5BA35BB3A9486CEC7F80B539F01FFFFEA32F2C7DAB36>110 DI<3903F007F000FFEB1FF8EC383CEC607E 0007EBC0FF3803F1801201EBF30001F6137E153C150013FCA45BB3A7EA03FEB512FCA320 2C7DAB26>114 D<90383FE0183801FFFC3907C01E38390F000378001CEB01F848130015 785A153812F01518A37E7E127ED87F801300EA3FF0EBFF806C13F8000713FE6CEBFF806C 14C0D8003F13E0010313F09038001FF814030040EB00FC00C0147C157E153E7E151EA27E A2151C7E153C6C14386C147000FB14E039F18001C039E0F00F8039C07FFE00EB0FF01F2E 7DAC26>I<130CA6131CA4133CA2137CA213FC120112031207001FB512F0B6FCA2D800FC C7FCB3A4150CAA017C1318137EA2013E13307F90380F8060903807C0C0903803FF809038 007F001E3E7EBC26>I E %ENDDVIPSBITMAPFONT %DVIPSBITMAPFONT: FX CMSY10 12 1 /FX 1 4 DF<147014F8A81470007815F0007C1401B4EC07F8D87F80EB0FF0D83FE0EB3F E0D80FF0EB7F80D803F8EBFE003900FE73F890383F77E090380FFF80D903FEC7FCEB00F8 EB03FE90380FFF8090383F77E09038FE73F83903F870FED80FF0EB7F80D83FE0EB3FE0D8 7F80EB0FF0D8FF00EB07F8007CEC01F000781400C7140014F8A81470252B7AAD32>3 D E %ENDDVIPSBITMAPFONT %DVIPSBITMAPFONT: FY CMR17 17.28 20 /FY 20 119 DF67 D70 D78 D83 D<003FBC12F8A49126C00003903880000701FCC76C90C8127F01E0190F491907 4848F103FC90C81701007E1A00007C1B7CA300781B3CA400701B1CA600F01B1E481B0EA7 C91800B3B3B3A54C7FA2041F13F04AB8FCA457627CE160>I97 D<4AB47E020F13F091383F007C02FC130FD903F0EB03C04948EB00E0 D90F80147049C87E4981137E49811201484881171F4848ED7F80000F16FF495C121FA25B 003F6F1300A2007F167E94C7FCA25BA212FFAC127FA27FA2123FA36C7EEF01C0120F7F00 07EE03807F0003EE07006C7E0000160E7F017F5D6D5DD90F805CD907E05C6D6CEB03C0D9 00FC010FC7FC023F137E91380FFFF80201138032417CBF3A>99 D<181EEF3FFEEE07FFA4 EE000F1703A21701B3AAED7FC0913807FFF891383FC03E91397E000781D901F8EB01C1D9 07E0EB00E1494814314948141949C8120D017E150F49150700011603485A1701485A120F 5B121FA2485AA3127FA25BA212FFAC127FA37F123FA3121F7F120FA26C7E17036C7E0001 16076C6C150F017E150D17196DED39FFD90F8014716D6CD901E113C0D903F0D90381EBFF 80D900FCEB0F01023F137C91380FFFF00201018091C7FC41657CE349>III104 D<133C13FF487FA2487FA46C5BA26C90C7FC133C90C8FCB3A2EB03C0EA07FF127FA41201 EA007FA2133FB3B3AC497E497EB612E0A41B5F7DDE23>I108 DI111 DI<9039078003F8D807FFEB0FFFB590383C 0780037013C09238C01FE0DA818013F00001903883003F38007F86A2EB3F8CEE1FE00298 EB0FC0EE030002B090C7FCA414E0A55CB3B1497EEBFFF8B612FCA42C3F7CBE33>114 D<1438A71478A514F8A31301A21303A21307A2130F131F133F137F13FF000390B6FC120F B8FCA2260007F8C8FCB3AE17E0AE010315C06E1301A21301EE03806D7E1700027F5B6E13 0E91381FC01C913807F078913801FFF09138003FC02B597FD733>116 DI I E %ENDDVIPSBITMAPFONT END %%ENDPROLOG %%BEGINSETUP %%FEATURE: *RESOLUTION 600DPI TEXDICT BEGIN %%PAPERSIZE: A4 %%ENDSETUP %%PAGE: 1 1 1 0 BOP 512 349 A FY(THE)43 B(STRUCTURE)H(OF)F(A)G(F)-11 B(ORTH)43 B(NATIV)L(E)H(CO)T(DE)G(COMPILER)3267 297 Y FX(\003)1118 589 Y FW(M.)33 B(AN)M(TON)G(ERTL)237 B(CHRISTIAN)34 B(PIRK)M(ER)1332 706 Y FV(INSTITUT)29 B(F)R(\177)-44 B(UR)27 B(COMPUTERSPRAC)N(HEN)1369 798 Y(T)-7 B(EC)N(HNISC)N(HE)27 B(UNIV)N(ERSIT\177)-42 B(AT)27 B(WIEN)1278 891 Y(ARGEN)N (TINIERSTRA\031E)E(8,)I(A-1040)F(WIEN)1020 984 Y FU(F)P FT(ANTON,PIRKY)P FU(G)P FT(@MI)O(PS.)O(CO)O(MP)O(LAN)O(G.)O(TUW)O(IE)O (N.)O(AC.)O(AT)757 1076 Y(HTTP://WWW.COMP)O(LA)O(NG.)O(TU)O(WIE)O(N.)O (AC.)O(AT)O(/P)O(ROJ)O(EC)O(TS/)O(FO)O(RT)O(H.H)O(TM)O(L)1437 1169 Y FV(T)-7 B(EL.:)37 B(\(+43-1\))26 B(58801)F(4474)1454 1261 Y(F)-7 B(AX.:)37 B(\(+43-1\))26 B(505)G(78)H(38)0 1587 Y FS(ABSTRACT)0 1781 Y FV(W)-7 B(RITING)27 B(A)G(SOPHISTICATED)G (F)-7 B(ORTH)27 B(NATIV)N(E)G(CO)R(DE)G(COMPILER)0 1880 Y(P)R(OSES)D(SOME)G(TASKS)G(THAT)H(ARE)E(NOT)I(DISCUSSED)F(IN)H (COMPILER)0 1980 Y(TEXT)K(B)R(O)R(OKS.)41 B(SOME)29 B(OF)G(THESE)G (TASKS)F(ARISE)G(FROM)G(SP)R(ECI\014C)0 2080 Y(LANGUAGE)H(FEATURES,)H (OTHERS)G(FROM)G(THE)G(REQUIREMEN)N(T)G(FOR)0 2179 Y(V)N(ERY)G(FAST)I (COMPILATION)F(TO)H(MAIN)N(TAIN)F(IN)N(TERACTIVIT)N(Y)-7 B(.)48 B(IN)0 2279 Y(THIS)25 B(PAP)R(ER)F(W)N(E)G(DESCRIB)R(E)G(SOME)G (OF)G(THE)H(MORE)F(IN)N(TERESTING)0 2378 Y(DATA)H(STRUCTURES)G(AND)G (ALGORITHMS)F(USED)H(IN)H(THE)G(RAFTS)0 2478 Y(PROTOT)N(YP)R(E.)0 2787 Y FS(1)135 B(IN)L(TRO)T(DUCTION)0 2981 Y FV(IN)44 B([ERT92)O(,)G(EP96)N(])G(W)N(E)G(DISCUSSED)G(MAN)N(Y)G(ENGINEERING)0 3080 Y(ASP)R(ECTS)I(OF)H(A)F(RAFTS)I(COMPILER)E(ONLY)G(SUP)R (ER\014CIALLY)-7 B(,)0 3180 Y(IF)48 B(AT)G(ALL.)97 B(IN)48 B(THE)G(MEAN)N(TIME)G(W)N(E)F(HA)N(V)N(E)G(ALSO)G(MADE)0 3280 Y(SOME)21 B(C)N(HANGES)F(IN)I(PREPARATION)E(FOR)H(IN)N(TERPRO)R (CEDURAL)F(OP-)0 3379 Y(TIMIZATIONS.)35 B(IN)22 B(THIS)H(PAP)R(ER)F(W)N (E)G(DISCUSS)F(THE)I(IMPLEMEN-)0 3479 Y(TATION)32 B(ISSUES)F(OF)H(OUR)G (RAFTS)G(PROTOT)N(YP)R(E)G(COMPILER)F(IN)0 3578 Y(MORE)C(DEPTH.)83 3685 Y(MAN)N(Y)E(OF)G(THE)G(ISSUES)G(DISCUSSED)G(HERE)G(ARE)F(DUE)H(TO) H(SP)R(E-)0 3784 Y(CI\014C)I(PROP)R(ERTIES)E(OF)I(THE)G(LANGUAGE)E(F)-7 B(ORTH:)0 3993 Y FR(IN)M(TERACTIVIT)M(Y)46 B FV(DEMANDS)77 B(V)N(ERY)F(FAST)I(COMPILATION.)166 4092 Y(THIS)31 B(LED)H(TO)F(THE)H (USE)F(OF)G(A)G(FAST)G(INSTRUCTION)G(SELEC-)166 4192 Y(TION)36 B(TEC)N(HNIQUE)G(\(SECTION)G(4.2\),)H(AN)F(IMPRO)N(V)N(ED)E (IN-)166 4292 Y(STRUCTION)F(SC)N(HEDULER)F(\(SECTION)I(4.3\),)G(SIMPLE) F(LO)R(CAL)166 4391 Y(REGISTER)D(ALLO)R(CATION)H(\(SECTION)H(4.4\),)G (AND)F(THE)I(IN)N(TE-)166 4491 Y(GRATION)39 B(OF)H(ALL)F(THESE)H (PHASES)G(IN)N(TO)G(A)F(FEW)H(PASSES)166 4590 Y(\(SECTION)28 B(4.6\).)0 4782 Y FR(HIGH)K(CALL)I(FREQUENCY)42 B FV(REQUIRES)29 B(INLINING)I(AND/OR)D(IN-)166 4882 Y(TERPRO)R(CEDURAL)H(REGISTER)G (ALLO)R(CATION)H(FOR)G(GO)R(O)R(D)G(P)R(ER-)166 4982 Y(FORMANCE.)35 B(THIS)25 B(MEANS)F(THE)I(COMPILER)E(SHOULD)G(NOT)166 5081 Y(GENERATE)J(CO)R(DE)H(FOR)G(A)G(W)N(ORD)F(WHEN)I(ITS)F(SOURCE)G (CO)R(DE)166 5181 Y(IS)G(READ.)36 B(INSTEAD,)28 B(IT)G(SHOULD)G(W)N (AIT)F(AS)H(LONG)F(AS)G(P)R(OS-)166 5280 Y(SIBLE,)47 B(TO)42 B(MAK)N(E)G(USE)H(OF)G(INFORMATION)F(AB)R(OUT)H(THE)166 5380 Y(W)N(ORD'S)35 B(CALLERS.)60 B(THIS)35 B(LEADS)H(TO)F(AN)H(IN)N (TERMEDIATE)166 5480 Y(REPRESEN)N(TATION)J(FOR)I(W)N(ORDS)E(THAT)I(W)N (ERE)F(NOT)H(COM-)166 5579 Y(PILED)28 B(Y)N(ET)F(\(SECTION)H(3\).)P 0 5679 740 4 V 91 5732 A FQ(\003)127 5756 Y FP(THIS)K(W)N(ORK)F(IS)H (SUPP)R(ORTED)H(B)N(Y)F(THE)H(FWF,)F(RESEARC)N(H)H(PRO)T(JECT)0 5835 Y(P11231-MA)-6 B(T.)1931 1587 Y FR(MIXING)33 B(COMPILATION)G(AND)G (EXECUTION)42 B FV(MEANS)2097 1686 Y(THAT)F(THE)G(COMPILER)F(CANNOT)G (W)N(AIT)G(FOR)G(THE)H(WHOLE)2097 1786 Y(PROGRAM)34 B(TO)H(B)R(E)H (READ,)H(AND)E(GENERATE)G(CO)R(DE)G(THEN,)2097 1886 Y(BUT)25 B(MA)N(Y)E(HA)N(V)N(E)G(TO)H(EXECUTE)G(A)G(PART)F(OF)H(THE)H(PROGRAM) 2097 1985 Y(B)R(EFORE)37 B(EV)N(ERYTHING)E(IS)H(READ.)63 B(T)-7 B(OGETHER)35 B(WITH)I(THE)2097 2085 Y(REQUIREMEN)N(T)24 B(TO)H(COMPILE)F(AS)G(LATE)G(AS)G(P)R(OSSIBLE,)H(THIS)2097 2185 Y(HAS)43 B(LED)H(TO)F(IMPLEMEN)N(TING)H(CO)R(DE)F(GENERATION)F(ON) 2097 2284 Y FT(EXECUTE)25 B FV(\(SECTION)J(3.2\).)1931 2456 Y FR(STRATI\014CATION)45 B FV(OF)54 B(DE\014NITIONS)H(\(I.E.,)61 B(DE\014NE)55 B(B)R(EFORE)2097 2555 Y(USE\))23 B(IS)F(REQUIRED)F(IN)H (F)-7 B(ORTH)22 B(AND)G(GIV)N(ES)F(THE)H(COMPILER)2097 2655 Y(OPP)R(ORTUNITIES)D(FOR)F(IN)N(TERPRO)R(CEDURAL)F(OPTIMIZATIONS) 2097 2755 Y(WHOSE)34 B(EXPLOITATION)F(IS)H(MORE)F(DI\016CULT)I(OR)E (IMP)R(OS-)2097 2854 Y(SIBLE)26 B(IN)H(NON-STRATI\014ED)E(LANGUAGES)F (AND)I(LANGUAGES)2097 2954 Y(WITH)31 B(SEPARATE)F(COMPILATION.)45 B(W)-7 B(E)31 B(DO)F(NOT)H(DISCUSS)2097 3054 Y(THESE)22 B(OPTIMIZATIONS)F(HERE,)H(BUT)G(W)N(E)F(HA)N(V)N(E)G(PREPARED)2097 3153 Y(FOR)27 B(THEM)I(\(SECTION)E(3\).)2014 3341 Y(INSTEAD)H(OF)G(REP) R(EATING)G(THE)H(MOTIV)-5 B(ATION)28 B(AND)G(RELATED)1931 3441 Y(W)-7 B(ORKS)22 B(SECTIONS)G(FROM)H([EP96)N(],)H(W)N(E)E(SUGGEST) G(READING)G(IT.)3742 3411 Y FO(1)1931 3723 Y FS(2)135 B(COMPILATION)47 B(ACTIONS)1931 3907 Y FV(IN)J([EP96)N(],)55 B(W)N(E)49 B(DISCUSSED)G(V)-5 B(ARIOUS)48 B(ALTERNATIV)N(ES)G(FOR)1931 4007 Y(DEALING)19 B(WITH)I(THE)F(PROBLEM)F(THAT)H(NATIV)N(E)F(CO)R(DE)H (COMPILERS)1931 4107 Y(REQUIRE)I(AN)H(UN)N(USUAL)F(AND)H(NON)N(UNIFORM) G(IMPLEMEN)N(TATION)1931 4206 Y(OF)34 B(COMPILATION.)53 B(A)N(T)34 B(THAT)G(TIME,)H(OUR)E(PROTOT)N(YP)R(E)F(COM-)1931 4306 Y(PILER)H(USED)H(A)F(COM)N(BINATION)G(OF)G(THE)H FN(WOR)L(D)T(LIST)43 B FV(APPROAC)N(H)1931 4406 Y(\(I.E.,)G(A)D(W)N (ORDLIST)E(FOR)H(THE)H(COMPILATION)F(ACTION)H(AND)F(A)1931 4505 Y(W)N(ORDLIST)21 B(FOR)G(THE)H(IN)N(TERPRETATION)F(ACTION\))G(AND) H(THE)G FN(INTEL-)1931 4605 Y(LIGENT)28 B FM(COMPILE,)36 B FV(APPROAC)N(H)23 B(\(I.E.,)K FT(COMPILE,)21 B FV(P)R(ERFORMS)1931 4704 Y(A)30 B(SP)R(ECIAL)H(COMPILATION)F(ACTION)G(FOR)G(EAC)N(H)G (EXECUTION)G(TO-)1931 4804 Y(K)N(EN\),)G(WHERE)F(THE)H(W)N(ORDLIST)F (PART)G(CAUSED)G(NON-STANDARD)1931 4904 Y(B)R(EHA)N(VIOUR.)2014 5005 Y(IN)21 B(THE)G(MEAN)N(TIME)G(W)N(E)F(HA)N(V)N(E)G(SWITC)N(HED)G (TO)H(A)F(PURE)H(IN)N(TEL-)1931 5104 Y(LIGEN)N(T)34 B FT(COMPILE,)D FV(APPROAC)N(H.)54 B(THE)34 B(C)N(HALLENGE)E(W)N(AS)H (DO-)1931 5204 Y(ING)21 B(THIS)H(E\016CIEN)N(TLY)F(WHILE)G(MAIN)N (TAINING)F(THE)I(IN)N(TEGRATION)1931 5304 Y(WITH)28 B(THE)G(GFORTH)G (THREADED)F(CO)R(DE)H(SYSTEM.)2014 5405 Y(THREADED)43 B(CO)R(DE)F(SYSTEMS)H(PRO)N(VIDE)F(INFORMATION)G(IN)1931 5504 Y(THE)35 B(EXECUTION)F(TOK)N(EN)G(\(XT\))I(ON)E(HO)N(W)G(TO)G FT(EXECUTE)E FV(THE)1931 5604 Y(DE\014NITION)I(REPRESEN)N(TED)E(B)N(Y)H (THE)G(EXECUTION)G(TOK)N(EN,)H(BUT)P 1931 5679 V 2024 5732 A FL(1)2058 5756 Y FP(OUR)198 B(PAP)R(ERS)H(ARE)F(A)N(V)L(AILABLE) H(THROUGH)1931 5835 Y(H)N(TTP://WWW.COMPLANG.TU)N(WIEN.AC.AT/PAP)R (ERS/.)P %%BEGINOBJECT: ONLINE-FOOTER GSAVE INITMATRIX 0 SETGRAY NEWPATH /HELVETICA FINDFONT 9 SCALEFONT SETFONT 56 53 MOVETO (PAPER AND BIBTEX ENTRY ARE AVAILABLE AT HTTP://WWW.COMPLANG.TUWIEN.AC.AT/PAPERS/. THIS PAPER WAS PUBLISHED IN:) SHOW 56 42 MOVETO (EUROFORTH '97 CONFERENCE PROCEEDINGS, PAGES 107-116) SHOW 56 31 MOVETO () SHOW GRESTORE %%ENDOBJECT EOP %%PAGE: 2 2 2 1 BOP 0 3 1849 4 V 50 109 A FT(XT-CFA)271 B FV(CO)R(DE)28 B(\014ELD)50 208 Y FT(XT-DEFER)183 B FV(CF)-9 B(A)28 B(FOR)F(DEFERRED)G(DE\014NITION)50 308 Y FT(XT-COMPILE)95 B FV(XT)28 B(OF)G(COMPILATION)F(ACTION)50 408 Y FT(...)403 B FV(OTHER)27 B(\014ELDS)50 507 Y FT(XT-PFA)271 B FV(PARAMETER)26 B(\014ELD)I(\(B)R(O)R(DY\))P 0 576 V 85 717 A(FIGURE)F(1:)36 B(STRUCTURE)28 B(OF)F(A)H(NATIV)N(E)F(CO)R(DE)G(DE\014NITION)0 984 Y(NO)G(INFORMATION)G(ON)G(HO)N(W)G(TO)H FT(COMPILE,)C FV(IT.)37 B(THE)28 B(REASON)0 1083 Y(IS)38 B(THAT)G(ALL)F(XTS)H(ARE)F FT(COMPILE,)P FV(D)D(IN)K(A)G(UNIFORM)F(W)N(A)N(Y)-7 B(,)0 1183 Y(WITH)28 B FT(,)P FV(.)83 1283 Y(NATIV)N(E)43 B(CO)R(DE)F(COMPILERS,)K(ON)D(THE)G(OTHER)G(HAND,)K(OF-)0 1383 Y(TEN)60 B(W)N(AN)N(T)E(TO)H(DO)G(SOMETHING)G(DI\013EREN)N(T)G (DEP)R(ENDING)0 1482 Y(ON)44 B(THE)H(XT)G(THAT)G(IS)G FT(COMPILE,)P FV(D)1155 1452 Y FO(2)1189 1482 Y FV(;)53 B(E.G.,)C(OUR)44 B(PROTO-)0 1582 Y(T)N(YP)R(E)D FT(COMPILE,)P FV(S)C(THE)K(XT)F(OF)47 B FT(+)40 B FV(WITH)H(A)F(W)N(ORD)G(CALLED)0 1682 Y FT(COMPILE-+)I FV(\(WHIC)N(H)K(IS)G(OB)N(VIOUSLY)F (INAPPROPRIATE)F(FOR)0 1781 Y FT(COMPILE,)P FV(ING)24 B(OTHER)J(W)N(ORDS\).)83 1882 Y(ONE)19 B(SOLUTION)H(W)N(OULD)F(B)R(E)H (TO)G(K)N(EEP)F(THE)H(DATA)F(STRUCTURES)0 1981 Y(OF)K(THE)H(THREADED)E (CO)R(DE)H(SYSTEM)G(AND)G(P)R(ERFORM)G(THE)H(DI\013ER-)0 2081 Y(EN)N(T)H FT(COMPILE,)D FV(ACTIONS)I(FOR)H(DI\013EREN)N(T)G(XTS)G (B)N(Y)G(P)R(ERFORM-)0 2180 Y(ING)32 B(A)G(TABLE)H(LO)R(OKUP)F(IN)G FT(COMPILE,)P FV(.)49 B(ANOTHER)32 B(SOLUTION)0 2280 Y(IS)I(TO)H(C)N(HANGE)E(THE)I(DATA)F(STRUCTURE)G(FOR)G(A)G (DE\014NITION)G(TO)0 2380 Y(INCLUDE)29 B(INFORMATION)E(ON)H(THE)H (COMPILATION)F(ACTION.)38 B(W)-7 B(E)0 2479 Y(C)N(HOSE)27 B(THE)H(LATTER)F(APPROAC)N(H)E(\(SEE)J(FIG.)F(1\).)83 2580 Y(IF)I(THE)G(THREADED)G(CO)R(DE)F(SYSTEM)H(AND)F(THE)H(NATIV)N(E)G (CO)R(DE)0 2679 Y(COMPILER)37 B(HA)N(V)N(E)G(DI\013EREN)N(T)H(DATA)F (STRUCTURES)G(FOR)G(DE\014NI-)0 2779 Y(TIONS,)30 B(HO)N(W)F(CAN)H(THEY) G(W)N(ORK)E(TOGETHER?)43 B(THERE)29 B(ARE)G(T)N(W)N(O)0 2879 Y(DIRECTIONS)E(TO)G(CONSIDER:)83 3064 Y FU(\017)41 B FV(P)N(ASSING)31 B(THE)I(XT)H(OF)E(A)H(NATIV)N(E)F(CO)R(DE)H (DE\014NITION)G(TO)166 3164 Y(A)40 B(W)N(ORD)G(EXP)R(ECTING)H(A)F (THREADED)H(CO)R(DE)F(XT.)H(THIS)166 3263 Y(PRESEN)N(TS)29 B(NO)I(PROBLEM,)F(B)R(ECAUSE)G(W)N(E)G(DESIGNED)G(THE)166 3363 Y(DATA)H(STRUTURE)G(OF)G(NATIV)N(E)G(CO)R(DE)H(DE\014NITIONS)F(AS) G(EX-)166 3462 Y(TENSION)18 B(OF)H(THE)G(THREADED)F(CO)R(DE)G(DATA)G (STRUCTURE)G(\(SEE)166 3562 Y(FIG.)J(1\):)33 B(THE)21 B(XT)G(CAN)F(STILL)H(B)R(E)G(USED)F(AS)G(A)H(CO)R(DE)F(\014ELD)166 3662 Y(ADDRESS)26 B(\(CF)-9 B(A\).)83 3831 Y FU(\017)41 B FV(P)N(ASSING)32 B(THE)J(XT)G(OF)F(A)G(THREADED)G(CO)R(DE)G (DE\014NITION)166 3930 Y(TO)28 B(A)G(W)N(ORD)F(THAT)H(EXP)R(ECTS)G(A)G (NATIV)N(E)G(CO)R(DE)G(XT)G(\(AND)166 4030 Y(W)N(AN)N(TS)41 B(TO)G FT(COMPILE,)E FV(IT\).)79 B(THIS)42 B(W)N(OULD)F(CAUSE)G(A)166 4129 Y(CRASH,)27 B(AND)G(M)N(UST)H(B)R(E)G(A)N(V)N(OIDED.)83 4315 Y(SO,)22 B(HO)N(W)E(CAN)H(W)N(E)G(USE)G(THREADED)F(CO)R(DE)H(W)N (ORDS)F(IN)H(NATIV)N(E)0 4415 Y(CO)R(DE?)36 B(W)-7 B(E)24 B(DECIDED)G(TO)F(CREATE)G(ALIASES)F(FOR)I(THE)G(THREADED)0 4514 Y(CO)R(DE)I(W)N(ORDS)E(W)N(E)I(USE;)G(THESE)G(ALIASES)E(HA)N(V)N (E)H(A)G(NATIV)N(E)H(CO)R(DE)0 4614 Y(DE\014NITION)C(STRUCTURE.)35 B(THE)21 B(CO)R(DE)H(\014ELD)G(FOR)F(SUC)N(H)H(AN)F(ALIAS)0 4713 Y(\(USED)G(FOR)G FT(EXECUTE)P FV(\))D(CON)N(TAINS)I FT(DODEFER)P FV(,)F(THE)J FT(XT-DEFER)0 4813 Y FV(\014ELD)31 B(CON)N(TAINS)G(THE)G(CF)-9 B(A)32 B(OF)F(THE)H(THREADED)E(CO)R(DE)H(W) N(ORD,)0 4913 Y(AND)C(THE)H FT(XT-COMPILE)C FV(\014ELD)K(\(USED)G(FOR)F FT(COMPILE,)P FV(,)D(CON-)0 5012 Y(TAINS)J(THE)H(XT)G(OF)34 B FT(COMPILE-THREADED)P FV(\).)83 5113 Y(THE)C(DEFAULT)H(SEARC)N(H)E (ORDER)G(CON)N(TAINS)H(ONLY)G(W)N(ORDLISTS)0 5212 Y(CONSISTING)18 B(ONLY)H(OF)F(NATIV)N(E)H(CO)R(DE)G(STRUCTURED)F(DE\014NITIONS.)P 0 5284 740 4 V 92 5338 A FL(2)127 5361 Y FP(NOTE)33 B(THAT)H(THIS)F (ISSUE)F(IS)G(INDEP)R(ENDEN)N(T)J(OF)D(THE)I(QUESTION)F(OF)0 5440 Y(NON-DEFAULT)C(COMPILATION)E(SEMAN)N(TICS:)40 B FK(COMPILE,)30 B FP(M)N(UST)D(COMPILE)0 5519 Y(THE)F(EXECUTION)H(SEMAN) N(TICS)E(GIV)N(EN)G(B)N(Y)H(THE)G(XT,)E(NOT)I(AN)N(Y)G(OTHER)G(SE-)0 5598 Y(MAN)N(TICS;)C(NATIV)N(E)H(CO)R(DE)H(COMPILERS)C(JUST)J(W)N(AN)N (T)G(TO)G(P)R(ERFORM)D(AN)J(XT-)0 5677 Y(DEP)R(ENDEN)N(T)36 B(ACTION)F(WHEN)G(COMPILING)E(THE)H(XT,)G(B)R(ECAUSE)H(NATIV)N(E)0 5756 Y(CO)R(DE)27 B(IS)E(NOT)H(AS)G(UNIFORM)E(AS)I(THREADED)H(CO)R(DE,) G(AND)F(TO)H(ALLO)N(W)E(OPTI-)0 5835 Y(MIZATIONS.)1931 83 Y FV(W)-7 B(E)39 B(EXPLICITLY)F(CREATE)G(NATIV)N(E)F(CO)R(DE)H (ALIASES)F(IN)I(ONE)F(OF)1931 183 Y(THESE)32 B(W)N(ORDLISTS)E(FOR)H (ALL)G(THE)H(THREADED)F(CO)R(DE)G(W)N(ORDS)F(W)N(E)1931 282 Y(USE.)49 B(THIS)32 B(IS)F(NOT)H(V)N(ERY)F(ELEGAN)N(T,)G(BUT)I (SIMPLE,)G(AND)E(HAS)1931 382 Y(FURTHER)I(ADV)-5 B(AN)N(TAGES:)47 B(IN)33 B(PARTICULAR,)H(W)N(E)F(CANNOT)F(ACCI-)1931 482 Y(DEN)N(TIALLY)C(IN)N(V)N(OK)N(E)E(A)H(THREADED)G(CO)R(DE)G(W)N(ORD)G (THAT)H(TRIES)F(TO)1931 581 Y(COMPILE)H(SOMETHING)F(WITH)H FT(,)P FV(.)1931 883 Y FS(3)135 B(DELA)L(YING)47 B(CO)T(DE)D (GENERATION)1931 1074 Y FV(F)-7 B(OR)36 B(IN)N(TERPRO)R(CEDURAL)E (REGISTER)H(ALLO)R(CATION)G(W)N(E)H(NEED)G(TO)1931 1173 Y(COMPILE)22 B(AS)F(MAN)N(Y)G(W)N(ORDS)G(TOGETHER)G(AS)G(P)R(OSSIBLE.) 34 B(F)-7 B(OR)22 B(IN-)1931 1273 Y(LINING)K(DECISIONS,)F(W)N(E)H(NEED) G(TO)F(KNO)N(W)G(HO)N(W)G(OFTEN)H(A)G(W)N(ORD)1931 1373 Y(IS)E(CALLED)G(B)R(EFORE)G(INLINING)H(IT.)36 B(IN)25 B(B)R(OTH)F(CASES)G(W)N(E)G(HA)N(V)N(E)F(TO)1931 1472 Y(DELA)N(Y)K(THE)H(CO)R(DE)F(GENERATION)G(AS)F(LONG)H(AS)G(P)R (OSSIBLE.)1931 1731 Y FJ(3.1)113 B(LINEAR)58 B(IN)M(TERMEDIATE)E (REPRESEN)M(TA-)2187 1848 Y(TION)1931 2010 Y FV(OF)20 B(COURSE,)F(W)N(E)G(HA)N(V)N(E)F(TO)I(REPRESEN)N(T)E(THE)H(PROGRAM)F (IN)H(SOME)1931 2110 Y(DATA)25 B(STRUCTURE)G(B)R(ET)N(W)N(EEN)H(THE)G (TIME)G(WHEN)G(THE)G(PROGRAM)1931 2210 Y(IS)D(COMPILED)G(\(AS)F(P)R (ERCEIV)N(ED)G(B)N(Y)H(THE)G(USER\),)G(AND)G(THE)G(TIME)1931 2309 Y(WHEN)28 B(THE)G(CO)R(DE)F(IS)H(GENERATED)E(FOR)H(IT.)2014 2414 Y(AN)45 B(OB)N(VIOUS)E(CANDIDATE)H(W)N(OULD)H(B)R(E)F(THE)H(DATA)F (\015O)N(W)1931 2514 Y(GRAPHS)F(THAT)G(ARE)G(ALREADY)F(USED)I(IN)G(CO)R (DE)F(GENERATION)1931 2613 Y(FOR)37 B(BASIC)G(BLO)R(C)N(KS.)66 B(THE)37 B(CON)N(TROL)G(\015O)N(W)F(W)N(OULD)H(HA)N(V)N(E)G(TO)1931 2713 Y(B)R(E)H(ADDED)F(SOMEHO)N(W.)65 B(HO)N(W)N(EV)N(ER,)38 B(THIS)F(REPRESEN)N(TATION)1931 2812 Y(IS)E(NOT)G(ONLY)F(QUITE)H (SPACE-CONSUMING,)G(IT)G(ALSO)F(COMPLI-)1931 2912 Y(CATES)42 B(CO)R(DE)G(REPLICATING)G(OPTIMIZATIONS)F(LIK)N(E)H(INLINING:)1931 3012 Y(COP)N(YING)37 B(A)G(GRAPH)F(IS)H(SOMEWHAT)G(COMPLEX;)42 B(COP)N(YING)36 B(A)1931 3111 Y(CON)N(TROL-\015O)N(W/DATA-\015O)N(W)F (GRAPH)J(H)N(YBRID)G(AND)H(INSERTING)1931 3211 Y(IT)28 B(IN)G(ANOTHER)F(SUC)N(H)G(B)R(EAST)H(W)N(OULD)F(B)R(E)H(W)N(ORSE.)2014 3316 Y(A)43 B(LINEAR)E(REPRESEN)N(TATION)F(OF)I(THE)H(GRAPH)E(W)N(OULD) G(B)R(E)1931 3415 Y(NICER.)34 B(A)21 B(STAC)N(K-BASED)E(REPRESEN)N (TATION)G(IS)I(EASY)E(TO)I(TRANS-)1931 3515 Y(FORM)26 B(IN)N(TO)H(A)F(GRAPH,)F(AND)I(IT)F(IS)H(EASY)E(TO)I(CREATE)E(FROM)H (THE)1931 3614 Y(SOURCE)31 B(CO)R(DE.)52 B(SO,)33 B(W)N(E)F(SETTLED)H (ON)F(A)G(STAC)N(K-BASED)F(CO)R(DE)1931 3714 Y(THAT)I(IS)F(QUITE)H (CLOSE)E(TO)H(THE)H(SOURCE.)50 B(THE)33 B(MAIN)F(DI\013ER-)1931 3814 Y(ENCE)40 B(FROM)G(SOURCE)F(IS)H(THAT)G(THE)H(NAMES)E(ARE)G (RESOLV)N(ED.)1931 3913 Y(ANOTHER)24 B(DI\013ERENCE)F(IS)H(THAT)G(THE)G (PROGRAM)E(IS)H(NOT)H(REPRE-)1931 4013 Y(SEN)N(TED)I(AS)G(STRINGS,)F (BUT)I(AS)E(THREADED)H(CO)R(DE;)G(TH)N(US,)G(WHEN)1931 4113 Y(W)N(E)36 B(\014NALLY)G(W)N(AN)N(T)G(TO)G(GENERATE)F(EXECUTABLE)H (CO)R(DE)G(FOR)G(A)1931 4212 Y(PIECE)F(OF)H(IN)N(TERMEDIATE)F(REPRESEN) N(TATION,)G(W)N(E)G(JUST)H(HA)N(V)N(E)1931 4312 Y(TO)41 B(EXECUTE)G(THE)H(IN)N(TERMEDIATE)E(REPRESEN)N(TATION;)46 B(IF)C(W)N(E)1931 4411 Y(W)N(AN)N(T)37 B(TO)G(INLINE)G(A)G(COLON)F (DE\014NITION,)K(W)N(E)D(JUST)H(HA)N(V)N(E)E(TO)1931 4511 Y(CALL)25 B(ITS)G(IN)N(TERMEDIATE)G(REPRESEN)N(TATION)F(WHILE)H (COMPILING)1931 4611 Y(ITS)H(CALLER)E(\(INSTEAD)I(OF)F(PRO)R(DUCING)G (SEPARATE)F(CO)R(DE)H(FOR)G(IT,)1931 4710 Y(AND)J(GENERATING)E(CO)R(DE) H(FOR)G(A)G(CALL)H(TO)F(THAT)H(CO)R(DE\).)2014 4815 Y(WHILE)43 B(COMPILING)E(SOURCE)G(CO)R(DE)G(IN)N(TO)H(THE)G(IN)N(TERME-)1931 4915 Y(DIATE)35 B(REPRESEN)N(TATION,)G(THE)G(COMPILER)G(ALREADY)E (COLLECTS)1931 5014 Y(DATA)C(AB)R(OUT)H(THE)G(STAC)N(K)E(E\013ECTS)I (AND)F(OTHER)G(INFORMATION)1931 5114 Y(THAT)J(WILL)G(B)R(E)G(USEFUL)G (IN)G(IN)N(TERPRO)R(CEDURAL)E(REGISTER)H(ALLO-)1931 5214 Y(CATION)C(AND)H(OTHER)F(IN)N(TERPRO)R(CEDURAL)F(OPTIMIZATIONS.)1931 5473 Y FJ(3.2)113 B(COMPILE)35 B(ON)J FI(EXECUTE)1931 5635 Y FV(W)-7 B(E)39 B(W)N(AN)N(T)E(TO)H(GENERATE)F(CO)R(DE)H(FOR)G(A) G(DE\014NITION)G(AT)G(THE)1931 5735 Y(LATEST)32 B(P)R(OSSIBLE)G(MOMEN)N (T,)H(AND)E(THAT)I(MOMEN)N(T)F(IS)F(WHEN)1931 5835 Y(THE)48 B(DE\014NITION)G(IS)F FT(EXECUTE)P FV(D)E(\(E.G.,)52 B(B)N(Y)47 B(IN)N(TERPRETING)P EOP %%PAGE: 3 3 3 2 BOP 0 3 1849 4 V 50 109 A FT(IL-LEFT)271 B FV(LEFT)28 B(C)N(HILD)G(\(OR)F(UN)N(USED\))50 208 Y FT(IL-RIGHT)227 B FV(RIGH)N(T)27 B(C)N(HILD)G(\(OR)G(UN)N(USED\))50 308 Y FT(IL-OP)359 B FV(NO)R(DE)28 B(T)N(YP)R(E)F(\(OP)R(ERATOR\))50 408 Y FT(IL-VAL)315 B FV(V)-5 B(ALUE)27 B(\(OF)35 B FT(I)P 1026 408 27 4 V 31 W(LIT)26 B FV(NO)R(DE\))50 507 Y FT(IL-REG)315 B FV(TARGET)27 B(REGISTER)50 607 Y FT(IL-SLABEL)183 B FV(STATE)27 B(\(FOR)H(INST.)37 B(SELECTION\))50 707 Y FT(IL-NT-INSTS)95 B FV(ML)28 B(NO)R(DES)F(FOR)G(THIS)H(IL)F(NO)R(DE)50 806 Y FT(IL-DEPENDS)139 B FV(DEP)R(ENDENCES)28 B(\(FOR)F(SC)N (HEDULING\))P 0 875 1849 4 V 495 1016 A(FIGURE)G(2:)36 B(IL)28 B(NO)R(DE)F(\014ELDS)0 1286 Y(THE)38 B(W)N(ORD\).)65 B(A)N(T)38 B(THAT)F(MOMEN)N(T,)J(THE)E(COMPILER)F(GENER-)0 1386 Y(ATES)G(CO)R(DE)F(FOR)H(THE)G FT(EXECUTE)P FV(D)E(DE\014NITION)I (AND)G(ALL)G(THE)0 1485 Y(DE\014NITIONS)C(THAT)G(THIS)G(DE\014NITION)G (CALLS)G(STATICALLY)F(\(I.E.,)0 1585 Y(WITHOUT)F FT(EXECUTE)C FV(ETC.\).)45 B(THIS)30 B(TEC)N(HNIQUE)G(OF)H(DYNAMIC)0 1684 Y(TRANSLATION)26 B(W)N(AS)H(PIONEERED)G(B)N(Y)G([DS84].)83 1787 Y(THIS)41 B(IS)G(AC)N(HIEV)N(ED)F(B)N(Y)H(PUTTING)G(A)G FT(DOCODEGEN)D FV(CO)R(DE)0 1886 Y(ADDRESS)27 B(IN)H(THE)G(CO)R(DE)G (\014ELD)G(\()P FT(XT-CFA)P FV(\))F(OF)G(ALL)H(DE\014NITIONS)0 1986 Y(FOR)34 B(WHIC)N(H)G(NO)H(CO)R(DE)F(HAS)G(B)R(EEN)H(GENERATED)E (Y)N(ET.)58 B(WHEN)0 2085 Y(THE)31 B(DE\014NITION)G(IS)F FT(EXECUTE)P FV(D,)F(THIS)I(ROUTINE)F(IS)H(IN)N(V)N(OK)N(ED:)0 2185 Y(IT)38 B(GENERATES)E(CO)R(DE)I(FOR)F(THE)I(DE\014NITION)F(\(B)N (Y)G(EXECUTING)0 2285 Y(THE)27 B(IN)N(TERMEDIATE)F(REPRESEN)N(TATION\)) E(AND)I(ALL)G(ITS)H(DESCEN-)0 2384 Y(DEN)N(TS)36 B(IN)G(THE)G(STATIC)F (CALL)H(GRAPH.)60 B(F)-7 B(OR)35 B(ALL)G(DE\014NITIONS,)0 2484 Y(FOR)24 B(WHIC)N(H)H(IT)G(GENERATES)E(CO)R(DE,)I(IT)G(REPLACES)E (THE)I(CO)R(DE)G(AD-)0 2584 Y(DRESS)35 B FT(DOCODEGEN)D FV(IN)K(THE)G(CO)R(DE)G(\014ELD)G(WITH)G(A)G FT(DOCODE)P FV(,)0 2683 Y(THE)G(CO)R(DE)E(ADDRESS)G(FOR)H(EXECUTING)G(NATIV)N(E)F (CO)R(DE)H(DE\014NI-)0 2783 Y(TIONS.)48 B(AFTER)31 B(ALL)G(THE)H (NECESSARY)E(CO)R(DE)H(IS)G(GENERATED,)G(IT)0 2882 Y(\014NALLY)C (EXECUTES)H(THE)G(NATIV)N(E)F(CO)R(DE)G(FOR)G(THE)H(DE\014NITION.)0 3128 Y FJ(3.3)112 B(IN)M(TERPRO)S(CEDURAL)37 B(OPTIMIZATIONS)0 3286 Y FV(W)-7 B(E)21 B(ARE)E(CURREN)N(TLY)G(W)N(ORKING)F(ON)I(ADDING)G (IN)N(TERPRO)R(CEDURAL)0 3385 Y(REGISTER)25 B(ALLO)R(CATION)G(AND)I(IN) N(TEND)G(TO)F(ADD)G(INLINING;)I(SINCE)0 3485 Y(W)N(E)23 B(HA)N(V)N(E)G(NOT)H(COMPLETED)G(THIS)G(W)N(ORK,)F(W)N(E)G(DO)H(NOT)G (DISCUSS)0 3585 Y(IT)K(IN)G(DEPTH)G(HERE.)83 3687 Y(THESE)39 B(OPTIMIZATIONS)G(WILL)H(COLLECT)F(DATA)G(WHILE)H(THE)0 3786 Y(LINEAR)23 B(IN)N(TERMEDIATE)G(REPRESEN)N(TATION)E(IS)J(BUILT,)H (AND)E(P)R(OS-)0 3886 Y(SIBLY)J(IN)H(SEPARATE)E(PASSES)H(JUST)H(B)R (EFORE)F(CO)R(DE)H(GENERATION)0 3986 Y(\(I.E.,)D(AT)E(THE)G(START)G(OF) 28 B FT(DOCODEGEN)P FV(\).)K(THEN)22 B(THE)H(COMPILER)0 4085 Y(MAK)N(ES)32 B(INLINING)H(DECISIONS)G(AND)G(DETERMINES)F(THE)I (REGIS-)0 4185 Y(TER)22 B(ALLO)R(CATIONS)F(AT)H(THE)H(BASIC)F(BLO)R(C)N (K)F(B)R(OUNDARIES.)35 B(THESE)0 4285 Y(DECISIONS)27 B(ARE)F(LATER)H(USED)H(DURING)F(CO)R(DE)H(GENERATION.)0 4572 Y FS(4)135 B(BASIC)45 B(BLO)T(C)L(KS)0 4775 Y FJ(4.1)112 B(DATA)38 B(STRUCTURES)0 4933 Y FV(W)-7 B(E)27 B(USE)G(T)N(W)N(O)F (DATA)G(STRUCTURES)G(DURING)G(CO)R(DE)H(GENERATION)0 5033 Y(FOR)39 B(BASIC)G(BLO)R(C)N(KS:)60 B(THE)40 B(IL)F(\(IN)N (TERMEDIATE)H(LANGUAGE\))0 5132 Y(DATA)26 B(\015O)N(W)G(GRAPH)G(IS)H(A) F(\(MOSTLY\))H(MAC)N(HINE-INDEP)R(ENDEN)N(T)0 5232 Y(REPRESEN)N(TATION) D(OF)I(THE)H(BASIC)E(BLO)R(C)N(K;)H(THE)G(ML)G(\(MAC)N(HINE)0 5332 Y(LANGUAGE\))K(DATA)H(\015O)N(W)F(GRAPH)H(CONSISTS)F(OF)I(NO)R (DES)F(REPRE-)0 5431 Y(SEN)N(TING)C(THE)H(TARGET)F(MAC)N(HINE)G (INSTRUCTIONS.)83 5533 Y(W)-7 B(E)46 B(HA)N(V)N(E)E(DESCRIB)R(ED)H(THE) H(CONSTRUCTION)F(OF)G(THE)H(IL)0 5633 Y(GRAPH)26 B(FOR)I(A)F(BASIC)G (BLO)R(C)N(K)G(IN)H([EP96)N(].)83 5735 Y(FIGURE)37 B(2)G(SHO)N(WS)F (THE)I(\014ELDS)G(OF)F(AN)G(IL)H(GRAPH)E(NO)R(DE.)0 5835 Y(THE)H FT(IL-OP)E FV(\014ELD)I(CON)N(TAINS)F(THE)I(NO)R(DE)F(T)N(YP)R (E)G(\(OR)F(OP)R(ER-)P 1931 3 V 1981 109 A(T)N(YP)R(E)293 B(OP)R(ERANDS)P 1931 142 929 4 V 1981 212 A FT(I)P 2030 212 27 4 V 31 W(INVERT)H FV(1)1981 311 Y FT(I)P 2030 311 V 31 W(NEGATE)G FV(1)1981 411 Y FT(I)P 2030 411 V 31 W(PLUS)382 B FV(2)1981 511 Y FT(I)P 2030 511 V 31 W(MINUS)338 B FV(2)1981 610 Y FT(I)P 2030 610 V 31 W(TIMES)G FV(2)1981 710 Y FT(I)P 2030 710 V 31 W(SLASH)G FV(2)1981 810 Y FT(I)P 2030 810 V 31 W(MOD)426 B FV(2)1981 909 Y FT(I)P 2030 909 V 31 W(AND)G FV(2)1981 1009 Y FT(I)P 2030 1009 V 31 W(OR)470 B FV(2)1981 1108 Y FT(I)P 2030 1108 V 31 W(XOR)426 B FV(2)1981 1208 Y FT(I)P 2030 1208 V 31 W(LSHIFT)294 B FV(2)1981 1308 Y FT(I)P 2030 1308 V 31 W(RSHIFT)G FV(2)1981 1407 Y FT(I)P 2030 1407 V 31 W(SRSHIFT)250 B FV(2)1981 1507 Y FT(I)P 2030 1507 V 31 W(CFETCH)294 B FV(1)1981 1607 Y FT(I)P 2030 1607 V 31 W(FETCH)338 B FV(1)1981 1706 Y FT(I)P 2030 1706 V 31 W(CSTORE)294 B FV(2)1981 1806 Y FT(I)P 2030 1806 V 31 W(STORE)338 B FV(2)1981 1905 Y FT(I)P 2030 1905 V 31 W(EQUALS)294 B FV(2)1981 2005 Y FT(I)P 2030 2005 V 31 W(LESS)382 B FV(2)1981 2105 Y FT(I)P 2030 2105 V 31 W(ULESS)338 B FV(2)1981 2204 Y FT(I)P 2030 2204 V 31 W(0BRANCH)250 B FV(1)1981 2304 Y FT(I)P 2030 2304 V 31 W(BRANCH)294 B FV(0)1981 2404 Y FT(I)P 2030 2404 V 31 W(CALL)382 B FV(0)1981 2503 Y FT(I)P 2030 2503 V 31 W(LIT)426 B FV(0)1981 2603 Y FT(I)P 2030 2603 V 31 W(ZERO)382 B FV(0)1981 2702 Y FT(I)P 2030 2702 V 31 W(MOVE)G FV(1)1981 2802 Y FT(I)P 2030 2802 V 31 W(REG)426 B FV(0)P 1931 2871 1849 4 V 2423 3012 A(FIGURE)27 B(3:)36 B(IL)28 B(NO)R(DE)F(T)N(YP)R(ES)1931 3310 Y(ATOR\))36 B(AND)H(IS)F(DISCUSSED)G(B)R(ELO)N(W.)64 B(IF)37 B(THE)G(RESULT)G(OF)F(THE)1931 3410 Y(OP)R(ERATION)I(SHOULD)H (RESIDE)G(IN)G(A)G(SP)R(ECIAL)G(REGISTER)E(\(SA)N(Y)-7 B(,)1931 3510 Y(THE)31 B(RETURN)E(STAC)N(K)G(P)R(OIN)N(TER)G (REGISTER\),)H(THE)G FT(IL-REG)D FV(\014ELD)1931 3609 Y(CON)N(TAINS)K(THE)H(REGISTER)F(N)N(UM)N(B)R(ER.)49 B(THE)32 B(OTHER)F(\014ELDS)H(ARE)1931 3709 Y(EXPLAINED)C(IN)F(LATER)G (SECTIONS.)2014 3825 Y(FIGURE)K(3)G(SHO)N(WS)G(THE)H(NO)R(DE)F(T)N(YP)R (ES)H(\(OR)F(OP)R(ERATORS\))F(OF)1931 3925 Y(THE)D(GRAPH.)35 B(MOST)27 B(CORRESP)R(OND)D(DIRECTLY)J(TO)F(SOME)G(F)-7 B(ORTH)1931 4025 Y(W)N(ORD,)32 B(AND)G(THEIR)G(NAMES)F(ARE)G(PRETT)N(Y) G(SELF-EXPLANATORY)-7 B(.)1931 4124 Y(ALL)39 B(OTHER)F(F)-7 B(ORTH)38 B(W)N(ORDS)F(ARE)G(BUILT)I(FROM)F(THESE)G(PRIM-)1931 4224 Y(ITIV)N(ES)44 B(OR)F(CALL)H(THREADED)G(CO)R(DE)G(W)N(ORDS.)85 B FT(I)P 3392 4224 27 4 V 31 W(RSHIFT)42 B FV(IS)1931 4323 Y(THE)31 B(UNSIGNED)F(\(LOGICAL\))F(SHIFT)I(RIGH)N(T,)F FT(I)P 3217 4323 V 31 W(SRSHIFT)D FV(IS)J(THE)1931 4423 Y(SIGNED)35 B(\(ARITHMETIC\))H(SHIFT)G(RIGH)N(T;)J FT(I)P 3147 4423 V 31 W(REG)34 B FV(REPRESEN)N(TS)G(A)1931 4523 Y(SP)R(ECI\014C)40 B(REGISTER)F(\(E.G.,)K(A)D(STAC)N(K)F(P)R(OIN)N(TER) G(REGISTER\))G(IN)1931 4622 Y(THE)C(DATA)F(\015O)N(W)G(GRAPH)G(\()P FT(IL-REG)E FV(CON)N(TAINS)I(THE)H(REGISTER)1931 4722 Y(N)N(UM)N(B)R(ER\);)26 B FT(I)P 2336 4722 V 31 W(MOVE)E FV(COPIES)H(A)G(REGISTER)E(AND)J(IS)F(NEEDED)G(FOR)1931 4822 Y(DEALING)H(WITH)G(REGISTER)F(SH)N(U\017ING)H(\(SEE)G(SECTION)G (4.4.1\).)2014 4938 Y(THE)38 B(IL)F(OP)R(ERATORS)E(DISCUSSED)H(AB)R(O)N (V)N(E)G(ARE)G(MAC)N(HINE-)1931 5038 Y(INDEP)R(ENDEN)N(T.)94 B(IN)47 B(ADDITION,)K(W)N(E)46 B(HA)N(V)N(E)F(AN)H(OP)R(ERATOR)1931 5137 Y FT(I)P 1980 5137 V 31 W(LITS)19 B FV(THAT)H(REPRESEN)N(TS)F(A)H (SMALL)G(\(15)F(BIT\))I(CONSTAN)N(T)F(AND)1931 5237 Y(IS)32 B(USEFUL)H(FOR)E(THE)I(MIPS)F(ARC)N(HITECTURE,)G(WHIC)N(H)G(CAN)G(EN-) 1931 5337 Y(CO)R(DE)40 B(SUC)N(H)F(CONSTAN)N(TS)G(DIRECTLY)G(IN)H (INSTRUCTIONS.)72 B(F)-7 B(OR)1931 5436 Y(OTHER)35 B(ARC)N(HITECTURES)E (THERE)I(W)N(OULD)G(B)R(E)G(OTHER)G(SUC)N(H)F(OP-)1931 5536 Y(ERATORS.)52 B(DEALING)33 B(WITH)H(THIS)G(PROBLEM)E(ALREADY)G(AT) H(THE)1931 5635 Y(IL)39 B(LEV)N(EL)G(MAK)N(ES)E(RETARGETING)H(A)G (LITTLE)I(MORE)E(COMPLEX,)1931 5735 Y(BUT)27 B(ALLO)N(WS)D(MORE)H (ACCURATE)F(DECISIONS)H(IN)H(THE)G(SC)N(HEDULER)1931 5835 Y(AND)J(REGISTER)F(ALLO)R(CATOR,)G(AND)G(SIMPLI\014ES)I(THE)F (ASSEM)N(BLER)P EOP %%PAGE: 4 4 4 3 BOP 0 3 1849 4 V 50 109 A FT(ML-LEFT)358 B FV(LEFT)28 B(C)N(HILD)G(\(OR)F(UN)N(USED\))50 208 Y FT(ML-RIGHT)314 B FV(RIGH)N(T)27 B(C)N(HILD)H(\(OR)F(UN)N(USED\))50 308 Y FT(ML-ASM)402 B FV(XT)28 B(FOR)F(CO)R(DE)G(EMISSION)50 408 Y FT(ML-VAL)402 B FV(V)-5 B(ALUE)28 B(OF)F(A)G(LITERAL)G(\014ELD)H (\(IF)H(AN)N(Y\))50 507 Y FT(ML-REG)402 B FV(DESTINATION)27 B(REGISTER)50 607 Y FT(ML-COUNT)314 B FV(REFERENCE)27 B(COUN)N(T)G(\(FOR)G(SC)N(HEDULING\))50 707 Y FT(ML-DEPENDS)226 B FV(DEP)R(ENDENCES)28 B(\(FOR)F(SC)N(HEDULING\))50 806 Y FT(ML-LATENCY)226 B FV(USED)28 B(FOR)F(SC)N(HEDULING)50 906 Y FT(ML-LET)402 B FV(LATEST)28 B(EX.)36 B(TIME)28 B(\(FOR)G(SC)N(HEDULING\))50 1005 Y FT(ML-PATHLENGTH)94 B FV(USED)28 B(FOR)F(SC)N(HEDULING)P 0 1083 V 472 1223 A(FIGURE)G(4:)36 B(ML)28 B(NO)R(DE)G(\014ELDS)P 0 1392 V 95 3470 A @BEGINSPECIAL 36 @LLX 36 @LLY 235 @URX 281 @URY 1990 @RWI @SETSPECIAL %%BEGINDOCUMENT: IL-GRAPH.EPS %!PS-ADOBE-2.0 %%CREATOR: DOT VERSION 95 (4-10-95) %%FOR: (AERTL) MARTIN ANTON ERTL,COMPUTERSPRACHEN,58801-4474, %%TITLE: G %%PAGES: (ATEND) %%BOUNDINGBOX: 36 36 235 281 %%ENDCOMMENTS %%BEGINPROLOG SAVE /DOTDICT 200 DICT DEF DOTDICT BEGIN %%BEGINRESOURCE: PROCSET /COORD-FONT-FAMILY /TIMES-ROMAN DEF /DEFAULT-FONT-FAMILY /TIMES-ROMAN DEF /COORDFONT COORD-FONT-FAMILY FINDFONT 8 SCALEFONT DEF /INVSCALEFACTOR 1.0 DEF /SET_SCALE { DUP 1 EXCH DIV /INVSCALEFACTOR EXCH DEF DUP SCALE } BIND DEF % STYLES /SOLID { } BIND DEF /DASHED { [9 INVSCALEFACTOR MUL DUP ] 0 SETDASH } BIND DEF /DOTTED { [1 INVSCALEFACTOR MUL 6 INVSCALEFACTOR MUL] 0 SETDASH } BIND DEF /INVIS {/FILL {NEWPATH} DEF /STROKE {NEWPATH} DEF /SHOW {POP NEWPATH} DEF} BIND DEF /BOLD { 2 SETLINEWIDTH } BIND DEF /FILLED { } BIND DEF /UNFILLED { } BIND DEF /ROUNDED { } BIND DEF /DIAGONALS { } BIND DEF % HOOKS FOR SETTING COLOR /NODECOLOR { SETHSBCOLOR } BIND DEF /EDGECOLOR { SETHSBCOLOR } BIND DEF /GRAPHCOLOR { SETHSBCOLOR } BIND DEF /NOPCOLOR {POP POP POP} BIND DEF /BEGINPAGE { % I J NPAGES /NPAGES EXCH DEF /J EXCH DEF /I EXCH DEF /STR 10 STRING DEF NPAGES 1 GT { GSAVE COORDFONT SETFONT 0 0 MOVETO (\() SHOW I STR CVS SHOW (,) SHOW J STR CVS SHOW (\)) SHOW GRESTORE } IF } BIND DEF /SET_FONT { FINDFONT EXCH SCALEFONT SETFONT } DEF /ARROWHEAD { /ARROWWIDTH EXCH DEF /ARROWLENGTH EXCH DEF GSAVE 3 1 ROLL TRANSLATE ROTATE NEWPATH ARROWLENGTH ARROWWIDTH 2 DIV MOVETO 0 0 LINETO ARROWLENGTH ARROWWIDTH -2 DIV LINETO CLOSEPATH FILL STROKE GRESTORE } DEF % DRAW ALIGNED LABEL IN BOUNDING BOX ALIGNED TO CURRENT POINT % ALIGNFACTOR TELLS WHAT FRACTION TO PLACE ON THE LEFT. % -.5 IS CENTERED. /ALIGNEDTEXT { % TEXT LABELWIDTH FONTSZ ALIGNFACTOR /ALIGNFACTOR EXCH DEF /FONTSZ EXCH DEF /WIDTH EXCH DEF /TEXT EXCH DEF GSAVE % EVEN IF NODE OR EDGE IS DASHED, DON'T PAINT TEXT WITH DASHES [] 0 SETDASH CURRENTPOINT NEWPATH MOVETO TEXT STRINGWIDTH POP ALIGNFACTOR MUL FONTSZ -.3 MUL RMOVETO TEXT SHOW GRESTORE } DEF /BOXPRIM { % XCORNER YCORNER XSIZE YSIZE 4 2 ROLL MOVETO 2 COPY EXCH 0 RLINETO 0 EXCH RLINETO POP NEG 0 RLINETO CLOSEPATH } BIND DEF /ELLIPSE_PATH { /RY EXCH DEF /RX EXCH DEF /Y EXCH DEF /X EXCH DEF MATRIX CURRENTMATRIX NEWPATH X Y TRANSLATE RX RY SCALE 0 0 1 0 360 ARC SETMATRIX } BIND DEF /ENDPAGE { SHOWPAGE } BIND DEF /LAYERCOLORSEQ [ % LAYER COLOR SEQUENCE - DARKEST TO LIGHTEST [0 0 0] [.2 .8 .8] [.4 .8 .8] [.6 .8 .8] [.8 .8 .8] ] DEF /SETLAYER {/MAXLAYER EXCH DEF /CURLAYER EXCH DEF LAYERCOLORSEQ CURLAYER GET ALOAD POP SETHSBCOLOR /NODECOLOR {NOPCOLOR} DEF /EDGECOLOR {NOPCOLOR} DEF /GRAPHCOLOR {NOPCOLOR} DEF } BIND DEF /ONLAYER { CURLAYER NE {INVIS} IF } DEF /ONLAYERS { /MYUPPER EXCH DEF /MYLOWER EXCH DEF CURLAYER MYLOWER LT CURLAYER MYUPPER GT OR {INVIS} IF } DEF /CURLAYER 0 DEF %%ENDRESOURCE %%ENDPROLOG %%BEGINSETUP 14 DEFAULT-FONT-FAMILY SET_FONT % /ARROWLENGTH 10 DEF % /ARROWWIDTH 5 DEF %%ENDSETUP %%PAGE: 1 (ATEND) %%PAGEBOUNDINGBOX: 36 36 235 281 GSAVE 35 35 200 246 BOXPRIM CLIP NEWPATH 36 36 TRANSLATE 0 0 1 BEGINPAGE 0 0 TRANSLATE 0 ROTATE 0.000 0.000 0.000 GRAPHCOLOR 9.00 /HELVETICA SET_FONT GSAVE 10 DICT BEGIN NEWPATH 0 0 MOVETO 198 0 LINETO 198 244 LINETO 0 244 LINETO CLOSEPATH %% STROKE END GRESTORE % IL_FOO_1_100A75BC GSAVE 10 DICT BEGIN 135 214 29 21 ELLIPSE_PATH STROKE GSAVE 10 DICT BEGIN 112 220 MOVETO (I_REG) 25 9.00 0.00 ALIGNEDTEXT 112 209 MOVETO (IL-REG: $03) 37 9.00 0.00 ALIGNEDTEXT END GRESTORE END GRESTORE % IL_FOO_1_100A75F0 GSAVE 10 DICT BEGIN 135 158 43 21 ELLIPSE_PATH STROKE GSAVE 10 DICT BEGIN 98 164 MOVETO (I_MOVE) 33 9.00 0.00 ALIGNEDTEXT 98 153 MOVETO (IL-REG: UNALLOCATED) 65 9.00 0.00 ALIGNEDTEXT END GRESTORE END GRESTORE % IL_FOO_1_100A75BC -> IL_FOO_1_100A75F0 NEWPATH 135 184 MOVETO 135 183 135 181 135 179 CURVETO STROKE 135 193 -90.00 10.00 5.00 ARROWHEAD % IL_FOO_1_1007BED4 GSAVE 10 DICT BEGIN 127 30 29 21 ELLIPSE_PATH STROKE GSAVE 10 DICT BEGIN 104 36 MOVETO (I_PLUS) 29 9.00 0.00 ALIGNEDTEXT 104 25 MOVETO (IL-REG: $02) 37 9.00 0.00 ALIGNEDTEXT END GRESTORE END GRESTORE % IL_FOO_1_100A75F0 -> IL_FOO_1_1007BED4 NEWPATH 168 138 MOVETO 174 133 180 129 183 123 CURVETO 190 108 191 78 183 65 CURVETO 177 56 164 47 152 41 CURVETO STROKE 163 142 -38.66 10.00 5.00 ARROWHEAD % IL_FOO_1_100A7588 GSAVE 10 DICT BEGIN 38 94 29 21 ELLIPSE_PATH STROKE GSAVE 10 DICT BEGIN 15 100 MOVETO (I_MOVE) 33 9.00 0.00 ALIGNEDTEXT 15 89 MOVETO (IL-REG: $03) 37 9.00 0.00 ALIGNEDTEXT END GRESTORE END GRESTORE % IL_FOO_1_100A75F0 -> IL_FOO_1_100A7588 GSAVE 10 DICT BEGIN DOTTED NEWPATH 99 139 MOVETO 89 134 79 128 71 123 CURVETO 67 120 61 115 56 111 CURVETO STROKE 105 142 -153.43 10.00 5.00 ARROWHEAD END GRESTORE % IL_FOO_1_1007BEA0 GSAVE 10 DICT BEGIN 127 94 46 29 ELLIPSE_PATH STROKE GSAVE 10 DICT BEGIN 90 106 MOVETO (I_LITS) 26 9.00 0.00 ALIGNEDTEXT 90 95 MOVETO (IL-VAL: 2) 28 9.00 0.00 ALIGNEDTEXT 90 84 MOVETO (IL-REG: UNALLOCATED) 65 9.00 0.00 ALIGNEDTEXT END GRESTORE END GRESTORE % IL_FOO_1_1007BEA0 -> IL_FOO_1_1007BED4 NEWPATH 127 56 MOVETO 127 54 127 53 127 51 CURVETO STROKE 127 65 -90.00 10.00 5.00 ARROWHEAD % IL_FOO_1_100A7588 -> IL_FOO_1_1007BED4 GSAVE 10 DICT BEGIN DOTTED NEWPATH 61 73 MOVETO 65 70 68 67 71 65 CURVETO 80 59 93 50 104 43 CURVETO STROKE 56 77 -38.66 10.00 5.00 ARROWHEAD END GRESTORE % IL_FOO_1_100A7554 GSAVE 10 DICT BEGIN 38 158 29 21 ELLIPSE_PATH STROKE GSAVE 10 DICT BEGIN 15 164 MOVETO (I_REG) 25 9.00 0.00 ALIGNEDTEXT 15 153 MOVETO (IL-REG: $02) 37 9.00 0.00 ALIGNEDTEXT END GRESTORE END GRESTORE % IL_FOO_1_100A7554 -> IL_FOO_1_100A7588 NEWPATH 38 128 MOVETO 38 124 38 119 38 115 CURVETO STROKE 38 137 -90.00 10.00 5.00 ARROWHEAD ENDPAGE GRESTORE %%PAGETRAILER %%TRAILER %%PAGES: 1 END RESTORE %%EOF %%ENDDOCUMENT @ENDSPECIAL 0 3509 V 247 3649 A(FIGURE)F(5:)36 B(THE)28 B(IL)F(GRAPH)G(FOR)G FT(SWAP)42 B(2)H(+)0 3967 Y FV(\(THE)E(OTHER)E (LOGICAL)G(PLACE)G(TO)H(DEAL)G(WITH)H(O)N(V)N(ERLY)D(LARGE)0 4066 Y(CONSTAN)N(TS\).)83 4191 Y(THE)47 B(ML)G(GRAPH)E(IS)I(BUILT)H (DURING)E(CO)R(DE)H(SELECTION.)0 4290 Y(EAC)N(H)35 B(NO)R(DE)H(IN)G (THE)H(ML)F(GRAPH)F(CORRESP)R(ONDS)F(TO)I(\(USU-)0 4390 Y(ALLY\))D(ONE)H(INSTRUCTION.)54 B(FIGURE)33 B(4)G(SHO)N(WS)G(THE)H (\014ELDS)F(OF)0 4490 Y(AN)27 B(ML)H(GRAPH)E(NO)R(DE.)83 4614 Y FT(ML-ASM)34 B FV(CON)N(TAINS)H(THE)H(EXECUTION)G(TOK)N(EN)G (\(XT\))H(OF)F(A)0 4714 Y(W)N(ORD)29 B(THAT)I(ACTUALLY)F(CREATES)G(THE) G(MAC)N(HINE)H(CO)R(DE)F(LATER,)0 4813 Y(DURING)24 B(CO)R(DE)H (EMISSION)F(\(SEE)H(SECTION)G(4.5\).)35 B FT(ML-VAL)22 B FV(AND)0 4913 Y FT(ML-REG)J FV(ARE)I(ALSO)F(NEEDED)I(FOR)F(CO)R(DE)H (EMISSION.)83 5038 Y(FIGURE)18 B(5)H(SHO)N(WS)E(THE)I(IL)G(GRAPH)F(FOR) G FT(SWAP)42 B(2)H(+)P FV(,)20 B(ASSUM-)0 5137 Y(ING)25 B(THAT)G(THE)G(TOP-OF-STAC)N(K)E(ITEM)I(IS)G(IN)G(REGISTER)E FT($02)G FV(AND)0 5237 Y(THE)G(SECOND)G(STAC)N(K)F(ITEM)I(IS)F(IN)G (REGISTER)E FT($03)P FV(,)I(B)R(OTH)H(ON)F(EN-)0 5337 Y(TRY)G(AND)G(EXIT)G(OF)G(THE)G(BASIC)F(BLO)R(C)N(K;)J(FIG.)D(6)H(SHO)N (WS)F(THE)H(ML)0 5436 Y(GRAPH,)F(AND)F(FIG.)H(7)F(SHO)N(WS)G(THE)H (RESULTING)F(MAC)N(HINE)G(CO)R(DE.)0 5536 Y(THE)27 B(REASONS)F(WH)N(Y)G (THE)I(GRAPHS)E(LO)R(OK)G(LIK)N(E)H(THIS)H(AND)F(WH)N(Y)0 5635 Y(THE)34 B(\014ELDS)F(CON)N(TAIN)G(WHAT)G(THEY)H(CON)N(TAIN)E(ARE) H(DISCUSSED)0 5735 Y(IN)23 B(THE)G(FOLLO)N(WING)E(SECTIONS;)J(E.G.,)F (SECTION)G(4.4.1)E(EXPLAINS)0 5835 Y(THE)28 B(PRESENCE)F(OF)G(THE)H FT(I)P 762 5835 27 4 V 31 W(MOVE)E FV(NO)R(DES.)P 1931 50 1849 4 V 1797 4694 A @BEGINSPECIAL 36 @LLX 36 @LLY 290 @URX 589 @URY 2540 @RWI @SETSPECIAL %%BEGINDOCUMENT: ML-GRAPH.EPS %!PS-ADOBE-2.0 %%CREATOR: DOT VERSION 95 (4-10-95) %%FOR: (AERTL) MARTIN ANTON ERTL,COMPUTERSPRACHEN,58801-4474, %%TITLE: G %%PAGES: (ATEND) %%BOUNDINGBOX: 36 36 290 589 %%ENDCOMMENTS %%BEGINPROLOG SAVE /DOTDICT 200 DICT DEF DOTDICT BEGIN %%BEGINRESOURCE: PROCSET /COORD-FONT-FAMILY /TIMES-ROMAN DEF /DEFAULT-FONT-FAMILY /TIMES-ROMAN DEF /COORDFONT COORD-FONT-FAMILY FINDFONT 8 SCALEFONT DEF /INVSCALEFACTOR 1.0 DEF /SET_SCALE { DUP 1 EXCH DIV /INVSCALEFACTOR EXCH DEF DUP SCALE } BIND DEF % STYLES /SOLID { } BIND DEF /DASHED { [9 INVSCALEFACTOR MUL DUP ] 0 SETDASH } BIND DEF /DOTTED { [1 INVSCALEFACTOR MUL 6 INVSCALEFACTOR MUL] 0 SETDASH } BIND DEF /INVIS {/FILL {NEWPATH} DEF /STROKE {NEWPATH} DEF /SHOW {POP NEWPATH} DEF} BIND DEF /BOLD { 2 SETLINEWIDTH } BIND DEF /FILLED { } BIND DEF /UNFILLED { } BIND DEF /ROUNDED { } BIND DEF /DIAGONALS { } BIND DEF % HOOKS FOR SETTING COLOR /NODECOLOR { SETHSBCOLOR } BIND DEF /EDGECOLOR { SETHSBCOLOR } BIND DEF /GRAPHCOLOR { SETHSBCOLOR } BIND DEF /NOPCOLOR {POP POP POP} BIND DEF /BEGINPAGE { % I J NPAGES /NPAGES EXCH DEF /J EXCH DEF /I EXCH DEF /STR 10 STRING DEF NPAGES 1 GT { GSAVE COORDFONT SETFONT 0 0 MOVETO (\() SHOW I STR CVS SHOW (,) SHOW J STR CVS SHOW (\)) SHOW GRESTORE } IF } BIND DEF /SET_FONT { FINDFONT EXCH SCALEFONT SETFONT } DEF /ARROWHEAD { /ARROWWIDTH EXCH DEF /ARROWLENGTH EXCH DEF GSAVE 3 1 ROLL TRANSLATE ROTATE NEWPATH ARROWLENGTH ARROWWIDTH 2 DIV MOVETO 0 0 LINETO ARROWLENGTH ARROWWIDTH -2 DIV LINETO CLOSEPATH FILL STROKE GRESTORE } DEF % DRAW ALIGNED LABEL IN BOUNDING BOX ALIGNED TO CURRENT POINT % ALIGNFACTOR TELLS WHAT FRACTION TO PLACE ON THE LEFT. % -.5 IS CENTERED. /ALIGNEDTEXT { % TEXT LABELWIDTH FONTSZ ALIGNFACTOR /ALIGNFACTOR EXCH DEF /FONTSZ EXCH DEF /WIDTH EXCH DEF /TEXT EXCH DEF GSAVE % EVEN IF NODE OR EDGE IS DASHED, DON'T PAINT TEXT WITH DASHES [] 0 SETDASH CURRENTPOINT NEWPATH MOVETO TEXT STRINGWIDTH POP ALIGNFACTOR MUL FONTSZ -.3 MUL RMOVETO TEXT SHOW GRESTORE } DEF /BOXPRIM { % XCORNER YCORNER XSIZE YSIZE 4 2 ROLL MOVETO 2 COPY EXCH 0 RLINETO 0 EXCH RLINETO POP NEG 0 RLINETO CLOSEPATH } BIND DEF /ELLIPSE_PATH { /RY EXCH DEF /RX EXCH DEF /Y EXCH DEF /X EXCH DEF MATRIX CURRENTMATRIX NEWPATH X Y TRANSLATE RX RY SCALE 0 0 1 0 360 ARC SETMATRIX } BIND DEF /ENDPAGE { SHOWPAGE } BIND DEF /LAYERCOLORSEQ [ % LAYER COLOR SEQUENCE - DARKEST TO LIGHTEST [0 0 0] [.2 .8 .8] [.4 .8 .8] [.6 .8 .8] [.8 .8 .8] ] DEF /SETLAYER {/MAXLAYER EXCH DEF /CURLAYER EXCH DEF LAYERCOLORSEQ CURLAYER GET ALOAD POP SETHSBCOLOR /NODECOLOR {NOPCOLOR} DEF /EDGECOLOR {NOPCOLOR} DEF /GRAPHCOLOR {NOPCOLOR} DEF } BIND DEF /ONLAYER { CURLAYER NE {INVIS} IF } DEF /ONLAYERS { /MYUPPER EXCH DEF /MYLOWER EXCH DEF CURLAYER MYLOWER LT CURLAYER MYUPPER GT OR {INVIS} IF } DEF /CURLAYER 0 DEF %%ENDRESOURCE %%ENDPROLOG %%BEGINSETUP 14 DEFAULT-FONT-FAMILY SET_FONT % /ARROWLENGTH 10 DEF % /ARROWWIDTH 5 DEF %%ENDSETUP %%PAGE: 1 (ATEND) %%PAGEBOUNDINGBOX: 36 36 290 589 GSAVE 35 35 255 554 BOXPRIM CLIP NEWPATH 36 36 TRANSLATE 0 0 1 BEGINPAGE 0 0 TRANSLATE 0 ROTATE 0.000 0.000 0.000 GRAPHCOLOR 9.00 /HELVETICA SET_FONT GSAVE 10 DICT BEGIN NEWPATH 0 0 MOVETO 253 0 LINETO 253 552 LINETO 0 552 LINETO CLOSEPATH %% STROKE END GRESTORE % ML1_FOO_1_1007BF18 GSAVE 10 DICT BEGIN 178 485 51 57 ELLIPSE_PATH STROKE GSAVE 10 DICT BEGIN 142 519 MOVETO (RULE: REG: I_REG) 63 9.00 0.00 ALIGNEDTEXT 142 508 MOVETO (ML-ASM: ERROR) 49 9.00 0.00 ALIGNEDTEXT 142 497 MOVETO (ML-COUNT: 2) 41 9.00 0.00 ALIGNEDTEXT 142 486 MOVETO (ML-REG: $03) 42 9.00 0.00 ALIGNEDTEXT 142 475 MOVETO (ML-LATENCY: 0) 47 9.00 0.00 ALIGNEDTEXT 142 464 MOVETO (ML-PATHLENGTH: 0) 59 9.00 0.00 ALIGNEDTEXT 142 453 MOVETO (ML-LET: 1) 30 9.00 0.00 ALIGNEDTEXT END GRESTORE END GRESTORE % ML1_FOO_1_1007BF44 GSAVE 10 DICT BEGIN 178 353 66 60 ELLIPSE_PATH STROKE GSAVE 10 DICT BEGIN 129 387 MOVETO (RULE: REG: I_MOVE\(REG\)) 89 9.00 0.00 ALIGNEDTEXT 129 376 MOVETO (ML-ASM: ASM-MOVE) 69 9.00 0.00 ALIGNEDTEXT 129 365 MOVETO (ML-COUNT: 2) 41 9.00 0.00 ALIGNEDTEXT 129 354 MOVETO (ML-REG: UNALLOCATED) 70 9.00 0.00 ALIGNEDTEXT 129 343 MOVETO (ML-LATENCY: 1) 47 9.00 0.00 ALIGNEDTEXT 129 332 MOVETO (ML-PATHLENGTH: 0) 59 9.00 0.00 ALIGNEDTEXT 129 321 MOVETO (ML-LET: 1) 30 9.00 0.00 ALIGNEDTEXT END GRESTORE END GRESTORE % ML1_FOO_1_1007BF18 -> ML1_FOO_1_1007BF44 NEWPATH 178 418 MOVETO 178 416 178 415 178 413 CURVETO STROKE 178 427 -90.00 10.00 5.00 ARROWHEAD % ML1_FOO_1_1007BF70 GSAVE 10 DICT BEGIN 138 77 77 68 ELLIPSE_PATH STROKE GSAVE 10 DICT BEGIN 81 116 MOVETO (RULE: REG: I_PLUS\(REG, CONS\)) 105 9.00 0.00 ALIGNEDTEXT 81 105 MOVETO (ML-ASM: ASM-ADDIU) 69 9.00 0.00 ALIGNEDTEXT 81 94 MOVETO (ML-COUNT: 0) 41 9.00 0.00 ALIGNEDTEXT 81 83 MOVETO (ML-VAL: 2) 32 9.00 0.00 ALIGNEDTEXT 81 72 MOVETO (ML-REG: $02) 42 9.00 0.00 ALIGNEDTEXT 81 61 MOVETO (ML-LATENCY: 1) 47 9.00 0.00 ALIGNEDTEXT 81 50 MOVETO (ML-PATHLENGTH: 2) 59 9.00 0.00 ALIGNEDTEXT 81 39 MOVETO (ML-LET: 1) 30 9.00 0.00 ALIGNEDTEXT END GRESTORE END GRESTORE % ML1_FOO_1_1007BF44 -> ML1_FOO_1_1007BF70 NEWPATH 183 284 MOVETO 185 243 186 192 179 159 CURVETO 178 153 175 146 172 138 CURVETO STROKE 182 293 -83.66 10.00 5.00 ARROWHEAD % ML1_FOO_1_1007BFC8 GSAVE 10 DICT BEGIN 110 219 66 60 ELLIPSE_PATH STROKE GSAVE 10 DICT BEGIN 61 253 MOVETO (RULE: REG: I_MOVE\(REG\)) 89 9.00 0.00 ALIGNEDTEXT 61 242 MOVETO (ML-ASM: ASM-MOVE) 69 9.00 0.00 ALIGNEDTEXT 61 231 MOVETO (ML-COUNT: 1) 41 9.00 0.00 ALIGNEDTEXT 61 220 MOVETO (ML-REG: $03) 42 9.00 0.00 ALIGNEDTEXT 61 209 MOVETO (ML-LATENCY: 1) 47 9.00 0.00 ALIGNEDTEXT 61 198 MOVETO (ML-PATHLENGTH: 1) 59 9.00 0.00 ALIGNEDTEXT 61 187 MOVETO (ML-LET: 1) 30 9.00 0.00 ALIGNEDTEXT END GRESTORE END GRESTORE % ML1_FOO_1_1007BF44 -> ML1_FOO_1_1007BFC8 GSAVE 10 DICT BEGIN DOTTED NEWPATH 146 290 MOVETO 143 285 141 279 138 273 CURVETO STROKE 150 298 -116.57 10.00 5.00 ARROWHEAD END GRESTORE % ML1_FOO_1_1007BF9C GSAVE 10 DICT BEGIN 60 353 51 57 ELLIPSE_PATH STROKE GSAVE 10 DICT BEGIN 24 387 MOVETO (RULE: REG: I_REG) 63 9.00 0.00 ALIGNEDTEXT 24 376 MOVETO (ML-ASM: ERROR) 49 9.00 0.00 ALIGNEDTEXT 24 365 MOVETO (ML-COUNT: 2) 41 9.00 0.00 ALIGNEDTEXT 24 354 MOVETO (ML-REG: $02) 42 9.00 0.00 ALIGNEDTEXT 24 343 MOVETO (ML-LATENCY: 0) 47 9.00 0.00 ALIGNEDTEXT 24 332 MOVETO (ML-PATHLENGTH: 0) 59 9.00 0.00 ALIGNEDTEXT 24 321 MOVETO (ML-LET: 1) 30 9.00 0.00 ALIGNEDTEXT END GRESTORE END GRESTORE % ML1_FOO_1_1007BF9C -> ML1_FOO_1_1007BFC8 NEWPATH 82 294 MOVETO 84 288 87 282 89 276 CURVETO STROKE 80 300 -71.57 10.00 5.00 ARROWHEAD % ML1_FOO_1_1007BFC8 -> ML1_FOO_1_1007BF70 GSAVE 10 DICT BEGIN DOTTED NEWPATH 123 154 MOVETO 124 151 124 148 125 144 CURVETO STROKE 122 160 -80.54 10.00 5.00 ARROWHEAD END GRESTORE ENDPAGE GRESTORE %%PAGETRAILER %%TRAILER %%PAGES: 1 END RESTORE %%EOF %%ENDDOCUMENT @ENDSPECIAL 1931 4733 V 1931 4874 A(FIGURE)48 B(6:)79 B(THE)49 B(ML)G(GRAPH)F(FOR)G FT(SWAP)42 B(2)H(+)P FV(,)54 B(B)R(EFORE)1931 4974 Y(SC)N(HEDULING)27 B(AND)H(REGISTER)E(ALLO)R (CATION)P 1931 5153 V 2025 5259 A FT(MOVE)42 B($4,$3)2025 5358 Y(MOVE)G($3,$2)2025 5458 Y(ADDIU)F($2,$4,2)P 1931 5527 V 1931 5667 A FV(FIGURE)I(7:)67 B(MAC)N(HINE)42 B(CO)R(DE)H(GENERATED)E(FOR)I FT(SWAP)F(2)H(+)1931 5767 Y FV(\(THE)29 B(DESTINATION)E(REGISTER)F(IS)I(ON)F(THE)H(LEFT\))P EOP %%PAGE: 5 5 5 4 BOP 0 83 A FJ(4.2)112 B(INSTRUCTION)36 B(SELECTION)0 236 Y FR(4.2.1)94 B(T)-8 B(REE)32 B(P)M(ARSING)0 390 Y FV(THE)19 B(METHO)R(D)H(W)N(E)F(USE)H(FOR)E(INSTRUCTION)I(SELECTION)E (IS)I(CALLED)0 489 Y(TREE)39 B(PARSING.)69 B(W)-7 B(E)39 B(USE)G(IT)G(B)R(ECAUSE)G(SUC)N(H)G(INSTRUCTION)0 589 Y(SELECTORS)24 B(ARE)G(V)N(ERY)G(FAST,)I(AND)F(B)R(ECAUSE)G(IT)G(IS)G (EASY)F(TO)H(USE)0 688 Y(\(WITH)J(THE)G(RIGH)N(T)F(TO)R(OLS\).)83 788 Y(BASICALLY)-7 B(,)24 B(FOR)G(A)H(GIV)N(EN)F(IL)G(GRAPH)G(THE)H (INSTRUCTION)G(SE-)0 888 Y(LECTOR)33 B(PRO)R(DUCES)G(THE)H(EQUIV)-5 B(ALEN)N(T)33 B(ML)H(GRAPH.)54 B(W)-7 B(E)34 B(DE-)0 987 Y(SCRIB)R(E)27 B(THE)H(EQUIV)-5 B(ALENCE)27 B(IN)H(RULES,)F(SUC)N (H)H(AS:)0 1155 Y FH(REG:I_PLUS\(REG,CONS\)#1#BINRC-)Q(INST)Q(#ASM-)Q (ADDI)Q(U)83 1331 Y FV(EAC)N(H)E(RULE)I(CON)N(TAINS)E(FOUR)I(PARTS,)E (SEPARATED)H(B)N(Y)H FT(#)P FV(:)60 1506 Y(1.)41 B(THE)I(\014RST)G (PARTS)F(OF)H(ALL)G(RULES)F(CONSTITUTE)H(A)G(TREE)166 1606 Y(GRAMMAR)25 B(FOR)I(PARSING)F(IL)H(TREES;)G(IN)G(THIS)H(EXAMPLE,) 166 1706 Y(IT)C(SA)N(YS)D(THAT)J(W)N(E)F(CAN)F(PARSE)G(THE)I(TREE)F(AS) F(A)H FT(REG)F FV(WITH)166 1805 Y(THIS)K(RULE,)G(IF)H(THE)F(OP)R (ERATOR)E(IS)I FT(I)P 1194 1805 27 4 V 31 W(PLUS)P FV(,)E(THE)J (SUBTREE)166 1905 Y(RO)R(OTED)35 B(AT)H(ITS)G(LEFT)G(C)N(HILD)G(CAN)F (B)R(E)I(PARSED)D(AS)H FT(REG)P FV(,)166 2004 Y(AND)J(THE)G(SUBTREE)G (RO)R(OTED)F(AT)H(ITS)G(RIGH)N(T)F(C)N(HILD)H(CAN)166 2104 Y(B)R(E)G(PARSED)F(AS)G FT(CONS)P FV(.)66 B FT(REG)36 B FV(AND)I FT(CONS)E FV(ARE)H(CALLED)166 2204 Y FN(NONTERMINALS)7 B FV(;)28 B(INSTEAD)G(OF)G FN(P)L(ARSE)J(AS)G FM(REG)P FV(,)C(W)N(E)G(ALSO)166 2303 Y(SA)N(Y)K FN(R)L(E)L(DUC)L(E)I(TO)H FM(REG)P FV(.)49 B(IN)32 B(THE)G(CON)N(TEXT)G(OF)F(OUR)H(CO)R(DE)166 2403 Y(SELECTOR,)K(THIS)G(MEANS)F(THAT)H(W)N(E)F(HA)N(V)N(E)F(AN)H (INSTRUC-)166 2503 Y(TION)24 B(FOR)G(THE)H(ADDITION)F(OF)G(A)G (REGISTER)E(AND)I(A)G(\(SMALL\))166 2602 Y(CONSTAN)N(T,)J(DELIV)N (ERING)F(THE)I(RESULT)G(IN)G(A)F(REGISTER.)60 2765 Y(2.)41 B(THE)36 B(COST)G(OF)G(USING)G(THIS)G(RULE)G(TO)G(PARSE)F(THE)I(TREE;) 166 2865 Y(THE)27 B(COST)F(SHOULD)G(RE\015ECT)G(THE)G(COST)G(\(E.G.,)G (CO)R(DE)H(SIZE,)166 2965 Y(N)N(UM)N(B)R(ER)20 B(OF)G(CYCLES\))G(OF)H (THE)F(INSTRUCTION)G(THAT)H(IS)F(GEN-)166 3064 Y(ERATED)33 B(FOR)G(THIS)H(RULE.)55 B(IF)34 B(THERE)F(ARE)G(SEV)N(ERAL)F(W)N(A)N (YS)166 3164 Y(TO)J(PARSE)F(THE)H(TREE,)H(THE)G(TREE)E(PARSER)G(C)N(HO) R(OSES)F(THE)166 3264 Y(C)N(HEAP)R(EST.)44 B(THE)30 B(COST)F(OF)H(THE)H (INSTRUCTION)F(AB)R(O)N(V)N(E)E(IS)166 3363 Y(1)F(CYCLE.)60 3527 Y(3.)41 B(THE)22 B(ACTION,)H(I.E.,)H(A)D(PIECE)H(OF)H(F)-7 B(ORTH)21 B(CO)R(DE)H(FOR)G(BUILD-)166 3626 Y(ING)29 B(THE)I(ML)E(NO)R(DE)H(FOR)F(THE)H(INSTRUCTION)G(DESCRIB)R(ED)166 3726 Y(IN)25 B(THE)F(RULE)H(\(IF)G(SUC)N(H)F(A)G(NO)R(DE)G(IS)H(BUILT)G (FOR)F(THE)G(RULE\).)166 3825 Y(IN)H(THIS)G(EXAMPLE,)G(A)F(W)N(ORD)G (FOR)G(BUILDING)H(A)F(NO)R(DE)H(FOR)166 3925 Y(AN)35 B(INSTRUCTION)G(WITH)H(A)F(REGISTER)F(AND)H(A)G(CONSTAN)N(T)166 4025 Y(OP)R(ERAND.)60 4188 Y(4.)41 B(A)27 B(PIECE)G(OF)G(F)-7 B(ORTH)27 B(CO)R(DE)G(FOR)F(DOING)H(THE)G(CO)R(DE)G(EMIS-)166 4288 Y(SION)38 B(FOR)H(THE)G(ML)G(CO)R(DE.)70 B(THIS)38 B(PIECE)H(OF)G(CO)R(DE)F(IS)166 4387 Y(WRAPP)R(ED)E(IN)G(A)G(COLON)G (DE\014NITION,)I(AND)F(ITS)F(EXECU-)166 4487 Y(TION)D(TOK)N(EN)F(IS)H (PASSED)F(TO)H(THE)G(ML)G(NO)R(DE)G(BUILDING)166 4586 Y(CO)R(DE)27 B(\(PART)H(3\).)36 B(THIS)28 B(XT)G(IS)F(THEN)H(STORED)F (IN)N(TO)G(THE)166 4686 Y(\014ELD)K FT(ML-ASM)P FV(.)44 B(IN)31 B(THIS)G(EXAMPLE,)G(A)F(PIECE)H(OF)G(CO)R(DE)166 4786 Y(FOR)C(GENERATING)F(AN)I FT(ADDIU)D FV(INSTRUCTION.)83 4961 Y(W)-7 B(E)34 B(USE)F(THE)H(TREE)F(PARSER)F(GENERATOR)G(BURG)G ([FHP92)O(,)0 5061 Y(PRO95)N(])22 B(FOR)G(TRANSLATING)F(THESE)H(RULES)G (IN)N(TO)G(A)G(TREE)G(PARSING)0 5161 Y(AUTOMATON.)77 B(W)-7 B(E)42 B(HA)N(V)N(E)E(MO)R(DI\014ED)I(BURG)E(TO)I(GENERATE)0 5260 Y(F)-7 B(ORTH)27 B(SOURCE)G(CO)R(DE)G(\(INSTEAD)H(OF)F(C\))H(FOR)F (THIS)H(PURP)R(OSE.)83 5360 Y(THE)I(TREE)F(PARSERS)F(GENERATED)G(B)N(Y) H(BURG)G(W)N(ORK)F(IN)I(T)N(W)N(O)0 5460 Y(PASSES)C(O)N(V)N(ER)G(THE)I (TREE:)83 5635 Y FU(\017)41 B FV(THE)35 B FN(LAB)L(EL)T(LER)47 B FV(RUNS)35 B(FROM)G(THE)G(LEA)N(V)N(ES)F(TO)H(THE)H(RO)R(OT)166 5735 Y(AND)H(COMPUTES)F(A)H FN(STATE)H(LAB)L(EL)46 B FV(FOR)37 B(EAC)N(H)F(NO)R(DE)H(\(IN)166 5835 Y FT(IL-SLABEL)P FV(\),)23 B(BASED)I(ON)G(THE)G(NO)R(DE'S)H(OP)R(ERATOR,)E(THE)2097 83 Y(STATES)I(OF)H(ITS)G(C)N(HILDREN,)F(AND)H(A)F(TABLE)G(GENERATED)G (B)N(Y)2097 183 Y(BURG.)2014 353 Y FU(\017)41 B FV(THE)29 B FN(R)L(E)L(DUC)L(ER)38 B FV(COMPUTES)28 B(THE)H(RULES)F(USED)H(FOR)F (PARS-)2097 452 Y(ING)38 B(THE)F(TREE,)J(STARTING)D(AT)G(THE)H(RO)R (OT.)66 B(OUR)36 B(COM-)2097 552 Y(PILER)22 B(REDUCES)F(THE)H(COMPLETE) G(TREE)G(TO)G FT(REG)E FV(\(THE)J(GOAL)2097 652 Y(NON)N(TERMINAL\).)36 B(THE)24 B(REDUCER)F(DETERMINES)H(THE)H(RULE)2097 751 Y(USED)41 B(FROM)E(THE)I(STATE)F(LAB)R(EL)G(AND)G(FROM)G(THE)H(GOAL) 2097 851 Y(NON)N(TERMINAL.)D(IT)29 B(THEN)G(REDUCES)F(THE)G(SUBTREES)G (COR-)2097 951 Y(RESP)R(ONDING)37 B(TO)G(THE)H(NON)N(TERMINALS)F(ON)G (THE)H(RIGH)N(T-)2097 1050 Y(HAND)K(SIDE)F(OF)H(THE)G(RULE)F(TO)H (THESE)G(NON)N(TERMINALS;)2097 1150 Y(E.G.,)D(IF)E(THE)G(EXAMPLE)F (RULE)G(AB)R(O)N(V)N(E)F(IS)I(USED,)H(IT)F(RE-)2097 1249 Y(DUCES)J(THE)G(SUBTREE)F(RO)R(OTED)G(AT)H(THE)G(LEFT)G(C)N(HILD)G(TO) 2097 1349 Y FT(REG)P FV(,)C(AND)F(THE)G(SUBTREE)F(RO)R(OTED)H(AT)F(THE) I(RIGH)N(T)E(SIDE)2097 1449 Y(TO)28 B FT(CONS)P FV(.)2097 1584 Y(SINCE)35 B(JUST)G(KNO)N(WING)F(THE)H(RULES)F(USED)H(IS)F(NOT)H (V)N(ERY)2097 1683 Y(USEFUL,)21 B(THE)F(REDUCER)E(T)N(YPICALLY)G(ALSO)G (P)R(ERFORMS)G(SOME)2097 1783 Y(CO)R(DE)40 B(GENERATION)E(ACTION;)46 B(IN)40 B(OUR)F(CASE)G(IT)H(BUILDS)2097 1882 Y(THE)34 B(ML)G(GRAPH,)G(USUALLY)E(ONE)I(ML)F(NO)R(DE)H(P)R(ER)F(RULE)2097 1982 Y(APPLICATION.)2097 2117 Y(NOTE)25 B(THAT)G(THE)G(REDUCER)F(MA)N (Y)G(VISIT)H(SOME)F(IL)H(NO)R(DES)2097 2217 Y(SEV)N(ERAL)H(TIMES;)I (THIS)G(HAPP)R(ENS)G(FOR)F(RULES)G(LIK)N(E)2097 2420 Y FT(REG:CONS#...)2097 2623 Y FV(WHERE)33 B(THE)H(IL)F(NO)R(DE)G(IS)G (\014RST)G(VISITED)H(FOR)E(THE)I(GOAL)2097 2723 Y(NON)N(TERMINAL)24 B FT(RGE)P FV(,)G(AND)H(THEN)G(FOR)F(THE)H(GOAL)F(NON)N(TER-)2097 2823 Y(MINAL)K FT(CONS)P FV(.)2097 2957 Y(THE)E(REDUCER)F(MA)N(Y)H (ALSO)F(SKIP)H(SOME)F(IL)H(NO)R(DES;)G(THIS)2097 3057 Y(W)N(OULD)H(HAPP)R(EN)H(WITH)G(A)G(RULE)F(LIK)N(E)2097 3260 Y FT(REG:)42 B(I_FETCH\(I_PLUS\(RE)O(G,)37 B(CONS\)\)#...)2097 3464 Y FV(WHIC)N(H)28 B(W)N(OULD)G(SKIP)G(THE)H FT(I)P 2945 3464 V 31 W(PLUS)D FV(NO)R(DE.)39 B(THEREFORE,)2097 3563 Y(THE)25 B(REDUCER)E(CAN)H(TRANSLATE)F(ONE)H(IL)G(NO)R(DE)G(IN)N (TO)G(SEV-)2097 3663 Y(ERAL)31 B(ML)H(NO)R(DES,)G(BUT)G(ALSO)F(SEV)N (ERAL)F(IL)H(NO)R(DES)H(IN)N(TO)2097 3763 Y(ONLY)C(ONE)F(ML)G(NO)R(DE.) 1931 3984 Y FR(4.2.2)94 B(THE)32 B(REDUCER)1931 4139 Y FV(THE)F(LAB)R(ELLER)G(IS)G(QUITE)G(SIMPLE.)47 B(HO)N(W)N(EV)N(ER,)30 B(THE)I(REDUCER)1931 4239 Y(MERITS)J(FURTHER)G(DISCUSSION:)51 B(BASICALLY)-7 B(,)35 B(IT)H(P)R(ERFORMS)E(A)1931 4338 Y(RECURSIV)N(E)28 B(W)N(ALK)I(OF)F(A)H(TREE)G(OF)G(RULES)F(THAT)H(W)N (ERE)F(USED)H(FOR)1931 4438 Y(PARSING)37 B(THE)I(IL)F(TREE.)69 B(ON)39 B(RETURNING)E(FROM)H(REDUCING)1931 4537 Y(THE)28 B(SUBTREES,)E(THE)I(REDUCER)E(P)R(ERFORMS)G(THE)H(ACTION)G(\(PART)1931 4637 Y(3\))37 B(OF)F(THE)H(RULE,)H(PASSING)E(THE)H(FOLLO)N(WING)E (ITEMS)I(ON)F(THE)1931 4737 Y(DATA)22 B(STAC)N(K:)34 B(THE)23 B(STAC)N(K)E(ITEMS)I(PRO)R(DUCED)F(B)N(Y)G(THE)H(ACTIONS)1931 4836 Y(OF)32 B(THE)H(SUBTREES,)G(THE)F(XT)H(FOR)E(PART)H(4)G(OF)G(THE)G (RULE,)H(THE)1931 4936 Y(ADDRESS)22 B(OF)G(THE)I(RO)R(OT)E(IL)G(NO)R (DE)H(OF)G(THE)G(TREE,)G(AND)G(THE)G(GOAL)1931 5036 Y(NON)N(TERMINAL.) 46 B(T)N(YPICALLY)-7 B(,)30 B(THE)H(ACTION)G(CONSUMES)F(THESE)1931 5135 Y(ITEMS)E(AND)G(PRO)R(DUCES)E(SOME)I(NEW)F(ITEMS.)2014 5236 Y(USUALLY)-7 B(,)55 B(THE)50 B(ACTION)F(BUILDS)H(AN)F(ML)H(NO)R (DE,)55 B(THAT)1931 5335 Y(CON)N(TAINS)D(THE)H(ML)G(NO)R(DE)F(P)R(OIN)N (TERS)G(PASSED)G(IN)H(FROM)1931 5435 Y(THE)44 B(SUBTREE)F(REDUCTIONS)G (AS)G(C)N(HILDREN)G(\()P FT(ML-LEFT)E FV(AND)1931 5535 Y FT(ML-RIGHT)P FV(\),)33 B(AND)H(THE)G(XT)G(FOR)F(PART)H(4)F(IN)I FT(ML-ASM)P FV(;)F(THE)1931 5634 Y(ACTION)27 B(THEN)H(RETURNS)F(A)H(P)R (OIN)N(TER)F(TO)G(THAT)H(ML)G(NO)R(DE.)2014 5735 Y(Y)-7 B(OU)21 B(MA)N(Y)F(W)N(ONDER)G(HO)N(W)G(W)N(E)G(K)N(EEP)G(THE)H(STAC)N (K)F(BALANCED;)1931 5835 Y(AFTER)38 B(ALL,)I(W)N(E)D(DON'T)H(KNO)N(W)F (WHIC)N(H)H(RULES)F(ARE)F(USED)I(FOR)P EOP %%PAGE: 6 6 6 5 BOP 0 3 1849 4 V 50 109 A FT(REG)142 B FV(--)27 B(ML)173 B(INST.)28 B(WITH)H(NORMAL)D(REGISTER)G(RESULT)50 208 Y FT(CON)142 B FV(--)27 B(N)219 B(CONSTAN)N(T)50 308 Y FT(CONS)98 B FV(--)27 B(N)219 B(SMALL)28 B(CONSTAN)N(T)50 408 Y FT(ADDR)98 B FV(--)27 B(ML)H(N)99 B(E\013ECTIV)N(E)28 B(ADDRESS)P 0 485 V 0 626 A(FIGURE)35 B(8:)53 B(NON)N(TERMINALS)35 B(AND)H(THEIR)G(REDUCTION)F(STAC)N(K)0 725 Y(E\013ECTS)28 B(\(FOR)F(THE)H(MIPS)G(ARC)N(HITECTURE\))0 1009 Y(REDUCING)40 B(THE)G(SUBTREES,)J(AND,)G(THEREFORE)D(DON'T)G(KNO)N(W)0 1109 Y(THE)24 B(ACTIONS)F(USED.)35 B(WHAT)24 B(W)N(E)G(DO)F(KNO)N(W,)H (HO)N(W)N(EV)N(ER,)E(IS,)I(TO)0 1209 Y(WHIC)N(H)34 B(NON)N(TERMINALS)F (THE)H(SUBTREES)G(ARE)F(REDUCED.)56 B(W)-7 B(E)0 1308 Y(THEREFORE)39 B(MAK)N(E)F(SURE)H(THAT)H(ALL)F(RULES)G(THAT)H(REDUCE)F (TO)0 1408 Y(THE)34 B(SAME)F(NON)N(TERMINAL)F(HA)N(V)N(E)G(THE)I(SAME)F (O)N(V)N(ERALL)E(STAC)N(K)0 1507 Y(E\013ECT;)G(THIS)G(O)N(V)N(ERALL)C (STAC)N(K)I(E\013ECT)H(CONSISTS)F(OF)H(THE)G(STAC)N(K)0 1607 Y(E\013ECTS)22 B(FOR)F(REDUCING)G(THE)H(SUBTREES,)G(THEN)G (PUSHING)G(THREE)0 1707 Y(STAC)N(K)27 B(ITEMS,)H(AND)F(THEN)H(THE)G (ACTION)F(OF)H(THE)G(RULE.)83 1814 Y(FIGURE)43 B(8)G(SHO)N(WS)F(THE)I (NON)N(TERMINALS)E(THAT)I(W)N(E)F(CUR-)0 1913 Y(REN)N(TLY)31 B(USE)H(IN)H(THE)F(MIPS)G(CO)R(DE)G(SELECTOR)E(AND)I(THEIR)G(RE-)0 2013 Y(DUCTION)K(STAC)N(K)G(E\013ECTS.)63 B(THE)36 B(MOST)G(IMP)R (ORTAN)N(T)G(ONE)F(IS)0 2112 Y FT(REG)P FV(;)K(REDUCING)D(AN)F(IL)H (TREE)G(TO)G(A)G FT(REG)F FV(CREATES)F(AN)I(ML)0 2212 Y(TREE)J(FOR)G(INSTRUCTIONS)F(THAT)I(COMPUTE)F(THE)H(EXPRESSION)0 2312 Y(REPRESEN)N(TED)33 B(B)N(Y)I(THE)G(IL)F(TREE)G(AND)H(LEA)N(V)N(E) E(THE)I(RESULT)F(IN)0 2411 Y(A)I(REGISTER.)62 B(THE)36 B(ML)H(NO)R(DE)F(P)R(OIN)N(TER)G(RETURNED)G(B)N(Y)G(RE-)0 2511 Y(DUCING)28 B(TO)G FT(REG)E FV(IS)I(THE)H(RO)R(OT)E(OF)H(THIS)G (ML)G(TREE.)37 B(F)-7 B(OR)28 B(SIM-)0 2611 Y(PLICIT)N(Y)-7 B(,)24 B(W)N(E)F(ALSO)E(USE)I(THIS)G(NON)N(TERMINAL)F(FOR)H (INSTRUCTIONS)0 2710 Y(THAT)J(DO)G(NOT)G(HA)N(V)N(E)E(A)I(RESULT)F(IN)I (A)E(REGISTER,)G(LIK)N(E)G FT(I)P 1604 2710 27 4 V 31 W(STORE)0 2810 Y FV(AND)43 B FT(I)P 226 2810 V 31 W(BRANCH)P FV(.)D(T)-7 B(REES)42 B(CONSISTING)G(OF)H(CONSTAN)N(T)F(COM-)0 2909 Y(PUTATIONS)36 B(CAN)G(B)R(E)G(REDUCED)G(TO)G FT(CON)F FV(AND,)K(SOMETIMES,)0 3009 Y FT(CONS)P FV(;)F(THE)E(REDUCTION)F (RETURNS)G(THE)H(V)-5 B(ALUE)35 B(OF)H(THE)G(TREE.)0 3109 Y(THE)23 B FT(ADDR)E FV(NON)N(TERMINAL)H(IS)H(A)F(FACTOR)G(OF)H (THE)G(MEMORY)F(AC-)0 3208 Y(CESS)28 B(INSTRUCTIONS;)G(AN)G(E\013ECTIV) N(E)H(ADDRESS)E(ON)H(THE)H(MIPS)0 3308 Y(ARC)N(HITECTURE)38 B(IS)I(THE)F(SUM)H(OF)F(A)G(REGISTER)F(AND)I(A)F(SMALL)0 3408 Y(CONSTAN)N(T;)25 B(REDUCING)E(A)H(TREE)G(TO)G(AN)G FT(ADDR)F FV(SIMPLY)H(RETURNS)0 3507 Y(THE)E(CONSTAN)N(T)E(AND)H(AN)G (ML)G(NO)R(DE)H(P)R(OIN)N(TER)F(FOR)F(A)H(TREE)G(THAT)0 3607 Y(COMPUTES)27 B(THE)H(REGISTER.)0 3861 Y FR(4.2.3)94 B(D)M(A)M(GS)0 4027 Y FV(Y)-7 B(OU)26 B(MA)N(Y)G(HA)N(V)N(E)F(NOTICED)H (THAT)H(W)N(E)F(HA)N(V)N(E)F(DISCUSSED)H(TREES)0 4127 Y(IN)37 B(THE)H(AB)R(O)N(V)N(E,)G(BUT)G(USE)F(THE)H(TREE)F(PARSER)F(ON) G(DIRECTED)0 4226 Y(ACYCLIC)30 B(GRAPHS)F(\(I.E.,)I(THE)G(IL)G (GRAPH\);)G(THIS)F(IS)H(P)R(OSSIBLE,)0 4326 Y(WITH)D(A)F(LITTLE)I (CARE.)83 4433 Y(ONE)35 B(OF)G(THE)G(E\013ECTS)G(OF)G(APPLYING)G(TREE)F (PARSING)G(TO)H(A)0 4532 Y(D)N(A)N(G)E(IS)G(THAT)G(THE)G(REDUCER)E(MA)N (Y)H(VISIT)H(THE)G(SAME)F(NO)R(DE)0 4632 Y(SEV)N(ERAL)E(TIMES,)K(FROM)D (DI\013EREN)N(T)H(PAREN)N(TS.)49 B(MOREO)N(V)N(ER,)31 B(IT)0 4732 Y(MA)N(Y)G(TRY)G(TO)H(REDUCE)F(THE)I(TREE)E(RO)R(OTED)G(AT) H(THAT)G(NO)R(DE)F(TO)0 4831 Y(DI\013EREN)N(T)D(NON)N(TERMINALS.)36 B(WHAT)29 B(W)N(E)E(W)N(AN)N(T)G(THE)H(CO)R(DE)G(SE-)0 4931 Y(LECTOR)40 B(TO)H(DO)F(WHEN)H(ENCOUN)N(TERING)F(AN)G(IL)H(NO)R (DE)G(WITH)0 5030 Y(MORE)31 B(THAN)G(ONE)G(PAREN)N(T)G(\(A)G(SHARED)F (NO)R(DE\))I(IS)F(TO)G(CREATE)0 5130 Y(A)C(SHARED)G(ML)G(NO)R(DE.)83 5237 Y(THE)35 B FT(IL-NT-INSTS)C FV(\014ELD)K(OF)G(THE)G(IL)G(NO)R(DE)H (PLA)N(YS)E(AN)0 5337 Y(IMP)R(ORTAN)N(T)G(ROLE)G(HERE:)50 B(IT)34 B(CON)N(TAINS)G(AN)G(ARRA)N(Y)E(INDEXED)0 5436 Y(WITH)D(NON)N(TERMINAL)E(N)N(UM)N(B)R(ERS;)H(EAC)N(H)G(ELEMEN)N(T)G (OF)G(THE)H(AR-)0 5536 Y(RA)N(Y)35 B(STORES)H(A)G(P)R(OIN)N(TER)G(TO)G (THE)H(RO)R(OT)F(OF)H(THE)G(ML)F(GRAPH)0 5635 Y(THAT)25 B(IS)F(BUILT)H(B)N(Y)F(REDUCING)G(THE)H(IL)G(GRAPH)E(RO)R(OTED)H(AT)G (THE)0 5735 Y(NO)R(DE)35 B(TO)G(THE)H(RESP)R(ECTIV)N(E)E(NON)N (TERMINAL;)39 B(IT)C(CON)N(TAINS)G(0,)0 5835 Y(IF)C(SUC)N(H)F(AN)G(ML)G (GRAPH)F(HAS)H(NOT)G(B)R(EEN)H(BUILT)G(\(Y)N(ET\).)45 B(F)-7 B(OR)1931 83 Y(OUR)24 B(MIPS)G(CO)R(DE)G(SELECTOR,)G(ONLY)G(THE) G FT(REG)F FV(ELEMEN)N(TS)H(CON-)1931 183 Y(TAIN)E(SUC)N(H)F(P)R(OIN)N (TERS)G(\(B)R(ECAUSE)G(ML)H(NO)R(DES)F(ARE)G(ONLY)G(BUILT)1931 282 Y(WHEN)28 B(REDUCING)F(TO)G(A)H FT(REG)P FV(\).)2014 382 Y(NO)N(W,)E(B)R(EFORE)F(REDUCING)G(AN)G(IL)G(GRAPH)F(TO)H(A)G(NON)N (TERMI-)1931 482 Y(NAL,)40 B(THE)E(REDUCER)F(C)N(HEC)N(KS)F(THE)I FT(IL-NT-INSTS)33 B FV(ELEMEN)N(T)1931 582 Y(FOR)G(THE)G(NON)N (TERMINAL.)52 B(IF)34 B(IT)F(ALREADY)F(CON)N(TAINS)G(AN)H(ML)1931 681 Y(NO)R(DE)43 B(P)R(OIN)N(TER,)I(THEN)E(THE)G(REDUCER)F(JUST)H (RETURNS)E(THAT)1931 781 Y(P)R(OIN)N(TER)35 B(INSTEAD)G(OF)G(REDUCING)F (THE)I(IL)F(GRAPH)E(AGAIN;)38 B(IF)1931 880 Y(IT)29 B(CON)N(TAINS)E(0,) H(THEN)G(THE)H(REDUCER)E(P)R(ERFORMS)G(THE)H(REDUC-)1931 980 Y(TION)C(AS)E(USUAL,)I(AND)G(THE)G(ACTIONS)E(THAT)I(CREATE)E(ML)I (NO)R(DES)1931 1080 Y(PUT)I(THEM)G(IN)G(THE)G(APPROPRIATE)D FT(IL-NT-INSTS)E FV(ELEMEN)N(T.)2014 1180 Y(THIS)27 B(SHARES)F(THE)I (ML)F(NO)R(DES)G(AND)G(A)N(V)N(OIDS)E(REPLICATION)1931 1279 Y(IN)G(CASES)E(WHERE)H(ALL)G(PAREN)N(TS)G(TRY)G(TO)G(REDUCE)G(TO)G (THE)H(SAME)1931 1379 Y(NON)N(TERMINAL.)36 B(F)-7 B(OR)27 B(THE)G(OTHER)G(CASES,)F(W)N(E)H(JUST)H(WRITE)F(THE)1931 1479 Y(RULES)32 B(IN)G(A)G(W)N(A)N(Y)F(THAT)H(A)N(V)N(OIDS)F (UNPRO\014TABLE)G(CO)R(DE)H(REPLI-)1931 1578 Y(CATION.)62 B(W)-7 B(E)36 B(WILL)G(DISCUSS)G(THIS)G(\(V)N(ERY)F(IN)N(V)N(OLV)N (ED\))G(TOPIC)1931 1678 Y(SOMEWHERE)27 B(ELSE.)1931 1913 Y FJ(4.3)113 B(INSTRUCTION)36 B(SC)M(HEDULING)1931 2067 Y FV(THE)25 B(INSTRUCTION)G(SC)N(HEDULER)G(DETERMINES)F(THE)I (EXECUTION)1931 2166 Y(ORDER)17 B(OF)I(THE)G(INSTRUCTIONS.)33 B(THE)19 B(RESULT)F(OF)H(THE)F(SC)N(HEDULER)1931 2266 Y(IS)28 B(AN)F(ARRA)N(Y)E(OF)J(ML)G(NO)R(DES.)1931 2484 Y FR(4.3.1)94 B(DEP)S(ENDENCES)1931 2638 Y FV(THE)42 B(SC)N(HEDULER)F(HAS)G(TO)G(CONSIDER)G(MORE)F(DEP)R(ENDENCES)1931 2738 Y(B)R(ET)N(W)N(EEN)51 B(THE)G(INSTRUCTIONS)F(THAN)G(THE)H (REGISTER)E(DATA)1931 2837 Y(\015O)N(W)32 B(DEP)R(ENDENCES)H(REPRESEN)N (TED)F(B)N(Y)H(THE)G FT(ML-LEFT)D FV(AND)1931 2937 Y FT(ML-RIGHT)I FV(\014ELDS.)58 B(E.G.,)35 B(IT)H(HAS)E(TO)G(TAK)N(E)G (IN)N(TO)G(ACCOUN)N(T)1931 3037 Y(WRITE-AFTER-READ)26 B(DEP)R(ENDENCES)I(THROUGH)F(REGISTERS)F(AND)1931 3136 Y(DEP)R(ENDENCES)21 B(THROUGH)E(MEMORY)-7 B(.)34 B(THESE)19 B(ADDITIONAL)H(DE-)1931 3236 Y(P)R(ENDENCES)35 B(ARE)F(REPRESEN)N(TED)G (IN)H(THE)G(IL)G(GRAPH)F(B)N(Y)G(THE)1931 3336 Y FT(IL-DEPENDS)27 B FV(\014ELD,)32 B(WHIC)N(H)F(CON)N(TAINS)F(A)H(LIST)G(OF)G(P)R(OIN)N (TERS)1931 3435 Y(TO)J(IL)F(NO)R(DES)G(ON)G(WHIC)N(H)H(THE)F (INSTRUCTION)H(DEP)R(ENDS.)54 B(IN)1931 3535 Y(SECTION)22 B(4.2)F(W)N(E)H(SKIPP)R(ED)G(THE)G(PROBLEM)G(OF)G(HO)N(W)F(TO)H(TRANS-) 1931 3634 Y(LATE)J(THESE)G(DEP)R(ENDENCES)H(IN)N(TO)E(DEP)R(ENDENCES)I (IN)F(THE)H(ML)1931 3734 Y(GRAPH;)H(THEREFORE,)G(W)N(E)G(WILL)H (DISCUSS)F(THIS)H(PROBLEM)F(HERE.)2014 3834 Y(IN)19 B(DEALING)G(WITH)G (THIS)H(PROBLEM,)G(W)N(E)F(EXPLOIT)F(T)N(W)N(O)H(FACTS:)2014 4002 Y FU(\017)41 B FV(THE)83 B(DEP)R(ENDENCE)G(P)R(OIN)N(TERS)F(ONLY)G (P)R(OIN)N(T)H(TO)2097 4101 Y(NO)R(DES)46 B(WITH)G(THE)G(OP)R(ERATORS)D FT(I)P 3151 4101 V 31 W(FETCH)P FV(,)H FT(I)P 3513 4101 V 31 W(STORE)P FV(,)2097 4201 Y FT(I)P 2146 4201 V 31 W(CFETCH)P FV(,)18 B FT(I)P 2526 4201 V 31 W(CSTORE)F FV(\(FOR)I(MEMORY)G(DEP)R(ENDENCES\))2097 4300 Y(AND)45 B FT(I)P 2325 4300 V 31 W(MOVE)D FV(\(FOR)J(REGISTER)E (WRITE-AFTER-READ)F(DE-)2097 4400 Y(P)R(ENDENCES\).)2014 4568 Y FU(\017)F FV(ALL)C(RULES)F(IN)N(V)N(OLVING)G(THESE)G(OP)R (ERATORS)F(ARE)H(OF)G(THE)2097 4667 Y(FORM)2097 4868 Y FT(REG:)42 B FM(OPERATOR)11 B FT(\(...\)#...)2097 5070 Y FV(WHERE)39 B FM(OPERATOR)50 B FV(IS)38 B(THE)I(OP)R(ERATOR)D(IN)I (QUESTION,)2097 5169 Y(AND)28 B(IT)G(ONLY)F(O)R(CCURS)G(IN)G(THIS)H (PLACE.)2014 5337 Y(NO)N(W,)C(W)N(E)F(EXTEND)H(THE)G(REDUCER)F(IN)G (THE)H(FOLLO)N(WING)F(W)N(A)N(Y:)1931 5436 Y(DURING)30 B(ITS)G(RECURSIV)N(E)E(W)N(ALK)H(OF)H(THE)G(GRAPH,)F(IT)I(NO)N(W)E (ALSO)1931 5536 Y(FOLLO)N(WS)45 B(THE)H(DEP)R(ENDENCES)G(IN)G FT(IL-DEPENDS)P FV(,)G(AND)F(RE-)1931 5635 Y(DUCES)D(THE)F(SUBTREES)G (RO)R(OTED)G(THERE)G(TO)G FT(REG)P FV(.)77 B(IT)42 B(THEN)1931 5735 Y(ADDS)36 B(THE)G(RESULTING)G(ML)G(NO)R(DE)G(P)R(OIN)N(TER)G(TO)G (THE)G(LIST)H(OF)1931 5835 Y(DEP)R(ENDENCES)28 B(IN)G FT(ML-DEPENDS)P FV(.)P EOP %%PAGE: 7 7 7 6 BOP 0 83 A FR(4.3.2)94 B(SC)M(HEDULING)0 245 Y FV(F)-7 B(OR)30 B(THE)G(SC)N(HEDULER)G(ITSELF,)H(W)N(E)F(USE)G(LIST)H(SC)N (HEDULING,)F(THE)0 344 Y(DOMINAN)N(T)21 B(TEC)N(HNIQUE;)J(IT)E(IS)F (RELATIV)N(ELY)F(STRAIGH)N(TFORW)N(ARD,)0 444 Y(AND)29 B(PRO)R(DUCES)F(GO)R(O)R(D)G(CO)R(DE)H(\(IF)G(THE)H(RIGH)N(T)E (HEURISTICS)G(ARE)0 543 Y(USED\).)83 648 Y(LIST)42 B(SC)N(HEDULERS)F (CAN)H(W)N(ORK)F(B)N(Y)G(PRO)R(DUCING)H(THE)G(IN-)0 747 Y(STRUCTIONS)C(FROM)H(THE)G(\014RST)G(ONE)F(\(IN)H(THE)H(RESULTING)E (SE-)0 847 Y(QUENCE\))G(TO)H(THE)F(LAST)G(ONE,)J(OR)C(THE)I(OTHER)F(W)N (A)N(Y)F(ROUND.)0 946 Y(W)-7 B(E)27 B(USE)G(A)G(LIST)G(SC)N(HEDULER)F (THAT)H(STARTS)F(WITH)H(THE)H(LAST)E(IN-)0 1046 Y(STRUCTION,)42 B(B)R(ECAUSE)D(THIS)H(W)N(ORKS)D(B)R(ETTER)J(FOR)F(OUR)G(DATA)0 1146 Y(STRUCTURES)25 B(AND)H(\014TS)G(B)R(ETTER)H(IN)F(THE)G (ORGANIZATION)E(OF)I(THE)0 1245 Y(PASSES)G(\(SEE)I(SECTION)G(4.6\).)83 1349 Y(LIST)20 B(SC)N(HEDULING)G(W)N(ORKS)E(B)N(Y)I(SELECTING)G(ONE)F (OF)H(THE)H(LEAD-)0 1449 Y(ERS)30 B(\(IN)H(OUR)F(CASE,)G(INSTRUCTIONS)H (WITHOUT)G(SUCCESSORS)D(IN)0 1549 Y(THE)45 B(DEP)R(ENDENCE)G(GRAPH\))F (AND)H(REMO)N(V)N(ES)D(IT)K(FROM)E(THE)0 1648 Y(GRAPH.)84 B(THIS)44 B(STEP)G(IS)G(REP)R(EATED)F(UN)N(TIL)I(THE)F(GRAPH)E(IS)0 1748 Y(EMPT)N(Y)-7 B(.)42 B(THE)29 B(ORDER)E(IN)J(WHIC)N(H)F(THE)G (INSTRUCTIONS)G(ARE)F(RE-)0 1848 Y(MO)N(V)N(ED)I(IS)H(THE)H(REV)N(ERSE) D(INSTRUCTION)I(ORDER)E(OF)I(THE)H(BASIC)0 1947 Y(BLO)R(C)N(K.)83 2051 Y(ONE)D(PROBLEM)F(IN)I(WRITING)E(A)H(FAST)G(INSTRUCTION)G(SC)N (HED-)0 2151 Y(ULER)20 B(IS)F(DETERMINING)H(THE)H(LEADERS)D(QUIC)N(KLY) I(AT)F(EV)N(ERY)G(STEP.)0 2251 Y(W)-7 B(E)26 B(USE)G(THE)G(FOLLO)N (WING)E(METHO)R(D:)37 B(WHEN)26 B(THE)G(ML)F(GRAPH)0 2350 Y(IS)D(BUILT,)J(THE)E(N)N(UM)N(B)R(ER)F(OF)G(DEP)R(ENDENCE)H (REFERENCES)F(TO)G(THE)0 2450 Y(NO)R(DE)34 B(IS)G(STORED)F(IN)I FT(ML-COUNT)P FV(.)53 B(WHEN)35 B(AN)F(INSTRUCTION)0 2549 Y(IS)G(SELECTED)G(DURING)F(SC)N(HEDULING,)I(THE)G(REFERENCE)E (COUN)N(TS)0 2649 Y(OF)27 B(ALL)G(THE)G(ML)G(NO)R(DES)G(ON)G(WHIC)N(H)F (IT)I(DEP)R(ENDS)F(ARE)F(DECRE-)0 2749 Y(MEN)N(TED;)41 B(IF)C(A)F(REFERENCE)G(COUN)N(T)G(REAC)N(HES)F(0,)J(THE)F(CORRE-)0 2848 Y(SP)R(ONDING)27 B(ML)H(NO)R(DE)G(IS)F(ADDED)H(TO)F(THE)H(SET)G (OF)G(LEADER)E(IN-)0 2948 Y(STRUCTIONS.)83 3052 Y(SOME)34 B(ML)F(NO)R(DES,)J(E.G.,)F(NO)R(DES)E(THAT)H(CORRESP)R(OND)E(TO)0 3152 Y FT(I)P 49 3152 27 4 V 31 W(REG)H FV(IL)H(NO)R(DES,)I(DO)E(NOT)G (GENERATE)F(AN)N(Y)H(INSTRUCTIONS.)0 3251 Y(THESE)25 B(NO)R(DES)G(GET)H(EXAGGERATED)D(REFERENCE)H(COUN)N(TS)H(\(E.G.,)0 3351 Y(IN)33 B(FIG.)F(6)G(THE)H(HA)N(V)N(E)E(COUN)N(T)I(2,)G(BUT)G (ONLY)F(ONE)G(REFERENCE)0 3451 Y(EAC)N(H\),)F(SO)F(THEY)H(NEV)N(ER)F(B) R(ECOME)H(LEADERS)F(AND)G(ARE)G(NEV)N(ER)0 3550 Y(SC)N(HEDULED.)35 B(THIS)24 B(A)N(V)N(OIDS)F(A)G(GO)R(O)R(D)H(AMOUN)N(T)F(OF)H(W)N(ORK)F (DUR-)0 3650 Y(ING)44 B(SC)N(HEDULING)G(AND)G(CO)R(DE)G(EMISSION;)52 B(IT)45 B(ALSO)E(MAK)N(ES)0 3749 Y(DEALING)35 B(WITH)G(THE)H(LOAD)E (DELA)N(Y)G(SLOTS)H(OF)G(THE)H(MIPS)F(AR-)0 3849 Y(C)N(HITECTURE)27 B(A)H(LOT)F(EASIER.)83 3953 Y(OUR)22 B(DATA)H(STRUCTURE)F(ALLO)N(WS)G (\014NDING)H(QUIC)N(KLY)G(THE)G(ML)0 4053 Y(NO)R(DES)G(ON)F(WHIC)N(H)H (A)F(GIV)N(EN)G(ML)H(NO)R(DE)G(DEP)R(ENDS,)H(BUT)F(\014ND-)0 4152 Y(ING)I(THE)H(ML)G(NO)R(DES)F(THAT)H(DEP)R(END)G(ON)G(A)F(GIV)N (EN)G(ML)G(NO)R(DE)0 4252 Y(IS)C(SLO)N(W.)33 B(THEREFORE,)22 B(W)N(E)E(C)N(HOSE)G(A)G(BAC)N(KW)N(ARDS)F(SC)N(HEDULING)0 4352 Y(STRATEGY)-7 B(.)0 4591 Y FR(4.3.3)94 B(HEURISTIC)0 4753 Y FV(THE)21 B(SELECTION)F(HEURISTIC)G(DETERMINES)G(THE)H(QUALIT)N (Y)F(OF)H(THE)0 4852 Y(SC)N(HEDULE.)45 B(AN)31 B(O)N(V)N(ERVIEW)D(CAN)I (B)R(E)H(FOUND)G(IN)G([SKAH91)O(].)0 4952 Y(THE)D(HEURISTIC)F(W)N(E)G (USE)H(IS:)0 5153 Y FR(LARGEST)K(LATEST)H(EXECUTION)F(TIME)G(\(LET\))43 B FV(THE)166 5252 Y(LET)37 B(OF)G(AN)G(INSTRUCTION)G(IS)G(THE)H(LAST)F (CYCLE)G(WHEN)166 5352 Y(THE)51 B(INSTRUCTION)F(CAN)H(START)F (EXECUTING)G(WITHOUT)166 5451 Y(CAUSING)38 B(AN)N(Y)G(LATER)H (INSTRUCTION)F(TO)H(STALL)G(W)N(AITING)166 5551 Y(FOR)27 B(THE)H(RESULT.)37 B(TIES)27 B(ARE)G(BROK)N(EN)F(B)N(Y)0 5735 Y FR(MAXIM)M(UM)32 B(PATH)H(LENGTH)41 B FV(THE)J(PATH)F(LENGTH)H (IS)F(THE)166 5835 Y(SUM)I(OF)F(THE)I(LATENCIES)E(ALONG)F(THE)I (LONGEST)F(PATH)2097 83 Y(FROM)24 B(THE)H(START)E(OF)I(THE)F(BASIC)G (BLO)R(C)N(K)3253 53 Y FO(3)3289 83 Y FV(.)36 B(THIS)24 B(HEURIS-)2097 183 Y(TIC)41 B(EXP)R(OSES)F(DELA)N(Y)F(SLOTS)H(EARLY)-7 B(,)43 B(WHILE)D(THERE)H(ARE)2097 282 Y(OTHER)27 B(INSTRUCTIONS)G(TO)H (\014LL)G(THEM.)2014 477 Y(THE)39 B(LET)G(IS)F(STORED)H(IN)G FT(ML-LET)P FV(,)G(THE)G(PATH)H(LENGTH)1931 577 Y(IN)D FT(ML-PATHLENGTH)P FV(.)57 B(THE)36 B(PATH)G(LENGTH)G(IS)G(COMPUTED) 1931 677 Y(B)R(EFORE)50 B(THE)H(SC)N(HEDULER)F(PROP)R(ER)G(STARTS,)55 B(WHEREAS)49 B(THE)1931 776 Y(LET)23 B(IS)F(DETERMINED)H(DURING)G(SC)N (HEDULING)F(\(THEREFORE)G(THE)1931 876 Y(LET)37 B(V)-5 B(ALUES)37 B(SHO)N(WN)G(IN)G(FIG.)H(6)F(ARE)F(NOT)H(USEFUL\).)67 B(F)-7 B(OR)1931 976 Y(B)R(OTH)27 B(COMPUTATIONS)F(THE)G(LATENCY)G(OF)G (THE)H(INSTRUCTION)F(IS)1931 1075 Y(NEEDED;)I(IT)G(IS)G(STORED)E(IN)I FT(ML-LATENCY)P FV(.)1931 1324 Y FJ(4.4)113 B(LO)S(CAL)37 B(REGISTER)F(ALLO)S(CATION)1931 1483 Y FV(LO)R(CAL)I(REGISTER)E(ALLO)R (CATION)H(ASSIGNS)G(REGISTERS)F(TO)I(MOST)1931 1583 Y(ML)28 B(NO)R(DES.)2014 1685 Y(SOME)41 B(NO)R(DES)G(ALREADY)E(HA)N(V)N(E)H (REGISTERS)F(B)R(EFORE)H(LO)R(CAL)1931 1785 Y(REGISTER)19 B(ALLO)R(CATION:)32 B(NO)R(DES)20 B(THAT)H(COMPUTE)F(STAC)N(K)G(P)R (OIN)N(T-)1931 1885 Y(ERS)J(OR)F(THAT)H(COMPUTE)G(STAC)N(K)F(ITEMS)H (THAT)H(RESIDE)E(IN)H(REGIS-)1931 1984 Y(TERS;)K(AND)F FT(I)P 2325 1984 V 31 W(REG)F FV(NO)R(DES)I(THAT)F(REPRESEN)N(T)G(STAC) N(K)F(P)R(OIN)N(TERS)1931 2084 Y(OR)36 B(STAC)N(K)G(ITEMS)H(IN)G (REGISTERS.)63 B(I.E.,)39 B(ALL)D(REGISTERS)F(THAT)1931 2184 Y(LIV)N(E)28 B(AT)G(THE)G(BASIC)F(BLO)R(C)N(K)H(B)R(OUNDARIES:)37 B FT(I)P 3262 2184 V 31 W(REG)26 B FV(NO)R(DES)I(FOR)1931 2283 Y(REGISTERS)35 B(THAT)J(LIV)N(E)E(AT)H(THE)G(START)G(OF)F(THE)I (BASIC)E(BLO)R(C)N(K,)1931 2383 Y(OTHER)28 B(NO)R(DES)G(FOR)F (REGISTERS)F(THAT)J(LIV)N(E)F(AT)F(ITS)I(END.)38 B(STAC)N(K)1931 2482 Y(ITEMS)31 B(IN)F(REGISTERS)E(ARISE)H(FROM)H(SOME)F(SORT)H(OF)G (GLOBAL)E(OR)1931 2582 Y(IN)N(TERPRO)R(CEDURAL)E(REGISTER)G(ALLO)R (CATION.)2014 2685 Y(THESE)42 B(REGISTER)F(N)N(UM)N(B)R(ERS)G(ARE)G (PUT)I(IN)G(THE)F FT(IL-REG)1931 2784 Y FV(\014ELD)36 B(OF)F(THE)H(IL)F(AND)G(ARE)G(COPIED)G(TO)G(THE)G FT(ML-REG)E FV(\014ELD)1931 2884 Y(DURING)G(ML)H(GRAPH)E(CONSTRUCTION.)54 B(THIS)33 B(RELIES)G(ON)G(THE)1931 2984 Y(FACT)27 B(THAT)F(THE)G(IL)H (NO)R(DES)F(WITH)G(PREDE\014NED)G(REGISTERS)F(ARE)1931 3083 Y(RO)R(OTS)33 B(OF)H(TREES)F(THAT)I(ARE)D(REDUCED)I(TO)G FT(REG)P FV(.)55 B(F)-7 B(OR)33 B FT(I)P 3623 3083 V 31 W(REG)1931 3183 Y FV(NO)R(DES)H(THIS)H(IS)G(DETERMINED)F(B)N(Y)G (THE)H(GRAMMAR,)F(FOR)G(THE)1931 3283 Y(COMPUTE)25 B(NO)R(DES)F(THIS)H (IS)F(ENSURED,)H(B)R(ECAUSE)F(THESE)H(NO)R(DES)1931 3382 Y(ARE)I(RO)R(OTS)F(OF)I(THE)G(IL)G(GRAPH.)2014 3485 Y(IF)F(AN)F(ML)H (NO)R(DE)F(HAS)G(NOT)H(Y)N(ET)F(B)R(EEN)H(ASSIGNED)E(A)H(REGIS-)1931 3585 Y(TER,)I(ITS)F FT(ML-REG)F FV(\014ELD)I(CON)N(TAINS)E FT(REGS-UNUSED)P FV(.)2014 3687 Y(THE)59 B(LO)R(CAL)F(REGISTER)F(ALLO)R (CATOR)G(W)N(ALKS)H(BAC)N(KW)N(ARDS)1931 3787 Y(\(STARTING)38 B(AT)G(THE)H(INSTRUCTION)F(THAT)H(WILL)G(B)R(E)G(EXECUTED)1931 3887 Y(LAST\))34 B(THROUGH)F(THE)I(ARRA)N(Y)C(OF)J(ML)G(NO)R(DES)G(PRO) R(DUCED)G(B)N(Y)1931 3986 Y(THE)23 B(SC)N(HEDULER.)34 B(F)-7 B(OR)21 B(EV)N(ERY)G(ML)H(NO)R(DE,)I(IT)E(EN)N(TERS)F(THE)I (REG-)1931 4086 Y(ISTER)28 B(THAT)G(THE)H(ML)F(NO)R(DE)G(COMPUTES)G(TO) G(THE)G(LIST)H(OF)F(FREE)1931 4185 Y(REGISTERS;)37 B(SOME)E(REGISTERS,) G(E.G.,)I(STAC)N(K)D(P)R(OIN)N(TERS,)I(CAN-)1931 4285 Y(NOT)31 B(B)R(E)H(FREED.)47 B(THEN)31 B(IT)G(TAK)N(ES)F(REGISTERS)G (FROM)G(THE)I(FREE)1931 4385 Y(LIST)K(AND)F(ASSIGNS)E(THEM)J(TO)F(THE)H (Y)N(ET)F(UNASSIGNED)F(INPUT)1931 4484 Y(REGISTERS)26 B(OF)I(THE)G(ML)F(NO)R(DE.)2014 4587 Y(THE)21 B(INPUT)G(REGISTERS)E(OF) H(AN)G(ML)G(NO)R(DE)H(ARE)E(THE)I FT(ML-REG)1931 4687 Y FV(\014ELDS)39 B(OF)G(THE)H(C)N(HILDREN)E(\()P FT(ML-LEFT)F FV(AND)I FT(ML-RIGHT)P FV(\))D(OF)1931 4786 Y(THE)24 B(NO)R(DE.)36 B(F)-7 B(OR)23 B(THIS)H(REASON,)F(W)N(E)H(HA)N(V)N(E)E (ML)I(NO)R(DES)G(CORRE-)1931 4886 Y(SP)R(ONDING)J(TO)G(THE)G FT(I)P 2576 4886 V 31 W(REG)F FV(IL)H(NO)R(DES,)G(EV)N(EN)G(THOUGH)G (THESE)1931 4986 Y(ML)H(NO)R(DES)F(DO)H(NOT)F(GENERATE)G(AN)G (INSTRUCTION.)1931 5218 Y FR(4.4.1)94 B(REGISTER)31 B(SH)M(U\017ING) 1931 5377 Y FV(ONE)G(OF)H(THE)F(PROBLEMS)G(THAT)H(W)N(E)F(GET)G(IF)H(W) N(E)F(TRY)G(TO)G(K)N(EEP)1931 5477 Y(STAC)N(K)23 B(ITEMS)I(IN)F (REGISTERS)E(ACROSS)G(BASIC)I(BLO)R(C)N(KS)F(IS:)35 B(SOME)1931 5576 Y(REGISTERS)21 B(MA)N(Y)G(LIV)N(E)H(AT)G(THE)G(START)G(OF)G(THE)H (BASIC)E(BLO)R(C)N(K)H(AND)1931 5676 Y(AT)H(THE)G(END,)H(BUT)G(DON'T)E (CON)N(TAIN)H(THE)G(SAME)F(THING;)J(AT)D(THE)P 1931 5758 740 4 V 2024 5811 A FL(3)2058 5835 Y FP(THE)I(PATH)H(LENGTH)G(IS)E (DE\014NED)I(DI\013EREN)N(TLY)F(IN)F([SKAH91].)P EOP %%PAGE: 8 8 8 7 BOP 0 83 A FV(END)25 B(A)G(REGISTER)F(MA)N(Y)G(CON)N(TAIN)H (SOMETHING)G(THAT)G(W)N(AS)F(IN)I(A)0 183 Y(DI\013EREN)N(T)I(REGISTER)E (AT)H(THE)H(START.)83 361 Y(A)40 B(PARTICULARLY)F(NAST)N(Y)G(V)N (ERSION)F(OF)I(THIS)G(PROBLEM)F(IS)0 460 Y(THIS:)61 B(ASSUME)40 B(THAT)F FG(X)H FV(IS)G(IN)G FT($1)E FV(AT)I(THE)G(START)E(OF)I(THE)0 560 Y(BASIC)23 B(BLO)R(C)N(K)G(AND)G(SHOULD)H(B)R(E)G(IN)G FT($2)F FV(AT)G(THE)H(END,)H(WHEREAS)0 660 Y FG(Y)33 B FV(STARTS)C(IN)I FT($2)E FV(AND)H(ENDS)H(UP)F(IN)H FT($1)P FV(.)44 B(THE)30 B(SOLUTION)G(FOR)0 759 Y(THIS)E(PROBLEM)G (NEEDS)G(THREE)G(MO)N(V)N(ES.)37 B(HO)N(W)28 B(CAN)G(W)N(E)G(SOLV)N(E)0 859 Y(THE)G(PROBLEM)F(IN)H(GENERAL?)83 1037 Y(THE)19 B(SOLUTION)F(W)N(E)G(USE)G(IS)H(TO)F(ACCESS)G(THE)H(INPUT)G(REGISTERS)0 1137 Y(THROUGH)36 B FT(I)P 372 1137 27 4 V 31 W(MOVE)F FV(NO)R(DES)H(INSTEAD)H(OF)G(DIRECTLY)F(THROUGH)0 1236 Y FT(I)P 49 1236 V 31 W(REG)28 B FV(NO)R(DES.)43 B(W)-7 B(E)29 B(INSERT)H(DEP)R(ENDENCE)G(EDGES)E(B)R(ET)N(W)N(EEN)0 1336 Y(THE)36 B(MO)N(V)N(E)E(FROM)H(A)G(REGISTER)E(AND)I(THE)H(NO)R(DE) F(THAT)H(COM-)0 1436 Y(PUTES)28 B(THAT)F(REGISTER;)G(THIS)G(ENSURES)G (THAT)H(THE)F(REGISTER)F(IS)0 1535 Y(COPIED)E(TO)H(A)F(TEMP)R(ORARY)F (REGISTER)G(B)R(EFORE)H(IT)H(IS)G(O)N(V)N(ERWRIT-)0 1635 Y(TEN.)83 1813 Y(IF)42 B(AN)F(INPUT)H(REGISTER)E(HAS)H(TO)G(MO)N(V)N(E) F(TO)I(AN)F(OUTPUT)0 1913 Y(REGISTER)34 B(WITHOUT)J(AN)E(IN)N (TERMEDIATE)H(COMPUTATION,)I(W)N(E)0 2012 Y(MA)N(Y)C(HA)N(V)N(E)F(TO)H (INSERT)H(ANOTHER)E FT(I)P 1092 2012 V 31 W(MOVE)G FV(NO)R(DE)H(FOR)G (MO)N(V-)0 2112 Y(ING)25 B(THAT)H(REGISTER)E(TO)H(ITS)G(\014NAL)H (DESTINATION,)F(TH)N(US)H(ALLO)N(W-)0 2212 Y(ING)38 B(THE)H(V)-5 B(ALUE)39 B(TO)F(MO)N(V)N(E)G(IN)N(TO)G(A)H(TEMP)R(ORARY)E(IF)I(NECES-) 0 2311 Y(SARY)-7 B(.)45 B(IF)31 B(W)N(E)F(DID)H(NOT)G(ADD)F(AN)N(Y)I FT(I)P 1096 2311 V 31 W(MOVE)D FV(NO)R(DES,)I(THE)G(AD-)0 2411 Y(DITIONAL)24 B(DEP)R(ENDENCES)H(COULD)G(FORM)F(A)G(CYCLE)H(\(AND) F(BREAK)0 2511 Y(THE)41 B(SC)N(HEDULER\).)74 B(ADDING)41 B(THE)F(MINIM)N(UM)H(N)N(UM)N(B)R(ER)F(OF)0 2610 Y FT(I)P 49 2610 V 31 W(MOVE)20 B FV(NO)R(DES)H(THAT)H(DO)R(ES)F(NOT)G(IN)N(TRO) R(DUCE)G(CYCLES)G(IS)G(QUITE)0 2710 Y(COMPLEX)27 B(AND)H(PROBABLY)E (SLO)N(W.)83 2888 Y(W)-7 B(E)35 B(USE)F(THE)G(FOLLO)N(WING)F(FAST,)J (BUT)F(SUB)R(OPTIMAL)F(SOLU-)0 2988 Y(TION:)56 B(CONSIDER)36 B(MO)N(VING)H(A)G(V)-5 B(ALUE)37 B(FROM)G(REGISTER)E FG(A)I FV(TO)0 3087 Y(REGISTER)E FG(B)P FV(,)K(WITH)E FG(B)F FV(CON)N(TAINING)F(ANOTHER)H(V)-5 B(ALUE)37 B(AT)F(THE)0 3187 Y(START)30 B(OF)G(THE)H(BASIC)F(BLO)R(C)N(K.)45 B(IF)31 B(THE)G(DESTINATION)F(REGISTER)0 3286 Y(OF)F(THE)H(MO)N(V)N(E)E (FROM)G FG(B)H FV(IS)G(UNASSIGNED,)G(W)N(E)G(SET)G(THE)G(DESTI-)0 3386 Y(NATION)J(REGISTER)F(OF)H(THE)H(MO)N(V)N(E)E(FROM)H FG(A)G FV(TO)G FG(B)P FV(;)I(OTHERWISE)0 3486 Y(W)N(E)D(IN)N(TRO)R (DUCE)F(ANOTHER)G(MO)N(V)N(E,)H(WITH)H(THE)F(MO)N(V)N(E)F(FROM)G FG(A)0 3585 Y FV(AS)I(SOURCE)F(AND)I FG(B)F FV(AS)G(DESTINATION.)52 B(THIS)32 B(SC)N(HEME)G(ELIM-)0 3685 Y(INATES)E(THE)G(DANGER)F(OF)H (CYCLES)F(AND)H(IN)N(TRO)R(DUCES)G(AT)G(MOST)0 3785 Y(HALF)K(AS)F(MAN)N (Y)H FT(I)P 560 3785 V 31 W(MOVE)E FV(NO)R(DES)I(AS)F(THE)H(STRAIGH)N (TFORW)N(ARD)0 3884 Y(APPROAC)N(H)26 B(\(ALW)N(A)N(YS)G(CREATING)G(AN)H FT(I)P 1138 3884 V 31 W(MOVE)F FV(NO)R(DE\).)83 4062 Y(NO)N(W,)H(W)N(E)G(W)N(AN)N(T)G(TO)G(A)N(V)N(OID)F(ACTUALLY)H (GENERATING)E(MO)N(V)N(E)0 4162 Y(INSTRUCTIONS)G(IF)H(P)R(OSSIBLE.)35 B(THIS)26 B(IS)F(P)R(OSSIBLE)G(IF)H(THE)F(MO)N(V)N(E)0 4262 Y(COPIES)40 B(THE)H(REGISTER)F(TO)G(ITSELF.)77 B(SO,)44 B(W)N(E)C(ENHANCE)H(THE)0 4361 Y(REGISTER)31 B(ALLO)R(CATOR)F(LIK)N(E)I (THIS:)46 B(WHEN)32 B(IT)H(ENCOUN)N(TERS)E(AN)0 4461 Y(INSTRUCTION)19 B FG(I)27 B FV(WHOSE)19 B(RESULT)G(IS)H(IN)G(AN)F (INPUT)H(REGISTER,)G(THE)0 4561 Y(REGISTER)F(ALLO)R(CATOR)G(LO)R(OKS)H (AT)H(THE)G(ML)F(NO)R(DE)H(FOR)F(THE)H(MO)N(V)N(E)0 4660 Y(FROM)F(THAT)H(REGISTER.)33 B(IF)21 B(THE)F(MO)N(V)N(E)G(HAS)G(NO)G (RESULT)G(REGISTER)0 4760 Y(ASSIGNED)26 B(TO)H(IT)H(Y)N(ET,)F(THE)H (REGISTER)E(ALLO)R(CATOR)F(ASSIGNS)H(THE)0 4859 Y(INPUT)C(REGISTER)E (\(AND)H(TAK)N(ES)G(IT)G(FROM)G(THE)H(FREE)F(LIST\).)35 B(IF)22 B(THE)0 4959 Y(MO)N(V)N(E)37 B(HAS)G(A)H(RESULT)F(REGISTER,)J (THIS)E(MEANS)F(THAT)I(THERE)0 5059 Y(IS)E(AN)G(INSTRUCTION)G(B)R (EHIND)H FG(I)44 B FV(THAT)38 B(USES)F(THE)G(RESULT)G(OF)0 5158 Y(THE)32 B(MO)N(V)N(E,)G(SO)F(W)N(E)H(CANNOT)F(A)N(V)N(OID)F(THE)J (MO)N(V)N(E)D(\(WITH)J(THIS)0 5258 Y(SC)N(HEDULE\).)83 5436 Y(THERE)27 B(IS)H(ONE)G(MORE)F(REASON)F(FOR)H(IN)N(TRO)R(DUCING)I FT(I)P 1648 5436 V 31 W(MOVE)0 5536 Y FV(NO)R(DES:)K(EAC)N(H)20 B(OP)R(ERATION)F(HAS)H(ONLY)G(ONE)G(DESTINATION)H(REG-)0 5635 Y(ISTER;)K(IF)G(THE)G(RESULT)F(OF)H(A)F(COMPUTATION)G(SHOULD)G (RESIDE)G(IN)0 5735 Y FG(N)D FV(REGISTERS)F(AT)H(THE)H(END)F(OF)G(THE)H (BASIC)F(BLO)R(C)N(K,)H FG(N)6 B FU(\000)G FV(1)20 B(MO)N(V)N(ES)0 5835 Y(ARE)27 B(NECESSARY)E(TO)J(GET)F(IT)H(THERE.)P 1931 3 1849 4 V 2839 122 A FF(#)P FE(LINEA)N(R)H(REP)N(RESENTATION)P 2424 174 892 4 V 2424 423 4 250 V 2502 268 A(BUILD)G(IL)E(GRAPH)2502 368 Y(LAB)R(EL)I(\(INST.)38 B(SELECTION\))P 3311 423 V 2424 426 892 4 V 2839 534 A FF(#)P FE(IL)28 B(GRAPH)P 2205 585 1329 4 V 2205 1034 4 449 V 2283 680 A(REDUCE)F(\(INST.)38 B(SELECTION\))2283 780 Y(BUILD)29 B(ML)E(GRAPH)G(\(INST.)38 B(SELECTION\))2283 879 Y(COUNT)27 B(REFERENCES)H(\(SCHEDULING\))2283 979 Y(COMPUTE)E(PATH)H(LENGTH)H(\(SCHEDULING\))P 3530 1034 V 2205 1037 1329 4 V 2839 1145 A FF(#)P FE(ML)F(GRAPH)P 2501 1196 737 4 V 2501 1445 4 250 V 2579 1291 A(SCHEDULE)2579 1391 Y(ALLO)R(CATE)I(REGISTERS)P 3234 1445 V 2501 1448 737 4 V 2839 1557 A FF(#)P FE(ML)E(A)N(RRA)N(Y)P 2621 1608 497 4 V 2621 1758 4 150 V 2699 1703 A(EMIT)G(CO)R(DE)P 3114 1758 V 2621 1761 497 4 V 2839 1869 A FF(#)P FE(CO)R(DE)P 1931 1931 1849 4 V 1931 2072 A FV(FIGURE)E(9:)35 B(PHASES,)24 B(PASSES)G(AND)H(DATA)F(STRUCTURES)G(IN)H(OUR)1931 2171 Y(CO)R(DE)J(GENERATOR)1931 2441 Y FJ(4.5)113 B(CO)S(DE)37 B(EMISSION)1931 2599 Y FV(CO)R(DE)22 B(EMISSION)F(JUST)H(W)N(ALKS)F (FORW)N(ARD)F(THROUGH)H(THE)H(ARRA)N(Y)1931 2699 Y(OF)31 B(ML)F(NO)R(DES,)H(AND)G FT(EXECUTE)P FV(S)C(THE)K(XTS)G(STORED)E(IN)I (THE)1931 2798 Y FT(ML-ASM)C FV(\014ELDS.)41 B(THESE)29 B(W)N(ORDS)F(COLLECT)H(THE)G(INFORMATION)1931 2898 Y(STORED)E(IN)G(THE) G FT(ML-VAL)E FV(AND)I FT(ML-REG)E FV(\014ELDS)I(OF)G(THE)H(NO)R(DE) 1931 2997 Y(AND)I(ITS)G(C)N(HILDREN,)G(AND)G(CALL)G(THE)G(RIGH)N(T)F (ASSEM)N(BLER)G(W)N(ORD)1931 3097 Y(FOR)E(GENERATING)F(THE)I(CO)R(DE.) 2014 3199 Y(THE)54 B(CO)R(DE)F(EMITTER)G(ALSO)F(DEALS)H(WITH)H(LOAD)E (DELA)N(Y)1931 3299 Y(SLOTS:)61 B(THE)40 B(CO)R(DE)F(EMISSION)H(ACTION) F(FOR)G(LOAD)G(INSTRUC-)1931 3398 Y(TIONS)25 B(C)N(HEC)N(KS)E(WHETHER)H (THE)H(NEXT)G(ML)F(NO)R(DE)H(DEP)R(ENDS)G(ON)1931 3498 Y(THE)31 B(LOAD)F(THROUGH)G(A)G(\015O)N(W)G(DEP)R(ENDENCE;)I(IF)F(Y)N (ES,)F(IT)H(GEN-)1931 3598 Y(ERATES)E(A)G FT(NOP)G FV(OFTER)G(THE)H (LOAD.)43 B(BRANC)N(H)28 B(DELA)N(Y)H(SLOTS)H(ARE)1931 3697 Y(HANDLED)E(SIMPLY)G(B)N(Y)F(\014LLING)H(THEM)G(WITH)G FT(NOP)P FV(S)3423 3667 Y FO(4)3459 3697 Y FV(.)1931 3942 Y FJ(4.6)113 B(P)M(ASSES)1931 4099 Y FV(WHILE)29 B(W)N(E)F(W)N(OULD)G(PREFER)G(TO)G(K)N(EEP)G(THE)H(DI\013EREN)N(T)F (PHASES)1931 4199 Y(SEPARATE)J(FOR)G(SOFT)N(W)N(ARE)G(ENGINEERING)G (REASONS,)G(W)N(E)H(HA)N(V)N(E)1931 4299 Y(IN)N(TEGRATED)26 B(THEM)H(TO)F(IMPRO)N(V)N(E)F(THE)I(COMPILE)G(TIME.)37 B(THIS)1931 4398 Y(RESULTS)30 B(IN)H(THE)H(FOLLO)N(WING)D(PASSES)H(O)N (V)N(ER)F(THE)I(DATA)F(STRUC-)1931 4498 Y(TURES)E(\(SEE)F(FIG.)H(9\):) 2014 4690 Y FU(\017)41 B FV(WHILE)33 B(BUILDING)F(THE)G(IL)G(GRAPH,)G (W)N(E)F(ALSO)G(P)R(ERFORM)2097 4790 Y(THE)D(LAB)R(ELLING)G(PART)F(OF)G (CO)R(DE)H(SELECTION.)2014 4965 Y FU(\017)41 B FV(THEN)31 B(W)N(E)G(P)R(ERFORM)G(THE)G(REDUCER)F(PART)G(OF)H(CO)R(DE)G(SE-)2097 5065 Y(LECTION)21 B(AS)F(A)G(RECURSIV)N(E)E(GRAPH)I(W)N(ALK.)33 B(UP)R(ON)21 B(RETURN-)2097 5164 Y(ING)I(FROM)F(THE)H(RECURSION,)F(W)N (E)H(BUILD)G(THE)G(ML)G(GRAPH,)2097 5264 Y(COUN)N(T)G(THE)H(REFERENCES) E(TO)H(EAC)N(H)G(NO)R(DE)G(AND)H(COMPUTE)2097 5363 Y(THE)K(PATH)G (LENGTH)G(FOR)F(THE)H(SC)N(HEDULER.)P 1931 5442 740 4 V 2024 5496 A FL(4)2058 5519 Y FP(THE)20 B(OB)N(VIOUS)F(APPROAC)N(H)H (TO)F(UTILIZING)G(THEM)G(W)N(OULD)G(B)R(E)G(A)G(MO)R(D-)1931 5598 Y(I\014ED)27 B(SC)N(HEDULER;)I(HO)N(W)N(EV)N(ER,)G(THIS)D(APPROAC) N(H)J(IS)D(NOT)I(W)N(ORK)L(ABLE,)F(B)R(E-)1931 5677 Y(CAUSE)E(SOME)E (ML)G(NO)R(DES)I(CORRESP)R(OND)F(TO)G(MORE)F(THAN)H(ONE)H(INSTRUC-)1931 5756 Y(TION)30 B(\(DUE)G(TO)F(OTHER)H(W)N(ARTS)F(IN)G(THE)H(MIPS)F(ARC) N(HITECTURE\),)J(AND)D(IT)1931 5835 Y(W)N(OULD)24 B(NOT)H(DO)F(TO)G (PUT)G(SUC)N(H)G(A)G(NO)R(DE)H(B)R(EHIND)F(A)G(BRANC)N(H.)P EOP %%PAGE: 9 9 9 8 BOP 0 3 1849 4 V 864 130 4 92 V 1193 103 A FD(PRO)R(DUCING)221 146 Y(RELATIV)N(E)26 B(TIME)P 864 222 V 901 194 A(THREADED)F(CO)R(DE)67 B(NATIV)N(E)25 B(CO)R(DE)P 0 225 1854 4 V 360 289 A(THREADED)G(CO)R(DE) P 864 316 4 92 V 405 W(1)P FC(:)P FD(00)313 B(4)P FC(:)P FD(03)33 332 Y(RUNNING)405 380 Y(NATIV)N(E)25 B(CO)R(DE)P 864 408 V 510 W(|)311 B(2)P FC(:)P FD(95)P 0 455 1849 4 V 0 596 A FV(FIGURE)26 B(10:)36 B(RELATIV)N(E)26 B(COMPILE)H(TIMES)G (OF)G(DI\013EREN)N(T)G(COM-)0 695 Y(PILERS)J(EXECUTED)H(WITH)G (DI\013EREN)N(T)G(EXECUTION)G(TEC)N(HNIQUES)0 795 Y(\(COMPILING)C(THE)H (RAFTS)H(PROTOT)N(YP)R(E\))83 1071 Y FU(\017)41 B FV(THE)D(NEXT)H(PASS) E(P)R(ERFORMS)G(SC)N(HEDULING)H(AND)G(LO)R(CAL)166 1171 Y(REGISTER)25 B(ALLO)R(CATION,)H(STARTING)F(AT)I(THE)G(LAST)F(INSTRUC-) 166 1270 Y(TION,)I(AND)F(PRO)R(CEEDING)G(TO)G(THE)H(\014RST.)83 1449 Y FU(\017)41 B FV(FINALLY)-7 B(,)33 B(THE)G(CO)R(DE)F(IS)G (EMITTED)H(IN)F(A)G(FORW)N(ARD)E(PASS)166 1549 Y(O)N(V)N(ER)C(THE)I(SC) N(HEDULED)F(CO)R(DE.)83 1744 Y(NOTE)34 B(THAT)G(THE)H(USE)F(OF)G(BAC)N (KW)N(ARD)E(SC)N(HEDULING)H(SA)N(V)N(ES)0 1843 Y(T)N(W)N(O)27 B(PASSES.)0 2135 Y FS(5)135 B(P)L(ERFORMANCE)0 2322 Y FV(ALL)30 B(TIMINGS)F(REP)R(ORTED)G(HERE)G(W)N(ERE)F(TAK)N(EN)H(ON)G(A) G(DECSTA-)0 2422 Y(TION)F(5000/200)23 B(\(25MHZ)28 B(R3000\))E(WITH)I (40MB)F(RAM.)0 2671 Y FJ(5.1)112 B(COMPILATION)35 B(SP)S(EED)0 2830 Y FV(THE)41 B(IN)N(TRO)R(DUCTION)G(OF)H(THE)F(FASTER)G(SC)N (HEDULER)G(AND)G(THE)0 2930 Y(IN)N(TEGRATED)32 B(PASS)H(STRUCTURE)G (HAS)G(CAUSED)G(A)G(SP)R(EEDUP)H(IN)0 3029 Y(COMPILATION)H(SP)R(EED)I (B)N(Y)E(A)H(FACTOR)F(OF)H(T)N(W)N(O)F(O)N(V)N(ER)G(THE)H(RE-)0 3129 Y(SULTS)27 B(IN)H([EP96)N(],)G(EV)N(EN)E(THOUGH)H(W)N(E)G(ALSO)G (ADDED)G(THE)G(LIN-)0 3228 Y(EAR)32 B(IN)N(TERMEDIATE)G(CO)R(DE.)51 B(Y)-7 B(OU)33 B(CAN)F(\014ND)H(A)F(COMPILATON)0 3328 Y(SP)R(EED)H(COMPARISON)F(OF)H(GFORTH'S)G(COMPILER)G(\(PRO)R(DUCING)0 3428 Y(THREADED)26 B(CO)R(DE\))H(AND)F(RAFTS)H(IN)G(FIG.)G(10:)35 B(THE)27 B(CURREN)N(T)0 3527 Y(RAFTS)40 B(PROTOT)N(YP)R(E)E(\(RUNNING)H (IN)H(NATIV)N(E)F(CO)R(DE\))G(COM-)0 3627 Y(PILES)32 B(ITSELF)H(2.95)E(TIMES)H(SLO)N(W)N(ER)F(THAN)H(GFORTH)G(\(RUNNING)0 3727 Y(IN)F(THREADED)F(CO)R(DE\))G(COMPILES)G(IT.)45 B(THE)31 B(SP)R(EEDUP)G(OF)F(THE)0 3826 Y(NATIV)N(E)39 B(CO)R(DE)G(V)N(ERSION)E(OF)I(RAFTS)H(O)N(V)N(ER)D(THE)J(THREADED)0 3926 Y(CO)R(DE)34 B(V)N(ERSION)F(IS)I(1.37;)H(W)N(E)E(ATTRIBUTE)H(THIS) G(DISAPP)R(OIN)N(T-)0 4025 Y(ING)23 B(SP)R(EEDUP)G(TO)G(THE)G(HIGH)G(N) N(UM)N(B)R(ER)G(OF)G(CALLS)F(TO)H(THREADED)0 4125 Y(CO)R(DE)K(W)N (ORDS.)83 4228 Y(FIGURE)E(11)F(SHO)N(WS)H(SOME)G(N)N(UM)N(B)R(ERS)G(ON) G(THE)H(SIZE)F(OF)G(OUR)0 4327 Y(PROTOT)N(YP)R(E)42 B(AND)G(ON)H(THE)G (ABSOLUTE)F(SP)R(EED.)82 B(Y)-7 B(OU)43 B(MA)N(Y)0 4427 Y(W)N(ONDER)H(AB)R(OUT)G(THE)H(DISCREPANCY)F(IN)H(THE)G(N)N(UM)N(B)R (ER)F(OF)0 4527 Y FT(COMPILE,)P FV(S)32 B(AND)J(LINEAR)F(IR)I(W)N (ORDS;)H(NOTE)F(THAT)F(LITERALS)0 4626 Y(AND)24 B(W)N(ORDS)F(WITH)I(SP) R(ECIAL)F(COMPILATION)G(SEMAN)N(TICS)F(\(E.G.,)0 4726 Y FT(IF)I FV(AND)H FT(;)P FV(\))H(ARE)E(NOT)H(COMPILE,D,)F(AND)H(THEY)G (MA)N(Y)F(GEN-)0 4826 Y(ERATE)E(MORE)H(THAN)G(ONE)G(LINEAR)F(IR)I(W)N (ORD)E(\(E.G.,)H FT(ELSE)F FV(GEN-)0 4925 Y(ERATES)K(FOUR\).)83 5028 Y(W)-7 B(E)22 B(THINK)F(THAT)H(THERE)F(IS)G(STILL)H(AN)F (ORDER-OF-MAGNITUDE)0 5128 Y(IMPRO)N(V)N(EMEN)N(T)51 B(IN)H(COMPILE-TIME)G(P)R(OSSIBLE;)64 B(HO)N(W)N(EV)N(ER,)0 5227 Y(CURREN)N(TLY)41 B(W)N(E)H(FO)R(CUS)H(OUR)E(E\013ORTS)H(ON)G(IN)N (TERPRO)R(CEDURAL)0 5327 Y(REGISTER)26 B(ALLO)R(CATION.)0 5576 Y FJ(5.2)112 B(CO)S(DE)38 B(QUALIT)M(Y)0 5735 Y FV(THE)F(IMPRO)N(V)N(EMEN)N(TS)E(IN)I(THE)G(CO)R(DE)G(GENERATOR)E(HAD)H (NOT)0 5835 Y(ONLY)25 B(P)R(OSTITIV)N(E)H(E\013ECTS)G(ON)G(THE)G (COMPILATION)F(SP)R(EED,)I(BUT)P 1931 3 V 2624 139 4 100 V 2691 109 A(ITEMS)99 B(CYCLES/ITEM)P 1931 142 1517 4 V 1981 212 A(COMPILE-TIME)28 B(\(S\))P 2624 242 4 100 V 165 W(9.89)180 B(25000000)P 1931 245 1517 4 V 1981 315 A(LINES)P 2624 345 4 100 V 576 W(6411)303 B(38566)1981 414 Y FT(COMPILE,)P 2624 444 V 386 W FV(6214)G(39789)1981 514 Y(LINEAR)27 B(IR)H(W)N(ORDS)P 2624 544 V 134 W(15940)303 B(15511)1981 614 Y(IL)28 B(NO)R(DES)P 2624 643 V 380 W(32520)345 B(7603)1981 713 Y(ML)28 B(NO)R(DES)P 2624 743 V 334 W(24687)303 B(10015)1981 813 Y(NATIV)N(E)27 B(CO)R(DE)H(CELLS)P 2624 843 V 102 W(26984)345 B(9162)P 1931 882 1849 4 V 1931 1022 A(FIGURE)41 B(11:)64 B(SIZE)42 B(OF)G(THE)G(COMPILER)F(AND)G(COMPILATION)1931 1122 Y(SP)R(EED)36 B(\(ABSOLUTE)G(AND)F(IN)I(CYCLES/ITEM\);)I(THIS)D(IS)G(NOT)G(A)1931 1222 Y(SPLIT)28 B(OF)G(THE)G(TIME)G(IN)N(TO)F(V)-5 B(ARIOUS)27 B(SUBTASKS.)P 1931 1367 V 2176 3044 A @BEGINSPECIAL 79 @LLX 88 @LLY 242 @URX 285 @URY 1630 @RWI @SETSPECIAL %%BEGINDOCUMENT: REGS-VS-SPEED.EPS %!PS-ADOBE-2.0 EPSF-1.2 %%BOUNDINGBOX: 79 88 242 285 %%PAGES: 1 1 %%DOCUMENTFONTS: HELVETICA %%ENDCOMMENTS 1 SETLINEJOIN 0 0 TRANSLATE %.91 .91 SCALE 0.3 SETLINEWIDTH /OVER {1 INDEX} DEF /PICK {INDEX} DEF /DROP {POP} DEF /SWAP {EXCH} DEF %TRANSFORMATION /TF {80 MUL 100 ADD EXCH 15 MUL 100 ADD EXCH} DEF /MT {TF MOVETO} DEF /LT {TF LINETO} DEF /TF1 {INSTRUCTIONS DIV TF} DEF /MT1 {0 SWAP OVER SWAP TF1 MOVETO 1 ADD} DEF /LT1 {OVER SWAP TF1 LINETO 1 ADD} DEF /INSTRUCTIONS 1 DEF %BUBBLE [] 0 SETDASH 1.74 MT1 1.75 LT1 1.75 LT1 1.75 LT1 1.76 LT1 1.76 LT1 1.76 LT1 1.77 LT1 POP STROKE %FIB [4 4] 0 SETDASH 1.19 MT1 0.93 LT1 0.99 LT1 1.07 LT1 1.13 LT1 1.18 LT1 1.26 LT1 1.32 LT1 POP STROKE %MM [4 2 1 2] 0 SETDASH 1.18 MT1 1.10 LT1 1.04 LT1 1.0 LT1 1.01 LT1 1.02 LT1 1.02 LT1 1.03 LT1 POP STROKE %SIEV [1 1] 0 SETDASH 1.80 MT1 1.72 LT1 1.71 LT1 1.77 LT1 1.85 LT1 1.83 LT1 1.87 LT1 1.87 LT1 POP STROKE [] 0 SETDASH /XBASE 0 DEF /YBASE 0 DEF 0.5 SETLINEWIDTH XBASE 2 MT XBASE YBASE LT 7 YBASE LT STROKE NEWPATH /HELVETICA FINDFONT 9 SCALEFONT SETFONT /XJRIGHT {DUP STRINGWIDTH POP NEG 0 RMOVETO} DEF /XJCENTER {DUP STRINGWIDTH POP 2 DIV NEG 0 RMOVETO} DEF /YJTOP {0 -7 RMOVETO} DEF /YJCENTER {0 -3.5 RMOVETO} DEF 7.2 YBASE MT (REGISTERS) YJCENTER SHOW XBASE 2.21 MT (RUN TIME/) XJCENTER SHOW XBASE 2.1 MT (C RUN TIME) XJCENTER SHOW /STR 20 STRING DEF %X XTICK /XTICK { DUP YBASE MT 0 -2 RLINETO 0 -2 RMOVETO STR CVS XJCENTER YJTOP SHOW } DEF 0 XTICK 1 XTICK 2 XTICK 3 XTICK 4 XTICK 5 XTICK 6 XTICK 7 XTICK STROKE /YTICK { DUP XBASE EXCH MT -2 0 RLINETO -2 0 RMOVETO STR CVS XJRIGHT YJCENTER SHOW } DEF 0 YTICK 0.5 YTICK 1 YTICK 1.5 YTICK 2 YTICK STROKE /XLABEL 200 DEF /YLABEL 130 DEF 0.3 SETLINEWIDTH XLABEL YLABEL 20 ADD MOVETO (BUBBLE) XJRIGHT YJCENTER SHOW [] 0 SETDASH XLABEL 10 ADD YLABEL 20 ADD MOVETO 20 0 RLINETO STROKE XLABEL YLABEL 10 ADD MOVETO (FIB) XJRIGHT YJCENTER SHOW [4 4] 0 SETDASH XLABEL 10 ADD YLABEL 10 ADD MOVETO 20 0 RLINETO STROKE XLABEL YLABEL MOVETO (MATRIX-MULT) XJRIGHT YJCENTER SHOW [4 2 1 2] 0 SETDASH XLABEL 10 ADD YLABEL MOVETO 20 0 RLINETO STROKE XLABEL YLABEL -10 ADD MOVETO (SIEVE) XJRIGHT YJCENTER SHOW [1 1] 0 SETDASH XLABEL 10 ADD YLABEL -10 ADD MOVETO 20 0 RLINETO STROKE %%ENDDOCUMENT @ENDSPECIAL 1931 3083 V 1931 3224 A(FIGURE)38 B(12:)58 B(CO)R(DE)38 B(QUALIT)N(Y)G(OF)H(RAFTS)G(WITH)G(V)-5 B(ARYING)1931 3323 Y(N)N(UM)N(B)R(ERS)36 B(OF)H(STAC)N(K)E(ITEMS)I(IN)G (REGISTERS,)G(SCALED)F(TO)G(THE)1931 3423 Y(RUN-TIME)28 B(OF)F(CO)R(DE)H(PRO)R(DUCED)F(B)N(Y)I FT(GCC-2.5.8)39 B(-O2)1931 3717 Y FV(ALSO)C(ON)H(THE)G(CO)R(DE)G(QUALIT)N(Y)G(\(B)R (ETTER)G(INSTRUCTION)G(SELEC-)1931 3816 Y(TION)I(AND)G(SC)N (HEDULING\).)68 B(W)-7 B(E)38 B(HA)N(V)N(E)F(ALSO)G(IMPLEMEN)N(TED)1931 3916 Y(OUR)28 B(SUGGESTION)F(\(IN)I([EP96)N(]\))F(TO)H(K)N(EEP)E(THE)I (TOP)F(OF)H(STAC)N(K)1931 4015 Y(\(OR)23 B(MORE)G(STAC)N(K)G(ITEMS\))H (IN)G(REGISTERS)E(ACROSS)G(BASIC)H(BLO)R(C)N(K)1931 4115 Y(B)R(OUNDARIES,)36 B(WITH)G(A)E(\014XED)H(MAPPING)G(\(I.E.,)I(NOT)E(A) G(REAL)1931 4215 Y(GLOBAL)F(OR)H(IN)N(TERPRO)R(CEDURAL)E(REGISTER)H (ALLO)R(CATION,)I(MORE)1931 4314 Y(LIK)N(E)27 B(A)H(CALLING)F(CON)N(V)N (EN)N(TION\).)2014 4427 Y(FIGURE)H(12)G(SHO)N(WS)G(THE)H(RESULTS,)F (RELATIV)N(E)G(TO)G(THE)H(COM-)1931 4527 Y(BINATION)G(OF)G(FORTH2C)G ([EM95)N(])H(AND)F(GCC-2.5.8)D(-O2.)41 B(THE)1931 4626 Y(N)N(UM)N(B)R(ER)E(OF)F(REGISTERS)F(SEEMS)H(TO)H(HA)N(V)N(E)E(LITTLE)I (IN\015UENCE)1931 4726 Y(HERE,)28 B(BUT,)H(BASED)E(ON)H(THE)H(RESULTS)E (IN)I([ERT95)N(],)F(W)N(E)G(THINK)1931 4825 Y(THAT)I(THIS)F(IS)G(DUE)G (TO)G(THE)G(C)N(HOICE)F(OF)H(B)R(ENC)N(HMARKS)G(\(MOST)1931 4925 Y(OF)38 B(WHIC)N(H)H(DO)E(MOST)H(W)N(ORK)F(IN)I(SIMPLE)F(COUN)N (TED)G(LO)R(OPS\),)1931 5025 Y(AND)32 B(IS)F(NOT)H(V)-5 B(ALID)32 B(IN)G(GENERAL.)47 B(W)-7 B(E)32 B(THINK)G(THAT)G(IN)G(GEN-) 1931 5124 Y(ERAL)37 B(THE)H(RESULTS)F(LO)R(OK)G(MORE)G(LIK)N(E)G(THE)H (RESULTS)F(FOR)G(THE)1931 5224 Y(\014B)C(B)R(ENC)N(HMARK,)H(I.E.,)G(A)F (FEW)G(\014XED)F(REGISTERS)G(HELP,)I(BUT)1931 5324 Y(MORE)28 B(H)N(URT)H(\(B)R(ECAUSE)G(THEY)G(HA)N(V)N(E)F(TO)H(B)R(E)H(MO)N(V)N (ED)E(AROUND)1931 5423 Y(WHENEV)N(ER)F(A)G(BASIC)G(BLO)R(C)N(K)G(C)N (HANGES)F(THE)I(STAC)N(K)F(DEPTH\).)2014 5536 Y(OV)N(ERALL,)42 B(THE)F(RESULTS)E(ARE)G(QUITE)I(ENCOURAGING:)60 B(ON)1931 5635 Y(ONE)35 B(B)R(ENC)N(HMARK)E(RAFTS)J(B)R(EATS)E(THE)H (FORTH2C/GCC,)G(ON)1931 5735 Y(ANOTHER)I(IT)I(CAN)E(K)N(EEP)H(UP,)I (AND)E(THE)G(W)N(ORST)F(ONE)H(HAS)F(A)1931 5835 Y(SLO)N(WDO)N(WN)K (FACTOR)H(OF)H(1.75.)81 B(HO)N(W)N(EV)N(ER,)44 B(THESE)F(B)R(ENC)N(H-)P EOP %%PAGE: 10 10 10 9 BOP 0 83 A FV(MARKS)34 B(ARE)G(V)N(ERY)G(SMALL,)J(AND)E(THE)G (RESULTS)G(FOR)F(REALISTIC)0 183 Y(PROGRAMS)C(MA)N(Y)H(B)R(E)I (DI\013EREN)N(T.)51 B(THIS)32 B(SHO)N(WS)F(THE)I(NECES-)0 282 Y(SIT)N(Y)39 B(OF)G(LARGER)F(B)R(ENC)N(HMARK)G(PROGRAMS)F(FOR)I(EV) -5 B(ALUATING)0 382 Y(SOPHISTSICATED)27 B(COMPILERS.)0 663 Y FS(6)135 B(CONCLUSION)0 847 Y FV(W)-7 B(E)23 B(HA)N(V)N(E)E (PRESEN)N(TED)H(SOME)G(OF)H(THE)G(MORE)E(IN)N(TERESTING)H(IM-)0 947 Y(PLEMEN)N(TATION)27 B(DETAILS)H(OF)F(OUR)G(RAFTS)I(PROTOT)N(YP)R (E:)83 1117 Y FU(\017)41 B FV(HO)N(W)30 B(W)N(E)F(COM)N(BINE)H(THE)G (GOALS)E(OF)I(IN)N(TEGRATION)F(WITH)166 1216 Y(THE)37 B(THREADED)F(CO)R(DE)G(SYSTEM)G(AND)G(E\016CIEN)N(T)H(W)N(ORD-)166 1316 Y(SP)R(ECI\014C)28 B(COMPILATION)F(ACTIONS,)83 1487 Y FU(\017)41 B FV(A)25 B(STAC)N(K-BASED)E(THREADED)H(CO)R(DE)H(IN)N (TERMEDIATE)F(REP-)166 1587 Y(RESEN)N(TATION)33 B(FOR)I(PROGRAMS)D (THAT)J(ALLO)N(WS)E(DELA)N(YING)166 1686 Y(CO)R(DE)27 B(GENERATION)G(UN)N(TIL)H FT(EXECUTE)P FV(.)83 1857 Y FU(\017)41 B FV(THE)20 B(DATA)F(STRUCTURES)F(AND)I(ALGORITHMS)E(THAT)H (W)N(E)G(USE)166 1957 Y(IN)28 B(BASIC)F(BLO)R(C)N(K)G(CO)R(DE)G (GENERATION.)0 2238 Y FS(AC)L(KNO)L(WLEDGEMEN)L(TS)0 2422 Y FV(BERND)45 B(P)N(A)N(YSAN,)I(MANFRED)E(BRO)R(C)N(KHAUS)E(AND)I (ANDREAS)0 2522 Y(KRALL)22 B(PRO)N(VIDED)G(HELPFUL)I(COMMEN)N(TS)F(ON)F (EARLIER)G(V)N(ERSIONS)0 2621 Y(OF)28 B(THIS)F(PAP)R(ER.)0 2902 Y FS(REFERENCES)0 3087 Y FV([DS84])167 B(L.)39 B(P)N(ETER)E (DEUTSC)N(H)I(AND)F(ALLEN)H(M.)G(SC)N(HI\013-)406 3186 Y(MAN.)85 B(E\016CIEN)N(T)43 B(IMPLEMEN)N(TATION)H(OF)G(THE)406 3286 Y(SMALLTALK-80)63 B(SYSTEM.)148 B(IN)65 B FN(PRINCIPLES)406 3386 Y(OF)31 B(PR)L(O)L(GR)L(AMMING)F(L)L(ANGUAGES)H(\(POPL'84\))P FV(,)406 3485 Y(PAGES)26 B(297{302,)F(1984.)0 3656 Y([EM95])143 B(M.)34 B(AN)N(TON)H(ERTL)F(AND)G(MARTIN)G(MAIERHOFER.)406 3756 Y(T)-7 B(RANSLATING)50 B(F)-7 B(ORTH)52 B(TO)G(E\016CIEN)N(T)G(C.) 109 B(IN)406 3855 Y FN(EUR)L(OF)-6 B(ORTH)42 B('95)H(CONFER)L(ENC)L(E)G (PR)L(O)L(C)L(E)L(E)L(DINGS)P FV(,)406 3955 Y(SC)N(HLO\031)26 B(DAGSTUHL,)I(GERMAN)N(Y)-7 B(,)27 B(1995.)0 4126 Y([EP96])162 B(M.)51 B(AN)N(TON)G(ERTL)G(AND)G(CHRISTIAN)F(PIRK)N(ER.)406 4226 Y(RAFTS)28 B(FOR)F(BASIC)H(BLO)R(C)N(KS:)36 B(A)28 B(PROGRESS)D(RE-)406 4325 Y(P)R(ORT)33 B(ON)G(F)-7 B(ORTH)34 B(NATIV)N(E)F(CO)R(DE)G(COMPILATION.)406 4425 Y(IN)46 B FN(EUR)L(OF)-6 B(ORTH)48 B('96)G(CONFER)L(ENC)L(E)G(PR)L(O)L(C)L(E)L (E)L(D-)406 4525 Y(INGS)P FV(,)28 B(ST.)G(P)N(ETERSBURG,)E(RUSSIA,)H (1996.)0 4696 Y([ERT92])154 B(M.)48 B(AN)N(TON)H(ERTL.)98 B(A)49 B(NEW)F(APPROAC)N(H)E(TO)406 4795 Y(F)-7 B(ORTH)42 B(NATIV)N(E)G(CO)R(DE)G(GENERATION.)78 B(IN)43 B FN(EU-)406 4895 Y(R)L(OF)-6 B(ORTH)51 B('92)P FV(,)58 B(PAGES)50 B(73{78,)K(SOUTHAMP-)406 4994 Y(TON,)25 B(ENGLAND,)F(1992.)F(MICROPRO)R (CESSOR)E(EN-)406 5094 Y(GINEERING.)0 5265 Y([ERT95])154 B(M.)29 B(AN)N(TON)G(ERTL.)40 B(STAC)N(K)29 B(CAC)N(HING)F(FOR)G(IN)N (TER-)406 5365 Y(PRETERS.)D(IN)D FN(SIGPLAN)H('95)I(CONFER)L(ENC)L(E)G (ON)406 5464 Y(PR)L(O)L(GR)L(AMMING)K(L)L(ANGUAGE)H(DESIGN)E(AND)I(IM-) 406 5564 Y(PLEMENTATION)P FV(,)E(PAGES)F(315{327,)D(1995.)0 5735 Y([FHP92])103 B(CHRISTOPHER)76 B(W.)H(F)-7 B(RASER,)88 B(ROB)R(ERT)77 B(R.)406 5835 Y(HENRY)-7 B(,)30 B(AND)G(T)-7 B(O)R(DD)31 B(A.)F(PRO)R(EBSTING.)43 B FB(BUR)N(G)2337 83 Y FV(|)62 B(FAST)G(OPTIMAL)G(INSTRUCTION)G(SELECTION)2337 183 Y(AND)45 B(TREE)F(PARSING.)86 B FN(SIGPLAN)45 B(NOTIC)L(ES)P FV(,)2337 282 Y(27\(4\):68{76,)24 B(APRIL)K(1992.)34 B(AV)-5 B(AILABLE)27 B(FROM)2337 382 Y(FTP://K)-5 B (AESE.CS.WISC.EDU/PUB/BURG.SHAR.Z.)1931 548 Y([PRO95])144 B(T)-7 B(O)R(DD)48 B(A.)F(PRO)R(EBSTING.)94 B(BURS)47 B(AUTOMATA)2337 648 Y(GENERATION.)158 B FN(A)N(CM)68 B(T)-6 B(R)L(ANSACTIONS)68 B(ON)2337 747 Y(PR)L(O)L(GR)L(AMMING)49 B(L)L(ANGUAGES)F(AND)H(SYSTEMS)P FV(,)2337 847 Y(17\(3\):461{486,)24 B(MA)N(Y)I(1995.)1931 1013 Y([SKAH91])41 B(MARK)65 B(SMOTHERMAN,)75 B(SANJA)N(Y)65 B(KRISHNA-)2337 1112 Y(M)N(URTH)N(Y)-7 B(,)28 B(P)-7 B(.)29 B(S.)F(ARA)N(VIND,)G(AND)G(DA)N(VID)G(HUN-)2337 1212 Y(NICUTT.)144 B(E\016CIEN)N(T)63 B(D)N(A)N(G)G(CONSTRUCTION)2337 1312 Y(AND)29 B(HEURISTIC)F(CALCULATION)G(FOR)G(INSTRUCTION)2337 1411 Y(SC)N(HEDULING.)38 B(IN)28 B FN(MICR)N(O-24,)K FV(24)3422 1381 Y FA(TH)3518 1411 Y FN(A)N(NNUAL)2337 1511 Y(INTL.)H(SYMP.)G(ON)F(MICR)L(O)L(AR)L(CHITE)L(CTUR)L(E)P FV(,)H(PAGES)2337 1611 Y(93{102,)25 B(1991.)P EOP %%TRAILER END USERDICT /END-HOOK KNOWN{END-HOOK}IF %%EOF